《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 設(shè)計應用 > 藍牙車載音頻流播放器的設(shè)計與實現(xiàn)
藍牙車載音頻流播放器的設(shè)計與實現(xiàn)
來源:微型機與應用2010年第9期
馬建輝1,馬共立2,王 勇1
1.山東省科學院自動化研究所 汽車電子實驗室,山東 濟南 250014;2.哈爾濱威克科技股份有限公
摘要: 設(shè)計了一款在車載娛樂系統(tǒng)中使用的藍牙音頻流播放器,采用A2DP實現(xiàn)音樂數(shù)字音頻流的傳輸,采用AVRCP實現(xiàn)對音樂的遠程控制和信息讀取,介紹了該播放器的若干設(shè)計技術(shù)。
關(guān)鍵詞: 車載娛樂 藍牙 音頻流 A2DP AVRCP
Abstract:
Key words :

摘  要: 設(shè)計了一款在車載娛樂系統(tǒng)中使用的藍牙音頻流播放器,采用A2DP實現(xiàn)音樂數(shù)字音頻流的傳輸,采用AVRCP實現(xiàn)對音樂的遠程控制和信息讀取,介紹了該播放器的若干設(shè)計技術(shù)。
關(guān)鍵詞: 藍牙;音頻流;A2DP;AVRCP

    現(xiàn)在的車載信息娛樂系統(tǒng)中標準配置有帶CD播放功能的收音機、液晶屏,其他可選配置有GPS和藍牙免提裝置等設(shè)備。隨著藍牙技術(shù)在音視頻傳輸中的應用,一種可以增強用戶娛樂體驗的藍牙音頻流播放功能正逐步在車載信息娛樂系統(tǒng)中得到應用。藍牙音頻流播放功能是指將藍牙MP3或藍牙手機上的音樂通過藍牙以流媒體的方式傳輸?shù)竭h端設(shè)備上進行解碼后通過遠端設(shè)備的功放系統(tǒng)播放,同時遠端設(shè)備還帶有遠程控制功能,使得用戶可以在遠端設(shè)備上操作音樂,使其暫停、播放、快進快退或進行上下首切換。筆者設(shè)計實現(xiàn)了一款藍牙車載音頻流播放器,該播放器和收音機及液晶屏之間通過CAN總線進行連接,控制操作在收音機上實現(xiàn),液晶屏顯示音樂的tagID3、播放時間、音軌、總音軌等信息,控制命令和播放信息都是通過CAN總線進行傳輸。從用戶的使用角度來說,該藍牙音頻流播放器是和收音機、液晶屏組成一套系統(tǒng)的。
1 系統(tǒng)結(jié)構(gòu)
    系統(tǒng)結(jié)構(gòu)如圖1所示。音頻流播放器、液晶屏和收音機組成一個車載娛樂系統(tǒng)的CAN網(wǎng)絡(luò),控制命令及狀態(tài)信息均通過CAN總線傳輸,其中收音機帶有功放,直接驅(qū)動汽車喇叭,并統(tǒng)一管理包括FM、CD和音頻流播放器的音頻輸出在內(nèi)的音源。音頻流播放器和藍牙手機通過藍牙進行交互,采用A2DP(Advanced Audio Distribution Profile)完成音樂音頻流數(shù)據(jù)及相關(guān)格式信息的傳輸,通過AVRCP(Audio/Video Remote Control Profile)完成對音樂的遠程播放控制及播放信息及狀態(tài)的讀取。在A2DP中引入了2個終端名:SRC(Source)和SNK(Sink)。在這里,數(shù)字音頻流的數(shù)據(jù)發(fā)送端藍牙手機稱為SRC,數(shù)字音頻流的接收端藍牙音頻流播放器稱為SNK。

2 硬件設(shè)計
    藍牙音頻流播放器的硬件設(shè)計中,包括CAN通訊、藍牙子系統(tǒng)和音頻系統(tǒng)3個部分,其中藍牙子系統(tǒng)和音頻系統(tǒng)部分采用CSR的藍牙單芯片Bluecore5-MutiMedia(以下簡稱BC5)實現(xiàn)。該芯片集成了MCU實現(xiàn)藍牙協(xié)議棧及應用,集成了性能高達64MIPS的DSP實現(xiàn)音樂文件的編解碼,集成了CODEC、音頻ADC及DAC,實現(xiàn)了音頻輸入輸出功能,圖2描述了基于該芯片的硬件設(shè)計。
    由圖2可見,BC5內(nèi)部集成了藍牙射頻及基帶控制、MCU、DSP和音頻CODEC,只需要很少的外圍元件便能完成電路設(shè)計。

