<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于MC9S12HY32的電動(dòng)汽車(chē)儀表盤(pán)設計

基于MC9S12HY32的電動(dòng)汽車(chē)儀表盤(pán)設計

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

引言:

本文引用地址:http://dyxdggzs.com/article/196428.htm
電動(dòng)汽車(chē)儀表盤(pán)是一種集LED、LCD顯示技術(shù)、步進(jìn)電機控制技術(shù)于一體,適應電動(dòng)汽車(chē)電子化、數字化、信息化發(fā)展的高新技術(shù)產(chǎn)品,它是駕駛員與汽車(chē)進(jìn)行信息交流的窗口,是一個(gè)多信息顯示平臺,顯示電機狀態(tài)、電池組狀態(tài)、行駛信息、底盤(pán)信息、指示報警等其它信息。FreescaleHY32是汽車(chē)儀表盤(pán)設計專(zhuān)用16U,筆者以HY32為核心設計了一款電動(dòng)汽車(chē)儀表盤(pán),它采用步進(jìn)電機進(jìn)行指針的指示,具有很好的數據控制特性,并能及時(shí)反映汽車(chē)加減速、電壓電流上升與下降等各種工況,提高了整個(gè)系統的平穩性和定位精度,同時(shí)保留了機械指針指示的直觀(guān)、有動(dòng)感、符合駕駛員習慣等優(yōu)點(diǎn)。采用LED顯示轉向燈、遠近光變換、車(chē)門(mén)狀態(tài)、安全帶未系提示、充電指示、報警等狀態(tài)1,采用LCD數字顯示里程表和故障狀態(tài)。本文介紹HY32的功能特性和應用要點(diǎn),并剖析電動(dòng)汽車(chē)儀表盤(pán)的設計原理和軟硬件結構。
1 硬件設計
1.1 9S12HY32簡(jiǎn)介
9S12HY32是一款可擴展入門(mén)級的汽車(chē)儀表盤(pán)應用16位微控制器,集16位性能和許多專(zhuān)用功能于一身2,如LCD驅動(dòng)和步進(jìn)電機驅動(dòng),同時(shí)服務(wù)于需要CAN/LIN的應用,非常適合經(jīng)濟高效的汽車(chē)儀表盤(pán)應用。其芯片資源及特性如下3
1、32MHz總線(xiàn)頻率的HCS12 CPU內核;
2、帶有ECC(錯誤校正碼)的32KB程序閃存和4KB數據閃存,4KB片內SRAM;
3、字段式LCD控制器,最多可配置為40x4段;
4、4個(gè)步進(jìn)電機控制器,可以進(jìn)行電機失速檢測;
5、兩個(gè)16位定時(shí)器模塊,可提供16位輸入捕捉、輸出比較、計數和脈沖累加器功能;
6、8通道10位逐次逼近型ADC;
7、SPI/I2C模塊,一個(gè)SCI模塊,支持 LIN 2.0、2.1SAE J2602 通信;
8、MSCAN模塊,支持 CAN 協(xié)議 2.0A/B。
1.2 系統結構
儀表盤(pán)由CAN總線(xiàn)接口、信號采集電路、步進(jìn)電機、LCD、LED、報警裝置組成,用于各種工況下汽車(chē)運行信息的采集和顯示,圖1給出了儀表盤(pán)硬件結構,下面結合S12HY32的內部資源介紹下儀表盤(pán)的硬件設計。

1 儀表盤(pán)硬件結構圖
Picture 1:Dashboard hardware architecture
S12HY32內部資源專(zhuān)為儀表應用而設計,4個(gè)步進(jìn)電機驅動(dòng)器可以進(jìn)行車(chē)速、電機轉速、電流和電池組電壓的指針指示,LCD控制器可以控制字段式LCD顯示總里程、小計里程和電機故障信息,內部有MSCAN模塊支持CAN總線(xiàn)應用,可以通過(guò)CAN總線(xiàn)獲取一些關(guān)鍵信息,同時(shí)保留直接進(jìn)行信息采集的能力:內置定時(shí)捕捉模塊可以進(jìn)行車(chē)速/電機轉速脈沖的捕捉與統計,內置ADC進(jìn)行電機溫度等模擬量的采集。下面以車(chē)速信號檢測為例介紹下儀表盤(pán)電路設計。
1.3 車(chē)速信號檢測
車(chē)速是儀表盤(pán)需要顯示的關(guān)鍵信息,根據汽車(chē)原理和拓撲結構,車(chē)速信號來(lái)源是CAN總線(xiàn)或者車(chē)速傳感器。車(chē)速傳感器輸出0-12V的脈沖信號,其信號頻率大小與車(chē)速值大小成線(xiàn)性關(guān)系,隨車(chē)速增加而增加4,通過(guò)圖2所示的整形電路將車(chē)速傳感器信號轉換為TTL電平,然后通過(guò)定時(shí)捕捉模塊捕捉脈沖信號的上升沿或下降沿,進(jìn)行統計分析即可得到車(chē)速大小。

