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