DS2430A在即插即用傳感器系統(tǒng)中的應(yīng)用
(2)Read Scratchpad[AAh]讀暫存器
該命令用于在將暫存器數(shù)據(jù)復(fù)制到EEPROM存儲(chǔ)器之前對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證。單片機(jī)發(fā)出Read Scratchpad命令后,要緊接著發(fā)出1字節(jié)的地址,表明讀取數(shù)據(jù)的起始地址。主機(jī)每讀取一個(gè)字節(jié),DS2430A地址將自動(dòng)加1。讀取地址為1Fh的數(shù)據(jù)后,地址計(jì)數(shù)器將返回到OOh,可繼續(xù)讀取下一個(gè)字節(jié),直到單片機(jī)發(fā)出復(fù)位脈沖。
(3)Copy Scratchpad[55h]復(fù)制暫存器
存入暫存器的數(shù)據(jù)經(jīng)過確認(rèn)后,單片機(jī)便可發(fā)出Copy Scratchpad命令和確認(rèn)字節(jié)A5h,把數(shù)據(jù)從暫存器寫入EEPROM存儲(chǔ)器。該命令總是把暫存器的全部數(shù)據(jù)復(fù)制到EEPROM。如果只想改變EEPROM中幾個(gè)字節(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]讀存儲(chǔ)器
Read Memory命令用于讀取EEPROM數(shù)據(jù)存儲(chǔ)器中的部分或全部數(shù)據(jù),或把數(shù)據(jù)存儲(chǔ)器中的全部?jī)?nèi)容復(fù)制到暫存器,為僅改變EEPROM部分字節(jié)做準(zhǔn)備。當(dāng)把數(shù)據(jù)從數(shù)據(jù)存儲(chǔ)器復(fù)制到暫存器并進(jìn)行讀取時(shí),單片機(jī)必須發(fā)出Read Memory命令和1字節(jié)的數(shù)據(jù)讀取起始地址。單片機(jī)每讀取1字節(jié)的數(shù)據(jù),DS2430A的地址自動(dòng)加1。讀取地址1Fh的數(shù)據(jù)后,地址計(jì)數(shù)器將返回到00h,以便繼續(xù)讀取下一個(gè)字節(jié),直到主機(jī)發(fā)出復(fù)位脈沖。如果只希望將數(shù)據(jù)存儲(chǔ)器中的全部數(shù)據(jù)復(fù)制到暫存器中,而不必讀取數(shù)據(jù),單片機(jī)可以在發(fā)出命令字節(jié)后,立即發(fā)送復(fù)位脈沖。
(5)Write Application Register[99h]寫應(yīng)用寄存器
該命令與Write Scratchpad命令基本相同,只是它是向64位應(yīng)用寄存器的暫存器寫入數(shù)據(jù)。在發(fā)出命令代碼后,主機(jī)必須提供1字節(jié)的地址,隨后發(fā)送要寫入的數(shù)據(jù)。DS2430每收到1字節(jié)后地址會(huì)自動(dòng)加1。當(dāng)?shù)刂窞?7h的暫存器收到數(shù)據(jù)后,地址計(jì)數(shù)器將返回到00h,可繼續(xù)寫入下一個(gè)字節(jié),直到主機(jī)發(fā)出復(fù)位脈沖。只要應(yīng)用寄存器未被鎖定,就可以使用Write Application Register命令。如果向已經(jīng)鎖定的應(yīng)用寄存器發(fā)出該命令,寫入寄存器暫存器的數(shù)據(jù)將會(huì)丟失。
(6)Read Status Register[66h]讀狀態(tài)寄存器
狀態(tài)寄存器的主要作用是向主機(jī)指示應(yīng)用寄存器是否已編程并鎖定。在主機(jī)發(fā)出讀狀態(tài)寄存器命令后,在接收狀態(tài)信息之前必須發(fā)出確認(rèn)字節(jié)00h。如果應(yīng)用寄存器已被編程并鎖定,8位狀態(tài)寄存器中的2個(gè)最低有效位為O,而其余各位全部為1。單片機(jī)可以在任何時(shí)候通過發(fā)出復(fù)位脈沖結(jié)束。
(7)Read Application Register[C3h]讀應(yīng)用寄存器
該命令用來讀取應(yīng)用寄存器或寄存器暫存器。只要應(yīng)用寄存器未鎖定,將接收來自寄存器暫存器的數(shù)據(jù)。當(dāng)應(yīng)用寄存器鎖定時(shí),DS2430A將從應(yīng)用寄存器傳送數(shù)據(jù),使得寄存器暫存器的內(nèi)容無法讀取。狀態(tài)寄存器的內(nèi)容確定通過該命令接收到的數(shù)據(jù)來自何處。發(fā)出Read Appli-cation Register命令后,主機(jī)必須提供1字節(jié)的數(shù)據(jù)讀取起始地址。單片機(jī)每讀取1字節(jié),DS2430A地址將自動(dòng)加1。讀取地址07h的數(shù)據(jù)后,地址計(jì)數(shù)器將返回到00h,以便繼續(xù)讀取下一個(gè)字節(jié),直到主機(jī)發(fā)送復(fù)位脈沖。
(8)Copy&Lock Application Register[5Ah]復(fù)制并鎖存應(yīng)用寄存器
當(dāng)存儲(chǔ)到寄存器暫存單元的數(shù)據(jù)確認(rèn)后,主機(jī)便可發(fā)出Copy&Lock Application Register命令和確認(rèn)字節(jié)A5h,把數(shù)據(jù)從寄存器暫存器全部寫入到應(yīng)用寄存器并對(duì)應(yīng)用寄存器進(jìn)行寫保護(hù)。主機(jī)也可以通過發(fā)送復(fù)位脈沖(而不是確認(rèn)字節(jié))取消該命令。在確認(rèn)字節(jié)發(fā)出后,應(yīng)用寄存器中將包含寄存器暫存器的數(shù)據(jù)。隨后對(duì)應(yīng)用寄存器進(jìn)行的寫訪問將被拒絕。注意Copy&Lock Application Register命令只能執(zhí)行1次。本文引用地址:http://www.ex-cimer.com/article/162948.htm
3 DS2430A的基本操作流程
DS2430A的基本操作流程:初始化→ROM功能命令→存儲(chǔ)器功能命令→數(shù)據(jù)傳輸。與一般的1-Wire器件類似,所有數(shù)據(jù)處理均從初始化開始,數(shù)據(jù)傳輸都是從低位開始。初始化過程由單片機(jī)發(fā)送的復(fù)位脈沖和DS2430A發(fā)送的在線應(yīng)答脈沖組成。應(yīng)答脈沖用于通知單片機(jī)DS2430A已掛接在總線上,并已準(zhǔn)備就緒。一旦單片機(jī)檢測(cè)到在線應(yīng)答脈沖,就可以發(fā)出4條ROM功能命令中的1個(gè)。所有ROM功能命令的字長(zhǎng)均是8位,表1是這些ROM命令的簡(jiǎn)要介紹。
4 DS2430在即插即用傳感器系統(tǒng)中的應(yīng)用
即插即用傳感器測(cè)量系統(tǒng)在硬件方面,主要由以下幾個(gè)部分組成:傳感器單元(包括傳統(tǒng)模擬傳感器和識(shí)別模塊)、供電單元、信號(hào)調(diào)理單元、A/D轉(zhuǎn)換單元,如圖2所示。
評(píng)論