3 播放控制狀態(tài)機的設(shè)計
    藍牙音頻流的遠程播放控制使得用戶可以使用車載收音機上控制CD音樂的按鍵來控制藍牙手機上的音樂,控制操作包括播放、暫停、上一首、下一首、快進和快退,通過AVRCP(音視頻遠程控制剖面)命令實現(xiàn)。考慮到用戶操作隨機性很強及藍牙手機的音頻流支持特性不同的問題,需要設(shè)計一個完善的遠程播放控制狀態(tài)機來保證良好的操作體驗。
    遠程播放控制狀態(tài)機是個組合式狀態(tài)機,包括2個小的狀態(tài)機:(1)狀態(tài)為藍牙手機音樂狀態(tài),輸入為人機接口操作,在人機接口操作的處理中判斷當前音樂狀態(tài),決定輸出的AVRCP命令;(2)狀態(tài)為人機接口操作或者說“期望狀態(tài)”,輸入為藍牙手機音樂當前狀態(tài)的更新,在音樂狀態(tài)更新的處理中根據(jù)期望狀態(tài)決定輸出的AVRCP命令。把人機接口操作稱為“期望狀態(tài)”,把當前音樂狀態(tài)稱為“實際狀態(tài)”,這兩個狀態(tài)機的原理便是當期望狀態(tài)和實際狀態(tài)不一致時,發(fā)送可以達到期望狀態(tài)的AVRCP命令。下面詳細介紹下狀態(tài)機的設(shè)計要點。
    首先每個人機操作的控制命令在AVRCP上都對應2個命令,對于播放、暫停、上一首、下一首操作,命令是連續(xù)執(zhí)行的,比如暫停操作便是在AVRCP上連續(xù)執(zhí)行PAUSE_PRESS和PAUSE_RELEASE命令;而對于快進命令,則是先執(zhí)行FF_PRESS命令,在快進按鍵松開時再執(zhí)行FF_RELEASE命令。
    音樂狀態(tài)(包括期望狀態(tài)和實際狀態(tài))包括2個穩(wěn)定狀態(tài)(播放狀態(tài)PLAY、暫停狀態(tài)PAUSE)和2個中間狀態(tài)(快進狀態(tài)FF和快退狀態(tài)FB)。對于PLAY和PAUSE狀態(tài),由于藍牙手機的播放鍵和暫停鍵是一個乒乓按鍵,即暫停狀態(tài)下按下會啟動播放,播放狀態(tài)下按下會引起暫停,所以如果實際狀態(tài)和期望狀態(tài)一致時便不發(fā)送AVRCP命令,而且對于用戶在手機上進行操作引起的實際狀態(tài)和期望狀態(tài)的不一致,也不發(fā)送任何AVRCP命令,否則會造成本該暫停卻播放或本該播放卻暫停的錯誤。對于快進快退,首先在快進快退中不要判斷當前音樂是暫停還是播放,其次因為部分手機在快進快退結(jié)束后會先把音樂暫停一下再播放,所以不要在快進快退剛結(jié)束時便調(diào)用播放控制狀態(tài)機,需要延遲一段時間處理。
