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