《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STC15W204S單片機模擬單總線EEPROM芯片DS2431
基于STC15W204S單片機模擬單總線EEPROM芯片DS2431
2017年微型機與應用第8期
張杰1,楊筆鋒1,2,嚴學陽1,劉語嫣1
1.成都信息工程大學 電子工程學院,四川 成都 610225;2.中國氣象局大氣探測重點開放實驗室,四川 成都 610225
摘要: 基于STC15W204S單片機研究模擬了單總線EEPROM芯片DS2431。SOP8封裝的STC15W204S單片機具有引腳少、價格便宜、不需要外部晶振、內(nèi)部時鐘從5 MHz~35 MHz可設置的優(yōu)點。DS2431是一款具有1 024 bit的1 Wire EEPROM芯片,它具有4頁×256 bit的存儲空間,64位唯一不可更改的光刻。64位光刻的唯一性使DS2431廣泛應用于硬件電路的加密、硬件電路唯一的ID序列號以及密鑰信息的存儲等。主要介紹了1Wire通信協(xié)議、單片機模擬芯片硬件電路、單片機模擬DS2431的程序設計流程、單片機模擬DS2431的64位光刻以及EEPROM。
Abstract:
Key words :

  張杰1,楊筆鋒1,2,嚴學陽1,劉語嫣1

  (1.成都信息工程大學 電子工程學院,四川 成都 610225;2.中國氣象局大氣探測重點開放實驗室,四川 成都 610225)

        摘要:基于STC15W204S單片機研究模擬了單總線EEPROM芯片DS2431。SOP8封裝的STC15W204S單片機具有引腳少、價格便宜、不需要外部晶振、內(nèi)部時鐘從5 MHz~35 MHz可設置的優(yōu)點。DS2431是一款具有1 024 bit的1 Wire EEPROM芯片,它具有4頁×256 bit的存儲空間,64位唯一不可更改的光刻。64位光刻的唯一性使DS2431廣泛應用于硬件電路的加密、硬件電路唯一的ID序列號以及密鑰信息的存儲等。主要介紹了1Wire通信協(xié)議、單片機模擬芯片硬件電路、單片機模擬DS2431的程序設計流程、單片機模擬DS2431的64位光刻以及EEPROM。

  關鍵詞單片機模擬單總線器件;1-Wire;DS2431;STC15W204S

  中圖分類號:TP368.1文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.011

  引用格式:張杰,楊筆鋒,嚴學陽,等.基于STC15W204S單片機模擬單總線EEPROM芯片DS2431[J].微型機與應用,2017,36(8):31-33,38.

0引言

  *基金項目:國家重大科學儀器設備開發(fā)專項(2012YQ110205)DS2431是一款具有64位唯一光刻的1 024 bit EEPROM芯片。模擬DS2431就是要模擬DS2431的64位光刻和數(shù)據(jù)的存儲,從而實現(xiàn)用單片機模擬的DS2431和原來的DS2431具有相同的64位光刻和數(shù)據(jù)存儲功能。利用64位光刻的不可更改的特性,DS2431廣泛應用于硬件電路加密、設備唯一ID序列號、關鍵信息存儲、知識產(chǎn)權保護、安全功能控制等。單總線設備具有簡單的線路、較少的硬件開銷和低廉的成本等優(yōu)點,便于總線擴展和維護[12]。作為一種簡單的信號傳輸電路,1Wire總線用一根數(shù)據(jù)線來實現(xiàn)一個或者一個以上的從器件和主控制器之間的半雙工通信。單總線通信可以通過初始化1Wire器件、識別1Wire器件和主機與從機之間數(shù)據(jù)交換三個步驟來實現(xiàn)[34]。它是主從結構,主機呼叫從器件的時候,從器件才進行應答[5]。所以,主機只有通過嚴格的單總線命令序列來訪問1Wire器件,即初始化從器件、ROM、功能命令[67]。如果出現(xiàn)序列混亂,1Wire器件將不會相應主機的命令[89]。模擬1Wire器件要求單片機嚴格應對單總線命令序列和命令時隙,要求單片機對主機發(fā)出的命令進行應答[10]。通過對DS2431應答模擬從而達到用單片機模擬DS2431的目的,用這種方法也可以對其他的1Wire器件進行模擬。

1單總線協(xié)議

  1.11-Wire單總線時序

  1Wire器件在數(shù)據(jù)傳輸過程中都會遵循嚴格的通信協(xié)議,單總線通信協(xié)議有復位脈沖、應答脈沖、寫1、寫0、讀1、讀0幾種類型[11]。

  單總線的初始化步驟如圖1所示。

