0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于DS18B20溫度傳感器和EPIC6Q240C8N實現(xiàn)溫度采集系統(tǒng)的設計

電子設計 ? 來源:科技與創(chuàng)新 ? 作者:王景中 , 馮祎 ? 2021-03-19 16:39 ? 次閱讀

引言

溫度測量在現(xiàn)代工業(yè)生產(chǎn)過程中發(fā)揮著重要的作用,無論對于大型企業(yè)還是眾多的小型工廠,往往需要監(jiān)測多個設備的幾十個溫度值。在分布式溫度采集系統(tǒng)中.通常采用單片機作為系統(tǒng)的控制器。系統(tǒng)T作時依次采集每一個探測器的溫度值并存儲。如果監(jiān)測到某個探測點的溫度有異常。系統(tǒng)就會根據(jù)用戶的需要做出相應的反映。然而.當監(jiān)測點數(shù)量很多時,單片機輪流地采集完每一個監(jiān)測點的溫度值會花費相對較長的時間,如果這個過程中有某個測量點溫度異常將不能實時地反映到系統(tǒng)中.使得溫度采集系統(tǒng)的實時性降低。

現(xiàn)場可編程門陣列(FPGA)是美國Xilinx公司在20世紀80年代中期率先推出的一種高密度可編程邏輯器件.它既具有PLD可編程的靈活性,又有掩膜門陣列(GA)高集成度和通用性,單片F(xiàn)PGA的集成規(guī)模已達到幾百萬門.其工作頻率已超過300MHz。本文以FPGA作為分布式溫度采集系統(tǒng)的控制器。與以往利用單片機作為控制器的系統(tǒng)相比。提高了系統(tǒng)整體的實時性和穩(wěn)定性。

1 溫度傳感器及其通信協(xié)議

本系統(tǒng)中溫度傳感器采用的MAXIM公司的1-wire器件DS18B20.DS18B20溫度傳感器由于其結(jié)構(gòu)簡單、安裝方便、功耗低、測溫范圍寬而被廣泛的應用于化工、糧食、環(huán)境監(jiān)測等需要實現(xiàn)多點測溫的地方:1-Wire技術(shù)采用一根信號線進行雙向數(shù)據(jù)傳輸.一個控制器可以控制一個或多個從機設備與其他標準串行數(shù)據(jù)通信方式如SPI、I2C相比.單總線具有節(jié)省系統(tǒng)I/O口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。

由于1-Wire總線只有一根信號線.所以要完成通信就要在一根信號線上實現(xiàn)數(shù)據(jù)的雙向傳輸。1-Wire通信協(xié)議對時序的要求非常嚴格。協(xié)議中一共規(guī)定了五種類型的通信時序,分別為初始化(復位)時序、寫“1”時序、寫“0”時序、讀“1”時序和讀“0”時序.如圖1所示。所有通信都由這五種典型時序組合完成.就是說要控制好這五種時序.才能實現(xiàn)對1-Wire器件的控制。

基于DS18B20溫度傳感器和EPIC6Q240C8N實現(xiàn)溫度采集系統(tǒng)的設計

圖1單總線通信協(xié)議時序圖

2 實時分布式溫度采集系統(tǒng)設計

大多數(shù)基于DS18B20的溫度采集系統(tǒng)采用單片機作為控制器.可以監(jiān)測多個溫度點的溫度。雖然監(jiān)測點的數(shù)目可以很多。但是卻無法做到同時對每一個監(jiān)測點進行監(jiān)測。原因在于單片機在一個時間周期只能執(zhí)行一條指令,無法實現(xiàn)并行的動作了。然而采用FPGA作為控制器將大大提升溫度監(jiān)測系統(tǒng)的實時性,F(xiàn)PGA的動作是由時鐘來驅(qū)動的,因此可以在同一時鐘可完成多個動作。FPGA可以并行地處理數(shù)據(jù),這是單片機無法做到的。本文設計的溫度監(jiān)測系統(tǒng)就是利用了FPGA的這個優(yōu)勢.實現(xiàn)了對多個監(jiān)測點實時進行監(jiān)測。

2.1系統(tǒng)硬件設計存器

FPGA選用Altera公司主流Cyclone系列高性價比的EPIC6Q240C8N。測溫系統(tǒng)的原理圖如圖2所示,由FPGA、顯示部分、按鍵部分和采集部分組成。雖然單總線允許在總線上掛載多個1-wire器件并實現(xiàn)多點控制,但這樣卻無法同時對每一個1-wire器件實現(xiàn)控制。所以本系統(tǒng)的采集部分使每個DS18B20都單獨享有一條總線,每條總線都與FPGA的一個I/O口相連。系統(tǒng)選用的FPGA一共有240個管腳,不算電源和配置管腳,可用的I/O管腳達到了179個,除去顯示和按鍵部分所用的I/O管腳,理論上還可以掛載百個DS18B20。

