版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1-wire單總線的基本原理一、概述1-wire單總線是Maxmi全資子公司DaUas的一項專有技術(shù)。與目前多數(shù)標(biāo)準(zhǔn)串行數(shù)據(jù)通信方式,如spi/Fczmicrowire不同,它采用單根信號線,既傳輸時鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的。它具有節(jié)省DOII線資源、結(jié)構(gòu)簡單、成本低廉、便丁總線擴展和維護等諸多優(yōu)點。單總線適用于單個主機系統(tǒng),能夠控制一個或多個從機設(shè)備。當(dāng)只苗一個從機位丁總線上時,系統(tǒng)可按照單節(jié)點系統(tǒng)操作:而當(dāng)多個從機位于總線上時,則系統(tǒng)按照多節(jié)點系統(tǒng)操作。為了較為全而地介紹單總線系統(tǒng),將系統(tǒng)分為三個部分討論:哽件結(jié)構(gòu)、命令序列和信號方式(信號類型和時序)。二、硬件結(jié)構(gòu)顧名思義,單
2、總線只有一根數(shù)據(jù)線。設(shè)備(主機或從機)通過一個漏極開路或三態(tài)端11,連接至該數(shù)據(jù)線,這樣允許設(shè)備在不發(fā)送數(shù)據(jù)時釋放數(shù)據(jù)總線,以便總線被其它設(shè)備所使用O單總線端11為漏極開路,其內(nèi)部等效電路如圖1所示。單總線要求外接一個約5k的上拉電阻;這樣,單總線的閑置狀態(tài)為高電平。不管什么原因,如果傳輸過程需要暫時掛起,且要求傳輸過程還能夠繼續(xù)的話,則總線必須處于空閑狀態(tài)。位傳輸Z間的恢復(fù)時間沒有限制,只要總線在恢復(fù)期間處F空閑狀態(tài)(高電平)。如果總線保持低電平超過480US,總線上的所有器件將復(fù)位。另外,在寄生方式供電時,為了保證單總線器件在某些工作狀態(tài)卞(如溫度轉(zhuǎn)換期河、EEPROM寫入等)具有足夠的電
3、源電流,必須在總線上提供強上拉(如圖1所示的MOSFET)。三、命令序列典型的單總線命令序列如卜:第一步:初始化第二步:ROM命令(跟隨需要交換的數(shù)據(jù))第三步:功能命令(跟隨需要交換的數(shù)據(jù))每次訪問單總線器件,必須嚴(yán)格遵守這個命令序列,如果出現(xiàn)序列混亂,則單總線器件不會響應(yīng)主機。但是,這個準(zhǔn)則對丁搜索ROM命令和報警搜索命令例外,在執(zhí)行兩者中任何一條命令Z后,主機不能執(zhí)行其后的功能命令,必須返回至第一步。1初始化基于單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機發(fā)出的復(fù)位脈沖和從機響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道,總線上有從機設(shè)備,且準(zhǔn)備就緒。復(fù)位和應(yīng)答脈沖的時間詳見單總線信
4、號部分。3.2ROM命令在主機檢測到應(yīng)答脈沖后,就可以發(fā)出ROM命令。這些命令與各個從機設(shè)備的唯一64位ROM代碼相關(guān),允許主機在單總線上連接多個從機設(shè)備時,指定操作某個從機設(shè)備。這些命令還允許主機能夠檢測到總線上有多少個從機設(shè)備以及其設(shè)備類型,或者有沒有設(shè)備處丁報警狀態(tài)。從機設(shè)備可能支持5種ROM命令(實際情況與貝體型號有關(guān)),每種命令長度為8位。主機在發(fā)出功能命令Z前,必須送出合適的ROM命令。RON1命令的操作流程如圖2所示。卜面將簡要地介紹各個ROM命令的功能,以及使用在何種情況匸圖2、ROM命令流程圖3.2.1搜索ROMF01i當(dāng)系統(tǒng)初始上電時,主機必須找出總線上所有從機設(shè)備的ROM
5、代碼,這樣主機就能夠判斷岀從機的數(shù)目和類型。主機通過重復(fù)執(zhí)行搜索ROM循環(huán)(搜索ROM命令跟隨著位數(shù)據(jù)交換),以找出總線上所有的從機設(shè)備。如果總線只有一個從機設(shè)備,則可以采用讀ROM命令來替代搜索ROM命令。關(guān)于搜索ROM命令的詳細(xì)解釋,請參見附錄A。在每次執(zhí)行完搜索ROM循壞后,主機必須返回至命令序列的第一步(初始化)。3.2.2讀ROM33h(僅適合于單節(jié)點)該命令僅適用于總線上只有一個從機設(shè)備。它允許主機直接讀出從機的64位ROM代碼,而無須執(zhí)行搜索ROM過程。如果該命令用于多節(jié)點系統(tǒng),則必然發(fā)生數(shù)據(jù)沖突,因為每個從機設(shè)備都會響應(yīng)該命令。3.2.3匹配ROM55町匹配ROM命令跟隨64位
6、ROM代碼,從而允許主機訪問多節(jié)點系統(tǒng)中某個指定的從機設(shè)備。僅當(dāng)從機完全匹配64位ROM代碼時,才會響應(yīng)主機隨后發(fā)岀的功能命令;其它設(shè)備將處于等待復(fù)位脈沖狀態(tài)。3.2.4跳越ROMCCh(僅適合于單節(jié)點)主機能夠采用該命令同時訪問總線上的所有從機設(shè)備,而無須發(fā)出任何ROM代碼信息。例如,主機通過在發(fā)出跳越ROM命令后跟隨轉(zhuǎn)換溫度命令44h,就可以同時命令總線上所有的DS18E20開始轉(zhuǎn)換溫度,這樣人人節(jié)省了主機的時間。值得注意,如果跳越ROM命令跟隨的是讀暫存器EEh的命令(包括其它讀操作命令),則該命令只能應(yīng)用單節(jié)點系統(tǒng),否則將由于多個節(jié)點都響應(yīng)該命令而引起數(shù)據(jù)沖突。3.2.5報警搜索ECh
7、(僅少數(shù)1-wire器件支持)除那些設(shè)置了報警標(biāo)志的從機響應(yīng)外,該命令的工作方式完全等同于搜索ROM命令。該命令允許主機設(shè)備判斷那些從機設(shè)備發(fā)生了報警(如最近的測最溫度過高或過低等)。同搜索ROM命令一樣,在完成報警搜索循壞后,主機必須返回至命令序列的第一步。3.3功能命令(以DS18B20為例)在主機發(fā)出ROM命令,以訪問某個指定的DS18B2O,接著就可以發(fā)出DS18B20支持的某個功能命令。這些命令允許主機寫入或讀出DS18B20暫存器、啟動溫度轉(zhuǎn)換以及判斷從機的供電方式。DS18B20的功能命令總結(jié)于表1中,并在圖3流程圖中作了說明。表、DS18B20功能命令集命令描述命令代碼發(fā)送命令
8、后,單總線上的響應(yīng)信息注釋溫度轉(zhuǎn)換命令轉(zhuǎn)換溫度啟動溫度轉(zhuǎn)換44h無1存儲器命令讀暫存器讀全部的暫存器內(nèi)容,包括CRC字節(jié)BEhDS18B20傳輸多達(dá)9個字節(jié)至主機2寫暫存器寫暫存器第2、3和4個字節(jié)的數(shù)據(jù)(即G,Il和配置寄存器)4Eh主機傳輸3個字節(jié)數(shù)據(jù)至DS18B203復(fù)制暫存器將暫存器中的Th,口和配置字節(jié)復(fù)制到EEPROM中48h無1回讀EEPROM將Th,Il和配置字節(jié)從EEPROM回讀至?xí)捍嫫髦蠦8hDS18B20傳送回讀狀態(tài)至主機注釋:在溫度轉(zhuǎn)換和復(fù)制暫冇器數(shù)據(jù)至EEPROM期間,主機必須在單總線上允許強上拉。并且在此期間,總線上不能進行其它數(shù)據(jù)傳輸:通過發(fā)出復(fù)位脈沖,主機能夠在
9、任何時候中斷數(shù)據(jù)傳輸;在復(fù)位脈沖發(fā)出前,必須寫入全部的三個字節(jié)。圖3、DS18B20的功能命令流程圖四、信號方式所有的單總線器件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號類型:復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0和讀1。所有這些信號,除了應(yīng)答脈沖以外,都由主機發(fā)出同步信號。并且發(fā)送所有的命令和數(shù)據(jù)都是字節(jié)的低位在前,這一點與多數(shù)串行通信格式不同(多數(shù)為字節(jié)的高位在前)。1初始化序列:復(fù)位和應(yīng)答脈沖單總線上的所有通信都是以初始化序列開始,包括:主機發(fā)出的復(fù)位脈沖及從機的應(yīng)答脈沖,如圖4所示。當(dāng)從機發(fā)出響應(yīng)主機的應(yīng)答脈沖時,即向主機表明它處丁總線上,且工作準(zhǔn)備就逵型幺號主機拉
10、屍總銭以機拉低忌規(guī)電阻上檢圖4、單總線初始化時序圖緒。在主機初始化過程,主機通過拉低單總線至少480ps,以產(chǎn)生(Tx)復(fù)位脈沖。接著,主機釋放總線,并進入接收模式(Rx)。當(dāng)總線被釋放后,5k上拉電阻將單總線拉高。在單總線器件檢測到上升沿后,延時15-60ns,接著通過拉低總線60-240ns,以產(chǎn)生應(yīng)答脈沖。4.2讀/寫時隙在寫時隙期間,主機向單總線器件寫入數(shù)據(jù);而在讀時隙期間,主機讀入來自從機的數(shù)據(jù)。在每一個時隙,總線只能傳輸一位數(shù)據(jù)。4.2.1寫時隙存在兩種寫時隙:“寫1”和“寫0”。主機采用寫1時隙向從機寫入1,而采用寫0時隙向從機寫入0。所付寫時隙至少需要60Us,且在兩次獨立的寫
11、時隙Z間至少需要1Us的恢復(fù)時河。兩種寫時隙均起始于主機拉低總線(圖5所示)。產(chǎn)生寫1時隙的方式:主機在拉低總線后,接著必須在15nsZ內(nèi)釋放總線,由5k上拉電阻將總線拉至高電平;而產(chǎn)生寫0時隙的方式:在主機拉低總線后,只需在整個時隙期間保持低電平即可(至少60us)o在寫時隙起始后15-60us期間,單總線器件采樣總線電平狀態(tài)。如果在此期間采樣為高電平,則邏輯1被寫入該器件;如果為0則寫入邏輯0。2.2讀時隙單總線器件僅在主機發(fā)出讀時隙時,才向主機傳輸數(shù)據(jù),所以,在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便從機能夠傳輸數(shù)據(jù)。所有讀時隙至少需耍60US,且在兩次獨立的讀時隙Z間至少需要lu
12、s的恢復(fù)時間。每個讀時隙都由主機發(fā)起,至少拉低總線1US(圖5所示)。在主機發(fā)起讀時隙Z后,單總線器件才開始在總線上發(fā)送0或1。若從機發(fā)送1,則保持總線為高電平;若發(fā)送0則拉低總線。當(dāng)發(fā)送0時,從機在該時隙結(jié)束后釋放總線,由上拉電阻將總線拉回至空閑高電平狀態(tài)。從機發(fā)出的數(shù)據(jù)在起始時隙Z后,保持有效時間15us,因而,主機在讀時隙期間必須釋放總線,并且在時隙起始后的15usZ內(nèi)采樣總線狀態(tài)。主枷葦,ati*1a*VTm.kVoVru.ONO153030pc1S主機洙“L”PtR*土初3實vPv1-WIREONDA145p團5.主機讀/有匸時障旳時序示議團11mv0陽上KZAA.VimiiXlW.
13、WC主機來桿時刎71附錄A:ROM搜索實例ROM搜索過程只是一個簡單的三步循壞程序:讀一位、讀該位的補碼、寫入一個期里的數(shù)據(jù)位??偩€主機在ROM的每一位上都重復(fù)這樣的三步循壞程序。當(dāng)完成某個器件后,主機就能夠知曉該器件的ROM信息。剩卜的設(shè)備數(shù)最及其ROM代碼通過相同的過程即可獲得。下面的ROM搜索過程實例假設(shè)四個不同的器件被連接至同一條總線上,它們的ROM代碼如下所示:ROM100110101.ROM210101010.ROM311110101.ROM400010001.具體搜索過程如下:主機發(fā)出復(fù)位脈沖,啟動初始化序列。從機設(shè)備發(fā)出響應(yīng)的應(yīng)答脈沖;接著主機在總線上發(fā)出ROM搜索命令;主機從
14、總線上準(zhǔn)備讀入一個數(shù)據(jù)位,這時,每個響應(yīng)設(shè)備分別將ROM代碼的第一位輸岀到單總線上。ROM1和ROM4輸出0至總線,而ROM2和ROM3輸出1至總線。線上的輸岀結(jié)果將是所有器件的邏輯“與”,所以,主機從總線上讀到的將是0。接著,主機開始讀另一位,即每個器件分別輸出ROM代碼中第一位的補碼,此時,ROM1和ROM4輸出1至總線,而ROM2和ROM3輸出0至總線。這樣,主機讀到的該位補碼還是0。主機由此判定,總線上有些器件的ROM代碼第一位為0,有些則為1;兩次讀到的數(shù)據(jù)位具有以下含義:00在該位處,存在設(shè)備沖突;01在該位處,所有器件為0;在該位處,所有器件為1:單總線不存在任何設(shè)備。主機寫入0
15、,從而禁止了ROM2和ROM3響應(yīng)余卜的搜索命令,僅在總線上留卜了ROM1和ROM4;主機再執(zhí)行兩次讀操作,依次收到0和1,這表明ROM1和ROM4在ROM代碼的第二位都是0;接著主機寫入0在總線上繼續(xù)保持ROM1和ROM4;主機又執(zhí)行兩次讀操作,收到兩個0,表明所連接的設(shè)備的ROM代碼在第三位既有0,也有1;主機再次寫入0,從而禁止了ROM1響應(yīng)余下的搜索命令,僅在總線上留卜TROM2;主機讀完ROM4余下的ROM數(shù)據(jù)位。這樣就完成了第一次搜索,并找到了位丁總線上的第一個設(shè)備;重復(fù)執(zhí)行第1至第7步,開始新一輪的ROM搜索命令;主機寫入1,使ROM4離線,僅在總線上留FROM1;主機讀完ROM1余卜的ROM數(shù)據(jù),這樣就完成了第二次的ROM搜索,找到了第一-個ROM代碼:重復(fù)執(zhí)行第1至第3步,開始新一輪的ROM搜索命令;主機寫入1,這次禁止了ROM1和ROM4響應(yīng)余卜的搜索命令,僅在總線上留FTROM2和ROM3;主機又執(zhí)行兩次讀操作時隙,讀到兩個0;主機寫入0,這樣禁止了ROM3,而留FTR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小額信用借款合同書樣本
- 醫(yī)療器材合作合同樣本
- 農(nóng)村宅基地買賣合同樣本
- 夫妻雙方自愿離婚協(xié)議書撰寫要點
- 2024大學(xué)生就業(yè)協(xié)議書范例
- 離婚標(biāo)準(zhǔn)協(xié)議書815672024年
- 股東之間的投資合作協(xié)議
- 汽車買賣合同書樣本
- 電視劇動畫制作合作協(xié)議
- 合同擔(dān)保書樣本
- 浙江泰隆商業(yè)銀行員工手冊
- 審計技能實訓(xùn)教程(喻竹 第二版) 教案全套 1.1-9.2 業(yè)務(wù)承接與評價-審計底稿歸檔
- 徐州市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案解析)
- 生涯發(fā)展報告通用模板
- 越人歌音樂分析報告
- 2024年湖北省工業(yè)建筑集團有限公司招聘筆試參考題庫含答案解析
- 年輕干部優(yōu)勢分析報告
- 社區(qū)家庭教育活動指導(dǎo)方案
- 《浮點數(shù)計算方法》課件
- 蘇州市2022-2023學(xué)年高二下學(xué)期期中考試化學(xué)試題(原卷版)
- 美術(shù)新課標(biāo)培訓(xùn)課件
評論
0/150
提交評論