SD NAND虽然只有6×8mm大小,8个引脚,但PCB设计做不好照样翻车。不少工程师第一次用SD NAND时觉得“不就是接8根线嘛”,结果板子打回来不是初始化失败就是高温下读写报错。其实SD NAND的Layout学问主要集中在CLK走线、阻抗匹配和包地处理三个方面,做好了这三点,基本上不会出问题。

产品图
先说CLK走线,这是SD NAND PCB设计中最容易踩坑的地方。CLK是时钟输入引脚,主控提供时钟信号,SD NAND只负责“听”。别看它只有一根线,出问题的概率却是最高的。第一个原则是走线越短越好——高速信号线越长,反射和干扰越严重,能走5mm就不要走15mm。第二个原则是远离干扰源,不要从电感、大功率器件、射频天线底下走,这些器件产生的电磁干扰会直接耦合到时钟线上,导致信号边沿出现毛刺。第三个原则,也是最反直觉的一条:CLK线上不要加电容滤波。很多工程师习惯性地在信号线上并个小电容“滤一下高频”,但CLK是时钟信号不是电源,加了电容后上升沿和下降沿会变缓,波形变圆,SD NAND可能根本不认这个时钟。有一个真实案例:客户在CLK线上并了22pF电容,SD NAND一直初始化失败,示波器一看波形圆得像正弦波,去掉电容后立刻正常。第四个原则:CLK线不需要上拉电阻。这一点和CMD、DAT线不同,CMD和DAT线需要10K-100kΩ上拉电阻来防止总线浮动,但CLK线是主控驱动的,不需要上拉。
再说阻抗匹配。SD NAND的CLK线需要控制50Ω阻抗,这一点在SD2.0型号(MKDV系列,最高50MHz)上要求相对宽松,走线建议控制在10cm以内即可;但在SD3.0型号(MKDN系列,最高208MHz)上就非常关键了,走线建议控制在5cm以内,并且必须做严格的50Ω阻抗匹配。阻抗不匹配会导致信号反射,表现为时钟边沿出现回沟或振铃,严重时SD NAND会在高时钟频率下间歇性初始化失败。实际操作中,建议使用4层板(信号-GND-PWR-信号),CLK线走在顶层或底层,下方有完整的地平面参考,这样阻抗控制最准确。如果只能用2层板,CLK线两侧要做包地处理,地线宽度不小于信号线宽度的2倍,并在包地线上每隔2-3mm打一个地过孔连接到地平面,形成法拉第笼效应。
包地规则不只是CLK线的事。整个SD NAND区域都应该做包地处理,具体做法是:芯片周围留出一圈GND走线,与芯片的GND焊盘相连;DAT0-DAT3数据线尽量等长走线,误差控制在±50mil以内,避免数据采样时序偏移;VDD引脚旁边放置0.1μF去耦电容和10μF储能电容,电容尽量靠近引脚;GND焊盘采用“十字花”(也叫梅花焊盘)连接方式,而不是直接铺满铜皮,这样既保证了电气连接又防止焊接时散热过快导致虚焊假焊。VCC参考电容选2.2μF,太大掉电慢可能导致上电时序不满足SD协议要求(电压需在0.5V以下保持至少1ms),太小则纹波大影响稳定性。
电源走线也不能马虎。SD NAND平时电流不大(待机约130μA),但读写时瞬时电流可能超过200mA,MKDV1GIL-AST峰值电流约50-55mA,电源设计建议≥200mA。VDD走线宽度建议不小于15mil,如果用DC-DC供电,输出端到SD NAND VDD引脚的走线越短越好,中间不要穿过其他信号线。电源芯片选型上,DC-DC优于LDO,因为LDO在输入输出压差大时发热严重,高温环境下电流输出能力下降,可能导致SD NAND供电不足引发间歇性故障。

配图
还有一个容易被忽略的细节是上电时序。SD协议明确规定,SD NAND上电前电压必须在0.5V以下保持至少1ms,让芯片内部状态机彻底复位;电压从0V上升到2.7V-3.6V的上升时间应在0.1ms到35ms之间,不能忽高忽低。如果电源放电不干净——比如VCC滤波电容选得太大,掉电时电压在1.5V附近“拖尾”晃悠再慢慢降到0V——芯片内部状态机没有正确复位,上电后就会出现UECC(不可纠正的错误校正码)甚至初始化失败。这就是为什么VCC参考电容建议选2.2μF而不是更大的值,同时建议用DC-DC而非LDO供电,DC-DC的放电特性更干脆,不会产生电压拖尾。排查这类问题时,用示波器抓VCC掉电波形,看电压是否干脆利落地降到0.5V以下,是最直接有效的方法。
最后总结几条实操要点:SD NAND芯片尽量靠近主控放置,缩短所有信号线长度;数据线等长走线,CLK线包地控50Ω阻抗;CLK线不加电容、不上拉;CMD和DAT线接10K-100kΩ上拉电阻;VDD旁放0.1μF+10μF电容,GND焊盘做十字花连接;电源用DC-DC≥1A,VCC参考电容2.2μF。如果遇到初始化失败,第一件事就是用示波器看CLK波形——波形干净、边沿陡峭,是SD NAND正常工作的前提。MK米客方德也提供详细的Layout Guide和参考设计图,建议在设计初期就向原厂FAE索取,避免反复改板浪费时间。