基于單片機和FPGA的遠程溫度監(jiān)控系統(tǒng)
單片機與上位機的通信電路如圖3所示。8051單片機本身提供了一組全雙工串行傳輸接口,由TXD引腳來傳送串行數(shù)據(jù)而由RXD引腳來接收數(shù)據(jù),可是其工作邏輯電平皆為TTL電平(0 V,5 V)。所以單片機與PC之間的數(shù)據(jù)通信必須經(jīng)過RS 232信號(+12 V,-12 V)電平的轉(zhuǎn)換。本系統(tǒng)使用MAX232電平轉(zhuǎn)換芯片,只要加4只電容就能完成接口電平的轉(zhuǎn)換。單片機的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)絡(luò)協(xié)議棧使用的定時器、CPU同外圍設(shè)備的接口(Avlaon總線);EPCS4用來在上電時對FPGA進行配置;FLASH主要用來存放軟件代碼以及一些需要保存的參數(shù);SRAM用來在系統(tǒng)運行時的代碼和數(shù)據(jù)存儲;網(wǎng)絡(luò)接口芯片采用Smsc公司的LAN91C111芯片作為網(wǎng)絡(luò)接口。該器件是一個以太網(wǎng)控制器,實現(xiàn)了網(wǎng)絡(luò)7層協(xié)議棧中的傳輸層和MAC層的功能。另外,它具有10/100 Mb/s自適應、雙工/半工自適應等功能,有很好的網(wǎng)絡(luò)兼容性。采用串口UART和單片機通信。利用QuartusⅡ中的SOPC Builde構(gòu)建的CPU如圖4所示。
3 監(jiān)控系統(tǒng)的軟件系統(tǒng)設(shè)計
單片機控制程序設(shè)計框圖如圖5和圖6所示。
串口中斷程序功能為接收由上位機發(fā)送的數(shù)據(jù)采集周期以及開始、停止指令。溫度信號濾波通過軟件實現(xiàn)。濾波算法采用加權(quán)平均值法,即對最新檢測到的N個溫度信號序列去除最大值和最小值,并取加權(quán)平均運算。
4 基于NiosⅡ的Web服務(wù)器的實現(xiàn)
把構(gòu)建好的CPU及相應的模塊進行分析引腳分配、綜合后再進行編譯,用NiosⅡIDE(集成開發(fā)環(huán)境)通過移植實時操作系統(tǒng)μCLinux來實現(xiàn)嵌入式實時多任務(wù)控制系統(tǒng),開發(fā)相應的網(wǎng)頁并進行服務(wù)器移植和配置。本系統(tǒng)采用μCLinux下的Boa。Boa是一個單線程的HTTP服務(wù)器,它不同于其它傳統(tǒng)的Web服務(wù)器,不為每個連接創(chuàng)建一個進程,只有當CGI程序運行時才創(chuàng)建一個新的進程。通過移植Boa來實現(xiàn)智能監(jiān)控系統(tǒng)的Web服務(wù)器功能,最后通過編寫CGI程序并結(jié)合Flash動畫實現(xiàn)了動態(tài)Web交互功能。
評論