清华大学-曾鸣-《ARM微控制器与嵌入式系统》I2C总线(一)
I2C是一種雙向2線制同步串行通訊接口,是一類非常經(jīng)典的串行總線通訊,理解好I2C通訊會幫助理解USB通訊、以太網(wǎng)通訊中的握手、數(shù)據(jù)幀等環(huán)節(jié)。
I2C的發(fā)展歷史:
SPI串行通訊主要是由MOTOROLA公司提出的,MOTOROLA公司的半導(dǎo)體部門獨(dú)立出來成為后來的freescale。I2C通訊是由PHILIPS公司提出的,PHILIPS公司的半導(dǎo)體部門獨(dú)立出來成為后來的NXP。2015年NXP公司并購freescale公司。
I2C(Inter IC Bus)的基本特征:
- 串行
- 同步(主機(jī)產(chǎn)生時鐘線)
- 單端(時鐘和數(shù)據(jù)線上的信號是單端而非差分,用3.3V或5V代表邏輯1)
- 雙向(但非雙工,因此需要有協(xié)議規(guī)定數(shù)據(jù)傳輸?shù)姆较?#xff09;
- 主從(Mater/Slave)
- 總線(Bus)
I2C(Inter IC Bus)的電氣特性:
- SDA 串行數(shù)據(jù)線
- SCL 串行時鐘線
- 所有的SDA引腳,所有的SCL引腳,都是邏輯“與”的關(guān)系(只要總線上有任何一個主/從輸出邏輯0,則總線對地導(dǎo)通變?yōu)?電平)
- SDA和SCL都接了上拉電阻(Pull-Up)
- 總線空閑時,都是高電平(不消耗電流)
- 兼容性好,可以是5V或3.3V電平標(biāo)準(zhǔn)(需和主/從機(jī)支持的電平標(biāo)準(zhǔn)匹配)
如果將SDA和SCL的電平狀態(tài)看做是兩只小孩子玩的氫氣球,將氫氣球飄上去和拉下來的狀態(tài)看做是SDA或SCL線的先平狀態(tài),飄起來的時候?yàn)楦唠娖?#xff0c;拉下來的時候?yàn)榈碗娖健H缓髮⒗瓛燧d在SDA和SCL線上的主/從設(shè)備看做是拉著氫氣球的孩子們。平時我們是將這兩只氫氣球拴著,這時候兩只氫氣球都是飄起來的,即SDA和SCL都為高電平。這時候有一些小朋友過來,他們共同用兩只手分別牽著這兩只氫氣球。當(dāng)所有小孩都不往下拉的時候氫氣球是飄上去的(SDA或SCL為高電平),這時候小孩子們完全不用費(fèi)力氣(總線空閑時不消耗電流)。當(dāng)有一個小孩的任何一只手用力(SDA或SCL需消耗電流)往下拉時,對應(yīng)的氫氣球就會被拉下來(SDA或SCL為低電平)。
I2C(Inter IC Bus)的優(yōu)點(diǎn):
I2C(Inter IC Bus)的電平邏輯:
I2C(Inter IC Bus)的起始和停止信號:
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的清华大学-曾鸣-《ARM微控制器与嵌入式系统》I2C总线(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 12c缩容磁盘组,orac
- 下一篇: java信息管理系统总结_java实现科