單總線(xiàn)(1-Wire Bus)技術(shù)及其應用

發(fā)布時(shí)間:2010-12-8 20:41    發(fā)布者:designer
關(guān)鍵詞: 單總線(xiàn)
1 引言

目前常用的微機與外設之間進(jìn)行數據傳輸的串行總線(xiàn)主要有I2C總線(xiàn)、SPI總線(xiàn)和SCI總線(xiàn)。其中I2C總線(xiàn)以同步串行2線(xiàn)方式進(jìn)行通信(一條時(shí)鐘線(xiàn),一條數據線(xiàn)),SPI總線(xiàn)則以同步串行3線(xiàn)方式進(jìn)行通信(一條時(shí)鐘線(xiàn),一條數據輸入線(xiàn),一條數據輸出線(xiàn)),而SCI總線(xiàn)是以異步方式進(jìn)行通信(一條數據輸入線(xiàn),一條數據輸出線(xiàn))的。這些總線(xiàn)至少需要兩條或兩條以上的信號線(xiàn)。近年來(lái),美國的達拉斯半導體公司(DALLAS SEMICONDUCTOR)推出了一項特有的單總線(xiàn)(1-Wire Bus)技術(shù)。該技術(shù)與上述總線(xiàn)不同,它采用單根信號線(xiàn),既可傳輸時(shí)鐘,又能傳輸數據,而且數據傳輸是雙向的,因而這種單總線(xiàn)技術(shù)具有線(xiàn)路簡(jiǎn)單,硬件開(kāi)銷(xiāo)少,成本低廉,便于總線(xiàn)擴展和維護等優(yōu)點(diǎn)。

單總線(xiàn)適用于單主機系統,能夠控制一個(gè)或多個(gè)從機設備。主機可以是微控制器,從機可以是單總線(xiàn)器件,它們之間的數據交換只通過(guò)一條信號線(xiàn)。當只有一個(gè)從機設備時(shí),系統可按單節點(diǎn)系統操作;當有多個(gè)從設備時(shí),系統則按多節點(diǎn)系統操作。圖1所示是單總線(xiàn)多節點(diǎn)系統的示意圖。



2 單總線(xiàn)的工作原理


顧名思義,單總線(xiàn)即只有一根數據線(xiàn),系統中的數據交換、控制都由這根線(xiàn)完成。設備(主機或從機)通過(guò)一個(gè)漏極開(kāi)路或三態(tài)端口連至該數據線(xiàn),以允許設備在不發(fā)送數據時(shí)能夠釋放總線(xiàn),而讓其它設備使用總線(xiàn),其內部等效電路如圖2所示。單總線(xiàn)通常要求外接一個(gè)約為4.7kΩ的上拉電阻,這樣,當總線(xiàn)閑置時(shí),其狀態(tài)為高電平。主機和從機之間的通信可通過(guò)3個(gè)步驟完成,分別為初始化1-wire器件、識別1-wire器件和交換數據。由于它們是主從結構,只有主機呼叫從機時(shí),從機才能應答,因此主機訪(fǎng)問(wèn)1-wire器件都必須嚴格遵循單總線(xiàn)命令序列,即初始化、ROM、命令功能命令。如果出現序列混亂,1-wire器件將不響應主機(搜索ROM命令,報警搜索命令除外)。表1是列為ΔΙΩ命令的說(shuō)明,而功能命令則根據具體1-wire器件所支持的功能來(lái)確定。

表1 ROM命令說(shuō)明

ROM命令說(shuō) 明
搜索ROM(F0h)識別單總線(xiàn)上所有的1-wire器件的ROM編碼
讀ROM(33h)(僅適合單節點(diǎn))直接讀1-wire器件的序列號
匹配ROM(55h)尋找與指定序列號相匹配的1-wire器件
跳躍ROM(CCh)(僅適合單節點(diǎn))使用該命令可直接訪(fǎng)問(wèn)總線(xiàn)上的從機設備
報警搜索ROM(Ech)(僅少數器件支持)搜索有報警的從機設備


3 信號方式

