《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > VxWorks移植方法在藍(lán)牙無(wú)線耳機(jī)設(shè)計(jì)中的應(yīng)用
VxWorks移植方法在藍(lán)牙無(wú)線耳機(jī)設(shè)計(jì)中的應(yīng)用
EEworld
EEworld
摘要: 藍(lán)牙耳機(jī)是一種無(wú)線語(yǔ)音傳輸技術(shù),是基于耳機(jī)在無(wú)線技術(shù)方面的延伸。藍(lán)牙耳機(jī)的應(yīng)用范圍除了手機(jī)以外,PDA...
Abstract:
Key words :

關(guān)鍵字:VxWorks 藍(lán)牙無(wú)線

  藍(lán)牙耳機(jī)是一種無(wú)線語(yǔ)音傳輸技術(shù),是基于耳機(jī)在無(wú)線技術(shù)方面的延伸。藍(lán)牙耳機(jī)的應(yīng)用范圍除了手機(jī)以外,PDA、無(wú)繩電話應(yīng)用、汽車免提工具、電話終端等,也是藍(lán)牙耳機(jī)發(fā)揮技術(shù)優(yōu)勢(shì)的應(yīng)用領(lǐng)域。本文設(shè)計(jì)的藍(lán)牙耳機(jī)支持藍(lán)牙規(guī)范1.2版本,傳輸距離達(dá)10 m,傳輸速率達(dá)723.2 kb/s,并且具有低功耗和(幾乎)無(wú)輻射等技術(shù)優(yōu)點(diǎn)和優(yōu)勢(shì)。

  1 藍(lán)牙技術(shù)

  藍(lán)牙作為一種低成本、短距離的無(wú)線連接技術(shù)標(biāo)準(zhǔn),是由Ericsson、IBM、Intel、Nokia和Toshiba五家公司共同倡導(dǎo)的一種全球無(wú)線技術(shù)標(biāo)準(zhǔn),是一種無(wú)線數(shù)據(jù)與語(yǔ)音通信的開(kāi)放性全球規(guī)范。它以低成本的短距離無(wú)線連接為基礎(chǔ),為固定設(shè)備與移動(dòng)設(shè)備通信環(huán)境建立一個(gè)特別連接。其實(shí)質(zhì)是建立通用的無(wú)線空中接口及其控制軟件的公開(kāi)標(biāo)準(zhǔn),實(shí)現(xiàn)設(shè)備問(wèn)的電纜替代。

  藍(lán)牙技術(shù)規(guī)范包括協(xié)議和應(yīng)用規(guī)范兩個(gè)部分。協(xié)議定義了各功能元素各自的工作方式,整個(gè)藍(lán)牙協(xié)議體系結(jié)構(gòu)分為4層,即核心協(xié)議層、線纜替代協(xié)議層、電話控制協(xié)議層和采納的其他協(xié)議層;應(yīng)用規(guī)范則闡述了為了實(shí)現(xiàn)一個(gè)特定的應(yīng)用模型,各層協(xié)議間的運(yùn)轉(zhuǎn)協(xié)同機(jī)制。較典型的應(yīng)用規(guī)范有撥號(hào)網(wǎng)絡(luò)、耳機(jī)(headset)、局域網(wǎng)訪問(wèn)和文件傳輸?shù)取K{(lán)牙耳機(jī)的協(xié)議棧原理如圖1所示。

藍(lán)牙耳機(jī)的協(xié)議棧原理

藍(lán)牙耳機(jī)電路原理框圖

  2 硬件設(shè)計(jì)

  硬件電路信號(hào)處理與控制部分采用Zeevo公司的基于ARM7的音頻處理器ZV4301。ZV4301處理器是在一個(gè)單芯片收發(fā)器上加入一個(gè)集成RF、數(shù)字信號(hào)處理、通信處理和運(yùn)算及控制處理功能的48 MHz APM7微處理器,片外擴(kuò)展閃存,以實(shí)現(xiàn)需要技術(shù)和高度最佳化的音頻處理。

  編解碼芯片采用飛利浦公司的UDAl380音頻芯片。UDAl380是一顆專為便攜式產(chǎn)品所設(shè)計(jì)的單芯片立體聲音頻編解碼器,可以提供立即可用的先進(jìn)音頻功能。這顆音頻編解碼器具有24位數(shù)據(jù)路徑、多重時(shí)鐘支持、DC偏移消除、支持多重?cái)?shù)據(jù)格式以及數(shù)字靜音檢測(cè)等集成功能。本設(shè)計(jì)中,UDAl380利用與微控器接口作音控處理.并利用L3接口來(lái)控制音量。

  3 I2S總線

  本設(shè)計(jì)在硬件電路上使用基于I2S總線的音頻系統(tǒng)體系結(jié)構(gòu)。I2S(Inter-IC Sound bus)是飛利浦公司提出的串行數(shù)字音頻總線協(xié)議。

  I2S總線只處理聲音數(shù)據(jù),其他信號(hào)(如控制信號(hào))必須單獨(dú)傳輸。為了使芯片的引腳盡可能少,I2S只使用了三根串行總線。這三根線分別是:提供分時(shí)復(fù)用功能的數(shù)據(jù)線(SD)、字段選擇線(聲道選擇WS)、時(shí)鐘信號(hào)線(SCK)。

  此設(shè)計(jì)中采用電源統(tǒng)一供電,ZV4301作為主設(shè)備,UDAl380作為從設(shè)備。ZV4301使用3個(gè)通用I/O口來(lái)模擬I2S總線。其讀寫(xiě)I2S總線的數(shù)據(jù)主要包括以下幾個(gè)函數(shù);

  word_selection(); //字選擇函數(shù)
