IIC(Inter-Integrated Circuit)的硬件連接
1 對于IIC主機總線上是可以掛1個或者多個從機設備。
2 每個從機是通過其各自的地址來識別。
IIC的數據和控制線(SDA和SCL)
1 SCL(Serial clock),時鐘線,用于同步數據傳輸時序,是一個方波,由主機來驅動,其決定了數據傳輸的快慢。
2 SDA(Serial data),數據線,用于傳輸數據,
IIC尋址
1 通常對于一個7bit的地址,包含1個額外的讀寫位。
2 對于IIC總線上的每一個設備都有一個獨立的地址。
3 重復的地址會導致通訊錯誤。
4 對于一些設備會有PIN管腳用來配置不同的IIC地址。
IIC通訊
START,起始位,由主機初始化,SCL高的時候拉低SDA。
STOP,停止位,SCL高的時候,主機釋放SDA PIN腳。
ACK(acknowledge),每一次傳輸一個單字節(jié)或者8bits之后,會跟一個SCL的脈沖,這個acknowledge信號是從機應答主機的信號,表示ACK信號之前的那個字節(jié)通訊是成功的。
如下是一個標準的IIC寫時序:
Start->MSB->…LSB->ACK->Stop
對于有效數據傳輸:
1 在時鐘信號SCL為高的整個脈寬內SDA必須保持穩(wěn)定。
2 只有在SCL脈沖為低的時候,SDA才被允許高低切換,如果SDA在SCL為高的時候變化,則會被認為是Start/Stop。
IIC的電路設計
1 對于3.4Mbps速率以下的IIC,是漏極開路(Open Drain)的結構,此時需要外部上拉電阻,上拉電阻的選擇需要考慮上拉之后的rise/fall的時間是否滿足其時序要求同時也需要考慮功耗。上拉電阻越大,功耗越小,但rise/fall時間越長,會影響通訊;上拉電阻越小,功耗越大,但rise/fall時間短,會降低通訊的誤碼率。
2 對于3.4Mbps速率以上的IIC,其是推挽(Push Pull)的結構,其rise/fall的時間就完全取決于主機/從機設備內部的push/pull的能力。需要注意的是,不同設備之間的通訊需要選擇同樣結構的IIC。
-
上拉電阻
+關注
關注
5文章
360瀏覽量
30643 -
SDA
+關注
關注
0文章
124瀏覽量
28170 -
SCL
+關注
關注
1文章
239瀏覽量
17111
發(fā)布評論請先 登錄
相關推薦
評論