基于FPGA的具有數(shù)字顯示的水溫測(cè)控系統(tǒng)
3.1 硬件設(shè)計(jì)原理
系統(tǒng)的硬件平臺(tái)大致可分為以下幾個(gè)功能模塊:模擬輸入模塊、微處理器及其外圍模塊、UART模塊、時(shí)鐘產(chǎn)生模塊、PWM模塊。這些功能模塊都由Actel公司提供的知識(shí)產(chǎn)權(quán)核(IP核)組成。在Coreconsole中,將各個(gè)模塊配置,通過模塊的總線接口與系統(tǒng)總線AHB,APB互聯(lián)。最終的結(jié)果如圖4所示。其中,右上角的信號(hào)連接為連接到頂層模塊的信號(hào)。本文引用地址:http://www.ex-cimer.com/article/191770.htm
如圖4所示,其中CortexM1為微處理器核,負(fù)責(zé)處理采集到數(shù)據(jù),并產(chǎn)生相應(yīng)的控制信號(hào)給外圍控制電路;CoreAHBNvm為控制FLASH的軟核,使系統(tǒng)上電即可運(yùn)行,掉電不丟失;CoreAI為模擬輸入模塊,負(fù)責(zé)將外圍采集的模擬信號(hào)數(shù)據(jù)轉(zhuǎn)換為數(shù)字信號(hào)。交由處理器處理;Coreu- ARTapb為串口通行核,負(fù)責(zé)將處理的數(shù)據(jù)通過串口發(fā)送給PC,使其能實(shí)時(shí)交互和控制;Core- GPIO和CoreGPlO_01兩個(gè)核為通用I/O核,分別負(fù)責(zé)OLED的數(shù)據(jù)通信和外圍控制信號(hào)的輸出。
系統(tǒng)的外圍溫度超過上限報(bào)警和加熱模擬的電路如圖5所示。
3.2 軟件設(shè)計(jì)部分
系統(tǒng)主要功能是將系統(tǒng)采集到的模擬信號(hào)通過硬件轉(zhuǎn)換成數(shù)字信號(hào),將監(jiān)測(cè)到的數(shù)據(jù)通過UART發(fā)送到PC的超級(jí)終端加以顯示出來;并且可在系統(tǒng)運(yùn)行初始階段設(shè)置溫度的上、下限值,在超出溫度范圍時(shí)報(bào)警,且產(chǎn)生相應(yīng)的控制信號(hào)進(jìn)行加熱或者冷卻。各個(gè)模塊的運(yùn)行由微處理器CortexM1進(jìn)行協(xié)調(diào)。系統(tǒng)不斷監(jiān)測(cè)模擬輸入端,如果模擬輸入有變化,就進(jìn)行A/D轉(zhuǎn)換,并將轉(zhuǎn)換后的結(jié)果發(fā)送給CortexM1;CortexM1再將接收到的結(jié)果在規(guī)定時(shí)間內(nèi)通過UART發(fā)送到PC的超級(jí)終端顯示和在系統(tǒng)配接的OLED屏上彩色顯示。
該設(shè)計(jì)的系統(tǒng)應(yīng)用軟件是在Actel公司的SoftConsole開發(fā)平臺(tái)上完成的。由于程序比較復(fù)雜,可以分為幾個(gè)子程序,具體包括:對(duì)CoreUART,CoreAI,LED屏等的初始化配置,以及主要功能中CortexM1.c主程序的完成。系統(tǒng)流程圖如圖6所示。
4 結(jié) 語(yǔ)
經(jīng)實(shí)際調(diào)試與運(yùn)行,超級(jí)終端上得到了監(jiān)測(cè)到的溫度值,并且能實(shí)現(xiàn)溫度超出范圍時(shí)報(bào)警和正??刂葡聦?shí)現(xiàn)加熱和冷卻的效果。該設(shè)計(jì)能實(shí)時(shí)測(cè)量并顯示溫度值,且精度高,反應(yīng)快,達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。
評(píng)論