<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于1一Wire總線的嵌入式測溫系統(tǒng)設(shè)計(jì)

          基于1一Wire總線的嵌入式測溫系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2009-05-08 來源:網(wǎng)絡(luò) 收藏

          1.2.1 復(fù)位/應(yīng)答時(shí)序
          DS2480B接到主機(jī)復(fù)位命令后將拉低512 μs后釋放,等待2μs(短路/中斷采樣)后檢測上是否有短路或中斷信號,如果沒有則等待8μs(應(yīng)答采樣)后檢測總線上是否有應(yīng)答脈沖,再等待512μs(延遲)后向主機(jī)發(fā)送命令應(yīng)答字。如果總線上有短路或中斷信號則等待4 096 μs后再次檢測總線。時(shí)序如圖3所示。
          1.2.2 寫1/讀數(shù)據(jù)時(shí)序
          DS2480B在寫1/讀數(shù)據(jù)時(shí)序中先將總線拉低8~15 μs(寫1低),3~10μs(數(shù)據(jù)采樣)數(shù)據(jù)采樣偏移后對總線采樣并讀從器件應(yīng)答。再經(jīng)過49 μs(等待高)1/讀數(shù)據(jù)時(shí)序結(jié)束。時(shí)序圖如圖4所示。
          l. 2.3 寫0時(shí)序
          DS2480B的寫O時(shí)序中先將總線拉低57弘s(寫O低)然后釋放總線,3~10μs后寫0時(shí)序結(jié)束。如圖5所示。

          DS2480B可以被看作包含2個(gè)靜態(tài)和多個(gè)動(dòng)態(tài)的狀態(tài)機(jī)。上電后DS2480B自動(dòng)進(jìn)入兩個(gè)靜態(tài)之一的命令模式。此時(shí)主機(jī)應(yīng)向DS2480B發(fā)送1次復(fù)位命令,用來校準(zhǔn)DS2480B內(nèi)部的時(shí)序產(chǎn)生器,所有的1一通信過程都必須以復(fù)位命令開始。此后DS2480B準(zhǔn)備好接收及執(zhí)行任何合法命令。在命令模式下微處理器可以改變1一網(wǎng)絡(luò)的通信速度、供電方式、改變1一wire通信波形等。DS2480B從命令模式轉(zhuǎn)換到下一個(gè)靜態(tài)一數(shù)據(jù)模式后將從TXD管腳上收到的信息字節(jié)轉(zhuǎn)換成相應(yīng)的1一通信波形并將從器件返回的應(yīng)答字節(jié)通過RXD管腳返回給微處理器。也就是說對1一wire從器件DSl8820的操作必須在數(shù)據(jù)模式下進(jìn)行。

          2 系統(tǒng)設(shè)計(jì)
          系統(tǒng)設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)2部分。
          2.1 系統(tǒng)硬件設(shè)計(jì)
          與DS2480B橋接器一起工作的UART應(yīng)支持8位字長、無奇偶校驗(yàn)、9 600波特率(b/s)的通信方式。該系統(tǒng)采用Silicon公司生產(chǎn)的C8051F040作為主處理器,(;8051F040有2個(gè)uART串口,且滿足橋接器對UART的要求。溫度采集轉(zhuǎn)換芯片為Dallas公司生產(chǎn)的DSl8820。系統(tǒng)原理圖如圖6所示。

          其中從C8051F040的UART到DS2480B需用1片QS3245進(jìn)行3~5 V的電平轉(zhuǎn)換。1一Wire總線上過多的噪聲會(huì)影響l―wire通信的正確性,為了濾除電路中的噪聲保護(hù)。DS2480B的1一Wire端口不受靜電損傷DS2480B的1一w管腳外接RC濾波電路。在本設(shè)計(jì)中只涉及到基本DS2480B操作,在需要進(jìn)行EPROM編程的設(shè)計(jì)中應(yīng)串接2個(gè)DS9503。
          2.2 系統(tǒng)軟件設(shè)計(jì)
          給出的1一Wire總線驅(qū)動(dòng)程序是結(jié)合圖4所述電路,以C8051F040單片機(jī)為主控制器,使用內(nèi)部時(shí)鐘頻率24.5 MHz編寫而成,其中包括DS24.80B復(fù)位子程序、DS2480B初始化子程序、總線復(fù)位子程序、溫度采集子程序、溫度值讀取子程序。C8051F040系統(tǒng)內(nèi)部有64 KB FLASH存儲(chǔ)器可以用來存儲(chǔ)程序代碼。C代碼設(shè)計(jì)調(diào)試工具為Silicon公司提供的單片機(jī)集成開發(fā)環(huán)境。
          控制器上電后,對自身和DS2480B進(jìn)行初始化并與DS2480B取得同步。由于DS2480B中沒有晶振,它必須通過采樣主機(jī)發(fā)送的字節(jié)來調(diào)節(jié)自身的時(shí)基。主控制器在低于9 600波特率條件下發(fā)送1次0字節(jié)可以產(chǎn)生1次復(fù)位信號。Ds2480B復(fù)位后所有參數(shù)恢復(fù)到缺省狀態(tài),在該設(shè)計(jì)中1一Wire網(wǎng)絡(luò)長度在10 m之內(nèi),屬于小型長度,為了取得良好的性能,選擇在“flexi―ble speed”下進(jìn)行標(biāo)準(zhǔn)速度通信。對DS2480B復(fù)位和初始化是進(jìn)行正確1一Wire通信的前提,當(dāng)網(wǎng)絡(luò)中應(yīng)答數(shù)據(jù)包長度或格式不正確時(shí),也必須重新對DS2480B復(fù)位和初始化。
          所有的1一Wire操作都是從復(fù)位1一Wire總線開始的。每次采集溫度值和讀取溫度值操作前最好對總線進(jìn)行1次復(fù)位操作,同時(shí)檢測來自總線上的從器件的在線應(yīng)答脈沖。驅(qū)動(dòng)程序流程圖如圖7所示,部分程序代碼如下所示:

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: Wire 總線 嵌入式 測溫

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();