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

    EEPW首頁 > 測試測量 > 設計應用 > 基于DS18B20與TMS320LF2407A的測溫系統

    基于DS18B20與TMS320LF2407A的測溫系統

    作者: 時間:2010-02-26 來源:網絡 收藏

    前 言

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

      DS2普遍都是和單片機配合使用,很少有關于DSP與DS20的連接的接口報道,所以此文詳細介紹了TMS320LF與 DS20的連接方法,并且很詳細的介紹了如何用C語言完成精確的軟件延時,從而完成DS18與TMS320LF之間的基于單線總線協議的數據通訊。

      1 DS18的時序

      1. 1 復位時序

      復位使用DS18時,首先需將其復位,然后才能執行其它命令。復位時,主機將數據線拉為低電平并保持480us~960us,然后釋放數據線,再由上拉電阻將數據線拉高15~60us,等待DS18B20發出存在脈沖,存在脈沖有效時間為60~240us,這樣,就完成了復位操作。

      1.2 寫時序

      在主機對DS18B20寫數據時,先將數據線置為高電平,再變為低電平,該低電平應大于1us。在數據線變為低電平后15us內,根據寫“1”或寫“0” 使數據線變高或繼續為低。DS18B20將在數據線變成低電平后15us~60us內對數據線進行采樣。要求寫入DS18B20的數據持續時間應大于 60us而小于120us,兩次寫數據之間的時間間隔應大于1us。

      1.3 讀時序

      讀時隙當主機從DS18B20讀數據時,主機先將數據線置為高電平,再變為低電平,該低電平應大于1us,然后釋放數據線,使其變為高電平。DS18B20在數據線從高電平變為低電平的15us內將數據送到數據線上。主機可在15us后讀取數據線.。

      2 TMS320LF與DS18B20的連接

      DS18B20有三個引腳。其與TMS320LF的接線圖如下。VDD管腳接5V電壓給傳感器供電。DQ管腳為數據線,與 TMS320LF的IOPA6連接的同時,還要接一個4.7K的上拉電阻,并接到5V的電源上,使數據線在空閑狀態下能自動上拉為高電平。 GND管腳接地。

      3 軟件設計

      3.1 精確的軟件定時的實現

      眾所周知,TMS320LF2407的內核屬于C2000系列的處理器,處理速度達到30MIPs,也就是每條指令所花的時間理論上只有33ns。但是實際情況是,由于DSP外部電路的數據處理速度和數據調用等因素,往往處理速度達不到這個數量級。那怎樣測出每條指令的處理時間從而計算出軟件延時程序的精確時間呢?計算方法如下:

      1、延時程序的C語言代碼為:

      for(loopindex=0;loopindex
    其中loopindex 為unsigned int,無符號整形數值, N為常量,根據所要求的延時時間,計算得出。具體算法在下面給出。

      2、這個for語句在CCS中的編譯器編譯后所產生的匯編語言為:

    LACL #0h
    SACL *, 0
    LACL *
    SUB N(計算得到的循環次數)
    BCND 轉移的地址,GEQ
    LACC *, 0
    ADD #1h
    SACL *, 0
    LACL *
    SUB N(計算得到的循環次數)
    BCND 轉移的地址,LT


    上一頁 1 2 3 下一頁

    關鍵詞: 2407A 2407 18B B20

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 富平县| 望奎县| 通江县| 田林县| 库车县| 绥阳县| 平和县| 澳门| 平乐县| 新竹县| 峨山| 济宁市| 黄浦区| 那曲县| 定州市| 信宜市| 蒲江县| 天峨县| 布尔津县| 昭苏县| 宁海县| 藁城市| 曲松县| 成武县| 都安| 大埔县| 准格尔旗| 岗巴县| 旅游| 苏州市| 南溪县| 阿勒泰市| 新乐市| 拉孜县| 三江| 乌兰县| 彭阳县| 连江县| 逊克县| 安宁市| 新绛县|