基于CAN總線及藍(lán)牙技術(shù)的汽車電子產(chǎn)品的開發(fā)及測(cè)試
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
在汽車電子系統(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)用??梢哉fCAN總線的出現(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)域后,其開發(fā)與測(cè)試遇到了一定的挑戰(zhàn),筆者結(jié)合為某整車廠商開發(fā)的一款基于CAN總線及藍(lán)牙技術(shù)的車載信息娛樂設(shè)備,介紹基于CAN總線及藍(lán)牙技術(shù)的汽車電子產(chǎn)品開發(fā)及測(cè)試中的關(guān)鍵技術(shù)。
產(chǎn)品開發(fā)
該產(chǎn)品是一個(gè)集成USB音頻播放、藍(lán)牙免提、藍(lán)牙音頻流播放等功能于一體的汽車電控單元(以下以USB-BOX來表示),通過CAN總線與車內(nèi)音響系統(tǒng)組合為一體,實(shí)現(xiàn)播放普通U盤內(nèi)音樂文件(MP3、WAV、WMA等),同時(shí)可以通過藍(lán)牙功能實(shí)現(xiàn)免提接聽、撥打電話及播放流媒體音樂等[1]。音響系統(tǒng)包括液晶屏、收音機(jī)、方向盤和USB-BOX,其中液晶屏用于實(shí)現(xiàn)歌曲文件信息、電話相關(guān)信息以及電話本的顯示等功能,收音機(jī)實(shí)現(xiàn)CD音樂播放及控制等功能,收音機(jī)和方向盤上帶有按鍵控制接口,實(shí)現(xiàn)對(duì)USB-BOX的音樂控制和免提操作,系統(tǒng)結(jié)構(gòu)如圖1所示。
在這個(gè)CAN網(wǎng)絡(luò)汽車音響系統(tǒng)中,收音機(jī)和方向盤CAN節(jié)點(diǎn)提供人機(jī)操作接口控制USB-BOX,而USB音樂播放和藍(lán)牙免提功能相關(guān)的液晶屏顯示頁面則由USB-BOX來控制。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)的過程節(jié)點(diǎn)做為子狀態(tài),以過程的推進(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)該顯示什么樣的頁面,提供什么樣的顯示信息和導(dǎo)航選擇,在該頁面下收音機(jī)和方向盤按鍵操作對(duì)應(yīng)哪些控制命令,可以實(shí)現(xiàn)哪些選擇性的操作(選擇、退出、向上向下導(dǎo)航、向前向后導(dǎo)航)[3],由USB-BOX和收音機(jī)共同管理。而藍(lán)牙信號(hào)涉及到不同手機(jī)在同一功能上的不同差異,信息組合不完整,次序不固定,這就會(huì)帶來一定的兼容性問題[5]。下面以電管理為例描述一下狀態(tài)機(jī)的設(shè)計(jì)。
首先根據(jù)整個(gè)來電管理的過程設(shè)計(jì)Ready、IncomingCallEstablish、ActiveCall三個(gè)狀態(tài),USB-BOX默認(rèn)起始狀態(tài)為Ready,當(dāng)手機(jī)來電時(shí),手機(jī)把藍(lán)牙信號(hào)CALL_SETUP_IND(呼叫過程提示)、RING_IND(來電響鈴提示)和CALLER_ID_IND(來電號(hào)碼)等來電信息傳給USB-BOX,USB-BOX進(jìn)入IncomingCallEstablish狀態(tài),通過CAN幀將響鈴提示信息發(fā)送給管理功放音響的收音機(jī),把來電號(hào)碼發(fā)送給液晶屏,這時(shí)收音機(jī)播放鈴聲,同時(shí)液晶屏上彈出顯示頁面,包括該電話號(hào)碼,并提供是否接聽的兩個(gè)可導(dǎo)航選項(xiàng),這個(gè)頁面的標(biāo)識(shí)符便是來電管理標(biāo)識(shí)符。這時(shí)可以利用收音機(jī)上的導(dǎo)航按鍵選擇是否接聽,在導(dǎo)航到接聽按鍵上按下選擇鍵時(shí),收音機(jī)會(huì)把接聽來電命令發(fā)送給USB-BOX,USB-BOX通過藍(lán)牙信號(hào)把接聽來電命令發(fā)給手機(jī),手機(jī)接聽來電,通話建立后手機(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)航頁面,包括掛斷、保持選項(xiàng),選擇掛斷,收音機(jī)把掛斷命令通過CAN幀發(fā)送給USB-BOX,USB-BOX通過藍(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í)通過CAN幀把通話結(jié)束發(fā)送給液晶屏和收音機(jī)。
產(chǎn)品測(cè)試
下面以該產(chǎn)品藍(lán)牙特性的測(cè)試來說明一下如何綜合采用CAN總線及藍(lán)牙技術(shù)完成對(duì)該產(chǎn)品的藍(lán)牙測(cè)試,在這里將被測(cè)試的產(chǎn)品以EUT來表示。
由于無法搭建產(chǎn)品運(yùn)行時(shí)需要的所有外部環(huán)境去直接測(cè)試產(chǎn)品的各項(xiàng)功能,所以設(shè)計(jì)了測(cè)試工裝在生產(chǎn)線上對(duì)產(chǎn)品進(jìn)行測(cè)試,同時(shí)由于EUT實(shí)現(xiàn)的功能比較多,完成單個(gè)EUT測(cè)試需要的時(shí)間比較長(zhǎng),這樣為了滿足生產(chǎn)節(jié)拍的快節(jié)奏,在生產(chǎn)線上需要多個(gè)工裝分別測(cè)試多個(gè)EUT。EUT的藍(lán)牙特性是指其藍(lán)牙射頻通信上是否穩(wěn)定,軟件是否正常運(yùn)行,不涉及具體的功能項(xiàng),我們通過確定EUT的信號(hào)強(qiáng)度來判斷其射頻通信,通過一個(gè)具體的功能項(xiàng)-配對(duì)來判斷其軟件是否正常運(yùn)行。
下面首先描述一下測(cè)試環(huán)境及測(cè)試方法,然后詳細(xì)介紹測(cè)試方法的實(shí)現(xiàn)。
由于EUT是有效范圍為10m的Class 2藍(lán)牙設(shè)備,而生產(chǎn)線本身就10米左右,在10m范圍內(nèi)存在多個(gè)測(cè)試工裝和多個(gè)EUT,所以為了保證測(cè)試工裝確實(shí)在測(cè)試其測(cè)試臺(tái)上的EUT,需要確定工裝測(cè)試臺(tái)上這個(gè)特定EUT的藍(lán)牙地址以進(jìn)行后續(xù)的配對(duì)功能以完成測(cè)試。由于測(cè)試工裝與其測(cè)試臺(tái)上的EUT距離是固定的,而且在某測(cè)試工裝和多個(gè)EUT之間,工裝與其測(cè)試臺(tái)上的EUT的距離是最近的,所以在測(cè)試工裝上實(shí)現(xiàn)可以測(cè)量被搜索設(shè)備的信號(hào)強(qiáng)度的搜索功能[4],對(duì)有效范圍內(nèi)的EUT進(jìn)行搜索,只要測(cè)試臺(tái)上的EUT的信號(hào)強(qiáng)度是OK的,那么信號(hào)強(qiáng)度最強(qiáng)的藍(lán)牙地址便是工裝測(cè)試臺(tái)上的EUT所對(duì)應(yīng)的藍(lán)牙地址。
而EUT配對(duì)過程的實(shí)現(xiàn)(圖2)是一個(gè)典型的采用CAN總線及藍(lán)牙技術(shù)綜合實(shí)現(xiàn)的功能,首先EUT將來自藍(lán)牙手機(jī)的配對(duì)請(qǐng)求通過CAN總線發(fā)送到液晶屏上顯示,然后利用收音機(jī)上的按鍵允許配對(duì),通過CAN總線發(fā)送給EUT,EUT接著把彈出PIN碼虛擬鍵盤請(qǐng)求發(fā)送到液晶屏上,接著在液晶屏上的虛擬鍵盤上通過收音機(jī)上的按鍵輸入PIN碼,然后通過CAN總線把PIN碼發(fā)送到EUT上,EUT接受藍(lán)牙手機(jī)配對(duì),發(fā)送PIN碼完成配對(duì)。
在這里約定一個(gè)統(tǒng)一的PIN碼,只需要在測(cè)試工裝上實(shí)現(xiàn)藍(lán)牙配對(duì)、接收EUT通過CAN總線發(fā)送的配對(duì)請(qǐng)求、通過CAN總線發(fā)送允許配對(duì)命令及發(fā)送PIN碼到EUT的功能即可完成對(duì)EUT配對(duì)功能的測(cè)試。如果測(cè)試臺(tái)上EUT藍(lán)牙特性O(shè)K,便可以順利完成配對(duì)操作,如果該EUT的信號(hào)強(qiáng)度沒有滿足要求,而通過搜索最強(qiáng)信號(hào)強(qiáng)度得到的藍(lán)牙地址是另外一個(gè)EUT的話,由于測(cè)試工裝跟另外一臺(tái)工裝測(cè)試臺(tái)上的EUT不存在CAN總線連接,所以無法接收配對(duì)請(qǐng)求,在這里設(shè)定一個(gè)超時(shí)時(shí)間,便可以得出EUT測(cè)試不OK的結(jié)論。
結(jié)語
筆者開發(fā)了一款基于CAN總線及藍(lán)牙技術(shù)的汽車電子產(chǎn)品,該產(chǎn)品運(yùn)行穩(wěn)定可靠,目前已經(jīng)成功裝車應(yīng)用,本文分析了其產(chǎn)品開發(fā)及測(cè)試的原理及特點(diǎn),并結(jié)合具體實(shí)例介紹了開發(fā)及測(cè)試的實(shí)現(xiàn)。