音频传输的实现方法及移动终端的制作方法

文档序号:6604588阅读:115来源:国知局
专利名称:音频传输的实现方法及移动终端的制作方法
技术领域
本发明涉及通讯领域,尤其涉及一种音频传输的实现方法及移动终端。
背景技术
随着无线通信技术的高速发展,第三代无线通信网络技术的逐渐普及,移动终端 所提供的功能越来越多样化。移动终端一般采用USB^niversalSerial Bus,通用串行总 线)复合设备实现功能接口。所谓USB复合设备是指在一个USB主设备下挂有多个子设备 的USB设备,每个子设备使用几个USB端点分别与USB主机侧进行通信。通常这些USB设 备包括用于传输AT命令的AT端口,用于提供数据业务功能的Modem (调制解调器)口,用 于传输音频数据的Sound (音频)口。如果移动终端有存储功能,则还具有USB大容量存储 设备。其中,USB主机一般为具有USB主机控制器的PC侧设备。传统传输音频用的Sound 口使用USB的Bulk (批量)端点传输数据,USB主机控制 器不会为Bulk端点预留传输带宽,当USB总线负载较重时,Sound 口的数据传输实时性就 会受到影响,表现为音频延迟、音质变差、噪声增加等问题。另外,由于移动终端的CPU处理 能力有限,当USB总线上数据传输量很大时,可能会由于CPU内部总线带宽耗尽而导致无法 及时响应USB主机侧的音频数据传输请求,导致音频数据丢失,进而造成音质变差的问题。并且,现有技术的Sound 口音频数据传输方法实际上是一种厂商自定义的方法, 不符合任何USB标准,因此造成了移动终端在不同的操作系统及应用场景下移植应用困难 的问题。

