新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > I2C總線的讀操作的流程詳解

I2C總線的讀操作的流程詳解

作者: 時(shí)間:2018-08-02 來(lái)源:網(wǎng)絡(luò) 收藏

M24Cxx的模式及其各種模式的操作流程如圖1、圖2所示。

本文引用地址:http://2s4d.com/article/201808/385081.htm

1. 當(dāng)前地址讀

EEPROM內(nèi)部具有保持當(dāng)前地址的寄存器。讀取當(dāng)前地址的數(shù)據(jù)時(shí),不需要指定地址。只要單純給出讀指令就可讀出數(shù)據(jù)。讀取完畢后,內(nèi)部所保持的當(dāng)前地址將自動(dòng)進(jìn)位。


數(shù)據(jù)后的ACK/NoACK信號(hào)由主機(jī)返回,但必須返回NoACK信號(hào)。

2. 隨機(jī)讀

隨機(jī)讀是由主機(jī)指定任意的地址讀取的。利用寫(xiě)指令設(shè)定地址,如果賦予讀指令則可以讀出當(dāng)前地址。所以,與字節(jié)寫(xiě)操作時(shí)相同,在第1字節(jié)的數(shù)據(jù)后面給出地址。在這里,一旦發(fā)送出數(shù)據(jù)就成為寫(xiě)操作,在此設(shè)置開(kāi)始條件,取消向?qū)懖僮鞯倪w移而發(fā)出讀指令,將從事先設(shè)定的地址中讀出數(shù)據(jù)。

此時(shí),DEVSEL數(shù)據(jù)(前7位數(shù)據(jù))必須設(shè)定與最初寫(xiě)指令所發(fā)送的相同的值。

3. 順序讀

在當(dāng)前地址之后,如果主機(jī)返田ACK信號(hào),則為順序讀模式,器件將準(zhǔn)備下一個(gè)地址的數(shù)據(jù),主機(jī)取回該數(shù)據(jù)。一旦到達(dá)要讀出的最終地址,主機(jī)將返回NoACK信號(hào),通知器件這已是最后的數(shù)據(jù)。

4. 順序隨機(jī)讀

當(dāng)指定任意地址、希望由此連續(xù)讀出數(shù)據(jù)時(shí),可利用該模式。只要認(rèn)為這是與對(duì)應(yīng)于當(dāng)前讀的順序讀相同的模式即可。

順序隨機(jī)讀模式與隨機(jī)讀同樣進(jìn)行讀操作,接收到數(shù)據(jù)后如果是ACK應(yīng)答,則器件將準(zhǔn)各下一個(gè)地址的數(shù)據(jù);如果是最終數(shù)據(jù),則返回NoACK信號(hào),結(jié)束數(shù)據(jù)的傳輸。



關(guān)鍵詞: I2C總線 讀操作 流程詳解

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