彭朝亮 馮國(guó)勝 李曉楠 張小榮
(石家莊鐵道大學(xué))
隨著汽車數(shù)量的顯著增加,化石燃料的消耗也不斷的增加,同時(shí)帶來(lái)汽車尾氣的大量排放,給環(huán)境帶來(lái)沉重的負(fù)擔(dān),因此人們也更加重視能源的高效利用和新型汽車的研發(fā)?;旌蟿?dòng)力汽車具有節(jié)能和低排放等特點(diǎn)[1]。文章針對(duì)混合動(dòng)力汽車狀態(tài)實(shí)時(shí)監(jiān)測(cè)與通信布線,解決了電子控制系統(tǒng)在電子元器件過(guò)多的情況下的內(nèi)部線路布置、多路采集及通信問(wèn)題,并運(yùn)用與上位機(jī)實(shí)時(shí)通信,實(shí)現(xiàn)了快捷有效地顯示采集的狀態(tài)信息。充分利用CAN總線網(wǎng)絡(luò)實(shí)時(shí)性好、可靠性高及高性能的特點(diǎn)[2],提升了混合動(dòng)力汽車多狀態(tài)的實(shí)時(shí)監(jiān)測(cè)性能。
CAN總線是一種串行數(shù)據(jù)通信協(xié)議,其通信接口中集成了CAN協(xié)議下OSI模型的最下面2層,即數(shù)據(jù)鏈路層和物理層,應(yīng)用CAN2.0B協(xié)議下的29位標(biāo)識(shí)符的幀通信,如圖1所示,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)及優(yōu)先級(jí)判別等項(xiàng)工作。CAN總線可以多種方式工作[3],網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,并且可分成不同的優(yōu)先級(jí),滿足不同的實(shí)時(shí)要求[4]。文章應(yīng)用2塊DSP2812芯片作為CAN總線通信間傳輸?shù)墓?jié)點(diǎn),如圖2所示。
圖2 CAN總線通信的物理連接關(guān)系圖
混合動(dòng)力汽車狀態(tài)監(jiān)測(cè)系統(tǒng)主要包括主控單元、信號(hào)采集模塊、CAP捕獲模塊、eCAN通信模塊及SCI串口通信等模塊,實(shí)現(xiàn)數(shù)據(jù)采集和CAN通信,同時(shí)該系統(tǒng)應(yīng)用LabVIEW作為上位機(jī)軟件,與主控單元DSP2812之間通過(guò)串口通信實(shí)現(xiàn)數(shù)據(jù)的傳輸,從而實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)信號(hào)和工作狀態(tài)的實(shí)時(shí)監(jiān)測(cè)。
狀態(tài)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)采用CAN總線通信,用2塊DSP2812作為控制芯片,分別作為發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn),進(jìn)行CAN總線數(shù)據(jù)通信。本系統(tǒng)中發(fā)送節(jié)點(diǎn)采集混合動(dòng)力汽車電池組和發(fā)動(dòng)機(jī)信號(hào),通過(guò)設(shè)置eCAN模塊、3路發(fā)送電流、電壓及轉(zhuǎn)速數(shù)據(jù)。接收節(jié)點(diǎn)獲取數(shù)據(jù),然后通過(guò)SCI模塊串口通信發(fā)至上位機(jī)上,并用LabVIEW軟件界面實(shí)時(shí)顯示,完成設(shè)計(jì)和搭建混合動(dòng)力汽車狀態(tài)監(jiān)測(cè)系統(tǒng)。最后通過(guò)試驗(yàn)驗(yàn)證該系統(tǒng)能夠?qū)崿F(xiàn)CAN總線通信下的實(shí)時(shí)狀態(tài)監(jiān)測(cè)。本系統(tǒng)的整體設(shè)計(jì)框圖,如圖3所示。
圖3 基于CAN總線狀態(tài)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)框圖
文章中控制系統(tǒng)的主控芯片采用了DSP2812,是功能強(qiáng)大的TMS320F2812的32位定點(diǎn)DSP,它不僅具有高速的數(shù)字信號(hào)處理能力,而且還具有完善的事件管理能力和嵌入式控制功能,因此被廣泛地應(yīng)用在各種工業(yè)控制場(chǎng)合。DSP的最小系統(tǒng)指的是由DSP正常工作所必要的硬件系統(tǒng),包括時(shí)鐘電路、電源電路、復(fù)位電路、JTAG接口電路及其他硬件接口電路[3]。利用DSP2812芯片的內(nèi)部振蕩器構(gòu)成時(shí)鐘電路,在DSP2812芯片的X1和X2/CLKIN引腳之間加入一個(gè)晶振,選用30 MHz的無(wú)源晶振,配合DSP內(nèi)部鎖相環(huán)PLL模塊使能,可達(dá)到150 MHz的主頻[5]。DSP的最小系統(tǒng)結(jié)構(gòu)圖,如圖4所示。本系統(tǒng)根據(jù)功能需要,其他硬件接口分別連接ADC采集模塊、CAP捕獲模塊、eCAN通信模塊及SCI串口通信等模塊外設(shè),以便完成信號(hào)采集與通信。
圖4 DSP2812最小系統(tǒng)結(jié)構(gòu)圖
由于DSP2812芯片內(nèi)嵌了CAN控制器模塊,因此只需要配CAN收發(fā),用作eCAN模塊與外部總線的物理接口電路即可[6]。總線上的CAN信號(hào)通過(guò)CAN物理接口上的CANL和CANH兩端接入系統(tǒng),輸入到CAN收發(fā)器內(nèi),并得到DSP能夠識(shí)別的TTL信號(hào),從CAN收發(fā)器D和R端分別輸出,最終輸入到DSP2812上的CANTX和CANRX端。按照上面原理圖將2個(gè)DSP板的CAN總線處對(duì)應(yīng)連接在一起就可以實(shí)現(xiàn)CAN的互發(fā)通信了,如圖5所示。
圖5 CAN總線通訊接口電路圖
串行通信接口SCI,具有接收和發(fā)送2根信號(hào)線的異步串口。DSP2812內(nèi)部具有SCIA和SCIB 2個(gè)相同的SCI模塊,每一個(gè)SCI模塊都各有一個(gè)接收器和發(fā)送器,支持CPU與采用標(biāo)準(zhǔn)格式的異步外圍設(shè)備之間進(jìn)行數(shù)字通信。本系統(tǒng)設(shè)計(jì)RS-232接口作為SCI模塊物理接口,RS-232是個(gè)人計(jì)算機(jī)上的通訊接口之一,以9個(gè)引腳串口通信搭建,完成上位機(jī)LabVIEW軟件與DSP2812中SCI串口模塊的通信連接,如圖6所示。
圖6 RS-232串口通信接口電路圖
混合動(dòng)力汽車狀態(tài)監(jiān)測(cè)系統(tǒng)主要是采集汽車的實(shí)時(shí)信號(hào),并進(jìn)行CAN總線通信。準(zhǔn)確地采集汽車的電壓、電流及轉(zhuǎn)速等信號(hào)是系統(tǒng)正常運(yùn)行的基礎(chǔ)。設(shè)計(jì)采集模塊與信號(hào)調(diào)理電路,是保證通信準(zhǔn)確的關(guān)鍵。在DSP2812中,包含了一個(gè)具有16通道12位分辨率流水線結(jié)構(gòu)的AD轉(zhuǎn)換器[5]。ADC模塊的模擬電壓輸入范圍是0~3 V,分辨率高且要求精準(zhǔn),所以在進(jìn)行硬件設(shè)計(jì)時(shí),增添二級(jí)濾波電路,以保證過(guò)濾干擾,準(zhǔn)確采集數(shù)據(jù);增添過(guò)壓保護(hù)電路,以增加整套系統(tǒng)關(guān)于采集電壓電流方面的安全性。如圖7a和圖7b所示。
DSP2812內(nèi)部EV模塊中的捕獲單元(CAP),其功能是捕獲外部輸入方波信號(hào)的上升沿或下降沿,即對(duì)信號(hào)高低電平的變換時(shí)刻產(chǎn)生動(dòng)作,捕獲單元通過(guò)記錄信號(hào)變化的間隔和個(gè)數(shù),結(jié)合軟件算法完成對(duì)輸入信號(hào)的測(cè)量。在本設(shè)計(jì)中,圖7示出發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)的調(diào)理電路,該電路通過(guò)光電耦合器,實(shí)現(xiàn)當(dāng)輸入端為高電平時(shí),輸出端為0;當(dāng)輸入端為低電平時(shí),輸出端為3.3 V,經(jīng)調(diào)理后的信號(hào)直接輸入到DSP的捕獲單元接線端,如圖7c所示。
圖7 發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)調(diào)理電路圖
混合動(dòng)力汽車狀態(tài)監(jiān)測(cè)系統(tǒng)的實(shí)現(xiàn),主要功能在2塊DSP2812的實(shí)現(xiàn),分別作為CAN總線的采集發(fā)送節(jié)點(diǎn)和數(shù)據(jù)接收節(jié)點(diǎn)。在Code Composer Studio 3.3開(kāi)發(fā)環(huán)境下設(shè)計(jì)編寫(xiě)2個(gè)程序[5]。采集發(fā)送節(jié)點(diǎn)DSP2812上運(yùn)行的CAN-send程序,應(yīng)用AD采集模塊、CAP捕獲模塊及eCAN通信模塊。接收節(jié)點(diǎn)DSP2812上運(yùn)行的CAN-accept程序,應(yīng)用eCAN通信模塊和SCI串口通信,編寫(xiě)LabVIEW串口與顯示程序,完成信息接受與上位機(jī)LabVIEW串口通信,實(shí)現(xiàn)實(shí)時(shí)顯示。
DSP2812集成了CAN總線模塊,按照其規(guī)定對(duì)相關(guān)的寄存器進(jìn)行設(shè)定,即可完成數(shù)據(jù)傳輸[2]。編寫(xiě)CAN-send流程圖,如圖8所示。定義8bit 3路信號(hào)傳輸,用來(lái)傳輸電池組電流電壓和發(fā)動(dòng)機(jī)的轉(zhuǎn)速。郵箱1~3設(shè)定為發(fā)送郵箱,設(shè)定好ID和數(shù)據(jù)位數(shù),如表1所示。同時(shí)設(shè)置AD采集模塊和CAP捕獲單元,完成對(duì)電流電壓和轉(zhuǎn)速的采集。AD轉(zhuǎn)換器將模擬量轉(zhuǎn)換成可供處理器識(shí)別進(jìn)而進(jìn)行控制的數(shù)字量,設(shè)置2路AD采集,分別為adc[0]和adc[1],分別儲(chǔ)存電壓和電流,傳遞給CAN總線寄存器。轉(zhuǎn)速測(cè)量模塊,以T型法測(cè)速為原理,脈沖信號(hào)傳輸給DSPF2812的輸入捕獲單元,運(yùn)用DSP2812事件管理器EVA模塊的通用計(jì)數(shù)器(T1)在1個(gè)周期內(nèi)對(duì)已知頻率的高頻時(shí)鐘脈沖進(jìn)行計(jì)數(shù),最后通過(guò)計(jì)算得到轉(zhuǎn)速值。通過(guò)CAN模塊設(shè)置,將電壓、電流及轉(zhuǎn)速數(shù)據(jù)分別寫(xiě)入到郵箱1~3,然后啟動(dòng)發(fā)送(TransSignal=1為發(fā)送信號(hào)),實(shí)現(xiàn)CAN發(fā)送通信。
圖8 CAN發(fā)送節(jié)點(diǎn)程序流程圖
表1 CAN通信郵箱ID和數(shù)據(jù)長(zhǎng)度
(待續(xù))