• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 微控制器和1-Wire溫度傳感器的軟件接口

    微控制器和1-Wire溫度傳感器的軟件接口

    ——
    作者:桃塢通信工程有限公司 吳康 時間:2007-01-26 來源:《世界電子元器件》 收藏

    1-wire(一線制)數字溫度傳感器

    本文引用地址:http://www.czjhyjcfj.com/article/20597.htm

    dallas公司產的1-wire(一線制)數字溫度傳感器己被廣泛應用于各工業控制與撿測的設備儀器之中,但如何應嵌入與連接在系統之術是設計人員所關切的技術問題。

    dsl8b20、ds18c20或dsl822是業內更高精度( 0.5℃)的1-wire多點數字溫度傳感器,其特點是:

    *具有1-wire數字接口
    *唯一的64位序列號
    *寬廣的溫度測量范圍為-55℃至+125℃
    *具有非易失用戶(2字節eeprom)可編程觸發點的過熱告警
    *測量分辨率可由用戶配置為9至12位
    *封裝形式包括to-92,150mil8腳soic和倒裝片

    dsl8x20或dsl822溫度傳感器內部結構圖見圖0所示。

    目前有數種方法,可將1-wire器件,如dsl8b20、dsl822或dsl8s20與微控制器接口。這些方法包括:從簡單的軟件方案,到串行接口芯片,如ds2480及dallas 1-wire asic即(將經過整合的半導體超高規模集成電路硬件描述語言1-wire主控器制造成專用集成電路)等 。本文陳述了一種簡單的軟件解決方案,可實現微控制器和任意個數的dsl8x20或dsl822溫度傳感器之間的1-wire通信。


    硬件配置

    圖1的框圖說明了在采用多個1-wire溫度傳感器時,該硬件配置很簡單。一線制(1-wire)總線向所有的器件既提供通信連接,又提供工作電源??偩€電源經由一個連接于3v至5.5v電源端的4.7kf2上拉電阻提供。由于每個器件具有唯一的64位rom識別碼,所以掛接在總線上的1-wire器件數量幾乎不受限制。多個1-wire溫度傳感器通過1-wire總線與采用ds5000(與mcs-8051單片機兼容)的微控制器相接口。

    接口時序

    與dsl8x20/dsl822的通信,通過操作時隙完成1-wire總線上的數據傳輸。每個通信周期起始于微控制器發出復位脈沖,其后緊跟dsl8x20/dsl822發出的應答脈沖,如圖2所示。

    當主機將1-wire總線從邏輯高(空閑狀態)拉為邏輯低時,即啟動一個寫時隙。所有的寫時隙必須在60 s至120 s(見圖3 60 s

    讀時隙起始于微處理器將總線拉低1 s,接著釋放總線,這樣dsl8x20/dsl822就能夠接管總線,輸出有效數據(高或低)。所有讀時隙在60 s至120 s完成,且在每個循環之間至少 需要1 s的恢復時間(圖3)。


    軟件控制

    為了精確地控制1-wire接口的特殊時序要求,必須先建立幾個關鍵的函數。第一個函數應該是延時函數,它是所有讀和寫控制的組成部分。這個函數完全依賴于微處理器的速度。為了更好地理解,值此以ds5000(與8051兼容)微控制器(工作時鐘11.059mhz)為例。圖4列舉了一個用于創建時間延時的c(c語言)原型函數。

    由于每個通信周期起始于微處理器發出的復位脈沖,因而復位函數(見圖5)是下一個最為重要的函數。復位時隙為480 s。首先以參數3,接著以參數25分別調用延時函數數,將產生所要求的復位脈沖,緊接著復位之后微處理器釋放總線,以便dsl8x20/dsl822通過拉低總線來指示其是否在線。如果多個溫度傳感器在此總線上,它們將同時發出應答脈沖。








    讀和寫函數實例如圖6、7、8和9所示,提供了所有讀/寫數據位和字節操作的基本結構。


    結束語

    以上是新型多點1-wire數字溫度傳感器與微控制器軟件接口簡易的設計方案,經過多路溫度巡迥監控系統在現場采集與檢測使用,其特點是具有較高的性能比,即程式簡單、檢測準確、使用方便可靠。



    關鍵詞:

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 揭东县| 友谊县| 柳江县| 永嘉县| 依安县| 灌阳县| 双城市| 岑溪市| 大理市| 曲周县| 平顶山市| 龙里县| 蒙阴县| 阜城县| 呼图壁县| 襄城县| 页游| 利川市| 温宿县| 福州市| 重庆市| 张家口市| 宜春市| 藁城市| 唐河县| 利川市| 美姑县| 晋中市| 文登市| 茶陵县| 来安县| 三河市| 乌什县| 睢宁县| 西贡区| 章丘市| 嘉黎县| 和林格尔县| 庆阳市| 神木县| 红桥区|