秦輝
合肥工業(yè)大學(xué)微電子學(xué)院,安徽合肥,230002
汽車行業(yè)是碳排放的主要源頭之一,近幾年,國家在政策上積極推進(jìn)新能源汽車尤其是電動汽車的發(fā)展,目的是減少燃油車的數(shù)量,進(jìn)而減少對化石燃料的使用,減少碳排放[1]。新能源汽車的主要核心部件為電池、電機(jī)和電機(jī)控制器。電機(jī)控制器是連接電池和電機(jī)的關(guān)鍵部件,高安全性的電機(jī)控制器對新能源汽車的安全性至關(guān)重要。傳統(tǒng)新能源電機(jī)控制器采用數(shù)字信號處理器(Digital Signal Processor,DSP)作為控制核心,隨著對電機(jī)控制要求的提高,控制算法越加復(fù)雜,尤其是功能安全需求的提出,使得采用DSP為核心的電機(jī)控制出現(xiàn)負(fù)載率過高和部分保護(hù)功能處理時(shí)間較長的問題。針對類似情況,許多電機(jī)控制器廠家漸漸將現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)引入電機(jī)控制系統(tǒng),以提升電機(jī)控制器系統(tǒng)的運(yùn)算速度和提高系統(tǒng)安全性能[2-3]。
運(yùn)行中的電機(jī)控制器出現(xiàn)故障時(shí),需要根據(jù)故障的不同類型,采取不同故障保護(hù)方式,實(shí)現(xiàn)電機(jī)控制器在出現(xiàn)故障的情況下整車運(yùn)行進(jìn)入安全模式,進(jìn)而實(shí)現(xiàn)安全停車。新能源電動汽車的安全模式分為兩大類:一類為驅(qū)動封波模式(Freewheeling模式),即驅(qū)動逆變單元的六個(gè)橋臂全部關(guān)閉,防止在出現(xiàn)故障時(shí)產(chǎn)生未知大扭矩,加重整車損害;另一類為主動短路模式(Active Short Circuit,ASC),主動短路模式分為上主動短路和下主動短路,上主動短路模式指三相上半橋臂的IGBT全開通,三相下半橋臂的IGBT全關(guān)斷,下主動短路模式指三相下半橋臂的IGBT全開通,三相上半橋臂的IGBT全關(guān)斷[4]。
本文主要研究基于DSP+FPGA實(shí)現(xiàn)在電機(jī)控制器出現(xiàn)故障的情況下,整車進(jìn)入安全模式的實(shí)現(xiàn)方法,最后利用臺架測試,驗(yàn)證了基于FPGA開發(fā)的電機(jī)控制系統(tǒng)故障保護(hù)的性能。
基于FPGA構(gòu)成的電機(jī)控制器故障處理單元,如圖1所示。FPGA故障處理單元通過SPI通信實(shí)現(xiàn)與控制單元進(jìn)行信息交互??刂茊卧ㄟ^SPI通信向FPGA故障處理單元配置驅(qū)動PWM波形死區(qū)時(shí)間,用于設(shè)置逆變驅(qū)動單元死區(qū)時(shí)間,在確保逆變驅(qū)動單元在正常工作的同時(shí),避免出現(xiàn)上下橋臂直通的概率,提供系統(tǒng)穩(wěn)定性;FPGA故障處理單元通過SPI通信向控制單元上傳FPGA軟件版本號、故障信息和驅(qū)動狀態(tài)等信息,便于控制單元了解FPGA故障處理單元的工作狀態(tài)及系統(tǒng)整體的故障類型及處理機(jī)制。FPGA故障處理單元接收來自控制單元的六路驅(qū)動信號,并根據(jù)SPI通信接收的死區(qū)時(shí)間,對收到的六路驅(qū)動信號進(jìn)行調(diào)理,并將調(diào)理后的六路驅(qū)動信號傳輸?shù)侥孀凃?qū)動單元,控制IGBT模塊工作。信號濾波模塊實(shí)現(xiàn)對故障信號和故障復(fù)位信號的接收和處理功能,其處理后的故障信號(故障信號標(biāo)注位)用于控制六路驅(qū)動波形輸出狀態(tài)。時(shí)鐘監(jiān)控模塊用于接收外部時(shí)鐘和判斷外部時(shí)鐘是否滿足要求。
圖1 系統(tǒng)功能框圖
時(shí)鐘監(jiān)控模塊用于生成內(nèi)部時(shí)鐘和監(jiān)控外部輸入時(shí)鐘。檢測外部輸入時(shí)鐘的頻率是否滿足設(shè)計(jì)要求,當(dāng)外部輸入時(shí)鐘符合設(shè)計(jì)要求時(shí),以外部輸入時(shí)鐘為FPGA故障處理單元的參考時(shí)鐘,否則切換為FPGA內(nèi)部時(shí)鐘。FPGA內(nèi)部產(chǎn)生一個(gè)頻率為3.9~5.3MHz參考時(shí)鐘信號,用于監(jiān)控外部輸入時(shí)鐘,當(dāng)外部時(shí)鐘信號處于合理范圍內(nèi)(4.5~5.5MHz,可配置)時(shí),使用外部時(shí)鐘信號;當(dāng)外部時(shí)鐘信號不處于合理范圍內(nèi)時(shí),則使用FPGA內(nèi)部時(shí)鐘頻率作為FPGA故障處理單元的運(yùn)行時(shí)鐘,同時(shí)鎖存時(shí)鐘故障指示信號。即FPGA內(nèi)部時(shí)鐘使能信號oscen高電平時(shí),系統(tǒng)使用FPGA內(nèi)部時(shí)鐘;FPGA內(nèi)部時(shí)鐘使能信號oscen低電平時(shí),系統(tǒng)使用輸出外部時(shí)鐘。
時(shí)鐘監(jiān)控模塊功能流程如圖2所示。當(dāng)握手信號有效后,進(jìn)入時(shí)鐘監(jiān)控功能。先對外部時(shí)鐘信號進(jìn)行分頻處理,通過內(nèi)部時(shí)鐘信號的邊沿跳變方式,檢測分頻后PWM信號的高電平(低電平)長度,當(dāng)內(nèi)部時(shí)鐘信號邊沿跳變的次數(shù)在設(shè)定閾值范圍內(nèi)時(shí),則認(rèn)為外部時(shí)鐘滿足使用要求,采用外部時(shí)鐘作為FPGA故障處理單元運(yùn)作時(shí)鐘;反之,采用內(nèi)部時(shí)鐘作為FPGA故障處理單元的運(yùn)作時(shí)鐘。
圖2 時(shí)鐘監(jiān)控模塊功能流程圖
首先對SPI通信片選信號CS進(jìn)行檢測,當(dāng)CS為低電平時(shí),標(biāo)志位CS_N_Flag置1,CS為高電平時(shí),標(biāo)志位CS_P_Flag置1;當(dāng)CS_A_Flag為1后開始檢測通信,CLK高電平后第二個(gè)全局時(shí)鐘開始發(fā)送MRST,由高位至低位發(fā)送數(shù)據(jù),CLK低電平后第二個(gè)全局時(shí)鐘開始接收MTSR。SPI通信為32位、500kHz。在片選信號CS邊沿跳變判斷通信故障,若通信數(shù)據(jù)≥1且<32位,則SPI通信故障信號SPI_Err輸出低電平,反之輸出高電平,并在下一次片選信號有效且第一個(gè)通信時(shí)鐘有效時(shí)清除故障,重新進(jìn)行判斷,如圖3所示。
圖3 SPI 通信模塊功能流程圖
信號濾波處理模塊實(shí)現(xiàn)對接收到的信號進(jìn)行防抖濾波處理。當(dāng)檢測到類似過流故障信號和過壓故障信號之類的故障信號時(shí),F(xiàn)PGA軟件會執(zhí)行“故障信號處理”流程,如圖4所示,在時(shí)鐘下降沿時(shí)刻,判斷所接收到的信號電平,當(dāng)電平為故障電平時(shí),對故障電平進(jìn)行延遲濾波處理,若延遲濾波處理期間,檢測到的信號的電平均為故障電平,則判斷為真實(shí)故障,將故障標(biāo)志位置位,并鎖存故障信息;僅當(dāng)檢測到故障復(fù)位信號或故障清零信號后,解除故障信息的鎖存,對應(yīng)的故障標(biāo)志位置低。
圖4 故障信號檢測流程圖
在信號濾波處理模塊檢測到為非故障信號時(shí),執(zhí)行“其他信號處理流程”,如圖5所示。信號濾波處理模塊對檢測到的信號進(jìn)行有效電平判斷,當(dāng)檢測到的為有效電平后,對有效電平進(jìn)行延遲濾波處理,若在延遲濾波處理期間,信號電平均為有效電平,位置對應(yīng)信號標(biāo)志位,反之,則標(biāo)志信號無效,信號標(biāo)志位置低。
圖5 其他信號檢測流程圖
驅(qū)動調(diào)制模塊用于對控制單元發(fā)出的IGBT模塊的六路驅(qū)動波形增加相匹配的死區(qū)時(shí)間,防止IGBT模塊在工作過程中出現(xiàn)上下橋臂直通,此模塊主要執(zhí)行死區(qū)保護(hù)功能,如圖6所示。當(dāng)標(biāo)志位CS_A_Flag和CS_P_Flag同時(shí)為1時(shí),啟動死區(qū)時(shí)間處理,F(xiàn)PGA程序默認(rèn)最小死區(qū)時(shí)間為1.5us,控制單元通過SPI通信設(shè)定系統(tǒng)執(zhí)行的死區(qū)時(shí)間,若控制單元設(shè)定的死區(qū)時(shí)間小于1.5us,則系統(tǒng)實(shí)際執(zhí)行的死區(qū)時(shí)間為1.5us;若控制單元設(shè)定的死區(qū)時(shí)間大于1.5us,則系統(tǒng)實(shí)際執(zhí)行的死區(qū)時(shí)間為控制單元設(shè)定的死區(qū)時(shí)間。
圖6 U 相PWM 調(diào)整流程圖
驅(qū)動逆變單元的六路PWM控制信號為經(jīng)過驅(qū)動調(diào)理模塊進(jìn)行死區(qū)限制的驅(qū)動PWM信號。M0、M1用來表示驅(qū)動狀態(tài),通過SPI通信傳輸給控制單元。定義三相電流過流故障、上橋臂短路故障、下橋臂短路故障、上橋臂欠壓故障、下橋臂欠壓故障低電平有效,母線過壓故障高電平有效,用于信號濾波處理模塊對故障信號電平的判斷。握手信號有效之前FPGA進(jìn)入全關(guān)斷;即,F(xiàn)PGA在握手信號有效之前,不響應(yīng)控制單元的指令,不執(zhí)行故障處理機(jī)制。當(dāng)握手信號由低電平跳變?yōu)楦唠娖角页掷m(xù)一定時(shí)間有效。FPGA故障處理單元開始檢測故障信號電平,在檢測到有效的故障信號電平后,對檢測到的故障信號的有效電平進(jìn)行濾波處理,并將相應(yīng)的故障標(biāo)志信號置位,然后驅(qū)動調(diào)理模塊根據(jù)故障標(biāo)志位信號的不同輸出不同的PWM波形,使電機(jī)控制器系統(tǒng)進(jìn)入不同的安全模式,如圖7所示。
圖7 FPGA 故障保護(hù)流程圖
基于系統(tǒng)的功能需求,針對FPGA單元功能特性開展故障注入測試,驗(yàn)證在控制器單體和整機(jī)臺架測試兩種測試環(huán)境下故障保護(hù)機(jī)制設(shè)置的合理性及故障保護(hù)的時(shí)效性。
基于開發(fā)功能驗(yàn)證流程,在單控制板狀態(tài)下對FPGA故障處理單元的保護(hù)功能特性進(jìn)行故障注入測試。驗(yàn)證在不同故障發(fā)生時(shí),F(xiàn)PGA處理單元輸出的六路驅(qū)動波形情況,進(jìn)而判斷系統(tǒng)進(jìn)入何種故障安全保護(hù)模式,檢驗(yàn)FPGA故障處理單元功能狀態(tài)的同時(shí),關(guān)注不同模塊的處理時(shí)間以及整個(gè)FPGA故障處理單元的動作之間是否符合設(shè)計(jì)需求。為了盡可能地模擬正常運(yùn)行狀態(tài)下電機(jī)控制系統(tǒng)的工作狀態(tài),在整個(gè)測試過程中,確??刂破飨到y(tǒng)處于強(qiáng)制開關(guān)管狀態(tài),即逆變驅(qū)動單元在軟件的控制下處于工作狀態(tài)。通過向FPGA故障處理單元故障檢測引腳施加不同的電平,模擬FPGA故障處理單元接收故障信號,同時(shí)通過示波器監(jiān)控FPGA故障處理單元任意一種驅(qū)動波形的狀態(tài),觀察故障注入后驅(qū)動波形的輸出情況,如圖8和圖9所示。
圖8 高速狀態(tài)下故障模式測試圖
圖9 低速狀態(tài)下故障模式測試圖
不同故障注入,系統(tǒng)的保護(hù)機(jī)制如表1所示。
表1 單板系統(tǒng)故障注入測試統(tǒng)計(jì)
通過電機(jī)控制器單體故障注入測試結(jié)果可知,在不同類型的故障注入時(shí),逆變驅(qū)動單元進(jìn)入相應(yīng)故障安全狀態(tài),且故障保護(hù)邏輯滿足FPGA故障處理單元設(shè)計(jì)要求。
在測功機(jī)臺架上進(jìn)入故障注入測試。根據(jù)項(xiàng)目電機(jī)功率,要求測功機(jī)功率大于250kW,驗(yàn)證電機(jī)控制器系統(tǒng)在滿功率運(yùn)行工況下,分別出現(xiàn)三相過流、母線過壓、上橋驅(qū)動類故障和下橋驅(qū)動類故障時(shí),系統(tǒng)對應(yīng)采取的保護(hù)工作狀態(tài)。依據(jù)測試結(jié)果,判斷FPGA故障處理單元的故障處理機(jī)制是否滿足安全保護(hù)要求。
依據(jù)不同故障類型的產(chǎn)生的機(jī)理,在測功機(jī)臺架模擬不同故障觸發(fā)情況,通過示波器監(jiān)控對應(yīng)信號情況和軟件上位機(jī)監(jiān)控上報(bào)的故障類型,如圖10和圖11所示,分別表示在低速和高速工況下系統(tǒng)對過流故障采取的保護(hù)策略。
圖10 2000rpm 轉(zhuǎn)速下,觸發(fā)過流故障,逆變驅(qū)動單元進(jìn)入Freewheeling 模式
圖11 4000rpm 轉(zhuǎn)速下,觸發(fā)過流故障,逆變驅(qū)動單元進(jìn)入下橋ASC 狀態(tài)
臺架故障模擬測試結(jié)果如表2所示。
表2 測功機(jī)臺架系統(tǒng)故障注入測試統(tǒng)計(jì)
根據(jù)測功機(jī)臺架測試結(jié)果可知,系統(tǒng)在發(fā)生故障時(shí),系統(tǒng)能夠進(jìn)入相應(yīng)的安全保護(hù)模式,滿足FPGA功能設(shè)計(jì)要求。
目前新能源電動汽車處于發(fā)展高速期,汽車的安全保護(hù)問題是當(dāng)今新能源汽車發(fā)展的重點(diǎn)研究課題。采用DSP+FPGA模式電機(jī)控制器系統(tǒng)保護(hù)方案逐漸成為主流,此方案不僅解決了DSP運(yùn)行空間不足問題,而且使用FPGA構(gòu)成的故障處理單元也提高了控制器系統(tǒng)的集成程度,減少分立元器件使用,優(yōu)化BOM清單。同時(shí),基于FPGA構(gòu)建的故障保護(hù)機(jī)制在實(shí)現(xiàn)各類故障保護(hù)動作時(shí)間可配置的同時(shí),也有效地規(guī)避系統(tǒng)保護(hù)測試對DSP的依賴程度,防止DSP“跑飛”時(shí)保護(hù)策略無法正常執(zhí)行,也為后期構(gòu)建電機(jī)控制器整體功能安全方案做準(zhǔn)備。當(dāng)然如何能夠更好地發(fā)揮FPGA在電機(jī)控制器系統(tǒng)中的重要作用,需要匹配不同電機(jī)系統(tǒng)進(jìn)行反復(fù)的調(diào)試以及搭載整車運(yùn)行工況制定合理的控制保護(hù)策略。