飛淩OK6410之IIC的學習1

來源:互聯網
上載者:User

通過講解一個利用IIC讀取ROM資料的例子來學習IIC。

一、首先瞭解一下預備知識:

1、IIC匯流排介紹

       IIC(Inter-Integrated Circuit,內建整合電路匯流排)匯流排是一種由PHILIPS公司開發的兩線式串列匯流排,用於串連微控制器及其外圍裝置。IIC匯流排佔用的空間非常小,減少了電路板的空間和晶片管腳的數量,這對於緩解嵌入式系統資源少的缺陷有很大好處。匯流排的長度可高達25英尺,匯流排上的資料的傳輸速率在標準模式下達到100kb/s,在快速模式下可以達到400kb/s,在高速模式下達到3.4Mb/s。IIC匯流排支援多主控,其中任何能夠進行發送和接收的裝置都可以成為主匯流排。

       2、IIC匯流排工作原理

       IIC 匯流排遵從同步串列傳輸協議,即各位串列(一位接一位)發送,由時鐘(clock )線指示讀資料(data )線的時刻。每個資料包前有一個地址,以指示由哪個器件來接收該資料。

       IIC採用兩根I/O線:一根時鐘線(SCL串列時鐘線),一根資料線(SDA串列資料線),實現全雙工系統的同步資料通訊。IIC匯流排通過SCL/SDA兩根線使掛接到匯流排上的器件相互進行資訊傳遞。在資訊的傳輸過程中,I2C匯流排上並接的每一模組電路既是主控器(或被控器),又是發送器(或接收器),這取決於它所要完成的功能。

       SDA和SCL都是雙向線路,各通過一個電流源或上拉電阻串連到正的電源電壓。當匯流排空閑時這兩條線路都是高電平,串連到匯流排的器件輸出必須是漏極開路或集電極開路才能執行線與的功能。

       IIC在資料轉送過程總共產生三種訊號:開始訊號、結束訊號和應答訊號。


       開始訊號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送資料。

       結束訊號:SCL為高電平時,SDA由低電平向高電平跳變,結束傳送資料。

       應答訊號:接收器在接收到8bit資料後,向發送器發出特定的低電平脈衝,表示已收到資料。CPU向受控單元發出一個訊號後,等待受控單元發出一個應答訊號,CPU接收到應答訊號後,根據實際情況作出是否繼續傳遞訊號的判斷。若未收到應答訊號,由判斷為受控單元出現故障。

       IIC資料轉送的兩種模式:主裝置發送從裝置接收和從裝置發送主裝置接收,這兩種模式都需要主機發送開始訊號和結束訊號,應答訊號由接收器產生。從裝置的地址一般是1或2個位元組,用於區分串連在同一IIC上的不同器件。

       3、S3C6410的IIC介面

       S3C6410的IIC匯流排介面有四種操作模式:主控制器發送模式、主控制器接收模式、從屬器發送模式和從屬器接收模式。

       當一個開始訊號產生後,IIC匯流排獲得繁忙訊號,停止訊號將使IIC匯流排空閑。在一個開始訊號後,主控制將發送一個從屬器地址來通知從屬器裝置。一個位元組的地址域包含7位地址和1位傳輸方向指標,如果為0則表示寫操作(發送操作),為1是讀操作(接收操作)。

       在SDA線上的每一個位元組長度必須是8位,每一個位元組後面跟隨一個應答訊號ACK位(acknowledgement)。ACK脈衝在SCL線的第9個時鐘產生。發送器在收到ACK訊號後,置SDA為高電平來釋放SDA線,接收器在ACK發送時鐘期間,置SDA為低電平,以使SDA在第9個SCL時鐘的高電平期間保持低位。

       在發送模式下,當發送資料時,IIC匯流排介面保持等待,直到寫入新資料到IICDS寄存器。在資料寫入IICDS之前,SCL一直保持低電平,之後將被釋放。6410支援通過中斷來判斷資料發送是否完成,完成後才可以繼續寫新資料到IICDS寄存器進行發送。

       在接收模式下,當接收資料時,IIC匯流排介面保持等待,直到IICDS寄存器被讀取。在資料從寄存器讀出之前,SCL保持低電平,之後才被釋放。同樣6410支援通過中段來判斷資料接收是否完成,完成後便可以繼續從IICDS中讀取新的資料。

       S3C6410處理器有4個寄存器來控制IIC匯流排的操作:IIC匯流排控制寄存器(IICCON)、IIC匯流排控制/狀態寄存器(IICSTAT)、IIC匯流排發送/接收資料移位寄存器(IICDS)和IIC匯流排地址寄存器(IICADD)。關於各個寄存器的說明請參看手冊

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.