Questions tagged «signal-integrity»

有关如何正确确保信号完整性,防噪声,屏蔽,正确的PCB布局的问题。

3
SDRAM原型与生产困境
我有一个使用LPC1788和ISSI(IS42S32800D)的SDRAM模块的设计。这是一个32位接口。 我已经把这种设计排除在外了,并有一个由PCB制造商制造的原型,该原型制造6层原型。原型PCB可以正常工作。然后,我以为我可以从通常的PCB供应商那里小批量(100)批量生产PCB。我给了他们我的原型用来确保不会出现问题的堆栈信息。 然而!我的生产板有很多问题。最初,我无法使用原型板中使用的相同代码来提高SDRAM的响应能力。前一块板的工作频率为120Mhz,所以我确定这个新板有问题。然后,我发现了一个帖子,有人建议在SDRAM数据线上使用“转发器模式”(我以前没有使用过),这引起了SDRAM的响应,但是它并不稳定。我可以写入16个左右的地址,但是随后的读取操作(每个地址处)返回的数据就是我最后写入的数据(可能是由于Repeater Mode)。当我禁用中继器模式时,返回的数据为0xFFFFFFF。我现在正在尝试以48Mhz的速度连接,这是我有时间限制的最低配置。 我在两块板上都使用相同的22Ω终端电阻(数据线上),数据线平均长3厘米。时钟线长2.4厘米。地址线平均长3.8厘米。 这是否太不合规格,如果时钟明显缩短,我应该延迟更长的时间吗?我真的被困在这里,因为我对设计的任何改变都没有改变,我希望可以无缝制造这些板。 Maximum Data Line Length: 59mm (Although this includes the branch to the NAND Flash) Minimum Data Line Length (Ctrl to Res): 18mm Maximum Address Line Length: 44mm Minimum Address Line Length: 24mm CLK: 24.5mm CKE: 25mm CAS: 28mm RAS: 28.7mm 这是原始(工作中)原型的PCB堆栈配置: 这是用于生产(非工作)PCB的PCB堆栈配置 这是SDRAM的路由:

2
两层PCB上的以太网RMII
简介:我的目的是将以太网连接系统设计为一种业余爱好(例如,花费大量时间,但又不希望花费太多)。我的设计约束理想地是坚持使用2层100mm x 100mm PCB,该PCB具有0.3mm的最小孔和0.15mm的最小走线/间隙,总叠层厚度最薄为0.6mm。在我已知的制造商中,生产4层PCB的成本超过了我所需数量的组件成本(在我的特定情况下,只有一个,但相同的成本最多可以生产10个PCB)。 我的方法:一个带有内置以太网MAC的ATSAME54N20微控制器,通过RMII连接到Altium Designer中的KSZ8091RNA PHY。 问题1:我成功的几率是多少?即使使用0.6mm总高度堆叠选项,对于RMII走线,也要维持68ohms的特性阻抗(仍然没有灌入GND)似乎是不可能的,但是最大走线长度小于30mm,而像CLK这样的走线则为4mm长。这样的电路中是否会出现振铃和反射问题? 问题2:尽管没有进行长度匹配,但两条TX走线都路由在一起并与RX走线分开。我应该考虑严格的长度匹配公差吗? 问题3:突出显示的NET通过两个未使用的引脚来备用,这些引脚将被设置为高阻抗。这是惯例吗?这样做会影响信号完整性吗?使用过孔是否更好? 注意1:我发现了一些话题,讨论了通过NC引脚垫进行走线的情况,在我的情况下,我想知道有据可查的未使用的引脚。我也碰到过这篇文章,但是我打算自己对板子进行回流焊,并且缺乏这样做的经验,因此,我宁愿避免切断引脚并应对作用在芯片上的不均匀的表面张力。 注2:尚未运行从PHY到磁场的100ohm差分阻抗走线,但它们从PHY中出来而没有接近RMII信号。 注意3:我借此机会感谢社区的知识和帮助。希望以后有人对我的帖子有用! 跟进: 所有RMII网的长度匹配为29.9mm +/- 0.1mm。 未使用的引脚未用于运行跟踪。 叠层由一块1.6mm的总厚度板组成,没有进行受控的阻抗。 仍然需要注入GND,以及一些3.3V多边形,并且不要在任何走线下突破。 这种设计更好吗? 看起来可行吗? 跟进2: -实现了与地面共面的波导,以实现更紧密的阻抗匹配。 对于我发现的RMII迹线的正确传输线阻抗,最全面的答案是维基百科: RMII信号被视为集总信号,而不是传输线。无需端接或受控阻抗;输出驱动器(以及摆率)必须尽可能慢(上升时间为1到5 ns),以允许这样做。驱动器应能够驱动25 pF的电容,从而允许PCB走线长达0.30 m。至少该标准说不需要将信号视为传输线。但是,在1 ns的边沿速率下,迹线长于大约2.7 cm时,传输线效应可能是一个严重的问题。在5 ns时,走线可以长5倍。相关MII标准的IEEE版本指定68迹线阻抗。美国国家半导体建议在MII或RMII模式下运行带有33Ω(增加了驱动器输出阻抗)串联终端电阻的50Ω走线,以减少反射。 其他一些包括RMII v1.2规范: 所有连接均旨在成为PCB上的点对点连接。通常,可以将这些连接视为电气短路径,并且可以安全地忽略传输线反射。PCB上较长的走线的连接器和特征阻抗均不在本规范的范围内。建议将输出驱动器保持在尽可能低的水平,以最小化板级噪声和EMI。 还有Sun Microsystems准则: 像MII信号一样,GMII信号将按照以下公式进行源端接,以保持信号完整性:Rd(缓冲区阻抗)+ Rs(源端接阻抗= Z0(传输线阻抗))。 所有RMII网的长度都匹配到40mm +/- 0.1mm。 未使用的引脚未用于运行信号跟踪。 未使用的引脚用于GND和3.3V连接。 堆叠由一块1.6mm的总厚度板组成。 这种设计更好吗? 看起来可行吗? 将某些引脚连接到3.3V或GND是否可以接受?如果没有这种做法,我可以做到。 我应该在共面波导上放置多少个过孔?有足够的空间容纳更多的ATM通孔。 …

