中悦彩票官网

深圳市組創微電子有限公司
銷售部:158 1687 4032采購部:0755-8299 4126行政部:0755-8299 4126
咨詢電話
0755-8299 4141

3C數碼產品

TWS耳機方案設計開發


隨著全方位移動通信時代的到來,輕便小巧的藍牙產品正受到越來越多的青睞。近年來,藍牙TWS耳機和音頻網關產品迅速發展起來,成為藍牙領域中的亮點。藍牙TWS耳機和音頻網關可以保證在10m范圍內快速穩定的語音連接。音頻網關不但是一個無線終端,直接與藍牙TWS耳機連接通話。其更重要的功能是作為耳機的接入點,擴充GSM模塊、固定語音終端等設備的短距離

藍牙是一種工作頻段在全世界范圍內都可以自由使用的214GHz短距離射頻無線通信技術,其利用短距離、低成本的無線連接替代了電纜連接,從而為現存的數據網絡和小型的外圍設備接口提供了統一的連接。藍牙HeadSet應用藍牙技術實現了TWS藍牙耳機與音頻網關(例如手機)之間的無線通信,從而提供手機呼叫免提接聽的功能。在藍牙HeadSet模型中首先需要明確兩個角色:一個是AG(AudioGateway),他充當音頻網關,既可以作為音頻輸入也可以作為音頻輸出;另一個是HS(HeadSet),即TWS藍牙耳機,他是一個作為藍牙遠端音頻輸入與輸出的設備,并且提供了一些遠端控制方式。

一、TWS耳機開發流程

在藍牙TWS耳機(Bluetoothheadset,HS)和音頻網關(audiogateway,AG)的開發中,我們采用英國CSR公司的完全嵌入式藍牙開發方案,以BlueCore22External藍牙芯片為核心進行設計。CSR向開發者提供了幾種基本剖面(profile)的下層固件(fireware),用以實現藍牙核心協議棧的功能。我們所做的工作,重點是在headset剖面固件的基礎上,利用其向上提供的應用程序API,編寫適合于實際需要并符合藍牙規范的耳機、音頻網關應用程序,并且與硬件實體相結合,最終完整實現HS/AG的全部功能。在PC上編寫藍牙嵌入式程序,需要Linux的交叉編譯環境。而相應的藍牙調試、仿真、下載軟件都是基于Windows操作系統的。解決這一矛盾的方法是使用Cygwin軟件,它提供一個基于Win32API的Unix系統庫,能模擬出在Windows平臺上運行的Linux環境。在Cygwin中輸入命令makebc02,應用程序和相應固件將被整體編譯成一個.xdv下載文件,并通過PC并口到芯片的SPI接口,最終將所有軟件嵌入藍牙模塊的Flash存儲器中。

深圳TWS耳機方案開發公司

二、TWS藍牙耳機硬件開發

CSR公司的BlueCore22External藍牙芯片全面兼容藍牙V1.1和V1.2規范,集成射頻、基帶信號處理器、微控制器及32KBRAM,外接8MBFlash用來存儲藍牙協議棧和應用程序。藍牙模塊的空中接口提供64KbpsA律PCM、μ律PCM和CVSD(連續可變斜率增量調制)3種壓縮編碼方式,所以根據軟件選擇的編碼方式,應采用相應的具有64Kbps以上性能的編解碼器。我們采用完全嵌入的開發方式,所有藍牙軟件棧和應用程序都運行在單芯片上,通過按鍵和LED與用戶交互。

三、TWS藍牙耳機軟件的體系結構

藍牙協議體系結構采用分層方式,包括藍牙核心協議和一些專用協議。headset剖面定義了HS和AG應用中使用到的藍牙規范協議并且指示了藍牙規范中的一些消息和過程,可以被看作協議棧的縱切面。單聲道耳機和音頻網關完全兼容藍牙規范中的headset剖面,他們的軟件體系基本一致,只是在應用層上的程序有所區別。

