国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

利用1-Wire鏈路功能獲取位置信息 確定器件物理地址

發(fā)布時間:2010-10-11 12:13    發(fā)布者:eetech
關(guān)鍵詞: Wire , 鏈路 , 位置信息 , 物理地址
數(shù)字總線系統(tǒng)的共同特性即為共享。隨著微處理器的推廣,并行總線系統(tǒng)應(yīng)用日益廣泛,總線上掛接的所有元件共享數(shù)據(jù)線和地址線。片選信號可由地址線和控制信號解碼得到。根據(jù)硬件設(shè)計和布線,連接在總線上的各個器件的物理地址總是已知的。隨著技術(shù)向低成本串行總線系統(tǒng)1的發(fā)展,首先省去了地址線。但SPI和MICROWIRE串行總線仍具有片選功能。許多先進(jìn)的串行總線系統(tǒng)引入了基于協(xié)議的尋址方式,將地址信息做為一個前導(dǎo)碼傳輸給數(shù)據(jù)。該類總線的典型代表為I2C/SMBus,此類通信接口縮減到只有數(shù)據(jù)線和時鐘線。為了進(jìn)一步降低成本,可以將時鐘信息嵌入到數(shù)據(jù)流中。該類總線的典型代表為1-Wire、LIN和SensorPath總線。

由于采用了基于協(xié)議的尋址方式,因此元件物理位置方面的信息將缺失。對于采用串行總線的儀表和控制應(yīng)用(例如測量多點(diǎn)溫度),這將是一個問題。對于I2C總線而言,地址引腳與邏輯1、邏輯0、SCL或SDA相連,在某種程度上解決了這個問題。采用這一辦法,單個引腳可被設(shè)定到4種不同的數(shù)字狀態(tài),相當(dāng)于兩個位。盡管這種方法簡單、有效,但由于最初的I2C協(xié)議僅提供7個地址位,因此具有一定的局限性。1-Wire總線具有64位地址,在這一方面可提供更高的靈活性。無論如何,每個增加一個地址引腳將增加成本,因此增加地址引腳不是一個好的選擇。

圖1給出了一種簡單的低成本方案,可重新獲取串行總線上掛接的多個器件的物理位置,將網(wǎng)絡(luò)的起始位置的器件標(biāo)識為位置#1,并依次為網(wǎng)絡(luò)上掛接的器件編號。該方案的電路連接如圖中藍(lán)色粗線所示。在位置1處,線路接地即可。



圖1. 可進(jìn)行位置檢測的串行網(wǎng)絡(luò)

除了圖1中標(biāo)有IN和OUT的兩個引腳外,還需要通過片上邏輯讀取IN引腳和寫OUT引腳。如果協(xié)議支持多點(diǎn)網(wǎng)絡(luò)功能,那么借助于上述這些方法,主機(jī)可首先識別出第一個器件,然后再識別下一個器件,以此類推,直到完成對所有器件的定位。1-Wire總線即可滿足這一要求的串行總線系統(tǒng)。  

1-Wire總線是一種簡單的信令協(xié)議,可通過一條公共數(shù)據(jù)線實(shí)現(xiàn)主機(jī)/主控制器和一個或多個從機(jī)之間的半雙工、雙向通信(圖2)。可以通過單根1-Wire總線實(shí)現(xiàn)供電以及與從機(jī)之間的數(shù)據(jù)通信。供電通過以下方式實(shí)現(xiàn):在數(shù)據(jù)傳輸過程中,總線狀態(tài)為高時從機(jī)的內(nèi)部電容從總線上獲取電荷,總線狀態(tài)為低時利用該電荷為器件供電。典型的1-Wire主機(jī)包括一個開漏I/O引腳,并通過電阻上拉至3V至5V電源。采用這種智能通信技術(shù),可以隨時方便、高效地增加存儲器、認(rèn)證和混合信號功能。  

所有的1-Wire系統(tǒng)都有一個重要的基本特征:每個從機(jī)都具有一個唯一的、不能更改(ROM)的64位、工廠激光刻制序列號(ID),這個序列號永遠(yuǎn)不會與其它器件重復(fù)。除了為終端產(chǎn)品提供唯一的電子ID外,64位ROM ID還允許主機(jī)從掛接在同一條總線上的許多從機(jī)設(shè)備中選擇一個器件。64位ROM ID中包含有8位家族碼,用于識別器件的類型和支持的功能。



圖2. 不帶鏈路功能的典型1-Wire網(wǎng)絡(luò)