1
SPI总线终止问题
我一直在一个OMAP Linux SPI主设备与6个SPI从设备外围设备(5个A / D转换器和单个磁力计)交互的项目中进行工作。 我可以设置SPI时钟频率,并尝试了50 kHz,100 kHz和1MHz。 我附上了一个接线图/电路板图,显示了SPI主设备和所有外设的长度。在我的实验案例中,与主机之间的SPI总线长度(所有导线长度)约为970mm。 我发现的问题是,当我在总线上添加更多其他外围设备时,与1个外围设备的通信失败。即使通讯通过总线远端的磁力计,与另一侧的A / D转换器的通讯也会失败,直到卸下磁力计线束根,然后A / D部分恢复。 我在这里做了一些阅读: SPI总线端接注意事项, 以及: 短距离板对板通信 建议将RC LPF放置在靠近任何驱动节点的位置,因此SCLK和MOSI分别位于主机侧和我的6x MISO / SOMI信号中的每一个。我已经看到针对具有47pF / 27R RC网络的USB采取的类似方法。我的意图是在我的电路上尝试此操作,以减少快速的〜100nsec边缘跃变。 这是添加RC LPF时遵循的正确程序吗?这似乎真的很动摇,是否有更好的做法?我看到了TI的一份应用笔记,他们在讨论如何将SPI扩展到更长的总线距离,这是一个合适的解决方案,还是我的问题仅仅是高速边缘过渡产生的高频谐波之一? http://www.ti.com/lit/an/slyt441/slyt441.pdf 谢谢,尼克

2
眼图差,从哪里开始看?
我正在尝试调试100Mbit以太网板,并且遇到了无法解决的问题。 这是发射对的眼图。接收对非常相似。它是一个LAN8700 PHY,并且我已有效禁用MII接口,因此PHY正在传输IDLE码序列。根据数据表,它被强制为100Mbit / FDX。100Mbit / HDX是相同的。 纠正:设计使用的是LAN8700的内部1.8V电源为其VDD_CORE网络供电。在前面的描述中,我一定已经把1.8V逻辑电源与VDD_CORE电源混淆了。在我看来,电源噪声的可能性不大,因为高电平,零电平和低电平实际上相当不错。也就是说,眼睛不会被“压扁”。违反行为看起来都非常好,只是及时“偏斜”,这一事实使我认为问题出在PHY的晶体或晶体驱动器/ PLL的电源上。 如果我让眼图运行(大约15分钟),则遮罩中的违规将“填充”,以使您在图片中看到的白色违规在蓝色遮罩的右侧变为白色V形(>)形状。这将告诉我,时序误差或多或少是随机分布的,而不是某种使时序偏离精确量的离散噪声。 PHY使用的晶体具有30ppm的规格,这完全在100ppm 802.3规格之内,甚至在PHY指定的50ppm推荐规格之内。我使用的负载电容器与晶体所需的电容器相匹配,并且非常接近LAN8700指定的标称电容。 在禁用MII接口之前,我会看到成帧错误(如我的Linux的ifconfig程序所报告)。如果我将链接强制为10Mbit,则没有错误。 我注意到的一件很奇怪的事情是,如果我将示波器设置为触发从PHY到MAC的RX_ER(接收错误)信号,即使帧错误累积在MAC报告中,它也永远不会发出错误信号。现在,通过阅读PHY的数据表,很明显,实际上只有极少数情况下RX_ER会断言,但是我发现很难相信像我所看到的那样的眼图实际上是PHY与MAC。 我确实了解眼图的基础知识,但是我希望找一些更有经验的海报,希望他们能够分享他们在将特定的眼图模板违规转化为可能的来源方面的经验。 (编辑:添加了原理图,更正了VDD_CORE电源)

