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