許月亭,季冬冬,許 芳,陳 虹
(吉林大學(xué)a.汽車(chē)仿真與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室;b.通信工程學(xué)院,長(zhǎng)春 130022)
基于FPGA 的電子節(jié)氣門(mén)控制器硬件設(shè)計(jì)與實(shí)現(xiàn)
許月亭a,b,季冬冬b,許 芳b,陳 虹a,b
(吉林大學(xué)a.汽車(chē)仿真與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室;b.通信工程學(xué)院,長(zhǎng)春 130022)
針對(duì)電子節(jié)氣門(mén)控制系統(tǒng)對(duì)控制器的快速性、低成本、微型化等控制性能的要求,通過(guò)現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA:Field Programmable Gate Array)實(shí)現(xiàn)控制器的硬件設(shè)計(jì),在發(fā)展較為成熟的增量式PID(Proportional,Integral,Differential)算法基礎(chǔ)上加入積分分離環(huán)節(jié),利用高級(jí)綜合工具Catapult C實(shí)現(xiàn)了基于FPGA全硬件方案的積分分離PID控制器。設(shè)計(jì)制作了AD/DA采集板,實(shí)現(xiàn)了基于FPGA的積分分離PID控制器與電子節(jié)氣門(mén)之間的數(shù)據(jù)通信,并進(jìn)行了電子節(jié)氣門(mén)的實(shí)物跟蹤控制實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,基于FPGA的全硬件積分分離PID控制器實(shí)現(xiàn)了電子節(jié)氣門(mén)跟蹤控制,提高了控制器的運(yùn)算精度。
電子節(jié)氣門(mén)控制系統(tǒng);現(xiàn)場(chǎng)可編程門(mén)陣列;硬件實(shí)現(xiàn);積分分離PID;實(shí)物實(shí)驗(yàn)
電子節(jié)氣門(mén)控制系統(tǒng)的目標(biāo)是節(jié)氣門(mén)開(kāi)度能又快又精確且超調(diào)盡可能小地達(dá)到期望目標(biāo)位置。節(jié)氣門(mén)是汽車(chē)發(fā)動(dòng)機(jī)的重要控制部件,采用電子節(jié)氣門(mén)控制系統(tǒng),使節(jié)氣門(mén)開(kāi)度得到精確控制,不但可以提高燃油經(jīng)濟(jì)性,減少排放,同時(shí),系統(tǒng)響應(yīng)迅速,可獲得滿(mǎn)意的操控性能[1]。由于排放法和油耗法規(guī)的日益嚴(yán)格以及人們對(duì)車(chē)輛的安全性和舒適性的更高期望,電子節(jié)氣門(mén)控制系統(tǒng)對(duì)控制器的要求也越來(lái)越高,如控制器的高實(shí)時(shí)性、微型化、低成本開(kāi)發(fā)等。因此,對(duì)電子節(jié)氣門(mén)控制性能的改進(jìn)及研究是很有必要的。
目前,國(guó)內(nèi)外許多學(xué)者進(jìn)行電子節(jié)氣門(mén)控制的研究主要分為兩方面:控制算法研究和控制硬件實(shí)現(xiàn)。在控制算法研究方面,應(yīng)用許多先進(jìn)的控制理論方法,提高節(jié)氣門(mén)控制性能,如模糊控制,滑??刂坪蚥ackstepping方法等;文獻(xiàn)[2]利用模糊控制和滑??刂扑惴?,設(shè)計(jì)了系統(tǒng)控制器,實(shí)現(xiàn)了電子節(jié)氣門(mén)的模糊滑??刂?。文獻(xiàn)[3]根據(jù)電子節(jié)氣門(mén)的結(jié)構(gòu),采用基于滑??刂频姆蔷€性控制方法,對(duì)電子節(jié)氣門(mén)的經(jīng)典PID(Proportional,Integral,Differential)控制、變速PID和滑??刂七M(jìn)行了比較,給出了滑??刂品▽?duì)電子節(jié)氣門(mén)的控制效果。文獻(xiàn)[4,5]采用backstepping方法實(shí)現(xiàn)了電子節(jié)氣門(mén)的非線性控制器,分析了跟蹤誤差系統(tǒng)的輸入到狀態(tài)穩(wěn)定性,并且給出了控制器參數(shù)的整定方法。文獻(xiàn)[6]對(duì)比了基于PID的控制策略、模糊控制以及滑模變結(jié)構(gòu)控制在電子節(jié)氣門(mén)控制系統(tǒng)上的效果,表明滑模變結(jié)構(gòu)控制具有很好的控制性能。以上研究工作還都處于仿真研究階段,沒(méi)有將被控對(duì)象做到實(shí)物以及控制器的硬件加速,節(jié)氣門(mén)模型最終只能在150 ms達(dá)到穩(wěn)定,系統(tǒng)存在超調(diào),并沒(méi)有從控制器的快速性角度改善控制性能。在控制器硬件實(shí)現(xiàn)方面,主要集中在研究快速、高效的硬件實(shí)現(xiàn)方法,如單片機(jī)實(shí)現(xiàn)方案、數(shù)字信號(hào)處理(DSP:Digital Signal Processor)實(shí)現(xiàn)方案,高級(jí)精簡(jiǎn)指令集機(jī)器(ARM:Advanced RISCMachine)實(shí)現(xiàn)方案,F(xiàn)PGA(Field Programmable Gate Array)實(shí)現(xiàn)方案等[7]。文獻(xiàn)[8]在單片機(jī)上移植RTX51實(shí)時(shí)操作系統(tǒng),開(kāi)發(fā)了一整套基于嵌入式實(shí)時(shí)操作系統(tǒng)的AMT(Automated Mechanical Transmission)控制軟件,解決了AMT執(zhí)行換檔動(dòng)作時(shí)電子節(jié)氣門(mén)控制的傳統(tǒng)難題。文獻(xiàn)[9]設(shè)計(jì)了基于ARM和μC/OS-Ⅱ嵌入式操作系統(tǒng)的智能電子節(jié)氣門(mén)控制平臺(tái)。文獻(xiàn)[10,11]提出了電子節(jié)氣門(mén)模型預(yù)測(cè)控制器的片上可編程系統(tǒng)(SOPC:System On a Programmable Chip)實(shí)現(xiàn)方案,該方法在FPGA芯片上構(gòu)建了SOPC系統(tǒng),設(shè)計(jì)實(shí)現(xiàn)了基于FPGA的電子節(jié)氣門(mén)的MPC控制器。但上述研究在硬件實(shí)現(xiàn)過(guò)程中基本都是利用C/C++語(yǔ)言編寫(xiě)代碼,而C/C++代碼在開(kāi)發(fā)板中串行計(jì)算,程序執(zhí)行的過(guò)程較為耗時(shí)。
針對(duì)電子節(jié)氣門(mén)的控制要求,筆者從控制器硬件實(shí)現(xiàn)的角度,提出了一種新的電子節(jié)氣門(mén)控制器的FPGA硬件實(shí)現(xiàn)方案。該方案利用高級(jí)綜合工具Catapult C在FPGA芯片上設(shè)計(jì)實(shí)現(xiàn)了電子節(jié)氣門(mén)的全硬件增量式積分分離PID控制器,提高了控制器的運(yùn)算速度。為實(shí)現(xiàn)基于FPGA的積分分離PID控制器與電子節(jié)氣門(mén)之間的數(shù)據(jù)通信,設(shè)計(jì)制作了AD/DA采集板,并用硬件描述語(yǔ)言Verilog編寫(xiě)了AD、DA、PWM(PulseWidth Modulation)模塊的接口程序,最后進(jìn)行了電子節(jié)氣門(mén)的實(shí)物控制實(shí)驗(yàn)。
節(jié)氣門(mén)的作用是控制進(jìn)入發(fā)動(dòng)機(jī)的空氣流量。電子節(jié)氣門(mén)是一種柔性連接,通過(guò)傳感器、控制器以及驅(qū)動(dòng)芯片實(shí)現(xiàn)電子節(jié)氣門(mén)開(kāi)度控制[5],取消了傳統(tǒng)節(jié)氣門(mén)與加速踏板之間的機(jī)械連接。傳統(tǒng)加速踏板采用剛性連接,節(jié)氣門(mén)開(kāi)度完全取決于加速踏板的位置,而電子節(jié)氣門(mén)的柔性連接能根據(jù)駕駛員的需求以及整車(chē)各種行駛狀況確定節(jié)氣門(mén)的最佳開(kāi)度,保證車(chē)輛最佳的動(dòng)力性和燃油經(jīng)濟(jì)性,提高安全性和乘坐舒適性[12]。
電子節(jié)氣門(mén)控制系統(tǒng)框圖如圖1所示[13,14]。實(shí)際的駕駛員首先控制油門(mén)踏板,隨即油門(mén)踏板位置傳感器會(huì)產(chǎn)生對(duì)應(yīng)的電壓信號(hào)作為系統(tǒng)給定輸入,然后再將此信號(hào)輸入節(jié)氣門(mén)控制單元,從而控制單元獲得相應(yīng)的節(jié)氣門(mén)轉(zhuǎn)角期望值,再經(jīng)過(guò)積分分離PID控制器,將計(jì)算的占空比信號(hào)發(fā)送到驅(qū)動(dòng)單元即PWM驅(qū)動(dòng)板驅(qū)動(dòng)電子節(jié)氣門(mén)。節(jié)氣門(mén)位置傳感器把節(jié)氣門(mén)的位置開(kāi)度實(shí)時(shí)反饋給節(jié)氣門(mén)控制單元,形成閉環(huán)位置反饋控制系統(tǒng)。筆者的積分分離PID控制器在FPGA芯片上實(shí)現(xiàn),以滿(mǎn)足節(jié)氣門(mén)的跟蹤控制要求。
圖1 電子節(jié)氣門(mén)實(shí)物控制框圖Fig.1 Electronic throttle control block diagram
PID調(diào)節(jié)主要根據(jù)輸入的偏差,按照比例、積分、微分的函數(shù)關(guān)系運(yùn)算,運(yùn)算結(jié)果用作輸出控制。PID控制是一種較為傳統(tǒng)的控制策略,在控制領(lǐng)域被廣泛的應(yīng)用,該算法結(jié)構(gòu)簡(jiǎn)單易于實(shí)現(xiàn),具有魯棒性好、可靠性高、參數(shù)易于整定等特點(diǎn)[15,16]。
數(shù)字PID控制器可分為位置式和增量式兩種。筆者采用增量式PID算法。其具體形式為
實(shí)際的PID控制系統(tǒng)中,經(jīng)PID運(yùn)算得到的控制量存在范圍限制,輸入偏差較大時(shí)很可能引起控制量超過(guò)可行閾值,產(chǎn)生飽和。飽和作用主要是由積分環(huán)節(jié)所引起的,為了避免積分飽和調(diào)節(jié)滯后,在PID控制系統(tǒng)中適當(dāng)?shù)丶尤敕乐狗e分飽和的手段是很有必要的。筆者根據(jù)積分飽和的特性,分析了參數(shù)與系統(tǒng)性能之間的關(guān)系,并設(shè)計(jì)了積分分離的PID增量式控制器,保證了工藝參數(shù)平穩(wěn)快速地達(dá)到給定值。
積分分離的PID控制器的基本設(shè)計(jì)思想是當(dāng)輸入偏差有較大變化,實(shí)際偏差大于一定閾值時(shí),系統(tǒng)不進(jìn)行積分操作。而當(dāng)偏差小于一定閾值時(shí),恢復(fù)積分調(diào)節(jié)以消除系統(tǒng)的靜態(tài)誤差。假設(shè)e(k)的最大值為e(k)_max(e(k)_max>0),可以在積分項(xiàng)前加入系數(shù)
由于FPGA具有計(jì)算能力強(qiáng)、集成度高及設(shè)計(jì)靈活等優(yōu)點(diǎn),筆者利用高級(jí)綜合工具Catapult C在FPGA芯片上進(jìn)行電子節(jié)氣門(mén)的積分分離PID控制器的硬件設(shè)計(jì)。
Catapult C是Mentor公司開(kāi)發(fā)的一款系統(tǒng)級(jí)的FPGA開(kāi)發(fā)軟件,支持C描述的測(cè)試激勵(lì),通過(guò)調(diào)用ModelSim進(jìn)行功能仿真,以便驗(yàn)證RTL(Register Transfer Level)代碼功能的正確性,提高了系統(tǒng)的計(jì)算性能。Catapult C為硬件電路提供延遲時(shí)間、吞吐量、時(shí)序余量和FPGA的占用面積等情況以及甘特圖,方便進(jìn)行系統(tǒng)優(yōu)化[18],圖2為設(shè)計(jì)PID控制算法的甘特圖。
圖2 增量式積分分離PID控制算法的甘特圖Fig.2 Incremental integral separation PID control algorithm Gantt chart
傳統(tǒng)的FPGA開(kāi)發(fā)流程和基于Catapult C的開(kāi)發(fā)流程如圖3所示。使用Catapult C可通過(guò)添加約束,方便快捷地進(jìn)行面積和時(shí)序優(yōu)化,根據(jù)甘特圖可分析相應(yīng)約束的添加,大大縮短了開(kāi)發(fā)周期。因此,筆者采用基于Catapult C的FPGA開(kāi)發(fā)流程進(jìn)行電子節(jié)氣門(mén)的積分分離PID控制器的設(shè)計(jì)。
圖3 兩種方式的設(shè)計(jì)流程圖Fig.3 Design flow of two ways
筆者選用的FPGA是Altera公司StratixⅢ系列的EP3SL150F1152C2N芯片,具有142.5 KLEs,355個(gè)M9K Blocks,8個(gè)鎖相環(huán),384個(gè)18×18 bit乘法器,其硬件資源可達(dá)到控制系統(tǒng)的要求。為了對(duì)比基于Verilog全硬件的控制器的快速性,筆者設(shè)計(jì)了兩種基于FPGA的實(shí)現(xiàn)方案,記錄兩種方案控制器的運(yùn)行時(shí)間。
3.2.1 基于FPGA的SOPC方案
該方案在設(shè)計(jì)控制器時(shí)首先在SOPC Builder中添加相應(yīng)組件,根據(jù)系統(tǒng)的實(shí)際功能,利用QuartusⅡ中的SOPC Builder工具分別進(jìn)行Nios核(CPU)、片上存儲(chǔ)器(On-Chip Memory)、系統(tǒng)ID(System ID Peripheral)、通用異步接收器/發(fā)送器(JTAG UART)核、鎖相環(huán)(Avalon ALTPLL)和并行輸入/輸出(PIO)核等的配置,具體配置如圖4a所示。配置后需要在NiosⅡIDE中編寫(xiě)C/C++代碼。圖4b中的代碼是測(cè)試積分分離PID算法在NiosⅡIDE中的運(yùn)行時(shí)間。
圖4 SOPC方案軟硬件設(shè)計(jì)圖Fig.4 Hardware and software design based on SOPC scheme
最終在FPGA開(kāi)發(fā)板中進(jìn)行測(cè)試,在執(zhí)行了10 000次PID積分分離PID算法后打印的計(jì)算時(shí)間是1.78 s,即基于SOPC方案的積分分離PID控制器每次執(zhí)行時(shí)間是0.178 ms。
3.2.2 基于Catapult C全硬件方案
1 )定點(diǎn)模型設(shè)計(jì)。Catapult C的輸入文件一般有兩個(gè):①實(shí)現(xiàn)具體功能的C文件;②用于對(duì)該函數(shù)功能驗(yàn)證的測(cè)試文件[19]。首先編寫(xiě)增量式積分分離PID函數(shù)的C/C++代碼,考慮到實(shí)際PID參數(shù)需要整定,算法的C代碼中把要調(diào)節(jié)的比例KP、積分KI、微分KD系數(shù)設(shè)置成輸入變量,在Catapult C中會(huì)將各系數(shù)映射為模塊的輸入端口,便于參數(shù)調(diào)節(jié)。
為了提高算法計(jì)算性能,減少硬件資源消耗,需要設(shè)計(jì)定點(diǎn)數(shù)據(jù)模型。PID函數(shù)變量中包含偏差輸入eerr,比例KP、積分KI、微分KD系數(shù)、輸出占空比ppwm_duty和正反轉(zhuǎn)控制位fflag。eerr為AD的輸出12位數(shù)字量;由于Verilog語(yǔ)言不支持浮點(diǎn)數(shù)據(jù),KP、KI、KD是經(jīng)過(guò)擴(kuò)大相應(yīng)倍數(shù)轉(zhuǎn)換得到的整數(shù);flag是節(jié)氣門(mén)狀態(tài)標(biāo)志位,1代表PID的輸出占空比為正值,節(jié)氣門(mén)正轉(zhuǎn),0代表負(fù)值,節(jié)氣門(mén)反轉(zhuǎn)。各變量數(shù)據(jù)定點(diǎn)數(shù)據(jù)模型設(shè)計(jì)如表1所示。ac_fixed〈W,I,false〉表示無(wú)符號(hào)定點(diǎn)小數(shù),其中W代表數(shù)據(jù)的位寬,I代表整數(shù)位的位寬,false代表無(wú)符號(hào)數(shù)據(jù);ac_int〈W,false〉代表無(wú)符號(hào)整型。
2 )Catapult C綜合。增量式積分分離PID控制器的C程序在Catapult C中進(jìn)行綜合,綜合后生成面積時(shí)序估計(jì)圖,觀察系統(tǒng)各項(xiàng)指標(biāo),為優(yōu)化算法性能,將代碼進(jìn)行流水線處理。優(yōu)化后硬件電路的面積時(shí)序估計(jì)圖如圖5所示。從圖5可看到,優(yōu)化后硬件電路的延遲時(shí)間降低,吞吐量增加,提高了系統(tǒng)性能。為控制算法的啟停,在系統(tǒng)中加入握手信號(hào),添加start標(biāo)志位,控制算法的啟停,當(dāng)start開(kāi)啟時(shí),PID算法進(jìn)行運(yùn)算;同時(shí)添加done信號(hào),每執(zhí)行一次PID運(yùn)算,輸出一個(gè)完成done信號(hào)。
表1 PID函數(shù)各變量數(shù)據(jù)類(lèi)型的設(shè)計(jì)Tab.1 Data type of each variable design in PID function
圖5 增量式積分分離PID控制算法電路的面積和時(shí)序估計(jì)圖Fig.5 Area and timing estimates figure of incremental integral separation PID control algorithm
3.2.3 ModelSim 功能驗(yàn)證
完成RTL代碼轉(zhuǎn)換后需要進(jìn)行功能驗(yàn)證,為了測(cè)試,在主函數(shù)中將輸入偏差eerr以及比例KP、積分KI、微分KD系數(shù)設(shè)置為常值,觀察輸出占空比ppwm_duty以及標(biāo)志位fflag的值。仿真結(jié)果如圖6所示。將輸入偏差eerr設(shè)置為16進(jìn)制400(對(duì)應(yīng)偏差角度為-45°),比例KP設(shè)置為10 000(相當(dāng)于實(shí)際參數(shù)1)、積分KI設(shè)置為500(相當(dāng)于實(shí)際參數(shù)0.05)、微分KD設(shè)置為10 000(相當(dāng)于實(shí)際參數(shù)1)。代入增量式積分分離PID算法計(jì)算ppwm_duty值、fflag值與仿真結(jié)果一致,驗(yàn)證了積分分離PID算法的正確性。
圖6 Modelsim中的仿真測(cè)試圖Fig.6 The figure of Modelsim simulation test
圖5中的Latency time代表生成的基于Verilog硬件語(yǔ)言的積分分離PID控制器的每次執(zhí)行時(shí)間,單位是ns,基于Catapult C方案優(yōu)化后控制器每次執(zhí)行時(shí)間為60 ns,相對(duì)于SOPC方案,其性能得到了提升。這是由于Verilog代碼在FPGA中是并行操作,而C/C++代碼在硬件中為串行執(zhí)行。
文獻(xiàn)[12]中采用的是單片機(jī)作為控制器的硬件實(shí)現(xiàn),基于單片機(jī)方案的控制器跟基于FPGA的SOPC方案的控制器類(lèi)似,所以筆者添加了基于FPGA的SOPC方案,對(duì)比基于Catapult C全硬件方案和SOPC方案的控制器單次運(yùn)行時(shí)間如表2所示。
通過(guò)對(duì)比以上兩種方案,從表2的數(shù)據(jù)可知,基于FPGA的Catapult C方案作為硬件實(shí)現(xiàn)的控制器具有很好的實(shí)時(shí)性和快速性。
該實(shí)驗(yàn)的接口模塊主要包括AD/DA接口模塊、PWM驅(qū)動(dòng)模塊和Timer模塊。硬件系統(tǒng)編程通過(guò)狀態(tài)機(jī)實(shí)現(xiàn)[20],可以很好地控制每個(gè)模塊的工作時(shí)序,使系統(tǒng)有序地進(jìn)行數(shù)據(jù)處理和運(yùn)算,具體功能模塊如下。
1 )AD接口模塊。接口模塊首先對(duì)AD芯片初始化然后進(jìn)行數(shù)據(jù)的讀取。
初始化:初始化AD模塊,主要是對(duì)AD芯片的復(fù)位以及控制字的寫(xiě)入。圖7為具體狀態(tài)機(jī)的流程圖。
數(shù)據(jù)讀取:捕捉DATA_AV信號(hào),讀取轉(zhuǎn)換數(shù)據(jù)。
THS1206內(nèi)部帶有16位深度的FIFO,轉(zhuǎn)換的數(shù)據(jù)根據(jù)設(shè)置的不同觸發(fā)級(jí)別先將數(shù)據(jù)存入FIFO中,直到存到設(shè)置深度產(chǎn)生DATA_AV標(biāo)志信號(hào),在下一次DATA_AV有效前要求FPGA讀出FIFO中數(shù)據(jù)。筆者設(shè)置對(duì)模擬信號(hào)進(jìn)行自動(dòng)掃描,F(xiàn)IFO設(shè)置成4個(gè)字的深度。圖8為讀取數(shù)據(jù)的狀態(tài)機(jī)的流程圖,每次通過(guò)捕捉DATA_AV信號(hào),讀取4個(gè)轉(zhuǎn)換數(shù)據(jù)。
表2 基于兩種不同方案控制器硬件實(shí)現(xiàn)對(duì)比Tab.2 Controller hardware realization comparison based on two different schemes
圖7 AD初始化寫(xiě)操作狀態(tài)機(jī)流程圖Fig.7 The flowchart of AD writing initialization
圖8 AD讀取數(shù)據(jù)狀態(tài)機(jī)流程圖Fig.8 The flowchart of AD reading initialization
2 )PWM驅(qū)動(dòng)模塊。模塊中將clock_divide和duty_cycle以及pwm_enable作為輸入接口,pwm_out作為輸出接口,主要通過(guò)計(jì)數(shù)器對(duì)高低電平的計(jì)數(shù)實(shí)現(xiàn)模塊功能。其中duty_cycle是在一個(gè)周期內(nèi)對(duì)高電平的計(jì)數(shù),clock_divide是對(duì)一個(gè)周期的計(jì)數(shù)。實(shí)驗(yàn)中duty_cycle接PID輸出占空比pwm_duty端口,pwm_enable接PID模塊的信號(hào)完成done信號(hào),周期clock_divide設(shè)為常值。圖9為在ModelSim中驗(yàn)證PWM模塊功能的測(cè)試圖??梢钥吹疆?dāng)給定clk周期為100 ns,設(shè)置clock_divide值為10 000時(shí),周期為10 000×100 ns=1 000 000 ns,當(dāng)duty_cycle為4 000時(shí),輸出pwm波的高電平時(shí)間為4 000×100 ns=400 000 ns,占空比為0.4。
圖9 PWM功能測(cè)試圖Fig.9 PWM function test chart
3 )Timer模塊。Timer模塊為一個(gè)計(jì)數(shù)器,周期設(shè)置為1 ms,每1 ms執(zhí)行一次PID計(jì)算,通過(guò)Timer控制PID的開(kāi)啟信號(hào)start,使算法按照一定的頻率計(jì)算,保證結(jié)果的準(zhǔn)確性。
筆者實(shí)驗(yàn)中的AD/DA數(shù)據(jù)采集板硬件設(shè)計(jì)流程主要包括芯片的選取,電路的設(shè)計(jì)。AD/DA通信板主要包括 AD轉(zhuǎn)換芯片 THS1206、DA轉(zhuǎn)換芯片 AD5344、運(yùn)算放大電路 LM324、電平轉(zhuǎn)換芯片74LVC4245A以及相應(yīng)外圍電路電阻電容等。其中AD芯片THS1206和運(yùn)放電路LM324配合使用,將輸入電壓由0~5V范圍轉(zhuǎn)換到符合AD芯片允許范圍的輸入電壓。
選用的AD轉(zhuǎn)換芯片為T(mén)HS1206,具有較好的性能以及轉(zhuǎn)換速率。它是一款12位并行轉(zhuǎn)換芯片,帶有4路模擬輸入端,采樣時(shí)可以將4路模擬輸入端組成4個(gè)互不影響的單獨(dú)輸入端或兩組差分輸入。
選用的DA轉(zhuǎn)換芯片為AD5344,它是12位的數(shù)模轉(zhuǎn)換器,供應(yīng)電壓范圍是2.5~5.5 V。輸入給AD5344的數(shù)據(jù)是雙緩沖的,通過(guò)LDAC引腳實(shí)現(xiàn)多路DAC同時(shí)轉(zhuǎn)換。
選用的PWM驅(qū)動(dòng)是有刷直流電機(jī)驅(qū)動(dòng),驅(qū)動(dòng)器型號(hào)是BRT60A,其中的驅(qū)動(dòng)是(帶有MOS管IRLR7843)IR2184芯片,該驅(qū)動(dòng)具有較好的抗干擾能力,輸入3.3 V和5 V兼容,最大承受的電流是60 A。
DA芯片應(yīng)用在半實(shí)物仿真實(shí)驗(yàn)中,為配合AD芯片驗(yàn)證本設(shè)計(jì)的AD/DA通信板的通信以及控制器的功能。筆者構(gòu)建了基于FPGA和dSPACE的半實(shí)物實(shí)時(shí)仿真平臺(tái),開(kāi)發(fā)板FPGA作為控制器的硬件實(shí)現(xiàn),運(yùn)行積分分離PID控制算法;由dSPACE DS1104運(yùn)行Matlab/Simulink中的電子節(jié)氣門(mén)離線數(shù)學(xué)模型。圖10是在Matlab/Simulink里搭建的系統(tǒng)實(shí)時(shí)仿真實(shí)驗(yàn)?zāi)P?。?shí)驗(yàn)時(shí),先不加入PID控制器,測(cè)試AD/DA通信板通信功能,之后再加入控制器和電子節(jié)氣門(mén)數(shù)學(xué)模型進(jìn)行控制器的功能測(cè)試。而在實(shí)物實(shí)驗(yàn)時(shí),不再使用DA芯片,而是將控制器算出的占空比發(fā)送給PWM驅(qū)動(dòng)器以驅(qū)動(dòng)節(jié)氣門(mén)。
筆者設(shè)計(jì)采用的是Altium公司推出的DXP 2004 PCB軟件,設(shè)計(jì)完成了從原理圖的繪制到PCB板的生成,圖11為本實(shí)驗(yàn)的AD/DA實(shí)驗(yàn)電路板。
圖10 基于FPGA和dSPACE的Matlab/Simulink模型Fig.10 Matlab/Simulink model based on FPGA and dSPACE
筆者討論的節(jié)氣門(mén)的具體跟蹤指標(biāo)為:上升時(shí)間小于100 ms;調(diào)節(jié)時(shí)間小于140 ms;盡可能不超調(diào);靜態(tài)誤差小于2°。
該設(shè)計(jì)的實(shí)物實(shí)驗(yàn)需要利用xPC工作平臺(tái)實(shí)現(xiàn),xPC是Mathworks公司推出的基于Matlab的工具箱,被廣泛應(yīng)用于系統(tǒng)實(shí)驗(yàn)。xPC的運(yùn)行一般需要2臺(tái)計(jì)算機(jī)共同完成,一臺(tái)主機(jī)(Host),一臺(tái)目標(biāo)機(jī)(Target),在主機(jī)Host中搭建Matlab/Simulink的實(shí)物監(jiān)測(cè)模型,目標(biāo)機(jī)Target供該實(shí)驗(yàn)跟蹤波形的觀測(cè)。運(yùn)行Matlab/Simulink和Real-Time Workshop的計(jì)算機(jī)稱(chēng)為主機(jī)(Host),運(yùn)行xPC實(shí)時(shí)任務(wù)的計(jì)算機(jī)稱(chēng)為目標(biāo)機(jī)(Target)。兩臺(tái)計(jì)算機(jī)通過(guò)通信電纜連接[21]。圖12為電子節(jié)氣門(mén)實(shí)物控制的實(shí)驗(yàn)臺(tái)架。在主機(jī)Host中搭建Matlab/Simulink實(shí)物監(jiān)測(cè)模型,目標(biāo)機(jī)Target供本實(shí)驗(yàn)跟蹤波形的觀測(cè),電腦PC用來(lái)配置FPGA,電子節(jié)氣門(mén)實(shí)物為控制系統(tǒng)的被控對(duì)象,電源用來(lái)為PWM驅(qū)動(dòng)板供電。
圖11 AD/DA通信板Fig.11 AD/DA communication board
圖12 節(jié)氣門(mén)實(shí)物控制實(shí)驗(yàn)臺(tái)架Fig.12 Throttle physical control test bench
根據(jù)圖1實(shí)物控制框圖,測(cè)量油門(mén)踏板位置信號(hào)的是傳感器,油門(mén)踏板被踩下的角度轉(zhuǎn)換成電壓后傳入xPC Target,為將外部實(shí)物與xPC-Target仿真系統(tǒng)連接起來(lái),xPC-Target內(nèi)部提供適當(dāng)?shù)腎/O板卡作為中間的數(shù)據(jù)接口。針對(duì)節(jié)氣門(mén)控制系統(tǒng)設(shè)計(jì)的需要,此處選擇研華的PCL-818L。包括16路單端或8路差分的12位模擬量輸入A/D端口,其中每個(gè)輸入通道的增益可編程(分別為0.5,1,4或8),板卡可以采集油門(mén)踏板的信號(hào)作為控制系統(tǒng)的給定輸入。節(jié)氣門(mén)開(kāi)度信號(hào)是由閉環(huán)系統(tǒng)的反饋回路返回的實(shí)際節(jié)氣門(mén)轉(zhuǎn)角,通過(guò)筆者制作的AD板采集,xPC采集的給定信號(hào)與AD板采集的反饋信號(hào)的偏差作為FPGA開(kāi)發(fā)板的輸入經(jīng)積分分離PID控制器計(jì)算,得出占空比信號(hào)并發(fā)給PWM通信板,經(jīng)驅(qū)動(dòng)板驅(qū)動(dòng)電子節(jié)氣門(mén)。
當(dāng)給定為不同信號(hào)時(shí),經(jīng)過(guò)反復(fù)調(diào)試,調(diào)節(jié)的PID參數(shù):KP=3.86,KI=0.068,KD=1。
1 )當(dāng)給定為階躍信號(hào)為85°時(shí),仿真曲線如圖13所示。
由圖13可看出,跟蹤波形沒(méi)有超調(diào),沒(méi)有靜差,節(jié)氣門(mén)上升時(shí)間為70 ms,穩(wěn)定時(shí)間為90 ms,節(jié)氣門(mén)可以很快地跟蹤給定信號(hào),達(dá)到穩(wěn)定,滿(mǎn)足控制要求。證明基于Catapult C的全硬件控制器具有很好的實(shí)時(shí)性與快速性。
2 )當(dāng)給定為方波信號(hào)的最小值為20°,最大值為80°,周期為2 s時(shí),仿真曲線如圖14所示。
圖14 給定為方波信號(hào)時(shí), 位置信號(hào)跟蹤波形Fig.14 The position signalwaveform tracking waveform when a signal is given as a square wave signal
圖13 給定階躍信號(hào)為85°時(shí),位置信號(hào)跟蹤波形Fig.13 The tracking position signalwaveform when a signal is given to a step size of 85°
由圖14可看出,跟蹤曲線穩(wěn)定后系統(tǒng)無(wú)靜差,當(dāng)節(jié)氣門(mén)打開(kāi)時(shí),上升時(shí)間和穩(wěn)定時(shí)間分別為70 ms和90 ms;節(jié)氣門(mén)關(guān)閉時(shí),節(jié)氣門(mén)響應(yīng)時(shí)間為60 ms,穩(wěn)定時(shí)間為90 ms,可以很快地回到給定位置,在節(jié)氣門(mén)關(guān)閉時(shí)對(duì)比文獻(xiàn)[12]其性能也有提高。證明控制器在打開(kāi)關(guān)閉都能很快速地達(dá)到期望值,設(shè)計(jì)的控制器穩(wěn)定有效。
3 )當(dāng)給定為正弦波信號(hào)最小值為15°,最大值為85°,周期為3 s時(shí),仿真曲線如圖15所示。
由圖15可看出,當(dāng)給定為正弦波時(shí),節(jié)氣門(mén)在20°~80°之間曲線重合度較好,跟蹤無(wú)靜差,滿(mǎn)足控制要求,證明了基于FPGA的控制器實(shí)時(shí)性較好并且滿(mǎn)足控制器的穩(wěn)定性。
4 )當(dāng)給定為油門(mén)踏板信號(hào)時(shí),仿真曲線如圖16所示。
圖15 給定為正弦信號(hào)時(shí),位置信號(hào)跟蹤波形Fig.15 The waveform of the tracking position signal when a signal is given as a sinusoidal signal
圖16 給定為油門(mén)踏板信號(hào)時(shí),位置信號(hào)跟蹤波形Fig.16 The waveform of the tracking position signalwhen the accelerator pedal as a signal
為證明基于FPGA的控制器在隨機(jī)變化開(kāi)度下的穩(wěn)定性,隨機(jī)踩下圖12所示的油門(mén)踏板,由圖16可看出,當(dāng)隨機(jī)給定節(jié)氣門(mén)開(kāi)度時(shí),節(jié)氣門(mén)仍然能很好地跟蹤給定信號(hào),控制器的穩(wěn)定性可以適應(yīng)隨機(jī)變化的踏板信號(hào)。
筆者從硬件實(shí)現(xiàn)的角度采取基于FPGA和Catapult C的全硬件方案實(shí)現(xiàn)積分分離PID控制器,通過(guò)AD/DA采集板采集數(shù)據(jù),最終實(shí)現(xiàn)基于FPGA的電子節(jié)氣門(mén)的實(shí)物控制。實(shí)驗(yàn)驗(yàn)證了基于FPGA全硬件方案實(shí)現(xiàn)積分分離PID控制器的可行性、快速性,同時(shí)表明了基于FPGA實(shí)現(xiàn)的控制器具有微型化和高靈活性的特點(diǎn),可以很好地滿(mǎn)足新應(yīng)用的要求。
筆者采用了積分分離PID控制算法,下一步工作采用先進(jìn)的MPC控制算法以及神經(jīng)網(wǎng)絡(luò)PID算法等,進(jìn)行電子節(jié)氣門(mén)實(shí)物控制,以達(dá)到更好的控制效果。
[1]MCKAY D,NICHOLSB,SCHREURSG.Delphi Electronic Throttle Control Systems for Model Year 2000[DB/OL].Driver Features,System Security and OEM Benefits.(2000-03-06).[2013-11-26].http:∥www.doc88.com/p-5009938541323.htm l.
[2]郭輝,張?jiān)讫?基于模糊滑??刂频碾娮庸?jié)氣門(mén)仿真[J].小型內(nèi)燃機(jī)與摩托車(chē),2007,36(2):43-46.
GUO Hui,ZHANG Yunlong.Simulation of Electronic Throttle Based on Fuzzy Sliding Mode Control[J].Small Internal Combustion Engine and Motorcycle,2007,36(2):43-46.
[3]王霆,朱二欣,林學(xué)東,等.電子節(jié)氣門(mén)滑模變結(jié)構(gòu)控制方法研究[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2008,26(6):647-651.
WANG Ting,ZHU Erxin,LIN Xuedong,etal.Study on Electronic Throttle Control Based on Non-Linear Sliding Mode Control Theory[J].Journal of Jilin University:Information Science Edition,2008,26(6):647-651.
[4]陳虹,胡云峰,郭宏志,等.基于backstepping方法的電子節(jié)氣門(mén)控制[J].控制理論與應(yīng)用,2011,28(4):491-496.
CHEN Hong,HU Yunfeng,GUO Hongzhi,etal.Control of Electronic Throttle Based on Backstepping Approach[J].Control Theory and Applications,2011,28(4):491-496.
[5]胡云峰,李超,李俊,等.基于觀測(cè)器的輸出反饋電子節(jié)氣門(mén)控制器設(shè)計(jì)[J].自動(dòng)化學(xué)報(bào),2010,31(6):1241-1248.
HU Yunfeng,LIChao,LIJun,et al.Observer-Based Output Feedback Control of Electronic Throttles[J].Acta Automatica Sinica,2010,31(6):1241-1248.
[6]馮鎮(zhèn),肖壽高,焦磊,等.電子節(jié)氣門(mén)控制策略仿真研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(4):1665-1669.
FENG Zhen,XIAO Shougao,JIAO Lei,et al.Research on Simulation of Electronic Throttle Control[J].Computer Engineering and Design,2012,33(4):1665-1669.
[7]付慶興,高嵩,李義,等.基于Hilbert變換的單邊帶調(diào)制系統(tǒng)及FPGA實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2012,30(1):60-65.
FU Qingxing,GAO Song,LIYi,et al.SSB Modulation System Based on Hilbert Transformation and FPGA Implementation[J].Journal of Jilin University:Information Science Edition,2012,30(1):60-65.
[8]梅近仁,秦貴和.基于嵌入式RTOS的AMT控制軟件開(kāi)發(fā)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2005,23(2):205-209.
MEI Jinren,QIN Guihe.Development of AMT Control Software Based on Embedded RTOS[J].Journal of Jilin University:Information Science Edition,2005,23(2):205-209.
[9]李志海,王耀南,徐磊,等.基于ARM的智能汽車(chē)電子節(jié)氣門(mén)控制平臺(tái)[J].工業(yè)控制計(jì)算機(jī),2008,21(2):68-69.
LIZhihai,WANG Yaonan,XU Lei,etal.Intelligent Electronic Throttle Control Platform Based on ARM Microcomputer[J].Industrial Control Computer,2008,21(2):68-69.
[10]胡云峰,陳虹,劉明星,等.基于 FPGA/SoPC的預(yù)測(cè)控制器設(shè)計(jì)與實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2010,31(6):1241-1248.
HU Yunfeng,CHEN Hong,LIU Mingxing,et al.Design and Implementation of Model Predictive Controller Based on FPGA/SOPC[J].Chinese Journal of Scientific Instrument,2010,31(6):1241-1248.
[11]CHEN Hong,XU Fang,XI Yi.Field Programmable Gate Array System on a Programmable Chip Based Implementation of Model Predictive Controller[J].IETControl Theory and Applications,2012,6(8):1055-1063.
[12]郭孔輝,付皓,丁海濤,等.汽車(chē)電子節(jié)氣門(mén)控制器開(kāi)發(fā)[J].科學(xué)技術(shù)與工程,2008,8(2):446-450.
GUO Konghui,F(xiàn)U Hao,DING Haitao,et al.Development of Automotive Electronic Throttle Controller [J].Science Technology and Engineering,2008,8(2):446-450.
[13]PAUL H LEWIS,CHANG Yang.Basic Control Systems Engineering[M].Charlottesville,US:University of Virginia,1997.
[14]ERIKSON L,NIELSEN L.Non-Linear Model-Based Throttle Control[DB/OL].(2000-03-06).[2013-11-26].http:∥digitallibrary.sae.org/content/2000-01-0261.
[15]張瑞鵬,孫正光.鉆機(jī)閉環(huán)測(cè)控系統(tǒng)的設(shè)計(jì)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2011,29(3):278-283.
ZHANG Ruipeng,SUN Zhengguang.Design of Closed-Loop Survey and Control System for Drill Rig[J].Journal of Jilin University:Information Science Edition,2011,29(3):278-283.
[16]李旭東,廖中浩,孟嬌,等.基于CMOS攝像頭的智能車(chē)控制系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2013,31(4):414-418.
LIXudong,LIAO Zhonghao,MENG Jiao,et al.Intelligent Vehicle Control System Design and Realization Based on CMOS Camera[J].Journal of Jilin University:Information Science Edition,2013,31(4):414-418.
[17]韻卓,陳龍冬,劉富,等.基于飛思卡爾單片機(jī)的智能電動(dòng)小車(chē)設(shè)計(jì)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2013,31(3):272-278.
YUN Zhuo,CHEN Longdong,LIU Fu,et al.Design of Intelligent Electric Vehicle Based on Freescale Microcontroller[J].Journal of Jilin University:Information Science Edition,2013,31(3):272-278.
[18]游余新.利用Mentor高層次綜合技術(shù)(Catapult Synthesis)快速實(shí)現(xiàn)復(fù)雜DSP算法[J].中國(guó)集成電路,2007(5):35-41.
YOU Yuxin.Implement Complex DSP Algorithms by Mentor High Level Synthesis Tool(Catapult Synthesis) [J].China Integrated Circuit,2007(5):35-41.
[19]謝正,張開(kāi)峰.基于Catapult C的DCT算法設(shè)計(jì)[J].信息化研究,2011,37(4):42-45.
XIE Zheng,ZHANG Kaifeng.Design of DCT Algorithms Based on Catapult C[J].Informatization Research,2011,37(4):42-45.
[20]MARCUS MJLLER H C S,F(xiàn)ENGLER W.From Control Design to FPGA Implementation,Technology and Engineering Applications of Simulink[M].Croatia:InTech,2012.
[21]苗立東,鄒廣德,石沛林,等.基于xPC的汽車(chē)測(cè)控系統(tǒng)的開(kāi)發(fā)[J].汽車(chē)工程,2008,30(3):235-238.
MIAO Lidong,ZOU Guangde,SHIPeilin,et al.Development of Vehicle Monitoring and Control System Based on xPC[J].Automotive Engineering,2008,30(3):235-238.
Hardware Design and Implementation of Electronic Throttle Controller Based on FPGA
XU Yuetinga,b,JIDongdongb,XU Fangb,CHEN Honga,b
(a.State Key Laboratory of Automotive Simulation and Control;
b.College of Communication Engineering,Jilin University,Changchun 130022,China)
In order tomeet the control performance requirements of ETCS(Electronic Throttle Control System),
such as fast computational performance,low-cost,miniaturization,F(xiàn)PGA(Field Programmable Gate Array)is adopted as the hardware implementation of controller and integral separation is added to mature PID
(Proportional,Integral,Differential)control algorithm.And the integral separation PID controller with Catapult C high-level synthesis tools is implemented based on FPGA full hardware solution.An integral separation PID controller on a FPGA chip is designed for ETCS.In addition,AD/DA acquisition board is designed to implement the data transmission between integral separation PID controller based on FPGA and electronic throttle.Finally,
tracking experiments of electronic throttle are performed and the results demonstrate the effectiveness of the designed integral separation PID controller based on FPGA.
electronic throttle control system;field programmable gate array;hardware implementation;integral separation proportional integral differential(PID)control algorithm;tracking experiments
TP273
A
1671-5896(2014)03-0229-10
2013-11-27
國(guó)家自然科學(xué)基金重點(diǎn)資助項(xiàng)目(61034001);973課題基金資助項(xiàng)目(2012CB821202);吉林省科技發(fā)展計(jì)劃重大專(zhuān)項(xiàng)基金資助項(xiàng)目(20116001)
許月亭(1989— ),女,長(zhǎng)春人,吉林大學(xué)碩士研究生,主要從事FPGA技術(shù)及汽車(chē)電子控制研究,(Tel)86-13674312243(E-mail)xuyuetingjilin@163.com;通訊作者:陳虹(1963— ),女,浙江桐鄉(xiāng)人,吉林大學(xué)教授,博士生導(dǎo)師,主要從事先進(jìn)控制理論及汽車(chē)電子控制研究,(Tel)86-13578797009(E-mail)chenh@jlu.edu.cn。
張潔)