實際工程項目中,有很多地方都會用到I2C總線通信,比如說24C02存儲、傳感器接口等,能使用I2C這項技能,就成為了我們工程師日常必備的武器,那么我們就來詳細(xì)的說說I2C。
I2C是一種簡單的雙向二線制同步串行總線。只需要兩根線即可在連接于總線上的器件之間傳送信息,一根SCL時鐘線,一根就是SDA數(shù)據(jù)。需要注意的是SDA它是一個雙向傳輸?shù)木€,主機(jī)向從機(jī)發(fā)送信號通過SDA把數(shù)據(jù)送出去,從機(jī)向主機(jī)發(fā)送信號也是從SDA線把數(shù)據(jù)送出來。
I2C也可以一個一,也可以一對多,每個連接到總線的外圍設(shè)備都有一個獨立的地址,主機(jī)可以通過該地址來訪問不同設(shè)備。主機(jī)可通過SDA線發(fā)送設(shè)備地址查找從機(jī)。
因為I2C 通信IO口輸出結(jié)構(gòu)都是配置為漏極開路或集電極開路輸出。所以時鐘線和數(shù)據(jù)線必須外部都接上拉電阻,當(dāng)一對多輸出的時候,很多GPIO口會連接在同一根線上,可能會存在某個GPIO輸出高電平,另一個GPIO輸出低電平的情況。如果使用推挽輸出,你會發(fā)現(xiàn)這個GPIO的VCC和另一個GPIO的GND接在了一起,也就是短路了。如果換成開漏輸出VCC和GND之間多了個電阻,這樣電路就是安全的。
上拉電阻一般取值在1K-10K之間,上拉電阻的取值和通信速率會有一定的關(guān)系,如果上拉電阻的取值太大,那么信號的上升沿、下降沿就會很緩,會影響通信速率,這個具體的看應(yīng)用的通信速率去測試波形,如果取的太小了,功耗很大,取的太大了,信號的上升沿就會慢,影響通信速率。
一般情況下I2C標(biāo)準(zhǔn)模式最高傳輸速率100Kbit/s,高速模式最高傳輸速率400Kbit,當(dāng)然也有用軟件模擬I2C的時序來進(jìn)行通信的,這個速率就需要自己去掌控測試了,說白了就是我們對著時序圖,抄一個同樣的波形出來。只要遵守同樣的約定,按照時序圖對應(yīng)管腳拉高拉低就可以讀寫數(shù)據(jù)了。
在標(biāo)準(zhǔn)協(xié)議中區(qū)分啟動、停止、應(yīng)答、等動作,下面我們來一起學(xué)習(xí)一下I2C的標(biāo)準(zhǔn)協(xié)議。
當(dāng)檢測到SDA線上為下降沿,SLC線上為高電平,就表示收到了啟動信號,當(dāng)檢測到SDA線上為上升沿,SLC線上為高電平,就表示收到了停止信號。
收到啟動信號之后就可以開始數(shù)據(jù)傳輸,收到停止信號表示幀數(shù)據(jù)傳輸完畢。在傳輸過程中,時鐘線SCL為高電平的時候,數(shù)據(jù)線SDA必須保持穩(wěn)定,不能改變電平狀態(tài),這樣才能有效傳輸,在時鐘線SCL為低電平的時候,數(shù)據(jù)線SDA可以改變狀態(tài),即:在SCL為高電平的時候,數(shù)據(jù)線SDA如果為高,那么傳送的就是1,如果SDA為低,那么傳送的就是0,在SCL為低電平的時候,你可以改變數(shù)據(jù)可以把數(shù)據(jù)變?yōu)?/1(圖中紅框交叉就表示數(shù)據(jù)的改變,從1變?yōu)? 從0變?yōu)?所以有了一個上升沿或者一個下降沿)。
在SCL的第9個時鐘位,對應(yīng)的SDA數(shù)據(jù)為應(yīng)答數(shù)據(jù),應(yīng)答數(shù)據(jù)是有方向的,可以是主設(shè)備應(yīng)答,可以是從設(shè)備應(yīng)答,應(yīng)答不是固定的,可以是低電平為應(yīng)答,也可以是高電平應(yīng)答,高應(yīng)答或者低應(yīng)答是由通信協(xié)議決定的,只要約定一個信號作為應(yīng)答就可以了,主機(jī)給從機(jī)發(fā)送數(shù)據(jù),從機(jī)接到了應(yīng)答主機(jī),從機(jī)給主機(jī)發(fā)送數(shù)據(jù),主機(jī)接到了,主機(jī)就要應(yīng)答,這樣就形成了一個閉環(huán)。
以上就是一個標(biāo)準(zhǔn)的IIC通信標(biāo)準(zhǔn)規(guī)范,你清楚了嗎?
責(zé)任編輯:haq
-
通信
+關(guān)注
關(guān)注
18文章
6084瀏覽量
136538 -
總線
+關(guān)注
關(guān)注
10文章
2908瀏覽量
88484 -
I2C
+關(guān)注
關(guān)注
28文章
1495瀏覽量
124794
原文標(biāo)題:你知道I2C為什么要接上拉嗎?
文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機(jī)匠人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
SMA連接器的國家標(biāo)準(zhǔn)規(guī)范
![SMA連接器的國家<b class='flag-5'>標(biāo)準(zhǔn)規(guī)范</b>](https://file1.elecfans.com/web3/M00/00/63/wKgZO2dJEzGAcf0LAADPdInvQx4260.png)
MHMF082L32N-MINAS A6 系列 標(biāo)準(zhǔn)規(guī)格書 松下
![MHMF082L32N-MINAS A6 系列 <b class='flag-5'>標(biāo)準(zhǔn)規(guī)</b>格書 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
FMR52-AAECAABPCJK+AK四線制雷達(dá)料位計信號檢測標(biāo)準(zhǔn)規(guī)范
物聯(lián)網(wǎng)設(shè)備的標(biāo)準(zhǔn)與規(guī)范
MHMF042L32N-MINAS A6 系列 標(biāo)準(zhǔn)規(guī)格書 松下
![MHMF042L32N-MINAS A6 系列 <b class='flag-5'>標(biāo)準(zhǔn)規(guī)</b>格書 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
MHMF041L32N-MINAS A6 系列 標(biāo)準(zhǔn)規(guī)格書 松下
![MHMF041L32N-MINAS A6 系列 <b class='flag-5'>標(biāo)準(zhǔn)規(guī)</b>格書 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
移動電源的測試方法與測試標(biāo)準(zhǔn)規(guī)范
![移動電源的測試方法與測試<b class='flag-5'>標(biāo)準(zhǔn)規(guī)范</b>](https://file1.elecfans.com/web2/M00/F1/5B/wKgaomZyoSGAPnnrAAFY1yk8TqI019.png)
MHMF022L32N-MINAS A6 系列 標(biāo)準(zhǔn)規(guī)格書 松下
![MHMF022L32N-MINAS A6 系列 <b class='flag-5'>標(biāo)準(zhǔn)規(guī)</b>格書 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
MHMF021L32N-MINAS A6 系列 標(biāo)準(zhǔn)規(guī)格書 松下
![MHMF021L32N-MINAS A6 系列 <b class='flag-5'>標(biāo)準(zhǔn)規(guī)</b>格書 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
MHMF011L32N-MINAS A6 系列 標(biāo)準(zhǔn)規(guī)格書 松下
![MHMF011L32N-MINAS A6 系列 <b class='flag-5'>標(biāo)準(zhǔn)規(guī)</b>格書 松下](https://file1.elecfans.com/web2/M00/A9/42/wKgaomUwmYKAXjWEAAAsCdY_muE289.png)
IEEE標(biāo)準(zhǔn)規(guī)范1149(JTAG)帶8位通用主機(jī)接口的TAP主控器SN54LVT8980A SN74LVT8980A數(shù)據(jù)表
![IEEE<b class='flag-5'>標(biāo)準(zhǔn)規(guī)范</b>1149(JTAG)帶8位通用主機(jī)接口的TAP主控器SN54LVT8980A SN74LVT8980A數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RS-485通信標(biāo)準(zhǔn)CN485A-E收發(fā)器應(yīng)用于安防設(shè)備中
![RS-485<b class='flag-5'>通信標(biāo)準(zhǔn)</b>CN485A-E收發(fā)器應(yīng)用于安防設(shè)備中](https://file.elecfans.com/web2/M00/40/08/poYBAGJrXIKATi_nAAAy6wq1EJw320.jpg)
M12航空插座8芯拉力標(biāo)準(zhǔn)規(guī)范要求是什么
![M12航空插座8芯拉力<b class='flag-5'>標(biāo)準(zhǔn)規(guī)范</b>要求是什么](https://file1.elecfans.com/web2/M00/C6/B6/wKgaomYCcWGASt4LAADMVA1Db0o903.png)
評論