4 音頻流狀態(tài)處理及信息解析
    流媒體信息包括編解碼格式及采樣率設(shè)置、音樂播放狀態(tài)、當前播放時間、TagID3信息等。首先藍牙傳輸?shù)臄?shù)據(jù)為編碼后的音樂文件,SRC端實現(xiàn)編碼,SINK端實現(xiàn)解碼,所以首先要按照編碼格式選擇相應的解碼器,其次還需要在本地音頻輸出端設(shè)置同樣的采樣頻率。
    播放狀態(tài)對應于播放模式,包括播放、暫停、快進、快退4種狀態(tài),其中播放和暫停是對播放控制狀態(tài)機非常關(guān)鍵的狀態(tài)。對無法把播放和暫停狀態(tài)發(fā)送上來的藍牙手機,需要設(shè)計一種方法來判斷當前音樂處于哪種狀態(tài)。音樂在播放狀態(tài)時,流媒體音樂數(shù)據(jù)通過藍牙從SRC端傳輸?shù)絊NK端,SNK端將該藍牙數(shù)據(jù)傳輸?shù)紹C5的DSP中進行解碼,所以可以通過判斷DSP的解碼器緩存中是否有數(shù)據(jù)來判斷當前音樂狀態(tài),如果沒有數(shù)據(jù)則音樂處于暫停狀態(tài)。
    當前播放時間、TagID3信息需要AVRCP V1.3的支持,AVRCP V1.3定義了一種獨特格式的TagID3信息,下面以邁克杰克遜的Billie Jean這首音樂為實例分析AVRCP中的TagID3格式,其Tag ID3數(shù)據(jù)為十六進制形式的“0 0 0 1 0 6a 0 b 42 69 6c 6c 69 65 20 4a 65 61 6e 0 0 0 2 0 6a 0 f 4d 69 63 68 61 65 6c 20 4a 61 63 6b 73 6f 6e 0 0 0 3 0 6a 0 0 0 0 0 4 0 6a 0 1 32”。TagID3包括標題名、演唱者、專輯名稱、音軌(第幾首)、總音軌(音樂總數(shù))5個屬性,每條屬性采用“4個字節(jié)的屬性ID+2個字節(jié)的字符集信息+2個字節(jié)的屬性長度+屬性數(shù)據(jù)”的格式,其中屬性ID“0 0 0 1”表示標題名,“0 0 0 2”表示演唱者,“0 0 0 3”表示專輯名稱,“0 0 0 4”表示音軌,“0 0 0 5”表示總音軌,常用字符集為avrcp_char_set_ascii=0 3,avrcp_char_set_utf_8=0 6a。按照上述格式,該音樂標題名為長度為11(0 b)的“42 69 6c 6c 69 65 20 4a 65 61 6e”,即Billie Jean,演唱者為長度為15(0 f)的“4d 69 63 68 61 65 6c 20 4a 61 63 6b 73 6f 6e”,即Michael Jachson,沒有專輯名稱和總音軌(長度為0),音軌為0x32,即第2首歌。
    根據(jù)該格式設(shè)計屬性提取器如下:
    While(m<TagID3_length)
    {
        for (k=0;k<4;k++)
        {   av_streaming[n].attri[k]=TagID3[m];
            m++;
        }                   
       if((av_streaming[n].attri[0]!=0)‖(av_streaming[n].attri[1]!=0)‖(av_streaming[n].attri[2]!=0)‖(av_streaming[n].attri[3]>5))
       {     errorflag=1;
       }
    if(errorflag==0)
    {                                                       for(k=0;k<2;k++)
       {     av_streaming[n].charset[k]=TagID3[m];    
             m++;    
       }
       for (k=0;k<2;k++)       
       {     av_streaming[n].datalength[k]=TagID3[m];       
             m++;
       }            
       av_streaming[n].datalen=av_streaming[n].datalength[1]|(av_streaming[n].datalength[0]<<8);
       for (k=0;k<av_streaming[n].datalen;k++)
       {     av_streaming[n].tagid3data[k]=TagID3[m];
             m++;
       }
             av_streaming[n].tagid3data[av_streaming[n].datalen]=‘\0’;
             n++;
       }
       else
       {     errorflag=0;
       }
    }
    經(jīng)上述代碼的解析,屬性ID在av_streaming[n].attri中,屬性數(shù)據(jù)在長度為av_streaming[n].datalen的數(shù)據(jù)av_streaming[n].tagid3data中。
    本文設(shè)計了一款藍牙車載音頻流播放器。該播放器運行穩(wěn)定可靠,兼容性好,大大方便了用戶的使用,有很好的實用價值。
