新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線(xiàn)技術(shù)的汽車(chē)ECU設(shè)計(jì)

基于CAN總線(xiàn)技術(shù)的汽車(chē)ECU設(shè)計(jì)

作者: 時(shí)間:2013-05-18 來(lái)源:網(wǎng)絡(luò) 收藏

  3.2軟件設(shè)計(jì)
  系統(tǒng)軟件設(shè)計(jì)主要包括信號(hào)采集和CAN接口通信程序。利用AT90CAN128片上集成的ADC模塊可以采集一些常規(guī)傳感器的模擬信號(hào),如油壓、水溫、氣壓等信號(hào);利用定時(shí)器/計(jì)數(shù)器模塊采集傳感器脈沖信號(hào),如轉(zhuǎn)速、行駛里程信號(hào)等。對(duì)于模擬量信號(hào),在經(jīng)過(guò)放大器處理之后,可以直接控制單片機(jī)的ADC模塊對(duì)其進(jìn)行采集;對(duì)于脈沖信號(hào),在對(duì)其進(jìn)行采集時(shí)需要進(jìn)行整形處理,如轉(zhuǎn)速傳感器獲取發(fā)動(dòng)機(jī)飛輪旋轉(zhuǎn)時(shí)輪齒的信號(hào),是正弦交流信號(hào),將其整形為方波信號(hào),利用定時(shí)器/計(jì)數(shù)器模塊采集方波的頻率來(lái)完成速度采集。為提高轉(zhuǎn)速采集的實(shí)時(shí)性,通常采集脈沖信號(hào)的周期(兩個(gè)脈沖信號(hào)上升沿或下降沿之間的時(shí)間)來(lái)計(jì)算其頻率,并計(jì)算發(fā)動(dòng)機(jī)轉(zhuǎn)速,計(jì)算公式如如式(1)所示。

式(1)中為系統(tǒng)時(shí)鐘周期,為分頻系數(shù),為發(fā)動(dòng)機(jī)飛輪齒圈齒數(shù)(對(duì)于康明斯發(fā)動(dòng)機(jī)為為輪齒脈沖兩次上升(或下降)沿的計(jì)數(shù)器值。

  CAN接口通信程序主要包括CAN的初始化、數(shù)據(jù)接收和數(shù)據(jù)發(fā)送程序。主程序通過(guò)調(diào)用函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送,流程圖如圖3所示,在數(shù)據(jù)接收程序中,通過(guò)查詢(xún)方式讀取相應(yīng)消息對(duì)象中的數(shù)據(jù)。

  CAN初始化工作主要包括波特率參數(shù)設(shè)置、接收屏蔽寄存器及接收代碼寄存器的設(shè)置、使能允許寄存器的設(shè)置等。通過(guò)總線(xiàn)定時(shí)器寄存器CANBT1、CANBT2、CANBT3來(lái)設(shè)置波特率參數(shù)。AT90CAN128中提供了一組由4個(gè)驗(yàn)收碼寄存器(CANIDT1~CANIDT4)和4個(gè)驗(yàn)收屏蔽寄存器(CANIDM1~CANIDM4)組成的驗(yàn)收濾波器,信息只有通過(guò)它的驗(yàn)收濾波才能被接收;所有驗(yàn)收屏蔽寄存器為0的位,驗(yàn)收碼寄存器和CAN信息幀的對(duì)應(yīng)位必須相同才能驗(yàn)收通過(guò),而所有驗(yàn)收屏蔽寄存器中為1的位,驗(yàn)收碼寄存器對(duì)應(yīng)位的驗(yàn)收濾波功能則被屏蔽。通過(guò)設(shè)置驗(yàn)收濾波器,既可以實(shí)現(xiàn)節(jié)點(diǎn)與節(jié)點(diǎn)之間的點(diǎn)對(duì)點(diǎn)通信,也可以實(shí)現(xiàn)一點(diǎn)對(duì)多點(diǎn)的廣播式通信,使整個(gè)數(shù)據(jù)通信網(wǎng)絡(luò)更加靈活。
  4、實(shí)驗(yàn)
  采用本文設(shè)計(jì)的汽車(chē)對(duì)車(chē)輛上的模擬信號(hào)(水溫、壓力等),脈沖信號(hào)(轉(zhuǎn)速、里程等)進(jìn)行采集,并通過(guò)發(fā)送和接收數(shù)據(jù)。采用IXXAT公司的CAN分析儀(USBtoCAN)對(duì)進(jìn)行監(jiān)控,利用計(jì)算機(jī)與CAN分析儀連接,并通過(guò)采集傳輸?shù)臄?shù)據(jù),CAN總線(xiàn)的通信波特率設(shè)定為125kbps,實(shí)驗(yàn)中測(cè)得的總線(xiàn)狀態(tài)如圖4(a)所示,實(shí)驗(yàn)中采用CAN2.0B擴(kuò)展幀協(xié)議,采集某節(jié)點(diǎn)的CAN總線(xiàn)數(shù)據(jù)如圖4(b)所示,其中節(jié)點(diǎn)204060為脈沖信號(hào)采集,節(jié)點(diǎn)204061為模擬信號(hào)采集,數(shù)據(jù)長(zhǎng)度為8字節(jié),空余字節(jié)用FF填補(bǔ),可用來(lái)擴(kuò)展信息量。

  根據(jù)實(shí)際測(cè)量結(jié)果,可以看出總線(xiàn)沒(méi)有接收到出錯(cuò)幀,接收到數(shù)據(jù)幀,反映總線(xiàn)工作狀態(tài)正常。從接收的數(shù)據(jù)表明,每個(gè)ECU節(jié)點(diǎn)發(fā)送的ID碼和數(shù)據(jù)與預(yù)定義的ID碼和數(shù)據(jù)相同,總線(xiàn)接收和發(fā)送正常。另外,在軟件中加入了異常處理,如果某節(jié)點(diǎn)一直向總線(xiàn)發(fā)送錯(cuò)誤標(biāo)志,總線(xiàn)會(huì)自動(dòng)終止該節(jié)點(diǎn),其他節(jié)點(diǎn)也會(huì)檢測(cè)到錯(cuò)誤條件,停止向該節(jié)點(diǎn)發(fā)送數(shù)據(jù),這樣可以避免總線(xiàn)癱瘓。
  5、結(jié)論
  本文設(shè)計(jì)的基于AT90CAN128單片機(jī)的汽車(chē)ECU,由于其本身接口豐富,可以采集多種傳感器數(shù)據(jù),并集成了CAN接口模塊,這樣提高了EUC的工作可靠性和CAN接口通信的可靠性,非常適宜于組建汽車(chē)CAN總線(xiàn)網(wǎng)絡(luò)。另外,在硬件上做了優(yōu)化處理,提高了系統(tǒng)的抗干擾能力。實(shí)驗(yàn)表明,該ECU能準(zhǔn)確采集數(shù)據(jù),并能通過(guò)CAN總線(xiàn)進(jìn)行可靠通信

塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
晶振相關(guān)文章:晶振原理
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: CAN總線(xiàn) ECU 控制器

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