汽車前照燈CAN總線多路傳輸系統(tǒng)的研究與設(shè)計(jì)
微處理器89C51負(fù)責(zé)SJAl000的初始化,通過控制SJAl000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。SJAl000的ADO~AD7連接到89C51的P0口,SJAl000的連接到89C51的P2.O,P2.O為0時(shí),CPU片外存儲(chǔ)器地址可選中SJAl000,CPU通過這些地址可對(duì)SJAl000執(zhí)行相應(yīng)的讀/寫操作。SJAl000的,ALE分別與89C51的引腳相連,接89C51的,89C51也可以通過中斷方式訪問SJAl000。
82C250與CAN總線的接口部分采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個(gè)5 Ω的電阻與CAN總線相連,電阻可起到一定的限流作用,保護(hù)82C250免受過流的沖擊。CANH和CANL與地之間并聯(lián)了2個(gè)30 pF的小電容,可以起到濾除總線上的干擾和一定的防電磁輻射的能力。82C250的Rs腳上接有一個(gè)斜率電阻,電阻大小可以根據(jù)總線通信速度適當(dāng)調(diào)整,一般在16~140 kΩ。
2.3 微處理器的選擇
汽車電子控制系統(tǒng)的實(shí)時(shí)性是建立在微處理器的高速運(yùn)算功能上的,因此微處理器的選擇是系統(tǒng)設(shè)計(jì)的重要環(huán)節(jié),與一般的電子設(shè)備相比較,汽車電子控制系統(tǒng)的微處理器特點(diǎn)在于經(jīng)常處理大量的輸入和輸出信號(hào),而且要實(shí)現(xiàn)高精度和實(shí)時(shí)控制,因此必須能夠同時(shí)進(jìn)行多種獨(dú)立的操作。為了滿足這些要求,微處理器必須具有高速計(jì)算、高速實(shí)時(shí)輸入和輸出以及多種中斷響應(yīng)等特性。由于通用電子計(jì)算機(jī)電子控制系統(tǒng)的控制功能較為簡(jiǎn)單,所以大多數(shù)電子控制單元(ECU)中主要使用8 位微處理器。在選擇微.處理器上,不僅要注重滿足技術(shù)要求,還要綜合考慮成本和實(shí)用因素,不應(yīng)片面追求微處理器的高速和高位數(shù)。
本研究是對(duì)按鈕開關(guān)的邏輯信號(hào)進(jìn)行處理,對(duì)微處理器的控制核心CPU的要求不高,選用AT89C51即可滿足要求。
3 汽車前照燈CAN總線多路傳輸系統(tǒng)的軟件設(shè)計(jì)
多路傳輸系統(tǒng)的軟件設(shè)計(jì)包括CAN節(jié)點(diǎn)的初始化、CAN報(bào)文的發(fā)送和接收、PC機(jī)與CAN適配卡的通信。
3.1 初始化
系統(tǒng)節(jié)點(diǎn)初始化包括:自檢、CAN通訊初始化、A/D初始化、各種系統(tǒng)標(biāo)志初始化以及看門狗初始化等。其中89C51的CAN控制器初始化流程如圖4所示。
3.2 CAN子節(jié)點(diǎn)收發(fā)軟件設(shè)計(jì)
子節(jié)點(diǎn)主要功能是實(shí)現(xiàn)對(duì)按鍵信號(hào)進(jìn)行采集,并響應(yīng)主控節(jié)點(diǎn)命令,通過CAN總線向主控節(jié)點(diǎn)發(fā)送檢測(cè)點(diǎn)信息。在軟件設(shè)計(jì)上,子節(jié)點(diǎn)采取命令一應(yīng)答方式,即等待命令→分析命令類型→發(fā)回相應(yīng)數(shù)據(jù)。
系統(tǒng)中子節(jié)點(diǎn)在上電復(fù)位后主要工作為:
(1)對(duì)系統(tǒng)進(jìn)行初始化;
(2)向主控節(jié)點(diǎn)發(fā)出加入請(qǐng)求;
(3)主控節(jié)點(diǎn)接受請(qǐng)求,并給該子節(jié)點(diǎn)一個(gè)網(wǎng)絡(luò)編號(hào);
(4)等待主控節(jié)點(diǎn)命令;
(5)根據(jù)命令將監(jiān)測(cè)點(diǎn)的相關(guān)數(shù)據(jù)通過CAN總線發(fā)送給主控節(jié)點(diǎn)。
因此,子節(jié)點(diǎn)的主要流程如圖5所示。
評(píng)論