基于MC9S12HZ256的總線式汽車數(shù)字儀表設(shè)計
信號采集包含CAN總線數(shù)據(jù)采集和傳感器數(shù)據(jù)采集。通過模擬量信號分壓,脈沖信號濾波整形,開關(guān)信號光電隔離,微處理器采集傳感器信號,同時通過收發(fā)器讀取CAN總線信號,然后進(jìn)行信號處理,再通過控制器驅(qū)動步進(jìn)電機(jī),LCD液晶屏及其他器件。在實(shí)際車載環(huán)境中,該系統(tǒng)設(shè)計遵循SAE J1939協(xié)議在CAN總線上獲取發(fā)動機(jī)轉(zhuǎn)速、水溫和故障代碼信息,車速、油量、機(jī)油壓力、制動氣壓等信息則以模擬量和脈沖量形式從相應(yīng)傳感器讀取。
2.1 MC9S12HZ256微控制器
MC9S12HZ256是飛思卡爾公司生產(chǎn)的MC9S12系列面向汽車儀表應(yīng)用的增強(qiáng)型16位單片機(jī)微控制器(MCU)。其集成度高,片內(nèi)資源豐富,功能強(qiáng)大,接口模塊包括SPI、SCI、FC、A/D、PWM等。采用增強(qiáng)型16位S12CPU,加入鎖相環(huán)電路,可產(chǎn)生高于外部晶振頻率的時鐘信號,片內(nèi)總線時鐘頻率最高達(dá)25 MHz;具有12.KB RAM、2 KB的EEPROM;2個異步串行通信接口(SCI),1個同步串行設(shè)備接口(SPI),1個FC總線接口(12C);1個8通道16位定時器(TIM),1個16通道10位模數(shù)轉(zhuǎn)換器(ATD),1個6通道脈沖寬度調(diào)制器(PWM),2個CAN控制器模塊(兼容CAN 2.0 A/B)。此外,這款MCU還集成1個32x4的液晶驅(qū)動模塊(LCD)。再有該單片機(jī)的背景調(diào)試模式(BDM)和CodeWarrior開發(fā)環(huán)境,使應(yīng)用該款單片機(jī)的總線式汽車數(shù)字儀表的外圍硬件電路相對簡化,開發(fā)過程簡單、方便。
2.2 步進(jìn)電機(jī)及其驅(qū)動
步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的轉(zhuǎn)換器,且其轉(zhuǎn)速或線速度與脈沖頻率成正比。步進(jìn)電機(jī)可以用脈沖信號直接進(jìn)行開環(huán)定位控制,無需位置或速度傳感器。VID29系列步進(jìn)電機(jī)內(nèi)置減速比180/1的齒輪系,可工作于5~10 V的脈沖下。在微步模式下,1個脈沖可使轉(zhuǎn)子轉(zhuǎn)動15°,相應(yīng)輸出軸轉(zhuǎn)動(1/12)°,最大角速度600°/s。每片VId66-06儀表步進(jìn)電機(jī)驅(qū)動芯片可同時驅(qū)動4路步進(jìn)電機(jī)以微步模式工作,工作原理如圖2所示。每個步進(jìn)電機(jī)只需2路控制信號。在輸入信號F(SCX)的上升沿驅(qū)動電機(jī)輸出軸轉(zhuǎn)動1個微步,即(1/12)°,輸入信號“CW/CCW”(順時針/逆時針)控制步進(jìn)電機(jī)輸出軸轉(zhuǎn)向。
2.3 CAN節(jié)點(diǎn)設(shè)計
主控器件MC9S12H256集成有支持CAN2.0A/B的CAN控制器,并集成CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對數(shù)據(jù)通信的成幀處理,包括位填充、數(shù)據(jù)塊編碼、CRC校驗(yàn)和優(yōu)先級判別等。選用CAN收發(fā)器PCA82C250,該收發(fā)器適用于汽車中高速(高達(dá)l Mb/s)CAN總線數(shù)據(jù)傳輸。設(shè)置終端電阻(一般為120 Ω)與CAN控制器與物理總線間的接口,以提升總線的差動發(fā)送和接收功能。圖3為CAN接口電路。本文引用地址:http://butianyuan.cn/article/197700.htm
2.4 脈沖信號處理
霍爾式車速傳感器的輸出信號為矩形波。磁電式車速傳感器的輸出信號為正弦波,信號頻率與車速均成正比。速度信號經(jīng)處理電路轉(zhuǎn)換為單片機(jī)能夠處理的矩形波信號,測量車速即測量矩形波頻率。
周期法是利用標(biāo)準(zhǔn)時鐘信號序列填充被測信號的一個或多個周期。通過計數(shù)標(biāo)準(zhǔn)時鐘脈沖個數(shù)來計算被測信號周期的測量方法。被測信號周期為T,參考時基信號周期為τ,標(biāo)準(zhǔn)脈沖個數(shù)為n,被填充的被測信號周期個數(shù)為N,則有:
測量誤差主要來自2部分:一部分是標(biāo)準(zhǔn)時基的相對誤差dτ/τ,由于標(biāo)準(zhǔn)時基是由單片機(jī)內(nèi)部的石英晶振產(chǎn)生的,這部分誤差通常在10-6以下,可忽略;另一部分是計數(shù)誤差dn/n,該誤差產(chǎn)生的原理如圖4所示。
時基信號序列的最后一個正跳變未處在被填充的被測信號范圍內(nèi),可產(chǎn)生的最大計數(shù)誤差為-1。這部分誤差在低速時很小,在高速時稍大。以車輛特征系數(shù)(車輛行駛每公里里程時速度傳感器的轉(zhuǎn)數(shù))為l 320,8脈沖車速傳感器為例,標(biāo)準(zhǔn)時基信號周期為50 μs,車速為100 km/h時。最大相對誤差為1.47%,車速為180 km/h時,最大相對誤差為2.64%。完全符合汽車摩托車儀表標(biāo)準(zhǔn)QC/T727-2004中對車速表誤差的基本要求。適當(dāng)降低時基信號周期τ和高速時增加N值可減小誤差。周期法計算車速V:
式中,Z為輪速傳感器旋轉(zhuǎn)一周輸出脈沖個數(shù);Ω為車輛特征系數(shù),即汽車每行駛1 km輪速傳感器的轉(zhuǎn)數(shù)。
評論