機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
串行E2PROM的類型及應(yīng)用
串行E2PROM的類型及應(yīng)用
 更新時間:2009-11-21 14:49:02  點擊數(shù):0
【字體: 字體顏色


    串行E2PROM按總線形式分為三種,即I2C總線、Microwire總線及SPI總線三種。本文將以Microchip公司的產(chǎn)品為例對以上三種串行E2PROM進(jìn)行介紹。


一、I2C總線型
I2C總線,是INTER INTEGRATED CIRCUIT 
BUS的縮寫,即“內(nèi)部集成電路總線”。I2C總線采用時鐘(SCL)和數(shù)據(jù)(SDA)兩根線進(jìn)行數(shù)據(jù)傳輸,接口十分簡單。Microchip公司的24XX系列串行E2PROM存儲容量從128位(16×8)至256k位(32k×8),采用I2C總線結(jié)構(gòu)。24XX中,XX為電源電壓范圍。


1引腳
圖1是24AA00/24LC00/24C00型128位I2C總線串行E2PROM的引腳圖。
SDA是串行數(shù)據(jù)腳。該腳為雙向腳,漏極開路,用于地址、數(shù)據(jù)的輸入和數(shù)據(jù)的輸出,使用時需加上拉電阻。
SCL是時鐘腳。該腳為器件數(shù)據(jù)傳輸?shù)耐綍r鐘信號。
SDA和SCL腳均為施密特觸發(fā)輸入,并有濾波電路,可有效抑制噪聲尖峰信號,保證在總線噪聲嚴(yán)重時器件仍能正常工作。
在單片機(jī)系統(tǒng)中,總線受單片機(jī)控制。單片機(jī)產(chǎn)生串行時鐘(SCL),控制總線的存取,發(fā)送STRAT和STOP信號。


2總線協(xié)議
僅當(dāng)總線不忙(數(shù)據(jù)和時鐘均保持高電平)時方能啟動數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸期間,時鐘(SCL)為高電平時數(shù)據(jù)(SDA)必須保持不變。在SCL為高電平時數(shù)據(jù)線(SDA)從高電平跳變到低電平,為開始數(shù)據(jù)傳輸(START)的條件,開始數(shù)據(jù)傳輸條件后所有的命令有效;SCL為高電平時,數(shù)據(jù)(SDA)從低電平跳變到高電平,為停止數(shù)據(jù)傳輸(STOP)的條件,停止數(shù)據(jù)傳輸條件后所有的操作結(jié)束。開始數(shù)據(jù)傳輸START后、停止數(shù)據(jù)傳輸STOP前,SCL高電平期間,SDA上為有效數(shù)據(jù)。字節(jié)寫入時,每寫完一個字節(jié),送一位傳送結(jié)束信號ACK,直至STOP;讀出時,每讀完一個字節(jié),送一位傳送結(jié)束信號ACK,但STOP前一位結(jié)束時不送ACK信號。


    3器件尋址
START后,單片機(jī)發(fā)送一個控制字,該控制字包括Start位(S)、受控地址(7位,對24XX00來說前四位為1010,后三位無關(guān)系)、讀寫(R/W)選擇位(“1”為讀,“0”為寫)及傳送結(jié)束位ACK。24XX00的控制字格式如下:
S 1 0 1 0 X X X R/W ACK
24XX00隨時監(jiān)視總線上是否為有效地址,若受控地址正確且器件未處在編程方式下,則產(chǎn)生傳送結(jié)束位ACK。


