看圖識I2C
2017-04-14 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
I2C接口標(biāo)準(zhǔn)出來超過20年了,相關(guān)的軟件,FPGA和芯片設(shè)計(jì)都非常成熟,在各種產(chǎn)品上廣泛應(yīng)用。整理了一下幾個圖片,供自己和大家萬一不幸需要調(diào)試的時(shí)候參考,有了這個就再也不用擔(dān)心I2C了。
I2C協(xié)議中的數(shù)據(jù)傳輸時(shí)序圖:
SCL是時(shí)鐘,SDA承載的是數(shù)據(jù)。當(dāng)SDA從1變動到0,而SCL還是1時(shí),表示開始數(shù)據(jù)傳輸。接下來的7位,就是設(shè)備的地址。緊接著的是讀寫標(biāo)志,其為1時(shí)是讀取,為0則是寫。如果I2C總線上存在著和請求的地址相對應(yīng)的設(shè)備,則從設(shè)備會發(fā)送一個ACK信號通知主設(shè)備,可以發(fā)送數(shù)據(jù)了。接到ACK信號后,主設(shè)備則發(fā)送一個8位的數(shù)據(jù)。當(dāng)傳輸完畢之后,SCL保持為1,SDA從0變換到1時(shí),標(biāo)明傳輸結(jié)束。
從這個時(shí)序圖中可以看到,SCL很重要,并且哪個時(shí)鐘沿是干嘛的,都是確定好的。比如,前面7個必定是地址,第8個是讀寫標(biāo)志,數(shù)據(jù)傳輸必須是8位,必須接個ACK信號等等。
前面的時(shí)序圖并沒有標(biāo)明數(shù)據(jù)傳輸?shù)姆较?我們現(xiàn)在看看寫操作的數(shù)據(jù)流向:
網(wǎng)格的是主設(shè)備發(fā)送的,白色格子是從設(shè)備發(fā)送的。從圖示中可以看到,對于寫操作,從設(shè)備都只是發(fā)送ACK進(jìn)行確認(rèn)而已。
而讀操作的數(shù)據(jù)流向,就有所不同,如圖:
這時(shí)候,從設(shè)備除了發(fā)送ACK以外,緊跟著的還有數(shù)據(jù)。
我們用示波器來查看波形圖,以便于理解。
將示波器的X和Y分別接到SDA和SCL,得到波形并分析如圖:
有對比才知道差異,最后上一張異常的波形。找到問題在哪里了嗎?
沒有ACK響應(yīng)。很大可能是地址錯了,注意上圖的地址0x30是7位地址,這樣8位地址是0x60?;蛘邚脑O(shè)備不在位。
相關(guān)標(biāo)簽搜索:看圖識I2C HFSS電磁分析培訓(xùn) HFSS培訓(xùn)課程 HFSS技術(shù)教程 HFSS無線電仿真 HFSS電磁場仿真 HFSS學(xué)習(xí) HFSS視頻教程 天線基礎(chǔ)知識 HFSS代做 天線代做 Fluent、CFX流體分析 HFSS電磁分析