基于CAN總線及藍(lán)牙技術(shù)的汽車電子產(chǎn)品的開(kāi)發(fā)及測(cè)試
引言
本文引用地址:http://www.ex-cimer.com/article/110156.htm在汽車電子系統(tǒng)中,CAN總線通信技術(shù)不僅減少了線束減輕了汽車重量從而提高了效率,更重要的是它實(shí)現(xiàn)了汽車電子網(wǎng)絡(luò)的信息共享和數(shù)據(jù)傳輸,利用它可以把某項(xiàng)應(yīng)用按照功能分拆在不同的組件中實(shí)現(xiàn),這樣在實(shí)現(xiàn)各個(gè)功能子系統(tǒng)時(shí)非常靈活,系統(tǒng)中組件的使用更廣泛更充分,單個(gè)組件可以在多個(gè)功能系統(tǒng)中被應(yīng)用。可以說(shuō)CAN總線的出現(xiàn)更好地體現(xiàn)了網(wǎng)絡(luò)復(fù)用的特點(diǎn)。藍(lán)牙技術(shù)在消費(fèi)電子領(lǐng)域中的成功運(yùn)用經(jīng)驗(yàn)推廣到汽車電子領(lǐng)域后,其開(kāi)發(fā)與測(cè)試遇到了一定的挑戰(zhàn),筆者結(jié)合為某整車廠商開(kāi)發(fā)的一款基于CAN總線及藍(lán)牙技術(shù)的車載信息娛樂(lè)設(shè)備,介紹基于CAN總線及藍(lán)牙技術(shù)的汽車電子產(chǎn)品開(kāi)發(fā)及測(cè)試中的關(guān)鍵技術(shù)。
產(chǎn)品開(kāi)發(fā)
該產(chǎn)品是一個(gè)集成USB音頻播放、藍(lán)牙免提、藍(lán)牙音頻流播放等功能于一體的汽車電控單元(以下以USB-BOX來(lái)表示),通過(guò)CAN總線與車內(nèi)音響系統(tǒng)組合為一體,實(shí)現(xiàn)播放普通U盤內(nèi)音樂(lè)文件(MP3、WAV、WMA等),同時(shí)可以通過(guò)藍(lán)牙功能實(shí)現(xiàn)免提接聽(tīng)、撥打電話及播放流媒體音樂(lè)等[1]。音響系統(tǒng)包括液晶屏、收音機(jī)、方向盤和USB-BOX,其中液晶屏用于實(shí)現(xiàn)歌曲文件信息、電話相關(guān)信息以及電話本的顯示等功能,收音機(jī)實(shí)現(xiàn)CD音樂(lè)播放及控制等功能,收音機(jī)和方向盤上帶有按鍵控制接口,實(shí)現(xiàn)對(duì)USB-BOX的音樂(lè)控制和免提操作,系統(tǒng)結(jié)構(gòu)如圖1所示。
在這個(gè)CAN網(wǎng)絡(luò)汽車音響系統(tǒng)中,收音機(jī)和方向盤CAN節(jié)點(diǎn)提供人機(jī)操作接口控制USB-BOX,而USB音樂(lè)播放和藍(lán)牙免提功能相關(guān)的液晶屏顯示頁(yè)面則由USB-BOX來(lái)控制。USB-BOX的程序設(shè)計(jì)采用基于有限狀態(tài)自動(dòng)機(jī)的軟件架構(gòu),將整個(gè)控制流按照功能分解為若干并發(fā)的子狀態(tài)機(jī),每個(gè)狀態(tài)機(jī)被實(shí)現(xiàn)為一個(gè)任務(wù),在子狀態(tài)機(jī)中將該功能實(shí)現(xiàn)的過(guò)程節(jié)點(diǎn)做為子狀態(tài),以過(guò)程的推進(jìn)作為狀態(tài)機(jī)的跳轉(zhuǎn),這樣使得整個(gè)系統(tǒng)構(gòu)架清晰,簡(jiǎn)化了實(shí)現(xiàn),便于系統(tǒng)調(diào)試和后續(xù)功能擴(kuò)展[2]。
在狀態(tài)機(jī)的實(shí)現(xiàn)中,關(guān)鍵跳轉(zhuǎn)條件是CAN幀和藍(lán)牙信號(hào),CAN幀方面主要是標(biāo)識(shí)符的管理,標(biāo)識(shí)符是指當(dāng)前液晶屏應(yīng)該顯示什么樣的頁(yè)面,提供什么樣的顯示信息和導(dǎo)航選擇,在該頁(yè)面下收音機(jī)和方向盤按鍵操作對(duì)應(yīng)哪些控制命令,可以實(shí)現(xiàn)哪些選擇性的操作(選擇、退出、向上向下導(dǎo)航、向前向后導(dǎo)航)[3],由USB-BOX和收音機(jī)共同管理。而藍(lán)牙信號(hào)涉及到不同手機(jī)在同一功能上的不同差異,信息組合不完整,次序不固定,這就會(huì)帶來(lái)一定的兼容性問(wèn)題[5]。下面以電管理為例描述一下?tīng)顟B(tài)機(jī)的設(shè)計(jì)。
首先根據(jù)整個(gè)來(lái)電管理的過(guò)程設(shè)計(jì)Ready、IncomingCallEstablish、ActiveCall三個(gè)狀態(tài),USB-BOX默認(rèn)起始狀態(tài)為Ready,當(dāng)手機(jī)來(lái)電時(shí),手機(jī)把藍(lán)牙信號(hào)CALL_SETUP_IND(呼叫過(guò)程提示)、RING_IND(來(lái)電響鈴提示)和CALLER_ID_IND(來(lái)電號(hào)碼)等來(lái)電信息傳給USB-BOX,USB-BOX進(jìn)入IncomingCallEstablish狀態(tài),通過(guò)CAN幀將響鈴提示信息發(fā)送給管理功放音響的收音機(jī),把來(lái)電號(hào)碼發(fā)送給液晶屏,這時(shí)收音機(jī)播放鈴聲,同時(shí)液晶屏上彈出顯示頁(yè)面,包括該電話號(hào)碼,并提供是否接聽(tīng)的兩個(gè)可導(dǎo)航選項(xiàng),這個(gè)頁(yè)面的標(biāo)識(shí)符便是來(lái)電管理標(biāo)識(shí)符。這時(shí)可以利用收音機(jī)上的導(dǎo)航按鍵選擇是否接聽(tīng),在導(dǎo)航到接聽(tīng)按鍵上按下選擇鍵時(shí),收音機(jī)會(huì)把接聽(tīng)來(lái)電命令發(fā)送給USB-BOX,USB-BOX通過(guò)藍(lán)牙信號(hào)把接聽(tīng)來(lái)電命令發(fā)給手機(jī),手機(jī)接聽(tīng)來(lái)電,通話建立后手機(jī)把藍(lán)牙信號(hào)CALL_IND=1(呼叫建立)發(fā)送給USB-BOX,USB-BOX進(jìn)入ActiveCall狀態(tài),在該狀態(tài)下,在收音機(jī)上按下選擇鍵時(shí),USB-BOX接收到該按鍵操作命令,發(fā)送CAN幀給液晶屏,彈出一個(gè)可導(dǎo)航頁(yè)面,包括掛斷、保持選項(xiàng),選擇掛斷,收音機(jī)把掛斷命令通過(guò)CAN幀發(fā)送給USB-BOX,USB-BOX通過(guò)藍(lán)牙信號(hào)發(fā)送給手機(jī)掛斷電話,掛斷后手機(jī)把藍(lán)牙信號(hào)CALL_IND=0(通話結(jié)束)發(fā)送給USB-BOX,USB-BOX進(jìn)入Ready狀態(tài),同時(shí)通過(guò)CAN幀把通話結(jié)束發(fā)送給液晶屏和收音機(jī)。
藍(lán)牙技術(shù)相關(guān)文章:藍(lán)牙技術(shù)原理
評(píng)論