新四季網

一種手機上藍牙語音通話的方法及手機的製作方法

2023-10-10 11:08:49 6

專利名稱:一種手機上藍牙語音通話的方法及手機的製作方法
技術領域:
本發明涉及藍牙通話技術,特別是在各種低端手機平臺上,實現藍 牙語音通話的方法及手機。
背景技術:
個人移動通訊技術的不斷發展,現在手機的作用越來越大,同樣, 手機的的功能在人們的不斷需求下也持續增強。如今,通過手機進行上
網、拍照攝影等都已經成為了現實,而隨著人們娛樂的要求增加,把MP3、 MP4等功能集成到手機上,也都完成。而其中,使用藍牙耳機實現通話 功能已經是中高端手機的標準配置了。
一般的使用藍牙耳機通話的功能是基於以下條件實現的第一,需 要在中高端的手機平臺上,第二,需要該手機平臺的基帶晶片晶片具有 線性脈衝編碼調製(Linear Pulse Code Modlation,簡稱PCM)音頻接 口 ,用於上下行的語音數據交互傳輸。
如圖1所示,是現有技術藍牙通話的硬體示意框架圖。它是示意了 通話中的語音流在硬體鏈路上的傳輸過程。首先,系統程序調用匹配和 關聯程序通過通用異步接收和發送器(Universal Asynchronous Receiver/Transmitter,簡稱UART) 口與控制藍牙模塊與與藍牙耳機進 行匹配,匹配完後,同樣的方式激活藍牙耳機功能。當撥打電話或接通 電話時,無論是控制命令還通過UART 口發送到藍牙模塊端,而語音數據 流則以PCM數據流的形式從硬體上的PCM鏈路上交互傳輸。從而實現了藍牙通話。
如圖3所示,現有技術藍牙通話的語音通道切換流程示意圖。在進 行藍牙通話前,首先對基帶端的PCM音頻接口和UART串口進行初始化, 根據當前藍牙設備的匹配數據分別對PCM接口的時鐘(CLK),使用SL0T (即藍牙模塊內部PCM數據位數接口)以及格式(FORMAT)等各項參數 進行匹配行的設置,同時,對UART 口的比特率等參數也進行配置。並把 PCM接口和UART接口的控制函數註冊進系統驅動庫中。當通話語音交互 傳輸開始時,啟動基帶端的PCM接口,將需要傳輸的PCM數據流送到硬 件鏈路上傳輸,實現藍牙通話。
然而,對於低端手機平臺來說,由於平臺本身軟/硬體資源的限制, 一般都不會實現藍牙語音通話功能。

發明內容
為克服上述已有技術的不足,本發明要解決的技術問題是提供一種在
低端的手機平臺上實現高端的藍牙語音通話的方法。 為解決上述技術問題,本發明的技術方案是 一種手機上藍牙語音通話的方法,包括以下步驟 步驟l、在手機的多媒體菜單下添加藍牙功能菜單選項,並創建相
應的界面窗口用於藍牙模塊的激活以及該藍牙模塊與藍牙耳機的匹配
連接;
步驟2、基帶晶片通過UART 口控制藍牙模塊與藍牙耳機進行匹配, 並激活藍牙耳機功能;
步驟3、將用於基帶晶片和藍牙模塊間藍牙通信的UART 口打開, 設置該UART 口通信的比特率為其能工作的最高速率,並將該UART 口 的操作函數註冊進系統驅動庫中;
4步驟4、藍牙通話中,分時使用UART 口將PCM音頻數據從藍牙模 塊傳輸到基帶晶片中。
所述藍牙語音通話的方法的手機,包括基帶晶片,還包括藍牙模塊 和藍牙耳機,所述的基帶晶片和藍牙模塊間通過UART 口相連,交互傳 輸控制命令和音頻數據流。
所述的基帶晶片是展訊通信有限公司手機的GSM基帶晶片6600D芯 片,藍牙模塊是CSR公司的BC41B143A型號的音頻處理晶片。
與現有技術相比,本發明的有益效果是
本發明方法是使用已有的低端手機平臺資源,利用手機平臺上具有的 通用的UART通信接口,將其既用於控制藍牙模塊的控制通信線路,也分 時的將其復用作語音交互的音頻通道。這樣就節省了 PCM的硬體鏈路, 使不具備PCM接口或PCM接口不足的手機平臺上得以實現藍牙語音通話 的功能。