serial_clock(); //時(shí)鐘信號(hào)函數(shù)
serial_data(); // 串行數(shù)據(jù)函數(shù)
shift_register(); //寄存器移位函數(shù)

I2S總線讀寫(xiě)時(shí)序

  4 軟件設(shè)計(jì)

  VxWorks操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開(kāi)發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)。良好的持續(xù)發(fā)展能力、支持多種硬件環(huán)境、高性能的內(nèi)核以及友好的用戶開(kāi)發(fā)環(huán)境,使之成為所有獨(dú)立于處理器實(shí)時(shí)系統(tǒng)中最具特色的操作系統(tǒng)。

  在該設(shè)計(jì)中,軟件協(xié)議全部下載到藍(lán)牙設(shè)備內(nèi)核處理器的外置閃存中,操作通過(guò)人機(jī)接口控制。基于VxWorks的軟件編寫(xiě)工作主要包括:BSP包的改動(dòng)、程序的編寫(xiě)和操作系統(tǒng)的裁減。由于VxWorks的高度靈活性,可以很容易地對(duì)這一操作系統(tǒng)進(jìn)行定制或作適當(dāng)開(kāi)發(fā),來(lái)滿足系統(tǒng)的實(shí)際應(yīng)用需要。BSP包的改動(dòng)指根據(jù)目標(biāo)硬件實(shí)際配置修改系統(tǒng)的配置參數(shù)宏(MAC-RO),主要修改config.h、makefile.h、bspname.h文件。

  程序編寫(xiě)函數(shù)主要包括以下7個(gè)。

  (1)系統(tǒng)引導(dǎo)函數(shù)

  VxWorks操作系統(tǒng)在一些板級(jí)系統(tǒng)初始化后自動(dòng)執(zhí)行tUsrRoot()函數(shù),以完成初始化。

  tUsrRoot()
…… //必要初始化程序
vInitializeLmp(); //LMP初始化完成
vInitializeL2cap(); //L2CAP初始化完成
vInitializeSdp(); //SDP初始化完成
vInitializeRf(); //RFCOMM初始化完成
vInitializeHA(); //HeadsetApplication初始化完成
exit(); //退出

  (2)系統(tǒng)初始化函數(shù)(以L2CAP為例)

  typedet
{MSG_IDSdpToL2cap;
MSG_ID L2capToSdp;
MSG_ID RfToL2cap;
MSG_ID L2capToRf;
MSG_lD HAToSdp;
MSG_ID SdpToHA;
MSG_ID HAToRf;
MSG_ID RfToHA;
}MSG_QUEUE_ID//定義消息隊(duì)列1D結(jié)構(gòu)體類型
MSG_QUEUE_ID MsgQueueld; //定義全局消息隊(duì)列ID結(jié)構(gòu)體,用于存放每個(gè)消息隊(duì)列的ID
vInitlalizeL2caD();//L2CAP初始化,包括初始化全局變量、創(chuàng)建定時(shí)器、創(chuàng)建消息
//隊(duì)列、創(chuàng)建并啟動(dòng)任務(wù)

  (3)LMP軟件設(shè)計(jì)

  基帶程序運(yùn)行在藍(lán)牙芯片的信號(hào)處理單元中,而LMP程序運(yùn)行在藍(lán)牙芯片的微處理器中,它們通過(guò)郵箱來(lái)交換信息。只要任何一方向郵箱發(fā)送了信息,郵箱就會(huì)產(chǎn)生中斷信號(hào),另外一方可以在中斷服務(wù)程序中進(jìn)行信息讀取和處理。其處理函數(shù)為;

  vLmpDealFromBB()