4寫操作
單片機(jī)送出開始信號后,接著送器件碼(7位)、R/W位,表示ACK位后面為待寫入數(shù)據(jù)字節(jié)的字地址和待寫入數(shù)據(jù)字節(jié),然后結(jié)束一個字節(jié)的寫入。即S+寫控制字(R/W位為+ACK+字地址+ACK+寫入數(shù)據(jù)+ACK+STOP。


    5讀操作
讀操作有三種,讀當(dāng)前地址的內(nèi)容、讀指定地址的內(nèi)容、讀指定起始地址后的若干字節(jié)的內(nèi)容。
讀當(dāng)前地址的內(nèi)容為:S+讀控制字(R/W位為+ACK+讀出數(shù)據(jù)+no ACK+STOP
讀指定地址的內(nèi)容為:S+寫控制字(R/W位為+ACK+寫入數(shù)據(jù)+ACK+讀控制字(R/W位為+ACK+讀出數(shù)據(jù)+no 
ACK+STOP
讀指定起始地址后的若干字節(jié)的內(nèi)容為:S+寫控制字(R/W位為+ACK+寫入數(shù)據(jù)+ACK+讀控制字(R/W位為+ACK+讀出數(shù)據(jù)(1)+ACK+……+讀出數(shù)據(jù)(n+x)+noACK+STOP
24XX系列串行E2PROM存儲芯片與單片機(jī)硬件接口只有SCL和SDA兩根線,非常簡單。 



二、Microwire總線型
    Microwire總線采用時鐘(CLK)、數(shù)據(jù)輸入(DI)、數(shù)據(jù)輸出(DO)三根線進(jìn)行數(shù)據(jù)傳輸,接口簡單。Microchip公司的93XXX系列串行E2PROM存儲容量從1k bit(×8/×16)至16k bit(×8/×16),采用Microwire總線結(jié)構(gòu)。產(chǎn)品采用先進(jìn)的CMOS技術(shù),是理想的低功耗非易失性存儲器器件。


1引腳
93XX系列串行E2PROM的產(chǎn)品很多,附圖是93AA46型1k 1.8V Microwire總線串行E2PROM的引腳圖。
CS是片選輸入,高電平有效。CS端低電平,93AA46為休眠狀態(tài)。但若在一個編程周期啟動后,CS由高變低,93AA46將在該編程周期完成后立即進(jìn)入休眠狀態(tài)。在連續(xù)指令與連續(xù)指令之間,CS必須有不小于250ns(TCSL)的低電平保持時間,使之復(fù)位(RESET),芯片在CS為低電平期間,保持復(fù)位狀態(tài)。 CLK是同步時鐘輸入,數(shù)據(jù)讀寫與CLK上升沿同步。對于自動定時寫周期不需要CLK信號。 DI是串行數(shù)據(jù)輸入,接受來自單片機(jī)的命令、地址和數(shù)據(jù)。 DO是串行數(shù)據(jù)輸出,在DO端需加上拉電阻。ORG是數(shù)據(jù)結(jié)構(gòu)選擇輸入,當(dāng)ORG為高電平時選×16結(jié)構(gòu),ORG為低電平時選×8結(jié)構(gòu)。


2工作模式
根據(jù)單片機(jī)的不同命令,93AA46有7種不同的工作模式,附表給出在ORG=1(×16結(jié)構(gòu))時的命令集(表中“S”為Start位)。ORG=0(×8結(jié)構(gòu)),除在地址前加A6位或在地址后加一位“X”外,其余與附表相同。 除了讀數(shù)據(jù)或編程操作期間檢查READY/BUSY狀態(tài)時外,DO腳均為高阻狀。在擦除/寫入過程中,DO為高電平表示“忙”,低電平表示“準(zhǔn)備好”。在CS下降沿到來時,DO進(jìn)入高阻態(tài)。若在寫入和擦除轉(zhuǎn)換期間,CS保持高電平,則DO端的狀態(tài)信號無效。


3功能
START(起始)條件 CS和DI均為高電平后CLK的第一個上升沿,確定為START。若緊隨START條件后DI端輸入滿足7種工作模式中的一種所需的命令碼、地址及數(shù)據(jù)位的組合,指令將被執(zhí)行。執(zhí)行完一條指令后,未檢測到新的START條件,DI、CLK信號不起作用。數(shù)據(jù)保護(hù) 上電時,Vcc未升到14V前,所有操作方式均被禁止。掉電時,一旦Vcc低于14V,源數(shù)據(jù)保護(hù)電路啟動,所有操作方式均被禁止。芯片上電時自動進(jìn)入擦寫禁止?fàn)顟B(tài),保護(hù)芯片不被誤擦寫。EWEN命令也可以防止誤擦寫,詳見擦寫禁止和擦寫使能。 讀操作READ 當(dāng)CS為高電平時,芯片在收到讀命令和地址后,從DO端串行輸出指定單元的內(nèi)容(高位在前)。寫操作WRITE 當(dāng)CS為高電平時,芯片收到寫命令和地址后,從DI端接收串行輸入16位或8位數(shù)據(jù)(高位在前)。在下一個時鐘上升沿到來前將CS端置為(低電平保持時間不小于250ns),再將CS恢復(fù)為"1",寫操作啟動。此時DO端由“1”變成“0”,表示芯片處于寫操作的“忙”狀態(tài)。芯片在寫入數(shù)據(jù)前,會自動擦除待寫入單元的內(nèi)容,當(dāng)寫操作完成后,DO端變成“1”,表示芯片處于“準(zhǔn)備好”狀態(tài),可以接受新命令。


擦寫禁止和擦寫使能(EWDS/EWEN) 芯片收到EWDS命令后進(jìn)入擦寫禁止?fàn)顟B(tài),不允許對芯片進(jìn)行任何擦或?qū)懖僮,芯片上電時自動進(jìn)入擦寫禁止?fàn)顟B(tài)。此時,若想對芯片進(jìn)行擦寫操作,必須先發(fā)EWEN命令,因而防止了干擾或其它原因引起的誤操作。芯片接受到EWEN命令后,進(jìn)入擦寫允許狀態(tài),允許對芯片進(jìn)行擦或?qū)懖僮鳌WxREAD命令不受EWDS和EWEN的影響。
擦除、片擦除、片寫入操作(ERASE/ERAL/WRAL) 擦除ERASE指令擦除指定地址的內(nèi)容,擦除后該地址的內(nèi)容為“1”;片擦除ERAL指令擦除整個芯片的內(nèi)容,擦除后芯片所有地址的內(nèi)容均為“1”;片寫WRAL命令將特定內(nèi)容整片寫入。片擦除和片寫入時,在接受完命令和數(shù)據(jù),CS從“1”變成“0”再恢復(fù)為“1”(低電平保持時間不小于250ns)后,片擦除或片寫入啟動,擦除、寫入均為自動定時方式。自動定時方式下不需要CLK時鐘。
93AA46與單片機(jī)的接口電路及數(shù)據(jù)傳輸程序此處不再一一寫出。 

內(nèi)容:Serial Peripheral Interface)總線,即“串行外圍設(shè)備接口總線”。Microchip公司的25XX系列串行E2PROM采用簡單的SPI兼容串行總線結(jié)構(gòu),用時鐘(SCK)、數(shù)據(jù)輸入(SI)、數(shù)據(jù)輸出(SO)三根線進(jìn)行數(shù)據(jù)傳輸,片選信號(CS)控制器件的選通。當(dāng)今流行的帶SPI口的微控制器,如Microchip公司的PIC16C6X/7X微控制器等,均可與25AA040直接接口。片內(nèi)無SPI口的微控制器,也可用普通I/O口通過軟件編程的方式實現(xiàn)與25XX040間的接口。25XX系列采用先進(jìn)的CMOS技術(shù),是理想的低功耗非易失性存儲器器件。


