IIC(Inter-Integrated Circuit,即集成電路總線)信號線需要增加上拉電阻,這主要是因為IIC的IO(輸入輸出)設計采用了開漏(Open-Drain)輸出方式。開漏輸出方式在IIC通信中扮演著至關重要的角色,而上拉電阻的加入則是實現(xiàn)這種通信方式有效性和可靠性的關鍵。以下是對此現(xiàn)象的介紹:
一、IIC通信與開漏輸出
IIC通信協(xié)議是一種廣泛應用的串行通信協(xié)議,由飛利浦公司(現(xiàn)被恩智浦電子收購)于1982年推出。它主要用于集成電路之間的通信,具有簡單、高效的特點。IIC通信通過兩條總線線路進行:串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)。這兩條線路的電平變化用于傳輸數(shù)據(jù)和時鐘信號。
在IIC通信中,設備的IO端口采用開漏輸出方式。開漏輸出與推挽輸出不同,它只能輸出低電平(即將線路拉低),而不能直接輸出高電平。這意味著,當沒有設備主動拉低SDA或SCL線時,這兩條線路需要依賴外部電路來維持高電平狀態(tài)。這正是上拉電阻發(fā)揮作用的地方。
二、上拉電阻的作用
- 確保線路默認為高電平 :
- 如前所述,開漏輸出無法直接輸出高電平。因此,在沒有設備主動拉低SDA或SCL線時,需要上拉電阻將這些線路拉高到電源電壓(通常是Vcc或VDD),從而確保線路默認為高電平狀態(tài)。
- 支持數(shù)據(jù)傳輸和時鐘同步 :
- 在IIC通信中,SDA線上的數(shù)據(jù)位是在SCL為低電平時改變,在SCL為高電平時被采樣。上拉電阻確保了SDA線在SCL為高電平時能夠保持穩(wěn)定的狀態(tài),這樣接收設備才能正確地讀取數(shù)據(jù)。
- 同時,SCL線作為時鐘信號線,其高電平狀態(tài)也由上拉電阻維持,確保了時鐘信號的穩(wěn)定性和同步性。
- 支持ACK信號 :
- 接收設備在接收到數(shù)據(jù)后,需要發(fā)送ACK(Acknowledge)信號來確認數(shù)據(jù)已被正確接收。ACK信號是通過將SDA線拉低來實現(xiàn)的。上拉電阻的存在使得接收設備能夠將SDA線從高電平拉低到低電平,從而發(fā)送ACK信號。
- 解決總線競爭 :
- 在多主機IIC總線系統(tǒng)中,如果有多個設備試圖同時控制總線,可能會導致總線競爭。上拉電阻有助于解決這種情況下的競爭,因為當一個設備釋放總線時,其他設備可以接管并驅動總線。
- 限制電流和保護設備 :
- 當設備將SDA或SCL線拉低時,電流會通過上拉電阻流向地。選擇適當?shù)纳侠娮柚悼梢源_保電流不會過大,從而保護設備免受損壞。
- 提高信號完整性和噪聲抑制能力 :
- 上拉電阻與線路的電容(主要是寄生電容)形成RC充電回路,有助于濾除高頻噪聲,提高信號完整性。同時,它還能減少信號反射和其他信號完整性問題。
三、上拉電阻的選擇
選擇合適的上拉電阻值對于IIC通信的可靠性至關重要。以下是選擇時需要考慮的幾個因素:
- 上升時間 :
- 電阻越大,上拉至高電平的速度就越慢。這會導致數(shù)據(jù)傳輸速率受限。因此,需要根據(jù)IIC總線的最大頻率來確定合適的上升時間,并據(jù)此選擇阻值。
- 最大灌電流能力 :
- IIC總線規(guī)范定義了每個總線上的設備在拉低線路時能夠承受的最大電流(灌電流)。上拉電阻的阻值應確保即使所有掛載的設備同時嘗試將線路拉低,也不會超過任何單個設備的最大灌電流規(guī)格。
- 功耗考量 :
- 電阻上會持續(xù)消耗一定的功率(P = I2R),盡管這部分功耗通常很小,但在低功耗設計中仍需考慮。較大的上拉電阻可以減小靜態(tài)功耗,但也要平衡數(shù)據(jù)傳輸速度的需求。
- 設備數(shù)量 :
- IIC總線上的設備增加也會適當?shù)臏p小電阻阻值以保證信號完整性。
常見的上拉電阻阻值范圍從1kΩ到10kΩ。對于標準速率為100kHz的IIC通信,通常選擇4.7kΩ或10kΩ是比較合適的。對于快速模式(400kHz)或更快的高速模式(3.4MHz),可能需要降低阻值到幾千歐姆,以保證信號的快速上升沿。
四、結論
綜上所述,IIC信號線需要增加上拉電阻,主要是因為IIC的IO采用了開漏輸出方式。上拉電阻在IIC通信中發(fā)揮著至關重要的作用,它確保了線路默認為高電平、支持數(shù)據(jù)傳輸和時鐘同步、支持ACK信號、解決總線競爭、限制電流和保護設備、提高信號完整性和噪聲抑制能力。因此,在設計和使用IIC總線時,必須合理選擇和配置上拉電阻。
-
IO
+關注
關注
0文章
485瀏覽量
40181 -
上拉電阻
+關注
關注
5文章
366瀏覽量
31052 -
IIC
+關注
關注
11文章
306瀏覽量
39156 -
信號線
+關注
關注
2文章
181瀏覽量
21868 -
串行時鐘
+關注
關注
1文章
5瀏覽量
10517
發(fā)布評論請先 登錄
如果信號線是3.3V,給1.8V的上拉電壓,最后輸出的是多少伏?
SD卡的時鐘線為什么可以不加上拉電阻呢?是因為時鐘永遠是輸出信號嗎?為什么輸出信號就可以不加上拉電阻
IIC總線的相關資料推薦
IIC設備需要的線挺長如何操作?
使用IO PORT進行IIC通訊
IIC是什么?51單片機IIC的詳細資料說明

【51單片機】IIC總線

評論