数字电路上的通讯速度是越快越好还是越慢越好?
昨天我突发奇想,修改了一下MCU和INA226以及DAC8551的通讯速率。之前的INA226用的是I2C通讯,之前设置的速率是100Kbps,DAC8551是SPI通讯,速率是10Mbps,昨天修改之前输出位置的测试结果如图:
可以看到,整体的噪音大约是5.5-6mVpp。
然后我昨天反复试验INA226的速率上限,然后最终设定在2.5Mbps,高于这个值,就会通讯失败。DAC8551我直接用了手册上给的最大值:30Mbps。
然后做了同样的测试,结果如下图:
仔细对比两个图,可以发现,噪音幅度大约是3-3.5mVpp,(那个间歇性波纹我稍后解释),最直观的就是FFT得到的2Mhz以内的噪音密度明显下降。之前的测试是13.5uV/div,今天测试是10uV/div,也能明显看出今天的测试结果明显比昨天低。但相对的,1Mhz那个尖峰就非常高了,昨天大约是40uV,今天看已经超过了80uV。
至于那个间歇性的波纹,可以参考我关闭机器后,示波器的显示。可以确定这个干扰不是来自于我的板子,而是来自于空间的干扰,频率和持续时间非常稳定,10ms一次,每次持续3.5ms。幅度会有微小的变化。
因此,如何抑制数字电路的噪音,就有了非常明显的指向,尽量将频率推高,频率越高,越容易根治。所以任何芯片间的通讯,尽可能用最高的频率进行。