DS2430A是256位一線式EE-PROM,具有3引腳TO-92小體積封裝形式或6引腳TSOC表面貼封裝形式,能安裝到印制電路板上或進行引線,其典型應(yīng)用包括儲存校準系數(shù)、板卡識別以及產(chǎn)品升級的狀態(tài)信息等,很適合應(yīng)用到即插即用傳感器系統(tǒng)的識別模塊中。它除了具有一般1-Wire器件的特性外,還有一些特殊的結(jié)構(gòu)和要求。
1 DS2430A的內(nèi)部基本結(jié)構(gòu)
DS2430A內(nèi)部結(jié)構(gòu)如圖1所示。DS2430A有2個主要的數(shù)據(jù)部件:光刻ROM和存儲器。其存儲器由3個獨立部分組成,分別為256位數(shù)據(jù)存儲器EEPROM、64位應(yīng)用寄存器和8位狀態(tài)寄存器。每個數(shù)據(jù)存儲器和應(yīng)用寄存器都有其對應(yīng)的暫存單元,稱為暫存器,當向該器件寫入數(shù)據(jù)時,暫存器可作為緩沖器使用。數(shù)據(jù)存儲器可在需要時反復讀寫,而應(yīng)用寄存器只能編程一次。一旦對應(yīng)用寄存器進行編程,它將自動進入寫保護狀態(tài)。狀態(tài)寄存器用于指示應(yīng)用寄存器是否已被鎖定或是否可用于存儲數(shù)據(jù)。在應(yīng)用寄存器被編程之前,讀出的狀態(tài)寄存器值是FFH。當把暫存器的數(shù)據(jù)寫入到應(yīng)用寄存器時,狀態(tài)寄存器的兩個最低有效位將被清零,此后讀出的狀態(tài)寄存器結(jié)果是FCH!
2 DS2430A的存儲器功能命令及使用方法
(1)Write Scratchpad[0Fh]寫暫存器
發(fā)出Write Scratchpad命令后,緊接著單片機必須發(fā)出1字節(jié)的地址,隨后將需要送入數(shù)據(jù)存儲器的數(shù)據(jù)寫入暫存器。DS2430A每收到1字節(jié)后地址會自動加1。當?shù)刂窞?Fh的暫存器也收到了數(shù)據(jù)字節(jié)以后,地址計數(shù)器將返回到OOh,可繼續(xù)寫入下一個字節(jié),直到單片機發(fā)出復位脈沖。
(2)Read Scratchpad[AAh]讀暫存器
該命令用于在將暫存器數(shù)據(jù)復制到EEPROM存儲器之前對數(shù)據(jù)進行驗證。單片機發(fā)出Read Scratchpad命令后,要緊接著發(fā)出1字節(jié)的地址,表明讀取數(shù)據(jù)的起始地址。主機每讀取一個字節(jié),DS2430A地址將自動加1。讀取地址為1Fh的數(shù)據(jù)后,地址計數(shù)器將返回到OOh,可繼續(xù)讀取下一個字節(jié),直到單片機發(fā)出復位脈沖。
(3)Copy Scratchpad[55h]復制暫存器
存入暫存器的數(shù)據(jù)經(jīng)過確認后,單片機便可發(fā)出Copy Scratchpad命令和確認字節(jié)A5h,把數(shù)據(jù)從暫存器寫入EEPROM存儲器。該命令總是把暫存器的全部數(shù)據(jù)復制到EEPROM。如果只想改變EEPROM中幾個字節(jié)的數(shù)據(jù),在發(fā)出Write Scratchpad和Copy Scrlatchpad命令之前,暫存器中應(yīng)該包含了最新的EE-PROM數(shù)據(jù)。發(fā)出該命令后,數(shù)據(jù)線要保持邏輯高電平狀態(tài)至少10 ms。
(4)Read Memory[F0h]讀存儲器
Read Memory命令用于讀取EEPROM數(shù)據(jù)存儲器中的部分或全部數(shù)據(jù),或把數(shù)據(jù)存儲器中的全部內(nèi)容復制到暫存器,為僅改變EEPROM部分字節(jié)做準備。當把數(shù)據(jù)從數(shù)據(jù)存儲器復制到暫存器并進行讀取時,單片機必須發(fā)出Read Memory命令和1字節(jié)的數(shù)據(jù)讀取起始地址。單片機每讀取1字節(jié)的數(shù)據(jù),DS2430A的地址自動加1。讀取地址1Fh的數(shù)據(jù)后,地址計數(shù)器將返回到00h,以便繼續(xù)讀取下一個字節(jié),直到主機發(fā)出復位脈沖。如果只希望將數(shù)據(jù)存儲器中的全部數(shù)據(jù)復制到暫存器中,而不必讀取數(shù)據(jù),單片機可以在發(fā)出命令字節(jié)后,立即發(fā)送復位脈沖。
(5)Write ApplicaTIon Register[99h]寫應(yīng)用寄存器
該命令與Write Scratchpad命令基本相同,只是它是向64位應(yīng)用寄存器的暫存器寫入數(shù)據(jù)。在發(fā)出命令代碼后,主機必須提供1字節(jié)的地址,隨后發(fā)送要寫入的數(shù)據(jù)。DS2430每收到1字節(jié)后地址會自動加1。當?shù)刂窞?7h的暫存器收到數(shù)據(jù)后,地址計數(shù)器將返回到00h,可繼續(xù)寫入下一個字節(jié),直到主機發(fā)出復位脈沖。只要應(yīng)用寄存器未被鎖定,就可以使用Write Application Register命令。如果向已經(jīng)鎖定的應(yīng)用寄存器發(fā)出該命令,寫入寄存器暫存器的數(shù)據(jù)將會丟失。
來源:電子發(fā)燒友