《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于ARM的汽車電子控制系統(tǒng)單元設(shè)計(jì)
基于ARM的汽車電子控制系統(tǒng)單元設(shè)計(jì)
中國(guó)自動(dòng)化網(wǎng)
摘要: 隨著電子控制系統(tǒng)單元(ECU)在汽車上廣泛應(yīng)用,汽車電子化程度越來越高。電控系統(tǒng)的增加雖然提高了汽車的動(dòng)力性、經(jīng)濟(jì)性和舒適性,但隨之增加的復(fù)雜電路,必然導(dǎo)致車身布線龐大而且復(fù)雜,安裝空間短缺。同時(shí),為了提高電控單元信息利用率,要求大批的數(shù)據(jù)信息能在不同的電子單元間共享,汽車綜合控制系統(tǒng)中大量的控制信號(hào)也需要實(shí)時(shí)交換,不同功能電子控制系統(tǒng)單元間的數(shù)據(jù)通信變得越來越重要。
Abstract:
Key words :

隨著電子控制系統(tǒng)單元(ECU)在汽車上廣泛應(yīng)用,汽車電子化程度越來越高。電控系統(tǒng)的增加雖然提高了汽車的動(dòng)力性、經(jīng)濟(jì)性和舒適性,但隨之增加的復(fù)雜電路,必然導(dǎo)致車身布線龐大而且復(fù)雜,安裝空間短缺。同時(shí),為了提高電控單元信息利用率,要求大批的數(shù)據(jù)信息能在不同的電子單元間共享,汽車綜合控制系統(tǒng)中大量的控制信號(hào)也需要實(shí)時(shí)交換,不同功能電子控制系統(tǒng)單元間的數(shù)據(jù)通信變得越來越重要。因此對(duì)電子控制系統(tǒng)單元的設(shè)計(jì)提出了越來越高的要求,不僅要求通信網(wǎng)絡(luò)應(yīng)具有通信速率高、準(zhǔn)確、可靠性高的特點(diǎn),同時(shí)要求控制模塊上應(yīng)具有控制實(shí)效性高、空間小等優(yōu)點(diǎn)。

  本文采用了基于CAN總線技術(shù),設(shè)計(jì)開發(fā)了應(yīng)用于汽車網(wǎng)絡(luò)系統(tǒng)中的電子控制系統(tǒng)單元。

  1 電子控制系統(tǒng)單元CAN通信模塊的設(shè)計(jì)
  根據(jù)CAN通信原理,電子控制系統(tǒng)單元CAN通信模塊硬件主要由CAN控制器、CAN驅(qū)動(dòng)器及中心微處理器構(gòu)成。傳統(tǒng)的CAN通信模塊采用51系列的單片機(jī)作為中心處理器,SJA1000作為CAN控制器,PCA82C250作為CAN驅(qū)動(dòng)器
