1. 常用通信匯流排---IIC / I2C
引言
Inter-Integrated Circuit bus,集成電路間匯流排,簡稱IIC或I2C,是電子、通信專業學生必學的匯流排。因其開放、簡單、穩定等優勢,在數據量小、通信速率要求不高的場合被廣泛應用。幾乎每台電腦的內存、硬碟、手機的攝像頭、EEPROM存儲以及嵌入式系統中的各種感測器都使用到了I2C。
目錄
一、基本特點
1.1 硬體結構
1.2 IIC設備
1.3 主從設備
1.4 上拉電阻
1.5 通信速率
二、波形解讀
2.1 空閑狀態
2.2 起始信號
2.3 通信狀態
2.4 應答信號
2.5 停止信號
2.6 完整讀/寫過程
三、信號質量
3.1 邏輯電平的幅值
3.2 時序要求
四、設計要點
4.1 上拉電阻選擇
4.2 電平轉換設計
4.3 匹配電阻預留
4.4 信號線抗干擾
五、常見故障
5.1 掛死
5.2 信號干擾
一、基本特點
1.1 硬體結構
典型的I2C匯流排由兩條信號線組成,分別是時鍾線SCL和數據線SDA,並外接上拉電阻。
1.2 IIC設備
IIC設備有唯一的7位地址,理論上每條匯流排上的IIC設備最多為127個。
1.3 主從設備
一條匯流排上允許有多個主設備,但同一時間只能有一個主設備使用匯流排通信。
1.4 上拉電阻
上拉電阻使介面可輸出高電平,使匯流排在無信號時保持高電平狀態。
1.5 通信速率
I2C通信速率由使用匯流排的設備決定,有標准、快速、高速和超快速四種模式。
二、波形解讀
2.1 空閑狀態
IIC匯流排空閑時,SDA和SCL均處於高電平。
2.2 起始信號
起始信號為將SDA從高電平拉低。
2.3 通信狀態
通信狀態時,SCL低電平時SDA狀態可切換。
2.4 應答信號
應答信號為SCL高電平時SDA狀態變化。
2.5 停止信號
停止信號為SCL高電平時,將SDA從低電平轉換成高電平。
2.6 完整讀/寫過程
完整讀/寫過程包含起始信號、地址/數據傳輸、應答和停止信號。
三、信號質量
衡量I2C信號質量主要從邏輯電平的幅值和時序要求兩個維度。
3.1 邏輯電平的幅值
信號的高低電平有明確對應的電壓值,信號的上下限值需在器件手冊要求的范圍內。
3.2 時序要求
評估I2C信號質量,關注時鍾/數據的上升和下降時間、時鍾高/低電平周期等指標。
四、設計要點
4.1 上拉電阻選擇
上拉電阻需在1k-10k之間選擇,設備多、匯流排長需減小阻值,設備少、匯流排短則可選擇更大電阻值。
4.2 電平轉換設計
採用集成電平轉換晶元或MOS管將不同電壓等級的I2C器件隔離開。
4.3 匹配電阻預留
電路板上預留匹配電阻位置,減少信號反射,增強信號質量。
4.4 信號線抗干擾
遠離電源和高頻信號線,做好地隔離,使用屏蔽層增強抗干擾能力。
五、常見故障
5.1 掛死
匯流排上的設備出現故障或通信邏輯混亂,導致匯流排無法正常通信。
5.2 信號干擾
I2C匯流排受到干擾,信號波形異常,導致通信失敗。
2. UART, SPI, IIC的詳解及三者的區別和聯系
UART、SPI、IIC是常見的數據傳輸標准,它們各自有獨特的特性和應用場景。首先,UART,即通用非同步收發器,常用於設備調試,需要至少三根線:RX(接收)、TX(發送)和GND。它的通信方式是全雙工,但若PC與單片機通信,還需電平轉換晶元。數據傳輸通常以5、6、7、8位幀結構進行,且有起始、停止位和可能的校驗位。RTS/CTS流控可實現握手,但通常在調試中較少使用。
SPI,同步外設介面,由摩托羅拉開發,適用於與慢速外設設備如EEPROM、ADC等通信。它是一種全雙工同步通信,通過SDI、SDO、SCK和CS信號實現,主設備控制數據傳輸,支持多個從設備。
IIC,也稱I2C,是一種半雙工、兩線(SCL和SDA)介面,適合近距離、非頻繁的設備間通信。數據傳輸時需先發送地址,每個設備有唯一的地址。I2C操作需嚴格遵守時序,對口線連接時可能需要額外的延時和保護措施。
速率方面,SPI的速度范圍較廣,從400K到幾兆不等,而RS232通常最大115200bps,IIC一般為400K,CAN可達1M。傳輸距離上,RS232適用於短距離(15米),SPI和IIC用於晶元間通訊,而CAN則因抗干擾能力強,可達到10公里以上。