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