I2C總線是由Philips公司開發的兩線式串行總線,用于連接微控制器和外圍設備。I2C總線支持多主控模式,任何能夠進行發送和接收的設備都可以成為主設備。主控能夠控制數據的傳輸和時鐘頻率,在任意的時刻只能有一個主控。
組成I2C總線的兩個信號為數據線SDA和時鐘線SCL。為避免總信號線的混亂,要求各設備連接到總線的輸出端必須是開漏輸出或集電極開路輸出的結構。根據這種結構的“線與”邏輯,I2C總線上任意器件輸出低電平都會使相應總線上的信號線變低。總線空閑時,上拉電阻使SDA和SCL線都保持高電平。
在實際設計中,需要知道I2C總線的兩個特征:
1、串行數據SDA和串行時鐘SCL線都是雙向線路,通過一個電流源或上拉電阻Rp連接到正的電源電壓+VDD,當總線空閑時這兩條線路都是高電平。連接到總線的器件輸出級必須是漏極開路或集電極開路才能執行線與的功能。I2C總線上數據的傳輸位速率,在標準模式下可達100kbit/s,快速模式(F/S)下可達400kbit/s,高速模式(Hs)下可達3.4Mbit/s。
2、連接到相同總線的IC數量只受到總線的最大電容400pF限制。如果總線線路的負載電容升高,位速率將逐漸下降。
總線規定使用非標準電源電壓,不遵從I2C總線系統電平規定的器件,必須將輸入電平連接到有上拉電阻Rp的VDD電壓。總線輸入低電平噪聲容限是0.1VDD,高電平噪聲容限是0.2VDD。VOL定義為在漏極開路或集電極開路時,有3mA下拉電流時的低電平輸出電壓,最大值取VOLmax=0.4V,這個3mA是指定的最小下拉電流。在一定范圍內,下拉電流越大,驅動能力越強。Rpmin是電源電壓的函數,即電源電壓越高,Rpmin值越高。Rpmax是負載電容的函數,總線電容越大,即負載越大,Rpmax越低。
總線電容是線路連接和管腳的總電容,規定總線輸入電流的最大值是10uA,同時規定了上升時間tr的最大值,由于高電平要求0.2VDD的噪聲容限,這個輸入電流限制了Rp的最大值。總的高電平輸入電流是Rpmax的函數。在電源電壓一定時,總的高電平輸入電流越大,Rpmax越小。總線的負載電容和上拉電阻的值決定了信號的上升時間tr,規定trmax=300ns。時間常數等于源端阻抗和總線電容的乘積,上拉電阻太大會造成時間常數過大,從而使上升沿的斜率變小,增大了總線上升時間。
NXP緊跟性能發展趨勢,I2C速度由100Kbps全面提升到400K,1M和3.4M;NXP開發出大量的集線器,中繼器,多路復用器和開關等器件,將I2C技術從芯片間二線通訊的簡單應用發展到功能強大而且全面的控制網絡。
I2C中繼器PCA9515A可以增強總線驅動能力,突破400pF容限,增加節點數目,數據、時鐘可雙向傳輸,對兩邊分布電容起到隔離作用,中繼器前后級可以在不同的I2C速率下工作;I2C擴展器P82B96具有很寬的工作電壓,具有很強的總線容性負載能力,可以實現1000米的遠距離傳輸。熱插拔緩沖器PCA9512A允許熱插拔板卡而不影響主板數據和時鐘的運行;在主板I2C總線出現停止位或處于空閑狀態前禁止子卡和主板之間通信。出色的熱插拔功能,應用于系統內部及板機之間的通訊,連接十分可靠、簡潔。
|