結合單片機用匯編實現I2CBUS總線協議
I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優點。PHILIPS公司早在十幾年前就推出了I2C串行總線,用于連接微控制器及其外圍設備。它具備多主機系統所需的包括裁決和高低速設備同步等功能高性能串行總線。
I2C總線產生于在80年代,最初為音頻和視頻設備開發,如今主要在服務器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬盤、網絡、系統溫度等多個參數,增加了系統的安全性,方便了管理。
I2C總線特征
1、只要求兩條總線線路:一條串行數據線SDA,一條串行時鐘線SCL;
2、每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機/從機關系軟件設定地址,主機可以作為主機發送器或主機接收器;
3、它是一個真正的多主機總線,如果兩個或更多主機同時初始化,數據傳輸可以通過沖突檢測和仲裁防止數據被破壞;
4、串行的8 位雙向數據傳輸位速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s;
5、連接到相同總線的IC 數量只受到總線的最大電容400pF 限制。
I2C總線硬件結構
I2C串行總線有兩根信號線,一根是雙向的數據線SDA,另一根是時鐘線SCL。所有接到I2C總線睥設備的串行數據SDA都接到總線的SDA線,各設備的時鐘線SCL接到總線的SCL。典型的I2C總線結構如圖1。
為了避免總線信號的混亂,要求各設備連接到總線的輸出端必須是開漏輸出或集電極開路輸出的電路結構。設備與總線的接口電路如圖2所示。
I2C總線數據傳送率可達每秒十萬位,高速方式可高達每秒四十萬位。總線上允許連接設備數以總線上的電容量不超過400pF為限。
評論