25XX系列串行E2PROM存儲容量從4k位(512×8)至64k位(8k×8),附圖是25AA040型4k位SPI總線串行E2PROM的引腳圖。


1引腳說明
CS是片選輸入腳,低電平有效。CS端為高電平,25AA040處于休眠狀態(tài)。CS的變化不影響已經(jīng)初始化或正在處理的編程的完成。也就是說若在一個編程周期啟動后,CS由低變高,25AA040將在該編程周期完成后立即進(jìn)入休眠狀態(tài)。一旦CS為高電平,SO引腳立即變成高阻態(tài),允許多器件共用SPI總線。在有效的寫入序列輸入后CS端由低轉(zhuǎn)高,啟動對內(nèi)部的寫序列。上電后,CS端要先加低電平對所有操作序列初始化。
SCK是同步時鐘輸入腳。來自SI腳的地址或數(shù)據(jù)在SCK的上升沿被鎖存,SO腳的數(shù)據(jù)在SCK的下降沿時輸出。
SI是串行數(shù)據(jù)輸入腳,接受來自單片機(jī)的命令、地址和數(shù)據(jù)。
SO是串行數(shù)據(jù)輸出腳,在讀周期,輸出E2PROM存儲器的數(shù)據(jù)。
WP是寫保護(hù)輸入腳。WP為低電平時禁止對存儲陣列或狀態(tài)寄存器的寫操作,其它操作功能正常;WP為高電平,非易失性寫在內(nèi)的所有功能都正常。任何時候?qū)P置為低電平都將復(fù)位寫允許鎖存器。若一次內(nèi)部寫已經(jīng)開始,WP置成低電平不影響這次寫。
HOLD是保持輸入腳,低電平有效,用于在數(shù)據(jù)傳送中途暫停向25AA040傳送。不用暫停功能時,HOLD必須保持高電平。芯片被選中,正在串行傳送時,可將HOLD置為低電平,暫停進(jìn)一步的傳送。方法是在SCK為低電平時,將HOLD引腳變成低電平,不然在下一個SCK由高轉(zhuǎn)低前不能暫停傳送。此間,CS必須保持低電平。25AA040處于暫停時,SI、SO、SCK腳均為高阻態(tài)。要恢復(fù)串行傳送,必須在SCK為低電平時將HOLD置為高電平。任何時候只要HOLD為低電平,SO腳將處于高阻態(tài)。


