崔旭晶,崔秀艷,馬平全
(沈陽理工大學 信息科學與工程學院,遼寧 沈陽 110015)
在工農業生產和民用生活中,廣泛使用著各類給水系統,使用較多的有鍋爐、冷卻水系統、熱交換器、中央空調等。這些設備在使用過程中,普遍存在著結垢、鐵銹腐蝕和藻類滋生等問題,致使設備傳熱效率降低,能耗增加,影響設備正常運行,且存在較大安全隱患,所以必須予以消除。目前除垢方法分為物理和化學兩種方法,高頻電磁場式水處理器就是物理除垢的有效方法之一,它可使管道清潔,不僅無新垢產生,而且老垢也脫落,從而達到保護設備、節能環保的目的,具有顯著的經濟效益。 但其作用機理尚不明確,同時存在著幾種理論,還有待做進一步研究[1]。這里設計了一款SOPC嵌入式的智能高頻電磁場水處理器,它由嵌入式控制系統與高頻阻垢機構成,具有較高的智能化操作和實時監控功能,是高頻電磁除垢設備的新一代產品。
目前可見一些MCU控制的高頻電磁場設計文獻[2-8],但嵌入式的智能高頻電磁場設計文獻很少見。示。DDS頻率發生模塊根據SOPC控制系統提供的頻率控制數據產生高頻振蕩信號,但此信號幅值較低,需要進一步放大。放大電路由三極管一級推挽放大電路和MOS管二級功率放大電路組成,放大信號經過線圈耦合輸出,最后得到阻垢所需要的大功率高頻振蕩信號。系統電源設計包括內置穩壓電源和外置開關電源兩部分,DDS頻率發生模塊、三極管推挽一級放大電路和SOPC控制系統,由系統內置穩壓電源供電,而MOS管二級放大電路需要大功率電源供電,故采用外置的開關電源供電。SOPC控制系統主要包括:SOPC硬件設備系統集成,觸控屏人機交互界面設計,觸控屏菜單界面顯示,觸摸控制功能實現。
基于FPGA的SOPC嵌入式高頻阻垢系統框圖如圖1所

圖1 高頻阻垢系統框圖Fig.1 System block diagram of the high frequency scale inhibition
嵌入式阻垢控制系統是基于SOPC的系統硬件設計,為了完成復雜的系統控制功能,需要配置完整的系統組件,SOPC控制系統框圖如圖2所示。系統采用AVALON總線傳輸規則,所有設備模塊都經過總線相互訪問[4]。圖中粗實心雙向箭頭線表示模塊間數據傳輸線路,細箭頭線表示部分模塊間訪問權限及規則方式。軟件利用NiosⅡCPU將圖片的色彩RGB數據寫入顯存中,LCD觸摸屏驅動模塊將顯存中數據讀出,在LCD觸摸屏上顯示出來。當有觸摸信號產生時,NiosⅡCPU將LCD觸摸屏驅動模塊中的觸摸信號通過PIO口讀出數值,再通過軟件執行觸摸后的功能。同時,軟件通過NiosⅡCPU將控制信號送給高頻阻垢機電路,其控制信號要通過PIO口對應的FPGA引腳對高頻阻垢機進行控制,而高頻阻垢機又將其設備運行狀態及頻率值送回控制電路中,經過NiosⅡCPU將其讀出并顯示在LCD觸摸屏上。圖中DDR2 SDRAM作為CPU數據交換內存,FLASH作為存儲軟件程序使用,SRAM作為CPU中斷及異常使用,其訪問規則為固定形式,圖中沒有列出[5]。

圖2 SOPC控制系統框圖Fig.2 SOPC control system block diagram
1)創建系統模塊
創建QuartusⅡ9.1工程時,需要確定FPGA目標器件,選擇Altera公司的EP3C40F484C6芯片,然后配置SOPC Builder組件,最后生成系統CPU。配置的主要SOPC系統組件和時鐘列表如圖3所示,包括NiosⅡCPU、JTAG UART、DDR2控制器、CFI控制器、LCD顯示驅動及觸摸控制IP核、定時器、鎖相環和PIO并行輸入/輸出等[6-8]。