按鍵部分的設計提供人機交互,可以設定最低溫度警告數(shù)值和最高溫度警告數(shù)值,通過按鍵可以瀏覽每一個溫度點的測量值。顯示部分負責顯示每一個測量點的標號和對應的溫度值。FPGA負責控制溫度的采集,并將每一個測量點的溫度與設定好的最低溫度和最高溫度進行實時比較,一旦監(jiān)測點的溫度超標將立刻發(fā)出警報提示。

圖2 測溫系統(tǒng)原理圖

2.2 軟件編程設計

本系統(tǒng)是連續(xù)實時采集溫度的.所以需要有一個核心控制部分來實現(xiàn)對DS18B20發(fā)送復位、溫度轉(zhuǎn)換和溫度讀取指令的功能??刂撇糠植捎糜邢逘顟B(tài)機來實現(xiàn),狀態(tài)與狀態(tài)之間的轉(zhuǎn)換需要一定的轉(zhuǎn)移條件,這個轉(zhuǎn)移條件可以是一個定義的信號量,當信號量的數(shù)值改變時,狀態(tài)機就通過信號量的數(shù)值來決定轉(zhuǎn)換到哪一個狀態(tài)。

根據(jù)有限狀態(tài)機與溫度采集控制器的對應關(guān)系.可以參照控制器的操作控制步來確定有限狀態(tài)機的狀態(tài)。設發(fā)送復位指令的狀態(tài)值為“000”.發(fā)送跳過ROM指令的狀態(tài)值為“001”.發(fā)送轉(zhuǎn)換溫度指令的狀態(tài)值為“01l”.發(fā)送讀取暫存指令的狀態(tài)值為“101”.讀取溫度數(shù)據(jù)的狀態(tài)值為“100”。狀態(tài)機的狀態(tài)都確定以后。便做出有限狀態(tài)機狀態(tài)轉(zhuǎn)移圖,如圖3所示。

圖3溫度采集控制部分的MDS圖

根據(jù)以上的分析,接下來用VHDL語言編寫描述有限狀態(tài)機功能的程序。程序使用兩個進程來描述有限狀態(tài)機的功能:state_transfer進程用來描述有限狀態(tài)機中的次態(tài)邏輯和狀態(tài)寄存器.通過CASE語句,根據(jù)次態(tài)邏輯值實現(xiàn)狀態(tài)值的改變;output_logic進程用來描述有限狀態(tài)機中的輸出邏輯,通過IF語句判斷狀態(tài)值然后轉(zhuǎn)入相應的指令程序。

3 基于FPGA與基于單片機控制DS18B20

3.1 保證時序精確

單片機作為基于DS18B20的溫度監(jiān)控系統(tǒng)的控制器,用匯編語言編寫程序,很容易控制時間,因為我們知道每條語句的執(zhí)行時間,每段宏的執(zhí)行時間,每段子程序加調(diào)用語句所消耗的時間。但是當系統(tǒng)進入中斷,時序的控制就無法保證精確。

3.2 查找序列號

單片機的管腳有限,所以要用單片機檢測多個溫度點,就需要將多個DS18B20掛在一條總線上。很顯然,序列號許配工作需要額外的時間,而且在讀取一個測溫點溫度值的過程中,其它的測溫點也都完成了測溫并等待讀取,這無疑降低了測溫的效率。

用FPGA代替單片機,以上問題就不存在了。首先FPGA具有豐富的管腳資源,可以讓每個傳感器都單獨使用一根數(shù)據(jù)線。這樣不但可以實現(xiàn)同時讀取每一個傳感器的溫度值,而且可以不用進行序列號的匹配。大大提高了整個系統(tǒng)測溫的效率,維護更加方便快捷。

3.3 成本考慮

單片機技術(shù)如今已經(jīng)非常成熟。應用領(lǐng)域也非常廣泛.價錢也非常便宜。普通的型號價格在l美元左右,最高端的型號也只有10美元。因此用單片機作為控制器.整體系統(tǒng)的成本相對較低。雖然FPGA如今也已經(jīng)得到了廣泛的普及,但是價格還是相對較高,因此用FPGA作為系統(tǒng)的控制器威本就相對高一些。

4 結(jié)論

使用FPGA作為DS18B20的控制器.可以保證時序上精確符合單總線通信協(xié)議.系統(tǒng)運行時控制部分、顯示部分、人機交互部分可以并行地運行互不干擾,提高了整體系統(tǒng)的實時性與穩(wěn)定性:與用單片機作為控制器的系統(tǒng)做出比較.分析了兩者作為控制器的優(yōu)缺點。

基于FPGA和DS18B20的分布式溫度采集系統(tǒng).可實現(xiàn)同時監(jiān)測多個溫度點,并無需知道每一個傳感器的序列號,大大提高了溫度采集系統(tǒng)的實時性和可靠性。雖然基于FPGA的系統(tǒng)成本相對較高.但為分布式溫度采集實時性要求較高的應用場合提出了解決辦法。

本文創(chuàng)新點:基于FPGA和DS18B20的分布式溫度采集系統(tǒng),可以實現(xiàn)同時監(jiān)測多個檢測點的溫度,并無需知道每一個傳感器的序列號,大大提高了溫度采集系統(tǒng)的實時性和可靠性。為分布式溫度采集實時性要求較高的應用場合提出了解決辦法。項目經(jīng)濟效益:硬件成本約6000元,推廣價格約8500元。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605150
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    2972

    瀏覽量

    156288
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2900

    瀏覽量

    88282
