在現(xiàn)代汽車中,車用電氣設(shè)備隨著人們對(duì)汽車各方面性能要求的不斷提高也在逐漸地增加,從發(fā)動(dòng)機(jī)控制傳動(dòng)系統(tǒng)控制,從行駛、制動(dòng)、轉(zhuǎn)向系統(tǒng)控制到安全保證系統(tǒng)及儀表報(bào)警系統(tǒng),從電源管理到為提高舒適性而做出的各種努力,使汽車電氣系統(tǒng)形成一個(gè)復(fù)雜的大系統(tǒng),原有的汽車電氣控制系統(tǒng)模式已遠(yuǎn)遠(yuǎn)不能達(dá)到設(shè)計(jì)者以及用戶的要求,can總線技術(shù)以及硬件連接簡(jiǎn)單,良好的可靠性,實(shí)時(shí)性和性價(jià)比已經(jīng)漸漸被眾多的半導(dǎo)體廠家以及汽車企業(yè)所接受,并廣泛應(yīng)用與汽車領(lǐng)域。
目前,眾多半導(dǎo)體廠商(如motorola,infineon、philips、fujitsu等)都紛紛推出了具有can功能的微控制器芯片,本設(shè)計(jì)使用的是motorola公司hc9s12系列的mc9s12dg128微控制器。
1 can總線技術(shù)簡(jiǎn)介
can(controller area network)即控制器局域網(wǎng)[1],是德國(guó)bosch公司為解決現(xiàn)代汽車中眾多的控制和數(shù)據(jù)交換問(wèn)題開發(fā)出的一種現(xiàn)場(chǎng)總線通信結(jié)構(gòu),其最高速率可達(dá)1mbps(40m內(nèi))以多主方式工作,與一般的通信總線相比,can總線數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性,是目前使用最廣泛的一種汽車網(wǎng)絡(luò)。
2 mc9s12dg128的介紹
mc9s12dg128微控制器[2]是motorola公司m68hc12系列16位單片機(jī)中的一種,其內(nèi)部結(jié)構(gòu)主要有單片機(jī)基本部分和can功能塊部分組成,基本結(jié)構(gòu)包括:中央處理器單元 hcs12(cpu)、2個(gè)異步串行通信口sci、2個(gè)同步串行通信口spi,8通道輸入捕捉/輸出比較定時(shí)器,1個(gè)8通道脈寬調(diào)制模塊以及49個(gè)獨(dú)立數(shù)字i/o口(其中20個(gè)具有外部中斷及喚醒功能),在片內(nèi)還擁有128kb的flashrom,8kb的ram和2kb的eeprom,can功能塊包括兩個(gè)兼容can2.0a/b協(xié)議的mscan控制器組成,這些豐富的內(nèi)部資源和外部接口資源可以滿足ecu對(duì)各種數(shù)據(jù)的處理、can網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收要求,芯片集成了兩個(gè)mscan12模塊,能夠?qū)崿F(xiàn)高低速can網(wǎng)絡(luò)的網(wǎng)關(guān)節(jié)點(diǎn)功能。
mscan是motorola scaleable can的縮寫[3],而mscan12模塊則是mscan在m68hc12系列mcu上的具體實(shí)現(xiàn),其內(nèi)部結(jié)構(gòu)如圖1所示,它遵循can2.0a/b協(xié)議,集成了除收發(fā)器外can總線控制器的所有功能,此外它還采用先進(jìn)的緩沖器布置改善了實(shí)時(shí)性能,簡(jiǎn)化了應(yīng)用軟件的設(shè)計(jì),can報(bào)文發(fā)送時(shí),cpu將數(shù)據(jù)送入發(fā)送緩沖期,然后通過(guò)設(shè)置寄存器發(fā)出命令,數(shù)據(jù)組成報(bào)文后通過(guò)發(fā)送引擎送到txcan,再經(jīng)過(guò)外部收發(fā)器送到總線,報(bào)文接收時(shí),收發(fā)引擎通過(guò)外部收發(fā)器將總線上的數(shù)據(jù)位流引入rxcan,經(jīng)過(guò)解碼、錯(cuò)誤檢查、校驗(yàn)和報(bào)文過(guò)濾后送到接收緩沖區(qū),并通過(guò)中斷或標(biāo)志通知cpu。
3 "長(zhǎng)安之星"cc6350汽車網(wǎng)絡(luò)設(shè)計(jì)