摘 要: 在AMT汽車中換擋手柄ECU的軟硬件設(shè)計,采用MC9S08DZ60單片機的CAN模塊實現(xiàn)AMT手柄ECU與汽車其他系統(tǒng)之間的數(shù)據(jù)通信。該手柄ECU具有結(jié)構(gòu)簡單、成本低、功能強的特點。
關(guān)鍵詞: 手柄ECU;AMT; MC9S08DZ60; CAN總線
采用數(shù)字電路可以方便快捷地實現(xiàn)換擋手柄擋位信號的傳遞,但是控制單元間通信的可靠性、實時性、安全性等方面沒有CAN總線技術(shù)好。本設(shè)計中,手柄ECU可以通過CAN總線向AMT_ECU傳遞駕駛員的駕駛意圖,AMT的ECU根據(jù)手柄ECU所傳遞的報文信息控制變速器進(jìn)行換擋動作。同時,AMT的ECU也可以通過CAN總線把變速器的當(dāng)前狀態(tài)(例如檔位狀態(tài)和故障狀態(tài))傳送給換擋手柄電路。駕乘人員通過換擋手柄選擇當(dāng)前期望的擋位,手柄ECU根據(jù)接收到霍爾傳感器傳遞的手柄位置信息,執(zhí)行輸入信號處理,并將處理后的擋位信息通過CAN總線發(fā)送給AMT的ECU,傳遞駕駛員的駕駛意圖。AMT的ECU根據(jù)手柄ECU所傳遞的報文信息控制變速器的換擋動作。由于自身有單片機作為處理單元,可以采用CAN/LIN總線的方式與TCU通信,基本不占用TCU的接口資源。當(dāng)信號采集電路出現(xiàn)問題時,單片機可自行診斷,簡單故障甚至可代替TCU進(jìn)行處理[1]。本設(shè)計控制電路結(jié)構(gòu)簡單、成本低廉、功能強。
1 硬件設(shè)計
本設(shè)計硬件電路是以MC9S08DZ60微控制器為核心,主要包括單片機外圍電路、電源轉(zhuǎn)換電路、開關(guān)量輸出處理電路以及CAN通信電路。
1.1 單片機最小系統(tǒng)
由于手柄ECU系統(tǒng)小但功能全,因此采用摩托羅拉公司的8位微控制器MC9S08DZ60。該微控制器尺寸小、成本低、功能強大、資源齊全,具有很高的性能價格比,適合汽車手柄換擋的功能要求以及汽車的運行環(huán)境。其主要資源包括:一個CAN模塊、一個串行外設(shè)接口SPI模塊、兩個串行通信接口SCI模塊、多達(dá)24通道的12 bit的A/D轉(zhuǎn)換模塊、一個基本時鐘模塊、60 KB的片上Flash、4 KB的片上RAM、2 KB的E2PROM、看門狗定時器(COP Watch-dog),另外還有I2C總線模塊和多個定時器、計數(shù)器等。該控制器采用PLL鎖相環(huán)技術(shù),能夠產(chǎn)生最高40 MHz的總線頻率。其獨特的片上仿真/調(diào)試模塊(BDC)更是大大簡化了設(shè)計,從而確保了MC9S08DZ60在本設(shè)計中的應(yīng)用地位[3]。其外圍電路如圖1所示。
1.2 電源模塊
該模塊采用7805(U1)芯片實現(xiàn)+12 V轉(zhuǎn)換成+5 V,MIC29510-3.3(U2)芯片實現(xiàn)+5 V轉(zhuǎn)換+3.3 V,從而滿足了整個系統(tǒng)的供電,包括單片機的供電。其電路圖如圖2。
1.3 開關(guān)量處理模塊
為了使開關(guān)量輸入信號更加可靠,每一個開關(guān)量的輸入都要通過上拉、限流等處理后送入單片機。當(dāng)手柄選到期望擋位、進(jìn)入霍爾傳感器的磁柵范圍內(nèi)時,傳感器輸出的高電平信號為+3.3 V;其余傳感器輸入端的磁柵范圍內(nèi)沒有接通的,輸出低電平信號為0 V。本設(shè)計采用的霍爾傳感器輸入電壓為+12 V。
1.4 CAN通信電路
本設(shè)計作為整車分布式控制系統(tǒng)的一個節(jié)點,與其他車載控制器通信采用CAN網(wǎng)絡(luò)通信。本設(shè)計采集系統(tǒng)狀態(tài)量,并通過CAN命令消息上傳給整車控制器進(jìn)行工作,CAN收發(fā)器采用PHILIPS公司的PCA82C250收發(fā)器。其硬件電路如圖3所示。
同時,本設(shè)計還預(yù)留了一個開關(guān)量輸出電路,它與CAN總線的功能相同。其電路如圖4,其中包括執(zhí)行機構(gòu)驅(qū)動電路。
2 軟件設(shè)計
系統(tǒng)軟件設(shè)計主要包括數(shù)據(jù)采集存儲和CAN通信兩大模塊。
2.1 CAN通信模塊
MC9S08DZ60內(nèi)部集成了應(yīng)用CAN 2.0A/B協(xié)議的CAN控制器,包含5個先進(jìn)先出的接收寄存器、3個使用本地優(yōu)先級的發(fā)送寄存器。在ID識別方面提供了64 bit的掩碼寄存器,可分用為2個32 bit的滿值寄存器,或4個16 bit、8個8 bit的寄存器,這使總線上的消息尋址更加靈活方便。為滿足低功耗需求,該模塊提供睡眠、掉電和MSCAN使能3種模式[5]。
CAN總線中的數(shù)據(jù)幀由7個不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應(yīng)答場、幀結(jié)尾。其中數(shù)據(jù)場的長度可以為0,但模塊封裝的幀最多不超過8個字節(jié)。根據(jù)仲裁位的不同可分為標(biāo)準(zhǔn)幀(11 bit標(biāo)識符)和擴展幀(29 bit標(biāo)識符)。擴展幀格式包括4個ID寄存器IRD0~I(xiàn)RD3,8個數(shù)據(jù)寄存器DSR0和1個數(shù)據(jù)長度寄存器DLR,其中IRD0首位是ID28,IRD3末位是ID0。兩者之間還存有信號標(biāo)識位SRR、IDE和RTR[4]。
2.2 CAN通信協(xié)議
CAN總線的通信采用主叫輪詢方式。由于CAN的限制,每個網(wǎng)絡(luò)內(nèi)子節(jié)點不宜超過1 000個,這里取10 bit作為源和目的設(shè)備的ID標(biāo)識。因為ID28只能為1,這里規(guī)定ID27~I(xiàn)D18為幀源ID,而ID17~I(xiàn)D8為幀目的ID。因為通信需要傳輸?shù)臄?shù)據(jù)多于8個字節(jié),這里把DSR0作為傳輸多幀數(shù)據(jù)的總幀數(shù)寄存器,把DSR1作為傳輸多幀數(shù)據(jù)的當(dāng)前幀數(shù)寄存器,DSR2作為幀功能寄存器,DSR3~DSR6傳輸數(shù)據(jù),DSR7為校驗寄存器[2]。
2.3 程序設(shè)計
Initialize()完成單片機硬件初始化(手柄ECU初始化、應(yīng)用程序初始化等)。上電初始化后,單片機開始采集I/O口擋位的電壓信號,并存儲到片上存儲單元。與主機的CAN通信將以中斷形式完成。圖5為系統(tǒng)整體流程。
各擋位位置對應(yīng)的邏輯電平如表1。
經(jīng)過試驗,CAN總線傳送的擋位變化信息如圖6所示。
經(jīng)試驗證明,該手柄ECU在實驗室條件下能夠?qū)崿F(xiàn)數(shù)據(jù)采集和網(wǎng)絡(luò)通信,并達(dá)到換擋目標(biāo)。采用CAN總線技術(shù)的手柄ECU不僅可以降低成本、實現(xiàn)數(shù)據(jù)共享,同時還可以提高AMT的性能。其最高1 Mb/s(40 m以內(nèi))的傳輸速度使得手柄ECU實時性好、可靠性高、運行情況良好。
參考文獻(xiàn)
[1] 和衛(wèi)民,秦貴和.基于AMT的汽車換擋手柄ECU的系統(tǒng)設(shè)計[D].長春:吉林大學(xué),2006.
[2] 孔慧芳,危洋.基于CAN總線的AMT通信系統(tǒng)研究[D].合肥:合肥工業(yè)大學(xué),2008.
[3] 徐斌,丁圣彥,李計融.燃料電池轎車水冷卻監(jiān)控系統(tǒng)的實現(xiàn)[D].上海:同濟(jì)大學(xué),2004.
[4] 徐澤華.一種基于CAN接口的數(shù)字式控制手柄研制及其功能測試軟件設(shè)計[D].長沙:中南大學(xué),2003.
[5] Motorola. Inc. Motorola’s MC9S08DZ60 data sheet, Rev.4, 6.2008.