圖3 SOPC系統組件Fig.3 SOPC system components
2)集成系統CPU到QuartusⅡ9.1工程
創建包含系統CPU的QuartusⅡ9.1頂層模塊,共分成5部分:時鐘clk、觸摸屏顯示與觸摸驅動、DDR2控制器、SRAM與Flash控制器、PIO輸入輸出控制器。使用Tcl script File工具,進行FPGA引腳分配及有關設置,然后編譯QuartusⅡ9.1工程并下載。在成功編譯硬件系統后,將產生SOPC.sof的FPGA配置文件輸出,通過ByteBlasterⅡ下載線,連接PC機與目標板進行下載實現。下載到FPGA芯片中的工程,將FPGA編輯成一個帶有固定外設的微機系統,此系統可為軟件提供一個合適的運行環境,以實現相應的軟件功能。
觸控屏操作界面包括4個:用戶幫助界面、環境狀態輸入界面、鍵盤輸入界面和功能控制界面,依次如圖4所示。這些圖片采用windows自帶的畫圖板工具來制作,根據系統要求,設備顯示分辨率為800×480,所以圖片制作的像素也應該為800×480,每個界面都要制作同樣大小的圖片。這些界面圖片的顯示與操作,需采用C語言編程并與SOPC Builder組件相結合來實現,各界面操作如下:

圖4 觸控屏操作界面Fig.4 Touch screen operator interface
將開發板(ALTERA公司的EP3C40?FPGA開發套件V6工作平臺)上電,載入硬件配置并運行軟件,系統開始工作,出現“用戶幫助界面”,觸摸該界面進入“環境狀態輸入界面”,再觸摸此界面進入“鍵盤輸入界面”。在鍵盤界面中,選擇要輸入的數字,再選擇Enter鍵,完成當前項的環境狀態值輸入,以后各項環境狀態值的輸入同上。輸入完所有項后,觸摸OK進入最后一個界面,即“功能控制菜單”界面。在最后界面中,當需要重新設定環境狀態值時,選擇“環境狀態設定”,可返回到“環境狀態設定菜單”界面進行重新設定。在最后界面的下方為“當前水處理設備功放運行狀態”顯示區,紅色表示未運行,綠色表示運行。
1)基于32位avalon總線傳輸RGB數據流設計
由畫圖板制作的圖片要在觸摸屏上顯示出來,需要將圖片數據生成圖片RGB數據,再將RGB數據通過總線傳輸到顯存當中,以實現顯存數據的讀寫操作。這需要符合總線傳輸的數據傳輸規則,在軟件中就是要實現Avalon總線地址對齊,即本地地址對齊與動態地址對齊。
首先把圖片數據轉換成BGR數組數據,使用軟件Image2Lcd可以實現轉換。再將BGR數組數據由CPU寫入顯存,也就是主端口為32位的CPU訪問從端口為16位的DDR2存儲器,由于寫入的數據為大量連續數據,所以采用動態地址對齊。由于LCD顯示驅動讀取顯存使用RGB數組數據,所以還要把BGR數組數據重新排列成RGB數組數據,此處由于處理數據量過大,采用C程序對整個數組重新排列組合。最后將8位RGB數組數據變換成32位符合動態地址對齊的數組數據。
2)圖片顯示與界面載入實現
軟件在實現CPU對顯存DDR2讀寫時,需要使用NiosⅡIDE特有的API函數。API函數實現寫顯存的操作為IOWR_32DIRECT(BASE,OFFSET,data),實現讀顯存的操作為IORD_32DIRECT(BASE,OFFSET)。由于寫顯存需要進行連續大量的數據寫操作,所以使用動態地址對齊,每次數據讀寫都要按照動態地址對齊規則來操作。
由于CPU寫顯存與LCD物理驅動讀顯存使用的信道都是總線,當兩者同時訪問顯存時會出現總線占用。解決如下:在LCD物理驅動中設置顯示信號寄存器,當軟件向顯存中寫入的一屏數據完成時,軟件會向顯示信號寄存器寫入顯示命令,指示顯示驅動工作。由于此時是單次數據的讀寫,所以采用本地地址對齊完成寫操作。
用戶幫助界面的載入流程圖如圖5所示,此圖表示具體顯示功能實現的原理。當需要顯示界面時,CPU會在短時間內,向顯存所在地址連續寫入大量RGB數據,此數據寫滿一屏時,CPU終止向顯存寫入數據,轉而向顯示驅動發送,包括顯存起始地址、顯存地址范圍、使能信號、顯示開始信號等,使顯示驅動工作,然后CPU進入觸摸信號檢測來執行下一項操作。其他各界面的顯示原理與用戶幫助界面顯示原理相同。

