I2C電平轉(zhuǎn)換電路調(diào)試測(cè)試記錄
分析:
兩個(gè)不同的管子,讀器件ID都正常,說(shuō)明I2C通信已經(jīng)沒(méi)有什么問(wèn)題,但是SDA波形差異較大,ROHM的已經(jīng)嚴(yán)重變形,存在不確定性,實(shí)際測(cè)試中也有發(fā)現(xiàn)地磁有時(shí)工作不正常。
分析第3張波形圖,地磁傳感器側(cè)的SDA是有接近0V輸出的,
根據(jù)I2C協(xié)議,正常工作的話,SDA的最后一位,也就是第9位的應(yīng)答信號(hào)是有slave設(shè)備響應(yīng)的,就是說(shuō)slave側(cè)可以把SDA拉低,只是CPU那側(cè)不能將SDA拉低。猜測(cè)可能是CPU部分的I2C_SDA腳驅(qū)動(dòng)電流限制,導(dǎo)致CPU側(cè)的電平拉不下來(lái),更改slave側(cè)SDA的上拉電阻,從2.2K改成10k,波形正常(圖片省略);查看CPU規(guī)格書,默認(rèn)I2C驅(qū)動(dòng)能力1mA,至于SCK正常,確認(rèn)是軟件在其它部分有所設(shè)置;
而ONSEMI管子正常,應(yīng)該是Rds(on)比ROHM的小很多導(dǎo)致,這可以從它們的規(guī)格書中查到
更改措施:
1.軟件修改CPUI2C驅(qū)動(dòng)電流,從1mA改為4mA;
2.修改slave側(cè)的上拉電阻,改動(dòng)比較有限,因?yàn)樯侠娮杩赡軙?huì)影響正常通信;
采取方案一進(jìn)行試驗(yàn)
2010-9-25
采取上面提到的方案一,跟蹤軟件修改驅(qū)動(dòng)電流進(jìn)行試驗(yàn)
使用默認(rèn)的1mA,ROHM的UM6K1NTN,SDA波形如下:
修改驅(qū)動(dòng)電流為4mA后,SDA波形:
到此,可以看出I2C調(diào)試時(shí),關(guān)于驅(qū)動(dòng)電流,軟硬件上面都要仔細(xì)確認(rèn)。
END
評(píng)論