溫度對工農(nóng)業(yè)生產(chǎn)和國防事業(yè)均有不同程度的影響。電力設備的故障有多種多樣,但大多數(shù)都伴有發(fā)熱的現(xiàn)象,一次事故損失巨大;紡織、食品、煙草等工業(yè)中,溫度過高容易使產(chǎn)品變質,電子儀器也容易出故障;溫室栽培和工業(yè)生產(chǎn)中,若不控制溫度,將嚴重影響產(chǎn)量和質量。還有很多領域的溫度可能較高或較低,人無法靠近或現(xiàn)場無需人力來監(jiān)控。傳統(tǒng)的溫度測量方式周期長,不能實時監(jiān)測,而且測量員必須到現(xiàn)場進行測量和啟動功率設備來調整溫度,工作效率非常低,且不便于管理。為此設計了這套遠程測控系統(tǒng),坐在辦公室里就可以對現(xiàn)場進行監(jiān)控,又方便又節(jié)省人力。
1 系統(tǒng)的總體設計
本設計是基于單片機和NiosⅡ軟核的溫度監(jiān)控系統(tǒng),其系統(tǒng)框圖如圖1所示。本系統(tǒng)采用Dallas單線數(shù)字溫度傳感器DS18B20采集溫度數(shù)據(jù),打破了傳統(tǒng)的熱電阻、熱電偶再通過A/D轉換采集溫度的思路。用Atmel公司的FLASH單片機AT89S51對數(shù)字信號進行處理和控制,通過RS 232串口傳到以NiosⅡ構成的嵌入式處理機中對溫度進行監(jiān)視與報警。Nios II的嵌入式Web服務器使用戶可以通過IE瀏覽器瀏覽存儲在FLASH芯片中的網(wǎng)頁,由于CPU本身是以軟核的方式實現(xiàn),其功能可根據(jù)需要進行定制,非常靈活。
2 監(jiān)控系統(tǒng)的硬件系統(tǒng)設計
2.1 對DS18B20的簡單介紹和使用說明
DS18B20是美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點,特別適合于構成多點溫度測控系統(tǒng),可直接將溫度轉化成串行數(shù)字信號供微機處理,而且每片DS18B20都有惟一的產(chǎn)品號并可存入其ROM中,在構成大型溫度測控系統(tǒng)時單線上可掛多個DS18B20芯片。從DS18B20讀出或寫入DS18B20信息僅需要一根口線,共讀寫及溫度變換的功率來源于數(shù)據(jù)總線,該總線本身也可以向所掛接的DS18B20供電,而無需額外電源。DS18B20能提供9位溫度讀數(shù),它無需任何外圍硬件即可方便地構成溫度檢測系統(tǒng)。DS18B20體積更小、適用電壓更寬、更經(jīng)濟。測量溫度范圍為-55~+125℃,在-10~+85℃范圍內,精度為±0.5℃。單片機控制DS18B20完成溫度的采集過程必須經(jīng)過初始化、寫操作、讀操作3個步驟,而且必須有嚴格的時間間隙。
2.2 NiosⅡ處理器的說明
Altera公司的NiosⅡ處理器是一種用戶可隨時配置和構建的32位指令集和數(shù)據(jù)通道的嵌入式系統(tǒng)微處理器IP核,采用Avalon總線結構通信接口,帶有增強的內存調試和軟件功能。LWIP是一種專門針對嵌入式系統(tǒng)應用而設計的網(wǎng)絡通信協(xié)議,支持因特網(wǎng)信息控制協(xié)議(ICMP),用戶數(shù)據(jù)報協(xié)議(UDP),動態(tài)主機分配協(xié)議(DHCP),地址解析協(xié)議(ARP)以及對應用程序提供的標準Socket接口,因而可以完成傳統(tǒng)的TCP/IP協(xié)議的大部分功能,資源占用卻比TCP/IP協(xié)議小,所以非常適合以NiosⅡ處理器為核心的系統(tǒng)?;谝陨峡紤],嵌入式Web服務器以NiosⅡ處理器為核心,LWIP為網(wǎng)絡通信協(xié)議,實現(xiàn)簡單的網(wǎng)頁瀏覽功能。用戶可以通過網(wǎng)絡瀏覽存儲在FLASH中的網(wǎng)頁。
2.3 硬件電路設計說明
本系統(tǒng)硬件電路包括單片機溫度采集電路、電平轉換電路及基于NiosⅡ嵌入式上位機系統(tǒng)。
2.3.1 溫度采集電路
溫度采集電路主要由DS18B20和單片機構成,如圖2所示。系統(tǒng)以8051單片機(U1)作為核心;C1,C2和Y1組成時鐘電路,晶振為12 MHz;S1,C12和R3組成復位電路;U1的P1.0接一個發(fā)光二極管,用于程序執(zhí)行指示燈;R5為限流電阻;DQ接到8051的P2.1端;R1為信號和5 V電源之間的上拉電阻。
2.3.2 電平轉換電路
單片機與上位機的通信電路如圖3所示。8051單片機本身提供了一組全雙工串行傳輸接口,由TXD引腳來傳送串行數(shù)據(jù)而由RXD引腳來接收數(shù)據(jù),可是其工作邏輯電平皆為TTL電平(0 V,5 V)。所以單片機與PC之間的數(shù)據(jù)通信必須經(jīng)過RS 232信號(+12 V,-12 V)電平的轉換。本系統(tǒng)使用MAX232電平轉換芯片,只要加4只電容就能完成接口電平的轉換。單片機的11腳(TXD)接232的10腳,單片機的10腳(RXD)接232的9腳。與上位機連接的RS 232-C接口采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。電源部分采用市售的9 V直流穩(wěn)壓電源,經(jīng)7805后濾波穩(wěn)壓得到穩(wěn)定的5 V電源。
2.3.3 基于NiosⅡ嵌入式上位機
系統(tǒng)主要包括以下幾個部分:包括NiosⅡ軟核CPU、操作系統(tǒng)使用的定時器、網(wǎng)絡協(xié)議棧使用的定時器、CPU同外圍設備的接口(Avlaon總線);EPCS4用來在上電時對FPGA進行配置;FLASH主要用來存放軟件代碼以及一些需要保存的參數(shù);SRAM用來在系統(tǒng)運行時的代碼和數(shù)據(jù)存儲;網(wǎng)絡接口芯片采用Smsc公司的LAN91C111芯片作為網(wǎng)絡接口。該器件是一個以太網(wǎng)控制器,實現(xiàn)了網(wǎng)絡7層協(xié)議棧中的傳輸層和MAC層的功能。另外,它具有10/100 Mb/s自適應、雙工/半工自適應等功能,有很好的網(wǎng)絡兼容性。采用串口UART和單片機通信。利用QuartusⅡ中的SOPC Builde構建的CPU如圖4所示。
3 監(jiān)控系統(tǒng)的軟件系統(tǒng)設計
單片機控制程序設計框圖如圖5和圖6所示。
串口中斷程序功能為接收由上位機發(fā)送的數(shù)據(jù)采集周期以及開始、停止指令。溫度信號濾波通過軟件實現(xiàn)。濾波算法采用加權平均值法,即對最新檢測到的N個溫度信號序列去除最大值和最小值,并取加權平均運算。
4 基于NiosⅡ的Web服務器的實現(xiàn)
把構建好的CPU及相應的模塊進行分析引腳分配、綜合后再進行編譯,用NiosⅡIDE(集成開發(fā)環(huán)境)通過移植實時操作系統(tǒng)μCLinux來實現(xiàn)嵌入式實時多任務控制系統(tǒng),開發(fā)相應的網(wǎng)頁并進行服務器移植和配置。本系統(tǒng)采用μCLinux下的Boa。Boa是一個單線程的HTTP服務器,它不同于其它傳統(tǒng)的Web服務器,不為每個連接創(chuàng)建一個進程,只有當CGI程序運行時才創(chuàng)建一個新的進程。通過移植Boa來實現(xiàn)智能監(jiān)控系統(tǒng)的Web服務器功能,最后通過編寫CGI程序并結合Flash動畫實現(xiàn)了動態(tài)Web交互功能。
5 結語
采用AT89S51系列單片機、傳感器DS18B20和NiosⅡ設計的遠程溫度控制系統(tǒng)具有結構新穎、電路簡單、體積小和控制方便等優(yōu)點??梢詮V泛用于電站、學校、醫(yī)院等相關重點設備的溫度遠程監(jiān)控。也適用于人體無法接近的高溫或危險場所的溫度監(jiān)控。如果變換傳感器稍加改變也可以成為其他參數(shù)的遠程監(jiān)控系統(tǒng),如壓力、濕度或瓦斯等。