崔旭晶,崔秀艷,馬平全
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110015)
在工農(nóng)業(yè)生產(chǎn)和民用生活中,廣泛使用著各類給水系統(tǒng),使用較多的有鍋爐、冷卻水系統(tǒng)、熱交換器、中央空調(diào)等。這些設(shè)備在使用過程中,普遍存在著結(jié)垢、鐵銹腐蝕和藻類滋生等問題,致使設(shè)備傳熱效率降低,能耗增加,影響設(shè)備正常運行,且存在較大安全隱患,所以必須予以消除。目前除垢方法分為物理和化學(xué)兩種方法,高頻電磁場式水處理器就是物理除垢的有效方法之一,它可使管道清潔,不僅無新垢產(chǎn)生,而且老垢也脫落,從而達(dá)到保護(hù)設(shè)備、節(jié)能環(huán)保的目的,具有顯著的經(jīng)濟(jì)效益。 但其作用機(jī)理尚不明確,同時存在著幾種理論,還有待做進(jìn)一步研究[1]。這里設(shè)計了一款SOPC嵌入式的智能高頻電磁場水處理器,它由嵌入式控制系統(tǒng)與高頻阻垢機(jī)構(gòu)成,具有較高的智能化操作和實時監(jiān)控功能,是高頻電磁除垢設(shè)備的新一代產(chǎn)品。
目前可見一些MCU控制的高頻電磁場設(shè)計文獻(xiàn)[2-8],但嵌入式的智能高頻電磁場設(shè)計文獻(xiàn)很少見。示。DDS頻率發(fā)生模塊根據(jù)SOPC控制系統(tǒng)提供的頻率控制數(shù)據(jù)產(chǎn)生高頻振蕩信號,但此信號幅值較低,需要進(jìn)一步放大。放大電路由三極管一級推挽放大電路和MOS管二級功率放大電路組成,放大信號經(jīng)過線圈耦合輸出,最后得到阻垢所需要的大功率高頻振蕩信號。系統(tǒng)電源設(shè)計包括內(nèi)置穩(wěn)壓電源和外置開關(guān)電源兩部分,DDS頻率發(fā)生模塊、三極管推挽一級放大電路和SOPC控制系統(tǒng),由系統(tǒng)內(nèi)置穩(wěn)壓電源供電,而MOS管二級放大電路需要大功率電源供電,故采用外置的開關(guān)電源供電。SOPC控制系統(tǒng)主要包括:SOPC硬件設(shè)備系統(tǒng)集成,觸控屏人機(jī)交互界面設(shè)計,觸控屏菜單界面顯示,觸摸控制功能實現(xiàn)。
基于FPGA的SOPC嵌入式高頻阻垢系統(tǒng)框圖如圖1所
圖1 高頻阻垢系統(tǒng)框圖Fig.1 System block diagram of the high frequency scale inhibition
嵌入式阻垢控制系統(tǒng)是基于SOPC的系統(tǒng)硬件設(shè)計,為了完成復(fù)雜的系統(tǒng)控制功能,需要配置完整的系統(tǒng)組件,SOPC控制系統(tǒng)框圖如圖2所示。系統(tǒng)采用AVALON總線傳輸規(guī)則,所有設(shè)備模塊都經(jīng)過總線相互訪問[4]。圖中粗實心雙向箭頭線表示模塊間數(shù)據(jù)傳輸線路,細(xì)箭頭線表示部分模塊間訪問權(quán)限及規(guī)則方式。軟件利用NiosⅡCPU將圖片的色彩RGB數(shù)據(jù)寫入顯存中,LCD觸摸屏驅(qū)動模塊將顯存中數(shù)據(jù)讀出,在LCD觸摸屏上顯示出來。當(dāng)有觸摸信號產(chǎn)生時,NiosⅡCPU將LCD觸摸屏驅(qū)動模塊中的觸摸信號通過PIO口讀出數(shù)值,再通過軟件執(zhí)行觸摸后的功能。同時,軟件通過NiosⅡCPU將控制信號送給高頻阻垢機(jī)電路,其控制信號要通過PIO口對應(yīng)的FPGA引腳對高頻阻垢機(jī)進(jìn)行控制,而高頻阻垢機(jī)又將其設(shè)備運行狀態(tài)及頻率值送回控制電路中,經(jīng)過NiosⅡCPU將其讀出并顯示在LCD觸摸屏上。圖中DDR2 SDRAM作為CPU數(shù)據(jù)交換內(nèi)存,F(xiàn)LASH作為存儲軟件程序使用,SRAM作為CPU中斷及異常使用,其訪問規(guī)則為固定形式,圖中沒有列出[5]。
圖2 SOPC控制系統(tǒng)框圖Fig.2 SOPC control system block diagram
1)創(chuàng)建系統(tǒng)模塊
創(chuàng)建QuartusⅡ9.1工程時,需要確定FPGA目標(biāo)器件,選擇Altera公司的EP3C40F484C6芯片,然后配置SOPC Builder組件,最后生成系統(tǒng)CPU。配置的主要SOPC系統(tǒng)組件和時鐘列表如圖3所示,包括NiosⅡCPU、JTAG UART、DDR2控制器、CFI控制器、LCD顯示驅(qū)動及觸摸控制IP核、定時器、鎖相環(huán)和PIO并行輸入/輸出等[6-8]。
圖3 SOPC系統(tǒng)組件Fig.3 SOPC system components
2)集成系統(tǒng)CPU到QuartusⅡ9.1工程
創(chuàng)建包含系統(tǒng)CPU的QuartusⅡ9.1頂層模塊,共分成5部分:時鐘clk、觸摸屏顯示與觸摸驅(qū)動、DDR2控制器、SRAM與Flash控制器、PIO輸入輸出控制器。使用Tcl script File工具,進(jìn)行FPGA引腳分配及有關(guān)設(shè)置,然后編譯QuartusⅡ9.1工程并下載。在成功編譯硬件系統(tǒng)后,將產(chǎn)生SOPC.sof的FPGA配置文件輸出,通過ByteBlasterⅡ下載線,連接PC機(jī)與目標(biāo)板進(jìn)行下載實現(xiàn)。下載到FPGA芯片中的工程,將FPGA編輯成一個帶有固定外設(shè)的微機(jī)系統(tǒng),此系統(tǒng)可為軟件提供一個合適的運行環(huán)境,以實現(xiàn)相應(yīng)的軟件功能。
觸控屏操作界面包括4個:用戶幫助界面、環(huán)境狀態(tài)輸入界面、鍵盤輸入界面和功能控制界面,依次如圖4所示。這些圖片采用windows自帶的畫圖板工具來制作,根據(jù)系統(tǒng)要求,設(shè)備顯示分辨率為800×480,所以圖片制作的像素也應(yīng)該為800×480,每個界面都要制作同樣大小的圖片。這些界面圖片的顯示與操作,需采用C語言編程并與SOPC Builder組件相結(jié)合來實現(xiàn),各界面操作如下:
圖4 觸控屏操作界面Fig.4 Touch screen operator interface
將開發(fā)板(ALTERA公司的EP3C40?FPGA開發(fā)套件V6工作平臺)上電,載入硬件配置并運行軟件,系統(tǒng)開始工作,出現(xiàn)“用戶幫助界面”,觸摸該界面進(jìn)入“環(huán)境狀態(tài)輸入界面”,再觸摸此界面進(jìn)入“鍵盤輸入界面”。在鍵盤界面中,選擇要輸入的數(shù)字,再選擇Enter鍵,完成當(dāng)前項的環(huán)境狀態(tài)值輸入,以后各項環(huán)境狀態(tài)值的輸入同上。輸入完所有項后,觸摸OK進(jìn)入最后一個界面,即“功能控制菜單”界面。在最后界面中,當(dāng)需要重新設(shè)定環(huán)境狀態(tài)值時,選擇“環(huán)境狀態(tài)設(shè)定”,可返回到“環(huán)境狀態(tài)設(shè)定菜單”界面進(jìn)行重新設(shè)定。在最后界面的下方為“當(dāng)前水處理設(shè)備功放運行狀態(tài)”顯示區(qū),紅色表示未運行,綠色表示運行。
1)基于32位avalon總線傳輸RGB數(shù)據(jù)流設(shè)計
由畫圖板制作的圖片要在觸摸屏上顯示出來,需要將圖片數(shù)據(jù)生成圖片RGB數(shù)據(jù),再將RGB數(shù)據(jù)通過總線傳輸?shù)斤@存當(dāng)中,以實現(xiàn)顯存數(shù)據(jù)的讀寫操作。這需要符合總線傳輸?shù)臄?shù)據(jù)傳輸規(guī)則,在軟件中就是要實現(xiàn)Avalon總線地址對齊,即本地地址對齊與動態(tài)地址對齊。
首先把圖片數(shù)據(jù)轉(zhuǎn)換成BGR數(shù)組數(shù)據(jù),使用軟件Image2Lcd可以實現(xiàn)轉(zhuǎn)換。再將BGR數(shù)組數(shù)據(jù)由CPU寫入顯存,也就是主端口為32位的CPU訪問從端口為16位的DDR2存儲器,由于寫入的數(shù)據(jù)為大量連續(xù)數(shù)據(jù),所以采用動態(tài)地址對齊。由于LCD顯示驅(qū)動讀取顯存使用RGB數(shù)組數(shù)據(jù),所以還要把BGR數(shù)組數(shù)據(jù)重新排列成RGB數(shù)組數(shù)據(jù),此處由于處理數(shù)據(jù)量過大,采用C程序?qū)φ麄€數(shù)組重新排列組合。最后將8位RGB數(shù)組數(shù)據(jù)變換成32位符合動態(tài)地址對齊的數(shù)組數(shù)據(jù)。
2)圖片顯示與界面載入實現(xiàn)
軟件在實現(xiàn)CPU對顯存DDR2讀寫時,需要使用NiosⅡIDE特有的API函數(shù)。API函數(shù)實現(xiàn)寫顯存的操作為IOWR_32DIRECT(BASE,OFFSET,data),實現(xiàn)讀顯存的操作為IORD_32DIRECT(BASE,OFFSET)。由于寫顯存需要進(jìn)行連續(xù)大量的數(shù)據(jù)寫操作,所以使用動態(tài)地址對齊,每次數(shù)據(jù)讀寫都要按照動態(tài)地址對齊規(guī)則來操作。
由于CPU寫顯存與LCD物理驅(qū)動讀顯存使用的信道都是總線,當(dāng)兩者同時訪問顯存時會出現(xiàn)總線占用。解決如下:在LCD物理驅(qū)動中設(shè)置顯示信號寄存器,當(dāng)軟件向顯存中寫入的一屏數(shù)據(jù)完成時,軟件會向顯示信號寄存器寫入顯示命令,指示顯示驅(qū)動工作。由于此時是單次數(shù)據(jù)的讀寫,所以采用本地地址對齊完成寫操作。
用戶幫助界面的載入流程圖如圖5所示,此圖表示具體顯示功能實現(xiàn)的原理。當(dāng)需要顯示界面時,CPU會在短時間內(nèi),向顯存所在地址連續(xù)寫入大量RGB數(shù)據(jù),此數(shù)據(jù)寫滿一屏?xí)r,CPU終止向顯存寫入數(shù)據(jù),轉(zhuǎn)而向顯示驅(qū)動發(fā)送,包括顯存起始地址、顯存地址范圍、使能信號、顯示開始信號等,使顯示驅(qū)動工作,然后CPU進(jìn)入觸摸信號檢測來執(zhí)行下一項操作。其他各界面的顯示原理與用戶幫助界面顯示原理相同。
圖5 用戶幫助界面的載入流程圖Fig.5 User help interface loaded flowchart
3)觸摸控制功能實現(xiàn)
設(shè)計中需要通過觸摸來實現(xiàn)控制功能。當(dāng)觸摸屏幕時,觸摸屏?xí)蛳到y(tǒng)PIO口反饋一個觸摸有效值,此值會和觸摸時間同步,系統(tǒng)通過讀取當(dāng)前PIO口值,來確定是否執(zhí)行當(dāng)前功能。
4)NiosⅡIDE9.1軟件調(diào)試及下載
運行NiosⅡIDE軟件,在新建工程中,添加QuartusⅡ9.1硬件系統(tǒng)工程所在目錄的ptf文件,選擇Hello world作為模版,完成軟件工程的創(chuàng)建,再配置工程的系統(tǒng)屬性,將軟件代碼替換工程中的hello world代碼,編譯程序,然后在線運行當(dāng)前程序,驗證其功能,最后下載系統(tǒng)到Flash,保證系統(tǒng)關(guān)電后,開機(jī)時Flash自動將配置信息讀出送給EPCS,使器件脫機(jī)工作[9]。
整個系統(tǒng)由高頻阻垢機(jī)和SOPC控制系統(tǒng)(帶彩色觸摸屏的開發(fā)板)組成,如圖6所示。
圖6 系統(tǒng)聯(lián)調(diào)Fig.6 System debugging
前者主要產(chǎn)生阻垢所需要的大功率、高頻、正弦波振蕩信號,后者主要實現(xiàn)阻垢系統(tǒng)工作時的實時監(jiān)控,由彩色觸摸屏提供顯示,主要包括:環(huán)境狀態(tài)輸入界面,如:使用壓力、水溫、工作頻率、功放數(shù)目、環(huán)境溫度及濕度等;功能控制界面,如:頻率選擇、功率選擇、參數(shù)設(shè)定等;還有用戶幫助界面、鍵盤輸入界面等。系統(tǒng)聯(lián)調(diào)時,將兩個系統(tǒng)連接在一起,在硬軟件的協(xié)同工作下,可以看到高頻振蕩波形,其最佳工作頻率為5 MHz、6 MHz,在觸摸屏上能夠顯示各界面的實時監(jiān)控情況,經(jīng)過調(diào)試和運行,達(dá)到阻垢所需要的功能及效果。
經(jīng)過調(diào)試運行和實際使用,高頻水處理器可達(dá)到的技術(shù)指標(biāo)為:使用壓力10~16 kgf/cm2,每通道輸出功率100 W(共4通道),可調(diào)頻率范圍0~10 MHz,中心頻率5 MHz、6 MHz(最佳工作頻率),正弦波輸出電壓70~90 V,電源電壓220 V/380 V(50 Hz/60 HZ),進(jìn)出水口直徑不限,水流量、硬度不限,工作溫度≤200℃,環(huán)境溫度≤50℃,相對濕度<90%,阻垢率≥95%。
高頻電磁場水處理器集防垢、除垢、緩蝕、殺菌等多種功能于一體,應(yīng)用范圍廣,功效顯著。采用SOPC嵌入式技術(shù)開發(fā)的智能高頻電磁場水處理器,具有功能強大、實時監(jiān)控、操作簡單便捷、易于觀察、反饋信息量大等特點,是新一代科技含量較高的阻垢水處理產(chǎn)品。
[1]李海燕,蔣永鋒,包曄峰.高頻電磁在水處理中阻垢作用[J].新技術(shù)新工藝,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]熊蘭,席朝輝,葉曉杰,等.大功率高頻電磁阻垢系統(tǒng)的設(shè)計及實驗研究[J].工業(yè)水處理,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]李國芳.熱電廠高頻電磁水處理優(yōu)化控制策略研究[D].上海:上海交通大學(xué),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嵌入式系統(tǒng)設(shè)計與典型實例[M].北京:電子工業(yè)出版社,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核設(shè)計與實現(xiàn)[J].電子設(shè)計工程,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.