崔 巍,吳愛(ài)國(guó)
(天津大學(xué)電氣與自動(dòng)化工程學(xué)院,天津 300072)
近年來(lái),隨著計(jì)算機(jī)技術(shù)和電子技術(shù)的不斷進(jìn)步和完善,通用數(shù)字控制器作為工業(yè)自動(dòng)化控制類(lèi)產(chǎn)品,已經(jīng)被越來(lái)越多的產(chǎn)業(yè)領(lǐng)域接受,并已達(dá)到一個(gè)令人矚目的市場(chǎng)規(guī)模。在航空航天、大型裝備制造、電子信息等高新領(lǐng)域中,對(duì)控制器的快速性、穩(wěn)定性、抗干擾性、精度、速度等指標(biāo)提出了更高的要求,對(duì)超高速工業(yè)控制器的需求越來(lái)越強(qiáng)烈[1]。國(guó)內(nèi)具有自主知識(shí)產(chǎn)權(quán)的工業(yè)控制器近年來(lái)取得了一定進(jìn)展,但總體水平仍落后于國(guó)外技術(shù)先進(jìn)的國(guó)家,主要體現(xiàn)在:控制器難以運(yùn)用于超高速應(yīng)用場(chǎng)合,抗干擾性和穩(wěn)定性較差,由于控制器軟硬件體系結(jié)構(gòu)設(shè)計(jì)不合理,導(dǎo)致控制周期大于超高速應(yīng)用的要求,抗干擾性和穩(wěn)定性不好,最終的控制效果較差。因此,開(kāi)發(fā)一款具備自主知識(shí)產(chǎn)權(quán),能夠通用于各種控制系統(tǒng)的超高速、低成本、高可靠性的可與上位機(jī)共同組成控制系統(tǒng)及能夠直接與傳感器和執(zhí)行機(jī)構(gòu)信號(hào)匹配的超高速工業(yè)控制器具有重要的意義。
FPGA作為主控芯片最突出的特點(diǎn)是超高速、并行性,同時(shí)具有速度快、成本低、通用性好、穩(wěn)定性高、可靠性好、現(xiàn)場(chǎng)可編程與擴(kuò)展能力強(qiáng)等優(yōu)點(diǎn)[2]。因此文中設(shè)計(jì)出一種基于FPGA的超高速工業(yè)控制器,用它完成工業(yè)控制系統(tǒng)的模擬量、開(kāi)關(guān)量的高速采集與控制,并可在上位機(jī)通過(guò)RS-422(半/全雙工RS-485)和RS-232總線(xiàn)對(duì)該控制器實(shí)現(xiàn)高速監(jiān)控。同時(shí),控制器可根據(jù)上位機(jī)的設(shè)定實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)8個(gè)雙閉環(huán)PID或單閉環(huán)PID自動(dòng)控制方案,整個(gè)控制周期低于0.3 ms,同時(shí)又可實(shí)現(xiàn)模擬量的手動(dòng)輸出或波形輸出控制。最后,通過(guò)實(shí)驗(yàn)驗(yàn)證,使用文中所設(shè)計(jì)的控制器并結(jié)合雙閉環(huán)/單閉環(huán)PID控制方案能夠保證工業(yè)控制系統(tǒng)的模擬量超高速采集與控制,實(shí)現(xiàn)高速、理想的控制效果。
為了完成工業(yè)控制系統(tǒng)的模擬量、開(kāi)關(guān)量的高速采集與控制,與工業(yè)現(xiàn)場(chǎng)包含的各類(lèi)設(shè)備交互,所設(shè)計(jì)的基于FPGA的超高速工業(yè)控制器應(yīng)具有相應(yīng)接口:(1)為與上位計(jì)算機(jī)通信,控制器應(yīng)具有RS-422(半/全雙工RS-485)和RS-232總線(xiàn)接口;(2)為采集工業(yè)現(xiàn)場(chǎng)各種模擬式傳感器如位移傳感器、流量傳感器、壓力傳感器、溫度傳感器等模擬量信號(hào),控制器應(yīng)具有16路4~20 mA/0~10 V模擬量輸入AI的A/D轉(zhuǎn)換接口;(3)為控制工業(yè)現(xiàn)場(chǎng)的各種執(zhí)行器行程、調(diào)節(jié)閥開(kāi)度而與常用設(shè)備的驅(qū)動(dòng)模塊(交直流電機(jī)、伺服閥、溢流閥、換向閥的驅(qū)動(dòng)器)連接,從而連續(xù)調(diào)節(jié)現(xiàn)場(chǎng)被控物理量,控制器應(yīng)具有8路-10~10 V模擬量輸出AO的D/A轉(zhuǎn)換接口;(4)為讀取工業(yè)現(xiàn)場(chǎng)的各種開(kāi)關(guān)量輸入設(shè)備狀態(tài)和直接驅(qū)動(dòng)生產(chǎn)中各種電磁閥的通斷,控制器應(yīng)具有16路開(kāi)關(guān)量24 V輸入DI信號(hào)的接口和8路開(kāi)關(guān)量觸點(diǎn)輸出信號(hào)DO的接口。
如圖1所示,該控制器僅使用FPGA作為主控核心,F(xiàn)PGA的并行性保證了處理的超高速性??刂破魇褂盟膶覨PGA核心板+調(diào)理板的結(jié)構(gòu),F(xiàn)PGA核心板和調(diào)理板由相互獨(dú)立的電源供電。該控制器的硬件功能單元主要包括16路模擬量輸入A/D轉(zhuǎn)換單元,8路模擬量輸出D/A轉(zhuǎn)換單元,16路開(kāi)關(guān)量輸入信號(hào)隔離與調(diào)理單元,8路開(kāi)關(guān)量輸出信號(hào)隔離與驅(qū)動(dòng)單元和總線(xiàn)通信單元??刂破魃洗篷詈凸怦畹母綦x設(shè)計(jì),使得工業(yè)現(xiàn)場(chǎng)的所有信號(hào)與FPGA核心主板不存在所有電氣上的連接,僅保留邏輯聯(lián)系,極大地增強(qiáng)了FPGA超高速工業(yè)控制器的硬件抗干擾性能。該控制器是真正的工業(yè)級(jí)超高速控制器,在硬件上所有芯片的選型都保證是工業(yè)級(jí)芯片且力求集成度高、處理速度快。
圖1 基于FPGA的超高速工業(yè)控制器硬件框圖
2.1主控芯片F(xiàn)PGA
FPGA超高速工業(yè)控制器的FPGA核心主控制單元選用的是Cyclone Ⅲ系列FPGA[3]中的EP3C16E144I7,該型號(hào)的FPGA具有比較豐富的內(nèi)部資源:15 408個(gè)LE(邏輯單元),85個(gè)用戶(hù)可使用I/O口,516 096位的內(nèi)部存儲(chǔ)器資源,112個(gè)內(nèi)嵌9位×9位乘法器,4個(gè)PLL(鎖相環(huán)),20個(gè)全局時(shí)鐘。同時(shí)該型號(hào)FPGA的速度等級(jí)是7,溫度等級(jí)是-20~85 ℃,相比于速度等級(jí)是8的一般型號(hào)的FPGA,主頻可以跑得更高,延遲更短,實(shí)時(shí)性和快速性更強(qiáng)。該型號(hào)FPGA為編寫(xiě)狀態(tài)機(jī)等復(fù)雜的邏輯控制程序和復(fù)雜的控制算法程序奠定了硬件基礎(chǔ),使超高速控制成為可能,同時(shí)利于今后控制器的功能升級(jí)。因此,EP3C16E144I7非常適合作為FPGA超高速工業(yè)控制器的核心主控芯片。
FPGA獨(dú)立供電模塊為FPGA提供3.3 V、2.5 V、1.2 V共3種電源電壓等級(jí):3.3 V作為該型號(hào)FPGA的I/O口電源VCCIO,1.2 V作為FPGA的內(nèi)核電源VCCINT和PLL數(shù)字電源VCCD_PLL,2.5 V作為FPGA的PLL模擬電源VCCA和JTAG調(diào)試接口電路電源。
2.2 16路模擬量輸入A/D轉(zhuǎn)換單元
16路模擬量輸入A/D轉(zhuǎn)換單元包括I/V選擇與變換電路、2片12位8通道A/D轉(zhuǎn)換器電路、A/D接口數(shù)字隔離電路[4]。如圖2所示,I/V選擇與變換電路既可將工業(yè)現(xiàn)場(chǎng)輸入的4~20 mA電流信號(hào)轉(zhuǎn)換為1~5 V或0.5~2.5 V的電壓信號(hào),又可將工業(yè)現(xiàn)場(chǎng)輸入的0~10 V信號(hào)轉(zhuǎn)換為0~5 V電壓信號(hào)。如圖3所示,轉(zhuǎn)換后的AI0~AI15共16路電壓信號(hào)傳輸至2片12位8通道A/D轉(zhuǎn)換器AD7928,并由A/D轉(zhuǎn)換器轉(zhuǎn)換為2組12位內(nèi)部數(shù)字信號(hào)DB[11:0]:經(jīng)軟件配置后,AI0~AI7(1~5 V/0~5 V)在第一片AD7928上的轉(zhuǎn)換關(guān)系是AI=5 V×DB[11:0]/4096;AI8~AI15(0.5~2.5 V)在第二片AD7928上的轉(zhuǎn)換關(guān)系是AI=2.5 V×DB[11:0]/4 096。上述2組12位數(shù)字信號(hào)以SPI協(xié)議16位串行格式都通過(guò)2片磁隔離芯片ADum1201CR和ADum1200CR連接至FPGA的用戶(hù)I/O口上。圖3中的AD780BR用于產(chǎn)生2.5 V±0.001 V電壓基準(zhǔn)REFin_2.5 V供A/D轉(zhuǎn)換使用,精準(zhǔn)的2.5 V電壓基準(zhǔn)保證了模擬量采集與控制的高精度和準(zhǔn)確性。
圖2 I/V選擇與變換電路原理圖
磁隔離芯片與FPGA連接側(cè)的供電回路應(yīng)與FPGA的I/O電壓一致,即應(yīng)接入FPGA獨(dú)立電源供電單元提供的VCC3.3到GND的3.3 V電壓;磁隔離芯片與外設(shè)芯片連接側(cè)的供電回路應(yīng)與該外設(shè)芯片數(shù)字接口的電源引腳(文中是AD7928的Vdrive引腳)電壓一致,即應(yīng)接入調(diào)理板電源供電單元提供的VCC5到SGND的5 V電壓。磁隔離芯片在這里除隔離作用外,還起到了5 V/3.3 V電平轉(zhuǎn)換作用。
圖3 A/D轉(zhuǎn)換器電路原理圖
2.3 8路模擬量輸出D/A轉(zhuǎn)換單元
8路模擬量輸出D/A轉(zhuǎn)換單元包括D/A接口數(shù)字隔離電路、14位8通道D/A轉(zhuǎn)換器電路、模擬量輸出信號(hào)放大與驅(qū)動(dòng)電路[5]。FPGA的類(lèi)SPI協(xié)議32位串行格式的數(shù)字信號(hào)通過(guò)磁隔離芯片ADuM1400CRW連接至14位8通道D/A轉(zhuǎn)換器AD5648,磁隔離芯片的供電回路與2.2中所述一致。如圖4所示,AD5648有AO0~AO7共8路模擬量輸出引腳,在軟件中將AD5648配置成使用內(nèi)部電壓參考源,故每路電壓輸出值Vout=5 V×D[13:0]/16384,其中D[13:0]是與該路AO對(duì)應(yīng)的14位D/A數(shù)值。這8路0~5 V電壓再經(jīng)如圖5所示LM7332運(yùn)放電路的信號(hào)放大與驅(qū)動(dòng)后,可線(xiàn)性放大為8路-10~+10 V的模擬量輸出電壓,所選LM7332可在輸出±10 V電壓時(shí)輸出±70 mA電流,可滿(mǎn)足工業(yè)現(xiàn)場(chǎng)絕大多數(shù)閥門(mén)執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)控制要求。
圖4 D/A轉(zhuǎn)換器電路原理圖
圖5 模擬量輸出信號(hào)放大與驅(qū)動(dòng)電路原理圖
2.4 16路開(kāi)關(guān)量輸入信號(hào)隔離與調(diào)理單元
如圖6所示,工業(yè)現(xiàn)場(chǎng)的16路0 V或24 V電壓開(kāi)關(guān)量輸入信號(hào)DI1~DI16經(jīng)光耦PC817進(jìn)行電壓變換隔離,將0 V或24 V電壓信號(hào)轉(zhuǎn)為0 V或3.3 V電壓信號(hào)輸出給FPGA的I/O口。其中3.3 V穩(wěn)壓管D2起到過(guò)壓和反接保護(hù)作用。
圖6 開(kāi)關(guān)量輸入信號(hào)隔離與調(diào)理單元電路原理圖
2.5 8路開(kāi)關(guān)量輸出信號(hào)隔離與驅(qū)動(dòng)單元
如圖7所示,控制器外接的24 V電源通過(guò)DC/DC模塊提供專(zhuān)為繼電器驅(qū)動(dòng)電路[6]提供的獨(dú)立電源,其地SGND_JiDianQi與控制器信號(hào)調(diào)理板的信號(hào)地SGND和控制器核心板的地GND完全相互獨(dú)立,避免繼電器輸入端大電流頻繁通斷對(duì)系統(tǒng)的干擾。其工作原理是:當(dāng)FPGA的相應(yīng)I/O口輸出高電平時(shí),LED滅,光耦PC817不導(dǎo)通,PNP型三極管導(dǎo)通,額定電壓為12 V的繼電器輸入端流過(guò)接近37.5 mA的電流,繼電器輸出端兩個(gè)觸點(diǎn)吸合;當(dāng)FPGA的相應(yīng)I/O口輸出低電平時(shí),LED亮,光耦PC817導(dǎo)通,PNP型三極管截止,繼電器輸入端無(wú)電流流過(guò),繼電器輸出端兩個(gè)觸點(diǎn)斷開(kāi)。將繼電器的輸出觸點(diǎn)串入工業(yè)現(xiàn)場(chǎng)的負(fù)載回路中即可完成8路對(duì)電磁閥等設(shè)備的開(kāi)關(guān)量控制。
圖7 開(kāi)關(guān)量輸出信號(hào)隔離與驅(qū)動(dòng)單元電路原理圖
2.6總線(xiàn)通信單元
總線(xiàn)通信單元包括通信數(shù)字隔離電路、用于與上位機(jī)或接入工業(yè)網(wǎng)絡(luò)進(jìn)行通信的半/全雙工RS-485(RS-422)接口電路和RS-232接口電路。如圖8所示,F(xiàn)PGA的4個(gè)I/O口經(jīng)磁隔離芯片ADuM1401BRW連接至MAX491ESD,磁隔離芯片的供電回路與2.2中所述一致。FPGA通過(guò)MAX491ESD完成收發(fā)控制的方法如下:FPGA將發(fā)送使能控制線(xiàn)485_DE置高時(shí),會(huì)使能MAX491ESD對(duì)異步串行通信接口發(fā)送信號(hào)485_DI的TTL電平到差分發(fā)送端RS-485(RS-422)電平標(biāo)準(zhǔn)的電平轉(zhuǎn)換,反之會(huì)禁止發(fā)送信號(hào)的RS-485(RS-422)電平轉(zhuǎn)換;FPGA將接收使能控制線(xiàn)485_RE置低時(shí),會(huì)使能MAX491ESD對(duì)差分接收端RS-485(RS-422)電平標(biāo)準(zhǔn)到異步串行通信接口接收信號(hào)485_RO的TTL電平轉(zhuǎn)換,反之會(huì)禁止接收信號(hào)的TTL電平轉(zhuǎn)換。類(lèi)似的,通過(guò)MAX3232ESE芯片構(gòu)成的RS-232接口電路和磁隔離芯片ADuM1402BRW,可完成TTL電平與RS-232電平標(biāo)準(zhǔn)之間的轉(zhuǎn)換。
圖8 半/全雙工RS-485(RS-422)接口電路圖
如圖9所示是FPGA內(nèi)部的頂層設(shè)計(jì)中各功能模塊的連接示意及對(duì)外引腳圖[7],用Verilog HDL語(yǔ)言在FPGA上完成各功能模塊的設(shè)計(jì),所有涉及時(shí)序的模塊均用Verilog代碼設(shè)計(jì)成有限狀態(tài)機(jī),工作快速、穩(wěn)定。最后利用Quartus II集成開(kāi)發(fā)環(huán)境對(duì)由各個(gè)Verilog模塊集成的頂層設(shè)計(jì)文件進(jìn)行綜合。
從圖9看出,F(xiàn)PGA內(nèi)部各功能模塊中的核心主控模塊是DA上層控制模塊,DA上層控制模塊的流程如圖10所示。由于FPGA的并行性特點(diǎn),在DA上層控制模塊循環(huán)進(jìn)行8路模擬量輸出AO的計(jì)算與輸出的同時(shí),圖9中還同時(shí)并行地進(jìn)行著如下主要工作:16路模擬量輸入AI信號(hào)的輪詢(xún)AD采樣轉(zhuǎn)換與濾波,異步串行通信數(shù)據(jù)接收及其命令解析和參數(shù)設(shè)置,16路DI狀態(tài)的讀取與8路DO輸出控制,向上位機(jī)通過(guò)異步串行通信接口循環(huán)發(fā)送所有的AI、AO、DI、DO數(shù)值信息。
圖9 FPGA內(nèi)部的頂層設(shè)計(jì)中各個(gè)功能模塊的連接示意及對(duì)外引腳圖
圖10 DA上層控制模塊的流程圖
由圖10及軟件功能分析可知,該控制器可根據(jù)上位機(jī)發(fā)送的模擬量輸入AI設(shè)定值及相關(guān)Kp、Ki、Kd參數(shù)進(jìn)行雙閉環(huán)/單閉環(huán)的PID自動(dòng)調(diào)節(jié),也可根據(jù)上位機(jī)發(fā)送的波形參數(shù)(周期、峰值、谷值)進(jìn)行波形自動(dòng)輸出或手動(dòng)值輸出??刂破骺赏瓿勺疃?路模擬量AI的定值或隨動(dòng)控制,因FPGA可并行完成各種控制、采集、通信功能,一個(gè)控制周期Ts中16路AI中的每路都采集7次的情況下,8個(gè)模擬量的PID閉環(huán)控制總周期Ts可以低至0.3 ms,如果在一個(gè)Ts中,減少AO輸出數(shù)目或使單路AI采集次數(shù)少于7次,控制周期Ts可以低至0.1 ms以下,完全可滿(mǎn)足超高速的控制要求。
為了驗(yàn)證該控制器對(duì)模擬量、開(kāi)關(guān)量的高速采集與控制功能,使用LabVIEW編寫(xiě)了上位機(jī)監(jiān)控系統(tǒng),該監(jiān)控系統(tǒng)共實(shí)現(xiàn)了6組功能:實(shí)時(shí)顯示、數(shù)字量顯示及輸出設(shè)置、模擬量輸出設(shè)置、控制參數(shù)設(shè)置、歷史曲線(xiàn)、X-Y曲線(xiàn)。同時(shí)將該控制器用于對(duì)高階大滯后對(duì)象的雙閉環(huán)PID控制,高階對(duì)象的輸出與輸入分別作為控制器的AI4與AO4,高階對(duì)象的中間輸出作為控制器的AI5,如圖11所示,該高階對(duì)象的輸出可快速跟蹤監(jiān)控系統(tǒng)對(duì)AI4設(shè)置的給定值。
圖11 控制器對(duì)高階對(duì)象的雙閉環(huán)PID控制曲線(xiàn)圖
文中根據(jù)工業(yè)控制系統(tǒng)需求,設(shè)計(jì)出基于FPGA的超高速工業(yè)控制器,該控制器配備總線(xiàn)通信、模擬量輸入/輸出、開(kāi)關(guān)量輸入/輸出等接口,能夠完成工業(yè)控制系統(tǒng)的模擬量、開(kāi)關(guān)量的高速采集與控制,并可在上位機(jī)通過(guò)RS-422(半/全雙工RS-485)和RS-232總線(xiàn)對(duì)該控制器實(shí)現(xiàn)高速監(jiān)控。該控制器僅使用FPGA作為主控芯片,最突出的特點(diǎn)是超
高速、并行性,整個(gè)控制周期低于0.3 ms,控制器既可根據(jù)上位機(jī)的設(shè)定實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)8個(gè)雙閉環(huán)PID或單閉環(huán)PID自動(dòng)控制方案,又可實(shí)現(xiàn)模擬量的手動(dòng)輸出或波形輸出控制。最后,通過(guò)實(shí)際實(shí)驗(yàn),驗(yàn)證使用文中所設(shè)計(jì)的控制器并結(jié)合雙閉環(huán)PID控制方案能夠保證工業(yè)控制系統(tǒng)的模擬量超高速采集與控制,實(shí)現(xiàn)高速的控制效果和理想的監(jiān)控功能。
參考文獻(xiàn):
[1]劉志勇.工業(yè)控制器可靠性若干問(wèn)題的研究與開(kāi)發(fā):[學(xué)位論文].杭州:浙江大學(xué),2012.
[2]王誠(chéng),蔡海寧.Altera FPGA/CPLD設(shè)計(jì).第2版.北京:人民郵電出版社,2011.
[3]Cyclone III Design Guidelines,datasheet,Altera Corporation,2008.
[4]江小平,劉文杰.基于CPLD/FPGA的A/D轉(zhuǎn)換控制器的設(shè)計(jì).蘇州大學(xué)學(xué)報(bào),2005,25(4):1-3.
[5]鄭艷霞,張培仁,張志堅(jiān).高精度遠(yuǎn)程隔離型多路AI/AO電路設(shè)計(jì).工業(yè)控制計(jì)算機(jī),2006,19 (9):12-14.
[6]顧海洲,馬雙武.PCB電磁兼容技術(shù)——設(shè)計(jì)實(shí)踐.北京:清華大學(xué)出版社,2004.
[7]劉小林,范育兵,羅春暉.基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).電子技術(shù)應(yīng)用,2009(7):1-3.
作者簡(jiǎn)介:崔巍(1989—),碩士研究生,主要從事工業(yè)控制系統(tǒng)及其控制器開(kāi)發(fā)。E-mail:cuiwei007@tju.edu.cn
吳愛(ài)國(guó)(1954—),教授,博士生導(dǎo)師,主要研究領(lǐng)域?yàn)橐砸簤合到y(tǒng)、制冷系統(tǒng)、電機(jī)為對(duì)象的非線(xiàn)性系統(tǒng)控制方法研究。