4
PCB上的返回路径
我花了一个周末来吸收Eric Bogatin的视频讲座,并读了他的书《 Signal and Power Integrity-Simplified》 他指出,PCB的返回路径可以是任何直流平面,该平面可以是信号路径下方的VCC导轨。 考虑以下简单电路 模拟此电路 –使用CircuitLab创建的原理图 如果将U1和U2放在顶层,而TX和RX仅在顶层布线,则信号的返回路径(TX到RX)将为Vcc。我可以。 我的问题是,当返回电流刚好到达TX引脚下方时,电流流向何方?在这一点上,它是否找到通往Gnd的道路,还是回到TX并通过芯片,然后回到地面? **从书中添加文本**

3
如果温度不是问题,那么关于不同的陶瓷电介质又能说些什么呢?
假设我们有一个电路,其工作环境温度范围可以很好地调节到25 + -5C。除了成本之外,不同陶瓷电介质类型的用例是什么?换句话说,特定陶瓷电介质的性能将好于其他陶瓷电介质,这将是什么应用?我们可以概括一下吗? 我知道陶瓷电容器的字母代码应该表示电介质的温度依赖性,但是由于所有这些问题都表明了这一点,还有其他可以说的吗? ltc3525-datasheet指出电容器必须为x5r或x7r而非y5v,为什么 为什么制造商强烈不鼓励在AC信号中使用X7R电容器并... Y5V或Z5U电容器有什么用? 陶瓷电容器的微音带宽 多层陶瓷电容器的规格在介电等级内是否有所不同? 我也知道封装尺寸会影响寄生效应,进而影响谐振频率和电容损耗。某些电介质在较小的封装和更高的电压中不可用,并且许多陶瓷表现出压电/麦克风效应(哪个?)。所有这些因素都可以通过一些经验法则来总结吗? 我还注意到,制造商数据表似乎假定了一种特定的电容器应用,例如未指定某些电容器的泄漏,谐振或损耗。 但是,如果环境温度不是一个因素,那么哪种电容器最适合特定工作。应用程序/特定类型的自发热是否存在问题? 到目前为止,我所有的商用电路都不对成本敏感,因此我只为所有陶瓷电容指定X7R,X5R或NP0,正如我在IC数据表中所建议的那样。但是这些建议背后除了温度依赖性之外还有其他东西吗? 我应该更多注意上限的目的吗?例如,仅将X5R / X7R用于电源旁路和调节,而将NPx用于信号路径中的任何内容?可以进行概括,还是需要详细阅读(非常不完整的)制造商数据表的问题? 简而言之。是否有任何通用原理可用于简化设计过程中的零件搜索?