其中基帶、鏈路管理(LMP)、邏輯鏈路控制與適應協議(L2CAP)和業務搜尋協議(SDP)是藍牙棧底的核心部分,分別完成跳頻和數據幀拆裝、數據流的過濾和傳輸、鏈路控制、業務質量(QoS)、協議復用、服務發現等功能。串行電纜仿真協議(FCCOMM)提供電纜替代的能力,為那些將串行線用作傳輸機制的高級業務提供服務。

藍牙基帶在同一射頻鏈路上同時支持ACL(asynchronousconnectionless)和SCO(synchronousconnection2oriented)2種連接,ACL用作異步數據傳輸,SCO則適于同步話音。在HS和AG間,應用程序依靠基于ACL的RFCOMM連接收發AT命令,進行呼叫應答和交換MIC、speaker音量增益參數等控制操作。而基于SCO的語音流則由高層直接送交基帶傳輸,這也是保證語音處理實時性的關鍵。

根據剖面規定,HS和AG都可以發起建立ACL。在ACL建鏈成功后,就能在任何希望的時候建立SCO。可以是AG主動發起SCO,也可以是收到HS發來的AT+AKPD(表明觸發了耳機TALK鍵)后,AG響應建立SCO,但本質上都是只有AG有權最終決定何時產生SCO。同樣,ACL和SCO的拆除也由AG負責。

深圳TWS耳機PCBA設計

四、藍牙建鏈過程的軟件實現

藍牙應用程序運行于芯片內的虛擬機上,采用消息(message)驅動方式。調度器(schedular)負責采集消息事件,啟動相應任務函數。

4.1初始化(initialisation)

首先初始化耳機庫函數,向SDP注冊相應的headset服務,設置設備類型(classofdevice)。如果存在一個已經完成過配對的設備,應用程序就發送CM_ADD_SM_DEVICE_REQ消息,在鏈路管理器中把它注冊為可信任設備,從而簡化雙方鑒權步驟,加快建鏈速度。

4.2配對(Pairing)

配對請求CM_PAIR_REQ將設備置于配對模式,隨后可以查詢對方藍牙地址,交換個人識別碼(PIN)以進行鑒權。在兩端設備輸入的PIN碼一致才能鑒權成功,最終基于PIN碼、藍牙地址和隨機數生成通信所用的鏈路密鑰(linkkey)并調用PsStore()函數將它存儲在Flash上,供再次連接時使用。

4.3連接(connecting)

任何一端都可以以主或從設備的身份請求建立RFCOMM連接。值得注意的是,隨后只有AG可以發出CM_SCO_CONNECT_REQ,請求建立SCO連接。如果雙方都得到了正確的狀態返回,語音鏈路就接通了。

五、TWS藍牙耳機系統的原理設計方案

藍牙系統的基本功能模塊如圖1所示。他的功能模塊包括天線單元、鏈路控制器、鏈路管理、軟件功能。

圖1 藍牙系統的基本功能模塊

5.1無線技術規范

藍牙天線屬于微帶天線,藍牙無線接口是基于常規無線發射功率0dBm設計的,符合美國聯通訊委員會(FCC)的ISM頻段的規定。擴展頻譜技術的應用使得功率可增至100dBm,可滿足不同國家的需要。在日本、西班牙、法國,由于當地規定的頻段相對較窄,可用內部軟件轉換實現。

5.2藍牙基帶技術規范

基帶描述了設備的數字信號處理部分,即藍牙鏈路控制器,他完成基帶協議和其他底層的鏈路規程。主要包括以下幾個方面:

(1)網絡連接的建立;(2)鏈路類型和分組類型:鏈路類型決定了哪種分組模式能在特定的鏈路上使用,藍牙基帶技術支持2種鏈路類型:即同步面向連接類型SCO(主要用于語音)和異步非連接類型ACL(主要用于分組數據)。(3)糾錯:基帶控制器采用3種糾錯方式:1?3速率前向糾錯編碼(FEC),2?3速率前向糾錯編碼(FEC),對數據的自動請求重傳(ACL)。(4)鑒權和加密:藍牙基帶部分在物理層為用戶提供保護和信息保密機制。鑒權基于“請求響應”運算法則。鑒權是藍牙系統中的關鍵部分,他允許用戶為個人的藍牙設備建立一個信任域,比如只允許主人自己的筆記本電腦通過主人自己的移動電話通信。加密被用來保護連接的個人信息。密鑰由程序的高層來管理。網絡傳送協議和應用程序可以為用戶提供一個較強的安全機制。