所有的單總線(xiàn)器件都要遵循嚴格的通信協(xié)議,以保證數據的完整性。1-wire協(xié)議定義了復位脈沖、應答脈沖、寫(xiě)0、讀0和讀1時(shí)序等幾種信號類(lèi)型。所有的單總線(xiàn)命令序列(初始化,ROM命令,功能命令)都是由這些基本的信號類(lèi)型組成的。在這些信號中,除了應答脈沖外,其它均由主機發(fā)出同步信號,并且發(fā)送的所有命令和數據都是字節的低位在前。圖3是這些信號的時(shí)序圖。其中,圖3(a)是初始化時(shí)序,初始化時(shí)序包括主機發(fā)出的復位脈沖和從機發(fā)出的應答脈沖。主機通過(guò)拉低單總線(xiàn)至少480μs產(chǎn)生Tx復位脈沖;然后由主機釋放總線(xiàn),并進(jìn)入Rx接收模式。主機釋放總線(xiàn)時(shí),會(huì )產(chǎn)生一由低電平跳變?yōu)楦唠娖降纳仙,單總線(xiàn)器件檢測到該上升沿后,延時(shí)15~60μs,接著(zhù)單總線(xiàn)器件通過(guò)拉低總線(xiàn)60~240μsμ來(lái)產(chǎn)生應答脈沖。主機接收到從機的以應答脈沖后,說(shuō)明有單總線(xiàn)器件在線(xiàn),然后主機就可以開(kāi)始對從機進(jìn)行ROM命令和功能命令操作。圖3中的(b)、(c)、(d)分別是寫(xiě)1、寫(xiě)0和讀時(shí)序。在每一個(gè)時(shí)序中,總線(xiàn)只能傳輸一位數據。所有的讀、寫(xiě)時(shí)序至少需要60μs,且每?jì)蓚(gè)獨立的時(shí)序之間至少需要1μs的恢復時(shí)間。圖中,讀、寫(xiě)時(shí)序均始于主機拉低總線(xiàn)。在寫(xiě)時(shí)序中,主機將在拉低總線(xiàn)15μs之內釋放總線(xiàn),并向單總線(xiàn)器件寫(xiě)1;若主機拉低總線(xiàn)后能保持至少60μs的低電平,則向單總線(xiàn)器件寫(xiě)0。單總線(xiàn)器件僅在主機發(fā)出讀時(shí)序時(shí)才向主機傳輸數據,所以,當主機向單總線(xiàn)器件發(fā)出讀數據命令后,必須馬上產(chǎn)生讀時(shí)序,以便單總線(xiàn)器件能傳輸數據。在主機發(fā)出讀時(shí)序之后,單總線(xiàn)器件才開(kāi)始在總線(xiàn)上發(fā)送0或1。若單總線(xiàn)器件發(fā)送1,則總線(xiàn)保持高電平,若發(fā)送0,則拉低總線(xiàn)。由于單總線(xiàn)器件發(fā)送數據后可保持15μs有效時(shí)間,因此,主機在讀時(shí)序期間必須釋放總線(xiàn),且須在15μs的采樣總線(xiàn)狀態(tài),以便接收從機發(fā)送的數據。





4 單總線(xiàn)器件

通常把掛在單總線(xiàn)上的器件稱(chēng)之為單總線(xiàn)器件,單總線(xiàn)器件內一般都具有控制、收*發(fā)、存儲等電路。為了區分不同的單總線(xiàn)器件,廠(chǎng)家生產(chǎn)單總線(xiàn)器件時(shí)都要刻錄一個(gè)64位的二進(jìn)制ROM代碼,以標志其ID號。目前,單總線(xiàn)器件主要有數字溫度傳感器(如DS18B20)、A/D轉換器(如DS2450)、門(mén)標、身份識別器(如DS1990A)、單總線(xiàn)控制器(如DS1WM)等。這里介紹一種iButton形式的單總線(xiàn)器件,它是利用瞬間接觸來(lái)進(jìn)行數字通信的,這些器件的應用已經(jīng)滲透到貨幣交易和高度安全的認證系統之中。IButton是采用紐扣狀不銹鋼外殼封裝的微型計算機晶片,它具有抗撞擊、防水漬、耐腐蝕、抗磁擾、防折疊、價(jià)格便宜等特點(diǎn),能較好的解決傳統識別器存在的不足,同時(shí)又可滿(mǎn)足系統在可靠性、穩定性方面的要求。