通常,當(dāng)系統(tǒng)啟動初始化時,1-Wire主機(jī)可能并不知道總線上掛接的器件數(shù)量以及他們的ROM ID。利用總線的線與特性,主機(jī)可采用排除法確定總線上掛接的所有器件的ID。通過SearchROM*功能,2主機(jī)可確定總線上所掛接器件的ROM ID。然而,Search ROM結(jié)果無法提供單個器件的位置。例如,如圖2所示的器件ROM ID,器件的ID按照表1所示的順序獲取。  

表1. 器件搜索順序



鏈路功能的概念

采用鏈路功能確定1-Wire網(wǎng)絡(luò)環(huán)境中器件的物理位置時,遵循以下幾點(diǎn):

a)已知系統(tǒng)級1-Wire網(wǎng)絡(luò)的物理分布,例如第一個、誰是第二個,等等,以及器件/節(jié)點(diǎn)的物理位置。
b)獲取器件(ROM ID)的物理連接順序,哪個是第一個,哪個是最后一個。

其中a)已知的系統(tǒng)信息,可從1-Wire網(wǎng)絡(luò)的物理布局獲得。b)項通常是未知的,可以采用鏈路功能通信很容易獲取這些信息。鏈路功能(圖3)通過兩個引腳,輸入引腳(/EN)在搜索期間使能器件響應(yīng),而輸出引腳(/DONE)通知鏈路中的下一個器件它之前的器件已完成搜索。/DONE信號連接至下一個器件的/EN輸入。鏈路中第一個器件的/EN輸入被連接至GND。實(shí)現(xiàn)鏈路功能的連線如圖中藍(lán)色粗線所示。除了/EN和/DONE引腳之外,順序搜索功能還需要具備一個新的網(wǎng)絡(luò)功能命令,Conditional Read ROM。只有滿足特定條件時(下文進(jìn)行說明),該命令才報告器件的ROM ID。相反,Read ROM可使網(wǎng)絡(luò)中所有器件在同一時間發(fā)送其ROM ID。DS28EA00是業(yè)界首款帶有新型鏈路功能的器件(如圖3所示)。



圖3. 具有鏈路功能的DS28EA00在1-Wire網(wǎng)絡(luò)中的典型連接

EN和/DONE引腳除了用于順序搜索之外,還可作為數(shù)字PIO。為了實(shí)現(xiàn)這一功能,鏈路功能定義了三種鏈路狀態(tài),OFF、ON和DONE。通過Chain命令控制鏈路狀態(tài)的轉(zhuǎn)換。表2給出了鏈路狀態(tài)及相應(yīng)工作狀態(tài)。



表2. 鏈路狀態(tài)

上電默認(rèn)鏈路狀態(tài)為OFF,此時/DONE (PIOA)和/EN (PIOB)由PIO Access Read和PIO Access Write命令單獨(dú)控制,如DS28EA00數(shù)據(jù)資料所述。3鏈路狀態(tài)為ON時,/DONE通過一個40k?的片上電阻(RCO)上拉至器件內(nèi)部電源VDD,進(jìn)而向下一個器件的/EN引腳發(fā)送邏輯‘1’信號。如果/EN引腳為邏輯‘0’,則僅處于ON鏈路狀態(tài)的器件才能響應(yīng)Conditional Read ROM命令。在順序搜索過程中,網(wǎng)絡(luò)中器件的最大值應(yīng)滿足這一條件。

要將器件從 Chain OFF轉(zhuǎn)換為Chain ON或Chain DONE狀態(tài),主機(jī)需采用Chain命令實(shí)現(xiàn)。圖4給出了各種可能的轉(zhuǎn)換。Chain命令代碼后,主機(jī)必須緊接著發(fā)送一個適當(dāng)?shù)逆溌房刂谱止?jié)。為了降低接收錯誤Chain命令的幾率,首先以原碼形式發(fā)送控制字節(jié),然后再以反碼形式發(fā)送。當(dāng)主機(jī)接收到AAh確認(rèn)字節(jié)時,表明鏈路狀態(tài)成功轉(zhuǎn)換。  

開始順序搜索時,主機(jī)必須將所有器件都置為Chain ON狀態(tài)。當(dāng)主機(jī)通過Conditional Read ROM讀取完一個的器件ROM ID后,應(yīng)該將該器件置為Chain DONE狀態(tài),從而允許鏈路中的下一個器件以響應(yīng)Conditional Read ROM命令。在順序搜索的過程中,器件將依次進(jìn)入Chain DONE狀態(tài),直到搜索完所有器件。最后,所有器件都被設(shè)置到Chain OFF狀態(tài),從而釋放/EN和/DONE引腳,使之變?yōu)镻IO,并恢復(fù)到上電默認(rèn)狀態(tài)。  

