摘 要: 針對(duì)汽車控制系統(tǒng)減少線束和較低成本的要求,提出了以集成CAN控制器的PIC18F258單片機(jī)為核心設(shè)計(jì)而成的汽車電動(dòng)車窗控制系統(tǒng),給出了系統(tǒng)主要硬件結(jié)構(gòu)和軟件設(shè)計(jì)流程。相對(duì)于傳統(tǒng)的點(diǎn)對(duì)點(diǎn)控制方式,不僅減少了車內(nèi)的線束、降低了成本,而且控制靈活、實(shí)時(shí)性強(qiáng)。試驗(yàn)表明,該系統(tǒng)工作正常、性能可靠,具有低成本、低功耗和易于維修等優(yōu)點(diǎn)。
關(guān)鍵詞: 汽車網(wǎng)絡(luò); CAN總線; PIC18F258; 電子控制單元
隨著汽車電子技術(shù)的發(fā)展,越來越多的電子產(chǎn)品裝載到汽車上,極大地提高了汽車的動(dòng)力性和舒適性,同時(shí)也增加了車內(nèi)布線的難度和成本。CAN(Controller Area Network)作為一種串行數(shù)據(jù)通信總線,由于具有良好的可靠性、實(shí)時(shí)性及靈活性,已經(jīng)成為國(guó)際標(biāo)準(zhǔn)(ISO11898)[1],在汽車電子系統(tǒng)中得到了廣泛的應(yīng)用。
目前,在CAN系統(tǒng)設(shè)計(jì)中,使用最多的是單片機(jī)外掛獨(dú)立的CAN控制器,如Philips公司的PCA82C200、SJA1000以及Intel公司的82526、82527等芯片。但是采用此類芯片的設(shè)計(jì)方案不利于系統(tǒng)集成化。本文以Microchip公司內(nèi)部集成的CAN模塊PIC18F258單片機(jī)為核心,介紹CAN總線電動(dòng)車窗控制系統(tǒng)的硬件電路結(jié)構(gòu)及軟件設(shè)計(jì)流程。由于PIC18F258單片機(jī)對(duì)CAN收發(fā)器PCA82C250進(jìn)行數(shù)據(jù)操作時(shí)只需要TXD、RXD兩條數(shù)據(jù)線,這樣就大大簡(jiǎn)化了硬件電路的設(shè)計(jì),提高了系統(tǒng)的可靠性。
1 電動(dòng)車窗控制系統(tǒng)通信網(wǎng)絡(luò)的構(gòu)成
電動(dòng)車窗控制系統(tǒng)通信網(wǎng)絡(luò)共有4個(gè)CAN節(jié)點(diǎn)電子控制器,分別是:左前門主控制器、右前門子控制器、左后門子控制器、右后門子控制器。采用CAN總線通信技術(shù)可以實(shí)現(xiàn)4個(gè)車門控制器之間的通信,如圖1所示。
操作主控制器除了可以控制駕駛員的車窗玻璃升降外,還可以通過CAN總線控制其余乘客車窗玻璃的升降,同時(shí)子控制器也可控制各自位置車窗玻璃的升降。主控制器由Microchip公司的內(nèi)部集成了CAN模塊的PIC18F258單片機(jī)、6N137高速光電耦合器、PCA82C250總線收發(fā)器等三個(gè)主要部分組成??紤]到設(shè)計(jì)成本和軟件編程的方便性,子控制器選用了與主控制器相同的芯片,且具有相同的硬件電路結(jié)構(gòu)。
2 功率驅(qū)動(dòng)芯片及其應(yīng)用電路
Motorola公司的功率驅(qū)動(dòng)芯片MC33486以其強(qiáng)大的功能和優(yōu)異的性能在汽車電子中得到了廣泛的應(yīng)用。此芯片的應(yīng)用模式為橋式結(jié)構(gòu)[2],芯片內(nèi)部有2個(gè)高端MOSFET驅(qū)動(dòng)管MOS1、MOS2,外接2個(gè)低端MOSFET驅(qū)動(dòng)管MOS3、MOS4組成一個(gè)完整的H橋,實(shí)現(xiàn)車窗電機(jī)的正、反向控制。同時(shí),利用Cur R端的電流鏡像功能可方便地實(shí)現(xiàn)過流保護(hù)和車窗的防夾功能,如圖2所示。
OUT1和OUT2是MC33486的兩個(gè)高端輸出引腳,直接驅(qū)動(dòng)車窗電機(jī)M。IN1和IN2受微控制器的控制。當(dāng)IN1為高電平‘1’,IN2為低電平‘0’時(shí),相應(yīng)的GLS1輸出低電平,GLS2輸出高電平,此時(shí)MOS1、MOS4導(dǎo)通,MOS2、MOS3截止。OUT1輸出正電壓而OUT2接地,車窗電機(jī)朝某一個(gè)方向運(yùn)轉(zhuǎn)。反之,當(dāng)IN1為低電平‘0’,IN2為高電平‘1’時(shí),相應(yīng)的GLS2輸出低電平,GLS1輸出高電平,此時(shí)MOS2、MOS3導(dǎo)通,MOS1、MOS4截止。OUT2輸出為正,OUT1接地,車窗電機(jī)反轉(zhuǎn),達(dá)到升降車窗玻璃的目的。此外,MC33486在待機(jī)模式下有非常低的靜態(tài)電流,在正常工作時(shí)的輸出電流為10 A,最大峰值電流為35 A,直流輸入電壓的范圍較寬,可達(dá)8 V~28 V。當(dāng)電壓高于28 V時(shí)芯片具有過壓保護(hù)功能。由于該器件性能完善,因而可減小電動(dòng)車窗控制器的體積,提高EMS(電磁兼容)特性。
3 CAN控制器硬件電路設(shè)計(jì)
對(duì)電動(dòng)車窗控制器硬件電路設(shè)計(jì)的總體要求是系統(tǒng)簡(jiǎn)單、容易實(shí)現(xiàn)、性能穩(wěn)定可靠,在滿足要求的情況下盡量降低成本。
CAN通信系統(tǒng)硬件電路主要由三部分組成[3]:PIC18F258單片機(jī)、6N137高速光電耦合器、PCA82C250總線收發(fā)器。電路原理如圖3所示。
PIC18F258是美國(guó)Microchip公司生產(chǎn)的內(nèi)部嵌有CAN總線控制器的高性能PIC系列單片機(jī),由于其超小型、低功耗、低成本、多品種的特點(diǎn),其應(yīng)用范圍十分廣泛。PIC18F258是集成了CAN模塊的微控制器,有著先進(jìn)的精簡(jiǎn)指令集構(gòu)架、增強(qiáng)型內(nèi)核、32級(jí)堆棧,片內(nèi)具有Flash程序存儲(chǔ)器、EEROM數(shù)據(jù)存儲(chǔ)器、自編程功能、在線調(diào)試器(ICD)和多種內(nèi)部、外部中斷源,并采用了程序和數(shù)據(jù)空間完全分開的“哈佛”結(jié)構(gòu)。這種結(jié)構(gòu)大大降低了PIC微控制器的總體成本,同時(shí)提高了運(yùn)行效率。在電路中,PIC18F258單片機(jī)是CAN總線接口電路的核心,主要完成CAN總線上數(shù)據(jù)的發(fā)送和接收,實(shí)現(xiàn)串行數(shù)據(jù)的分解及組合,保證通信的正常暢通。
PCA82C250是Philips公司的CAN總線接口芯片,是CAN控制器與物理總線之間的接口,提供對(duì)總線的差分發(fā)送和接收的功能,它與ISO11898標(biāo)準(zhǔn)完全兼容,有三種不同的工作方式,即高速、斜率控制和待機(jī),可以根據(jù)實(shí)際情況加以選擇,在本方案中選擇高速工作方式。該芯片引腳少,使用簡(jiǎn)單。CAN總線采用PCA82C250芯片作為與總線之間的接口,PCA82C250的CANH、CANL引腳各自通過一個(gè)電阻與CAN總線相連,電阻可以起到一定的限流作用,保護(hù)PCA82C250免受過流的沖擊。另外,CANH和CANL與地之間并聯(lián)兩個(gè)小電容,可以濾除總線上的高頻干擾和防電磁輻射。光電耦合器采用General Instrument公司生產(chǎn)的高速邏輯門輸出光電耦合器6N137,它的最大傳輸延遲時(shí)間是75 ns,典型值是46 ns,采用6N137高速光電耦合電路可以很好地實(shí)現(xiàn)總線上節(jié)點(diǎn)之間的電氣隔離,同時(shí)可提高系統(tǒng)的抗干擾能力和傳輸信號(hào)的能力。使用時(shí),光電耦合器的兩個(gè)電源VCC和V′CC必須采用電源隔離電路進(jìn)行完全隔離。
4 CAN通信系統(tǒng)軟件設(shè)計(jì)流程
軟件設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的關(guān)鍵。使用開發(fā)軟件MPLAB IDE、仿真器ICD 2,以及靈活簡(jiǎn)便的C語言。為了提高可靠性和可理解性[4],內(nèi)部軟件設(shè)計(jì)采用了模塊結(jié)構(gòu),主要包括主程序、系統(tǒng)初始化子程序、數(shù)據(jù)發(fā)送子程序、數(shù)據(jù)接收子程序和電機(jī)控制子程序。此外,還應(yīng)有中斷服務(wù)子程序、A/D采樣子程序、故障診斷子程序和終端子程序等。這里主要對(duì)系統(tǒng)初始化子程序和電機(jī)控制子程序進(jìn)行探討。
系統(tǒng)初始化子程序是系統(tǒng)設(shè)計(jì)工作中極為重要的部分,它是CAN總線系統(tǒng)正常工作的前提,關(guān)系到整個(gè)CAN系統(tǒng)能否正常工作。因此,初始化設(shè)計(jì)是一個(gè)重點(diǎn),主要包括CAN模塊工作方式的配置、接收濾波器的設(shè)置、接收屏蔽寄存器設(shè)置、波特率參數(shù)設(shè)置、發(fā)送優(yōu)先級(jí)設(shè)置和中斷允許寄存器設(shè)置等。初始化子程序流程如圖4所示。
對(duì)電動(dòng)車窗的控制可分為軟啟動(dòng)、滿PWM輸出、續(xù)流和停止4個(gè)階段。其中包括對(duì)電動(dòng)車窗“手動(dòng)/自動(dòng)”控制的判斷和處理、車窗上升到頂或下降到底的判斷和處理、車窗防夾的判斷和處理等[5],其工作流程如圖5所示。程序初始化完成后,在按鍵端口掃描到有上升或下降按鍵輸入的控制命令后,主程序調(diào)用電機(jī)控制子程序,車窗電機(jī)進(jìn)入PWM軟啟動(dòng)階段。PWM軟啟動(dòng)分為10步,每步20 ms,占空比從10%逐漸增加到100%。隨后電機(jī)進(jìn)入上升或下降的工作狀態(tài)[6]。電動(dòng)車窗采用PWM控制方式后,啟動(dòng)較為平穩(wěn),啟動(dòng)快速性好。
車窗的防夾功能是利用功率芯片MC33486的Cur R輸出端所具有的負(fù)載電流線性鏡像功能實(shí)現(xiàn)的。Cur R端能夠輸出與車窗電機(jī)負(fù)載電流Iload成比例的監(jiān)控電流ICur R,有如下數(shù)學(xué)關(guān)系:
將此電流轉(zhuǎn)化為電壓輸入到PIC單片機(jī)的A/D采樣端,能夠完成對(duì)車窗電機(jī)的控制,實(shí)現(xiàn)電動(dòng)車窗的防夾功能。
網(wǎng)絡(luò)化控制是現(xiàn)代汽車電子控制的發(fā)展趨勢(shì)。相對(duì)于傳統(tǒng)的控制方式,采用CAN總線的電動(dòng)車窗控制系統(tǒng)可以減少車內(nèi)的線束。同時(shí)可以通過軟件編程在不改變?cè)芯W(wǎng)絡(luò)硬件結(jié)構(gòu)的前提下,增加許多功能。PIC18F258單片機(jī)內(nèi)部集成了CAN控制器,可以在線編程。用該芯片設(shè)計(jì)而成的電動(dòng)車窗控制系統(tǒng)性能穩(wěn)定、工作可靠,經(jīng)實(shí)際裝車試驗(yàn),系統(tǒng)的各項(xiàng)功能都得到了很好的實(shí)現(xiàn),為系統(tǒng)的產(chǎn)業(yè)化實(shí)施奠定了基礎(chǔ)。
參考文獻(xiàn)
[1] 饒運(yùn)濤,鄒繼軍,王進(jìn)宏,等.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)(第二版)[M].北京:北京航空 航天大學(xué)出版社,2007.
[2] 杜琳,姜久春,潘磊.雙高端開關(guān)器件MC33486在車身電控系統(tǒng)中的應(yīng)用[J].電氣應(yīng)用,2005,24(7):122-124.
[3] 王軼,張凡.CAN總線技術(shù)在智能汽車系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息,2005,21(7):48-50.
[4] 肖朝暉,譚進(jìn),李山.混合動(dòng)力汽車中CAN總線技術(shù)的應(yīng)用[J].重慶大學(xué)學(xué)報(bào)(自然科學(xué)版),
2005,28(6):68-70.
[5] 趙鵬,王旭東.基于CAN總線的車門控制系統(tǒng)設(shè)計(jì)[J]. 哈爾濱理工大學(xué)學(xué)報(bào),2008,13(2):77-85.
[6] 吳志紅,陸科,朱元.一種高性價(jià)比的電動(dòng)車窗控制器設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)設(shè)計(jì).2009(1):43-45.