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