IButton主要有三種類(lèi)型,分別是Memory iButton(存儲器);Java-powered cryptographic iButton(加密型);Thermochron iButton(溫度型)。存儲型iButton最大存儲空間為64kB,可以存儲文本或數字照片。加密型iButton是一種微處理器和高速算法加速器,可以產(chǎn)生大量需要加密和解密的數據信息,它的運行速度非?,可與Internet應用相結合,并可應用于遠程鑒定識別。溫度型iButton可以測量溫度變化,它內含溫度計、時(shí)鐘、熱記錄和存儲單元等。





5 單總線(xiàn)器件的應用

現以單總線(xiàn)器件iButton在安防系統上的應用為例來(lái)進(jìn)行說(shuō)明,該安防系統就是利用iButton來(lái)進(jìn)行門(mén)禁識別的。其門(mén)禁識別部分的硬件原理圖如圖4所示,它由主機微控制器、從機(包括iButton信息讀取頭和iButton)、主機通過(guò)RS485進(jìn)行遠程通信(或通過(guò)MicroWeb連上Internet)等三部分組成。微控制器采用Microchip公司的PIC16F873芯片,而API8108A語(yǔ)音芯片則用來(lái)告訴用戶(hù)系統信息;iButton采用DS1990A,信息讀取頭被讀取并同時(shí)送到主機微控制器,然后由主機把收到的標識碼與原先存儲的iButton標識碼進(jìn)行比較判斷,若吻合,則系統按設定要求程序工作,否則,系統給出語(yǔ)音提示。DS1990A與主機微控制器之間的通信軟件設計流程圖如圖5所示。

通常主機與單總線(xiàn)器件的通信都是通過(guò)初始化、寫(xiě)0、寫(xiě)1、讀0、讀1時(shí)序來(lái)的完成的,下面給出用匯編語(yǔ)言編寫(xiě)的子程序,需要說(shuō)明的是,這些程序雖然是針對iButton所寫(xiě)的,但適用于所有的單總線(xiàn)器件,且簡(jiǎn)單易懂,現予給出,以供大家參考。

RESET BSF RB2 ;主機拉低總線(xiàn)
CALL DELAY_500us ;給500μs復位脈沖
BCF RB2 ;釋放總線(xiàn)
CALL DELAY_200us
BTFSC BR1 ;檢測iButton返回應答脈沖否
GOTO RESET ;否,再給它復位脈沖
CALL DELAY_500us ;是,返回
RETURN
WRITE_0 BSF RB2 ;對iButton寫(xiě)0時(shí)序子程序
CALL DELAY_10us
CALL DELAY_60us
BCF RB2
CALL DELAY_10us

RETURN
WRITE_1 BSF RB2 ;對iButton寫(xiě)1時(shí)序子程序
CALL DELAY_10us
BCF RB2
CALL DELAY_60us
RETURN
READ_TIME BSF RB2 ;對iButton讀數據時(shí)序
NOP
NOP
NOP
BCF RB2
CALL DELAY_10us
RETURN

6 總結

單總線(xiàn)技術(shù)以其線(xiàn)路簡(jiǎn)單、硬件開(kāi)銷(xiāo)少、成本低廉、軟件設計簡(jiǎn)單優(yōu)勢而有著(zhù)無(wú)可比擬的應用前景;趩慰偩(xiàn)的iButton技術(shù)能較好地解決傳統識別器普遍存在的攜帶不便、易損壞、易受腐饋、易受電磁干擾等不足,可應用于高度安全的門(mén)禁、身份識別等領(lǐng)域。其通信可靠簡(jiǎn)單,很容易實(shí)現。因此單總線(xiàn)技術(shù)有著(zhù)廣闊的應用前景,是值得產(chǎn)注的一個(gè)發(fā)展領(lǐng)域。
本文地址:http://selenalain.com/thread-45236-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页