六、HeadSet應用模型的協議棧結構

藍牙的協議棧采用分層結構,如圖2所示。

圖2 藍牙協議棧

各層功能簡要介紹如下:

基帶(baseband)是藍牙的物理層,主要負責物理信道的編解碼,底層的定時控制,以及在單個數據包傳送期間的鏈路管理等業務,在原始的荷載數據上增加地址域和控制域,并進行錯誤檢測或糾正。

LC(LinkControl)層負責在一批數據包傳送期間,響應上層LM命令(如執行建立數據包的傳輸鏈路,維持鏈路等功能的LM命令)。

LM(LinkManager)層是藍牙協議棧的鏈路管理層協議,他負責將上層HCI命令翻譯成基帶能接受的操作,建立ACL(數據)和SCO(語音)鏈接,以及使藍牙設備進入節能狀態的工作模式等。

ME(ManagementEntity)為管理實體,他的功能是發現遠端設備并且與他們建立連接,為需要管理藍牙微微網的應用層和其他系統層提供接口API。

SE(SecurityManager)和ME一起工作允許應用程序對鑒權和加密進行設置,真正的鑒權和加密是由硬件來實現的。

邏輯鏈路控制協議(L2CAP)采用了信道的概念在藍牙設備不同應用之間建立不同的路徑,但他只支持ACL鏈路。主要功能是為高層應用層提供協議復用,允許他們共享低層數據鏈路。并對超過低層支持的大數據包進行分組和重組操作,同時提供了對上層服務的質量管理。

業務搜尋協議(SDP)是極其重要的部分,他提供了一種SDP客戶向SDP服務器查詢關于服務信息的方式。服務器維護一個服務記錄列表,服務記錄列表描述與該服務器有關的服務特征。客戶端可以通過發送一個SDP請求從服務器記錄中索取服務信息,業務及業務特征,并在查詢之后建立兩個或多個藍牙設備間的連接。

RFCOMM提供串口仿真,藍牙的低層負責提供無線的連接方式,但在此之前已經存在很多傳統的應用都是基于有線方式開發的,藍牙如果不能解決對傳統協議的適配問題,就很難成為一個廣泛應用的標準。為此,藍牙制定了像RFCOMM的適配協議來實現對傳統應用的支持。

HeadSet控制層:主要是實現HeadSet的Profile定義的功能,例如對音頻網關的MIC(麥克風)的音量控制,對SPK(揚聲器)的音量控制,SCO鏈接的建立與釋放,以及音頻轉移等。

音頻端口應用層:是一些針對應用的功能,耳機應用層必須實現的應用特征有:

(1)接到AG的呼叫時能建立音頻鏈接,通話結束后能斷開音頻鏈接。(2)能發起對遠方的呼叫,通話結束后同樣能斷開音頻鏈接。(3)音頻鏈接轉移。(4)對遠端AG的音量控制。

藍牙TWS耳機設計開發商

七、藍牙HeadSet的建鏈

當藍牙音頻網關AG接收到一個呼叫,發起與HS的鏈接時,為使應用層語音通信可靠,需要藍牙協議棧建立可靠的通信鏈路。根據藍牙協議棧運行,從底層到高層的建鏈一般要經過以下幾個過程:

(1)建立ACL即基帶層的鏈接;(2)建立L2CAP層的鏈接;(3)進行SDP的查詢過程;(4)建立RFCOMM層的鏈路;(5)RFCOMM鏈路建好后,將通過RFCOMM信道傳輸HeadSet控制層的一些AT命令;(6)建立SCO鏈接;(7)根據應用層的動作執行藍牙HS與AG之間的音頻通信。藍牙協議棧的建鏈過程具體討論如下。

