<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

基于DS18B20溫度傳感器和EPIC6Q240C8N實現溫度采集系統的設計

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

引言

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

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

1 溫度傳感器及其通信協議

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

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

基于DS18B20溫度傳感器和EPIC6Q240C8N實現溫度采集系統的設計

圖1單總線通信協議時序圖

2 實時分布式溫度采集系統設計

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

2.1系統硬件設計存器

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

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

圖2 測溫系統原理圖

2.2 軟件編程設計

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

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

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

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

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

3.1 保證時序精確

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

3.2 查找序列號

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

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

3.3 成本考慮

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

4 結論

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

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

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

責任編輯:gt

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

    關注

    1610

    文章

    21374

    瀏覽量

    595028
  • 溫度傳感器
    +關注

    關注

    48

    文章

    2671

    瀏覽量

    154677
  • 總線
    +關注

    關注

    10

    文章

    2735

    瀏覽量

    87389
收藏 人收藏

    評論

    相關推薦

    DS18B20溫度傳感器工作原理及其應用電路圖

    的條件下讀取ROM?!   。?)電路更加簡潔,僅用一根I/O口實現測溫?!   。?)只適應于單一溫度傳感器測溫情況下使用,不適于采用電池供電系統中?!   ?/div>
    發表于 02-21 14:43

    【眾拳】基于STM8DS18B20溫度傳感器實驗

    `DS18B20簡介DS18B20數字溫度傳感器接線方便,封裝后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式。主要根據應用場合的不同而改變其外觀。封裝后的
    發表于 12-15 09:49

    基于單總線數字溫度傳感器DS18B20的測溫系統方案

    ),DS18B20以16位、符號擴展的二進制補碼形式發送到數據總線,低位在前,高位在后。   2 測溫系統硬件設計  系統硬件主要由單片機最小系統、
    發表于 11-06 15:18

    基于DS18B20數字溫度傳感器的設計方案

    的工作狀態,DS18B20溫度傳感器內置溫度上下限; ?。?)編寫C51程序,完成單片機對溫度
    發表于 11-12 16:30

    基于Linux的溫度傳感器DS18B20驅動程序設計

    3根引腳線,工作電壓范圍為3~5.5 V,支持單總線接口?! 蚀_的溫度測量是很多嵌入式系統中重要的一點。在Linux操作系統下使用數字溫度傳感器
    發表于 11-14 15:24

    基于DS18B20的MOA溫度遠程監控系統設計

    大量的引線和邏輯電路, 適合于遠距離多點溫度檢測?! ≡谶M行多點測溫時, 由于傳感器與數據采集系統有一定的距離, 電磁干擾、信號衰減等問題會造成數據傳輸錯誤。
    發表于 12-04 15:57

    DS18B20溫度傳感器是什么

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

    DS18B20的數字溫度傳感器

    DS18B20的數字溫度傳感器,可以用來對環境溫度進行定量的檢測。
    發表于 07-29 07:36

    DS18B20溫度傳感器簡介

    DS18B20溫度傳感器1. DS18B20簡介2. 硬件設計3. 軟件設計3.1 STM32CubeMX設置3.2 MDK-ARM編程4. 下載驗證
    發表于 08-12 07:32

    DS18B20溫度傳感器實驗

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

    DS18B20溫度傳感器的相關資料分享

    DS18B20溫度傳感器1. 簡介DS18B20數字溫度傳感器提供9-12位攝氏度
    發表于 12-08 06:38

    通過對多路DS18B20溫度傳感器的數據采集

    系統通過對多路DS18B20溫度傳感器的數據采集,實現8
    發表于 12-10 06:05

    利用數字溫度傳感器DS18B20測量溫度信號

    DS18B20一、實驗目的二、實驗內容三、實驗步驟四、C代碼如下五、實驗結果六、實驗體會一、實驗目的本次的設計主要是利用了數字溫度傳感器DS18B2
    發表于 12-13 07:37

    DS18B20溫度傳感器簡介

    文章目錄DS18B20 簡介硬件設計軟件設計下載驗證DS18B20 簡介DS18B20 是由 DALLAS 半導體公司推出的一種的“一線總線”接口的溫度
    發表于 12-17 07:47

    如何調試DS18B20溫度傳感器

    關于調試DS18B20溫度傳感器-記錄敘述元器件要點步驟其它問題結尾代碼鏈接敘述最近,調試DS18B20這個數字傳感器,關于如何調試
    發表于 01-17 07:03
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>