CAN總線(xiàn)行車(chē)記錄儀設(shè)計(jì)
CAN總線(xiàn)(CAN.bus) 是一種串行多主站控制器局域網(wǎng)總線(xiàn),其主要原理是把車(chē)輛上相關(guān)控制器都聯(lián)系起來(lái),實(shí)現(xiàn)發(fā)動(dòng)機(jī)控制器,變速箱控制器,ABS控制器,車(chē)身控制器,儀表及其它控制器的通信。CAN—bus系統(tǒng)除了使整車(chē)線(xiàn)束更少、更井井有條,整車(chē)重量更輕外,更大的好處是做到了全車(chē)信息即時(shí)共享。
本文引用地址:http://butianyuan.cn/article/201610/309831.htm本文探討基于CAN總線(xiàn)的行車(chē)記錄儀設(shè)計(jì)和實(shí)現(xiàn),詳細(xì)闡述了系統(tǒng)的整體結(jié)構(gòu)、硬件電路設(shè)計(jì)、軟件設(shè)計(jì)流程。所開(kāi)發(fā)的行車(chē)記錄儀用于在車(chē)輛行駛過(guò)程中實(shí)時(shí)采集汽車(chē)CAN總線(xiàn)數(shù)據(jù)信息,并將數(shù)據(jù)存儲(chǔ)在u盤(pán)中,以u(píng)盤(pán)為載體傳輸給PC機(jī),可運(yùn)用PC機(jī)上的軟件對(duì)數(shù)據(jù)進(jìn)行分析??朔艘酝F(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)必須有一臺(tái)計(jì)算機(jī)的模式,可實(shí)時(shí)了解汽車(chē)運(yùn)行期間各種數(shù)據(jù)信息變化,同步記錄行駛狀況,在車(chē)輛長(zhǎng)時(shí)間測(cè)試或行駛以后,記錄的數(shù)據(jù)用于分析車(chē)輛行駛性能以及各部件的運(yùn)行情況,方便了標(biāo)定和設(shè)計(jì)工作的進(jìn)行。
1 系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)
由于CAN串行通訊總線(xiàn)的良好特性,被廣泛地應(yīng)用于現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)、汽車(chē)制造業(yè)和航空工業(yè)等領(lǐng)域。本文所設(shè)計(jì)的基于CAN總線(xiàn)數(shù)據(jù)記錄儀是應(yīng)用在奇瑞汽車(chē) A5車(chē)型上的,對(duì)整車(chē)CAN網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)據(jù)進(jìn)行采集和存儲(chǔ)。A5是第一款應(yīng)用CAN bus總線(xiàn)系統(tǒng)的自主品牌國(guó)產(chǎn)轎車(chē),其CAN—bus主要應(yīng)用在傳動(dòng)部,在車(chē)身部、ITS部和信息部等也有少量的應(yīng)用。對(duì)A5這款首次使用CAN技術(shù)的車(chē)型進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,可了解汽車(chē)運(yùn)行期問(wèn)各種數(shù)據(jù)信息變化,對(duì)A5乃至后續(xù)所有車(chē)款的研發(fā)來(lái)說(shuō),都有著非常重要的意義。
CAN總線(xiàn)行車(chē)記錄儀的整體結(jié)構(gòu)框圖如圖1所示。
CAN 總線(xiàn)行車(chē)記錄儀工作時(shí)應(yīng)掛接到汽車(chē)CAN總線(xiàn)上成為一個(gè)CAN節(jié)點(diǎn),以便采集CAN數(shù)據(jù)信息。由圖1所示,該系統(tǒng)不僅采集車(chē)內(nèi)的CAN總線(xiàn)消息,還可根據(jù)需要實(shí)時(shí)采集模擬信號(hào)量。液晶屏用來(lái)顯示采集的各路信號(hào)值,具有掉電保護(hù)功能,重新通電后,即可恢復(fù)顯示原有數(shù)據(jù)。采集到的數(shù)據(jù)除了用液晶屏實(shí)時(shí)顯示給用戶(hù)外,還可通過(guò)USB接口芯片CH375 將之存儲(chǔ)到u盤(pán)中,供實(shí)驗(yàn)員拿回實(shí)驗(yàn)室分析使用,如要實(shí)現(xiàn)存儲(chǔ)功能,按下存儲(chǔ)開(kāi)關(guān)即可。
圖1 系統(tǒng)整體結(jié)構(gòu)
2 系統(tǒng)硬件設(shè)計(jì)
根據(jù)系統(tǒng)的整體結(jié)構(gòu),硬件電路主要有如下幾個(gè)大模塊:主控制器模塊、液晶模塊、CAN驅(qū)動(dòng)器模塊、電源模塊、CH375接口電路模塊。
2.1 主控制器模塊
系統(tǒng)CPU采用Freescale公司的MC9S12XD 系列單片機(jī)。它是控制和通信部分的核心,不僅負(fù)責(zé)系統(tǒng)初始化設(shè)置及報(bào)文接收,而且實(shí)現(xiàn)有關(guān)的數(shù)據(jù)判斷處理和顯示。片內(nèi)集成了構(gòu)成單片機(jī)控制系統(tǒng)和數(shù)據(jù)采集系統(tǒng)所需的幾乎全部模擬和數(shù)字外設(shè)及其它功能部件,其主要特點(diǎn)如下:
(1)MC9S12XD系列帶有獨(dú)特的XGATE協(xié)處理器,本系統(tǒng)中CAN信號(hào)的接收是由中斷程序完成的,而中斷處理程序交給XGATE來(lái)處理,這樣將減輕CPU負(fù)荷,提高系統(tǒng)的反應(yīng)速度。
(2)帶有l(wèi)6個(gè)模數(shù)轉(zhuǎn)換通道,給采集模擬信號(hào)提供了硬件支持,并可編程選擇精確到10位精度。
(3)帶有5個(gè)MSCAN模塊,內(nèi)部集成有CAN控制器,對(duì)CAN 模塊的配置實(shí)質(zhì)上轉(zhuǎn)化為了對(duì)單片機(jī)相應(yīng)寄存器的配置,使用方便靈活。
(4)背景調(diào)試模式BDM 的支持,使得芯片的調(diào)試極為方便,加快了產(chǎn)品開(kāi)發(fā)周期。
(5)豐富的中斷源,為系統(tǒng)在非操作系統(tǒng)支持下運(yùn)行提供了充分的保障。
2.2 液晶顯示模塊
系統(tǒng)采用的是WYM19264液晶,分3屏顯示,每屏可顯示容量為64x64的點(diǎn)陣。該液晶外部接口采用20腳針式插座,與單片機(jī)的連接電路也比較簡(jiǎn)單,其中片選信號(hào)CS1、CS2分別與單片機(jī)的PH6、PH5相連,控制信號(hào)RS、R/W、EN分別與PK4、PJ1、PJ0相連,8條數(shù)據(jù)線(xiàn) (DBO~DB7)則連接PB端口的8個(gè)引腳(PB0-PB7),實(shí)行并口傳輸。
2.3 CAN驅(qū)動(dòng)器模塊
CAN 驅(qū)動(dòng)器接口芯片選用PAC82C250,它是CAN協(xié)議控制器和物理總線(xiàn)的接口, 主要是為汽車(chē)中高速通訊(高達(dá)1Mbps)應(yīng)用而設(shè)計(jì)的。此器件對(duì)總線(xiàn)提供差分發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力,具有抗汽車(chē)環(huán)境中的瞬間干擾而保護(hù)總線(xiàn)功能。其管腳8(Rs)允許選擇不同的工作模式:高速、待機(jī)、斜率控制,本系統(tǒng)中將管腳8接地,選用其高速模式。而RX、TX則與單片機(jī)CAN模塊引腳相連,本系統(tǒng)中選用的是CAN0模塊,即分別與RXCAN0、TXCAN0連接。
2.4 電源模塊
記錄儀電源取自12V車(chē)載蓄電池電源,該電源除供系統(tǒng)工作外,還擔(dān)負(fù)點(diǎn)火、照明、信號(hào)等設(shè)備的供電,電源波動(dòng)大,干擾嚴(yán)重,由于汽車(chē)在行駛過(guò)程中,可能遇到路面狀況比較惡劣的情況,會(huì)出現(xiàn)記錄儀電源接口由于劇烈震動(dòng)所造成的松動(dòng)或接觸不良,因此電源模塊必須精心設(shè)計(jì)才能滿(mǎn)足需求。
電源模塊電路簡(jiǎn)圖如圖2所示,其中U1是由電池提供的6V備份電源,U2(主電源)是車(chē)載12V電源,該電源模塊被分成2路,經(jīng)7805穩(wěn)壓后的+5v 電壓?jiǎn)为?dú)給液晶供電,經(jīng)4275轉(zhuǎn)換后的VCC給整個(gè)單片機(jī)及輔助電路供電。系統(tǒng)正常工作時(shí),D1處于截止?fàn)顟B(tài),備份電池不起作用,一旦失去主電源供給,則D1迅速導(dǎo)通,備份電源自動(dòng)啟動(dòng)為系統(tǒng)供電。
圖2 電源模塊
電源模塊此種設(shè)計(jì)方案有2個(gè)原因,如下所示:
(1) 備用電池的采用。記錄儀存儲(chǔ)采集數(shù)據(jù),即將采集數(shù)據(jù)按順序?qū)戇M(jìn)為記錄文件所分配的簇中,當(dāng)采集結(jié)束時(shí)實(shí)驗(yàn)員斷開(kāi)存儲(chǔ)開(kāi)關(guān)或者因掉電而采集被迫終止,單片機(jī)都需要做關(guān)閉記錄文件這一重要處理。關(guān)閉文件就是將文件實(shí)際長(zhǎng)度和采集數(shù)據(jù)記錄總數(shù)寫(xiě)進(jìn)文件相關(guān)頭中。假如不正確關(guān)閉文件,或者因?yàn)榈綦妬?lái)不及關(guān)閉文件,Windows將無(wú)法找到文件的末尾,PC機(jī)軟件也因找不到采集數(shù)據(jù)的末尾而無(wú)法打開(kāi)文件,此時(shí),所做的采集工作將因此失敗。為了防止因掉電而無(wú)法關(guān)閉文件,本系統(tǒng)采用了備用電池。
評(píng)論