• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關(guān) 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 單總線溫度傳感器的EDA控制方法

    單總線溫度傳感器的EDA控制方法

    作者: 時間:2013-05-24 來源:網(wǎng)絡(luò) 收藏

    1 硬件接口電路

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

    DS18B20是單數(shù)字,測量范圍從-55℃到125℃,測量精度為±0.5℃,通過單可直接輸出所測的二進制數(shù)據(jù),數(shù)字量的輸出位數(shù)可通過編程,在9位至12位(含符號位)之間選擇。該器件有三個端口,分別是電源端、地端、單數(shù)據(jù)端,在使用時將FPGA的I/O口和DS18B20的單總線連接,通過單總線實現(xiàn)FPGA與DS18B20之間的數(shù)據(jù)收發(fā),接口電路如圖1所示。

    單總線溫度傳感器的EDA控制方法

    2 軟件程序

    DS18B20進行溫度測量和讀取主要包括三個步驟:器件初始化、發(fā)送寫寄存器命令和發(fā)送讀寄存器命令,該功能代碼寫在核心控制模塊中,軟件流程如圖2所示。其中初始化是通過FPGA向總線發(fā)送低電平復(fù)位信號,持續(xù)時間為480-600us,然后FPGA釋放總線,單總線經(jīng)過上拉電阻會被拉至高電平,當(dāng)DS18B20檢測到上升沿之后,等待15-60us后將發(fā)出60-256us的低電平存在脈沖作為響應(yīng),如果FPGA檢測到響應(yīng)脈沖則初始化成功。

    單總線溫度傳感器的EDA控制方法

    初始化成功后,F(xiàn)PGA通過向總線發(fā)送命令來控制的溫度采集,程序中用到的主要命令如下:0XCC為跳過ROM檢測命令;0X44為啟動溫度轉(zhuǎn)換命令;0XBE為從DS18B20讀取溫度測量數(shù)值。

    在頂層代碼中除了核心控制模塊外,還包括包括分頻模塊和顯示模塊。

    其中,分頻模塊將實驗板上50M Hz時鐘轉(zhuǎn)換為1MHz輸出到核心控制模塊,用于控制FPGA對單總線的讀、寫時序。

    顯示模塊用于將讀取到的溫度數(shù)據(jù)轉(zhuǎn)換為十進制數(shù)據(jù),并通過數(shù)碼管進行動態(tài)顯示。由于溫度寄存器默認采用12位二進制數(shù)據(jù)來存儲,最高位為符號位,溫度分辨率為0.0625℃,如圖3所示。當(dāng)溫度為正數(shù)時符號位為0;當(dāng)溫度為負數(shù)時符號位為1,且數(shù)據(jù)位采用補碼的形式。因此,將溫度轉(zhuǎn)換成十進制數(shù)據(jù)時,首先判斷符號位,當(dāng)符號位為1時,先由二進制數(shù)據(jù)求出原碼,再轉(zhuǎn)換為十進制,最后乘以溫度分辨率0.0625得到實測溫度;當(dāng)符號位為0時,直接將二進制轉(zhuǎn)換為十進制,再乘以溫度分辨率。

    溫度寄存器的數(shù)據(jù)格式

    3 系統(tǒng)頂層文件

    將編譯好的sof程序下載到實驗板中運行,能夠?qū)崿F(xiàn)環(huán)境溫度的測量和顯示,實際效果如圖5所示。基于以上的溫度控制系統(tǒng)硬件電路簡單,實時性強,能夠進行多路溫度監(jiān)控,應(yīng)用范圍廣泛。

    單總線溫度傳感器的EDA控制方法



    關(guān)鍵詞: 控制 方法 EDA 傳感器 溫度 總線

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 根河市| 临西县| 宁德市| 镇沅| 通河县| 介休市| 阳春市| 丁青县| 红河县| 安龙县| 长武县| 云霄县| 永仁县| 邯郸县| 祁连县| 紫金县| 大洼县| 深水埗区| 监利县| 南宫市| 杨浦区| 新密市| 八宿县| 分宜县| 英吉沙县| 东台市| 砀山县| 阿尔山市| 新竹市| 辛集市| 永清县| 文山县| 精河县| 通城县| 扶绥县| 乐平市| 子长县| 静乐县| 二连浩特市| 安乡县| 翁源县|