藍(lán)牙已確確實(shí)實(shí)的來(lái)到人們的生活當(dāng)中,。我們?cè)?jīng)懷疑“身邊會(huì)有多少藍(lán)牙設(shè)備可以連接”,現(xiàn)在我們想的卻是“我和你的藍(lán)牙設(shè)備連接效果會(huì)怎么樣”,。
直到最近,,藍(lán)牙音頻傳輸都較為簡(jiǎn)單。藍(lán)牙規(guī)范只定義了一種傳輸機(jī)制,,對(duì)于更復(fù)雜的應(yīng)用幾乎沒有選擇余地,。如今,藍(lán)牙規(guī)范1.2以及一種新的高品質(zhì)音頻協(xié)議的發(fā)布,,使得一度單調(diào)的藍(lán)牙音頻功能變得豐富起來(lái),。由于所有的數(shù)字音頻傳輸都是建立在數(shù)據(jù)流的基礎(chǔ)之上,所以可用的傳輸方式在傳輸機(jī)制,、編碼方法,、數(shù)據(jù)速率、數(shù)據(jù)包長(zhǎng)度以及檢錯(cuò)/糾錯(cuò)等方面都有所不同,。
藍(lán)牙技術(shù)是一種基于數(shù)據(jù)包,、時(shí)隙為625毫秒的跳頻協(xié)議。在每?jī)蓚€(gè)進(jìn)行配對(duì)通訊的藍(lán)牙設(shè)備中,一個(gè)是連接的主設(shè)備,,另外一個(gè)是從設(shè)備,。一般來(lái)說,在接收到來(lái)自主設(shè)備的一個(gè)數(shù)據(jù)包后的時(shí)隙內(nèi),,從設(shè)備就向主設(shè)備傳送數(shù)據(jù),。藍(lán)牙技術(shù)規(guī)定了音頻數(shù)據(jù)傳輸?shù)膬蓚€(gè)基本機(jī)制。
最初的藍(lán)牙音頻傳輸機(jī)制是同步定向連接(SCO)信道,,它支持?jǐn)?shù)據(jù)速率為64kbps的全雙工傳輸,。在沒有射頻干擾的情況下,SCO的音質(zhì)可接近標(biāo)準(zhǔn)移動(dòng)電話的音質(zhì),。這個(gè)結(jié)果也在預(yù)料之中,,因?yàn)樵谒{(lán)牙技術(shù)的發(fā)展本身就帶有應(yīng)用于藍(lán)牙耳機(jī)的思想。SCO數(shù)據(jù)在指定的時(shí)隙內(nèi)傳輸,,既保證了帶寬,,又為數(shù)據(jù)包在確定的時(shí)間內(nèi)到達(dá)提供了保障。
藍(lán)牙設(shè)備采用邏輯鏈路控制和適配協(xié)議(L2CAP)來(lái)傳輸不同步數(shù)據(jù),。邏輯鏈路控制和適配協(xié)議將所有不同步的數(shù)據(jù)傳輸多路復(fù)用到有效的藍(lán)牙帶寬上,其中包括串行數(shù)據(jù)(例如AT命令與響應(yīng)),、服務(wù)發(fā)現(xiàn)數(shù)據(jù)、以及用于提供音頻和視頻流信道的等時(shí)數(shù)據(jù),。
藍(lán)牙規(guī)范1.2提高了藍(lán)牙設(shè)備的服務(wù)質(zhì)量(QoS),,并大大改善等時(shí)數(shù)據(jù)的效用。這些改善使應(yīng)用程序能夠?yàn)閭鬏敂?shù)據(jù)流請(qǐng)求帶寬和延遲保證,。
選擇正確的SCO信道
SCO信道在可自定義功能方面提供的東西很少,。比特率是固定的,當(dāng)確定了三個(gè)編碼解碼器后,,實(shí)際上只有一個(gè)連續(xù)可變斜率增量(CVSD)被用到,。其它的編碼解碼器(A-Law和L-law)雖然提供更好的音質(zhì),但它卻跟CVSD一樣沒有容錯(cuò)性,。由于SCO信道只提供有限的檢錯(cuò)/糾錯(cuò)功能,,并且沒有數(shù)據(jù)包重發(fā)功能,所以CVSD是一種更安全的選擇,。
SCO提供了全雙工的音頻,。藍(lán)牙連接中的主設(shè)備發(fā)送一個(gè)數(shù)據(jù)包給從設(shè)備,而從設(shè)備在接下來(lái)的時(shí)隙中給予響應(yīng),。盡管能夠?qū)μ囟ǖ陌愋妥鞒鲞x擇,,這個(gè)特定的包類型還是象征性地被留在了藍(lán)牙芯片組內(nèi)的連接管理固件中。藍(lán)牙技術(shù)定義了傳輸SCO的四個(gè)包類型(見表),。
不論是由芯片組來(lái)選擇,,或者是由系統(tǒng)設(shè)計(jì)者來(lái)選擇,,在選擇SCO包類型時(shí)都需要折衷考慮。HV1數(shù)據(jù)包較其它類型的數(shù)據(jù)包具有更好的糾錯(cuò)效果,,但它在藍(lán)牙1.1規(guī)范中卻要占用整個(gè)帶寬,。HV3數(shù)據(jù)包類型不提供檢錯(cuò)功能,但卻只占用每6個(gè)時(shí)隙中的2個(gè),。于是藍(lán)牙設(shè)備能夠在保持SCO連接的同時(shí)再建立其它連接,,這在SCO數(shù)據(jù)采用HV1數(shù)據(jù)包時(shí)是不可能的。圖2是一個(gè)SCO的時(shí)序圖,。
最理想情況下,,包類型不會(huì)影響音頻質(zhì)量,,在所有的三種情況下所傳輸?shù)臄?shù)據(jù)完全相同,。HV1和HV2數(shù)據(jù)包允許對(duì)一些誤碼進(jìn)行糾正。但一般情況下誤碼不會(huì)明顯降低音頻質(zhì)量,。音質(zhì)差極有可能是因?yàn)閿?shù)據(jù)包丟失造成的,。
一個(gè)藍(lán)牙數(shù)據(jù)包由一個(gè)訪問碼,一個(gè)起始碼和一個(gè)有效荷載組成,。當(dāng)1/3前向糾錯(cuò)碼和檢錯(cuò)碼對(duì)起始碼進(jìn)行保護(hù)時(shí),,低信號(hào)強(qiáng)度或本地干擾可能會(huì)造成到達(dá)的數(shù)據(jù)包中的起始碼無(wú)效。在種情況下,,這個(gè)數(shù)據(jù)包就會(huì)被丟棄,,因?yàn)闆]有SCO數(shù)據(jù)包的重發(fā)請(qǐng)求機(jī)制,數(shù)據(jù)包就這樣丟失,。
如果連接使用HV1數(shù)據(jù)包,,數(shù)據(jù)丟失得就會(huì)較少,因此在一個(gè)丟失的數(shù)據(jù)包中,,音頻彈跳能量就越少,。如果同樣是因?yàn)閹捳蛘呤嵌虝r(shí)間的干擾造成數(shù)據(jù)包的丟失,HV1可以比HV2或者HV3數(shù)據(jù)包提供更好的音質(zhì),。當(dāng)然這也并非一成不變,,因?yàn)镠V1傳輸數(shù)據(jù)包更多,所以在嘈雜環(huán)境中數(shù)據(jù)包丟失的可能性也會(huì)更高,。
藍(lán)牙規(guī)范1.2加入了在本地干擾存在情況下改進(jìn)SCO音質(zhì)的功能,。IEEE-802.11b就是一個(gè)很好的例子,它在ISM(工業(yè),、科學(xué)及醫(yī)學(xué)機(jī)構(gòu)用帶寬)帶寬中占用大約22MHZ的帶寬,,或藍(lán)牙頻譜中的22個(gè)信道。
藍(lán)牙技術(shù)使用的79個(gè)信道之間的間隔為1MHZ,。藍(lán)牙1.2版本加入了自適應(yīng)跳頻(AFH)技術(shù),,它可以讓已配對(duì)的藍(lán)牙設(shè)備避免會(huì)產(chǎn)成沖突的信道。配對(duì)的兩個(gè)設(shè)備可以實(shí)時(shí)生成一個(gè)信道圖,或被提供給來(lái)自上層軟件的無(wú)線信號(hào),。后一種模式使同時(shí)包含有藍(lán)牙和802.11b節(jié)點(diǎn)的設(shè)備能更好地共存,。設(shè)備的軟件為藍(lán)牙模組提供了一個(gè)新的頻率圖,以防止藍(lán)牙設(shè)備使用被802.11b節(jié)點(diǎn)占用范圍內(nèi)的信道,。由于干擾造成的數(shù)據(jù)包丟失變少,,所以音質(zhì)得到改善。AFH采用的跳頻算法只需20個(gè)良好信道就能工作,。減少工作信道對(duì)AFH不利的是,,來(lái)自附近藍(lán)牙連接的干擾的可能性會(huì)隨之增加。
擴(kuò)展SCO信道
擴(kuò)展SCO信道是藍(lán)牙1.2版本中的另一項(xiàng)新增功能,,它可在信道參數(shù)上提供更大彈性,,并允許重發(fā)損壞的數(shù)據(jù)包。這些擴(kuò)展功能與AFH結(jié)合在一起,,能在音頻傳輸方面比藍(lán)牙1.1版本的標(biāo)準(zhǔn)SCO信道有更好的表現(xiàn),。
舉個(gè)最簡(jiǎn)單的例子,雖然采用新類型的數(shù)據(jù)包,,eSCO信道與SCO信道的工作方式非常相似,。音頻數(shù)據(jù)以單間隙包進(jìn)行傳播,這些數(shù)據(jù)包包含1到30個(gè)數(shù)據(jù)字節(jié),,但是eSCO做了兩項(xiàng)改進(jìn),。第一,在數(shù)據(jù)包中加入CRC碼以檢驗(yàn)數(shù)據(jù)的有效性(這在HV3SCO數(shù)據(jù)包中是沒有的),。第二,,如果接收設(shè)備檢測(cè)到數(shù)據(jù)包有錯(cuò),可以請(qǐng)求重新發(fā)送出錯(cuò)的數(shù)據(jù)包,。這取決于信道是如何設(shè)置的,,因?yàn)樾畔仨毐槐A粝聛?lái),以便于重新發(fā)送,。
不利之處是重發(fā)數(shù)據(jù)包的會(huì)增加收發(fā)設(shè)備的功率消耗,。采用AFH能將這種影響降至最低。如果數(shù)據(jù)包丟失是因?yàn)楣潭◣挼母蓴_,,如802.11b等引起的,,AFH可讓藍(lán)牙設(shè)備避免已知的不良信道以減少數(shù)據(jù)重發(fā)。設(shè)計(jì)者們還需要考慮到數(shù)據(jù)延遲問題,,因?yàn)橹匦掳l(fā)送的數(shù)據(jù)要比計(jì)劃到達(dá)時(shí)間至少晚1.2ms,。
正如前面提到的,由于丟失或損壞數(shù)據(jù)的可能性較大,,SCO信道采用了CVSD音頻編碼,。其它編碼解碼器能提供較好的保真度,,但在接收到有錯(cuò)數(shù)據(jù)時(shí)表現(xiàn)很差。有了eSCO更好的數(shù)據(jù)完整性,,就有可能采用其它編碼器來(lái)改善音質(zhì)而無(wú)需提高64kbps的基本數(shù)據(jù)速率,。.SCO數(shù)據(jù)固定數(shù)據(jù)速率為64kbps,具有對(duì)稱,、支持全雙工的特點(diǎn),。采用eSCO會(huì)增加兩個(gè)多時(shí)隙的數(shù)據(jù)包,并支持不對(duì)稱的數(shù)據(jù)速率,。事實(shí)上,,根本沒有數(shù)據(jù)需要傳輸。如果一條eSCO信道是單向的,,例如語(yǔ)音博物館向?qū)?audiomuseumguide),,接受設(shè)備在接收到一個(gè)數(shù)據(jù)包后回發(fā)一個(gè)很小的叫做NULL的包以表示確認(rèn)?;趨f(xié)商的參數(shù),,利用多時(shí)隙數(shù)據(jù)包,,eSCO信道上的數(shù)據(jù)速率可能高至288kbps,,這使支持包括視頻傳輸在內(nèi)的高階編碼解碼器成為可能。
有意思的是,,eSCO所擁有這些豐富選項(xiàng),,反而成為有效應(yīng)用其功能的最大障礙。信道選項(xiàng),,比如數(shù)據(jù)速率和編碼解碼器,,必須在應(yīng)用層得到協(xié)商。負(fù)責(zé)制定采用了SCO連接的協(xié)議規(guī)范的各藍(lán)牙工作小組,,都在開發(fā)一種以便能將eSCO集成到這些協(xié)議中去的方法,。
一個(gè)推薦的解決方法就是分階段引入這些特色功能。第一階段將eSCO限定在一個(gè)64kbps的CVSD信道,,這跟SCO信道限制硬件和軟件上的支持具有同樣效果,。有了這樣的經(jīng)驗(yàn),更多的功能將被引入,。如果這樣顯得太過謹(jǐn)慎,,別忘了有消息聲稱“大約有55個(gè)不同的配置在采用eSCO的情況下達(dá)到了對(duì)稱的64kbps。
有關(guān)寬帶語(yǔ)音的規(guī)范目前正在開發(fā)中,,其背后的驅(qū)動(dòng)力正是3G移動(dòng)通信技術(shù)中一個(gè)類似技術(shù)的衍生,。假如大量藍(lán)牙產(chǎn)品以移動(dòng)電話耳機(jī)配件,車載免提套件附件為目標(biāo)市場(chǎng),,那么電話與配件間的音頻連接質(zhì)量至少要達(dá)到移動(dòng)電話網(wǎng)與移動(dòng)電話之間連接質(zhì)量,。有關(guān)藍(lán)牙寬帶語(yǔ)音規(guī)范的細(xì)則還未出爐,,但將采用eSCO作為其傳輸機(jī)制這點(diǎn)已很清楚。
高級(jí)的音頻分布式傳輸協(xié)議
顧名思義,,最近采用的音頻分布式傳輸協(xié)議(A2DP)正是為了高品質(zhì)音頻數(shù)據(jù)的傳輸而設(shè)計(jì)的,。單向的音頻流可能用到任一種編碼解碼器。但為保證互操作性,,A2DP強(qiáng)制指定了一個(gè)編碼解碼器,。正如數(shù)據(jù)源和編碼解碼器所指定的,數(shù)據(jù)流中可以包含一個(gè)單一的音頻信道或者混合立體聲編碼,。
前面提到,,藍(lán)牙技術(shù)提供同步和非同步數(shù)據(jù)的傳輸業(yè)務(wù)。A2DP采用一個(gè)加載于L2CAP層上的等時(shí)數(shù)據(jù)信道,。在A2DP和L2CAP之間是音/視頻分布式傳輸協(xié)議,。該協(xié)議層定義了音頻和視頻流的傳輸機(jī)制。
A2DP和AVDTP對(duì)數(shù)據(jù)流的解碼,、傳輸及解碼等作出了規(guī)定,。另外還有一個(gè)協(xié)議能夠控制數(shù)據(jù)流所包含的內(nèi)容,這個(gè)協(xié)議就是音視頻遙控協(xié)議,,它規(guī)定了執(zhí)行一個(gè)遙控設(shè)備所需的基本元素,。
將這些元素集于一身,用戶可將帶藍(lán)牙功能的數(shù)字音頻播放器帶到他們的汽車中去,,并很好的利用汽車內(nèi)置音響系統(tǒng),,以在享受播放器的同時(shí)對(duì)播放器進(jìn)行控制。藍(lán)牙具有的充足帶寬,,支持高品質(zhì)帶立體聲編碼的音頻流,,可帶給用戶帶來(lái)高保真無(wú)線音頻。隨著這些功能或小發(fā)明被迅速移植到電子助理設(shè)備中,,像移動(dòng)電話或者PDA等都將成為很好的音頻源,。目前A2DP已在無(wú)線立體聲耳機(jī)和家用音響系統(tǒng)中的遙控音箱等設(shè)備中被采用。
基于應(yīng)用的考慮
我們知道,,藍(lán)牙技術(shù)為音頻數(shù)據(jù)的傳輸提供了多個(gè)選擇,。具體選擇哪一種則首先考慮應(yīng)用。如果應(yīng)用基于標(biāo)準(zhǔn)的藍(lán)牙協(xié)議,,那么該協(xié)議會(huì)規(guī)定什么類型的音頻傳輸機(jī)制是可用的,。
對(duì)于功能較簡(jiǎn)單的藍(lán)牙設(shè)備,比如單聲道手機(jī)耳機(jī),,簡(jiǎn)單的SCO音頻信道就可以,。除非處于特別環(huán)境,所有的SCO音頻數(shù)據(jù)包類型都可以在這樣的設(shè)備上使用,,而把準(zhǔn)確選擇留給藍(lán)牙芯片的連接管理代碼,。
如果藍(lán)牙耳機(jī)支持更高質(zhì)量的音頻,,如寬帶語(yǔ)音,則必須加入合適的編碼解碼器和eSCO,。需要注意的是,,協(xié)議層編碼必須對(duì)信道特性協(xié)商進(jìn)行控制,這點(diǎn)與SCO信道在協(xié)議層無(wú)須協(xié)商有所不同,。
如果兩個(gè)設(shè)備就一組eSCO參數(shù)不能達(dá)成一致,,那么這兩個(gè)設(shè)備必須能夠退而采用SCO信道。這個(gè)附加的協(xié)商功能增加了編碼的復(fù)雜性,,更增加了在互操作難度,。制造商在開發(fā)含有eSCO功能的藍(lán)牙產(chǎn)品時(shí),在產(chǎn)品的互操作性測(cè)試上下了不少功夫,,其中包括與完全不支持eSCO的基于藍(lán)牙1.1的產(chǎn)品之間的測(cè)試,。
測(cè)試的操作環(huán)境也必須考慮到很多因素。如果存在已知干擾,,如802.11b節(jié)點(diǎn),,結(jié)合使用自適應(yīng)跳頻技術(shù)和eSCO的數(shù)據(jù)包重發(fā)機(jī)制,可大大減少數(shù)據(jù)包的丟失并提高音質(zhì),。如果設(shè)備同時(shí)具有802.11b和藍(lán)牙節(jié)點(diǎn),,設(shè)計(jì)者應(yīng)該注意軟硬件中的傳輸機(jī)制以實(shí)現(xiàn)共存。
通過軟件設(shè)置藍(lán)牙信道屏蔽可以避免被本地802.11b占用的頻率,。這就使AFH軟件無(wú)須通過實(shí)際操作就能得知那些不良信道,。也有其它機(jī)制試圖輪流給每個(gè)設(shè)備指定傳輸時(shí)間,,這個(gè)方案在處理對(duì)時(shí)間要求不緊迫的數(shù)據(jù)時(shí)效果較好,,但在面對(duì)同步或者等時(shí)數(shù)據(jù)流的卻沒有多大價(jià)值。由于這些特性在各芯片生產(chǎn)商間各有不同,,感興趣的設(shè)計(jì)者應(yīng)從他們首選的供應(yīng)商那里弄清楚哪些是可用的,。
對(duì)編碼解碼器的選擇應(yīng)多加注意。對(duì)于SCO和eSCO信道,,在面對(duì)可能有缺陷的數(shù)據(jù)時(shí),,CVSD將可以接受的音質(zhì)與魯棒性結(jié)合起來(lái)。采用不同的編碼解碼器能在同樣的數(shù)據(jù)速率下改善音質(zhì),,但必須考慮到數(shù)據(jù)穩(wěn)定性和設(shè)備的互操作性,。
如果應(yīng)用要求高品質(zhì)的單向音頻通路,A2DP將是合理的選擇,。這也再次提醒設(shè)計(jì)者在選擇編碼解碼器時(shí)須多加注意,。對(duì)于專用的成對(duì)設(shè)備則可采用任意的編碼解碼器,比如揚(yáng)聲器,,它只需連接到其配對(duì)節(jié)點(diǎn)(音源)上,。如果設(shè)備將與多種設(shè)備配對(duì)使用,,最好的選擇就是采用默認(rèn)的編碼解碼器。