圖5 用戶幫助界面的載入流程圖Fig.5 User help interface loaded flowchart
3)觸摸控制功能實現
設計中需要通過觸摸來實現控制功能。當觸摸屏幕時,觸摸屏會向系統PIO口反饋一個觸摸有效值,此值會和觸摸時間同步,系統通過讀取當前PIO口值,來確定是否執行當前功能。
4)NiosⅡIDE9.1軟件調試及下載
運行NiosⅡIDE軟件,在新建工程中,添加QuartusⅡ9.1硬件系統工程所在目錄的ptf文件,選擇Hello world作為模版,完成軟件工程的創建,再配置工程的系統屬性,將軟件代碼替換工程中的hello world代碼,編譯程序,然后在線運行當前程序,驗證其功能,最后下載系統到Flash,保證系統關電后,開機時Flash自動將配置信息讀出送給EPCS,使器件脫機工作[9]。
整個系統由高頻阻垢機和SOPC控制系統(帶彩色觸摸屏的開發板)組成,如圖6所示。

圖6 系統聯調Fig.6 System debugging
前者主要產生阻垢所需要的大功率、高頻、正弦波振蕩信號,后者主要實現阻垢系統工作時的實時監控,由彩色觸摸屏提供顯示,主要包括:環境狀態輸入界面,如:使用壓力、水溫、工作頻率、功放數目、環境溫度及濕度等;功能控制界面,如:頻率選擇、功率選擇、參數設定等;還有用戶幫助界面、鍵盤輸入界面等。系統聯調時,將兩個系統連接在一起,在硬軟件的協同工作下,可以看到高頻振蕩波形,其最佳工作頻率為5 MHz、6 MHz,在觸摸屏上能夠顯示各界面的實時監控情況,經過調試和運行,達到阻垢所需要的功能及效果。
經過調試運行和實際使用,高頻水處理器可達到的技術指標為:使用壓力10~16 kgf/cm2,每通道輸出功率100 W(共4通道),可調頻率范圍0~10 MHz,中心頻率5 MHz、6 MHz(最佳工作頻率),正弦波輸出電壓70~90 V,電源電壓220 V/380 V(50 Hz/60 HZ),進出水口直徑不限,水流量、硬度不限,工作溫度≤200℃,環境溫度≤50℃,相對濕度<90%,阻垢率≥95%。
高頻電磁場水處理器集防垢、除垢、緩蝕、殺菌等多種功能于一體,應用范圍廣,功效顯著。采用SOPC嵌入式技術開發的智能高頻電磁場水處理器,具有功能強大、實時監控、操作簡單便捷、易于觀察、反饋信息量大等特點,是新一代科技含量較高的阻垢水處理產品。
[1]李海燕,蔣永鋒,包曄峰.高頻電磁在水處理中阻垢作用[J].新技術新工藝,2010(4):56-57.LI Hai-yan,JIANG Yong-feng,BAO Hua-feng.The antiscales actions of high frequency electro magnetic filed in water treatment[J].New Technology and New Process,2010(4):56-57.
[2]熊蘭,席朝輝,葉曉杰,等.大功率高頻電磁阻垢系統的設計及實驗研究[J].工業水處理,2011,31(6):46-48.XIONG Lan,XI Zhao-hui,YE Xiao-jie,et al.Design and experimental research of high-power and high-frequency elec-tromagnetic scale inhibition system[J].Industrial Water Treatment,2011,31(6):46-48.
[3]李國芳.熱電廠高頻電磁水處理優化控制策略研究[D].上海:上海交通大學,2011:15-30.
[4]Corporation A.Avalon Interface Specifications Version1.3[EB/OL].[2010-08-01].http//:www.altera.com.cn/literature/manual/mnl_avalon_spec.pdf.
[5]王剛,張瀲.基于FPGA的SOPC嵌入式系統設計與典型實例[M].北京:電子工業出版社,2009:132-142.
[6]Altera Corporation.SOPCBuilderUserGuideVersion1.0[EB/OL].[2010-12-01].http//:www.altera.com.cn/literature/ug/ug_sopc_builder.pdf.
[7]Corporation A.Embedded Peripherals IP User Guide[EB/OL].[2010-12-01]. http//:www. altera.com.cn/literature/ug/ug_embedded_ip.pdf.
[8]崔旭晶,馬平全.基于SOPC的觸控屏控制器IP核設計與實現[J].電子設計工程,2012,20(14):166-169.CUI Xu-jing,MA Ping-quan.Design and implementation of the IP core used for a touch panel controller based on SOPC[J].Electronic Design Engineering,2012,20(14):166-169.
[9]Corp A.NiosⅡSoftware Developer,s Handbook[DB/OL].(2007).http//:www.altera.com.cn.