。這種方案所占空間大,外圍接口擴(kuò)展局限,同時(shí)功耗高。本設(shè)計(jì)中,我們采用內(nèi)嵌有CAN控制器的LPC2119和TJA1050總線驅(qū)動(dòng)器構(gòu)成電子控制系統(tǒng)單元的CAN通信模塊。

  LPC2119內(nèi)帶有ARM7內(nèi)核,具有封裝小、功耗低、多個(gè)32位定時(shí)器、4路10位ADC、2路CAN以及多達(dá)9個(gè)外部中斷等優(yōu)點(diǎn)。 TJA1050是Philips公司生產(chǎn)的,用以替代PCA82C250的高速CAN總線驅(qū)動(dòng)器。該器件提供了CAN控制器與物理總線之間的接口以及對(duì) CAN總線的差動(dòng)發(fā)送和接收功能。對(duì)于由"弱"終端構(gòu)成的端節(jié)點(diǎn),TJA1050外圍的電阻和電容能改善系統(tǒng)的EMC性能。實(shí)踐證明,采用LPC2119 和TJA1050構(gòu)造CAN通信模塊,外圍擴(kuò)展能力強(qiáng),空間小,同時(shí)改進(jìn)電磁輻射(EME)性能和抗電磁干擾(EMI)性能。

  2 電子控制系統(tǒng)單元控制模塊的設(shè)計(jì)
  傳統(tǒng)的"蜘蛛網(wǎng)式"控制模塊,電路復(fù)雜,維修難度高。本設(shè)計(jì)中,我們采用功率模塊、人機(jī)通信模塊、狀態(tài)量輸入模塊的結(jié)合,構(gòu)造出電子控制系統(tǒng)單元控制模塊,提高了整個(gè)系統(tǒng)的可觀性和實(shí)效性。
  2.1 功率模塊
  考慮到汽車功率負(fù)載大及LPC2119的I/O口驅(qū)動(dòng)的局限,系統(tǒng)中采用功率模塊作為中心微處理器與功率負(fù)載之間的橋梁。
  設(shè)計(jì)中,我們采用摩托羅拉公司生產(chǎn)的MC33888功率器件控制遠(yuǎn)光燈、近光燈、倒車燈、剎車燈。MC33888內(nèi)部集成有四路高端燈驅(qū)動(dòng)器和8路繼電器或發(fā)光二極管驅(qū)動(dòng)器,是一個(gè)可控制網(wǎng)絡(luò),具有在板診斷、與微控制器通信報(bào)錯(cuò)能力及故障軟化等優(yōu)點(diǎn)??紤]到車內(nèi)燈和示廊燈的功率相對(duì)比較大,我們采用 MC33487功率器件進(jìn)行控制。MC33487內(nèi)部集成兩路帶有電流感應(yīng)的20毫歐姆高端驅(qū)動(dòng)器,電流輸出4.5A.

  感性負(fù)載以及大電流的短路保護(hù)是整個(gè)設(shè)計(jì)的難點(diǎn)。MC33887具有功耗低、等待模式下電流25微安、輸出電流超過8安的短路關(guān)斷等優(yōu)點(diǎn),所以系統(tǒng)采用MC33887功率器件對(duì)電機(jī)、鎖、天線、洗滌泵進(jìn)行控制。

  2.2 人機(jī)通信模塊
  為了提高駕駛員和乘客的舒適性、安全性,整個(gè)系統(tǒng)必須在人和機(jī)器之間建立良好的人機(jī)通信模塊。BC7281、鍵盤模塊及外圍的LED之間的結(jié)合,構(gòu)造出人機(jī)通信模塊。BC7281是比高公司推出的16位數(shù)碼管顯示及鍵盤接口專用芯片。該芯片通過外接移位寄存器(74HC164、74LS595等)可控制16位數(shù)碼管或者128只獨(dú)立的LED。BC7281的驅(qū)動(dòng)輸出極性及輸出時(shí)序均可通過軟件進(jìn)行控制,從而和各種驅(qū)動(dòng)電路配合,適合任何尺寸的數(shù)碼管。

  通過人機(jī)通信模塊,人的意識(shí)能夠?yàn)闄C(jī)器所識(shí)別,同時(shí)機(jī)器也可以將一些相應(yīng)的狀態(tài)信息反饋到LED或者LCD上,達(dá)到人機(jī)通信的可視化效果。

  2 3 狀態(tài)量輸入模塊
  狀態(tài)量輸入模塊主要是將一些人為操作的效果(如大燈開關(guān)、轉(zhuǎn)向燈開關(guān))、車身狀態(tài)(如車門、窗的開關(guān))及內(nèi)部狀態(tài)信息(如油量、水溫)反饋給中心處理器。中心處理器對(duì)反饋信息進(jìn)行分析處理,就可以準(zhǔn)確判斷本車所處的狀況,并做出相應(yīng)的操作。

  外部狀態(tài)信息可以分為開關(guān)量和模擬量。通過一系列外圍電路(如整形防顫電路),我們將開關(guān)量轉(zhuǎn)換成CPU可識(shí)別的0V和+5V高低電平。在模擬量處理上,先經(jīng)過歸一化處理電路,將水溫、油量、氣壓、室溫的變化轉(zhuǎn)化為0V到5V之間電信號(hào),然后通過LPC2119內(nèi)嵌的4路10位AD轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的數(shù)字量。利用現(xiàn)有的CAN通信模塊將這些數(shù)字量傳輸?shù)今{駛員附近的電子控制系統(tǒng)單元,再經(jīng)過D/A轉(zhuǎn)換器,反應(yīng)在儀器儀表上。

  3 電子控制系統(tǒng)單元軟件設(shè)計(jì)
  對(duì)于LPC2119微處理器來說,CAN控制器完全是基于事件觸發(fā)的,即在本身狀態(tài)發(fā)生改變時(shí),CAN控制器會(huì)將狀態(tài)變化的結(jié)果告訴微處理器。因此中心微處理器可以采用中斷的方式或者輪詢的方式對(duì)CAN控制器作出相應(yīng)的處理。

  各電子控制系統(tǒng)單元按規(guī)定格式和周期發(fā)送數(shù)據(jù)到總線上,同時(shí)根據(jù)需要各取所需的報(bào)文。對(duì)于接收數(shù)據(jù),本系統(tǒng)采用中斷的方式實(shí)現(xiàn),一旦中斷發(fā)生,即將接收的數(shù)據(jù)自動(dòng)裝載到相應(yīng)的報(bào)文寄存器中。此時(shí)利用屏蔽濾波寄存器對(duì)接收?qǐng)?bào)文的標(biāo)識(shí)符和預(yù)先在接收緩沖器初始化時(shí)設(shè)定的標(biāo)識(shí)符進(jìn)行有選擇地逐位比較,只有標(biāo)識(shí)符匹配的報(bào)文才能進(jìn)入接收緩沖器,那些不符合要求的報(bào)文將被屏蔽于接收緩沖器外,從而減輕CPU處理報(bào)文的負(fù)擔(dān)。

  各電子控制系統(tǒng)單元的應(yīng)用層程序都不一樣,但是通信模塊的應(yīng)用程序基本上一致,可分為CAN初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)。

  3.1 CAN初始化程序
  CAN初始化程序主要用來實(shí)現(xiàn)CAN工作時(shí)的參數(shù)設(shè)置,其初始化主要內(nèi)容包括:硬件使能CAN、設(shè)置CAN報(bào)警界限、設(shè)置總線波特率、設(shè)置中斷工作方式、設(shè)置CAN驗(yàn)收濾波器的工作方式、設(shè)置CAN控制器的工作模式等。

  2 發(fā)送數(shù)據(jù)程序
  對(duì)CAN模塊初始化成功后,就可以用它來傳送報(bào)文。節(jié)點(diǎn)向總線上發(fā)送報(bào)文的過程是:LPC2119將待發(fā)送的數(shù)據(jù)按CAN格式組成一幀報(bào)文,寫入CAN模塊發(fā)送緩沖區(qū),然后啟動(dòng)發(fā)送命令,將報(bào)文發(fā)送到總線上。

  在使用發(fā)送函數(shù)時(shí)有一點(diǎn)必須注意,因?yàn)樵趩?dòng)發(fā)送數(shù)據(jù)的命令后,CAN控制器要將緩沖區(qū)內(nèi)的數(shù)據(jù)發(fā)送完畢后,才會(huì)將該幀數(shù)據(jù)是否發(fā)送成功的狀態(tài)返回。這樣如果在函數(shù)里一直等待數(shù)據(jù)發(fā)送完畢,會(huì)使整個(gè)微處理器的性能下降。為了避免這種情況,該函數(shù)在啟動(dòng)發(fā)送后便立即返回,通過發(fā)送中斷或者利用查詢 TCS狀態(tài)位判斷是否發(fā)送成功。
  3.3 接收數(shù)據(jù)程序
  本設(shè)計(jì)中,我們采用中斷的方式進(jìn)行CAN總線上的數(shù)據(jù)接收。當(dāng)LPC2119的CAN控制器出現(xiàn)內(nèi)部中斷時(shí),我們先識(shí)別中斷寄存器的RI位,判斷是否為接收中斷,然后讀取接收緩沖區(qū)的內(nèi)容。

  4 結(jié)論
  實(shí)踐證明,基于CAN總線技術(shù),帶ARM7內(nèi)核的汽車電子控制系統(tǒng)單元空間小,實(shí)效性高。特別是它的數(shù)據(jù)通信具有很強(qiáng)的實(shí)時(shí)性、更高的可靠性和更好的抗干擾能力,即使在重負(fù)荷下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓的情況,但投入實(shí)用化仍需要進(jìn)一步的研究和改進(jìn),且程序的通信處理能力、糾錯(cuò)和容錯(cuò)能力有待進(jìn)一步的提高。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。