freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于i2c協(xié)議的eeprom讀寫(xiě)功能實(shí)現(xiàn)-文庫(kù)吧

2025-07-30 13:02 本頁(yè)面


【正文】 C協(xié)議 工作原理 以啟動(dòng)信號(hào) START 來(lái)掌管總線,以停止信號(hào) STOP 來(lái)釋放總線;每次通訊以 START 開(kāi)始,以 STOP 結(jié)束;啟動(dòng)信號(hào) START 后緊接著發(fā)送一個(gè)地址字節(jié),其中 7 位為被控器件的地址碼,一位為讀 /寫(xiě)控制位 R/W,R. /W 位為 0表示由主控向被控器件寫(xiě)數(shù)據(jù), R/W 為 1表示由主控向被控器件讀數(shù)據(jù);當(dāng)被控器件檢測(cè)到收到的地址與自己的地址相同時(shí),在 第 9個(gè)時(shí)鐘期間反饋應(yīng)答信號(hào);每個(gè)數(shù)據(jù)字節(jié)在傳送時(shí)都是高位 (MSB)在前 。 3. I2C 協(xié)議 總線基本狀態(tài) 1) 總線空閑( A) 數(shù)據(jù)線和時(shí)鐘線同時(shí)為高電平。 2) 啟動(dòng)數(shù)據(jù)傳輸( B) 時(shí)鐘( SCL)為高電平時(shí), SDA 從高電平變?yōu)榈碗娖奖硎酒鹗紬l件產(chǎn)生。起始條件必須先 于 所有的命令產(chǎn)生。 3) 停止數(shù)據(jù)傳輸( C) 時(shí)鐘( SCL)為高電平時(shí), SDA 從低電平變?yōu)楦唠娖奖硎就V箺l件產(chǎn)生。所有操作都必須以停止條件結(jié)束。 4) 數(shù)據(jù)傳送 /數(shù)據(jù)有效 ( D) 數(shù)據(jù)線的狀態(tài)表明數(shù)據(jù)何時(shí)有效。在起始條件之后,數(shù)據(jù)線在時(shí)鐘處于高電平期 間?;?I2C 協(xié)議 EEPROM 讀寫(xiě)功能的實(shí)現(xiàn) 4 持穩(wěn)定。必須在時(shí)鐘信號(hào)為低電平期間改變數(shù)據(jù)線。一個(gè)數(shù)據(jù)位對(duì)應(yīng)一個(gè)時(shí)鐘脈沖。數(shù)據(jù)的每次傳輸以起始條 件開(kāi)始,以停止條件結(jié)束。在起始條件和停止條件之間傳輸?shù)臄?shù)據(jù)字節(jié) 數(shù) 目由主器件決定 5) 確認(rèn)信號(hào)( ACK) 每一個(gè)被尋址 的接收器在接收到每一字節(jié)數(shù)據(jù)后,應(yīng)發(fā)送一個(gè)確認(rèn)位。主器件必須提供一個(gè)額外的時(shí)鐘以傳輸確認(rèn)位。在確認(rèn)時(shí)鐘脈沖內(nèi),器件確認(rèn)須拉低 SDA 線。在確認(rèn)時(shí)鐘的高電平期間, SDA 線以這種方式保持穩(wěn)定的低電平。當(dāng)然,還必須考慮建立時(shí)間和保持時(shí)間。 讀操作期間,主器件必須發(fā)送一個(gè)結(jié)束信號(hào)給從器件,而不是在從器件輸出最后一個(gè)數(shù)據(jù)字節(jié)之后產(chǎn)生一個(gè)確認(rèn)位。這種情況下,從器件( 24XX)將釋放數(shù)據(jù)線為高電平,從而使主器件能夠產(chǎn)生停止條件。 6) 無(wú)應(yīng)答信號(hào)( NACK) 在時(shí)鐘的第 9個(gè)脈沖期間發(fā)送器釋放數(shù)據(jù)總線,接收器不拉低數(shù)據(jù)總線表示一個(gè) NACK,NACK 有兩種用途: a、一般表示接收器未成功接收數(shù)據(jù)字節(jié); b、當(dāng)接收器是主控器時(shí),它圖 1 I2C 總線在傳輸數(shù)據(jù)位時(shí)的 SDA 和 SCL 的基本狀態(tài) 圖 2 確認(rèn)時(shí)序 基于 I2C 協(xié)議 EEPROM 讀寫(xiě)功能的實(shí)現(xiàn) 5 收到最后一個(gè)字節(jié)后,應(yīng)發(fā)送一個(gè) NACK 信號(hào),以通知被控發(fā)送器結(jié)束數(shù)據(jù)發(fā)送,并釋放總線,以便主控接收器發(fā)送一個(gè)停止 信號(hào) STOP。 4. 尋址約定 1)不帶功能性地址輸入引腳的器件尋址 在起始條件之后,從主器件接收的第一個(gè)字節(jié)是控制字節(jié)??刂谱止?jié)以 4 位控制碼開(kāi)始。對(duì)于 24XX 器件,這 4 位設(shè)置為 ‘ 1010’以便進(jìn)行讀/寫(xiě)操作。隨后的 3 位為存儲(chǔ)塊選擇位 ( B B B0)。主器件用它們來(lái)選擇將要訪問(wèn)的大小為 256 字的存儲(chǔ)塊。實(shí)際上,這些位是字地址中 3 個(gè)最高有效位??刂谱止?jié)的最后一位定義將要進(jìn)行的操作。 設(shè)置為‘ 1’,選擇讀操作;設(shè)置為‘ 0’,選擇寫(xiě)操作。在起始條件發(fā)生后, 24XX 器件始終監(jiān)視 SDA 總線。 一旦接收到 ‘ 1010’碼、存儲(chǔ)塊選擇位和 R/W 位,從器件輸出確認(rèn)信號(hào)到 SDA 總線。在確認(rèn)信號(hào)之后傳輸?shù)刂纷止?jié)。 2)帶功能性地址輸入引腳的器件尋址 在起始條件之后,從主器件接收的第一個(gè)字節(jié)是控制字節(jié)。控制字節(jié)以 4 位控制碼開(kāi)始。在 24XX 器件,這 4 位設(shè)置為 ‘ 1010’以便進(jìn)行讀/寫(xiě)操作。隨后的 3 位 為片選位( A A A0)。片選位的不同組合允許在同一條總線上使用的 24XX 器件達(dá)八個(gè),并用于選擇訪問(wèn)哪一個(gè)器件??刂萍拇嫫髦械钠x位必須與相應(yīng)器件引腳 A A1 和 A0 上的邏輯電平 保持一致。實(shí)際上這些位是字地址中 3 個(gè)最高有效位。起始條件發(fā)生之后, 24XX 器件始終監(jiān)視 SDA 總線。一旦接收到 ‘ 1010’碼、器件片選位和 R/W 位,從器件輸出確認(rèn)信號(hào)到 SDA 總線。在確認(rèn)信號(hào)之后傳輸?shù)刂纷止?jié)。 五 . EEPROM 讀寫(xiě)功能實(shí)現(xiàn) 1. 寫(xiě)操作 寫(xiě)數(shù)據(jù)過(guò)程: 1) 主控在檢測(cè)到總線空閑的狀況下,首先發(fā)送一個(gè) START 信號(hào)掌管總線; 2) 發(fā)送一個(gè)控制字節(jié)(包括 7 位器件地址碼和一位 R/W);(某些器件的地址字節(jié)可能帶有其他功能) 3) 當(dāng)被控器件檢測(cè)到主控發(fā)送的地址與自己的地址相同時(shí)發(fā)送一個(gè)應(yīng)答 信號(hào)( ACK); 4) 主控收到 ACK 后開(kāi)始發(fā)送第一個(gè)數(shù)據(jù)字節(jié); 基于 I2C 協(xié)議 EEPROM 讀寫(xiě)功能的實(shí)現(xiàn) 6 5) 被控器收到數(shù)據(jù)字節(jié)后發(fā)送一個(gè) ACK 表示繼續(xù)傳送數(shù)據(jù),發(fā)送 NACK 表示傳送數(shù)據(jù)結(jié)束; 6) 主控發(fā)送完全部數(shù)據(jù)后,發(fā)送一個(gè)停止位 STOP,結(jié)束整個(gè)通訊并且釋放總線 ; 寫(xiě)數(shù)據(jù)時(shí)序 。 ( 1) 字節(jié)寫(xiě)操作 字節(jié)寫(xiě)操作以來(lái)自于主器件的起始位開(kāi)始, 4 位控制碼緊隨其后 (圖 3) 。接下來(lái)的3 位是存儲(chǔ)塊尋址位(不帶地址輸入引腳的器件)或片選位(帶地址輸入引腳的器件)。然后主發(fā)送器將 R/W 位(該位 為邏輯低電平)發(fā)送到總線。從器件在第九個(gè)時(shí)鐘周期產(chǎn)生一個(gè)確認(rèn)位, 主器件發(fā)送的第二個(gè)字節(jié)是地址字節(jié)或高位地址字節(jié) 。 24XX 器件會(huì)對(duì)每一個(gè)地址字節(jié)作出確認(rèn),并把地址位鎖存進(jìn)器件內(nèi)部的地址計(jì)數(shù)器。 對(duì)于 24XX00 器件,只使用地址字節(jié)的低 4 位。高 4 位可為任意值。送出最后一個(gè)地址字節(jié)后, 24XX 器件發(fā)出確認(rèn)信號(hào) ACK。主器件在接收到該確認(rèn)信號(hào)后即發(fā)送數(shù)據(jù)字,該數(shù)據(jù)字將被寫(xiě)入已尋址的存儲(chǔ)器位置。 24XX 器件再次發(fā)出確認(rèn)信號(hào),之后主器件產(chǎn)生停止條件,啟動(dòng)內(nèi)部寫(xiě)周期。如果在 WP 引腳保持高電平時(shí)進(jìn)行存儲(chǔ)器寫(xiě)操作,器件會(huì)確認(rèn)命令,但不會(huì)啟動(dòng)寫(xiě)周期,也不會(huì)寫(xiě)入數(shù)據(jù),而會(huì)立即 接受新的命令。寫(xiě)命令為一個(gè)字節(jié),在發(fā)送寫(xiě)命令后,內(nèi)部地址計(jì)數(shù)器增加,指向下一個(gè)要尋址的位置。寫(xiě)周期期間, 24XX 不會(huì)對(duì)命令進(jìn)行確認(rèn)。 (注:圖中控制字節(jié)指器件地址碼和讀寫(xiě)控制位;地址字節(jié)指器件內(nèi)部的儲(chǔ)存器地址。下同。) ( 2) 頁(yè)寫(xiě)入操作 頁(yè)寫(xiě)入操作時(shí), 被控器件完成一 個(gè)寫(xiě)字節(jié)操作后內(nèi)部地址計(jì)數(shù)器自動(dòng)加一 。 寫(xiě)控制字節(jié)、字地址字節(jié)和首個(gè)數(shù)據(jù)字節(jié)以和寫(xiě)操作字節(jié)基本相同的方式發(fā)送給 24XX 器件(見(jiàn)圖4 )。不同的是,主器件發(fā)送的是多至一整頁(yè)的數(shù)據(jù)字節(jié)( 1),而不是停止條件,這些數(shù)據(jù)字節(jié)臨時(shí)存儲(chǔ)在片內(nèi)頁(yè)緩沖器中。在主器件發(fā)送停止條件之后,這些數(shù)據(jù)將被寫(xiě)入存儲(chǔ)圖 3 字節(jié)寫(xiě) 操作 基于 I2C 協(xié)議 EEPROM 讀寫(xiě)功能的實(shí)現(xiàn) 7 器。每接收一個(gè)字,內(nèi)部地址計(jì)數(shù)器加一。如果在停止條件產(chǎn)生前,主器件有超出一頁(yè)的數(shù)據(jù)要發(fā)送,地址計(jì)數(shù)器將會(huì)翻轉(zhuǎn),先前寫(xiě)入的數(shù)據(jù)將被覆蓋。對(duì)于字節(jié)寫(xiě)操作,一旦接收到停止條件,內(nèi)部寫(xiě)周期開(kāi)始。在寫(xiě)周期期間, 24XX 器件不會(huì)對(duì) 命令作出確認(rèn)。頁(yè)寫(xiě)入操作在一頁(yè)內(nèi)可以寫(xiě)入任意個(gè)數(shù)的數(shù)據(jù)(最多為一頁(yè)),并且可以在此頁(yè)中的任意地址開(kāi)始寫(xiě)入。被尋址的數(shù)據(jù)只能在該頁(yè)內(nèi)變動(dòng)。如果在 WP 引腳保持高電平時(shí)進(jìn)行存儲(chǔ)器寫(xiě)操作,器件會(huì)確認(rèn)命令,但不會(huì)啟動(dòng)寫(xiě)周期,也不會(huì)寫(xiě)入數(shù)據(jù),而是立即接受新
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1