順序搜索例程

前提:主機(jī)控制網(wǎng)絡(luò)如圖3所示。所有器件都支持鏈路功能。若要搜索鏈路中器件的順序,例如位置編號以及該處器件的ROM ID (即注冊碼),主機(jī)需執(zhí)行以下步驟:

初始化:主機(jī)發(fā)送Skip ROM命令,緊接著發(fā)送Chain ON命令,將所有器件置于Chain ON狀態(tài)。除了鏈路中的第一個器件之外,對于其它所有器件,通過/DONE引腳的RCO上拉電阻將/DONE//EN變?yōu)檫壿?。



圖4.鏈路狀態(tài)轉(zhuǎn)換圖

第一個周期:主機(jī)發(fā)送Conditional Read ROM命令,鏈路中的第一個器件對命令進(jìn)行響應(yīng),可得到第一個器件的64位ROM ID。主機(jī)存儲該ROM ID,并將其確定為鏈路的第一個器件。隨后,主機(jī)發(fā)送Chain DONE命令。該命令通過器件#1的/DONE引腳,將鏈路中第二個器件的/EN引腳設(shè)置為邏輯0,同時防止器件#1再次響應(yīng)。  

第二個周期:主機(jī)發(fā)送Conditional Read ROM命令。由于此時器件#2是鏈路中唯一一個/EN為邏輯0的器件,因此該器件發(fā)送其ROM ID作為響應(yīng)。主機(jī)將該ROM ID保存為序列碼‘2’。(器件#1處于Chain DONE狀態(tài),所以不會響應(yīng)該命令。)隨后,主機(jī)發(fā)送Chain DONE命令。

重復(fù)周期:要識別剩余器件的ROM ID及其物理位置,主機(jī)需要重復(fù)發(fā)送Conditional Read ROM和Chain DONE命令。如果沒有器件響應(yīng)Conditional Read ROM命令,說明鏈路中的所有器件均已被識別。  

終止:搜索過程結(jié)束后,鏈路中的所有器件都處于Chain DONE狀態(tài)。主機(jī)應(yīng)發(fā)送Skip ROM命令后,緊接著發(fā)送Chain OFF命令,用于終止順序搜索。這樣可將所有器件都進(jìn)入Chain OFF狀態(tài),變成由PIO Access功能命令控制PIO引腳。關(guān)于Conditional Read ROM和Chain命令的詳細(xì)說明,以及完整的流程圖,請參考DS28EA00數(shù)據(jù)資料。4

假定采用標(biāo)準(zhǔn)的1-Wire速率(復(fù)位/在線檢測周期為960?s,每個時隙為65?s),初始化和結(jié)束共約用去7ms (一次總共占用的時間)。各個器件的搜索和位置檢測約占用7.7ms。相同條件下,執(zhí)行Search ROM命令時,每個器件約占用14ms。例如,在100ms之內(nèi),如果具有鏈路功能的話,主機(jī)能識別和定位12個器件,但是如果僅依靠Search ROM功能的話,主機(jī)只能識別7個器件。  

補(bǔ)充說明

電纜電容:常用于構(gòu)建1-Wire網(wǎng)絡(luò)的5類電話線的每對雙絞線對之間具有大約50pF/m的電容。根據(jù)網(wǎng)絡(luò)的規(guī)模,當(dāng)所有器件都處于Chain ON狀態(tài)時,會給線路增加非常大的電容負(fù)載。在寄生供電模式下,有時候需要采用有源1-Wire線路上拉,這樣可避免電壓跌落至最小允許值以下。采用主電源或本地VCC電源供電時無需采用這一措施。

Conditional Read R

OM:DS2401及其兼容的、于1993年停產(chǎn)的DS2400硅序列號,均將這一命令識別為Read ROM。因此,不要將DS2401連接到采用鏈路功能的網(wǎng)絡(luò)中。所以,使用1-Wire端口適配器時,應(yīng)選擇不帶DS2401的器件。DS2405版本A也能像DS2401一樣響應(yīng)Conditional Read ROM命令代碼。1998年開始投產(chǎn)的DS2405版本B則會忽略Conditional Read ROM命令代碼。