2工作原理
25XX040片內(nèi)有一個8位指令寄存器,指令通過SI腳接收,在SCK的上升沿串行輸入。指令輸入時,CS腳必須為低電平,HOLD腳必須為高電平。WP必須保持高電平,允許寫存儲器陣列。
表1是25XX040的指令集,指令字節(jié)中包含地址位A8,傳輸時最高位在前,最低位在后。
CS置為低電平后SCK的第一個上升沿開始數(shù)據(jù)采樣。如果與SPI總線上的其它外圍器件共用SCK,可改變HOLD引腳電平將25AA040設(shè)置成“保持”方式。釋放HOLD后,再從HOLD信號確認(rèn)處繼續(xù)傳送。
---讀序列
CS降至低電平25AA040被選中。包括A8地址在內(nèi)的8位讀指令被傳送到25AA040,接著是低8位地址(A7~A0)。在接收到正確的讀指令及低8位地址后,選定地址的內(nèi)容由SO口串行輸出。而下一地址單元的內(nèi)容將隨著時鐘脈沖繼續(xù)輸出。每當(dāng)一個字節(jié)的數(shù)據(jù)傳送完畢,25AA040片內(nèi)的地址指針自動加1,指向下一個地址。當(dāng)最高位地址(01FFH)內(nèi)容讀出后,地址指針指向0000H,下一個讀出周期將繼續(xù)。CS腳轉(zhuǎn)為高電平讀操作終止。


