一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

采用DS18B20芯片實(shí)現(xiàn)分布式溫度采集系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-30 08:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

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

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

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

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

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

采用DS18B20芯片實(shí)現(xiàn)分布式溫度采集系統(tǒng)的設(shè)計(jì)

2 實(shí)時(shí)分布式溫度采集系統(tǒng)設(shè)計(jì)

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

2.1 系統(tǒng)硬件設(shè)計(jì)

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

采用DS18B20芯片實(shí)現(xiàn)分布式溫度采集系統(tǒng)的設(shè)計(jì)

按鍵部分的設(shè)計(jì)提供人機(jī)交互,可以設(shè)定最低溫度警告數(shù)值和最高溫度警告數(shù)值,通過(guò) 按鍵可以瀏覽每一個(gè)溫度點(diǎn)的測(cè)量值。顯示部分負(fù)責(zé)顯示每一個(gè)測(cè)量點(diǎn)的標(biāo)號(hào)和對(duì)應(yīng)的溫度 值。FPGA 負(fù)責(zé)控制溫度的采集,并將每一個(gè)測(cè)量點(diǎn)的溫度與設(shè)定好的最低溫度和最高溫度 進(jìn)行實(shí)時(shí)比較,一旦某監(jiān)測(cè)點(diǎn)的溫度超標(biāo)將立刻發(fā)出警報(bào)提示。

2.2 軟件編程設(shè)計(jì)

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

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

采用DS18B20芯片實(shí)現(xiàn)分布式溫度采集系統(tǒng)的設(shè)計(jì)

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

3 基于FPGA 與基于單片機(jī)控制DS18B20 的比較與討論

3.1 保證時(shí)序精確

單片機(jī)作為基于DS18B20 的溫度監(jiān)測(cè)系統(tǒng)的控制器,用匯編語(yǔ)言編寫程序,很容易控 制時(shí)間,因?yàn)槲覀冎烂織l語(yǔ)句的執(zhí)行時(shí)間,每段宏的執(zhí)行時(shí)間,每段子程序加調(diào)用語(yǔ)句所 消耗的時(shí)間[5]。但是當(dāng)系統(tǒng)進(jìn)入中斷,時(shí)序的控制就無(wú)法保證精確。

如果用 FPGA 作為基于DS18B20 的溫度監(jiān)測(cè)系統(tǒng)的控制器,在保證1-Wire 通信協(xié)議時(shí) 序上就有足夠的把握。因?yàn)榭刂茣r(shí)序程序、顯示部分程序和人機(jī)交互程序等都在相互獨(dú)立的 進(jìn)程上同時(shí)運(yùn)行,保證了系統(tǒng)的實(shí)時(shí)性和可靠性。

3.2 查找序列號(hào)

單片機(jī)的管腳有限,所以要用單片機(jī)監(jiān)測(cè)多個(gè)溫度點(diǎn)時(shí),就需要將多個(gè)DS18B20 掛在 一條總線上。很顯然,序列號(hào)匹配工作需要額外的時(shí)間,而且在讀取一個(gè)測(cè)溫點(diǎn)溫度值的過(guò) 程中,其它的測(cè)溫點(diǎn)也都完成了測(cè)溫并等待讀取,這無(wú)疑降低了測(cè)溫的效率。

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

3.3 成本考慮

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

