I2C电平转换电路调试测试记录
本次调试测试的硬件系统信息如下:
CPU部分I2C接口1.8V,地磁传感器I2C接口为2.9V
电路中的MOS管使用
ONSEMI的双N-MOS管NTJD4401NT1G和
ROHM的双N-MOS管UM6K1NTN
同一块电路板测试波形见下图
使用ONSEMI的NTJD4401NT1G,SDA信号波形(地磁侧和CPU侧)
SCK信号(CPU侧和地磁侧)
使用ROHM的UM6K1NTN,SDA信号(地磁侧和CPU侧)
使用ROHM的UM6K1NTN,SCK信号(地磁侧和CPU侧)
分析:
两个不同的管子,读器件ID都正常,说明I2C通信已经没有什么问题,但是SDA波形差异较大,ROHM的已经严重变形,存在不确定性,实际测试中也有发现地磁有时工作不正常。
分析第3张波形图,地磁传感器侧的SDA是有接近0V输出的,
根据I2C协议,正常工作的话,SDA的最后一位,也就是第9位的应答信号是有slave设备响应的,就是说slave侧可以把SDA拉低,只是CPU那侧不能将SDA拉低。猜测可能是CPU部分的I2C_SDA脚驱动电流限制,导致CPU侧的电平拉不下来,更改slave侧SDA的上拉电阻,从2.2K改成10k,波形正常(图片省略);查看CPU规格书,默认I2C驱动能力1mA,至于SCK正常,确认是软件在其它部分有所设置;
而ONSEMI管子正常,应该是Rds(on)比ROHM的小很多导致,这可以从它们的规格书中查到
更改措施:
1.软件修改CPUI2C驱动电流,从1mA改为4mA;
2.修改slave侧的上拉电阻,改动比较有限,因为上拉电阻可能会影响正常通信;
采取方案一进行试验
2010-9-25
采取上面提到的方案一,跟踪软件修改驱动电流进行试验
使用默认的1mA,ROHM的UM6K1NTN,SDA波形如下:
修改驱动电流为4mA后,SDA波形:
到此,可以看出I2C调试时,关于驱动电流,软硬件上面都要仔细确认。
END
I2C电平转换电路调试测试记 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)