7.1建立ACL即基帶層的鏈接

AG接收到一個呼叫時,首先建立與HS之間的ACL鏈接,此HS與AG之間需預先綁定,或者把原來處于休眠狀態下的HS喚醒。這是通過page進程完成的,在用page進程建立ACL時,定義AG是Master角色,于是AG首先發起查詢,通過查詢AG獲得HS的藍牙地址。然后AG在應用層的驅動下向查詢到的HS發起一個page進程,當接收到HS返回的應答時,這時AG與HS之間的ACL鏈接已經成功建立。

一旦ACL鏈接建立,他可以被用來傳送振鈴信號。振鈴信號的發送是通過AT命令RING來完成的。振鈴信號也可以在SCO鏈路上發送。

7.2建立L2CAP層的鏈接

ACL鏈接好后,接著建L2CAP鏈路。AG首先在信令信道上發送一個鏈接請求信令,要求建立信道標號為0x0040的L2CAP(0x0001~0x003F是協議保留不可動態分配的,0x0040~0xFFFF可以自由分配),此信道的PSM(協議服務復用)標志0001,當對方返回鏈接響應信號,表明0x0040信道已經建好。然后對此信道進行配置,配置完信道后,就可以利用此CID為0x0040的L2CAP信道進行SDP查詢了。

7.3進行SDP的查詢過程

利用CID為0x0040的L2CAP信道進行SDP的查詢過程,首先是AG在此L2CAP信道上發送一個SDP查詢包,SDP查詢包將查詢SDP服務器端HS是否具有所需要的服務。若查詢成功,在ACL鏈路上再建一條標號為0x0041的L2CAP鏈路,此信道的PSM為0003,用來傳輸RFCOMM數據流的。同時斷開用作SDP查詢的標號為0x0040的L2CAP鏈路。

7.4建立RFCOMM層的鏈路

當CID為0x0041的L2CAP信道建好之后,接著就是RFCOMM的建鏈過程,如圖3所示。首先建控制信道,建鏈發起方AG在信道上發送一個SABM幀,即要求建RFCOMM層上的Channel0,如果響應方HS希望建立鏈接,返回一個UA幀,表明已經建立好了Channel0這條RFCOMM信道。此信道為控制信道,用來傳送攜帶控制消息和命令的UIH幀。如果響應方HS不希望建立鏈接,返回一個DM幀。

其次建立數據信道,先是對數據傳送信道的參數進行協商,協商命令PN參數包括對將要建立的信道Channel1的優先級,最大幀長等,當雙方協商好后建立傳輸數據的信道Channel1。

圖3 RFCOMM的建鏈過程

RFCOMM層的數據信道建好后,再對HeadSet控制層的控制命令進行傳輸。即在數據傳送信道Channel1上利用UIH幀傳送AT+CKPD=200等命令,當接收到對方的響應OK之后,就可以開始建立SCO鏈接。

7.5建立SCO鏈接

初始化時HCI發一個WRITE_VOICE_SETTING命令,對音頻狀態進行設置,當接收到AG的建立SCO鏈接的請求時,若HS允許,發送一個接收的HCI命令,在命令完成之后,傳輸音頻信號的SCO鏈路就建好了,此時就可以進行語音通信。

八、藍牙應用層的狀態機設計

在協議棧的通信鏈路建立后,可以進行應用層通信。應用層有一個主狀態機在運行,如圖4所示。根據用戶的動作以及AG發送的命令,HS應用進程將在各狀態之間跑動。空閑狀態HS與AG之間可能已經存在ACL鏈接,但沒有RFCOMM信道建立,也沒有音頻信號的SCO鏈路存在。當AG響應內部事件或者用戶請求時,便發起鏈接建立的請求,HS接收到建立鏈接的請求時,HS與AG開始建ACL,L2CAP,RFCOMM鏈路,建好RFCOMM信道后,AG發送一個或多個AT+RING的振鈴指示命令,通知HS用戶有入呼的音頻鏈接到達。此時狀態將轉至來電振鈴狀態。