圖1是現有技術藍牙通話的硬體示意框架圖; 圖2是本發明手機硬體框架圖3是現有技術藍牙通話的語音通道切換流程示意圖; 圖4是本發明方法藍牙通話語音通道切換流程示意圖。
具體實施例方式
下面結合附圖和實施例對本發明的具體實施方式
做進一步詳細的說 明,但不應以此限制本發明的保護範圍。
請參閱圖2。本發明用於藍牙語音通話的方法的手機,包括基帶芯 片,還包括藍牙模塊和藍牙耳機,所述的基帶晶片和藍牙模塊間通過UART 口相連,交互傳輸控制命令和音頻數據流。
本發明的實施例是在展訊通信有限公司手機的GSM基帶晶片6600D 晶片平臺上進行的,平臺軟體是基於該6600D平臺的附帶的系統平臺軟 件。使用的藍牙晶片是CSR(Cambridge Silicon Radio Limited)公司 的BC41B143A型號的音頻處理晶片。同時,若需要切換藍牙模塊,只要 該藍牙模塊具有高速UART 口通信即可實現。
如圖2所示,本發明硬體示意框架圖。它也示意了通話中的語音流 在硬體鏈路上的傳輸過程。首先,基帶晶片通過UART 口控制藍牙模塊 與藍牙耳機進行匹配,並激活藍牙耳機功能。當撥打電話或接通電話時, 無論是控制命令還是語音數據流,都從UART 口上交互傳輸,從而實現 了藍牙通話。
請參閱圖4。本發明手機上藍牙語音通話的方法,包括以下步驟
步驟l、在手機的多媒體菜單下添加藍牙功能菜單選項,並創建相 應的界面窗口用於藍牙模塊的激活以及該藍牙模塊與藍牙耳機的匹配
連接;
步驟2、基帶晶片通過UART 口控制藍牙模塊與藍牙耳機進行匹配, 並激活藍牙耳機功能。具體動作是初始化藍牙模塊,搜索當前附近 存在的藍牙設備或耳機,從搜索到的藍牙設備/耳機中選取需要匹配的 耳機並輸入匹配密碼,將匹配密碼通過藍牙模塊發送到藍牙耳機上, 接受反饋的信息,若成功,則與藍牙耳機的匹配成功;
步驟3、將用於基帶晶片和藍牙模塊間藍牙通信的UART 口打開, 設置該UART 口通信的比特率為其能工作的最高速率,並將該UART 口 的操作函數註冊進系統驅動庫中;
步驟4、藍牙通話中,分時使用UART 口將PCM音頻數據從藍牙模
6塊傳輸到基帶晶片中。所謂分時,就是在不同的時間點來分別進行藍
牙控制指令傳送和PCM音頻語音數據的傳輸。這個過程中,必須要對 所要傳輸的語音數據量進行估算(此估算,首先需要從語音數據連續播 放而不斷續為基礎,計算出需要的語音緩存量,而當前的數據傳輸速 率是計算緩存量的量化指標,在一定的時間間隙中,緩存量與單位時 間能夠傳輸的數據量間的比值,可以粗算做傳輸數據的單位時間片內 的估算的傳輸數據量),不能使語音通話有滯後/延遲的情況出現,而 期間對與正常動作的指令也要正常的發送,這樣就要求對整個UART 口 的流程控制需要完善的流程控制。這樣的流程首先是在前面估算數據 量的的基礎上完成的,當知道了一定時間片刻所需要傳輸的數據量後, 我們可以用某種流程控制手段,比如,在本方案中,部分流程控制使 用了啟動定時器的方式,每隔一定的時間端,就觸發系統程序對已經 緩存的語音數據進行讀取或發送,而其他的時間片刻,就可以發送動 作控制指令。而當控制指令需要立刻發送而當前語音數據正在發送時, 對當前的緩存量進行判斷,在足夠緩存量的情況下就先暫行語音數據 傳輸而馬上發送指令,否則,壓縮當次語音數據的傳輸,首先發送指 令,在恢復語音傳輸。
上述對所要傳輸的語音數據量進行估算,首先需要從語音數據連續 播放而不斷續為基礎,計算出需要的語音緩存量,而當前的數據傳輸 速率是計算緩存量的量化指標,在一定的時間間隙中,緩存量與單位 時間能夠傳輸的數據量間的比值,可以粗算做傳輸數據的單位時間片 內的估算的傳輸數據量。
如圖4所示,在進行藍牙模塊初始化前,首先對基帶端的UART串 口進行初始化,根據當前藍牙模塊的匹配數據分別對UART 口的比特率 等參數也進行配置。並把UART接口的控制函數註冊進系統驅動庫中,
7同時啟動UART接口,開始控制信號的通信。當通話語音交互傳輸開始 時,分時的將需要傳輸的PCM數據流送到UART的硬體鏈路上傳輸,實 現通話。以下進一步描述。
(1) 手機平臺的控制接口以及界面建立
首先,在手機的多媒體菜單下添加藍牙功能菜單選項,並創建相 應的界面窗口用於藍牙模塊的激活以及藍牙模塊與藍牙耳機的匹配連 接。
(2) 藍牙模塊硬/軟體整合;
首先,硬體上,需要在手機板上整合進藍牙模塊,以及相關的通信 /音頻通道的連接和輔助電路配置。藍牙模塊與基帶晶片的通過UART 口通信。 一般的藍牙模塊與音源端的音頻都是經過晶片上的PCM等純 音頻通道傳輸的,但在低端的手機平臺中,不可能都具有這樣的條件, 所以本發明使用了基帶晶片與藍牙模塊通信的UART 口復用作為音頻 通道使用。另外,在軟體上,將藍牙模塊有關晶片RESET,激活以及 協議棧傳輸等等通用的控制程序模塊整合到我們現有的平臺軟體上。 與前面步驟1建立起來的界面關聯作用,本發明軟體上整合基於以下 的條件首先藍牙模塊的相關的通用的模塊控制程序己經很成熟,並 具有通用性,而對這些通用模塊控制程序的移植只需要針對當前使用 平臺的特性做相應的應用接口修改就能完成;本發明對藍牙模塊控制 的關鍵技術在於修改藍牙模塊本身對PCM數據收/發接口的改變和配 置,將藍牙模塊本來從模塊硬體PCM埠收/發數據的模式改為從指令 傳送的UART 口接收與發送,刪除與PCM接口相關的數據收/發的函數, 將從藍牙耳機接收到的PCM數據傳輸到UART 口發送到基帶晶片端,再 將從基帶晶片端發送過來的語音PCM數據接收完畢後發送到藍牙耳機上。
(3) UART 口的配置與使用藍牙通話時基帶端語音的處理和語音 數據接收/發送通道的切換處理。
對藍牙模塊初始話時,首先對與藍牙模塊通信的UART 口進行配 置。將專門用於藍牙通信的UART 口打開,設置通信的比特率為其能工 作的最高速率(比如一般的平臺是921600),並將該UART口的操作函 數註冊進系統驅動庫中。在藍牙耳機己經激活藍牙通話功能的狀態下 有來電或撥打電話,手機系統將會自動觸發使用藍牙耳機通道傳輸語 音。此時從通話對方過來的語音信號經過基帶內部出來,以PCM數據 的形式被系統程序調度而從UART 口中發送到藍牙模塊中,而不是象一 般的藍牙語音一樣從硬體的PCM鏈路上傳輸到藍牙模塊中。
void OSUartDrv—Rx(void)
uint8 * buf—ptr = NULL; uint32 rx—cnt = 0; ■ uint32 rx—ret = 0; uint32 cnt = 0;
SCI—ASSERT(g_rx—out—ptr <= RX—BUF—MAX—SIZE); SCI_ASSERT(g—rx—numbers <= RX—BUF—MAX—SIZE);
〃SCI—TRACE—LOW (〃OSUartDrv_Rx ,議 is %d , ptr is %d〃, g—rx—numbers, g—rx—out—ptr); if(g—rx—numbers > 0)
buf—ptr = (uint8氺)&s一rx—buf[g—rx_out—ptr];
if(g—rx—numbers > MAX—BYTES—T0—ABCSP)rx—cnt = MAX—BYTES—TO—ABCSP;
61S6
rx_cnt = g—rx—numbers; if(rx—cnt > (RX—BUF—MAX—SIZE - g_rx—out_ptr)) rx—cnt = RX—BUF—MAX—SIZE - g_rx—outjptr;
/*
//Output Receive data for (cnt = 0; cnt < rx—cnt; cnt++)
SCI—TRACE—LOW(〃[BT]RX[%d]:Ox%X\r\n〃, cnt, buf_ptr[cnt]);
/求
SCI—MEMCPY((uint8*)&s—rx—test_buffer[s—rx—test—cnt], (uint8求)bufjtr, cnt);
s—rx—test_cnt += cnt; 求/
rx—ret = abcsp—uart—deliverbytes(&AbcspInstanceData, (char 氺)bufj)tr, rx_cnt);
g_rx—out_ptr = (g—rx—out—ptr + rx—ret)%RX_BUF—MAX—SIZE; SCI—DisableIRQ;SCI_RestoreIRQ;
6lS6
//When call the rx function, but uart .does not receive anydatas, then should
//use the uart interrupt to call bg一intl again.OSUartDrv_NeedRxData(TRUE);
(4)藍牙模塊的語音數據輸入輸出通道的切換處理;
同樣,從藍牙耳機麥克中接收到的本機的語音信號從藍牙耳機傳送到手機上的藍牙模塊協議棧中後,將接收到的語音數據處理轉化成PCM語音信號後,不再從藍牙模塊的PCM硬體連路上輸出,而是被打包後從UART 口上傳輸到基帶晶片中。數據被傳送到基帶晶片中後將被送到GSM協議棧處理流程中,跟本機上獲得的語音信號一樣,被傳送到對方手機上,從而實現雙方語音的通話。
if(OS—IsSchedRunning&&
(g—rx—numbers > O))
bg—intl;
LOCAL void OSUartDrv—EventCallBack(uint32 event)
uint32 i =0;〃SCI—TRACE_LOW(〃OSUartDrv—EventCallBack enent is Ox%x ,tx_num is%d〃, event, g—tx—numbers) ■;switch(event)
case EVENT—WRITE—COMPLETE:uint32 send—cnt =0;
SCI—ASSERT(g—tx—out_ptr <= TX_BUF—MAX—SIZE);
SCI—ASSERT(g—tx—numbers 〈= TX—BUF—MAX—SIZE);
if (0 == g—tx—numbers)
UART—Tx_Int_Enable(OSUartDrv—GetUartId, FALSE);
else
if((g—tx—out_ptr + g_tx—numbers) 〈= TX—BUF_MAX_SIZE)
send—cnt = UART—WriteData(OSUartDrv—GetUartId,(uint8*)&s—tx—buf[g—tx—out_ptr],
g—tx—numbers);send—cnt = UART—WriteData(OSUartDrv_GetUartId(uint8*)&s_tx—buf[g—tx—out—ptr],TX—BUF—MAX—SIZE - g—tx_out_ptr);
g—tx—out—ptr += send—cnt;if (g—tx—out_ptr >= TX—BUF—MAX—SIZE)g—tx—out_ptr -二 TX—BUF—MAX—SIZE;
SCI—ASSERT(g_tx—numbers >= send—cnt);g—tx—numbers -= send—cnt;
if (g—uart—timer&&(!g_uart—timer_active))
SCI—ChangeTimer(g—uart—timer,uart—timer_handler, UART—WAIT—PERIOD);
SCI—ActiveTimer(g—uart—timer);g—uart—timer—active = TRUE;
g—uart_last_access = TRUE;if(NULL == g—uart—timer)
13break;
case EVENT—DATA—T0_READ:uint32 read_len = 0;
SCI—ASSERT(g_rx—in—ptr 〈= RX—BUF—MAX—SIZE);SCI—ASSERT(g_rx_numbers 〈= RX—BUF—MAX—SIZE);read—len =應T一ReadData (OSUartDrv—GetUartId,
(uint8*)&s—rx—buf [g—rx—in—ptr],RX_BUF_MAX_SIZE - g—rx_in_ptr);
SCI—ASSERT(read—len <= RX—BUF—MAX—SIZE - g—rx—in_ptr);g—rx—in—ptr = (g—rx—in_ptr + read—len)%RX—BUF—MAX_SIZE;g—rx—numbers += read—len;
if(OS—IsSchedRunning&&
OSUartDrv一IsNeedRxData&&(g—rx—numbers 〉 O))
〃 SCI—TRACE—LOW(〃OSUartDrv—EventCallBack NOTIVEBG , curr time si %d〃, SCI—GetTickCount 0);bg—intl;
if (g—uart—timer&&(!g—uart—timer—active))SCI_ChangeTimer(g—uart—timer, uart—timer—handler,UART—WAIT—PERIOD);
SCI—Active'Timer (g—uart—timer);g—uart—timer—active = TRUE;
6ls6
g—uart—last—access 二 TRUE;if(NULL == g—uart_timer)
SCI—TRACE—LOW(〃[BT]EVENT_DATA—T0_READ:timer handle
is empty\r\n");break;
case EVENT—INIT—COMPLETE:break;
case EVENT—SHUTDOWN—COMPLETE:
break;default:
break;
15本發明有效的控制了數據流的傳輸,使音頻數據傳輸通暢,保持 語音通話的連貫不停頓。本發明對使用到的任務或資源進行了合理的
配置,確保了在使用藍牙UART 口傳輸通話過程中的流程正常;同時對 在藍牙通話過程中,相關的資源使用上進行同步的跟蹤,保證所用資 源不會被別的系統任務給強奪和佔用。
以上所述僅為本發明的較佳實施例而已,並非用來限定本發明的實施 範圍。即凡依本發明申請專利範圍的內容所作的等效變化與修飾,都應為 本發明的技術範疇。
權利要求
1、一種手機上藍牙語音通話的方法,其特徵在於包括以下步驟步驟1、在手機的多媒體菜單下添加藍牙功能菜單選項,並創建相應的界面窗口用於藍牙模塊的激活以及該藍牙模塊與藍牙耳機的匹配連接;步驟2、基帶晶片通過UART口控制藍牙模塊與藍牙耳機進行匹配,並激活藍牙耳機功能;步驟3、將用於基帶晶片和藍牙模塊間藍牙通信的UART口打開,設置該UART口通信的比特率為其能工作的最高速率,並將該UART口的操作函數註冊進系統驅動庫中;步驟4、藍牙通話中,分時使用UART口將PCM音頻數據從藍牙模塊傳輸到基帶晶片中。
2、 一種用於上述權利要求l所述藍牙語音通話的方法的手機,包括基 帶晶片,其特徵在於還包括藍牙模塊和藍牙耳機,所述的基帶晶片和 藍牙模塊間通過UART 口相連,交互傳輸控制命令和音頻數據流。
3、 根據權利要求2所述的手機,其特徵在於所述的基帶晶片是展訊通 信有限公司手機的GSM基帶晶片6600D晶片,藍牙模塊是CSR公司的 BC41B143A型號的音頻處理晶片。
全文摘要
本發明公開了一種手機上藍牙語音通話的方法,包括步驟1.在手機的多媒體菜單下添加藍牙功能菜單選項;步驟2.基帶晶片通過UART口控制藍牙模塊與藍牙耳機進行匹配,並激活藍牙耳機功能;步驟3.將用於基帶晶片和藍牙模塊間藍牙通信的UART口打開,設置該UART口通信的比特率為其能工作的最高速率,並將該UART口的操作函數註冊進系統驅動庫中;步驟4.藍牙通話中,分時使用UART口將PCM音頻數據從藍牙模塊傳輸到基帶晶片中。本發明節省了PCM的硬體鏈路,使不具備PCM接口或PCM接口不足的手機平臺上得以實現藍牙語音通話的功能。
文檔編號H04M1/725GK101465908SQ20081020486
公開日2009年6月24日 申請日期2008年12月30日 優先權日2008年12月30日
發明者梁仲華 申請人:上海聞泰電子科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