多从器件的IIC总线调试心得
画了个Sheild板子挂满了各种IIC Sensor器件和传感器模组,结果发现调起来并不容易。。。
上拉恢复波形不好,其实跟上拉电阻关系不大,
下面这个波形,我即使把上拉电阻改小到1k到330R都很难纠正好,最后发现原因是总线上有其他IIC器件的Vcc供电没有给上。导致CLK DAT引脚的上拉充电恢复电流,被器件体内的保护二极管泄放到了他们各自Vcc上,相当于各自变相通过IIC两个总线给自己bootstrap供电了。所以导致总线波形上升恢复斜率不足,难看。容易导致通信失败。
把总线所有器件的Vcc都供上,就不存在这个问题了。
所以说,正常情况下的IIC总线,总的等效上拉电阻只需要1k 到 10k 就可以了,CLK越高速,就用越小的电阻。具体以波形为准。
另外,上拉电阻过小,过于强上拉,也会导致下拉电压低电平不能到达底部0.2v,比如某些CMOS输出的MCU就拉不好,只能下拉到个半截,波形也很难看。所以这个“拉底电平”跟“上升斜率坡”是一对矛盾关系 ,需要去平衡微调。