新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Nios II的過程控制實(shí)驗(yàn)裝置的研究

        基于Nios II的過程控制實(shí)驗(yàn)裝置的研究

        作者: 時(shí)間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

        利用強(qiáng)大的和容易配置的優(yōu)勢簡化設(shè)計(jì)流程。充分發(fā)揮NiosⅡ強(qiáng)大的并行處理能力。該系統(tǒng)主要涉及多個(gè)下位機(jī)與FPGA的通信問題。

        1. 功能描述

        1.1 整體設(shè)計(jì)思路

        利用強(qiáng)大的和容易配置的優(yōu)勢簡化設(shè)計(jì)流程。充分發(fā)揮NiosⅡ強(qiáng)大的并行處理能力。該系統(tǒng)主要涉及多個(gè)下位機(jī)與FPGA的通信問題。通過設(shè)計(jì)技術(shù)可以很容易的構(gòu)造多個(gè)UART接口,降低系統(tǒng)的設(shè)計(jì)成本。在Quartus中可以用VHDL/Verilog語言寫入總線復(fù)用模塊,解決SRAM、SDRAM、FLASH之間存在的總線沖突問題。

        顯示和操作部分的硬件主要在Altera的CycloneⅡEPSC35板上由SOPC Builder配置實(shí)現(xiàn)。傳感檢測和信號(hào)處理部分則通過系統(tǒng)擴(kuò)展來實(shí)現(xiàn)。特別是放大和A/D轉(zhuǎn)換部分,必須由專門的模塊來處理。

        1.2 系統(tǒng)的主要功能

        旋風(fēng)預(yù)熱器仿真主要實(shí)現(xiàn)對水泥回轉(zhuǎn)窯模型在模擬工作狀態(tài)下的參數(shù)檢測和控制。由傳感器采集的數(shù)據(jù)經(jīng)過放大和修正送入A/D轉(zhuǎn)換芯片,轉(zhuǎn)換后的數(shù)據(jù)送入作為下位機(jī)的AT89S52系列單片機(jī)中,通過串口通信的方式將數(shù)據(jù)流送入作為上位機(jī)的DE2開發(fā)板中,利用NiosⅡ軟核的VGA視頻顯示功能將采集的數(shù)據(jù)顯示為狀態(tài)曲線。

        同時(shí),利用FPGA快速反應(yīng)的優(yōu)點(diǎn),實(shí)現(xiàn)對下位機(jī)部分的控制,從而對模型的模擬工作狀態(tài)進(jìn)行調(diào)整和監(jiān)控。整個(gè)旋風(fēng)筒模型由透明的有機(jī)玻璃構(gòu)成,具有很強(qiáng)的觀賞性。LED燈的提示和LCD的數(shù)字顯示更加提高了整體的實(shí)用性。由于系統(tǒng)的各個(gè)單元之間存在獨(dú)立性,因此,本系統(tǒng)可以做為教學(xué)上的演示模型。傳感器的用法,A/D的用法,放大的原理以及通信和FPGA的使用都可以獨(dú)立的用來作為教學(xué)模型。在旋風(fēng)筒模型上預(yù)留了各成120度的三維測量孔,裝入傳感器后可以同時(shí)在X、Y、Z三維場中檢測,實(shí)現(xiàn)同一參數(shù)的三維測量。因此,該系統(tǒng)在科研方面也具有很大的實(shí)用性。

        2. 系統(tǒng)模塊概述

        本系統(tǒng)主要由檢測單元、信號(hào)放大修正單元、串口通信單元、顯示單元組成。各個(gè)部分通過單片機(jī)和FPGA之間的通信聯(lián)系在一起。構(gòu)成一個(gè)完整的集檢測、通信、顯示、控制為一體的系統(tǒng)。本系統(tǒng)只測量模擬工作下一維場中的狀態(tài)參數(shù)。風(fēng)機(jī)的控制使用專用的晶閘管智能控制模塊,直接由0~5V電壓控制輸出0~220V的風(fēng)機(jī)電源電壓。
        方案的硬件設(shè)計(jì)框圖如圖1所示。


        3. 模塊功能描述

        本文引用地址:http://www.104case.com/article/201706/349223.htm

        3.1 顯示單元

        整個(gè)處理過程就是對四路傳感器所采集的實(shí)時(shí)數(shù)據(jù)進(jìn)行分時(shí)顯示。通過按鍵操作VGA,讓四路參數(shù)狀態(tài)的曲線可以分屏顯示。顯示屏采用普通的PC機(jī)顯示器,顯示像素為480640。當(dāng)?shù)谝宦窋?shù)據(jù)流通過串口通信送入上位機(jī)后,軟核處理器將該組數(shù)據(jù)流迅速進(jìn)行暫存,按鍵操作VGA顯示函數(shù)選擇屏數(shù)并調(diào)用這部分?jǐn)?shù)據(jù)在顯示屏上依次點(diǎn)亮對應(yīng)的像素點(diǎn),從而可以將整個(gè)數(shù)據(jù)流所對應(yīng)的狀態(tài)曲線動(dòng)態(tài)的顯示在屏幕上,達(dá)到可視化的監(jiān)控效果。

        在第一屏進(jìn)行畫線顯示的同時(shí),處理器將繼續(xù)對各路參數(shù)的數(shù)據(jù)流進(jìn)行接收和緩存。按鍵操作進(jìn)入第二屏后,開始對第二個(gè)參數(shù)狀態(tài)進(jìn)行畫線和實(shí)時(shí)數(shù)值描述,四路狀態(tài)曲線全部畫完結(jié)束返回。 在這個(gè)過程中,處理器同時(shí)調(diào)用字符液晶顯示和數(shù)碼管的顯示函數(shù),對當(dāng)前數(shù)據(jù)的平均值和瞬時(shí)值進(jìn)行準(zhǔn)確的數(shù)值描述。LED用于提示當(dāng)前分屏顯示的屏數(shù),即提示目前采集的參數(shù)類型。按鍵用于控制風(fēng)機(jī)轉(zhuǎn)速。顯示單元的系統(tǒng)軟件設(shè)計(jì)框圖如圖2

        3.2 檢測單元

        由于傳感器的輸出電壓變化都是在毫伏級(jí),因此必須由穩(wěn)定的放大和濾波電路將采集信號(hào)進(jìn)行放大和修正,達(dá)到可以滿足數(shù)據(jù)傳輸?shù)碾娖揭蠛途€性要求。經(jīng)過放大的信號(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)行采集。溫度采用高精度的鉑熱敏電阻測量。氣壓和空氣流量采用由Honeywell公司生產(chǎn)的專用檢測傳感器進(jìn)行測量。風(fēng)機(jī)轉(zhuǎn)速通過單片機(jī)對光電開關(guān)開合產(chǎn)生的脈沖進(jìn)行計(jì)數(shù)從而予以確定。傳感器將采集的信號(hào)通過放大修正單元的處理后直接送給單片機(jī)。四路信號(hào)采用同時(shí)采集,分時(shí)傳送的方式發(fā)送給上位機(jī)。在NiosⅡ?qū)Φ谝宦匪腿氲臄?shù)據(jù)開始進(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ī)對多路數(shù)據(jù)的同時(shí)接收和處理。在速度上要比485的方式要快。從而實(shí)現(xiàn)對模擬環(huán)境的迅速監(jiān)控。下位機(jī)采用AT89S52系列單片機(jī),同樣支持串行通信。由于通信距離比較近,為了避免資源的浪費(fèi),不建議采用RS232或485的串行通信方式。在今后的系統(tǒng)擴(kuò)展上可以將232通信添加進(jìn)去。

        檢測和通信單元的系統(tǒng)軟件設(shè)計(jì)流程如圖3

        4. 軟件設(shè)計(jì)

        4.1 基于Nios IDE的軟件設(shè)計(jì)

        由SOPC Builder構(gòu)建成的硬件系統(tǒng)首先必須下載到FPGA中,在FPGA上生成對應(yīng)外設(shè)的引腳,然后才能夠通過IDE燒程序給外設(shè),使外設(shè)可以正常的運(yùn)行。也就是說對主程序部分必須要在IDE模式下進(jìn)行調(diào)試,這是整個(gè)過程中感覺效率比較低的地方,每次修改的程序都必須通過再次運(yùn)行Run As Hardware重新編譯才能寫入硬件中,造成調(diào)試進(jìn)度很慢。程序可以在SRAM或SDRAM上運(yùn)行。

        為了保證斷電后數(shù)據(jù)不丟失,采用FLASH Programmer把數(shù)據(jù)寫入FLASH,然后把CPU的ResetAddress地址指向FLASH。通電后系統(tǒng)會(huì)自動(dòng)對FPGA進(jìn)行配置,并運(yùn)行內(nèi)部程序。該部分的程序主要是設(shè)置多個(gè)串口通信的時(shí)序以及VGA顯示的內(nèi)容。程序流程圖如圖4所示。

        5. 結(jié)果分析

        經(jīng)過檢測和調(diào)試,系統(tǒng)的整體功能完全可以正常實(shí)現(xiàn)。系統(tǒng)采用Nios軟核結(jié)合可編程邏輯陣列對旋風(fēng)預(yù)熱器的仿真模型的模擬工作狀態(tài)進(jìn)行檢測和控制。實(shí)現(xiàn)了多線程的串口通信和VGA的顯示,充分發(fā)揮了FPGA快速響應(yīng)的實(shí)用性特點(diǎn)和支持CPU操作的強(qiáng)大功能。使用SOPC Builder可以方便的對系統(tǒng)的擴(kuò)展部分和自定義部分進(jìn)行添加和刪除,根據(jù)需要開發(fā)自己的優(yōu)化系統(tǒng)。充分利用SOPC的特點(diǎn)來縮短設(shè)計(jì)和開發(fā)周期。

        利用SOPC Builder配置了四個(gè)串口來完成這一要求,而這一特殊用法卻是其它處理器如單片機(jī),ARAM等無法實(shí)現(xiàn)的。



        關(guān)鍵詞: SOPC IP核 NiosII

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 齐齐哈尔市| 左云县| 永川市| 北流市| 九龙坡区| 睢宁县| 乡宁县| 子长县| 沙河市| 霍邱县| 元阳县| 自治县| 唐海县| 贵州省| 湖北省| 潮安县| 濉溪县| 神池县| 宁强县| 安丘市| 玉龙| 甘孜| 平远县| 澜沧| 封丘县| 页游| 庆元县| 板桥市| 义乌市| 卢龙县| 光泽县| 广汉市| 资讯 | 广德县| 岳池县| 手机| 营口市| 辽源市| 寿光市| 德化县| 天等县|