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