001.jpg

  (1)主機拉低總線480 μs~960 μs,然后主機釋放總線進入接收狀態(tài)[12]。

 ?。?)從機監(jiān)測到主機不少于480 μs的復位信號后等待15 μs~60 μs,然后產(chǎn)生一個應答信號(拉低總線60 μs~240 μs)[13]。

 ?。?)從機釋放總線至少一個2 μs的恢復時間。

  寫1和寫0時序步驟如圖2所示。

002.jpg

  (1)主機拉低總線5 μs~15 μs,然后主機將總線拉高或者拉低45 μs。

 ?。?)從機在15 μs后開始采樣。

  (3)主機釋放總線并且有至少一個2 μs的恢復時間(標準是5 μs)。

  (4)整個寫1時隙至少60 μs。

  讀數(shù)據(jù)時序步驟如圖3所示。

003.jpg

 ?。?)主機將總線拉低至少1 μs。

 ?。?)從機從下降沿到來之后將總線拉低或者拉高并保持15 μs。

 ?。?)在主機拉低總線后15 μs內(nèi)主機釋放總線并采樣。

 ?。?)15 μs后由電阻將總線拉高。

 ?。?)整個時間不少于60 s,每個時間片之后有一個至少2 μs的恢復時間。

  1.2單總線接口

004.jpg

  圖4單總線接口單總線接口電路是非常簡單的,DS2431的讀和寫的電壓范圍是2.8 V~5.25 V。在I/O口接一個上拉電阻,根據(jù)DS2431數(shù)據(jù)手冊,上拉電阻電阻的范圍是0.3 kΩ~2.2 kΩ。單總線接口如圖4所示。

2模擬單總線器件時序及接口

  2.1模擬單總線器件時序

  模擬單總線器件的時序最重要的是在符合單總線通信協(xié)議的規(guī)定時間內(nèi)對主機發(fā)起的信號進行應答,其中需要對延時把握精確,錯過了時序主機有可能視從機沒有應答從而通信失敗。在模擬時序的時候可以借助邏輯分析儀來對時序進行分析并通過分析結果對模擬時序進行微調(diào)。

  模擬單總線初始化步驟如圖5所示。

005.jpg

 ?。?)單片機等待主機復位信號,監(jiān)測主機拉低總線并在480 μs內(nèi)再次確認主機拉低了總線。

 ?。?)單片機在確認了復位信號后延時等待總線拉高。

 ?。?)單片機監(jiān)測到主機將總線釋放拉高后拉低總線(從機應答)60~240 μs。

 ?。?)單片機釋放總線(拉高總線表示應答完成)。

  模擬主機寫1和寫0時序步驟:

 ?。?)單片機等待主機拉低總線發(fā)起通信。

  (2)在監(jiān)測到主機拉低總線后,單片機延時幾微秒后開始采樣。

  (3)單片機采樣后開始延時,主機寫完數(shù)據(jù)后恢復總線。

 ?。?)整個時間持續(xù)60 μs。

  時序圖如圖5所示,其中采樣時間可以微調(diào),可以借助邏輯分析儀分析時序。主機寫命令55h并匹配。

  ROM的模擬時序如圖6所示。

006.jpg

  模擬主機讀數(shù)據(jù)時序步驟:

 ?。?)主機將總線拉低至少1 μs。

 ?。?)單片機監(jiān)測到主機拉低總線1 μs后立即對總線拉高或者拉低,要確保主機能夠進行采樣。

 ?。?)主機采樣后,單片機恢復總線。

 ?。?)整個時間不少于60 μs,每個時間片之后有一個至少2 μs的恢復時間。

  時序圖如圖3所示,其中單片機對總線操作的時間可以微調(diào),可以借助邏輯分析儀分析時序。主機寫命令FOh并搜索ROM的模擬時序如圖7所示。

 

007.jpg

  2.2模擬單總線器件硬件電路接口設計

  STC15W204S單片機工作電壓范圍為2.5 V~5.5 V,在ISP編程時內(nèi)部時鐘在5 MHz~35 MHz范圍內(nèi)可調(diào),±1%溫飄(-40℃~+85℃)常溫下溫飄±0.6%(-20℃~+65℃),可以滿足硬件指標要求。STC15W204S有8個引腳6個I/O口。調(diào)試時P3.0和P3.1做串行接口用于燒寫程序,P3.3、P5.4、P5.5可以接一個LED燈用于調(diào)試觀測單片機狀態(tài)。燒寫好程序的單片機只需要3個引腳便可以工作。電路接口設計如圖8所示。

