基于SOPC的溫濕度自動控制系統(tǒng)
引言
SOPC(System On a Programmable Chip)稱為可編程片上系統(tǒng),它是基于用可編程邏輯器件(FPGA或CPLD)的可重構(gòu)的片上系統(tǒng)(SOC)???a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/編程">編程片上系統(tǒng)(SOPC)是AL-TERA公司提出的一種靈活、高效的SOC解決方案。它將處理器、存儲器、I/O口等系統(tǒng)設(shè)計(jì)需要的功能模塊集成到一個可編程器件上,構(gòu)成一個可編程的片上系統(tǒng)。SOPC結(jié)合了SOC和CPLD、FPGA各自的優(yōu)點(diǎn),具備有以下基本特征:至少包含一個嵌入式處理器內(nèi)核;具有小容量片內(nèi)高速RAM資源;豐富的IP核資源可供選擇;足夠的片上可編程邏輯資源;處理器調(diào)試接口和FPGA編程接口;包含部分可編程模擬電路;單芯片、低功耗、微封裝。
溫濕度是工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科研、航天和科學(xué)實(shí)驗(yàn)中的重要參數(shù),而溫濕度自動控制系統(tǒng)廣泛應(yīng)用在工業(yè)生產(chǎn)、醫(yī)藥、農(nóng)作物栽培和科學(xué)實(shí)驗(yàn)等許多領(lǐng)域。目前國內(nèi)市場上大多數(shù)的溫濕度自動控制系統(tǒng)是基于單片機(jī)或ARM系列芯片來設(shè)計(jì)的。對比這兩種設(shè)計(jì),基于SOPC的溫濕度自動控制系統(tǒng)的集成度更高也更加輕便;比基于單片機(jī)的溫濕度自動控制系統(tǒng)穩(wěn)定度和精度更高,而比基于ARM系列芯片的溫濕度自動控制設(shè)計(jì)方式更方便,設(shè)計(jì)周期更短.成本價更有優(yōu)勢。
1 系統(tǒng)構(gòu)成
溫濕度自動控制系統(tǒng)的總體框圖如圖1所示。該系統(tǒng)從結(jié)構(gòu)上分為兩層:第一層是由PC機(jī)組成的,作為上位機(jī);第二層是由Nios系統(tǒng)和外圍設(shè)備組成的,作為下位機(jī),上位機(jī)與下位機(jī)之間采用RS485總線進(jìn)行通信。
下位機(jī)結(jié)構(gòu)框圖如圖2所示.它是由Nios系統(tǒng)和執(zhí)行機(jī)構(gòu)及顯示、輸入、輸出端口組成的。Nios系統(tǒng)由CPU(Nios)、片上RAM、定時器、總線、異步串口UART和通用PIO組成。其中.NIOS系統(tǒng)通過PIO與A/D轉(zhuǎn)換器、鍵盤、LED顯示器、執(zhí)行機(jī)構(gòu)等連接。
溫濕度自動控制系統(tǒng)的工作過程是:首先通過溫濕度傳感器進(jìn)行信息采集;其次是NIOS系統(tǒng)把采集到的信息通過UART接口傳送至上位機(jī).上位機(jī)對采集到的信息進(jìn)行分析處理;最后,NIOS系統(tǒng)根據(jù)上位機(jī)的分析處理結(jié)果對終端控制設(shè)備輸出決策的指令,如果溫度或濕度超限,則顯示并報(bào)警,同時驅(qū)動風(fēng)扇或加熱器等設(shè)備。該控制系統(tǒng)在下位機(jī)還增加了鍵盤輸入,這樣下位機(jī)可以單獨(dú)使用,從而使下位機(jī)本身成為一個獨(dú)立的控制系統(tǒng)。我們下面重點(diǎn)介紹下位機(jī)的設(shè)計(jì)過程。
2 系統(tǒng)下位機(jī)的硬件設(shè)計(jì)
SOPC系統(tǒng)的硬件開發(fā)步驟如下:用SOPC Builder生成NiosⅡ嵌入式處理器;用QuartusⅡ?qū)iosⅡ嵌入式處理器和其他邏輯電路結(jié)合進(jìn)行設(shè)計(jì)輸入;然后進(jìn)行編譯(包括分析綜合和布局布線);最后通過下載電纜將硬件配置數(shù)據(jù)下載到FPGA中。
本系統(tǒng)的下位機(jī)硬件設(shè)計(jì)采用ALTERA公司的SOPC開發(fā)工具(即SOPC Builder)進(jìn)行設(shè)計(jì)。ALTERA公司提供的SOPC Builder工具可以方便設(shè)計(jì)個性化的NiosⅡ軟核。裁剪掉不需要的外設(shè)以節(jié)省系統(tǒng)資源,增加需要的接口。利用SOPC Builder工具設(shè)計(jì)者可以很方便地把處理器,存儲器、其它外設(shè)模塊和必要的PIO接口連接起來開發(fā)成一個完整的系統(tǒng)。在SOPC Builder。圖形用戶界面下,設(shè)計(jì)者還可以管理IP模塊.設(shè)置系統(tǒng)參數(shù)并選擇可用的端口和外設(shè)。完成設(shè)計(jì)之后,系統(tǒng)啟動生成程序,就會生成大量的輸出文件,包括HDL邏輯文件、程序的頭文件和庫文件等。這些文件都包含在NiosII IDE開發(fā)環(huán)境中,在此軟件開發(fā)平臺上就可以進(jìn)行NiosII的軟件開發(fā)了。
2.1 NiosⅡ軟核處理器
評論