|
网上看到很多这类问题,总觉得不踏实,有说走线不超过1000mil的,这实在不敢恭维。STM32系列的芯片用于SDRAM的管脚分布在4个象限,利用其引脚复用功能调线都无法将功能管脚集中,拉线穿过MCU就已经过了大半部分线长,如何做到小于1000mil- |) a# y3 T! J0 B% P
对于SDRAM布线,自己画过好几块板,其中有一块是出了布线问题的,现象是能读写,但是有随机性的数据错误(将SDRAM作为LCD显存,每次刷新LCD后有不规则时间出现不规则位置的噪点)。 e! q6 q7 V* F) g+ X! Z8 z" z H
其实,SDRAM布线并不那么严格,搞清了规则就不怕布线错误了,我的方法如下(不一定正确,但一些板验证通过):% L9 y9 h0 C. [8 X( Z
这一类的布线总的来说是保证时序以及信号质量,这需要分析。比如使用STM32F429的FMC以及MT48LT4M芯片,查看数据手册得到信号实在时钟上升沿采样,时序上则要求时钟上升沿的电平有效之前可以允许1.5ns的延时。(要仔细查看时序图以及参数表)( P: L6 k" v! _0 q7 p/ y, \2 I( Y
FR4板材走线延时的经验长度约6inch/ns(实际上是一些高人经过计算得来的),这个延时可以走大概9inch的线长,这已经很长了,也即是很多网友说不等长走线也能正常使用的原因之一,要走这么长的线,板子该得多大?
: W5 t5 K$ n8 \, s9 b9 u( z; X! g得到这个参数是不够的,没有考虑PCB的分布参数。得考虑信号完整性的问题。! H# k$ s8 h: ~4 z! e" x, n2 O, _4 h
走线是有电感电容的分布参数的,这时候就要考虑临界长度的概念,当延迟时间为此前延时(1.5ns)
7 s5 t3 e) z2 ~, J' o# Y- a" @' b8 i的1/4时,波形畸变量为25%,为1/5时为12.5%,为1/6时为5%,这样我们取1/6的话,延时时间为0.25ns,对应走线长度为1500mil(38mm)。
5 c/ P* z" z- e需要注意的时这是不需要端接电阻的情况。如果对波形要求不高的情况下取1/4则可以走线2250mil。! K2 a t9 w; e
我在一块板上走2300mil不做端接工作正常。
3 Q7 m* F2 ]4 C5 s, R0 M& H这个长度对于有些布局紧凑的板子来说是可以实现的,然而有时候却必须走更长的线,此时,就需要堪虑端接了,在末端串接一个50欧左右的电阻(一般6mil线宽阻抗是50欧,当然凡亿计算是5.5mil,这与介电常数以及PCB板材相关)。7 ?& g5 w) P& P- Q. m+ a
然而即使做端接了就可以走9inch了?这么长肯定不可靠,因为是估算的,并且环境各不相同还是做靠谱点的事情,可以取1/3,你可以走3600mil(达到76mm),这下应该轻松很多的吧(还是尽量短啊)。( l/ o; D. g( _7 N0 R3 _# U8 q
3 V7 z4 N/ ^/ ]: i: I
前面所说都是单根走线,如果所有走线在1500mil以内并且线长差不是特别大(比如超过500mil)的话(数据线可放宽100mil),完全不用等长,否则,必须等长。还是跟前面一样,考虑走线延时的时差,特别是与时钟线参考。8 {' A) j+ Y v* k7 U1 j+ u$ [
2 j2 j. G N, k* G# ^% {" [这是我参考率一些资料以及画板不多的总结,有错误请指正。/ F+ A! K- P! q S/ M3 ]
|
|