《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種單片機(jī)和FPGA的遠(yuǎn)程溫度監(jiān)控系統(tǒng)
一種單片機(jī)和FPGA的遠(yuǎn)程溫度監(jiān)控系統(tǒng)
舒斌
摘要: 溫度對(duì)工農(nóng)業(yè)生產(chǎn)和國防事業(yè)均有不同程度的影響,為了對(duì)溫度進(jìn)行適時(shí)遠(yuǎn)程監(jiān)控,設(shè)計(jì)了這套系統(tǒng)。系統(tǒng)采用at89s51系列單片機(jī)與dallas單線數(shù)字溫度傳感器ds18b20采集現(xiàn)場(chǎng)溫度數(shù)據(jù),nios ⅱ作為上位機(jī),借助互聯(lián)網(wǎng),實(shí)現(xiàn)對(duì)溫度進(jìn)行遠(yuǎn)程監(jiān)控。與傳統(tǒng)溫度監(jiān)控系統(tǒng)相比采用了嵌入式的服務(wù)器,減小了硬件體積,提高了實(shí)時(shí)性。同時(shí)給出了該系統(tǒng)的硬件原理圖和程序流程圖。
Abstract:
Key words :

        溫度對(duì)工農(nóng)業(yè)生產(chǎn)和國防事業(yè)均有不同程度的影響。電力設(shè)備的故障有多種多樣,但大多數(shù)都伴有發(fā)熱的現(xiàn)象,一次事故損失巨大;紡織、食品、煙草等工業(yè)中,溫度過高容易使產(chǎn)品變質(zhì),電子儀器也容易出故障;溫室栽培和工業(yè)生產(chǎn)中,若不控制溫度,將嚴(yán)重影響產(chǎn)量和質(zhì)量。還有很多領(lǐng)域的溫度可能較高或較低,人無法靠近或現(xiàn)場(chǎng)無需人力來監(jiān)控。傳統(tǒng)的溫度測(cè)量方式周期長,不能實(shí)時(shí)監(jiān)測(cè),而且測(cè)量員必須到現(xiàn)場(chǎng)進(jìn)行測(cè)量和啟動(dòng)功率設(shè)備來調(diào)整溫度,工作效率非常低,且不便于管理。為此設(shè)計(jì)了這套遠(yuǎn)程測(cè)控系統(tǒng),坐在辦公室里就可以對(duì)現(xiàn)場(chǎng)進(jìn)行監(jiān)控,又方便又節(jié)省人力。

  1 系統(tǒng)的總體設(shè)計(jì)

  本設(shè)計(jì)是基于單片機(jī)和NiosⅡ軟核的溫度監(jiān)控系統(tǒng),其系統(tǒng)框圖如圖1所示。本系統(tǒng)采用Dallas單線數(shù)字溫度傳感器DS18B20采集溫度數(shù)據(jù),打破了傳統(tǒng)的熱電阻、熱電偶再通過A/D轉(zhuǎn)換采集溫度的思路。用Atmel公司的FLASH單片機(jī)AT89S51對(duì)數(shù)字信號(hào)進(jìn)行處理和控制,通過RS 232串口傳到以NiosⅡ構(gòu)成的嵌入式處理機(jī)中對(duì)溫度進(jìn)行監(jiān)視與報(bào)警。Nios II的嵌入式Web服務(wù)器使用戶可以通過IE瀏覽器瀏覽存儲(chǔ)在FLASH芯片中的網(wǎng)頁,由于CPU本身是以軟核的方式實(shí)現(xiàn),其功能可根據(jù)需要進(jìn)行定制,非常靈活。

   2 監(jiān)控系統(tǒng)的硬件系統(tǒng)設(shè)計(jì)

  2.1 對(duì)DS18B20的簡單介紹和使用說明

  DS18B20是美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),特別適合于構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供微機(jī)處理,而且每片DS18B20都有惟一的產(chǎn)品號(hào)并可存入其ROM中,在構(gòu)成大型溫度測(cè)控系統(tǒng)時(shí)單線上可掛多個(gè)DS18B20芯片。從DS18B20讀出或?qū)懭隓S18B20信息僅需要一根口線,共讀寫及溫度變換的功率來源于數(shù)據(jù)總線,該總線本身也可以向所掛接的DS18B20供電,而無需額外電源。DS18B20能提供9位溫度讀數(shù),它無需任何外圍硬件即可方便地構(gòu)成溫度檢測(cè)系統(tǒng)。DS18B20體積更小、適用電壓更寬、更經(jīng)濟(jì)。測(cè)量溫度范圍為-55~+125℃,在-10~+85℃范圍內(nèi),精度為±0.5℃。單片機(jī)控制DS18B20完成溫度的采集過程必須經(jīng)過初始化、寫操作、讀操作3個(gè)步驟,而且必須有嚴(yán)格的時(shí)間間隙。

  2.2 NiosⅡ處理器的說明

  Altera公司的NiosⅡ處理器是一種用戶可隨時(shí)配置和構(gòu)建的32位指令集和數(shù)據(jù)通道的嵌入式系統(tǒng)微處理器IP核,采用Avalon總線結(jié)構(gòu)通信接口,帶有增強(qiáng)的內(nèi)存調(diào)試和軟件功能。LWIP是一種專門針對(duì)嵌入式系統(tǒng)應(yīng)用而設(shè)計(jì)的網(wǎng)絡(luò)通信協(xié)議,支持因特網(wǎng)信息控制協(xié)議(ICMP),用戶數(shù)據(jù)報(bào)協(xié)議(UDP),動(dòng)態(tài)主機(jī)分配協(xié)議(DHCP),地址解析協(xié)議(ARP)以及對(duì)應(yīng)用程序提供的標(biāo)準(zhǔn)Socket接口,因而可以完成傳統(tǒng)的TCP/IP協(xié)議的大部分功能,資源占用卻比TCP/IP協(xié)議小,所以非常適合以NiosⅡ處理器為核心的系統(tǒng)?;谝陨峡紤],嵌入式Web服務(wù)器以NiosⅡ處理器為核心,LWIP為網(wǎng)絡(luò)通信協(xié)議,實(shí)現(xiàn)簡單的網(wǎng)頁瀏覽功能。用戶可以通過網(wǎng)絡(luò)瀏覽存儲(chǔ)在FLASH中的網(wǎng)頁。

  2.3 硬件電路設(shè)計(jì)說明

  本系統(tǒng)硬件電路包括單片機(jī)溫度采集電路、電平轉(zhuǎn)換電路及基于NiosⅡ嵌入式上位機(jī)系統(tǒng)。

  2.3.1 溫度采集電路

  溫度采集電路主要由DS18B20和單片機(jī)構(gòu)成,如圖2所示。系統(tǒng)以8051單片機(jī)(U1)作為核心;C1,C2和Y1組成時(shí)鐘電路,晶振為12 MHz;S1,C12和R3組成復(fù)位電路;U1的P1.0接一個(gè)發(fā)光二極管,用于程序執(zhí)行指示燈;R5為限流電阻;DQ接到8051的P2.1端;R1為信號(hào)和5 V電源之間的上拉電阻。

   2.3.2 電平轉(zhuǎn)換電路

  單片機(jī)與上位機(jī)的通信電路如圖3所示。8051單片機(jī)本身提供了一組全雙工串行傳輸接口,由TXD引腳來傳送串行數(shù)據(jù)而由RXD引腳來接收數(shù)據(jù),可是其工作邏輯電平皆為TTL電平(0 V,5 V)。所以單片機(jī)與PC之間的數(shù)據(jù)通信必須經(jīng)過RS 232信號(hào)(+12 V,-12 V)電平的轉(zhuǎn)換。本系統(tǒng)使用MAX232電平轉(zhuǎn)換芯片,只要加4只電容就能完成接口電平的轉(zhuǎn)換。單片機(jī)的11腳(TXD)接232的10腳,單片機(jī)的10腳(RXD)接232的9腳。與上位機(jī)連接的RS 232-C接口采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。電源部分采用市售的9 V直流穩(wěn)壓電源,經(jīng)7805后濾波穩(wěn)壓得到穩(wěn)定的5 V電源。

   2.3.3 基于NiosⅡ嵌入式上位機(jī)

  系統(tǒng)主要包括以下幾個(gè)部分:包括NiosⅡ軟核CPU、操作系統(tǒng)使用的定時(shí)器、網(wǎng)絡(luò)協(xié)議棧使用的定時(shí)器、CPU同外圍設(shè)備的接口(Avlaon總線);EPCS4用來在上電時(shí)對(duì)FPGA進(jìn)行配置;FLASH主要用來存放軟件代碼以及一些需要保存的參數(shù);SRAM用來在系統(tǒng)運(yùn)行時(shí)的代碼和數(shù)據(jù)存儲(chǔ);網(wǎng)絡(luò)接口芯片采用Smsc公司的LAN91C111芯片作為網(wǎng)絡(luò)接口。該器件是一個(gè)以太網(wǎng)控制器,實(shí)現(xiàn)了網(wǎng)絡(luò)7層協(xié)議棧中的傳輸層和MAC層的功能。另外,它具有10/100 Mb/s自適應(yīng)、雙工/半工自適應(yīng)等功能,有很好的網(wǎng)絡(luò)兼容性。采用串口UART和單片機(jī)通信。利用QuartusⅡ中的SOPC Builde構(gòu)建的CPU如圖4所示。

   3 監(jiān)控系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)

  單片機(jī)控制程序設(shè)計(jì)框圖如圖5和圖6所示。

   串口中斷程序功能為接收由上位機(jī)發(fā)送的數(shù)據(jù)采集周期以及開始、停止指令。溫度信號(hào)濾波通過軟件實(shí)現(xiàn)。濾波算法采用加權(quán)平均值法,即對(duì)最新檢測(cè)到的N個(gè)溫度信號(hào)序列去除最大值和最小值,并取加權(quán)平均運(yùn)算。

  4 基于NiosⅡ的Web服務(wù)器的實(shí)現(xiàn)

  把構(gòu)建好的CPU及相應(yīng)的模塊進(jìn)行分析引腳分配、綜合后再進(jìn)行編譯,用NiosⅡIDE(集成開發(fā)環(huán)境)通過移植實(shí)時(shí)操作系統(tǒng)μCLinux來實(shí)現(xiàn)嵌入式實(shí)時(shí)多任務(wù)控制系統(tǒng),開發(fā)相應(yīng)的網(wǎng)頁并進(jìn)行服務(wù)器移植和配置。本系統(tǒng)采用μCLinux下的Boa。Boa是一個(gè)單線程的HTTP服務(wù)器,它不同于其它傳統(tǒng)的Web服務(wù)器,不為每個(gè)連接創(chuàng)建一個(gè)進(jìn)程,只有當(dāng)CGI程序運(yùn)行時(shí)才創(chuàng)建一個(gè)新的進(jìn)程。通過移植Boa來實(shí)現(xiàn)智能監(jiān)控系統(tǒng)的Web服務(wù)器功能,最后通過編寫CGI程序并結(jié)合Flash動(dòng)畫實(shí)現(xiàn)了動(dòng)態(tài)Web交互功能。

  5 結(jié)語

  采用AT89S51系列單片機(jī)、傳感器DS18B20和NiosⅡ設(shè)計(jì)的遠(yuǎn)程溫度控制系統(tǒng)具有結(jié)構(gòu)新穎、電路簡單、體積小和控制方便等優(yōu)點(diǎn)。可以廣泛用于電站、學(xué)校、醫(yī)院等相關(guān)重點(diǎn)設(shè)備的溫度遠(yuǎn)程監(jiān)控。也適用于人體無法接近的高溫或危險(xiǎn)場(chǎng)所的溫度監(jiān)控。如果變換傳感器稍加改變也可以成為其他參數(shù)的遠(yuǎn)程監(jiān)控系統(tǒng),如壓力、濕度或瓦斯等。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。