本應(yīng)用筆記描述了一個(gè)應(yīng)用示例,其中 SH7145F 的 I2C 模塊用于從/向兩線串行(I2C 總線)EEPROM 讀取/寫入數(shù)據(jù)。數(shù)據(jù)通信一般是一對(duì)一進(jìn)行的。另一方面,在 I2C 總線上,雙向通信是在單條數(shù)據(jù)線上進(jìn)行的。當(dāng)主設(shè)備指定該設(shè)備的唯一地址時(shí),將確定要與之通信的設(shè)備,因此可以向任何多個(gè)設(shè)備發(fā)送和接收數(shù)據(jù)。
I2C 總線概述 I2C 總線的特點(diǎn)如下:
總線由兩條總線組成:串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)。I2C 總線設(shè)備的擴(kuò)展很容易。
設(shè)備之間始終存在主從關(guān)系,每個(gè)設(shè)備在系統(tǒng)中都有一個(gè)唯一的地址。將成為主設(shè)備的設(shè)備通過(guò)首先指定設(shè)備的唯一地址來(lái)與其通信并啟用數(shù)據(jù)通信,從而形成通信路徑。
任何設(shè)備都可以成為主設(shè)備(可以形成多主系統(tǒng))。因此,在 I2C 總線接口中定義了一種避免總線主控權(quán)爭(zhēng)用以防止數(shù)據(jù)丟失的系統(tǒng)。
數(shù)據(jù)傳輸速率在標(biāo)準(zhǔn)模式下最高可達(dá) 100 kbps,在高速模式下可達(dá) 400 kbps(在 I2C 總線規(guī)范 2.0 版中,定義了高達(dá) 3.4 Mbps 的速率)。
I2C 總線系統(tǒng)中的設(shè)備總數(shù)由系統(tǒng)總線負(fù)載電容的 400 pF 上限決定。
SMBus 和 ACCESS.bus 是 I2C 應(yīng)用的示例。
與串行接口 (SCI) 的差異 與串行通信接口 (SCI) 的差異總結(jié)如下。
如下圖1的表格所示,在SCI中使用了兩條數(shù)據(jù)線,發(fā)送數(shù)據(jù)線和接收數(shù)據(jù)線。數(shù)據(jù)通信一般是一對(duì)一進(jìn)行的。另一方面,在 I2C 總線上,雙向通信是在單條數(shù)據(jù)線上進(jìn)行的。當(dāng)主設(shè)備指定該設(shè)備的唯一地址時(shí),將確定要與之通信的設(shè)備,因此可以向任何多個(gè)設(shè)備發(fā)送和接收數(shù)據(jù)。此外,由于在I2C總線中定義了總線主控爭(zhēng)用避免機(jī)制,因此可以為多主系統(tǒng)提供支持,其中任何設(shè)備都可以成為主設(shè)備。傳輸速率在標(biāo)準(zhǔn)模式下高達(dá) 100 kbps,在高速模式下高達(dá) 400 kbps。
與SCI的差異
I2C總線連接方式
圖 2 顯示了 I2C 總線接口連接方法。如圖所示,I2C總線由時(shí)鐘線SCL和數(shù)據(jù)線SDA組成,分別通過(guò)上拉電阻連接到總線電源VBB。器件 1 和器件 2 的 SCL 引腳/SDA 引腳分別線與連接到 SCL 線和 SDA 線。
當(dāng)設(shè)備 1 將 SCL 線驅(qū)動(dòng)為低電平時(shí),設(shè)備 2 通過(guò)監(jiān)視 SCL 線的狀態(tài)知道其他設(shè)備正在使用總線。由于是線與連接,即使設(shè)備 1 正在使用總線并驅(qū)動(dòng) SCL 線時(shí),設(shè)備 2 也可以將 SCL 驅(qū)動(dòng)為低電平以將設(shè)備 1 置于等待狀態(tài)。
總線接口連接方法(當(dāng)設(shè)備1先驅(qū)動(dòng)SCL為低電平時(shí))
編輯:hfy
-
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
1958瀏覽量
64864 -
I2C總線
+關(guān)注
關(guān)注
8文章
406瀏覽量
61185
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
RA MCU使用Virtual EEPROM
STM32 FLASH模擬EEPROM,燒寫程序時(shí)設(shè)置為讀保護(hù)Level-2級(jí)別,還能正常讀寫這個(gè)模擬的EEPROM嗎?
淺談Web應(yīng)用程序的壓力測(cè)試
如何保護(hù)M24SR EEPROM讀/寫密碼?
Mini51DE數(shù)據(jù)閃光模擬EEPROM和寫/讀EEPROM
用串行引導(dǎo)程序對(duì)MC68HC05B6的RAM和EEPROM1
![用<b class='flag-5'>串行</b>引導(dǎo)<b class='flag-5'>程序</b>對(duì)MC68HC05B6的RAM和<b class='flag-5'>EEPROM</b>1](https://file.elecfans.com/web2/M00/48/AC/pYYBAGKhtBaALfPAAAA0ZRRuTIo593.jpg)
電池管理器件的讀/寫操作
基于WinCE應(yīng)用程序直接讀/寫/擦除flash設(shè)備的方法
串行端口實(shí)用調(diào)試工具應(yīng)用程序免費(fèi)下載
![<b class='flag-5'>串行</b>端口實(shí)用調(diào)試工具<b class='flag-5'>應(yīng)用程序</b>免費(fèi)下載](https://file.elecfans.com/web1/M00/88/31/pIYBAFyHCLiACK-eAACYDbXDQLY713.png)
醫(yī)療設(shè)備專用MR25H40-4Mb SPI串行接口MRAM的應(yīng)用
色環(huán)電阻讀值助手應(yīng)用程序免費(fèi)下載
![色環(huán)電阻<b class='flag-5'>讀</b>值助手<b class='flag-5'>應(yīng)用程序</b>免費(fèi)下載](https://file.elecfans.com/web1/M00/C6/62/o4YBAF9e1ySAKM-PAAA6-5LPNmU019.png)
使用System IO Ports SerialPort進(jìn)行串行讀/寫
![使用System IO Ports SerialPort進(jìn)行<b class='flag-5'>串行</b><b class='flag-5'>讀</b>/<b class='flag-5'>寫</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Arduino/Android藍(lán)牙串行監(jiān)視器應(yīng)用程序
![Arduino/Android藍(lán)牙<b class='flag-5'>串行</b>監(jiān)視器<b class='flag-5'>應(yīng)用程序</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論