发明内容
有鉴于现有技术存在现有的USB总线带宽不足造成的音频音质变差问题而做出 本发明,为此本发明的主要目的在于提供一种音频传输的实现方法及移动终端,其中根据本发明实施例的音频传输的实现方法包括为USB复合设备中的USB音频 设备设置接口描述符,其中,接口描述符用于描述USB音频设备传输音频数据所需的信息; USB音频设备将其接口描述符发送至USB主机,使得USB主机根据USB音频设备的接口描述 符完成对USB音频设备的枚举和识别;USB音频设备与USB主机进行音频数据传输。其中,USB音频设备的接口描述符进一步包括音频控制接口描述符、上行音频数 据流接口描述符和下行音频数据流接口描述符。其中,USB复合设备包括USB音频设备和非USB音频设备,USB音频设备与USB主 机进行音频数据传输进一步包括USB复合设备优先处理来自USB音频设备的数据传输请 求;在USB音频设备的数据传输请求处理完之后,USB复合设备处理来自非USB音频设备的 数据传输请求。进一步,USB复合设备处理来自非USB音频设备的数据传输请求进一步包括当非 USB音频设备请求传输的数据超过阈值时,USB复合设备将请求传输的数据拆分为多个数 据包进行处理。
并且,非USB音频设备包括以下至少之一 AT端口、Modem端口、存储设备。根据本发明实施例的移动终端,其包括USB复合设备,该USB复合设备进一步包括 USB音频设备和非USB音频设备的,该移动终端进一步包括接口描述符设置模块,用于设 置USB音频设备的接口描述符,其中,接口描述符用于描述USB音频设备传输音频数据所需 的信息;发送模块,用于将接口描述符发送至USB主机,使得USB主机根据接口描述符完成 对USB音频设备的枚举和识别。其中,USB音频设备的接口描述符进一步包括音频控制接口描述符、上行音频数 据流接口描述符和下行音频数据流接口描述符。其中,移动终端进一步包括优先级设置模块,用于将USB音频设备的数据传输端 点设置为高优先级端点,以使USB主机优先处理来自USB音频设备的数据传输请求。进一步,移动终端进一步包括拆分模块,用于将超过阈值的非USB音频设备请求 传输的数据,拆分为多个数据包。并且,非USB音频设备包括以下至少之一 AT端口、Modem端口、存储设备。与现有技术相比,根据本发明的上述技术方案,在USB总线带宽不足时、或者在移 动终端处理任务较重时或内部总线带宽及硬件资源不足时,能够保证高品质的音频传输效^ ο


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的音频传输的实现方法的流程图;图2是根据本发明实施例的USB复合设备配置描述符示意图;图3是根据本发明实施例的USB音频传输设备接口描述符结构示意图;图4是根据本发明实施例的USB音频传输设备的枚举过程的流程图;图5根据本发明实施例的USB驱动程序按优先级调度数据传输流程图;图6是根据本发明实施例的踢动终端的结构框图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本 发明作进一步地详细说明。描述符(Descriptor)是一个完整的数据结构,用于描述一个USB设备的所有属 性,USB主机通过一系列命令要求USB设备发送这些信息,从而使USB主机获知USB设备的 功能、类别、占用的带宽、传输方式及数据量大小,只有USB主机确定了这些信息之后,USB 设备才能开始工作。根据本发明实施例,提供了 一种音频传输的实现方法。图1是根据本发明实施例的音频传输的实现方法的流程图,如图1所示,该方法包 括(步骤 S102-S106)步骤S102,为USB复合设备中的USB音频(USB Audio)设备设置接口描述符,其 中,接口描述符用于描述USB音频设备传输音频数据所需的信息;
步骤S104,USB音频设备将其接口描述符发送至USB主机,使得USB主机根据USB 音频设备的接口描述符完成对USB音频设备的枚举和识别;步骤S106,USB音频设备与USB主机进行音频数据传输。下面详细描述上述各处理的细节。一、步骤 S102标准的USB设备有以下几种USB描述符设备描述符,配置描述符,字符串描述符, 接口描述符,端点描述符。在USB复合设备配置描述符下存在多个子设备,包括用于传输音频数据的USB Audio设备、及非USB音频设备,其中,非USB音频设备可以包括用于传输AT命令的AT端 口,用于提供数据业务功能的Modem 口,如果移动终端具有存储功能,则还具有USB大容量 存储设备(或称为存储设备)。每个子设备由一个或者多个USB接口描述符表示。每个设 备使用多个USB端点分别与USB主机侧进行通信。图2是根据本发明实施例的USB复合设备配置描述符示意图,USB复合设备配置 描述符201是移动终端USB设备的配置描述符,参考图2,USB复合设备配置描述符201包 括=Audio设备接口描述符202、Modem接口描述符203、AT接口描述符204和大容量存储设 备接口描述符205等。USB Audio设备作为USB复合设备下的一个子设备存在,其设备描述符由三个USB 接口描述符组成,具体包括l、Audio控制接口描述符,用于表示本USB设备属于USB Audio设备类,并指出接 下来两个接口描述符与本接口描述符同属于一个USB Audio设备。2、Audio上行音频数据流接口描述符,该描述符说明从移动终端到USB主机的音 频数据格式。该接口描述符中包含一个Audio音频流端点描述符,描述上行音频流数据传 输所需的USB IS0(同步)传输端点。3、Audio下行音频数据流接口描述符,该描述符说明从USB主机到移动终端的音 频数据格式。该接口描述符中包含一个Audio音频流端点描述符,描述下行音频流数据传 输所需的USB ISO传输端点。USB Audio设备的三个接口描述符具体构成参考图3。图3是本发明USB音频传 输设备接口描述符结构示意图。如图3所示Audio设备控制接口描述符301是整个USB Audio设备描述符的入口,该描述符说 明了本USB设备所使用的USB设备类。Audio类设备接口描述符302,表明从该描述符之后的描述符为USBAudio类相关 描述符。Audio控制接口头描述符303,表明下面的所有描述符与整个USB设备描述符的关系。USB输入数据流终端描述符304,用于表示从USB主机到USB设备的音频数据流。USB输入流属性描述符308,用于描述USB输入数据流属性。USB输出数据流终端描述符305,用于表示从USB设备到USB主机的音频数据流。上行音频数据终端描述符306,用于表示从USB设备到无线网络协议栈的音频数 据流。
上行音频数据属性描述符309,用于描述上行音频数据流属性。下行音频数据终端描述符307,用于表示从无线网络协议栈到USB设别的音频数 据流。Audio输出数据流接口描述符310,表示音频输出流停止状态接口。当USB主机停 止发送音频数据后,发送Set Interface (选择接口 )命令选择此接口。Audio输出数据流可选接口描述符311,表示音频输出流传输状态接口。当USB主 机开始发送音频数据时,发送Set Interface命令选择此接口。输出数据流格式描述符312,描述设备可以接收的音频数据流参数,包括采样精 度、采样频率,音频格式。USB输出端点描述符313,描述Audio设备使用的接收音频数据的ISO端点号及端 点属性。Audio输入数据流接口描述符314,表示音频输入流停止状态接口。当USB主机停 止接收音频数据后,发送Set Interface命令选择此接口。Audio输入数据流可选接口描述符315,表示音频输入流传输状态接口。当USB主 机开始接收音频数据时,发送Set Interface命令选择此接口。输入数据流格式描述符316,描述设备发出的音频数据流参数,包括采样精度、采 样频率,音频格式。USB输入端点描述符317,描述Audio设备使用的发送音频数据的ISO端点号及端 点属性。二、步骤 S104图4是根据本发明实施例的USB音频传输设备的枚举过程的流程图。在该过程中, 图2和图3所示的USB描述符发送给USB主机,完成设备的枚举与识别过程。图4包括以 下步骤步骤401,USB总线复位。USB总线复位使USB设备的设备地址恢复到默认地址, 准备好接收USB主机驱动发出的枚举命令。步骤402,USB主机驱动向设备请求设备描述符。在该步骤中,USB设备将其设备 描述符返回给USB主机。步骤403,USB主机驱动设置设备的地址。在该步骤中,USB主机向设备发出设置 地址的命令。USB设备在接收到此命令后,将获得的地址填入到USB设备控制器的地址寄存 器中。此步骤之后的USB数据传输均在该地址上完成。步骤404,USB主机驱动向设备请求配置描述符。在该步骤中,USB主机向设备发 出命令请求设备的配置描述符。USB设备需要将图3中所示的USB Audio设备的三个接口 描述符,连同USB复合设备中其他子设备的接口描述符包含在USB复合设备配置描述符中 一同返回给USB主机。步骤405,USB主机驱动解析配置描述符,选择USB配置。USB主机在得到设备返 回的配置描述符后,启动解析描述符的流程。该流程将验证配置描述符的正确性,并解析出 复合设备配置描述符中包含的子设备个数及类型。当配置描述符正确无误时,USB主机驱 动向设备发出选择配置的命令,使当前的USB配置生效。步骤406,USB主机驱动加载子设备驱动。USB主机根据步骤405中解析出的USB
6子设备信息分别加载各个子设备的驱动程序。本发明的USBAudio设备将加载USB Audio 设备驱动程序。至此USB设备的枚举及识别过程完成,设备进入就绪状态,等待启动数据传 输的指令。三、步骤S106响应USB主机发出的Set Interface命令,启动或停止音频数据流的接收或者发 送,具体包括1、当主机发出选定接口命令,选择了数据传输接口后,移动终端打开USB总线帧 起始中断。2、当帧起始中断产生时,在数据传输的ISO端点发送和接收一帧音频数据。3、当主机发出选定接口命令,选择了非数据传输接口后,移动终端关闭USB总线 帧起始中断。停止音频数据的接收和发送。综上,使用USB ISO端点传输音频数据所需的带宽在USB主机侧是预留的,可以保 证USB的总线带宽不会被复合设备中的其他子设备耗尽,因此即便在USB总线极其繁忙的 情况下音频的上下行数据也能够正常传输。此外,在移动终端的USB复合设备驱动程序中,对设备中的各个子设备所使用的 传输数据的端点进行优先级划分对于实时性要求较高的数据传输端点,音频传输用的 ISO端点划分为高优先级端点;对于实时性要求较低的设备,如AT端口、Modem端口、大容量 存储设备等所使用的端点划为低优先级端点。当USB传输中断产生时,优先处理高优先级 端点上的数据传输请求;仅当高优先级端点上的数据传输请求完毕后,再处理其他低优先 级端点的数据传输请求。并且,当低优先级端点一次请求传输的数据长度过长时,将该请求拆分为几个较 小的数据包进行。具体地,参考图5,图5根据本发明实施例的USB驱动程序按优先级调度 数据传输流程图,包括步骤501,USB主机发出启动音频流传输指令。此处的指令指的是图3说明中所述 的选择接口(Set Interface)命令。USB主机通过选择Audio输出数据流可选接口描述符 311或Audio输入数据流可选接口描述符315分别启动输出数据流传输和输入数据流传输。步骤502,设置低优先级端点的最大允许数据传输长度。当启动了音频数据流传输 后,为了保证音频流传输的实时性,设置低优先级端点的最大允许数据传输长度,保证音频 数据流传输请求能够被及时处理。步骤503,开启USB设备SOF(帧起始)中断。由于ISO数据传输与USB的SOF帧 同步,因此为了开始传输ISO数据,需要开启USB设备控制器的SOF帧起始中断。该中断在 每个SOF帧到来时发生。步骤504,等待USB传输中断产生。步骤505,USB硬件控制器产生传输中断。此处的中断包括用于ISO传输的SOF帧 中断和其他USB端点的传输中断及DMA控制器产生的中断。步骤506,根据各个端点的优先级设置情况和数据传输状态,判断在高优先级端点 上是否有数据传输请求。如果是转到步骤510,否则转到步骤507。步骤507,判断当前低优先级端点上请求的数据传输长度是否超过允许的最大数 据长度。如果当前设置了最大允许数据传输长度,且请求传输的长度已经超过了允许值,则转到步骤509,否则转到步骤508。步骤508,按照低优先级端点请求的数据长度传输数据。步骤509,在低优先级端点上仅传输允许长度(小于预设的允许值)的数据。步骤510,在高优先级的端点上传输全部长度请求数据。步骤511,本次传输结束,等待下一次USB传输中断。步骤512,USB主机发出停止音频流传输指令。此处的指令指的是图3说明中所述 的选择接口(Set Interface)命令。USB主机通过选择Audio输出数据流接口描述符310 或Audio输入数据流接口描述符314分别停止输出数据流传输和输入数据流传输。当且仅 当输入流和输出流全部被停止后,USB音频流传输全部停止,并进入步骤513。步骤513,关闭SOF帧中断。关闭SOF帧中断后,USB设备控制器硬件不会在SOF 帧到来时产生中断,ISO传输被中止。步骤514,取消低优先级端点的最大允许数据传输长度限制。由于所有的高优先级 端点的数据流传输已停止,因此取消低优先级端点的最大允许数据传输长度,以提高优先 级端点数据传输效率。步骤515,等待USB传输中断产生,进行下一次USB传输。通过上述处理,可以使高优先级端点的数据能够优先发送,并限制低优先级端点 一次占用移动终端内部传输资源的时间,使高优先级端点上的数据传输请求能够得到快速 响应。按照本发明所提供步骤实现的USB音频传输接口设备符合USB-IF的USB Audio Class设备标准,并且,本发明实现的USB音频传输接口设备在Wind0WS、LinuX和MAC OS操 作系统上均有操作系统自带驱动程序,本发明实现的USB音频传输接口设备在上述的操作 系统上表现为声卡设备,从设备中传输音频数据均可使用操作系统提供的API访问。 根据本发明的实施例,还提供了 一种移动终端。该移动终端采用USB复合设备实现功能接口,USB复合设备又包括有USB音频设 备和非USB音频设备,其中,非USB音频设备至少包括以下设备AT端口、Modem端口、存储 设备(或称为大容量存储设备)。图6是根据本发明实施例的移动终端的结构框图,如图6所示,该移动终端进一步 包括接口描述符设置模块10和发送模块20。接口描述符设置模块10,用于设置USB音频设备的接口描述符,其中,接口描述符 用于描述USB音频设备传输音频数据所需的信息。USB音频设备的接口描述符进一步包括 音频控制接口描述符、上行音频数据流接口描述符和下行音频数据流接口描述符。发送模块20,用于将接口描述符设置模块10设置的接口描述符发送至USB主机, 使得USB主机根据接口描述符完成对USB音频设备的枚举和识别。这样,通过上述结构,在USB总线带宽不足的情况下,能够保证高品质的音频传输 效果。参考图6,该移动终端进一步包括优先级设置模块30,用于将USB音频设备的 数据传输端点设置为高优先级端点,将非USB音频设备的数据传输端点设置为低优先级端 点。当USB传输中断产生时,USB主机优先处理来自USB音频设备的数据传输请求,在处理 完来自USB音频设备的数据之后,USB主机再处理其他低优先级端点的数据请求。
另外,该移动终端还包括拆分模块(图中未示),用于将超过阈值的非USB音频设 备请求传输的数据,拆分为多个数据包。该非USB音频设备即为低优先级端点,当非USB音 频设备一次请求传输的数据长度过长时(数据长度超过预设的阈值),则将该请求传输的 数据拆分为几个较小的数据包进行传输。在具体应用中,上述的移动终端包括但不限于无线数据卡、内置于笔记本的无线 数据模块或者应用于行业场景的M2M(Machine To Machine,机器到机器)模块等设备。综上所示,采用本发明实现的USB音频数据传输与现有技术相比,具有以下效果(1)在USB总线带宽不足的情况下,保证了高品质的音频传输效果;(2)在移动终端处理任务较重时或内部总线带宽及硬件资源不足时,保证了高品 质的音频传输效果;(3)使移动终端的音频功能能够快速方便的移植到不同的操作系统与应用场景 下,特别适合对应用场景复杂的行业应用的快速响应需求。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人 员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
一种音频传输的实现方法,其特征在于,包括为USB复合设备中的USB音频设备设置接口描述符,其中,所述接口描述符用于描述所述USB音频设备传输音频数据所需的信息;所述USB音频设备将其接口描述符发送至USB主机,使得所述USB主机根据所述USB音频设备的接口描述符完成对所述USB音频设备的枚举和识别;所述USB音频设备与所述USB主机进行音频数据传输。
2.根据权利要求1所述的方法,其特征在于,所述USB音频设备的接口描述符进一步包括音频控制接口描述符、上行音频数据流接口描述符和下行音频数据流接口描述符。
3.根据权利要求1所述的方法,其特征在于,所述USB复合设备包括USB音频设备和 非USB音频设备,所述USB音频设备与所述USB主机进行音频数据传输进一步包括所述USB复合设备优先处理来自所述USB音频设备的数据传输请求; 在所述USB音频设备的数据传输请求处理完之后,所述USB复合设备处理来自所述非 USB音频设备的数据传输请求。
4.根据权利要求3所述的方法,其特征在于,所述USB复合设备处理来自所述非USB音 频设备的数据传输请求进一步包括当所述非USB音频设备请求传输的数据超过阈值时,所述USB复合设备将请求传输的 数据拆分为多个数据包进行处理。
5.根据权利要求3或4所述的方法,其特征在于,所述非USB音频设备包括以下至少之 一 =AT端口、Modem端口、存储设备。
6.一种移动终端,其包括USB复合设备,所述USB复合设备进一步包括USB音频设备和 非USB音频设备的,其特征在于,所述移动终端进一步包括接口描述符设置模块,用于设置所述USB音频设备的接口描述符,其中,所述接口描述 符用于描述所述USB音频设备传输音频数据所需的信息;发送模块,用于将所述接口描述符发送至USB主机,使得所述USB主机根据所述接口描 述符完成对所述USB音频设备的枚举和识别。
7.根据权利要求6所述的移动终端,其特征在于,所述USB音频设备的接口描述符进一 步包括音频控制接口描述符、上行音频数据流接口描述符和下行音频数据流接口描述符。
8.根据权利要求6所述的移动终端,其特征在于,所述移动终端进一步包括优先级设置模块,用于将所述USB音频设备的数据传输端点设置为高优先级端点,以 使所述USB主机优先处理来自所述USB音频设备的数据传输请求。
9.根据权利要求8所述的移动终端,其特征在于,所述移动终端进一步包括拆分模块,用于将超过阈值的所述非USB音频设备请求传输的数据,拆分为多个数据包。
10.根据权利要求6至9中任一项所述的移动终端,其特征在于,所述非USB音频设备 包括以下至少之一 AT端口、Modem端口、存储设备。
全文摘要
本发明公开了一种音频传输的实现方法及移动终端,其中,该方法包括为USB复合设备中的USB音频设备设置接口描述符,其中,接口描述符用于描述USB音频设备传输音频数据所需的信息;USB音频设备将其接口描述符发送至USB主机,使得USB主机根据USB音频设备的接口描述符完成对USB音频设备的枚举和识别;USB音频设备与USB主机进行音频数据传输。通过本发明,能够保证高品质的音频传输效果。
文档编号G06F13/10GK101882116SQ201010207588
公开日2010年11月10日 申请日期2010年6月13日 优先权日2010年6月13日
发明者李幸远 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1