1.IIC接口原理
內部集成電路總線(Inter Integrated Circuit BUS, IIC BUS),用于連接控制器及其外圍設備。是具備總線仲裁和高地速設備同步等功能的高性能多主機總線。直接用導線連接設備,通信時無需片選信號。
IIC總線有如下操作模式:主發送模式、主接受模式、從發送模式、從接受模式。
2.通用傳輸過程及格式
起始條件:當IIC接口處于從模式時,要想數據傳輸,必須檢測SDA線上的起始條件,起始條件由主器件產生。當SCL信號為高時,SDA產生一個由高變低的電平變化,即產生一個啟動信號。當IIC總線上產生了啟動信號后,這條總線就被發出起始信號的主器件占用了,變成"忙"狀態。
停止條件:在SCL信號為高時,SDA產生一個由低變高的電平變化處,產生了一個停止信號。停止條件也由主器件產生,作用是停止與某個從器件之間的數據傳輸。當IIC總線上產生了一個停止條件,那么在幾個時鐘周期之后總線就被釋放,變成"閑"狀態。
當主器件送出一個起始條件,它還會立即送出一個從地址,來通知將與它進行數據通信的從器件。1個字節的地址包括7位的地址信息和一位的傳輸方向的指示位,如果第7位為0,表示馬上要進行寫操作;如果為1,表示馬上要進行讀操作。
數據傳輸格式:SDA線上傳輸的每個字節長度都是8位,每次傳輸中字節的數量是沒有限制的,在起始條件后面的第一個字節是地址域,之后每個傳輸的字節后面都有一個應答(ACK)位(即一幀共有9位)。傳輸中串行數據的MSB(字節的高位首先發送)。
應答信號:為了完成1個字節的傳輸操作,接收器應該在接受完1個字節之后發送ACK位到發送器,告訴發送器收到這個字節。ACK脈沖信號在SCL線上第9個時鐘處發出(前面8個時鐘完成1個字節的數據傳輸,SCL上的時鐘都是由主器件產生的)。當發送器要接受ACK脈沖時,應該釋放SDA信號線,即將SDA置高。接收器在接收完前面8位數據后,將SDA拉低。發送器探測到SDA為低,就認為接收器成功接收了前面的8位數據。
3.數據傳輸過程
開始:主設備產生啟動信號,標明數據傳輸開始。
地址:主設備發送地址信息,包含7位的從設備地址和1位的數據方向指示位(讀或寫位,表示數據流的方向)。
數據:根據指示位,數據在主設備和從設備之間進行傳輸。數據一般以8位傳輸,MSB先傳;具體能傳輸多少量的數據并沒有限制。接收器產生1位的ACK(應答信號)表明收到了每個字節。傳輸過程可以被中止和重新開始。
停止:主設備產生停止信號,結束數據傳輸。
4.總線競爭的仲裁
IIC總線上可以掛載多個器件,有時會發生兩個或多個主器件同時想占用總線的情況。IIC總線具有多主控能力,可對發生在SDA線上的總線競爭進行仲裁。
仲裁原則:當多個主器件同時想占用總線時,如果某個主器件發送高電平,而另一個主器件發送低電平,則發送電平與此時SDA總線電平不符的那個器件將自動關閉其輸出級。
總線競爭的仲裁在兩個層次上進行:首先是地址位的比較,如果主器件尋址同一個從器件,則進入數據位比較,從而確保競爭仲裁的可靠性。由于是利用IIC總線上的信息進行仲裁,不會造成信息的丟失。
客服QQ1:63355785 客服QQ2:61303373 客服QQ3:67399965 客服QQ4:2656068273 產品分類地圖
版權所有:保定市禾邦電子有限公司 保定市禾邦電子有限公司營業執照 備案號:冀ICP備12019441號-1
關鍵字:保定電子元器件 保定電子元件 電子元器件 電子元件