3
电源电压不对称对运算放大器拓扑有何影响?
什么是效果电压偏移中的运算放大器的电源电压输入中的一个在其功能行为(可以是正的或负的)?Δ VΔ VΔV\Delta VΔ VΔV\Delta V 假设,我正在设计一个具有和同相放大器。电源电压为;和。我的运算放大器是MCP6V31。如果我的输入电压为1kHz正弦电压,峰峰值为10mV,输出电压将是多少? - [R 2 = 1 ķ Ω V + = + 5.0 V V - = - 4.5 V[R1个= 100 k 欧姆R1=100kΩR_1 = 100k\Omega[R2= 1 k 欧姆R2=1kΩR_2 = 1k\OmegaV+= + 5.0 伏V+=+5.0VV_+ = +5.0VV−=−4.5VV−=−4.5VV_- = -4.5V

4
为什么我的某些信号“发抖”(抖动)?
我有一条2 MHz的SPI总线,但是我注意到的一件事是我的某些信号经常“发抖”。是的,我的触发器设置正确,所以我认为问题不存在。 您可以在这里看到我的意思:(这是在持久模式下启用的)。这是我的SPI总线的时钟。 SPI确实可以正常工作。我已经在多个板上传输了数百兆字节,到目前为止还没有发现问题。但是我仍然想知道这里可能是什么问题。另外,即使它可以正常工作,我也应该解决这个问题吗? 测量是使用非常小的接地夹直接在信号源处进行的。 这是我的电路的简化示意图。当然,板上有更多的SPI器件,但出于这个问题的目的,这是正确的,因为除了uC和SD卡外,板上没有焊接任何东西。 主设备(AVR Mega 128)正在运行其内部RC振荡器-我不知道这是否有意义,但是由于信号随时间推移而变化,因此RC振荡器的抖动也有可能在SPI总线中消失。只是以为我会提到它。在我看来,在这些测量过程中,我会无限循环地运行控制器。这是代码: while(1) { setFirstBitOnDriver(driver); // this sends a 8-bit command on the SPI bus. GLCD_SetCursorAddress(40); // Change cursor position on the display. GLCD_WriteText("LED: "); for(wire=0;wire<72;wire++) { itoa(wire+1,str,10); GLCD_WriteText(str); GLCD_SetCursorAddress(44); _delay_ms(10); shiftVectorOnDriver(driver); // another command on SPI. 8-bit wide. } } 当内部运行72次然后退出时,可能会发生抖动/颤抖。由于执行前三行需要花费额外的时间,因此可能会由于附加的处理时间而使每个第73个波形到达的时间略有不同。如果我必须打赌,我猜这是造成我问题的原因(如果可以的话,我会立即确认这一点,但我的董事会和下个星期都休息了!),但我仍然希望提出意见/ SE在此问题上的答案。 …


4
了解可以通过电缆传输的最大速度
我正在尝试为USB3.0(+ 5gbps)采购FFC / FPC电缆。这使我想到了信号传输的问题。我是这个主题的初学者。我知道您应该将PCB上的阻抗与连接器/电缆相匹配,以最大程度地减少反射。 我想知道如何判断可以通过电线传输的信号的速度。具体来说,哪种电缆参数会影响传输速度?任何帮助表示赞赏。

4
终端电阻的用途
我的问题不是关于特定的总线或线路,也不是我应该施加的终端。 我知道有些总线需要终端电阻,例如CAN或用于存储的地址/数据。 如果我了解得很好,则需要这些电阻来避免信号反射。 我的问题是: 是否仅需要终端电阻来避免反射? 导致反射的电气现象是什么?如果没有电阻,为什么信号会反射? 电阻器的值取决于总线长度还是更多取决于总线频率? 如果电阻器用于反射目的,通过添加电阻器会破坏反射的现象是什么? 为什么有时需要并联和串联需要终端电阻?

2
继电器对信号有什么样的影响?
目前,我正在开发基于DDS的函数发生器。想法是使用会产生三角波/正弦波或方波的AD9834芯片。对于某些放大电子设备,我想要可配置的频率,偏移和幅度。我没有想要达到的设定频率,但是超过10MHz会很好。我正在努力使事情取得最佳结果。 我一直在寻找在几个幅度分辨率范围之间切换的方法。例如,我希望获得最大10V的幅度,但在较低的幅度(<2V)上具有1mV的步长。为了避免使用16位DAC,我考虑使用继电器在两个反馈电阻器或两个放大电路(闭合和断开触点上有两个不同范围)之间切换。继电器将由某种微控制器进行切换,该微控制器将确定所有DAC和继电器应针对所需波形进行哪些设置。 我主要担心的是继电器可能会增加额外的噪声。我认为机械继电器可能还可以(这是真的吗?)。由于它们的尺寸,我也在研究固态继电器。 但是,我在维基百科上读到,固态继电器在闭合时会具有较高的电阻,并且会“增加电噪声”。固态继电器在低幅度(例如100mVpp)或高频信号(> 5MHz)上的问题有多大。甚至值得使用SSR或使用多个MOSFET代替吗? 我是否应该避免使用固态继电器,而应该专注于机械开关(因为我希望它们通过的信号要干净得多)?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.