專利名稱:音頻傳輸?shù)膶?shí)現(xiàn)方法及移動終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種音頻傳輸?shù)膶?shí)現(xiàn)方法及移動終端。
背景技術(shù):
隨著無線通信技術(shù)的高速發(fā)展,第三代無線通信網(wǎng)絡(luò)技術(shù)的逐漸普及,移動終端 所提供的功能越來越多樣化。移動終端一般采用USB^niversalSerial Bus,通用串行總 線)復(fù)合設(shè)備實(shí)現(xiàn)功能接口。所謂USB復(fù)合設(shè)備是指在一個USB主設(shè)備下掛有多個子設(shè)備 的USB設(shè)備,每個子設(shè)備使用幾個USB端點(diǎn)分別與USB主機(jī)側(cè)進(jìn)行通信。通常這些USB設(shè) 備包括用于傳輸AT命令的AT端口,用于提供數(shù)據(jù)業(yè)務(wù)功能的Modem (調(diào)制解調(diào)器)口,用 于傳輸音頻數(shù)據(jù)的Sound (音頻)口。如果移動終端有存儲功能,則還具有USB大容量存儲 設(shè)備。其中,USB主機(jī)一般為具有USB主機(jī)控制器的PC側(cè)設(shè)備。傳統(tǒng)傳輸音頻用的Sound 口使用USB的Bulk (批量)端點(diǎn)傳輸數(shù)據(jù),USB主機(jī)控制 器不會為Bulk端點(diǎn)預(yù)留傳輸帶寬,當(dāng)USB總線負(fù)載較重時,Sound 口的數(shù)據(jù)傳輸實(shí)時性就 會受到影響,表現(xiàn)為音頻延遲、音質(zhì)變差、噪聲增加等問題。另外,由于移動終端的CPU處理 能力有限,當(dāng)USB總線上數(shù)據(jù)傳輸量很大時,可能會由于CPU內(nèi)部總線帶寬耗盡而導(dǎo)致無法 及時響應(yīng)USB主機(jī)側(cè)的音頻數(shù)據(jù)傳輸請求,導(dǎo)致音頻數(shù)據(jù)丟失,進(jìn)而造成音質(zhì)變差的問題。并且,現(xiàn)有技術(shù)的Sound 口音頻數(shù)據(jù)傳輸方法實(shí)際上是一種廠商自定義的方法, 不符合任何USB標(biāo)準(zhǔn),因此造成了移動終端在不同的操作系統(tǒng)及應(yīng)用場景下移植應(yīng)用困難 的問題。
發(fā)明內(nèi)容
有鑒于現(xiàn)有技術(shù)存在現(xiàn)有的USB總線帶寬不足造成的音頻音質(zhì)變差問題而做出 本發(fā)明,為此本發(fā)明的主要目的在于提供一種音頻傳輸?shù)膶?shí)現(xiàn)方法及移動終端,其中根據(jù)本發(fā)明實(shí)施例的音頻傳輸?shù)膶?shí)現(xiàn)方法包括為USB復(fù)合設(shè)備中的USB音頻 設(shè)備設(shè)置接口描述符,其中,接口描述符用于描述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需的信息; USB音頻設(shè)備將其接口描述符發(fā)送至USB主機(jī),使得USB主機(jī)根據(jù)USB音頻設(shè)備的接口描述 符完成對USB音頻設(shè)備的枚舉和識別;USB音頻設(shè)備與USB主機(jī)進(jìn)行音頻數(shù)據(jù)傳輸。其中,USB音頻設(shè)備的接口描述符進(jìn)一步包括音頻控制接口描述符、上行音頻數(shù) 據(jù)流接口描述符和下行音頻數(shù)據(jù)流接口描述符。其中,USB復(fù)合設(shè)備包括USB音頻設(shè)備和非USB音頻設(shè)備,USB音頻設(shè)備與USB主 機(jī)進(jìn)行音頻數(shù)據(jù)傳輸進(jìn)一步包括USB復(fù)合設(shè)備優(yōu)先處理來自USB音頻設(shè)備的數(shù)據(jù)傳輸請 求;在USB音頻設(shè)備的數(shù)據(jù)傳輸請求處理完之后,USB復(fù)合設(shè)備處理來自非USB音頻設(shè)備的 數(shù)據(jù)傳輸請求。進(jìn)一步,USB復(fù)合設(shè)備處理來自非USB音頻設(shè)備的數(shù)據(jù)傳輸請求進(jìn)一步包括當(dāng)非 USB音頻設(shè)備請求傳輸?shù)臄?shù)據(jù)超過閾值時,USB復(fù)合設(shè)備將請求傳輸?shù)臄?shù)據(jù)拆分為多個數(shù) 據(jù)包進(jìn)行處理。
并且,非USB音頻設(shè)備包括以下至少之一 AT端口、Modem端口、存儲設(shè)備。根據(jù)本發(fā)明實(shí)施例的移動終端,其包括USB復(fù)合設(shè)備,該USB復(fù)合設(shè)備進(jìn)一步包括 USB音頻設(shè)備和非USB音頻設(shè)備的,該移動終端進(jìn)一步包括接口描述符設(shè)置模塊,用于設(shè) 置USB音頻設(shè)備的接口描述符,其中,接口描述符用于描述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需 的信息;發(fā)送模塊,用于將接口描述符發(fā)送至USB主機(jī),使得USB主機(jī)根據(jù)接口描述符完成 對USB音頻設(shè)備的枚舉和識別。其中,USB音頻設(shè)備的接口描述符進(jìn)一步包括音頻控制接口描述符、上行音頻數(shù) 據(jù)流接口描述符和下行音頻數(shù)據(jù)流接口描述符。其中,移動終端進(jìn)一步包括優(yōu)先級設(shè)置模塊,用于將USB音頻設(shè)備的數(shù)據(jù)傳輸端 點(diǎn)設(shè)置為高優(yōu)先級端點(diǎn),以使USB主機(jī)優(yōu)先處理來自USB音頻設(shè)備的數(shù)據(jù)傳輸請求。進(jìn)一步,移動終端進(jìn)一步包括拆分模塊,用于將超過閾值的非USB音頻設(shè)備請求 傳輸?shù)臄?shù)據(jù),拆分為多個數(shù)據(jù)包。并且,非USB音頻設(shè)備包括以下至少之一 AT端口、Modem端口、存儲設(shè)備。與現(xiàn)有技術(shù)相比,根據(jù)本發(fā)明的上述技術(shù)方案,在USB總線帶寬不足時、或者在移 動終端處理任務(wù)較重時或內(nèi)部總線帶寬及硬件資源不足時,能夠保證高品質(zhì)的音頻傳輸效^ ο
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例的音頻傳輸?shù)膶?shí)現(xiàn)方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的USB復(fù)合設(shè)備配置描述符示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的USB音頻傳輸設(shè)備接口描述符結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明實(shí)施例的USB音頻傳輸設(shè)備的枚舉過程的流程圖;圖5根據(jù)本發(fā)明實(shí)施例的USB驅(qū)動程序按優(yōu)先級調(diào)度數(shù)據(jù)傳輸流程圖;圖6是根據(jù)本發(fā)明實(shí)施例的踢動終端的結(jié)構(gòu)框圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下結(jié)合附圖及具體實(shí)施例,對本 發(fā)明作進(jìn)一步地詳細(xì)說明。描述符(Descriptor)是一個完整的數(shù)據(jù)結(jié)構(gòu),用于描述一個USB設(shè)備的所有屬 性,USB主機(jī)通過一系列命令要求USB設(shè)備發(fā)送這些信息,從而使USB主機(jī)獲知USB設(shè)備的 功能、類別、占用的帶寬、傳輸方式及數(shù)據(jù)量大小,只有USB主機(jī)確定了這些信息之后,USB 設(shè)備才能開始工作。根據(jù)本發(fā)明實(shí)施例,提供了 一種音頻傳輸?shù)膶?shí)現(xiàn)方法。圖1是根據(jù)本發(fā)明實(shí)施例的音頻傳輸?shù)膶?shí)現(xiàn)方法的流程圖,如圖1所示,該方法包 括(步驟 S102-S106)步驟S102,為USB復(fù)合設(shè)備中的USB音頻(USB Audio)設(shè)備設(shè)置接口描述符,其 中,接口描述符用于描述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需的信息;
步驟S104,USB音頻設(shè)備將其接口描述符發(fā)送至USB主機(jī),使得USB主機(jī)根據(jù)USB 音頻設(shè)備的接口描述符完成對USB音頻設(shè)備的枚舉和識別;步驟S106,USB音頻設(shè)備與USB主機(jī)進(jìn)行音頻數(shù)據(jù)傳輸。下面詳細(xì)描述上述各處理的細(xì)節(jié)。一、步驟 S102標(biāo)準(zhǔn)的USB設(shè)備有以下幾種USB描述符設(shè)備描述符,配置描述符,字符串描述符, 接口描述符,端點(diǎn)描述符。在USB復(fù)合設(shè)備配置描述符下存在多個子設(shè)備,包括用于傳輸音頻數(shù)據(jù)的USB Audio設(shè)備、及非USB音頻設(shè)備,其中,非USB音頻設(shè)備可以包括用于傳輸AT命令的AT端 口,用于提供數(shù)據(jù)業(yè)務(wù)功能的Modem 口,如果移動終端具有存儲功能,則還具有USB大容量 存儲設(shè)備(或稱為存儲設(shè)備)。每個子設(shè)備由一個或者多個USB接口描述符表示。每個設(shè) 備使用多個USB端點(diǎn)分別與USB主機(jī)側(cè)進(jìn)行通信。圖2是根據(jù)本發(fā)明實(shí)施例的USB復(fù)合設(shè)備配置描述符示意圖,USB復(fù)合設(shè)備配置 描述符201是移動終端USB設(shè)備的配置描述符,參考圖2,USB復(fù)合設(shè)備配置描述符201包 括=Audio設(shè)備接口描述符202、Modem接口描述符203、AT接口描述符204和大容量存儲設(shè) 備接口描述符205等。USB Audio設(shè)備作為USB復(fù)合設(shè)備下的一個子設(shè)備存在,其設(shè)備描述符由三個USB 接口描述符組成,具體包括l、Audio控制接口描述符,用于表示本USB設(shè)備屬于USB Audio設(shè)備類,并指出接 下來兩個接口描述符與本接口描述符同屬于一個USB Audio設(shè)備。2、Audio上行音頻數(shù)據(jù)流接口描述符,該描述符說明從移動終端到USB主機(jī)的音 頻數(shù)據(jù)格式。該接口描述符中包含一個Audio音頻流端點(diǎn)描述符,描述上行音頻流數(shù)據(jù)傳 輸所需的USB IS0(同步)傳輸端點(diǎn)。3、Audio下行音頻數(shù)據(jù)流接口描述符,該描述符說明從USB主機(jī)到移動終端的音 頻數(shù)據(jù)格式。該接口描述符中包含一個Audio音頻流端點(diǎn)描述符,描述下行音頻流數(shù)據(jù)傳 輸所需的USB ISO傳輸端點(diǎn)。USB Audio設(shè)備的三個接口描述符具體構(gòu)成參考圖3。圖3是本發(fā)明USB音頻傳 輸設(shè)備接口描述符結(jié)構(gòu)示意圖。如圖3所示Audio設(shè)備控制接口描述符301是整個USB Audio設(shè)備描述符的入口,該描述符說 明了本USB設(shè)備所使用的USB設(shè)備類。Audio類設(shè)備接口描述符302,表明從該描述符之后的描述符為USBAudio類相關(guān) 描述符。Audio控制接口頭描述符303,表明下面的所有描述符與整個USB設(shè)備描述符的關(guān)系。USB輸入數(shù)據(jù)流終端描述符304,用于表示從USB主機(jī)到USB設(shè)備的音頻數(shù)據(jù)流。USB輸入流屬性描述符308,用于描述USB輸入數(shù)據(jù)流屬性。USB輸出數(shù)據(jù)流終端描述符305,用于表示從USB設(shè)備到USB主機(jī)的音頻數(shù)據(jù)流。上行音頻數(shù)據(jù)終端描述符306,用于表示從USB設(shè)備到無線網(wǎng)絡(luò)協(xié)議棧的音頻數(shù) 據(jù)流。
上行音頻數(shù)據(jù)屬性描述符309,用于描述上行音頻數(shù)據(jù)流屬性。下行音頻數(shù)據(jù)終端描述符307,用于表示從無線網(wǎng)絡(luò)協(xié)議棧到USB設(shè)別的音頻數(shù) 據(jù)流。Audio輸出數(shù)據(jù)流接口描述符310,表示音頻輸出流停止?fàn)顟B(tài)接口。當(dāng)USB主機(jī)停 止發(fā)送音頻數(shù)據(jù)后,發(fā)送Set Interface (選擇接口 )命令選擇此接口。Audio輸出數(shù)據(jù)流可選接口描述符311,表示音頻輸出流傳輸狀態(tài)接口。當(dāng)USB主 機(jī)開始發(fā)送音頻數(shù)據(jù)時,發(fā)送Set Interface命令選擇此接口。輸出數(shù)據(jù)流格式描述符312,描述設(shè)備可以接收的音頻數(shù)據(jù)流參數(shù),包括采樣精 度、采樣頻率,音頻格式。USB輸出端點(diǎn)描述符313,描述Audio設(shè)備使用的接收音頻數(shù)據(jù)的ISO端點(diǎn)號及端 點(diǎn)屬性。Audio輸入數(shù)據(jù)流接口描述符314,表示音頻輸入流停止?fàn)顟B(tài)接口。當(dāng)USB主機(jī)停 止接收音頻數(shù)據(jù)后,發(fā)送Set Interface命令選擇此接口。Audio輸入數(shù)據(jù)流可選接口描述符315,表示音頻輸入流傳輸狀態(tài)接口。當(dāng)USB主 機(jī)開始接收音頻數(shù)據(jù)時,發(fā)送Set Interface命令選擇此接口。輸入數(shù)據(jù)流格式描述符316,描述設(shè)備發(fā)出的音頻數(shù)據(jù)流參數(shù),包括采樣精度、采 樣頻率,音頻格式。USB輸入端點(diǎn)描述符317,描述Audio設(shè)備使用的發(fā)送音頻數(shù)據(jù)的ISO端點(diǎn)號及端 點(diǎn)屬性。二、步驟 S104圖4是根據(jù)本發(fā)明實(shí)施例的USB音頻傳輸設(shè)備的枚舉過程的流程圖。在該過程中, 圖2和圖3所示的USB描述符發(fā)送給USB主機(jī),完成設(shè)備的枚舉與識別過程。圖4包括以 下步驟步驟401,USB總線復(fù)位。USB總線復(fù)位使USB設(shè)備的設(shè)備地址恢復(fù)到默認(rèn)地址, 準(zhǔn)備好接收USB主機(jī)驅(qū)動發(fā)出的枚舉命令。步驟402,USB主機(jī)驅(qū)動向設(shè)備請求設(shè)備描述符。在該步驟中,USB設(shè)備將其設(shè)備 描述符返回給USB主機(jī)。步驟403,USB主機(jī)驅(qū)動設(shè)置設(shè)備的地址。在該步驟中,USB主機(jī)向設(shè)備發(fā)出設(shè)置 地址的命令。USB設(shè)備在接收到此命令后,將獲得的地址填入到USB設(shè)備控制器的地址寄存 器中。此步驟之后的USB數(shù)據(jù)傳輸均在該地址上完成。步驟404,USB主機(jī)驅(qū)動向設(shè)備請求配置描述符。在該步驟中,USB主機(jī)向設(shè)備發(fā) 出命令請求設(shè)備的配置描述符。USB設(shè)備需要將圖3中所示的USB Audio設(shè)備的三個接口 描述符,連同USB復(fù)合設(shè)備中其他子設(shè)備的接口描述符包含在USB復(fù)合設(shè)備配置描述符中 一同返回給USB主機(jī)。步驟405,USB主機(jī)驅(qū)動解析配置描述符,選擇USB配置。USB主機(jī)在得到設(shè)備返 回的配置描述符后,啟動解析描述符的流程。該流程將驗(yàn)證配置描述符的正確性,并解析出 復(fù)合設(shè)備配置描述符中包含的子設(shè)備個數(shù)及類型。當(dāng)配置描述符正確無誤時,USB主機(jī)驅(qū) 動向設(shè)備發(fā)出選擇配置的命令,使當(dāng)前的USB配置生效。步驟406,USB主機(jī)驅(qū)動加載子設(shè)備驅(qū)動。USB主機(jī)根據(jù)步驟405中解析出的USB
6子設(shè)備信息分別加載各個子設(shè)備的驅(qū)動程序。本發(fā)明的USBAudio設(shè)備將加載USB Audio 設(shè)備驅(qū)動程序。至此USB設(shè)備的枚舉及識別過程完成,設(shè)備進(jìn)入就緒狀態(tài),等待啟動數(shù)據(jù)傳 輸?shù)闹噶?。三、步驟S106響應(yīng)USB主機(jī)發(fā)出的Set Interface命令,啟動或停止音頻數(shù)據(jù)流的接收或者發(fā) 送,具體包括1、當(dāng)主機(jī)發(fā)出選定接口命令,選擇了數(shù)據(jù)傳輸接口后,移動終端打開USB總線幀 起始中斷。2、當(dāng)幀起始中斷產(chǎn)生時,在數(shù)據(jù)傳輸?shù)腎SO端點(diǎn)發(fā)送和接收一幀音頻數(shù)據(jù)。3、當(dāng)主機(jī)發(fā)出選定接口命令,選擇了非數(shù)據(jù)傳輸接口后,移動終端關(guān)閉USB總線 幀起始中斷。停止音頻數(shù)據(jù)的接收和發(fā)送。綜上,使用USB ISO端點(diǎn)傳輸音頻數(shù)據(jù)所需的帶寬在USB主機(jī)側(cè)是預(yù)留的,可以保 證USB的總線帶寬不會被復(fù)合設(shè)備中的其他子設(shè)備耗盡,因此即便在USB總線極其繁忙的 情況下音頻的上下行數(shù)據(jù)也能夠正常傳輸。此外,在移動終端的USB復(fù)合設(shè)備驅(qū)動程序中,對設(shè)備中的各個子設(shè)備所使用的 傳輸數(shù)據(jù)的端點(diǎn)進(jìn)行優(yōu)先級劃分對于實(shí)時性要求較高的數(shù)據(jù)傳輸端點(diǎn),音頻傳輸用的 ISO端點(diǎn)劃分為高優(yōu)先級端點(diǎn);對于實(shí)時性要求較低的設(shè)備,如AT端口、Modem端口、大容量 存儲設(shè)備等所使用的端點(diǎn)劃為低優(yōu)先級端點(diǎn)。當(dāng)USB傳輸中斷產(chǎn)生時,優(yōu)先處理高優(yōu)先級 端點(diǎn)上的數(shù)據(jù)傳輸請求;僅當(dāng)高優(yōu)先級端點(diǎn)上的數(shù)據(jù)傳輸請求完畢后,再處理其他低優(yōu)先 級端點(diǎn)的數(shù)據(jù)傳輸請求。并且,當(dāng)?shù)蛢?yōu)先級端點(diǎn)一次請求傳輸?shù)臄?shù)據(jù)長度過長時,將該請求拆分為幾個較 小的數(shù)據(jù)包進(jìn)行。具體地,參考圖5,圖5根據(jù)本發(fā)明實(shí)施例的USB驅(qū)動程序按優(yōu)先級調(diào)度 數(shù)據(jù)傳輸流程圖,包括步驟501,USB主機(jī)發(fā)出啟動音頻流傳輸指令。此處的指令指的是圖3說明中所述 的選擇接口(Set Interface)命令。USB主機(jī)通過選擇Audio輸出數(shù)據(jù)流可選接口描述符 311或Audio輸入數(shù)據(jù)流可選接口描述符315分別啟動輸出數(shù)據(jù)流傳輸和輸入數(shù)據(jù)流傳輸。步驟502,設(shè)置低優(yōu)先級端點(diǎn)的最大允許數(shù)據(jù)傳輸長度。當(dāng)啟動了音頻數(shù)據(jù)流傳輸 后,為了保證音頻流傳輸?shù)膶?shí)時性,設(shè)置低優(yōu)先級端點(diǎn)的最大允許數(shù)據(jù)傳輸長度,保證音頻 數(shù)據(jù)流傳輸請求能夠被及時處理。步驟503,開啟USB設(shè)備SOF(幀起始)中斷。由于ISO數(shù)據(jù)傳輸與USB的SOF幀 同步,因此為了開始傳輸ISO數(shù)據(jù),需要開啟USB設(shè)備控制器的SOF幀起始中斷。該中斷在 每個SOF幀到來時發(fā)生。步驟504,等待USB傳輸中斷產(chǎn)生。步驟505,USB硬件控制器產(chǎn)生傳輸中斷。此處的中斷包括用于ISO傳輸?shù)腟OF幀 中斷和其他USB端點(diǎn)的傳輸中斷及DMA控制器產(chǎn)生的中斷。步驟506,根據(jù)各個端點(diǎn)的優(yōu)先級設(shè)置情況和數(shù)據(jù)傳輸狀態(tài),判斷在高優(yōu)先級端點(diǎn) 上是否有數(shù)據(jù)傳輸請求。如果是轉(zhuǎn)到步驟510,否則轉(zhuǎn)到步驟507。步驟507,判斷當(dāng)前低優(yōu)先級端點(diǎn)上請求的數(shù)據(jù)傳輸長度是否超過允許的最大數(shù) 據(jù)長度。如果當(dāng)前設(shè)置了最大允許數(shù)據(jù)傳輸長度,且請求傳輸?shù)拈L度已經(jīng)超過了允許值,則轉(zhuǎn)到步驟509,否則轉(zhuǎn)到步驟508。步驟508,按照低優(yōu)先級端點(diǎn)請求的數(shù)據(jù)長度傳輸數(shù)據(jù)。步驟509,在低優(yōu)先級端點(diǎn)上僅傳輸允許長度(小于預(yù)設(shè)的允許值)的數(shù)據(jù)。步驟510,在高優(yōu)先級的端點(diǎn)上傳輸全部長度請求數(shù)據(jù)。步驟511,本次傳輸結(jié)束,等待下一次USB傳輸中斷。步驟512,USB主機(jī)發(fā)出停止音頻流傳輸指令。此處的指令指的是圖3說明中所述 的選擇接口(Set Interface)命令。USB主機(jī)通過選擇Audio輸出數(shù)據(jù)流接口描述符310 或Audio輸入數(shù)據(jù)流接口描述符314分別停止輸出數(shù)據(jù)流傳輸和輸入數(shù)據(jù)流傳輸。當(dāng)且僅 當(dāng)輸入流和輸出流全部被停止后,USB音頻流傳輸全部停止,并進(jìn)入步驟513。步驟513,關(guān)閉SOF幀中斷。關(guān)閉SOF幀中斷后,USB設(shè)備控制器硬件不會在SOF 幀到來時產(chǎn)生中斷,ISO傳輸被中止。步驟514,取消低優(yōu)先級端點(diǎn)的最大允許數(shù)據(jù)傳輸長度限制。由于所有的高優(yōu)先級 端點(diǎn)的數(shù)據(jù)流傳輸已停止,因此取消低優(yōu)先級端點(diǎn)的最大允許數(shù)據(jù)傳輸長度,以提高優(yōu)先 級端點(diǎn)數(shù)據(jù)傳輸效率。步驟515,等待USB傳輸中斷產(chǎn)生,進(jìn)行下一次USB傳輸。通過上述處理,可以使高優(yōu)先級端點(diǎn)的數(shù)據(jù)能夠優(yōu)先發(fā)送,并限制低優(yōu)先級端點(diǎn) 一次占用移動終端內(nèi)部傳輸資源的時間,使高優(yōu)先級端點(diǎn)上的數(shù)據(jù)傳輸請求能夠得到快速 響應(yīng)。按照本發(fā)明所提供步驟實(shí)現(xiàn)的USB音頻傳輸接口設(shè)備符合USB-IF的USB Audio Class設(shè)備標(biāo)準(zhǔn),并且,本發(fā)明實(shí)現(xiàn)的USB音頻傳輸接口設(shè)備在Wind0WS、LinuX和MAC OS操 作系統(tǒng)上均有操作系統(tǒng)自帶驅(qū)動程序,本發(fā)明實(shí)現(xiàn)的USB音頻傳輸接口設(shè)備在上述的操作 系統(tǒng)上表現(xiàn)為聲卡設(shè)備,從設(shè)備中傳輸音頻數(shù)據(jù)均可使用操作系統(tǒng)提供的API訪問。 根據(jù)本發(fā)明的實(shí)施例,還提供了 一種移動終端。該移動終端采用USB復(fù)合設(shè)備實(shí)現(xiàn)功能接口,USB復(fù)合設(shè)備又包括有USB音頻設(shè) 備和非USB音頻設(shè)備,其中,非USB音頻設(shè)備至少包括以下設(shè)備AT端口、Modem端口、存儲 設(shè)備(或稱為大容量存儲設(shè)備)。圖6是根據(jù)本發(fā)明實(shí)施例的移動終端的結(jié)構(gòu)框圖,如圖6所示,該移動終端進(jìn)一步 包括接口描述符設(shè)置模塊10和發(fā)送模塊20。接口描述符設(shè)置模塊10,用于設(shè)置USB音頻設(shè)備的接口描述符,其中,接口描述符 用于描述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需的信息。USB音頻設(shè)備的接口描述符進(jìn)一步包括 音頻控制接口描述符、上行音頻數(shù)據(jù)流接口描述符和下行音頻數(shù)據(jù)流接口描述符。發(fā)送模塊20,用于將接口描述符設(shè)置模塊10設(shè)置的接口描述符發(fā)送至USB主機(jī), 使得USB主機(jī)根據(jù)接口描述符完成對USB音頻設(shè)備的枚舉和識別。這樣,通過上述結(jié)構(gòu),在USB總線帶寬不足的情況下,能夠保證高品質(zhì)的音頻傳輸 效果。參考圖6,該移動終端進(jìn)一步包括優(yōu)先級設(shè)置模塊30,用于將USB音頻設(shè)備的 數(shù)據(jù)傳輸端點(diǎn)設(shè)置為高優(yōu)先級端點(diǎn),將非USB音頻設(shè)備的數(shù)據(jù)傳輸端點(diǎn)設(shè)置為低優(yōu)先級端 點(diǎn)。當(dāng)USB傳輸中斷產(chǎn)生時,USB主機(jī)優(yōu)先處理來自USB音頻設(shè)備的數(shù)據(jù)傳輸請求,在處理 完來自USB音頻設(shè)備的數(shù)據(jù)之后,USB主機(jī)再處理其他低優(yōu)先級端點(diǎn)的數(shù)據(jù)請求。
另外,該移動終端還包括拆分模塊(圖中未示),用于將超過閾值的非USB音頻設(shè) 備請求傳輸?shù)臄?shù)據(jù),拆分為多個數(shù)據(jù)包。該非USB音頻設(shè)備即為低優(yōu)先級端點(diǎn),當(dāng)非USB音 頻設(shè)備一次請求傳輸?shù)臄?shù)據(jù)長度過長時(數(shù)據(jù)長度超過預(yù)設(shè)的閾值),則將該請求傳輸?shù)?數(shù)據(jù)拆分為幾個較小的數(shù)據(jù)包進(jìn)行傳輸。在具體應(yīng)用中,上述的移動終端包括但不限于無線數(shù)據(jù)卡、內(nèi)置于筆記本的無線 數(shù)據(jù)模塊或者應(yīng)用于行業(yè)場景的M2M(Machine To Machine,機(jī)器到機(jī)器)模塊等設(shè)備。綜上所示,采用本發(fā)明實(shí)現(xiàn)的USB音頻數(shù)據(jù)傳輸與現(xiàn)有技術(shù)相比,具有以下效果(1)在USB總線帶寬不足的情況下,保證了高品質(zhì)的音頻傳輸效果;(2)在移動終端處理任務(wù)較重時或內(nèi)部總線帶寬及硬件資源不足時,保證了高品 質(zhì)的音頻傳輸效果;(3)使移動終端的音頻功能能夠快速方便的移植到不同的操作系統(tǒng)與應(yīng)用場景 下,特別適合對應(yīng)用場景復(fù)雜的行業(yè)應(yīng)用的快速響應(yīng)需求。以上所述僅為本發(fā)明的實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人 員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、 等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
一種音頻傳輸?shù)膶?shí)現(xiàn)方法,其特征在于,包括為USB復(fù)合設(shè)備中的USB音頻設(shè)備設(shè)置接口描述符,其中,所述接口描述符用于描述所述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需的信息;所述USB音頻設(shè)備將其接口描述符發(fā)送至USB主機(jī),使得所述USB主機(jī)根據(jù)所述USB音頻設(shè)備的接口描述符完成對所述USB音頻設(shè)備的枚舉和識別;所述USB音頻設(shè)備與所述USB主機(jī)進(jìn)行音頻數(shù)據(jù)傳輸。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述USB音頻設(shè)備的接口描述符進(jìn)一步包括音頻控制接口描述符、上行音頻數(shù)據(jù)流接口描述符和下行音頻數(shù)據(jù)流接口描述符。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述USB復(fù)合設(shè)備包括USB音頻設(shè)備和 非USB音頻設(shè)備,所述USB音頻設(shè)備與所述USB主機(jī)進(jìn)行音頻數(shù)據(jù)傳輸進(jìn)一步包括所述USB復(fù)合設(shè)備優(yōu)先處理來自所述USB音頻設(shè)備的數(shù)據(jù)傳輸請求; 在所述USB音頻設(shè)備的數(shù)據(jù)傳輸請求處理完之后,所述USB復(fù)合設(shè)備處理來自所述非 USB音頻設(shè)備的數(shù)據(jù)傳輸請求。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述USB復(fù)合設(shè)備處理來自所述非USB音 頻設(shè)備的數(shù)據(jù)傳輸請求進(jìn)一步包括當(dāng)所述非USB音頻設(shè)備請求傳輸?shù)臄?shù)據(jù)超過閾值時,所述USB復(fù)合設(shè)備將請求傳輸?shù)?數(shù)據(jù)拆分為多個數(shù)據(jù)包進(jìn)行處理。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述非USB音頻設(shè)備包括以下至少之 一 =AT端口、Modem端口、存儲設(shè)備。
6.一種移動終端,其包括USB復(fù)合設(shè)備,所述USB復(fù)合設(shè)備進(jìn)一步包括USB音頻設(shè)備和 非USB音頻設(shè)備的,其特征在于,所述移動終端進(jìn)一步包括接口描述符設(shè)置模塊,用于設(shè)置所述USB音頻設(shè)備的接口描述符,其中,所述接口描述 符用于描述所述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需的信息;發(fā)送模塊,用于將所述接口描述符發(fā)送至USB主機(jī),使得所述USB主機(jī)根據(jù)所述接口描 述符完成對所述USB音頻設(shè)備的枚舉和識別。
7.根據(jù)權(quán)利要求6所述的移動終端,其特征在于,所述USB音頻設(shè)備的接口描述符進(jìn)一 步包括音頻控制接口描述符、上行音頻數(shù)據(jù)流接口描述符和下行音頻數(shù)據(jù)流接口描述符。
8.根據(jù)權(quán)利要求6所述的移動終端,其特征在于,所述移動終端進(jìn)一步包括優(yōu)先級設(shè)置模塊,用于將所述USB音頻設(shè)備的數(shù)據(jù)傳輸端點(diǎn)設(shè)置為高優(yōu)先級端點(diǎn),以 使所述USB主機(jī)優(yōu)先處理來自所述USB音頻設(shè)備的數(shù)據(jù)傳輸請求。
9.根據(jù)權(quán)利要求8所述的移動終端,其特征在于,所述移動終端進(jìn)一步包括拆分模塊,用于將超過閾值的所述非USB音頻設(shè)備請求傳輸?shù)臄?shù)據(jù),拆分為多個數(shù)據(jù)包。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的移動終端,其特征在于,所述非USB音頻設(shè)備 包括以下至少之一 AT端口、Modem端口、存儲設(shè)備。
全文摘要
本發(fā)明公開了一種音頻傳輸?shù)膶?shí)現(xiàn)方法及移動終端,其中,該方法包括為USB復(fù)合設(shè)備中的USB音頻設(shè)備設(shè)置接口描述符,其中,接口描述符用于描述USB音頻設(shè)備傳輸音頻數(shù)據(jù)所需的信息;USB音頻設(shè)備將其接口描述符發(fā)送至USB主機(jī),使得USB主機(jī)根據(jù)USB音頻設(shè)備的接口描述符完成對USB音頻設(shè)備的枚舉和識別;USB音頻設(shè)備與USB主機(jī)進(jìn)行音頻數(shù)據(jù)傳輸。通過本發(fā)明,能夠保證高品質(zhì)的音頻傳輸效果。
文檔編號G06F13/10GK101882116SQ201010207588
公開日2010年11月10日 申請日期2010年6月13日 優(yōu)先權(quán)日2010年6月13日
發(fā)明者李幸遠(yuǎn) 申請人:中興通訊股份有限公司