24小(xiǎo)时联系電(diàn)话:18217114652、13661815404
中文(wén)
- 您当前的位置:
- 首页>
- 電(diàn)子资讯>
- 行业资讯>
- 是否有(yǒu)SPI走線(xiàn)阻抗要...
行业资讯
是否有(yǒu)SPI走線(xiàn)阻抗要求?
是否有(yǒu)SPI走線(xiàn)阻抗要求?
本文(wén)是关于串行外围接口(SPI)及其信号完整性挑战的全部内容,所有(yǒu)这些都源于接口的阻抗和承载数字信号的走線(xiàn)。在进入本文(wén)的主要观点之前,我将回答(dá)我自己的问题:
没有(yǒu)SPI走線(xiàn)阻抗要求。您当然可(kě)以调整SPI总線(xiàn)中的走線(xiàn)大小(xiǎo),使其阻抗為(wèi)50欧姆,但这不是必需的。
当我写“没有(yǒu)SPI走線(xiàn)阻抗要求”和“50 欧姆……不是必需的”时,我的意思是SPI没有(yǒu)指定任何特定的阻抗要求。如果您查看其他(tā)声称“SPI 需要受控阻抗”的设计指南,您实际上会发现它们通常没有(yǒu)说明特定的阻抗值。充其量,他(tā)们会说明从30欧姆到150欧姆的范围。这是一个很(hěn)大(而且不是很(hěn)有(yǒu)用(yòng))的值范围。
我最近看到的另一个例子是一家主要半导體(tǐ)制造商(shāng)的应用(yòng)说明,指出SPI線(xiàn)路需要受控阻抗和長(cháng)度匹配,显然忽略了该接口的设置时间和全双工特性。他(tā)们也没有(yǒu)列出阻抗值或長(cháng)度不匹配容差值。如果你问我,这不是一个有(yǒu)用(yòng)的指南。
现实情况是,SPI線(xiàn)路仅在互连長(cháng)度变得非常長(cháng)时才开始需要阻抗控制。而且由于总線(xiàn)中没有(yǒu)特定的阻抗要求,因此您在通道设计和端接方面有(yǒu)一定的自由度。那么究竟什么是“非常長(cháng)”,什么时候需要某种终止方法呢(ne)?我们将在本文(wén)中对其进行分(fēn)解。
SPI拓扑和走線(xiàn)设计
SPI的拓扑结构非常简单。它使用(yòng)带有(yǒu)单个控制器外设链接的三条線(xiàn)路,或总線(xiàn)上有(yǒu)多(duō)个从机的四条線(xiàn)路。上游控制器可(kě)以通过一对高达60 Mbps的線(xiàn)路发送和接收数据,数据可(kě)能(néng)通过電(diàn)缆发送到另一个板或设备。典型SPI总線(xiàn)的拓扑如下所示。
那么PCB上会发生什么?如果您查看具有(yǒu)SPI接口的组件的数据表,您会发现高级组件的最小(xiǎo)上升时间值短至1 ns。对于某些组件,上升时间可(kě)能(néng)更長(cháng),可(kě)能(néng)為(wèi)20 ns或更長(cháng)。显然,即使数据速率和时钟速率很(hěn)低,像SPI这样的慢速总線(xiàn)仍然可(kě)以具有(yǒu)高速信号行為(wèi),但没有(yǒu)阻抗规范!如何最好地处理(lǐ)SPI设计?
SPI路由的上升时间是多(duō)少?
SPI中的这个问题有(yǒu)些沟通不畅,它是那些经典的高速PCB设计问题之一。由于我们需要确定SPI链路在上升时间方面是“快”还是“慢”,所以第一步是了解对上升时间的确切影响。
第一步是在您的数据表中查找将控制您的SPI总線(xiàn)的主组件。如果您的组件有(yǒu)据可(kě)查,SPI接口上的上升时间将针对总線(xiàn)上看到的特定负载電(diàn)容指定。请注意,“负载電(diàn)容”假定SPI输出和测试负载之间的连接電(diàn)感為(wèi)零,因此您可(kě)以将此上升时间值视為(wèi)RC时间常数,以进行初步近似。
示例数据表条目与為(wèi)特定负载電(diàn)容指定的信号上升时间和下降时间相关。
上述示例中的高负载電(diàn)容值并不是大多(duō)数组件的典型值,但它说明了要点:上升时间由总線(xiàn)的電(diàn)容决定。在此示例中,如果我们采用(yòng)上面指定的10%-90%上升时间并将其等同于2.2RC(用(yòng)于确定时间常数值的标准),我们将得到R = 113.6作為(wèi)总線(xiàn)上的電(diàn)阻。这意味着,如果我们要在驱动器上添加一些電(diàn)阻(见下文(wén)),那么我们可(kě)以在匹配阻抗的同时减慢上升时间。
请记住这些要点,因為(wèi)稍后我们将使用(yòng)它来了解為(wèi)什么可(kě)以使用(yòng)串联電(diàn)阻端接来减慢SPI总線(xiàn)。既然我们知道了在接收器上看到的总線(xiàn)上升时间,我们就可(kě)以确定总線(xiàn)何时“長(cháng)”。
SPI总線(xiàn)是長(cháng)的还是短的?
粗略地说,我们可(kě)以将信号在其上升时间内传播的距离与总長(cháng)度进行比较。另一种方法是使用(yòng)上升时间的带宽估计值(在上面的示例中為(wèi) 35 MHz)来确定总線(xiàn)输入阻抗何时偏离我在本文(wén)中描述的负载阻抗太遠(yuǎn)。粗略估计的简单方法是将信号在其上升时间内行进的距离与互连的传播延迟进行比较。
我更喜欢使用(yòng)保守的10%的限制来估计公共汽車(chē)什么时候开始看起来很(hěn)長(cháng);如果传播延迟小(xiǎo)于信号上升时间内行进距离的大约10%,则认為(wèi)总線(xiàn)很(hěn)短,我们不需要关心端接总線(xiàn)阻抗:
请注意,其他(tā)指南将规定从10%到50%的任何地方作為(wèi)截止值;总線(xiàn)突然变長(cháng)没有(yǒu)单一的值,这是一个判断问题。例如,对于Dk = 4的PCB层上的10 ns SPI信号,10%的截止值為(wèi)0.15米或15 cm。这意味着,任何承载小(xiǎo)于15 cm的10 ns信号的SPI路由都将被视為(wèi)短总線(xiàn),这适用(yòng)于许多(duō)情况。
如果您的SPI总線(xiàn)速度较慢,您可(kě)以使用(yòng)一些非常简单的指南来防止一些基本的信号完整性问题。您可(kě)以实施以同时减少電(diàn)感(导致振铃)、串扰和辐射发射的一些最简单的指南包括:
将您的SPI線(xiàn)路布置在地平面上,即使它们不是高速的
在薄電(diàn)介质上使用(yòng)更宽的走線(xiàn):外层的尺寸是下一层到GND距离的2-2.5倍;内层上10-15 mil的走線(xiàn)通常很(hěn)好
如果您使用(yòng)的是2层板并且没有(yǒu)空间放置接地层,则在SPI線(xiàn)周围放置接地以提供清晰的返回路径
為(wèi)了获得最佳性能(néng),我建议不要使用(yòng)2层,而是从与高速数字设计兼容的PCB叠层开始。
為(wèi)什么人们声明或使用(yòng)50欧姆的SPI?
在SPI線(xiàn)路需要具有(yǒu)特定阻抗的情况下,人们使用(yòng)50欧姆作為(wèi)目标阻抗是有(yǒu)充分(fēn)理(lǐ)由的。具有(yǒu)讽刺意味的是,我认為(wèi)人们实际上并不知道这样做的好处,但他(tā)们最终会因為(wèi)错误的原因做出正确的决定。
如果50欧姆是電(diàn)气長(cháng)SPI总線(xiàn)的特征阻抗目标,则電(diàn)路板上可(kě)能(néng)还有(yǒu)其他(tā)阻抗控制走線(xiàn)也以50欧姆特征阻抗為(wèi)目标。拥有(yǒu)一个阻抗目标可(kě)以让制造商(shāng)更容易控制阻抗。如果他(tā)们必须交换叠层中的材料才能(néng)击中您的阻抗目标,那么如果叠层中只有(yǒu)一个目标要击中,那么这样做会容易得多(duō)。
為(wèi)什么在短SPI总線(xiàn)上使用(yòng)串联端接?
从我们上面看到的,在绝大多(duō)数带有(yǒu)SPI跟踪的实际情况中,驱动器或接收器不需要终止。如果有(yǒu),您会在组件数据表、SPI规范或两者中的某处看到阻抗规范。此外,组件可(kě)能(néng)会将片上端接应用(yòng)于目标阻抗,因此您不必為(wèi)放置電(diàn)阻器而烦恼。
放置在SPI总線(xiàn)上的终端電(diàn)阻。
答(dá)案很(hěn)简单:就是减慢驱动程序发出的信号。電(diàn)阻器还提供阻尼输出上的任何振铃的附带好处。
如果您的控制器是FPGA之类的高级组件,并且您在此控制器中例化了SPI接口,则上升时间可(kě)能(néng)会非常短,因為(wèi)设备的物(wù)理(lǐ)结构只是确保了非常快的上升时间。因此,减慢信号可(kě)能(néng)是有(yǒu)利的,这样您就不会有(yǒu)快速信号产生串扰。在这种情况下,您必须将電(diàn)阻放置在靠近驱动器的位置。
确保不要过多(duō)地减慢上升时间,否则信号将太慢而无法在负载处切换I/O,并且可(kě)能(néng)无法正确读取信号。如果上升时间过長(cháng),您也可(kě)能(néng)违反建立时间。有(yǒu)一个简单的RLC模型可(kě)以通过仿真来确定合适的串联電(diàn)阻值。
短SPI总線(xiàn)的集总元件模型
SPI总線(xiàn)的实际模型更為(wèi)复杂。它包括以下因素:
整个总線(xiàn)上的跟踪電(diàn)容(C)
走線(xiàn)電(diàn)感(L)
源阻抗
负载電(diàn)容
短总線(xiàn)基本上看起来像这个LC模型:
具有(yǒu)短传输線(xiàn)的SPI总線(xiàn)模型。
理(lǐ)想的源阻抗為(wèi)0欧姆,但实际上它可(kě)能(néng)是10-30欧姆左右的低值。负载電(diàn)容应在接收器的数据表中指定。
它是一种总線(xiàn),如果用(yòng)快速信号激励并且電(diàn)感太大,则可(kě)能(néng)会出现欠阻尼振荡;它也可(kě)以在SPICE中进行模拟。在这种情况下添加一个串联電(diàn)阻会增加阻尼,这将减少上升时间。
请注意,我已将跟踪電(diàn)阻从此列表中删除;走線(xiàn)電(diàn)阻将非常小(xiǎo),并且将提供可(kě)忽略的损耗和阻尼。这是因為(wèi)走線(xiàn)電(diàn)阻大约為(wèi)毫欧,而控制上升时间的大致近似電(diàn)阻可(kě)以是10-100欧姆,因此显然走線(xiàn)電(diàn)阻可(kě)以忽略不计。
長(cháng)SPI总線(xiàn)中的串联電(diàn)阻
在不常见的長(cháng)总線(xiàn)情况下,您必须将SPI線(xiàn)与目标阻抗匹配(50 欧姆很(hěn)方便)。在这种情况下,只需将SPI I/O上的信号摆幅与電(diàn)流进行比较,就可(kě)以得到处于ON状态的信号的電(diàn)阻值。在这种情况下,串联電(diàn)阻通常需要22欧姆或33欧姆才能(néng)达到50欧姆的目标。将其放置在靠近驱动器的位置,以实现阻抗匹配并降低信号速度,如此处所述。
带有(yǒu)串联终端電(diàn)阻的SPI总線(xiàn)模型。
这样做的另一个原因是总線(xiàn)上有(yǒu)多(duō)个从属组件。您将与总線(xiàn)每条腿的输入阻抗匹配,并且您可(kě)能(néng)会减慢上升时间,足以让您不必担心总線(xiàn)分(fēn)支处的输入阻抗。一般来说,将線(xiàn)路更靠近驱动器分(fēn)开更好,因為(wèi)进入每个部分(fēn)的输入阻抗将更接近線(xiàn)路的特性阻抗。