這是最普通的I2C時序,如果你不需要設計I2C模塊,只是單純應用,只需要讀懂幾個最關鍵的信息,包括:VIL, VIH,即能被器件識別的邏輯低電平最大值以及能被器件識別的邏輯高電平最小值。 另外就是看你圖片中下面部分的時序圖。那三個時序圖告訴你不同的信息:第一圖是告訴你當SCL為高時,SDA由高變低會被識別為通信的起始信號;而正常通信時,SDA只允許在SCL為低時變化;如果SCL為高時,SDA由低變高,則會被識別為通信結束信號。第二圖是告訴你,I2C通信是數據大端傳送的,也就是數據是最高位最先傳送,另外告訴你傳送8位數據之后,會有一個ACK的信號,來判斷通信是否正常。一般來說ACK是由slave把數據線拉低,如果ACK信號為高,說明slave壓根沒響應。
更多的I2C知識,你可以看飛利浦的I2C datasheet。 |