參考文獻
[1] 蘇民生.藍牙A2DP技術(shù)與音頻應用測試[J].電子設(shè)計應用,2008(11):92-94.
[2] 胡沛茹,芮亞楠.一種藍牙音頻流傳輸方案的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2006(3):31-33.
[3] BluetoothSIG. AUDIO/VIDEO REMOTE CONTROL PROFILE Revision 1.3. 2007-04-16.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
黄色国产精品| 一区二区三区精品国产| 国产精品成人aaaaa网站| 免费一区视频| 免费不卡视频| 美日韩精品免费观看视频| 久久久久中文| 久久九九国产| 久久精品女人| 久久精品一本久久99精品| 香蕉视频成人在线观看| 午夜精品福利在线观看| 亚洲永久在线| 午夜久久一区| 久久国产精品一区二区| 久久久激情视频| 久久在线91| 米奇777超碰欧美日韩亚洲| 麻豆亚洲精品| 欧美极品影院| 欧美日韩一区二区三区在线观看免| 欧美日韩国产在线播放| 欧美日韩亚洲综合在线| 国产精品www.| 国产欧美视频在线观看| 国产夜色精品一区二区av| 国外成人在线视频| 永久免费毛片在线播放不卡| 亚洲福利精品| 日韩亚洲一区二区| 亚洲一区二区三区高清| 欧美在线视频观看| 亚洲美女区一区| 亚洲男人的天堂在线| 欧美一区二区三区免费看 | 国产视频精品免费播放| 国内伊人久久久久久网站视频 | 亚洲精品乱码久久久久久久久| 亚洲乱码日产精品bd| 中文在线一区| 久久爱www久久做| 亚洲精品视频一区| 亚洲一区二区三区中文字幕| 欧美在线免费观看视频| 美日韩精品免费| 欧美丝袜一区二区三区| 国产欧美婷婷中文| 亚洲国产专区| 亚洲欧美另类综合偷拍| 亚洲国产欧美一区| 亚洲综合精品自拍| 老司机一区二区三区| 欧美日韩国产一区精品一区| 国产女主播一区| 亚洲激情精品| 欧美亚洲一区二区在线观看| 亚洲精品在线观看视频| 午夜精彩国产免费不卡不顿大片| 久久久久久久综合色一本| 欧美区二区三区| 国产小视频国产精品| 亚洲黄色小视频| 亚洲男人的天堂在线aⅴ视频| 亚洲欧洲免费视频| 香蕉久久精品日日躁夜夜躁| 欧美大片18| 国产区精品在线观看| 亚洲日本欧美日韩高观看| 亚洲女性裸体视频| av成人动漫| 久久露脸国产精品| 欧美特黄一区| 亚洲国产电影| 性久久久久久| 亚洲天堂成人在线观看| 久久综合久色欧美综合狠狠| 国产精品乱人伦一区二区| 亚洲人成精品久久久久| 欧美在线观看视频在线| 亚洲综合三区| 欧美激情一区二区在线 | 黄色成人av网站| 亚洲午夜未删减在线观看| 亚洲精品视频二区| 久久日韩粉嫩一区二区三区| 欧美亚一区二区| 亚洲国产一二三| 久久精品欧洲| 久久精品国产免费观看| 国产精品进线69影院| 91久久午夜| 91久久夜色精品国产九色| 久久精品国产精品亚洲精品| 国产精品国产三级国产普通话99| 亚洲高清久久网| 亚洲大片精品永久免费| 欧美在线视频观看免费网站| 欧美性事免费在线观看| 亚洲啪啪91| 亚洲精品影视在线观看| 免费成人黄色| 精品999成人| 久久国产成人| 久久精品国产在热久久| 国产精品一区毛片| 日韩亚洲综合在线| 国产精品99久久久久久久久久久久| 久久综合网络一区二区| 国产有码一区二区| 欧美在线观看视频一区二区三区| 性8sex亚洲区入口| 国产精品亚洲第一区在线暖暖韩国| 99精品国产福利在线观看免费| 亚洲麻豆一区| 欧美理论视频| 日韩西西人体444www| 中文精品视频一区二区在线观看| 欧美激情亚洲国产| 最新国产成人在线观看| 日韩视频免费大全中文字幕| 欧美黄色aa电影| 亚洲精品中文字幕在线观看| 99视频在线观看一区三区| 欧美欧美全黄| av成人手机在线| 亚洲欧美日韩人成在线播放| 欧美视频在线观看视频极品| 99视频超级精品| 亚洲调教视频在线观看| 欧美午夜三级| 亚洲男人的天堂在线aⅴ视频| 久久爱www| 黄色在线成人| 亚洲精选一区| 欧美日韩一区二区视频在线| 在线亚洲成人| 久久av老司机精品网站导航| 国产亚洲午夜| 亚洲激情在线观看| 欧美精品亚洲精品| 亚洲色图自拍| 亚洲欧美日韩天堂| 国内精品久久久久久久果冻传媒| 亚洲国产裸拍裸体视频在线观看乱了| 欧美二区在线播放| 一本到高清视频免费精品| 性做久久久久久免费观看欧美| 国产亚洲精品久久久久婷婷瑜伽| 欧美一区二区在线播放| 欧美mv日韩mv亚洲| 99成人在线| 久久福利资源站| 亚洲国产1区| 亚洲一区二区在线| 国产一区二区高清| 亚洲精品乱码久久久久久蜜桃91| 欧美无砖砖区免费| 欧美在线视频免费播放| 欧美大片在线观看| 亚洲视频二区| 久久综合九色综合久99| 亚洲精品乱码久久久久久黑人| 午夜视频一区在线观看| 一区二区在线观看av| 亚洲一区二区在线看| 狠狠色综合网| 亚洲在线观看视频网站| 黄色小说综合网站| 亚洲自拍偷拍一区| 激情久久综合| 亚洲一区二区三区影院| 黑人一区二区| 亚洲主播在线观看| 在线精品高清中文字幕| 亚洲欧美激情视频| 亚洲国产第一页| 欧美一区二区三区在线免费观看| 亚洲电影在线免费观看| 欧美亚洲免费在线| 亚洲人成免费| 久久这里有精品视频| 一二三四社区欧美黄| 裸体一区二区三区| 亚洲自拍偷拍麻豆| 欧美高清在线视频观看不卡| 亚洲欧美国产一区二区三区| 欧美激情一区二区三区四区 | 久久国产天堂福利天堂| 日韩一级片网址| 另类春色校园亚洲| 亚洲在线网站| 欧美日韩午夜激情| 91久久精品久久国产性色也91| 国产精品视频九色porn| 日韩视频免费| 在线成人激情| 久久精品99久久香蕉国产色戒| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 99国产精品久久久久久久成人热| 午夜亚洲福利在线老司机|