收藏 人收藏

    評論

    相關(guān)推薦

    基于STM32的DS18B20溫度傳感器設計

    DS18B20內(nèi)置了64位產(chǎn)品序列號,方便識別身份,在一根線上可以掛接多個DS18B20傳感器,通過64位身份驗證,可以分別讀取來至不同傳感器采集
    的頭像 發(fā)表于 03-07 11:44 ?1.3w次閱讀
    基于STM32的<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>設計

    基于DS18B20數(shù)字溫度傳感器的設計方案

    的工作狀態(tài),DS18B20溫度傳感器內(nèi)置溫度上下限; ?。?)編寫C51程序,完成單片機對溫度數(shù)
    發(fā)表于 11-12 16:30

    DS18B20溫度傳感器是什么

    的EEPROM,精度降低為±2°C,適用于對性能要求不高,成本控制嚴格的應用,是經(jīng)濟型產(chǎn)品。 繼“一線總線”的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。
    發(fā)表于 04-27 08:14

    DS18B20溫度傳感器實驗

    單片機驅(qū)動DS18B20溫度傳感器實現(xiàn)溫度的串口打印顯示,本實驗中STM32基于HAL庫開發(fā)。本文全程記錄實驗過
    發(fā)表于 08-18 07:44

    新型溫度傳感器DS18B20高精度測溫的實現(xiàn)

    介紹了一種數(shù)字式的溫度傳感器DS18B20, 提出了一種基于89C2051 的測溫電路及軟件框圖在內(nèi)的實現(xiàn)方法。關(guān)鍵詞 數(shù)字式
    發(fā)表于 07-03 10:14 ?62次下載

    基于PC機的DS18B20溫度采集系統(tǒng)

    本文簡要介紹了溫度傳感器DS18B20 的特性及工作原理,給出了DS18B20 與單片機、單片機與PC 機間的接線圖,并介紹了如何實現(xiàn)
    發(fā)表于 09-10 16:20 ?161次下載

    數(shù)字溫度傳感器DS18B20的設計及應用

    數(shù)字溫度傳感器DS18B20的設計及應用 1引言 DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度
    發(fā)表于 04-02 18:00 ?2847次閱讀
    數(shù)字<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b><b class='flag-5'>DS18B20</b>的設計及應用

    DS18B20完成溫度檢測的技巧

    介紹了DS18B20 溫度傳感器 的結(jié)構(gòu)和特點以及用DS18B20溫度傳感器進行
    發(fā)表于 08-23 10:44 ?190次下載
    <b class='flag-5'>DS18B20</b>完成<b class='flag-5'>溫度</b>檢測的技巧

    基于ARM和DS18B20溫度監(jiān)測系統(tǒng)

    基于ARM和DS18B20溫度監(jiān)測系統(tǒng)使用SAMSUNG公司的32位ARM微控制S3C2440作為數(shù)據(jù)
    發(fā)表于 11-03 11:21 ?339次下載

    溫度傳感器DS18B20

    溫度傳感器DS18B20 51例程,親測可用
    發(fā)表于 06-14 15:36 ?20次下載

    智能溫度傳感器DS18B20的原理與應用

    DS18B20是DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,他具有獨特的單線總線接口方式。文章詳細的介紹了單線數(shù)字溫度傳感器
    發(fā)表于 10-11 18:19 ?49次下載

    DS18B20溫度傳感器溫度程序和驅(qū)動以及案例實現(xiàn)資料說明

    本文檔的的主要內(nèi)容詳細介紹的是DS18B20溫度傳感器溫度程序和驅(qū)動以及案例實現(xiàn)資料說明,本文件包含整個
    發(fā)表于 04-09 08:00 ?1次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>的<b class='flag-5'>溫度</b>程序和驅(qū)動以及案例<b class='flag-5'>實現(xiàn)</b>資料說明

    ds18b20的特性_ds18b20溫度傳感器應用

    本文首先介紹了ds18b20的特性,其次介紹了DS18B20工作原理,最后介紹了ds18b20溫度傳感器應用。
    發(fā)表于 04-24 09:10 ?1.1w次閱讀
    <b class='flag-5'>ds18b20</b>的特性_<b class='flag-5'>ds18b20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>應用

    ds18b20溫度傳感器是什么類型

    DS18B20溫度傳感器是一種數(shù)字溫度傳感器,它屬于單總線(One-Wire)數(shù)字溫度
    的頭像 發(fā)表于 09-03 16:46 ?1191次閱讀

    ds18b20溫度傳感器如何使用

    Devices的一部分)生產(chǎn)的數(shù)字溫度傳感器。它能夠提供9位至12位的溫度測量數(shù)據(jù),具有高精度和可編程分辨率。DS18B20溫度測量范圍
    的頭像 發(fā)表于 09-03 16:51 ?787次閱讀