---寫序列
在著手向25AA040寫數(shù)據(jù)之前,必須先發(fā)出WREN指令,置位寫允許鎖存器,其操作為:先將CS置為低電平,然后按時鐘節(jié)拍將WREN指令送至25AA040,當(dāng)指令的8位數(shù)全部傳送完畢后,再將CS端置為高電平置位寫允許鎖存器。發(fā)出WREN指令后未將CS端置為高電平前,寫允許鎖存器并沒有置位,向25AA040傳送的數(shù)據(jù)將不會被寫入存儲器陣列。
寫允許鎖存器置位后,再將CS端置為低電平,發(fā)出包括A8地址在內(nèi)的8位寫指令及低8位地址(A7~A0),然后送要寫入的數(shù)據(jù)。一次寫序列最多可以連續(xù)寫16個字節(jié)的數(shù)據(jù),且所有要寫入的數(shù)據(jù)的地址必須在同一頁。一頁的首址為XXXX 
0000,末址為XXXX 1111。若內(nèi)部地址計數(shù)器已到XXXX 1111,時鐘仍在繼續(xù),內(nèi)部地址計數(shù)器將重新指向該頁的首址XXXX 0000,原寫入到該地址的內(nèi)容就會被覆蓋。
為將數(shù)據(jù)真正寫入到25AA040中,須在字節(jié)寫入或頁寫入數(shù)據(jù)的第n個字節(jié)的最后一個有效位(D0)送出后將CS置為高電平。若在此外的其它時間將CS置為高電平,寫操作就不能完成。在寫操作進(jìn)行時,可以讀狀態(tài)寄存器來檢查WIP、WEL、BP1和BP0位的狀態(tài)。在寫周期內(nèi)是不可能讀存儲器陣列位置的。一旦寫周期完成,寫允許鎖存器也就被復(fù)位了。


---寫允許(WREN)和寫禁止(WRDI)
25AA040片內(nèi)有一個寫允許鎖存器。表2為寫保護(hù)功能表。在任何寫操作將完成之前必須立即置位寫允許鎖存器。寫允許鎖存器由WREN指令置位,由WRDI指令復(fù)位。


滿足以下條件之一,寫允許鎖存器將被復(fù)位:
1)上電;2)WRDI指令成功地執(zhí)行;3)WRSR指令成功地執(zhí)行;4)WRITE指令成功地執(zhí)行;5)WP引腳為低電平。
---狀態(tài)寄存器讀(RDSR)
RDSR指令讀狀態(tài)寄存器。狀態(tài)寄存器可在任何時候讀出。狀態(tài)寄存器的格式如下:
7  6  5  4 3   2  1   0
X X X X BP1 BP0 WEL WIP
其中,寫入保護(hù)位(WIP)指示25AA040是否正忙于寫入操作,是只讀位。WIP為“1”,表示寫入正在進(jìn)行;WIP為“0”,表示未進(jìn)行寫入操作。
寫允許鎖存器狀態(tài)位(WEL)指示寫允許鎖存器的狀態(tài),是只讀位。WEL為“1”,允許寫陣列;WEL為“0”,鎖存器禁止寫陣列。WEL位的狀態(tài)由執(zhí)行WREN或WRDI指令確定,與狀態(tài)寄存器是否寫保護(hù)無關(guān)。
塊保護(hù)位(BP0和BP1)指示當(dāng)前保護(hù)的塊地址。塊保護(hù)地址由用戶發(fā)出的WRSR指令設(shè)定。一旦該塊地址的內(nèi)容被保護(hù),就只能讀出而不能寫入。


---狀態(tài)寄存器寫(WRSR)
WRSR指令允許用戶通過寫狀態(tài)寄存器BP1、BP0位的方法選擇對存儲器的保護(hù)區(qū),BP0、BP1與塊保護(hù)地址的關(guān)系見表3。
---數(shù)據(jù)保護(hù)


25AA040采取用多種措施保證存儲器陣列不被誤寫入。1)上電時復(fù)位寫允許鎖存器;2)必須發(fā)出寫允許指令方可置位寫允許鎖存器;3)在單字節(jié)寫入、頁寫入或狀態(tài)寄存器寫入后,寫允許鎖存器被復(fù)位;4)對芯片寫入時,在接收了定數(shù)量的時鐘周期之后,必須將CS端置為高電平,芯片內(nèi)部的寫周期才開始;5)在內(nèi)部寫周期期間,對存儲器陣列的存取無效;6)WP引腳為高電平時,復(fù)位寫允許鎖存器。


---芯片上電時的狀態(tài)
25AA040上電時的狀態(tài)如下:器件處于低功耗待機(jī)方式(CS=1);寫允許鎖存器被復(fù)位;SO引腳為高阻態(tài);必須將CS引腳置為低電平方可進(jìn)入工作狀態(tài)。 

  • 上一篇: 常見嵌入式操作系統(tǒng)類型的介紹
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1