電動(dòng)車(chē)由于儲(chǔ)能設(shè)備容量有限,在運(yùn)行過(guò)程中對(duì)電能流向管理十分嚴(yán)格。精確的電能管理可以延長(zhǎng)車(chē)輛運(yùn)行里程,減少電池充電頻率,從而節(jié)約運(yùn)行成本。車(chē)載能量管理系統(tǒng)需要隨時(shí)監(jiān)控電池電壓、電機(jī)輸出功率以及其它設(shè)備的用電情況。同時(shí),電動(dòng)車(chē)電子控制系統(tǒng)的動(dòng)態(tài)信息必須具有實(shí)時(shí)性,各子系統(tǒng)需要將車(chē)輛的公共數(shù)據(jù)實(shí)時(shí)共享,如電機(jī)轉(zhuǎn)速、車(chē)輪轉(zhuǎn)換、油門(mén)踏板位置等。但不同控制單元的控制周期不同,數(shù)據(jù)轉(zhuǎn)換速度、各控制命令優(yōu)先級(jí)也不同,因此需要一種具有優(yōu)先權(quán)競(jìng)爭(zhēng)模式的數(shù)據(jù)交換網(wǎng)絡(luò),并且本身具有極高的通信速率。此外,作為一種載人交通工具,電動(dòng)汽車(chē)必須具有極高的運(yùn)行穩(wěn)定性,整車(chē)通訊系統(tǒng)必須具有很強(qiáng)的容錯(cuò)能力和快速處理能力。
德國(guó)Bosch公司為了解決現(xiàn)代車(chē)輛中眾多的控制和數(shù)據(jù)交換問(wèn)題,開(kāi)發(fā)出一種 CAN(Controller Area Network)現(xiàn)場(chǎng)總線通訊結(jié)構(gòu),廣泛應(yīng)用在常規(guī)燃油汽車(chē)上,如BENZ、BMW、PORSCHE.同時(shí),CAN總線也被認(rèn)為是電動(dòng)車(chē)最佳通訊結(jié)構(gòu),我國(guó)“863計(jì)劃”關(guān)于電動(dòng)汽車(chē)的說(shuō)明中已經(jīng)明確提出,新申報(bào)的電動(dòng)車(chē)開(kāi)發(fā)項(xiàng)目必須采用CAN總線通訊模式。
CAN總線結(jié)構(gòu)是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通訊網(wǎng)絡(luò)。圖1為一個(gè)典型的電動(dòng)汽車(chē)CAN總線結(jié)構(gòu)示意圖,包括整車(chē)動(dòng)力部分的主電機(jī)控制器、電池組管理系統(tǒng)、人機(jī)界面顯示系統(tǒng)等多個(gè)設(shè)備,這些子系統(tǒng)之間通過(guò)CAN進(jìn)行數(shù)據(jù)通訊和命令傳輸。每個(gè)節(jié)點(diǎn)設(shè)備都能夠在脫離CAN總線的情況下獨(dú)立完成自身系統(tǒng)的運(yùn)行,從而滿足車(chē)輛運(yùn)行安全性的需要。同時(shí),CAN總線也不會(huì)因?yàn)槟硞€(gè)設(shè)備的脫離而出現(xiàn)系統(tǒng)結(jié)構(gòu)崩潰的現(xiàn)象。
本文介紹的電動(dòng)車(chē)用三相逆變電源屬于圖1中的車(chē)載輔助逆變電源。稱為“輔助電源”是因?yàn)樗呢?fù)載為電動(dòng)車(chē)上的一些輔助交流電機(jī),如汽車(chē)轉(zhuǎn)向助力油泵、剎車(chē)氣泵、冷卻水循環(huán)中的水泵以及空調(diào)系統(tǒng)中的壓縮機(jī)等。對(duì)該三相逆變電源的工作要求是:正常運(yùn)行情況時(shí)獨(dú)立維持輔助電機(jī)的穩(wěn)定運(yùn)行,能夠根據(jù)上位機(jī)的指令適當(dāng)調(diào)整工作狀態(tài);在負(fù)載發(fā)生故障(如電機(jī)短路)時(shí)迅速關(guān)系輸出、安全關(guān)機(jī),同時(shí)能夠通過(guò)CAN總線向上位機(jī)和其它節(jié)點(diǎn)報(bào)告自身故障,引發(fā)車(chē)輛各系統(tǒng)的相關(guān)操作(例如:位于儀表臺(tái)上的人機(jī)界面顯示系統(tǒng)將立即顯示警告信息,報(bào)告車(chē)輛故障部位,并提示駕駛員減速;而整車(chē)能量管理系統(tǒng)則發(fā)出命令關(guān)閉輔助逆變電源的輸入,并將接收到的錯(cuò)誤代碼和當(dāng)前運(yùn)行參數(shù)進(jìn)行保存,便于維修人員進(jìn)行故障診斷)。
由此看出,雖然選擇一個(gè)通用變頻器進(jìn)行改裝可以實(shí)現(xiàn)車(chē)用三相逆變電源的基本功能,但是要做成支持CAN總線各種功能的智能化節(jié)點(diǎn)必須從底層進(jìn)行開(kāi)發(fā),直接選擇支持CAN總線接口的控制芯片,在控制程序中集成CAN通訊功能,適應(yīng)整車(chē)通訊的要求。
1 P8xC592芯片介紹
在電動(dòng)車(chē)用輔助逆變電源的設(shè)計(jì)中,控制電路不僅要支持CAN總線通訊,還要對(duì)負(fù)載電壓、電流等模擬量進(jìn)行檢測(cè),進(jìn)行各種邏輯判斷,并驅(qū)動(dòng)其它芯片完成三相逆變功能。因此簡(jiǎn)單選擇一個(gè)單獨(dú)的CAN控制器是不夠的,最方便的選擇是使用帶有在片CAN功能的控制器。
P8xC592是由PHILIPS公司開(kāi)發(fā)生產(chǎn)的8位微處理器,主要包括:
一個(gè)80C51中央處理單元(CPU)
兩個(gè)標(biāo)準(zhǔn)的16位定時(shí)/計(jì)數(shù)器
包括四個(gè)捕獲和三個(gè)比較寄存器的16位定時(shí)器/計(jì)數(shù)器
具有8路模擬量輸入的10位A/D變換器
兩路分辨率為8位的脈沖寬度調(diào)制輸出
具有兩級(jí)優(yōu)先權(quán)的15個(gè)中斷源
五組8位I/O端口和一組與A/D變換器模擬量輸入共用的8位輸入口
與內(nèi)部RAM進(jìn)行DMA數(shù)據(jù)傳送的CAN控制器
具有總線故障管理功能的1Mbps CAN控制器
與標(biāo)準(zhǔn)80C51兼容的全雙工UART
P8xC592共有68個(gè)管腳,其中包括6個(gè)8位I/O口,P0~P3與80C51相同,但P1可以用作一些特殊功能,包括4個(gè)捕獲輸入端、外部計(jì)數(shù)器輸入端、外部計(jì)數(shù)器復(fù)位輸入端和CAN接口的CTX0和CTX1輸出端。并行I/O口P4的功能與P1、P2和P3相同。P5口是不是有輸出功能的并行輸入口,主要用作A/D變換器的模擬量輸入端。
P8xC592內(nèi)含CAN控制器,包括為實(shí)現(xiàn)高性能串行網(wǎng)絡(luò)通信所必需的所有硬件,從而能夠控制通信流順利通過(guò)CAN協(xié)議的局域網(wǎng)。為了避免出現(xiàn)混亂,芯片中增加的CAN控制器對(duì)于CPU是作為能夠雙方獨(dú)立工作的存儲(chǔ)器映像外圍設(shè)備出現(xiàn)的,即可以把P8xC592簡(jiǎn)單設(shè)想為兩個(gè)獨(dú)立工作器件的集成體。如果關(guān)閉CAN控制器部分的功能,該芯片可以僅作為帶有模擬量A/D轉(zhuǎn)換的普通8位單片機(jī)使用。
啟用CAN控制器的功能,主要借助四個(gè)特殊功能寄存器(SPR)實(shí)現(xiàn),CPU對(duì)CAN控制器的控制及其訪問(wèn)都通過(guò)它們完成,接口結(jié)構(gòu)如圖2所示。這四個(gè)特殊功能寄存器分別為:(1)地址寄存器(CANADR),CPU通過(guò)CANADR讀/寫(xiě)CAN控制器的驗(yàn)收碼寄存器;(2)數(shù)據(jù)寄存器(CANDAT),CAN DAT對(duì)應(yīng)由CANADR指向的CAN控制器內(nèi)部寄存器;(3)控制寄存器(CANCON),它具有兩個(gè)功能,讀CANCON意味著訪問(wèn)CAN控制器的中斷寄存器,寫(xiě)CANCON意味著訪問(wèn)命令寄存器;(4)狀態(tài)寄存器(CANSTA),具有兩個(gè)功能,讀CANSTA是訪問(wèn)CAN控制器的狀態(tài)寄存器,寫(xiě)CANSTA是為后續(xù)的DMA傳輸設(shè)備內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM的地址。此外,DMA邏輯允許CAN控制器與CPU在片主RAM之間的高速數(shù)據(jù)交換。
在芯片初始化階段,CPU通過(guò)向CANCON和CANSTA寫(xiě)入內(nèi)容,完成CAN控制器的功能初始化。在實(shí)際通訊過(guò)程中,CPU則利用四個(gè)寄存器使CAN控制器接收和發(fā)送數(shù)據(jù)信息。
2 逆變電源系統(tǒng)硬件構(gòu)成
電動(dòng)車(chē)用輔助三相逆變電源從結(jié)構(gòu)上可以分為三個(gè)部分:(1)DC/DC多路電源——自動(dòng)適應(yīng)直流輸入端的大范圍電壓浮動(dòng),為系統(tǒng)的其它電路提供彼此隔離且電壓穩(wěn)定的低壓電源;(2)主控制板——檢測(cè)各路輸出的電壓、電流,根據(jù)運(yùn)行情況智能調(diào)整逆變電路的輸出,通過(guò)CAN總線參與整車(chē)數(shù)據(jù)通訊;(3)主功率逆變電路——由高度集成的三相逆變模塊IPM組成,完成主電路的逆變功能。
系統(tǒng)基本結(jié)構(gòu)圖如圖3所示,其中未標(biāo)出給系統(tǒng)各器件供電的DC/DC多路電源。
DC/DC多路電源采用開(kāi)關(guān)電源的標(biāo)準(zhǔn)設(shè)計(jì),配合具有不同變的多抽頭高頻變壓器,對(duì)外輸出5V、12V、20V等多路隔離直流電。同時(shí)考慮到電動(dòng)車(chē)電池組電壓的波動(dòng)范圍相對(duì)較大(充滿時(shí)為400V,使用過(guò)程中可能降低到280V),在設(shè)計(jì)中選擇了適當(dāng)?shù)碾娐方Y(jié)構(gòu),取得較好的輸入電壓適應(yīng)能力。
控制板是整個(gè)系統(tǒng)的核心,采用P8xC592單片機(jī)系統(tǒng)中無(wú)片內(nèi)ROM的P80C592、脈寬調(diào)制專用芯片SA8282、CAN總線收發(fā)器82C250以及主電路電壓、電流數(shù)據(jù)采集模塊等。
控制板通過(guò)SA8282專用芯片向三相逆變模塊IPM提供6路PWM信號(hào)。SA8282芯片由MITEL公司開(kāi)發(fā)生產(chǎn),其特點(diǎn)是控制簡(jiǎn)單、頻率精度高、運(yùn)行可靠性高,它支持標(biāo)準(zhǔn)8位MOTEL復(fù)用數(shù)據(jù)總線,可以方便地和單片機(jī)交換數(shù)據(jù)。單片機(jī)只需對(duì)芯片內(nèi)部的5個(gè)數(shù)據(jù)寄存器賦值,就可以完成對(duì)PWM波形輸出的初始化和實(shí)時(shí)控制。SA8282芯片為標(biāo)準(zhǔn)28腳雙列直插式封裝,管腳RPHT、RPHB、YPHT、YPHB、BPHT、BPHB輸出三相可獨(dú)立控制的TTL驅(qū)動(dòng)信號(hào),可對(duì)應(yīng)驅(qū)動(dòng)三相逆變橋上的六路IGBT.
將SA8282專用芯片與IPM連接后,P80C592只需要在啟動(dòng)時(shí)對(duì)其進(jìn)行初始化,三相輸出達(dá)到預(yù)定值后,SA8282即可以獨(dú)立驅(qū)動(dòng)IPM模塊。只有在調(diào)整PWM輸出時(shí),P80C592才需要對(duì)SA8282進(jìn)行控制。同時(shí),SA8282芯片的SET TRIP管腳能夠響應(yīng)IPM發(fā)出的故障信號(hào),迅速關(guān)斷所有PWM波形輸出,對(duì)逆變電路進(jìn)行快速保護(hù),并通過(guò)TRIP狀態(tài)輸出管理通知P80C592單片機(jī),確保系統(tǒng)安全。
分布于主電路直流輸入端和三相輸出端的數(shù)據(jù)采集模塊可對(duì)各路電壓、電流進(jìn)行采集,經(jīng)P80C592進(jìn)行A/D變換后保存到數(shù)據(jù)存儲(chǔ)器中,便于CPU判斷系統(tǒng)輸入/輸出是否正常,并進(jìn)行相應(yīng)操作。
CAN總線收發(fā)器82C250是CAN控制器和物理總線間的接口,最初為汽車(chē)高速通信設(shè)計(jì),具許多針對(duì)車(chē)輛應(yīng)用設(shè)計(jì)的結(jié)構(gòu)。其特點(diǎn)包括:有效減小汽車(chē)環(huán)境瞬間干擾對(duì)信號(hào)的影響,具有保護(hù)總線能力;防護(hù)電池與地之間發(fā)生短路;支持低電流待機(jī)方式等,因此十分適合電動(dòng)車(chē)輔助逆變電源的需要。將82C250與P80C592的CAN接口輸入、輸出端相連,便構(gòu)成了輔助逆變電源對(duì)外通訊的接口,如圖4所示。
3 逆變電源系統(tǒng)軟件設(shè)計(jì)
輔助三相逆變電源的控制軟件通過(guò)8051匯編語(yǔ)言編制,在完成其控制功能外,力求程序的合理與簡(jiǎn)化,以適應(yīng)電動(dòng)汽車(chē)對(duì)系統(tǒng)穩(wěn)定性和可靠性的要求,控制流程如圖5所示。
系統(tǒng)上電運(yùn)行后,單片機(jī)P80C952首先對(duì)SA8282芯片初始化寄存器進(jìn)行數(shù)據(jù)初始化,然后根據(jù)負(fù)載電機(jī)的特點(diǎn)執(zhí)行軟啟動(dòng)程序。當(dāng)三相輸出電壓達(dá)到預(yù)定值時(shí),三相逆變電源即進(jìn)入穩(wěn)定運(yùn)行狀態(tài)。此后控制程序?qū)⒀h(huán)檢測(cè)各線路的電壓、電流情況,根據(jù)情況修改SA8282控制寄存器參數(shù),調(diào)整PWM輸出,從而改變?nèi)噍敵?。例如,電?dòng)車(chē)運(yùn)行一段時(shí)間后,電池組電壓下降,導(dǎo)致逆變電源的三相輸出電壓低于設(shè)定值,P80C592檢測(cè)到該現(xiàn)象后,通過(guò)SA8282提高電壓輸出幅值,確保電源輸出的穩(wěn)定。
同時(shí),控制程序還將定期檢測(cè)數(shù)據(jù)存儲(chǔ)器中的控制參數(shù)。若整車(chē)控制系統(tǒng)通過(guò)CAN通訊修改了逆變電源的運(yùn)行參數(shù),P80C592將根據(jù)新的運(yùn)行參數(shù)調(diào)整輸出。
控制程序中的三個(gè)中斷程序分別為:數(shù)據(jù)采集程序、CAN總線通訊程序和故障處理程序。
數(shù)據(jù)采集程序通過(guò)芯片內(nèi)部計(jì)數(shù)器定時(shí)觸發(fā),對(duì)逆變電源的輸入、輸出線路進(jìn)行數(shù)據(jù)采集,經(jīng)模/數(shù)轉(zhuǎn)換后存入數(shù)據(jù)存儲(chǔ)器,交給CPU進(jìn)行運(yùn)行狀況判斷。
CAN總線通訊程序包含若干子程序,其基本程序結(jié)構(gòu)如圖6所示。當(dāng)通訊程序觸發(fā)后,P80C592的CAN控制器提據(jù)命令字執(zhí)行相關(guān)任務(wù)。當(dāng)上位機(jī)請(qǐng)求數(shù)據(jù)時(shí),將逆變電源的各項(xiàng)運(yùn)行參數(shù)傳輸給整車(chē)系統(tǒng);當(dāng)上位機(jī)查詢節(jié)點(diǎn)狀態(tài)時(shí),將當(dāng)前CAN節(jié)點(diǎn)狀態(tài)等數(shù)據(jù)發(fā)磅出去;當(dāng)上位機(jī)要求修改運(yùn)行參數(shù)時(shí),將接收的數(shù)據(jù)參數(shù)存入數(shù)據(jù)存儲(chǔ)器。
故障處理程序具有最高的中斷優(yōu)先權(quán),即將P80C592的外部中斷0(INT0)管腳與SA8282芯片的TRIP管腳相連。當(dāng)逆變電路發(fā)生故障時(shí),IPM會(huì)發(fā)出故障信號(hào)給SA8282芯片,由后者在第一時(shí)間關(guān)斷PWM輸出,并向P80C592發(fā)出中斷信號(hào),觸發(fā)故障處理程序。故障處理程序首先將SA8282關(guān)閉;然后通過(guò)CAN總線通知上位機(jī)有故障發(fā)生,并將故障代碼和當(dāng)前系統(tǒng)運(yùn)行參數(shù)寫(xiě)入報(bào)文同時(shí)發(fā)送;最后控制單片機(jī)將整個(gè)系統(tǒng)關(guān)閉,實(shí)現(xiàn)安全關(guān)機(jī)。
CAN通信網(wǎng)絡(luò)的引入為電動(dòng)車(chē)的全局優(yōu)化控制提供了條件,車(chē)輛的每個(gè)子系統(tǒng)都因此成為整車(chē)控制中的智能節(jié)點(diǎn)。采用集成CAN控制器的P8xC592單片機(jī)作為控制核心,結(jié)合SA8282專用PWM波形發(fā)生芯片設(shè)計(jì)出的電動(dòng)車(chē)用輔助三相逆變電源,不僅安全穩(wěn)定性高,還能夠充分參與整車(chē)的數(shù)據(jù)交換和控制。對(duì)于采用不同CAN總線協(xié)議的電動(dòng)車(chē)輛,只需適當(dāng)修改控制程序中有關(guān)CAN通訊的部分程序段,就可以順利接入整車(chē)系統(tǒng),使該逆變電源具有更強(qiáng)的通用性。