91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

微軟公司宣布不再支持你正在使用的 IE瀏覽器,這會嚴(yán)重影響瀏覽網(wǎng)頁,請使用微軟最新的Edge瀏覽器
廠商專區(qū)
產(chǎn)品/技術(shù)
應(yīng)用分類

基于STC15W204S模擬單總線EEPROM芯片DS2431

2019-01-03 16:05 來源:互聯(lián)網(wǎng) 編輯:niko

基于 STC15W204S 單片機(jī)研究模擬了單總線 EEPROM 芯片 DS2431。SOP-8 封裝的 STC15W204S 單片機(jī)具有引腳少、價 格便宜、不需要外部晶振、內(nèi)部時鐘從 5 MHz ~ 35 MHz 可設(shè)置的優(yōu)點(diǎn)。DS2431 是一款具有 1 024 bit 的 1 Wire EEPROM 芯片,它 具有 4 頁 × 256 bit 的存儲空間,64 位唯一不可更改的光刻。

引言

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

1 單總線協(xié)議

1.1 1-Wire單總線時序

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

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

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

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

( 3) 從機(jī)釋放總線至少一個 2 μs 的恢復(fù)時間。

基于STC15W204S模擬單總線EEPROM芯片DS2431

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

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

( 2) 從機(jī)在 15 μs 后開始采樣。

( 3) 主機(jī)釋放總線并且有至少一個 2 μs 的恢復(fù)時間 ( 標(biāo)準(zhǔn)是 5 μs) 。

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

基于STC15W204S模擬單總線EEPROM芯片DS2431

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

( 1) 主機(jī)將總線拉低至少 1 μs。

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

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

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

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

基于STC15W204S模擬單總線EEPROM芯片DS2431


1.2單總線接口

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

QQ20190103-161641


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

2. 1 模擬單總線器件時序

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

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

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

( 2) 單片機(jī)在確認(rèn)了復(fù)位信號后延時等待總線拉高。

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

( 4) 單片機(jī)釋放總線( 拉高總線表示應(yīng)答完成) 。

基于STC15W204S模擬單總線EEPROM芯片DS2431

模擬主機(jī)寫 1 和寫 0 時序步驟:

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

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

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

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

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

QQ20190103-161830

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

( 1) 主機(jī)將總線拉低至少 1 μs。

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

( 3) 主機(jī)采樣后,單片機(jī)恢復(fù)總線。

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

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

基于STC15W204S模擬單總線EEPROM芯片DS2431

2. 2模擬單總線器件硬件電路接口設(shè)計

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

基于STC15W204S模擬單總線EEPROM芯片DS2431

3 模擬 DS2431 的程序設(shè)計

3. 1 程序設(shè)計的流程

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

基于STC15W204S模擬單總線EEPROM芯片DS2431

3.2 模擬64位光刻和EEPROM 

因?yàn)槊恳黄瑔慰偩€芯片的 64 位光刻都是唯一且不可更改的,所以 DS2431 的光刻可以用來做硬件 ID 序列號, 也可以用來加密硬件,EEPROM 可以用來存儲關(guān)鍵信息。

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

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

4 結(jié)論

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

標(biāo)簽: STC15W204S DS2431 單片機(jī)

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認(rèn),避免給雙方造成不必要的經(jīng)濟(jì)損失,請電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。

相關(guān)閱讀

微信關(guān)注
技術(shù)專題 更多>>
技術(shù)專題之EMC
技術(shù)專題之PCB

頭條推薦

電子行業(yè)原創(chuàng)技術(shù)內(nèi)容推薦
客服熱線
服務(wù)時間:周一至周五9:00-18:00
微信關(guān)注
獲取一手干貨分享
免費(fèi)技術(shù)研討會
editor@netbroad.com
400-003-2006
主站蜘蛛池模板: 乌兰察布市| 四会市| 科技| 淮滨县| 淅川县| 区。| 定州市| 滦南县| 咸阳市| 淄博市| 文成县| 玉龙| 三门峡市| 松阳县| 永清县| 开阳县| 巴彦淖尔市| 饶平县| 江口县| 高邑县| 盘山县| 大渡口区| 清新县| 岢岚县| 襄汾县| 渝中区| 成安县| 东阳市| 肥东县| 璧山县| 吴江市| 合水县| 云南省| 健康| 姜堰市| 苏尼特右旗| 彩票| 黄陵县| 浮梁县| 剑川县| 旅游|