個人消費類電子
TWS耳機方案開發(fā)
隨著全方位移動通信時代的到來,輕便小巧的藍牙產(chǎn)品正受到越來越多的青睞。近年來,藍牙TWS耳機和音頻網(wǎng)關產(chǎn)品迅速發(fā)展起來,成為藍牙領域中的亮點。藍牙TWS耳機和音頻網(wǎng)關可以保證在10m范圍內(nèi)快速穩(wěn)定的語音連接。音頻網(wǎng)關不但是一個無線終端,直接與藍牙TWS耳機連接通話。其更重要的功能是作為耳機的接入點,擴充GSM模塊、固定語音終端等設備的短距離。
藍牙是一種工作頻段在全世界范圍內(nèi)都可以自由使用的214GHz短距離射頻無線通信技術,其利用短距離、低成本的無線連接替代了電纜連接,從而為現(xiàn)存的數(shù)據(jù)網(wǎng)絡和小型的外圍設備接口提供了統(tǒng)一的連接。藍牙HeadSet應用藍牙技術實現(xiàn)了TWS藍牙耳機與音頻網(wǎng)關(例如手機)之間的無線通信,從而提供手機呼叫免提接聽的功能。在藍牙HeadSet模型中首先需要明確兩個角色:一個是AG(AudioGateway),他充當音頻網(wǎng)關,既可以作為音頻輸入也可以作為音頻輸出;另一個是HS(HeadSet),即TWS藍牙耳機,他是一個作為藍牙遠端音頻輸入與輸出的設備,并且提供了一些遠端控制方式。
一、TWS耳機開發(fā)流程
在藍牙TWS耳機(Bluetoothheadset,HS)和音頻網(wǎng)關(audiogateway,AG)的開發(fā)中,我們采用英國CSR公司的完全嵌入式藍牙開發(fā)方案,以BlueCore22External藍牙芯片為核心進行設計。CSR向開發(fā)者提供了幾種基本剖面(profile)的下層固件(fireware),用以實現(xiàn)藍牙核心協(xié)議棧的功能。我們所做的工作,重點是在headset剖面固件的基礎上,利用其向上提供的應用程序API,編寫適合于實際需要并符合藍牙規(guī)范的耳機、音頻網(wǎng)關應用程序,并且與硬件實體相結合,最終完整實現(xiàn)HS/AG的全部功能。在PC上編寫藍牙嵌入式程序,需要Linux的交叉編譯環(huán)境。而相應的藍牙調(diào)試、仿真、下載軟件都是基于Windows操作系統(tǒng)的。解決這一矛盾的方法是使用Cygwin軟件,它提供一個基于Win32API的Unix系統(tǒng)庫,能模擬出在Windows平臺上運行的Linux環(huán)境。在Cygwin中輸入命令makebc02,應用程序和相應固件將被整體編譯成一個.xdv下載文件,并通過PC并口到芯片的SPI接口,最終將所有軟件嵌入藍牙模塊的Flash存儲器中。
二、TWS藍牙耳機硬件開發(fā)
CSR公司的BlueCore22External藍牙芯片全面兼容藍牙V1.1和V1.2規(guī)范,集成射頻、基帶信號處理器、微控制器及32KBRAM,外接8MBFlash用來存儲藍牙協(xié)議棧和應用程序。藍牙模塊的空中接口提供64KbpsA律PCM、μ律PCM和CVSD(連續(xù)可變斜率增量調(diào)制)3種壓縮編碼方式,所以根據(jù)軟件選擇的編碼方式,應采用相應的具有64Kbps以上性能的編解碼器。我們采用完全嵌入的開發(fā)方式,所有藍牙軟件棧和應用程序都運行在單芯片上,通過按鍵和LED與用戶交互。
三、TWS藍牙耳機軟件的體系結構
藍牙協(xié)議體系結構采用分層方式,包括藍牙核心協(xié)議和一些專用協(xié)議。headset剖面定義了HS和AG應用中使用到的藍牙規(guī)范協(xié)議并且指示了藍牙規(guī)范中的一些消息和過程,可以被看作協(xié)議棧的縱切面。單聲道耳機和音頻網(wǎng)關完全兼容藍牙規(guī)范中的headset剖面,他們的軟件體系基本一致,只是在應用層上的程序有所區(qū)別。
其中基帶、鏈路管理(LMP)、邏輯鏈路控制與適應協(xié)議(L2CAP)和業(yè)務搜尋協(xié)議(SDP)是藍牙棧底的核心部分,分別完成跳頻和數(shù)據(jù)幀拆裝、數(shù)據(jù)流的過濾和傳輸、鏈路控制、業(yè)務質(zhì)量(QoS)、協(xié)議復用、服務發(fā)現(xiàn)等功能。串行電纜仿真協(xié)議(FCCOMM)提供電纜替代的能力,為那些將串行線用作傳輸機制的高級業(yè)務提供服務。
藍牙基帶在同一射頻鏈路上同時支持ACL(asynchronousconnectionless)和SCO(synchronousconnection2oriented)2種連接,ACL用作異步數(shù)據(jù)傳輸,SCO則適于同步話音。在HS和AG間,應用程序依靠基于ACL的RFCOMM連接收發(fā)AT命令,進行呼叫應答和交換MIC、speaker音量增益參數(shù)等控制操作。而基于SCO的語音流則由高層直接送交基帶傳輸,這也是保證語音處理實時性的關鍵。
根據(jù)剖面規(guī)定,HS和AG都可以發(fā)起建立ACL。在ACL建鏈成功后,就能在任何希望的時候建立SCO??梢允茿G主動發(fā)起SCO,也可以是收到HS發(fā)來的AT+AKPD(表明觸發(fā)了耳機TALK鍵)后,AG響應建立SCO,但本質(zhì)上都是只有AG有權最終決定何時產(chǎn)生SCO。同樣,ACL和SCO的拆除也由AG負責。
四、藍牙建鏈過程的軟件實現(xiàn)
藍牙應用程序運行于芯片內(nèi)的虛擬機上,采用消息(message)驅動方式。調(diào)度器(schedular)負責采集消息事件,啟動相應任務函數(shù)。
4.1初始化(initialisation)
首先初始化耳機庫函數(shù),向SDP注冊相應的headset服務,設置設備類型(classofdevice)。如果存在一個已經(jīng)完成過配對的設備,應用程序就發(fā)送CM_ADD_SM_DEVICE_REQ消息,在鏈路管理器中把它注冊為可信任設備,從而簡化雙方鑒權步驟,加快建鏈速度。
4.2配對(Pairing)
配對請求CM_PAIR_REQ將設備置于配對模式,隨后可以查詢對方藍牙地址,交換個人識別碼(PIN)以進行鑒權。在兩端設備輸入的PIN碼一致才能鑒權成功,最終基于PIN碼、藍牙地址和隨機數(shù)生成通信所用的鏈路密鑰(linkkey)并調(diào)用PsStore()函數(shù)將它存儲在Flash上,供再次連接時使用。
4.3連接(connecting)
任何一端都可以以主或從設備的身份請求建立RFCOMM連接。值得注意的是,隨后只有AG可以發(fā)出CM_SCO_CONNECT_REQ,請求建立SCO連接。如果雙方都得到了正確的狀態(tài)返回,語音鏈路就接通了。
五、TWS藍牙耳機系統(tǒng)的原理設計方案
藍牙系統(tǒng)的基本功能模塊如圖1所示。他的功能模塊包括天線單元、鏈路控制器、鏈路管理、軟件功能。
5.1無線技術規(guī)范
藍牙天線屬于微帶天線,藍牙無線接口是基于常規(guī)無線發(fā)射功率0dBm設計的,符合美國聯(lián)通訊委員會(FCC)的ISM頻段的規(guī)定。擴展頻譜技術的應用使得功率可增至100dBm,可滿足不同國家的需要。在日本、西班牙、法國,由于當?shù)匾?guī)定的頻段相對較窄,可用內(nèi)部軟件轉換實現(xiàn)。
5.2藍牙基帶技術規(guī)范
基帶描述了設備的數(shù)字信號處理部分,即藍牙鏈路控制器,他完成基帶協(xié)議和其他底層的鏈路規(guī)程。主要包括以下幾個方面:
(1)網(wǎng)絡連接的建立;(2)鏈路類型和分組類型:鏈路類型決定了哪種分組模式能在特定的鏈路上使用,藍牙基帶技術支持2種鏈路類型:即同步面向連接類型SCO(主要用于語音)和異步非連接類型ACL(主要用于分組數(shù)據(jù))。(3)糾錯:基帶控制器采用3種糾錯方式:1?3速率前向糾錯編碼(FEC),2?3速率前向糾錯編碼(FEC),對數(shù)據(jù)的自動請求重傳(ACL)。(4)鑒權和加密:藍牙基帶部分在物理層為用戶提供保護和信息保密機制。鑒權基于“請求響應”運算法則。鑒權是藍牙系統(tǒng)中的關鍵部分,他允許用戶為個人的藍牙設備建立一個信任域,比如只允許主人自己的筆記本電腦通過主人自己的移動電話通信。加密被用來保護連接的個人信息。密鑰由程序的高層來管理。網(wǎng)絡傳送協(xié)議和應用程序可以為用戶提供一個較強的安全機制。
六、HeadSet應用模型的協(xié)議棧結構
藍牙的協(xié)議棧采用分層結構,如圖2所示。
各層功能簡要介紹如下:
基帶(baseband)是藍牙的物理層,主要負責物理信道的編解碼,底層的定時控制,以及在單個數(shù)據(jù)包傳送期間的鏈路管理等業(yè)務,在原始的荷載數(shù)據(jù)上增加地址域和控制域,并進行錯誤檢測或糾正。
LC(LinkControl)層負責在一批數(shù)據(jù)包傳送期間,響應上層LM命令(如執(zhí)行建立數(shù)據(jù)包的傳輸鏈路,維持鏈路等功能的LM命令)。
LM(LinkManager)層是藍牙協(xié)議棧的鏈路管理層協(xié)議,他負責將上層HCI命令翻譯成基帶能接受的操作,建立ACL(數(shù)據(jù))和SCO(語音)鏈接,以及使藍牙設備進入節(jié)能狀態(tài)的工作模式等。
ME(ManagementEntity)為管理實體,他的功能是發(fā)現(xiàn)遠端設備并且與他們建立連接,為需要管理藍牙微微網(wǎng)的應用層和其他系統(tǒng)層提供接口API。
SE(SecurityManager)和ME一起工作允許應用程序對鑒權和加密進行設置,真正的鑒權和加密是由硬件來實現(xiàn)的。
邏輯鏈路控制協(xié)議(L2CAP)采用了信道的概念在藍牙設備不同應用之間建立不同的路徑,但他只支持ACL鏈路。主要功能是為高層應用層提供協(xié)議復用,允許他們共享低層數(shù)據(jù)鏈路。并對超過低層支持的大數(shù)據(jù)包進行分組和重組操作,同時提供了對上層服務的質(zhì)量管理。
業(yè)務搜尋協(xié)議(SDP)是極其重要的部分,他提供了一種SDP客戶向SDP服務器查詢關于服務信息的方式。服務器維護一個服務記錄列表,服務記錄列表描述與該服務器有關的服務特征??蛻舳丝梢酝ㄟ^發(fā)送一個SDP請求從服務器記錄中索取服務信息,業(yè)務及業(yè)務特征,并在查詢之后建立兩個或多個藍牙設備間的連接。
RFCOMM提供串口仿真,藍牙的低層負責提供無線的連接方式,但在此之前已經(jīng)存在很多傳統(tǒng)的應用都是基于有線方式開發(fā)的,藍牙如果不能解決對傳統(tǒng)協(xié)議的適配問題,就很難成為一個廣泛應用的標準。為此,藍牙制定了像RFCOMM的適配協(xié)議來實現(xiàn)對傳統(tǒng)應用的支持。
HeadSet控制層:主要是實現(xiàn)HeadSet的Profile定義的功能,例如對音頻網(wǎng)關的MIC(麥克風)的音量控制,對SPK(揚聲器)的音量控制,SCO鏈接的建立與釋放,以及音頻轉移等。
音頻端口應用層:是一些針對應用的功能,耳機應用層必須實現(xiàn)的應用特征有:
(1)接到AG的呼叫時能建立音頻鏈接,通話結束后能斷開音頻鏈接。(2)能發(fā)起對遠方的呼叫,通話結束后同樣能斷開音頻鏈接。(3)音頻鏈接轉移。(4)對遠端AG的音量控制。
七、藍牙HeadSet的建鏈
當藍牙音頻網(wǎng)關AG接收到一個呼叫,發(fā)起與HS的鏈接時,為使應用層語音通信可靠,需要藍牙協(xié)議棧建立可靠的通信鏈路。根據(jù)藍牙協(xié)議棧運行,從底層到高層的建鏈一般要經(jīng)過以下幾個過程:
(1)建立ACL即基帶層的鏈接;(2)建立L2CAP層的鏈接;(3)進行SDP的查詢過程;(4)建立RFCOMM層的鏈路;(5)RFCOMM鏈路建好后,將通過RFCOMM信道傳輸HeadSet控制層的一些AT命令;(6)建立SCO鏈接;(7)根據(jù)應用層的動作執(zhí)行藍牙HS與AG之間的音頻通信。藍牙協(xié)議棧的建鏈過程具體討論如下。
7.1建立ACL即基帶層的鏈接
AG接收到一個呼叫時,首先建立與HS之間的ACL鏈接,此HS與AG之間需預先綁定,或者把原來處于休眠狀態(tài)下的HS喚醒。這是通過page進程完成的,在用page進程建立ACL時,定義AG是Master角色,于是AG首先發(fā)起查詢,通過查詢AG獲得HS的藍牙地址。然后AG在應用層的驅動下向查詢到的HS發(fā)起一個page進程,當接收到HS返回的應答時,這時AG與HS之間的ACL鏈接已經(jīng)成功建立。
一旦ACL鏈接建立,他可以被用來傳送振鈴信號。振鈴信號的發(fā)送是通過AT命令RING來完成的。振鈴信號也可以在SCO鏈路上發(fā)送。
7.2建立L2CAP層的鏈接
ACL鏈接好后,接著建L2CAP鏈路。AG首先在信令信道上發(fā)送一個鏈接請求信令,要求建立信道標號為0x0040的L2CAP(0x0001~0x003F是協(xié)議保留不可動態(tài)分配的,0x0040~0xFFFF可以自由分配),此信道的PSM(協(xié)議服務復用)標志0001,當對方返回鏈接響應信號,表明0x0040信道已經(jīng)建好。然后對此信道進行配置,配置完信道后,就可以利用此CID為0x0040的L2CAP信道進行SDP查詢了。
7.3進行SDP的查詢過程
利用CID為0x0040的L2CAP信道進行SDP的查詢過程,首先是AG在此L2CAP信道上發(fā)送一個SDP查詢包,SDP查詢包將查詢SDP服務器端HS是否具有所需要的服務。若查詢成功,在ACL鏈路上再建一條標號為0x0041的L2CAP鏈路,此信道的PSM為0003,用來傳輸RFCOMM數(shù)據(jù)流的。同時斷開用作SDP查詢的標號為0x0040的L2CAP鏈路。
7.4建立RFCOMM層的鏈路
當CID為0x0041的L2CAP信道建好之后,接著就是RFCOMM的建鏈過程,如圖3所示。首先建控制信道,建鏈發(fā)起方AG在信道上發(fā)送一個SABM幀,即要求建RFCOMM層上的Channel0,如果響應方HS希望建立鏈接,返回一個UA幀,表明已經(jīng)建立好了Channel0這條RFCOMM信道。此信道為控制信道,用來傳送攜帶控制消息和命令的UIH幀。如果響應方HS不希望建立鏈接,返回一個DM幀。
其次建立數(shù)據(jù)信道,先是對數(shù)據(jù)傳送信道的參數(shù)進行協(xié)商,協(xié)商命令PN參數(shù)包括對將要建立的信道Channel1的優(yōu)先級,最大幀長等,當雙方協(xié)商好后建立傳輸數(shù)據(jù)的信道Channel1。
RFCOMM層的數(shù)據(jù)信道建好后,再對HeadSet控制層的控制命令進行傳輸。即在數(shù)據(jù)傳送信道Channel1上利用UIH幀傳送AT+CKPD=200等命令,當接收到對方的響應OK之后,就可以開始建立SCO鏈接。
7.5建立SCO鏈接
初始化時HCI發(fā)一個WRITE_VOICE_SETTING命令,對音頻狀態(tài)進行設置,當接收到AG的建立SCO鏈接的請求時,若HS允許,發(fā)送一個接收的HCI命令,在命令完成之后,傳輸音頻信號的SCO鏈路就建好了,此時就可以進行語音通信。
八、藍牙應用層的狀態(tài)機設計
在協(xié)議棧的通信鏈路建立后,可以進行應用層通信。應用層有一個主狀態(tài)機在運行,如圖4所示。根據(jù)用戶的動作以及AG發(fā)送的命令,HS應用進程將在各狀態(tài)之間跑動??臻e狀態(tài)HS與AG之間可能已經(jīng)存在ACL鏈接,但沒有RFCOMM信道建立,也沒有音頻信號的SCO鏈路存在。當AG響應內(nèi)部事件或者用戶請求時,便發(fā)起鏈接建立的請求,HS接收到建立鏈接的請求時,HS與AG開始建ACL,L2CAP,RFCOMM鏈路,建好RFCOMM信道后,AG發(fā)送一個或多個AT+RING的振鈴指示命令,通知HS用戶有入呼的音頻鏈接到達。此時狀態(tài)將轉至來電振鈴狀態(tài)。
來電振鈴狀態(tài)此時音頻網(wǎng)關AG已經(jīng)建立了與HS的ACL與RFCOMM信道,并且HS已經(jīng)接收到振鈴信號,這預示著音頻網(wǎng)關要求建立SCO鏈接,若用戶不對振鈴做出響應,音頻網(wǎng)關將終止RFCOMM信道,狀態(tài)將重新回到空閑狀態(tài),若用戶按下HS上的Bluetooth鍵,則表示用戶接受入呼音頻鏈接的請求,這時HS將發(fā)送AT控制命令AT+CKPD給AG,這時兩者之間將建立SCO鏈接,狀態(tài)將轉至鏈接狀態(tài)。
呼叫狀態(tài)當HS用戶按下HS上的Bluetooth鍵,用戶發(fā)出呼叫音頻網(wǎng)關的請求,這時HS將先建立ACL鏈接,再對音頻網(wǎng)關進行SDP查詢。若SDP查詢成功,HS打開與AG鏈接的RFCOMM信道,并且發(fā)送AT命令+CKPD要求建立SCO的音頻鏈接。當SCO鏈接建立時,狀態(tài)將轉移到連接狀態(tài),若SCO鏈接建立失敗,狀態(tài)將轉到空閑狀態(tài)。
鏈接狀態(tài)鏈接狀態(tài)下,ACL,L2CAP,RFCOMM都已經(jīng)建立,而且已經(jīng)執(zhí)行了SDP查詢,音頻通話就緒。若用戶對HS講話,語音將通過SCO鏈路傳送至AG,并通過AG將語音傳到遠端。
鏈接斷開狀態(tài)鏈接斷開可以通過HS上的Bluetooth鍵完成,也可以通過AG的內(nèi)部事件或用戶干預觸發(fā)產(chǎn)生。無論那一種原因引起,實質(zhì)上都是AG鏈路釋放的結果。如果HS發(fā)出了斷開鏈接的請求,并且發(fā)送一個AT命令+CKPD到音頻網(wǎng)關要求音頻網(wǎng)關斷開鏈接,于是音頻網(wǎng)關斷開SCO鏈接和RFCOMM信道。當RFCOMM斷開時,狀態(tài)將轉換到空閑狀態(tài)。而ACL鏈接有可能處于斷開狀態(tài)也有可能處于鏈接狀態(tài)。
九、藍牙HeadSet的實現(xiàn)方案
以摩托羅拉藍牙解決方案為例,摩托羅拉在先進射頻技術方面很有經(jīng)驗。摩托羅拉藍牙解決方案可利用UART,RS232,USB或SPI連接主處理器,而主處理器可通過這些接口處理藍牙協(xié)議上的堆棧及主控制器的接口等功能;而這個藍牙解決方案則負責執(zhí)行下堆棧(主控制器接口,鏈路管理程序協(xié)議,基帶及射頻)其余的功能。并采用摩托羅拉的MCORETM32位精簡指令集運算(SISC)處理器內(nèi)核,內(nèi)含一個高度靈活的外圍設備集,適用于多種不同的嵌入式藍牙應用方案。
總結
近年來移動通信、便攜式計算機以及因特網(wǎng)的迅速發(fā)展,使人們對電話通信以外的各種數(shù)據(jù)信息傳遞的需求日益增長?!八{牙”技術把各種便攜式電腦與蜂窩移動電話用無線電路連接起來,使計算機與通信更加密切結合起來,使人們能隨時隨地進行數(shù)據(jù)信息的交換與傳輸。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的TWS耳機方案詳情。如果您有藍牙TWS耳機開發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開發(fā)經(jīng)驗,可以盡快評估開發(fā)周期與IC價格,也可以核算PCBA報價。我們是多家國內(nèi)外芯片代理商:松翰、應廣、杰理、安凱、全志、realtek,有MCU、語音IC、藍牙IC與模塊、wifi模塊。我們的開發(fā)能力涵蓋了PCB設計、單片機開發(fā)、藍牙技術開發(fā)、軟件定制開發(fā)、APP定制開發(fā)、微信公眾號開發(fā)等軟硬件設計。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設計、美容儀器開發(fā)、物聯(lián)網(wǎng)應用開發(fā)、智能家居方案設計、TWS耳機開發(fā)、藍牙耳機音箱開發(fā)、兒童玩具方案開發(fā)、電子教育產(chǎn)品研發(fā)。
精選方案推薦
- 返回頂部