1-Wire主控制器電路:在嵌入式應(yīng)用環(huán)境下,可采用各種低成本、分立式、基于IC的1-Wire主控制器。分立解決方案包括上拉電阻、空閑的?C端口引腳以及高級驅(qū)動器。5專門用于驅(qū)動1-Wire總線的集成驅(qū)動器包括DS2480B6 (串行端口,UART),DS24907 (USB端口)以及DS24828,9 (I2C端口,圖5)。8通道版本的DS2482具有3個地址引腳,允許單個主控制器控制多達(dá)64個獨(dú)立的1-Wire網(wǎng)絡(luò)。應(yīng)用筆記192,DS2480B串行1-Wire線驅(qū)動器的使用,10從軟件開發(fā)的角度對DS2480B進(jìn)行了說明。與之類似的一篇針對DS2482驅(qū)動器的文章也可供參考。



圖5.單通道I2C至1- Wire橋接器件DS2482作為1-Wire主控制器。其/DONE輸出也可用于驅(qū)動一個LED,并不會影響鏈路功能。

電源:如果提供VCC電源,所有DS28EA00可同時進(jìn)行溫度轉(zhuǎn)換。隨后發(fā)送Conditional Search命令,可以篩選出那些發(fā)出報警溫度的器件。通過順序搜索,可得出器件的ROM ID及其位置信息,能迅速知道需要在哪些地方采取糾正措施。如果沒有VCC電源,溫度轉(zhuǎn)換必須依次進(jìn)行。此外,開始進(jìn)行順序搜索時(所有器件從Chain OFF狀態(tài)轉(zhuǎn)換至Chain ON狀態(tài)),必須確保1-Wire數(shù)據(jù)線路上的電壓不會跌落的太多。

速率:高速模式下的快速時序不適用于包含多個器件,或超過3m的1-Wire網(wǎng)絡(luò);此時應(yīng)采用標(biāo)準(zhǔn)速率替代。根據(jù)網(wǎng)絡(luò)中的器件數(shù)量,即使采用標(biāo)準(zhǔn)速率,也需要延長恢復(fù)時間,特別是當(dāng)采用寄生電源供電時。

故障診斷:如果無法實(shí)現(xiàn)順序搜索,則在發(fā)送Chain ON命令后,察看1-Wire線路上的壓降。如果電壓跌落至3.0V以下,則命令有可能不能正常執(zhí)行。為了避免電壓跌落,Chain ON以后,可采用帶有源上拉的驅(qū)動電路,或者采用主電源供電。如果鏈路中第一個器件的/EN輸入開路、或者連接至1-Wire線路,或者連接至VCC,都將導(dǎo)致順序檢測失敗。確保網(wǎng)絡(luò)中無DS2401。不允許將并聯(lián)的兩個或多個網(wǎng)絡(luò)連接至同一個1-Wire端口,因此此時所有的“首個器件”將同時響應(yīng),這樣會得到帶無效CRC字節(jié)的ROM ID。

結(jié)束語

鏈路功能是一種新型特性,主機(jī)可在軟件控制下確定線性網(wǎng)絡(luò)中器件的物理順序,無需人工參與。DS28EA00 1-Wire數(shù)字溫度計是首款集成鏈路功能的器件。在多點(diǎn)溫度測量應(yīng)用中,與那些通過地址引腳獲得器件位置的解決方案相比,DS28EA00是最劃算的選擇。
本文地址:http://m.qingdxww.cn/thread-31562-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品自拍| 色婷婷综合久久久久中文| 青青青在线网站视频在线| 亚洲毛片网站| 色欧美综合| 有码日韩| 最新狼窝| 九九热这里只有国产精品| 亚洲精品久久久久AV无码| 亚洲免费网站观看视频| 视频在线免费高清| 中文字幕在线观看免费视频| 夜夜撸在线观看| 国产h视频在线观看网站免费| 午夜DY888国产精品影院| 亚洲色在线视频| 色吧久久| 四虎1515hh.com| ZZoo兽2皇| 暖暖视频免费高清在线观看 视频| 亚洲综合久久一本伊伊区| 日韩欧美精品在线观看| 日韩一级黄色片| 视频一区在线观看| V8成品人视频| 免费人成视频19674不收费| 中文字幕在线观看亚洲日韩| 亚洲色五月| 天天干夜夜爽| 羞羞视频麻豆| 超碰最新地址| 欧美乱码卡一卡二卡四卡免费| 欧美日韩另类在线观看视频| 青青草影院在线观看| 四虎成人4hutv影院| YELLOW日本免费观看播放| 性xxx免费| 欧美日韩精品在线观看| 性感美女视频黄.免费网站| 再向虎山行1-40集免费播放| 精品午夜久久福利大片免费|