//處理來(lái)自BaseBand層的消息以建立連接,對(duì)來(lái)自BaseBand層
//的操作碼

決定接受與否,并進(jìn)行鑒權(quán)、加密、處理或斷開(kāi)等操作

(4)L2CAP軟件的設(shè)計(jì)

  tL2capDealMsgFromSdp()
//處理來(lái)自SDP層的消息SdpToL2eap,生成L2CAP數(shù)據(jù)包,把數(shù)據(jù)傳BaseBand層
tL2capDealMsgFromRf()
//處理來(lái)自RFCOMM層的消息RfToL2cap,生成L2CAP數(shù)據(jù)包,把數(shù)據(jù)傳BaseBand層
vL2capDealMsgFromBB()
//處理來(lái)自BaseBand層的消息,在處理器郵箱中斷程序被調(diào)用

  (5)SDP軟件的設(shè)計(jì)

  tSdpDealMsgFromL2cap()
//處理來(lái)自L2CAP的消息L2capToSdp,并上報(bào)搜索到的服務(wù)的屬性
tSdpDealMsgFromHA()
//處理來(lái)自HeadsetApplieation的消息HAToSdp,對(duì)上報(bào)信息進(jìn)行應(yīng)答

  (6)RFOOMM軟件的設(shè)計(jì)

  tRfDealMsgFromHA()
//處理來(lái)自HeadsetApplication的消息HAToRf,生成RFCOMM數(shù)據(jù)包,傳送給L2CAP
tRfDealMsgFromL2cap()
//處理來(lái)自L2CAP的消息L2capToRf,對(duì)不同的幀進(jìn)行處理

  (7)HeadsetApplication軟件的設(shè)計(jì)

  tHADealMsgFronaSdp()
//處理來(lái)自SDP的消息SdpToHA,判斷是否正常并處理
tHADeaIMsgFromRf()
//處理來(lái)自RFCMM的消息RfToHA,對(duì)AT命令及其應(yīng)答作出處理

  5 語(yǔ)音傳輸建立過(guò)程

  藍(lán)牙耳機(jī)系統(tǒng)工作時(shí)總是藍(lán)牙語(yǔ)音網(wǎng)關(guān)(AG)和藍(lán)牙耳機(jī)(HS)成對(duì)出現(xiàn)的。其通信所用到的協(xié)議棧及實(shí)體如圖4所示。