4 結(jié)論

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

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

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

    關(guān)注

    1645

    文章

    22046

    瀏覽量

    618285
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52494

    瀏覽量

    440669
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17100

    瀏覽量

    184223
  • 溫度采集
    +關(guān)注

    關(guān)注

    0

    文章

    114

    瀏覽量

    23732
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于DS18B20和LabVIEW的多點(diǎn)溫度測(cè)量系統(tǒng)

    今天我們一起完成一個(gè)比較完整的作品,基于DS18B20和LabVIEW的多點(diǎn)溫度測(cè)量系統(tǒng)。我重點(diǎn)介紹實(shí)現(xiàn)多點(diǎn)DS18B20
    發(fā)表于 09-26 10:28 ?2141次閱讀

    DS18B20 數(shù)字溫度計(jì)特點(diǎn)

    一.DS18B20特點(diǎn) DS18B20 數(shù)字溫度計(jì)提供12位(二進(jìn)制)溫度讀數(shù)的數(shù)字型傳感器。傳感器僅需要單總線接口與CPU連接,實(shí)現(xiàn)信號(hào)送
    的頭像 發(fā)表于 09-11 11:19 ?3773次閱讀
    <b class='flag-5'>DS18B20</b> 數(shù)字<b class='flag-5'>溫度</b>計(jì)特點(diǎn)

    基于單總線數(shù)字溫度傳感器DS18B20的測(cè)溫系統(tǒng)方案

    單總線上構(gòu)成多點(diǎn)分布式溫度測(cè)量系統(tǒng);具有極強(qiáng)的抗干擾糾錯(cuò)能力?! ?b class='flag-5'>DS18B20的TO-92封裝如圖1所示,針腳1為電源地線,針腳2為數(shù)據(jù)輸入/輸出線,針腳3為可選電源線?! ?/div>
    發(fā)表于 11-06 15:18

    基于DS18B20的MOA溫度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

    遠(yuǎn)程溫度監(jiān)測(cè)能力和遠(yuǎn)程報(bào)警能力?! ?DS18B20簡(jiǎn)介  1. 1DS18B20  系統(tǒng)采用DALLAS半導(dǎo)體公司生產(chǎn)的單線數(shù)字
    發(fā)表于 12-04 15:57

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

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

    基于nRF2401的分布式測(cè)溫系統(tǒng)設(shè)計(jì)

    利用溫度傳感器DS18B20 、AT89S51 單片機(jī)和nRF2401 收發(fā)芯片設(shè)計(jì)分布式無(wú)線溫度測(cè)試
    發(fā)表于 08-30 15:51 ?134次下載

    DS18B20完成溫度檢測(cè)的技巧

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

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

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

    DS18B20溫度顯示報(bào)警控制設(shè)計(jì)

    本文設(shè)計(jì)了一種基于AT89C51 單片機(jī)與DS18B20溫度控制系統(tǒng)。該設(shè)計(jì)通過(guò)AT89S52 單片機(jī)驅(qū)動(dòng)數(shù)字溫度傳感器DS18B20,
    發(fā)表于 12-17 00:24 ?696次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>顯示報(bào)警控制設(shè)計(jì)

    基于DS18B20數(shù)字溫度報(bào)警系統(tǒng)的設(shè)計(jì)

    基于SST單片機(jī)的DS18B20數(shù)字溫度報(bào)警系統(tǒng)
    發(fā)表于 02-08 02:34 ?23次下載

    基于DS18B20溫度測(cè)量系統(tǒng)_杜海龍

    基于DS18B20溫度測(cè)量系統(tǒng)_杜海龍
    發(fā)表于 03-19 11:45 ?15次下載

    溫度DS18B20資料

    溫度DS18B20資料匯總 DS18B20是常用的數(shù)字溫度傳感器,具有體積小,硬件開銷低,抗干擾能力強(qiáng),精度高的特點(diǎn)。[1] DS18B20
    發(fā)表于 11-29 17:32 ?13次下載
    <b class='flag-5'>溫度</b><b class='flag-5'>DS18B20</b>資料

    DS18B20溫控系統(tǒng)的合集包括:芯片介紹,設(shè)計(jì)資料,原理圖和程序的概述

    基于DS18B20的溫控系統(tǒng)的設(shè)計(jì)采用DS18B20芯片和四位共陽(yáng)極LED數(shù)碼管,還有主控芯片
    發(fā)表于 06-19 08:00 ?30次下載
    <b class='flag-5'>DS18B20</b>溫控<b class='flag-5'>系統(tǒng)</b>的合集包括:<b class='flag-5'>芯片</b>介紹,設(shè)計(jì)資料,原理圖和程序的概述

    ds18b20的特性_ds18b20溫度傳感器應(yīng)用

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

    DS18B20實(shí)現(xiàn)溫度采集的PCB原理圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是DS18B20實(shí)現(xiàn)溫度采集的PCB原理圖免費(fèi)下載。
    發(fā)表于 09-22 16:25 ?80次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>溫度</b><b class='flag-5'>采集</b>的PCB原理圖免費(fèi)下載