做硬件设计的时候,SD NAND的CLK时钟引脚看起来很简单,就是一根时钟线。但实际调试中,很多奇怪的问题都出在这根线上。
这篇文章把SD NAND的CLK相关的注意事项和走线规范捋一捋。

一、CLK是干什么的?
CLK是MK SD NAND的时钟输入引脚。主控(比如MCU)提供一个时钟信号,SD NAND跟着这个时钟的节奏来收发数据。没有时钟,或者时钟不稳定,通信就没法进行。
这个信号是主控发给SD NAND的,SD NAND只负责听。

二、CLK引脚的几个注意事项
1. 频率别超限
CLK跑多快,取决于你的主控和SD NAND支持什么速度。但不管怎么样,不能超过SD NAND规格书里写的最大时钟频率。超了可能会丢数据,甚至通信直接挂掉。
米客方德的SD NAND,SD2.0协议下时钟最高支持到50MHz,SD3.0协议下可以到208MHz。具体看你选的型号。
2. 时序要满足
时钟的上升沿和下降沿是有时间要求的。如果信号边沿太缓、或者有回沟,SD NAND可能采错数据,导致通信失败。这个跟走线质量关系很大。
3. 电压要匹配
CLK引脚的电压要跟SD NAND的IO电压一致。米客方德的SD NAND大部分支持3.3V,部分型号支持1.8V/3.3V双电压。电压高了可能烧芯片,电压低了可能不认卡。
4. 时钟同步得先建好
上电之后,主控要先输出时钟,SD NAND才能完成初始化。这个流程主控会自动做,但硬件设计要保证时钟信号稳定,别断断续续。
5. 空闲时可以停时钟
如果SD NAND暂时不用,主控可以把时钟关掉来省电。但下次要读写的时候,得先把时钟恢复,再发命令唤醒SD NAND。
三、CLK走线规范(容易踩坑的地方)
1. 走线越短越好
CLK是高速信号,线越长,反射和干扰越严重。能走5mm就不要走15mm,能直着走就不要绕弯。
2. 远离干扰源
CLK线不要从电感、大功率器件、射频天线底下走。工厂车间里,这些地方的噪声很容易耦合到时钟线上,导致通信不稳定。
3. 不要加电容滤波
这个坑踩的人最多。
有些工程师习惯在信号线上加个小电容滤波,觉得能抗干扰。但CLK是时钟信号,不是电源。加上电容之后,上升沿和下降沿会变缓,波形变圆,SD NAND可能就不认了。
实际遇到过的情况:客户画的板子,SD NAND一直初始化失败。查了半天,发现CLK线上并了一个22pF的电容。去掉电容之后,波形正常了,初始化也过了。
下面是同一段程序出来的波形对比。左边是正常的CLK信号,方方正正。右边是加了电容之后的效果,边沿明显变缓,还带振铃。这种波形给SD NAND,它确实不好认。


CLK走线原则:短、直、远离干扰源。不要串电阻,不要并电容。走得干净比什么都重要。
四、MK SD NAND的CLK设计要求
米客方德SD NAND对CLK的要求跟标准SD卡基本一致,有几个点可以留意一下:
如果拿不准,可以找原厂FAE要一份Layout Guide,里面有详细的走线参考。米客方德的SD NAND应用笔记里也有CLK走线的实测数据和波形图,可以参考着来画板。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。