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