I2C電平轉換電路調試測試記錄

分析:
兩個不同的管子,讀器件ID都正常,說明I2C通信已經沒有什么問題,但是SDA波形差異較大,ROHM的已經嚴重變形,存在不確定性,實際測試中也有發(fā)現地磁有時工作不正常。
分析第3張波形圖,地磁傳感器側的SDA是有接近0V輸出的,
根據I2C協議,正常工作的話,SDA的最后一位,也就是第9位的應答信號是有slave設備響應的,就是說slave側可以把SDA拉低,只是CPU那側不能將SDA拉低。猜測可能是CPU部分的I2C_SDA腳驅動電流限制,導致CPU側的電平拉不下來,更改slave側SDA的上拉電阻,從2.2K改成10k,波形正常(圖片省略);查看CPU規(guī)格書,默認I2C驅動能力1mA,至于SCK正常,確認是軟件在其它部分有所設置;
而ONSEMI管子正常,應該是Rds(on)比ROHM的小很多導致,這可以從它們的規(guī)格書中查到
更改措施:
1.軟件修改CPUI2C驅動電流,從1mA改為4mA;
2.修改slave側的上拉電阻,改動比較有限,因為上拉電阻可能會影響正常通信;
采取方案一進行試驗
2010-9-25
采取上面提到的方案一,跟蹤軟件修改驅動電流進行試驗
使用默認的1mA,ROHM的UM6K1NTN,SDA波形如下:

修改驅動電流為4mA后,SDA波形:

到此,可以看出I2C調試時,關于驅動電流,軟硬件上面都要仔細確認。
END
評論