008.jpg

3模擬DS2431的程序設計

  3.1程序設計的流程

009.jpg

  圖9程序設計流程主機會在一開始發(fā)出復位信號,一旦檢測到有從器件存在就可以發(fā)出ROM操作命令[14]。ROM命令有“讀”ROM【33h】、“匹配”ROM【55h】、“跳過”ROM【CCh】、“搜索”ROM【F0h】等。如果主機發(fā)出了ROM命令,那么單片機接收到了ROM命令就要做出相應的回應。同樣接下來主機會發(fā)出讀寫操作,單片機也進行相應的回應。程序設計流程如圖9所示。

  3.2模擬64位光刻和EEPROM

  因為每一片單總線芯片的64位光刻都是唯一且不可更改的,所以DS2431的光刻可以用來做硬件ID序列號,也可以用來加密硬件,EEPROM可以用來存儲關鍵信息。

  為模擬光刻,首先讀出一塊DS2431的光刻,然后用單片機開一個8 B的數(shù)組存儲這些光刻。當主機發(fā)出33h命令時單片機就按字節(jié)給它吐光刻,當主機發(fā)出F0h命令時單片機就按位吐出光刻。當主機發(fā)出55h命令時單片機默認接收相應的數(shù)據(jù)即可[15]。需要注意的是主機發(fā)出的命令是先寫高位再寫低位,在接收命令的時候也是先接收高位再接收低位。

  模擬EEPROM可以用單片機開一塊數(shù)組用來存儲數(shù)據(jù),可以一開始就給這些數(shù)組寫一些固定的值,主機來讀的時候就吐數(shù)給它。也可以開一片內(nèi)存來存儲主機寫的數(shù),單片機可以將這些數(shù)據(jù)存到片內(nèi)EEPROM。在設計這個數(shù)組的時候要參照模擬目標的EEPROM結構,單片機在接到地址命令和頁碼命令時用相應的數(shù)組結構來對應。

4結論

  利用STC15W204S單片機模擬DS2431有很好的發(fā)展前景和利用價值,STC15W204S單片機具有引腳少、功耗低、不需外部晶振、價格低廉等優(yōu)點。本研究實現(xiàn)了用單片機模擬DS2431,破解了DS2431光刻不可以復制的難題。本研究實現(xiàn)了用單片機模擬單總線從機的應答時序,利用這種方法還可以模擬其他的單總線設備。DS2431廣泛應用于打印設備、醫(yī)療設備、硬件電路的加密。利用STC15W204S單片機模擬DS2431的部分功能就可以破解某些加密設備、復制硬件電路等。STC15W204S單片機具有溫度漂移,在復制的時候應考慮溫度漂移范圍。單片機的工作范圍應設置不同的頻率多次下載程序測試,并結合延時函數(shù)的修改來確定,下載程序時應取其正常工作范圍的中間值來克服溫度漂移問題??梢岳酶叩蜏貙嶒瀬眚炞C程序及模擬單片機的可靠性。

參考文獻

 ?。?] 陳浩. 基于智能傳感器和單片機的溫度監(jiān)測系統(tǒng)[D]. 北京:華北電力大學,2005.

 ?。?] 陳志英,李光輝. 單總線技術及其應用[J]. 電氣時代,2015(8):74-75.

 ?。?] 楊張利. IC卡燃氣表智能控制及檢測系統(tǒng)研究[D]. 重慶:重慶大學,2007

 ?。?] 胡皓,雷金莉,周妮娜. 1-Wire總線技術及其在火災監(jiān)測中的應用[J]. 機電工程技術,2006,35(6):68-71.

 ?。?] 張揚清. 基于雙機通信的電壓和溫度監(jiān)控系統(tǒng)[J]. 科技風,2013(23):104-105.

 ?。?] 張東. 基于雙CPU的溫室溫度遠距離測控系統(tǒng)研究[D]. 重慶:重慶大學,2007

  [7] 張華峰. One-Wire Bus檢測網(wǎng)從站管理及可靠傳輸研究[D]. 南昌:南昌大學,2007

 ?。?] 高羅卿. 1-wire系統(tǒng)中TM卡的單片機等效替換[J]. 單片機與嵌入式系統(tǒng)應用, 2008(8):62-65.

 ?。?] 李穎. 車用動力電池SOC估算方法的研究及其管理系統(tǒng)設計[D]. 沈陽:東北大學, 2012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。