基于Nios II的過(guò)程控制實(shí)驗(yàn)裝置研究
由于傳感器的輸出電壓變化都是在毫伏級(jí),因此必須由穩(wěn)定的放大和濾波電路將采集信號(hào)進(jìn)行放大和修正,達(dá)到可以滿足數(shù)據(jù)傳輸?shù)碾娖揭蠛途€性要求。經(jīng)過(guò)放大的信號(hào)送入A/D轉(zhuǎn)換芯片中,將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后再由單片機(jī)送入NiosⅡ中。
旋風(fēng)筒模擬工作時(shí),分別由傳感器將溫度、風(fēng)機(jī)轉(zhuǎn)速、氣壓、氣體流量等參數(shù)值進(jìn)行采集。溫度采用高精度的鉑熱敏電阻測(cè)量。氣壓和空氣流量采用由Honeywell公司生產(chǎn)的專(zhuān)用檢測(cè)傳感器進(jìn)行測(cè)量。風(fēng)機(jī)轉(zhuǎn)速通過(guò)單片機(jī)對(duì)光電開(kāi)關(guān)開(kāi)合產(chǎn)生的脈沖進(jìn)行計(jì)數(shù)從而予以確定。傳感器將采集的信號(hào)通過(guò)放大修正單元的處理后直接送給單片機(jī)。四路信號(hào)采用同時(shí)采集,分時(shí)傳送的方式發(fā)送給上位機(jī)。在NiosⅡ?qū)Φ谝宦匪腿氲臄?shù)據(jù)開(kāi)始進(jìn)行顯示處理,同時(shí)將第二路數(shù)據(jù)送入。
3.3 通信單元
采用串口多機(jī)通信的方式。在多路數(shù)據(jù)傳送方法上,可以選擇485通信的方式。多路下位機(jī)同時(shí)掛在485的通信輸出端,分時(shí)的傳送數(shù)據(jù)。但是這種方式如果有傳送速度上的要求則有很大的弊端,傳送速度會(huì)比較慢。本系統(tǒng)充分發(fā)揮CycloneⅡ處理器可以定制多個(gè)UART的強(qiáng)大功能,實(shí)現(xiàn)上位機(jī)對(duì)多路數(shù)據(jù)的同時(shí)接收和處理。在速度上要比485的方式要快。從而實(shí)現(xiàn)對(duì)模擬環(huán)境的迅速監(jiān)控。下位機(jī)采用AT89S52系列單片機(jī),同樣支持串行通信。由于通信距離比較近,為了避免資源的浪費(fèi),不建議采用RS232或485的串行通信方式。在今后的系統(tǒng)擴(kuò)展上可以將232通信添加進(jìn)去。
檢測(cè)和通信單元的系統(tǒng)軟件設(shè)計(jì)流程如圖3
4. 軟件設(shè)計(jì)
由SOPC Builder構(gòu)建成的硬件系統(tǒng)首先必須下載到FPGA中,在FPGA上生成對(duì)應(yīng)外設(shè)的引腳,然后才能夠通過(guò)IDE燒程序給外設(shè),使外設(shè)可以正常的運(yùn)行。也就是說(shuō)對(duì)主程序部分必須要在IDE模式下進(jìn)行調(diào)試,這是整個(gè)過(guò)程中感覺(jué)效率比較低的地方,每次修改的程序都必須通過(guò)再次運(yùn)行Run As Hardware重新編譯才能寫(xiě)入硬件中,造成調(diào)試進(jìn)度很慢。程序可以在SRAM或SDRAM上運(yùn)行。
為了保證斷電后數(shù)據(jù)不丟失,采用FLASH Programmer把數(shù)據(jù)寫(xiě)入FLASH,然后把CPU的ResetAddress地址指向FLASH。通電后系統(tǒng)會(huì)自動(dòng)對(duì)FPGA進(jìn)行配置,并運(yùn)行內(nèi)部程序。該部分的程序主要是設(shè)置多個(gè)串口通信的時(shí)序以及VGA顯示的內(nèi)容。程序流程圖如圖4所示。
5. 結(jié)果分析
經(jīng)過(guò)檢測(cè)和調(diào)試,系統(tǒng)的整體功能完全可以正常實(shí)現(xiàn)。系統(tǒng)采用Nios軟核結(jié)合可編程邏輯陣列對(duì)旋風(fēng)預(yù)熱器的仿真模型的模擬工作狀態(tài)進(jìn)行檢測(cè)和控制。實(shí)現(xiàn)了多線程的串口通信和VGA的顯示,充分發(fā)揮了FPGA快速響應(yīng)的實(shí)用性特點(diǎn)和支持CPU操作的強(qiáng)大功能。使用SOPC Builder可以方便的對(duì)系統(tǒng)的擴(kuò)展部分和自定義部分進(jìn)行添加和刪除,根據(jù)需要開(kāi)發(fā)自己的IP核優(yōu)化系統(tǒng)。充分利用SOPC的特點(diǎn)來(lái)縮短設(shè)計(jì)和開(kāi)發(fā)周期。
利用SOPC Builder配置了四個(gè)串口來(lái)完成這一要求,而這一特殊用法卻是其它處理器如單片機(jī),ARAM等無(wú)法實(shí)現(xiàn)的。
評(píng)論