通信所用到的協(xié)議棧及實(shí)體

   藍(lán)牙設(shè)備連結(jié)的建立遵循底層到高層的原則,即搜索藍(lán)牙設(shè)備、建立鏈路、服務(wù)搜索、建立信道、建立連接和數(shù)據(jù)傳輸。

  以下是音頻連接建立的全過(guò)程。(以AG主動(dòng)發(fā)起連接請(qǐng)求為例。)

  ①AG首先發(fā)起查詢,通過(guò)查詢AG獲得HS的藍(lán)牙地址。

  ②AG在應(yīng)用層的驅(qū)動(dòng)下向查詢到的HS發(fā)起一個(gè)page進(jìn)程。當(dāng)接收到HS返回的應(yīng)答信號(hào)時(shí),AG與HS之間的ACL鏈接已經(jīng)成功建立。

  ③一旦ACL鏈接建立,即可以被用來(lái)傳送振鈴信號(hào)。振鈴信號(hào)的發(fā)送是通過(guò)AT命令RING來(lái)完成的。

  ④ACL鏈接好后,接著建立L2CAP鏈路。AG首先在信令信道上發(fā)送一個(gè)鏈接請(qǐng)求信令L2CAP_req,要求建立信道標(biāo)號(hào)為0x0040的L2CAP。當(dāng)HS返回鏈接響應(yīng)信號(hào)時(shí),表明0x0040信道已經(jīng)建立好。然后對(duì)此信道進(jìn)行配置,配置完信道后,就可以利用此CID(信道標(biāo)識(shí)符)為0x0040的L2CAP信道進(jìn)行SDP查詢。

  ⑤AG在L2CAP信道上發(fā)送一個(gè)SDP查詢包。SDP查詢包將查詢SDP服務(wù)器端HS是否具有所需要的服務(wù)。若查詢成功,在ACL鏈路上,AG再建立一條標(biāo)號(hào)為0x0041的l.2CAP鏈路,用來(lái)傳輸RFCOMM數(shù)據(jù);同時(shí),斷開(kāi)用作SDP查詢的標(biāo)號(hào)為0x0040的L2CAP鏈路。   ⑥當(dāng)CID為0x004l的L2CAP信道建立好之后,首先建立控制信道DICIO,AG在信道上發(fā)送一個(gè)SABM幀,即要求建立RFCOMM層上的Channel O。如果響應(yīng)方HS希望建立鏈接,返回一個(gè)VA幀,表明已經(jīng)建立好了Channel 0這條RFCOMM信道。此信道為控制信道,用來(lái)傳送攜帶控制信息和命令的UIM幀。如果響應(yīng)方HS不希望建立鏈接,返回一個(gè)DM幀。其次建立數(shù)據(jù)信道,先是對(duì)數(shù)據(jù)傳送信道的參數(shù)進(jìn)行協(xié)商,協(xié)商命令PN參數(shù)包括對(duì)將要建立的信道Channel 1的優(yōu)先級(jí),最大幀長(zhǎng)等,當(dāng)雙方協(xié)商好后建立傳輸數(shù)據(jù)的信道Channell。

  ⑦通過(guò)RFooMM信道傳輸HS控制層的AT命令,即在RFCOMM數(shù)據(jù)傳送信道Channe1上利用UIH幀傳送AT+CKPD命令。當(dāng)接收到對(duì)方的響應(yīng)后,就可以開(kāi)始建立SCO鏈接。

  ⑧HCI(主機(jī)控制接口)發(fā)一個(gè)WRITE_VOICE_SETTING命令,對(duì)音頻狀態(tài)進(jìn)行一些設(shè)置。當(dāng)接收到AG的建立SC0鏈接的請(qǐng)求時(shí),若HS允許,發(fā)送一個(gè)接收的HCI命令,在命令完成之后,傳輸音頻信號(hào)的SC0鏈路就建立好了,此時(shí)就可以進(jìn)行語(yǔ)音通信。

  結(jié)語(yǔ)

  由于采用專用的聲音編解碼芯片和標(biāo)準(zhǔn)音頻取樣率44.1 kHz,并經(jīng)過(guò)先進(jìn)的信號(hào)處理技術(shù),能夠使聲音效果接近CD音質(zhì),這樣也使藍(lán)牙耳機(jī)真正取代有線耳機(jī)成為可能。

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久激情久久| 欧美午夜不卡视频| 亚洲视频在线免费观看| 亚洲精品久久久久中文字幕欢迎你 | 国产视频精品免费播放| 国产精品久久久久久久久久直播| 欧美精品在线一区| 欧美国产欧美综合| 欧美激情视频一区二区三区不卡| 欧美xxx成人| 欧美高清免费| 欧美剧在线免费观看网站| 欧美国产先锋| 欧美日韩高清免费| 欧美特黄一级| 国产精品国产三级国产专区53| 国产精品www.| 国产精品爽爽ⅴa在线观看| 国产精品视频| 国产欧美日韩视频一区二区| 国产亚洲欧美一区| 国产一区二区三区久久 | 久久www成人_看片免费不卡| 久久国产一区二区| 久久精品欧洲| 亚洲靠逼com| 亚洲香蕉伊综合在人在线视看| 亚洲中字黄色| 午夜在线精品偷拍| 久久精品视频va| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美成人三级在线| 欧美日韩国产首页| 国产精品一区二区a| 国产亚洲欧美一区二区三区| 在线观看精品| 99re视频这里只有精品| 亚洲欧美国产日韩中文字幕| 久久黄色网页| 一本一道久久综合狠狠老精东影业| 亚洲午夜小视频| 欧美专区中文字幕| 欧美freesex8一10精品| 欧美日韩亚洲三区| 国产精品自拍视频| 在线欧美小视频| 一区电影在线观看| 欧美在线视频一区二区三区| 亚洲精品中文字幕在线观看| 亚洲自拍偷拍视频| 久久综合999| 欧美人与性动交a欧美精品| 国产精品扒开腿做爽爽爽软件| 国产亚洲高清视频| 亚洲精品123区| 午夜日韩激情| 一本色道久久综合亚洲精品按摩 | 国产乱理伦片在线观看夜一区| 国产一区视频在线观看免费| 亚洲日本中文字幕| 亚洲欧美日本另类| 99国产精品视频免费观看| 欧美亚洲日本一区| 欧美激情一区二区三区在线| 国产精品手机在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美片在线播放| 国产精品天天摸av网| 在线精品福利| 亚洲一二三区精品| 亚洲日韩欧美一区二区在线| 午夜精品一区二区三区在线| 欧美电影在线免费观看网站 | 国产综合av| 一区二区三区日韩精品| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区观看| 欧美激情久久久久久| 国内伊人久久久久久网站视频| 夜夜嗨av色一区二区不卡| 亚洲国产精品123| 欧美一区二区高清在线观看| 欧美日韩国产在线播放| 在线国产亚洲欧美| 欧美一区二区播放| 亚洲永久在线观看| 欧美大片在线观看一区| 国产亚洲欧洲| 亚洲天堂网在线观看| 亚洲精品精选| 美女精品网站| 国产在线高清精品| 亚洲欧美久久久| 亚洲一区二区三区高清 | 国产欧美一区二区视频| 99视频精品在线| 日韩视频不卡| 美女视频黄a大片欧美| 国产视频欧美| 亚洲欧美日韩在线高清直播| 亚洲午夜精品久久久久久浪潮| 欧美不卡视频| 激情久久五月天| 久久xxxx精品视频| 久久精品国产欧美亚洲人人爽| 欧美视频在线观看免费网址| 亚洲精选视频免费看| 亚洲啪啪91| 免费看亚洲片| 在线观看成人网| 亚洲黄网站在线观看| 久久影视三级福利片| 国产亚洲a∨片在线观看| 亚洲欧美在线aaa| 欧美在线视频一区二区| 国产精品美女视频网站| 亚洲视频axxx| 亚洲欧美日韩一区在线| 国产精品二区在线| 一区二区三区福利| 亚洲永久免费精品| 国产精品美女www爽爽爽| 亚洲私人影院| 亚洲欧美一级二级三级| 国产精品视频你懂的| 亚洲一区二区在线视频| 欧美一区二区三区日韩| 国产农村妇女精品一二区| 亚洲男人的天堂在线观看| 久久爱www久久做| 国产在线乱码一区二区三区| 久久国产天堂福利天堂| 男同欧美伦乱| 亚洲精品国精品久久99热| 正在播放亚洲一区| 欧美亚洲第一页| 亚洲欧美日韩国产综合| 久久久夜夜夜| 亚洲国产精品久久人人爱蜜臀| 99国内精品久久| 国产精品mm| 亚洲欧美激情视频| 久久免费精品日本久久中文字幕| 国内精品嫩模av私拍在线观看| 亚洲黄网站黄| 欧美日韩三级| 亚洲女同在线| 蜜臀久久99精品久久久久久9| 亚洲精华国产欧美| 亚洲制服丝袜在线| 国产一区二区观看| 亚洲人精品午夜| 国产精品国产一区二区| 欧美在线www| 欧美激情中文不卡| 亚洲一区二区三区高清 | 久久午夜精品一区二区| 亚洲激情国产| 午夜精品久久久久久久白皮肤| 国产色产综合产在线视频| 亚洲日韩欧美一区二区在线| 欧美亚男人的天堂| 欧美专区在线观看一区| 欧美久久久久久久久| 亚洲午夜在线视频| 免费久久99精品国产自| 一本色道久久88综合亚洲精品ⅰ | 久久精品视频播放| 欧美日韩亚洲国产一区| 欧美一区二区大片| 欧美福利在线| 亚洲在线中文字幕| 牛牛影视久久网| 亚洲一区二区少妇| 欧美高清你懂得| 亚洲欧美综合另类中字| 欧美激情精品久久久久久蜜臀| 亚洲欧美大片| 欧美激情一区二区三区在线| 午夜精品视频在线| 欧美日韩国语| 亚洲第一成人在线| 国产精品免费看片| 亚洲日韩成人| 国产日韩综合| 亚洲一区二三| 亚洲国产日韩欧美| 久久精品99| 一区二区av| 欧美成人一区二区三区| 亚洲欧美一区二区三区在线| 欧美日韩国产综合新一区| 久久国产精品第一页| 欧美色区777第一页| 亚洲国产欧美不卡在线观看 | 精品成人在线| 欧美资源在线观看| 在线亚洲欧美| 欧美精品videossex性护士| 欧美制服丝袜第一页|