圖4 應用層主狀態機運行

來電振鈴狀態此時音頻網關AG已經建立了與HS的ACL與RFCOMM信道,并且HS已經接收到振鈴信號,這預示著音頻網關要求建立SCO鏈接,若用戶不對振鈴做出響應,音頻網關將終止RFCOMM信道,狀態將重新回到空閑狀態,若用戶按下HS上的Bluetooth鍵,則表示用戶接受入呼音頻鏈接的請求,這時HS將發送AT控制命令AT+CKPD給AG,這時兩者之間將建立SCO鏈接,狀態將轉至鏈接狀態。

呼叫狀態當HS用戶按下HS上的Bluetooth鍵,用戶發出呼叫音頻網關的請求,這時HS將先建立ACL鏈接,再對音頻網關進行SDP查詢。若SDP查詢成功,HS打開與AG鏈接的RFCOMM信道,并且發送AT命令+CKPD要求建立SCO的音頻鏈接。當SCO鏈接建立時,狀態將轉移到連接狀態,若SCO鏈接建立失敗,狀態將轉到空閑狀態。

鏈接狀態鏈接狀態下,ACL,L2CAP,RFCOMM都已經建立,而且已經執行了SDP查詢,音頻通話就緒。若用戶對HS講話,語音將通過SCO鏈路傳送至AG,并通過AG將語音傳到遠端。

鏈接斷開狀態鏈接斷開可以通過HS上的Bluetooth鍵完成,也可以通過AG的內部事件或用戶干預觸發產生。無論那一種原因引起,實質上都是AG鏈路釋放的結果。如果HS發出了斷開鏈接的請求,并且發送一個AT命令+CKPD到音頻網關要求音頻網關斷開鏈接,于是音頻網關斷開SCO鏈接和RFCOMM信道。當RFCOMM斷開時,狀態將轉換到空閑狀態。而ACL鏈接有可能處于斷開狀態也有可能處于鏈接狀態。

九、藍牙HeadSet的實現方案

以摩托羅拉藍牙解決方案為例,摩托羅拉在先進射頻技術方面很有經驗。摩托羅拉藍牙解決方案可利用UART,RS232,USB或SPI連接主處理器,而主處理器可通過這些接口處理藍牙協議上的堆棧及主控制器的接口等功能;而這個藍牙解決方案則負責執行下堆棧(主控制器接口,鏈路管理程序協議,基帶及射頻)其余的功能。并采用摩托羅拉的MCORETM32位精簡指令集運算(SISC)處理器內核,內含一個高度靈活的外圍設備集,適用于多種不同的嵌入式藍牙應用方案。

總結

近年來移動通信、便攜式計算機以及因特網的迅速發展,使人們對電話通信以外的各種數據信息傳遞的需求日益增長。“藍牙”技術把各種便攜式電腦與蜂窩移動電話用無線電路連接起來,使計算機與通信更加密切結合起來,使人們能隨時隨地進行數據信息的交換與傳輸。

以上就是我們深圳市組創微電子有限公司為您介紹的TWS耳機方案詳情。如果您有藍牙TWS耳機開發需求,可以放心交給我們,我們有豐富的電子產品定制開發經驗,可以盡快評估開發周期與IC價格,也可以核算PCBA報價。我們是多家國內外芯片代理商:松翰、應廣、杰理、安凱、全志、realtek,有MCU、語音IC、藍牙IC與模塊、wifi模塊。我們的開發能力涵蓋了PCB設計、單片機開發、藍牙技術開發、軟件定制開發、APP定制開發、微信公眾號開發等軟硬件設計。還可以承接智能電子產品研發、家用電器方案設計、美容儀器開發、物聯網應用開發、智能家居方案設計、TWS耳機開發、藍牙耳機音箱開發、兒童玩具方案開發、電子教育產品研發。

方案用到的產品

該方案成功案例

  • 返回頂部