2 車(chē)速信號檢測電路
Picture 1:Speed signal detection circuit
2 軟件設計
2.1 軟件流程設計
因為沒(méi)有采用操作系統,軟件設計采用循環(huán)體+中斷的軟件結構5,主循環(huán)體完成主體功能,中斷服務(wù)程序進(jìn)行底層協(xié)議設計和驅動(dòng)管理,軟件流程圖如圖3所示,下面簡(jiǎn)單介紹一下該流程。首先進(jìn)行全局變量和所用外設(包括IO、PWM、TIMER、SCI、CAN、LCD、MOTOR CONTROLLER)的初始化,初始化完成后,進(jìn)入主循環(huán),然后在循環(huán)體內依次進(jìn)行定時(shí)器管理、開(kāi)關(guān)信號檢測、車(chē)速檢測、CAN通訊管理、里程計算及存儲、報警控制、LCD控制和步進(jìn)電機控制。各軟件模塊次序如圖三所示。下面以車(chē)速檢測為例介紹下軟件的詳細設計。

3 軟件流程圖
Picture 3 Software Process
2.2車(chē)速信號檢測軟件設計
車(chē)速信號整形后得到TTL脈沖,S12HY32的定時(shí)捕捉模塊以中斷的方式捕捉脈沖的沿變化6,在中斷處理函數中進(jìn)行脈沖個(gè)數累加。設計脈沖統計結構體和一200ms的周期定時(shí)器,采用“滑動(dòng)時(shí)間窗口脈沖統計法”進(jìn)行車(chē)速的計算,脈沖統計結構體設計如下:
typedef struct{
uint8_t bank;
uint16_t cnt;
}s_PulseCnt;
在上述結構體中,cnt表示脈沖個(gè)數,bank表示數據是否有效?;瑒?dòng)時(shí)間窗口脈沖統計法設計如下:
定義成員個(gè)數為6的脈沖統計結構體數組Speed_pulse[6],周期性存儲車(chē)速脈沖個(gè)數,脈沖率等價(jià)于一秒內的脈沖個(gè)數,則有公式如下:
脈沖頻率=(Speed_pulse[5].cnt-Speed_pulse[0].cnt) (2-1)
車(chē)速=脈沖頻率*FACTOR (2-2)
FACTOR由變速比和輪胎直徑共同決定。
當下計算的車(chē)速表示過(guò)去1秒內的平均車(chē)速,在下一個(gè)200ms到達后,將下標為15的結構體變量依次“滑動(dòng)復制”到下標為04的結構體變量中,然后更新下標為5的結構體變量,此時(shí)根據公式2-1和公式2-2進(jìn)行計算得到的車(chē)速為0.2-1.2秒之間的平均速度。這種方式計算得到的車(chē)速實(shí)時(shí)性更強,而且車(chē)速變化更加平滑,反映在指針的變化上也更加平穩平滑,能得到更佳的視覺(jué)體驗,其代碼實(shí)現如下:
void SpeedDetect(void)
{
uint16_t i,j;
uint16_t Carspeed_pulse_frequency=0;
if(1==Speed_detect_enable){
if(1==Timer[SPEED_PULSE_ACCUMU_200MS].overflow_flag){
for(i=0;i=5;i++){
if(0==Speed_pulse[i].bank){
Speed_pulse[i].cnt=Car_speed_pulses;
Speed_pulse[i].bank=1;
if(5==i){
Carspeed_pulse_frequency=Speed_pulse[5].cnt-Speed_pulse[0].cnt;
Ev_speed=(float32_t)Carspeed_pulse_frequency*CAR_PULSE_FACTOR;
EvSpeedRangeCheck();
for(j=0;j5;j++){
Speed_pulse[j].cnt=Speed_pulse[j+1].cnt;
}
Speed_pulse[i].bank=0;
}
break;
}
}
}
}
}
結語(yǔ)
筆者采用S12HY32設計實(shí)現了一款電動(dòng)汽車(chē)儀表盤(pán),從處理器特性、硬件結構、車(chē)速信號檢測等方面描述了儀表盤(pán)的硬件設計,從軟件流程設計,車(chē)速信號檢測的軟件實(shí)現上描述了儀表盤(pán)的軟件設計。該儀表盤(pán)經(jīng)裝車(chē)試驗,運行穩定,功能可靠,已經(jīng)進(jìn)入小批量預生產(chǎn)階段,具有很高的實(shí)用價(jià)值。
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


關(guān)鍵詞: MC9 S12 MC 9S

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>