引言
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Ⅱ軟核處理器
NiosⅡ軟核處理器是ALTERA公司推出的一種通用32位RISC嵌入式處理器。它特別為可編程邏輯進行了優化設計,并配備有功能完善的開發套件。包括C/C++編譯器、集成開發環境(1DE)、JTAG調試器等,是ALTERA公司可編程單芯片系統解決方案的核心。
作為軟核處理器。NIOS II提供了可配置的硬件及軟件調試特性.包括基本的JTAG的運行控制(運行、停止、單步、存儲器等)、硬件斷點、數據觸發、片內和片外跟蹤、嵌入式邏輯分析儀。這些強大的工具可以在開發階段使用,調試通過后便可以去掉,節省資源。NIOSⅡ處理器還提供了高、中、低三種不同性能的內核,通過與ALTERA提供的超過60種IP核(如UART、時鐘、DMA、SDRAM、并行IPO等)結合使用,設計師可以方便地針對特定的應用創建一個在處理器、外設、存儲器和PIO接口方面都完美的方案。除此以外,NIOSlI還有很多其他優秀的特性,如指令定制、硬件加速器等。
2.2 AVALON總線
AVALON總線是為了將片內處理器和外圍設備連接成可編程片上系統(SOPC)而設計的簡單總線結構,該總線規定了控制器和從屬組件間的端口連接以及組件問通信的時序。AVALON總線的基本傳輸模式是在一個主外設和一個從外設之間進行單個字節、半字或字的傳輸。當一次傳輸結束后,不論新的傳輸過程是否還是在同樣的外設之間進行,AVALON總線總是可以在下一個時鐘周期立即開始另一次傳輸。AVALON總線支持多個總線主外設,允許單個總線事務中在外設之間傳輸多個數據單元。這一多主設備結構為構建SOPC系統提供了極大的靈活性,并且能適應高帶寬的外設。
2.3 外圍設備
在該系統中.NIOS系統中包含有片上RAM、定時器、異步串口UART和通用PIO等外圍設備。這些外圍設備集成在SOPC BUILDER開發工具中,用戶只要將需要的外圍組件與CPU通過AVALON總線集成在FPGA中,就可以完成整個下位機硬件設計,從而縮短了設計周期。
2.4 溫濕度傳感器
該系統選用的溫濕度傳感器是SHTll,該傳感器是瑞士Sensirion公司生產的具有PC總線接口的單片全校準數字式相對濕度和溫度傳感器。該傳感器采用獨特的CMOSens TM技術,具有數字式輸出、免調試、免標定、免外圍電路及全互換的特點。
3 系統下位機的軟件設計
系統下位機軟件設計是在NIOS IDE開發環境中進行的,在SOPC Builder生成的軟件基礎上,利用C/C++語言編寫源程序,然后經過編譯、連接、調試生成可執行文件.最后通過下載電纜對可執行程序進行調試和運行。系統下位機軟件主要包括初始化、數據采集子程序、串口接收與發送子程序、溫濕度控制子程序及顯示子程序。在這里重點介紹溫濕度控制子程序的流程圖.如圖3所示。
該溫濕度自動控制系統的溫度要求控制在5℃~30℃之間,若采集到的溫度T》30℃,程序轉向Jw(降溫處理程序),并發出報警信號;若T《5℃,則程序轉向SW(升溫處理程序)。并發出報警信號;若30℃》T》5℃,則程序轉向顯示子程序并返回主程序.濕度控制過程和溫度類似。
結論
本系統利用SOPC技術,將信號采集模塊和微處理模塊巧妙的集成到一片FPGA內部.并利用可編程邏輯的靈活性和NIOS II的強大處理能力,方便地實現了溫濕度自動控制的功能。該系統的實現功能還是相對比較簡單的,由于FPGA內部還有大量的邏輯資源可以利用.因此可以實現更為復雜的功能。
實際結果表明:基于SOPC的溫濕度自動控制系統運行正常、數據傳輸可靠、操作管理方便,如果再配備上485總線。整個系統將如虎添翼。
由于FPGA的可編程特性,可以在不改變任何外圍電路的情況下對系統進行軟硬件升級,大大延長了系統的壽命周期,這一點也是相對于其它控制系統的優勢,采用SOPC方案進行系統設計,正符合當今科技的發展方向。
-
sopc
+關注
關注
2文章
248瀏覽量
62178 -
自動控制系統
+關注
關注
1文章
191瀏覽量
19408 -
下位機
+關注
關注
0文章
94瀏覽量
18779 -
Nios系統
+關注
關注
0文章
3瀏覽量
6215
發布評論請先 登錄
相關推薦
評論