IIC詳解
IIC:Inter-Integrated Circuit (內部集成電路總線)
IIC數(shù)據線是雙向的
· 主機發(fā)送數(shù)據到7位地址從機的時序圖:
起始信號:在無數(shù)據通信時,IIC總線的SCL和SDA都是高電平;當主機要發(fā)送數(shù)據時,SDA在SCL為高電平時拉低發(fā)送起始信號
從機地址:而后,主機在SDA上發(fā)出從機的7位地址(高位在前、低位在后)。這里只是以7位地址從設備為例,目前IIC總線支持7位地址和10位地址兩種設備
寫標志:起始信號后的首字節(jié)的最低位(第8位)是讀/寫信號,其中0表示寫數(shù)據到從機、1表示由從機讀數(shù)據
應答信號:當從機接收到主機發(fā)出的從機地址后,與自己的地址做比較,若發(fā)現(xiàn)呼叫的是自己,則在SCL的第9個時鐘信號時拉低SDA,以表示應答(ACK)
數(shù)據傳輸:主機收到應答信號后,接下來發(fā)送要傳輸?shù)臄?shù)據給從機,每次從機收到數(shù)據后,發(fā)送一個應答信號確認收到數(shù)據。
停止信號:數(shù)據發(fā)送完成之后,主機發(fā)出停止信號,告訴從機數(shù)據通信結束。
· 主機從7位地址從機讀取數(shù)據的時序圖:
起始信號 → 從機地址 → 讀標志"1" → 從機應答 → 從機發(fā)送數(shù)據 →主機應答 → … →從機發(fā)送數(shù)據 → 主機無應答 → 主機發(fā)送停止信號
· 完整的時序圖:
電氣特性:
· 起始位:當SCL=1 時,SDA上有下降沿
· 終止位:當SCL=1 時,SDA上有上升沿
起始位之后總線被認為忙,即有數(shù)據在傳輸。
· SCL =1 時,SDA的數(shù)據必須保持穩(wěn)定,否則由于起始位和終止位的特性,SDA上數(shù)據發(fā)生改變將被識別成起始位或終止位。
· SCL=0 時,SDA上的數(shù)據才允許改變
停止位之后總線被認為閑,空閑狀態(tài)時SDA和SCL都為高電平。
當一個字節(jié)發(fā)送或接收完畢需要CPU干預的時候,SCL一直保持低電平
起始位和終止位都是主設備產生的,主設備為數(shù)據傳輸產生時鐘信號:
主設備在傳輸每個數(shù)據位時都會產生一個時鐘脈沖





