2024年10月30日发(作者:聂笑寒)
电子发烧友 电子技术论坛
USB音频设备的设计与实现
Design and Implementation of USB Audio Device
(江西理工大学) 吴君钦
(Jiangxi University of Science and Technology)Wu,Junqin
摘要:在介绍USB音频设备及其驱动程序结构的基础上,对USB Audio功能节点、USB
Audio描述符、USB Audio请求、码流同步等设计重要方面进行了详细论述,提出了一种准
同步USB码流速度匹配方法。使用准同步法,在一对USB ISO端点上,成功地实现了实时全
双工USB音频通信功能,简化了时钟同步系统的设计。
关键词:USB音频,驱动程序, 准同步通信
Abstract:Introduce the structure of USB audio device and the structure of USB audio driver,
discuss the function endpoints of USB audio peripheral, the USB audio descriptors,the USB audio
request and the synch mechanism for USB audio stream detailly, bring out a new synch method
called p
lesiochronous
communication
for USB audio stream speed matching. U
sing the
p
lesiochronous
communication model , implement duplex audio communication functions on
twain USB ISO endpoints, simplify the design of clock synch system .
Key words:USB Audio; Device driver; P
lesiochronous
communication
1 引言
随着USB接口的推广和普及,越来越多的电脑外部设备采用USB接口, 在便携电脑中,
有采用USB口扩展外设取代PCMCIA总线接口的趋势。特别是USB2.0的数据传输速率达
480bps,USB实时同步数据传输模式适合于传送高速实时音视频数据流。MP3播放器、U盘
等设备的流行,使USB接口的应用更为广泛,若能为这些便携设备增加USB音频功能,
MP3等设备将成为语音聊天、网络电话等通信终端设备,大大拓展了应用领域,为此本文
对USB音频外部设备的体系结构、工作原理及音频数据码流同步方法等设计的重要方面做
详细论述。
2 USB设备与驱动程序
一般,USB外部设备包含一个USB设备控制器(USB peripheral Controller),设备控制
器与通信另一端主控制器(USB Host Controller)的端点(Endpiont)管道(Pipe)之间的实
[1][2]
。主机端驱动软件包含USB主控器驱动程序、设备驱动程序和应用软件三部
现逻辑联接
分,主控制器驱动程序由操作系统提供支持,USB设备开发人员一般只需编写USB设备驱动
程序和用户应用程序两部分,以实现特定的功能。但设备端所有功能的驱动软件必须由开发
[1][4][5]
。
商完成,关于一般USB设备的设计请参阅文献
虽然USB音频流媒体设备各部分与标准USB设备各部件间的逻辑关系相一致,但USB
音频设备(USB Audio Device)有其殊性, 它的结构和实现机制更为复杂。图1是微软推荐的
[2]
USB音视频流类驱动程序
标准USB音频设备WDM驱动序各部分之间的逻辑层次关系
。图1
(AVStream Class Driver,)运行在USB主机控制器驱动驱动程序之上, 属于
USB设备驱动程序范畴。图1黑体部分是与USB Audio有关的驱动和应用程序模块,而其他
模块则与USB Audio无关。
如果硬件设备按照USB标准音频设备规范
[3]
设计,设备开发商无须编写特定的USB设
备驱动程序,用户可直接使用Win98、Win2000或后续版本中绑定的标准USB Audio驱动程
序,在其他操作系统中也有相应的标准驱动程序,节省了大量的开发时间,所以本文不详细
讨论USB Audio驱动程序的设计问题,而重点讨论USB音频设备的设计。此外标准USB音
频设备可以与现有的各种音频播放软件、VOIP通信软件实现无缝联接。
1
电子发烧友 电子技术论坛
Win32 Application
DirectSound Application
S/W
MiniPort驱动
AVStream Class Driver()
AVCAudio
ISA/PCI
Audio Card
1394 Audio Dev
USB Audio Dev
图1 Windows音频设备驱动程序模块关系图
3 USB音频设备设计
3.1 USB音频功能节点
USB音频设备是由若干功能节点组成的。在设计USB Audio设备前,需要了解组成USB
Audio设备的功能节点(Audio Function)。Audio Function包括:输入终端(Input Terminal,
IT)、输出终端(Output Terminal,OT)、混音器(Mixer Unite,MU)、选择器(Selector Unit,SU)、
调音器(Feature Unite)、处理单元(Process Unite)、扩展单元(Extention Unite)以及辅助
接口等。下面介绍几个主要的功能节点:
IT是Function外部与Audio Function的接口,相当于音频信息流入功能节点的一个“插
座”。USB的OUT端点代表了一种流入音频信息的逻辑通道(USB OUT IT),而Line in插座
代表了一种非USB的 IT(Non USB IT)。
OT是Audio Function内部与外部(其他设备)的接口,相当于音频信息流出功能节点
的一个“插座”。USB的IN端点代表了一种音频信息流出Audio Function的逻辑通道(USB
IN OT),而Speak Out插座代表了一种非USB的音频信息流出OT(Non USB OT)。
MU:是把多个音频输入流混合成单一逻辑输出流的
USB Audio Functon,输入通道被组
合成一个或多个通道族,每个族通过一条输入脚流入MU单元,而逻辑输出通道也组合成
一个通道族通过一条输出脚流出MU单元。
SU是从多个输入音频通道族中选择一族到输出通道族中。
图2 是IT、OT、 MU和SU
等USB Audio Function节点的逻辑符号。
图2 IT、OT、 MU和SU符号
3.2 USB音频设备拓扑结构
简单的USB设备可以只有一个IT和一个OT构成,比如单声道USB 音箱,而复杂的
USB音频设备可以含所有类型的功能节点。图3是一个包含录音、放音和混音功能的USB
Audio设备的拓扑结构图,MIC和USB OUT AudioStream通过混音器输出到SPK,MIC
AudioStream也同时流入USB IN端点到达主机。
2
电子发烧友 电子技术论坛
图3 USB Audio设备拓扑结构图
3.3 USB音频描述符表
USB描述符表是主机设备枚举时要求Device报告给Host驱动程序的设备接口参数、结
构及逻辑关系描述表。USB设备驱动程序只有收到完整的描述符表后,才能“理解”设备
的各种接口、端点及功能节点的配置信息及其逻辑关系。图4是一个仅包含录音、放音功能
的USB Audio设备描述符顺序关系图,图中无背景色的描述符是USB设备标准描述符,而
背景为灰色的描述符是USB Audio特有的描述符。
图4描述的Audio设备的拓扑结构为:USB OUT—>IT—>OT—>SPK,MIC—>IT—>OT
—>USB IN。该设备包含四个功能节点ID1、ID2、ID3和,包含三个接口(Interface)IF0、IF1
和IF2。
图4 USB Audio描述符关系图
在USB Aduio设备中,设备、配置及字符等标准描述符与通用USB设备没有太大差别,
、端点
本文不作讨论,读者可参阅参考文献
[1]
。在USB Audio设备中,接口Interface(I/F)
Endpoint(EP)与音频Function节点功能密切相关,接口和端点描述符必须详细描述接口参
数、Function节点类型、AS流类型、AS流格式参数、连接的端点等信息。
在一个USB Audio设备中至少应包含一个音频控制接口(Audio Control Interface,AC
I/F),可以包含0到多个音频流接口(Audio Stream Interface,AS I/F)。
在AC I/F接口中,包含了一个音频控制类描述符(AC Class)和全部Function节点的
描述符,AC I/F可以使用控制端点传输控制命令和状态信息,也可以包含有独立的中断类型
端点,以便建立独立的逻辑通道传输AC命令或状态信息。
3
电子发烧友 电子技术论坛
每一个AS I/F必须有两个可选设置Setting0/1,Setting0是缺省设置,在接口连接的
Function空闲时使用该设置,此时接口不占用USB总线带宽,Setting1是接口工作时使用,
此时有AS数据流在连接的USB ISO端点中传输。每个AS接口可以包含1到多个AS通道
(声道),AS被连接到同步IN/OUT端点上,接口所使用端点的描述表必须紧跟在AS
Class/Type Format描述表后面。
USB Audio设备枚举阶段,传送USB设备配置描述符时,应把该Configuration下的所
有接口描述符表整块数据用一个数据包发给主机(Device可以有多个Configuration)。
[3]
关于USB Audio功能节点及接口描述符的详细定义可以参阅参考文献
。表1举例介绍
一个输入IT节点的描述符定义,以便让读者对Function描述有感性和直观的认识。
表1 IT Function节点描述符表
Offset
属性名称 取值举例 字节数说明
0 描述符长度 0x0c, 1 IT描述符共12字节
1 描述符类型 0x24, 1 接口类描述=0x24
描述符子类 IT子类=2
2 0x02, 1
3 本描述符标识ID 0x01, 1 用于寻址本Function
功能终端类型 连接USB OUT 的IT=0x0101
4 0x0101 2
6
7
8
10
11
关联OT/EP ID号 0x04, 1 IT1连接到EP4 ISO OUT
通道数 0x01, 1 单通道
标识通道的位图 0x0001 2 本通道数据从比特B
0
开始
通道字符描述索引 0x00, 1 无字符描述,索引=0
终端字符描述索引
0x00 1
无字符描述,索引=0
3.4 USB音频设备请求
除了USB标准请求外,USB Audio规范定义了Class Specific Request,Audio Control
Request,Audio Stream Request三类请求。所以USB Audio设备的固化软件除了要对USB
标准请求作出响应外,还要响应上述三类请求。比如响应Audio Control单元的AC请求,
可以完成音量调节、静音控制等功能。若使用缺省控制端点传输AC命令,处理方法与标准
请求相同。对于AudioStream端点,需要软件或硬件同步地把数据块填入或取出USB端点
缓冲区。
4 码流速度的匹配与同步
实时流媒体通信的同步问题是关系到通信质量和效果的关键的问题之一,解决不好通信
效果将很差,严重时根本就无法通信。USB Audio定义了三种通信同步方式:
异步方式(Asynchronous):AudioSttream端点产生或消耗数据的速度无法有锁定于USB
外部时钟,是由独立运行的时钟决定的,端点无法同步到SOF帧信号或USB时钟控制的其
他信号上。
同步方式(Synchronous):AudioSteam端点时钟被SOF信号控制,相位完全锁定在1ms
的SOF信号上,所以端点必须每1ms恒定地产生或消耗1帧数据。
自适应方式(Adaptive),AudioStream端点可以在给定范围内采用任何速度发送和接受
数据,端点必须通过内部处理,适应USB数据流速率的变化。
对于USB自适应源发送端点或异步接端点,需要额外端点来接收或反馈平均数据速率
信息,
以便在数据传输时保持码流速度匹配,反馈实现起来相当复杂,并需要设置较大的码
流缓冲区,文献
[1]
的第5部分详细讨论了反馈机制。同步方式最简单,但设备的音频采样时
钟必须同步在USB的SOF信号上,在大多数情况下USB控制器和音频采样A/D、D/A是
独立设计的,各自使用独立时钟,要使二者同步必须使用PLL锁相控环制器,增加不少成
本。
在USB设备设计时,为了降低成本,不使用PLL虽然无法实现严格意义上的同步音频
通信,但使用下述方法可以解决同步问题:因为音频信号对微小相位改变不敏感,在PCM
4
电子发烧友 电子技术论坛
码流中插入或删除少量采样点对音质影响极小,使用采样点插入删除方法可以实现USB音
频码流与A/D、D/A采样时钟的同步,达到USB收发端点码流同步的目的。具体方法是当
软件检测到采样时钟快于SOF时,需要插入采样点,反之则删除。晶振的频率精度和稳定
度都极高,对16K采样PCM码流,每秒插入或删除的采样点数不会超过16点,所以对音
质影响极小。使用这种码流同步方式设计的USB外设功能端点,称之为USB准同步端点,
是一种用软件来实现码流速度匹配与同步的通信方式。
5 结论
利用USB Audio技术规范设计电脑外部音频设备,方法简单易行,开发者只需专注于
USB设备端软硬件开发,不必设计主机端驱动程序,缩短了开发周期。本文提出了一种准
同步USB通信方式,用软件解决了异步端点功能设备与USB码流间的速度匹配问题。采用
准同步通信方式进一步简化了设备时钟系统的设计,并在设计实践中成功地实现了准同步
USB音频功能端点,实践表明准同步方式传送PCM音频码流的适应性强、音质保真度较高。
参考文献:
[1] Univeral Serial Bus Specification Revision1.1. USB Org.,1998.
[2] Windows 2000 DDK Document. Microsoft Ltd.,2000.
[3] USB Device Class Defination for Audio Device. ,March 18,1998.
[4] 吴君钦.32位ARM嵌入式系统扩展USB接口设计.微计算机信息,2005,9-2:82-83。
[5] 许永和.USB外围设备设计与应用.中国电力出版社,2002-6
本文作者创新观点:
本文提出了一种准同步USB通信方式,用软件解决了异步端点功能设备与USB码流间
的速度匹配问题。
文章中图分类号:
中图分类号:TP/TM 文献表示码:B(应用研究学术论文)
5
电子发烧友 电子技术论坛
附件
联系方法:
通信地址:江西省赣州市红旗大道86号 江西理工大学549信箱
邮 编:341000
E-Mail : wujunqin@
or gzwjq@
支助基金:
江西省教育厅项目“集成电路设计EDA技术跟踪研究及其仿真验证装置的研制”(赣财
教[2003]73号),研究金费2万元,作者是项目申请人和技术负责人。
作者简介:
姓名:吴君钦,1966.3.9,男,汉,硕士;
专业:光电子技术;
职业:高校教师;主要从事电子信息工程、通信工程专业的教学工作以及电子信息系统
的应用研究等科研工作。
作者英文简介:
Name:Wu Junqin , March 9,1966, Sex:male , Nationality:The Han nationality
Degree: Master , Speciality: Optoelectronics technology
Profession: Teacher of university. Embarking upon teaching electron information
engineering and telecommunication engineering, and embarking upon electron
information system aplication researching .
6
2024年10月30日发(作者:聂笑寒)
电子发烧友 电子技术论坛
USB音频设备的设计与实现
Design and Implementation of USB Audio Device
(江西理工大学) 吴君钦
(Jiangxi University of Science and Technology)Wu,Junqin
摘要:在介绍USB音频设备及其驱动程序结构的基础上,对USB Audio功能节点、USB
Audio描述符、USB Audio请求、码流同步等设计重要方面进行了详细论述,提出了一种准
同步USB码流速度匹配方法。使用准同步法,在一对USB ISO端点上,成功地实现了实时全
双工USB音频通信功能,简化了时钟同步系统的设计。
关键词:USB音频,驱动程序, 准同步通信
Abstract:Introduce the structure of USB audio device and the structure of USB audio driver,
discuss the function endpoints of USB audio peripheral, the USB audio descriptors,the USB audio
request and the synch mechanism for USB audio stream detailly, bring out a new synch method
called p
lesiochronous
communication
for USB audio stream speed matching. U
sing the
p
lesiochronous
communication model , implement duplex audio communication functions on
twain USB ISO endpoints, simplify the design of clock synch system .
Key words:USB Audio; Device driver; P
lesiochronous
communication
1 引言
随着USB接口的推广和普及,越来越多的电脑外部设备采用USB接口, 在便携电脑中,
有采用USB口扩展外设取代PCMCIA总线接口的趋势。特别是USB2.0的数据传输速率达
480bps,USB实时同步数据传输模式适合于传送高速实时音视频数据流。MP3播放器、U盘
等设备的流行,使USB接口的应用更为广泛,若能为这些便携设备增加USB音频功能,
MP3等设备将成为语音聊天、网络电话等通信终端设备,大大拓展了应用领域,为此本文
对USB音频外部设备的体系结构、工作原理及音频数据码流同步方法等设计的重要方面做
详细论述。
2 USB设备与驱动程序
一般,USB外部设备包含一个USB设备控制器(USB peripheral Controller),设备控制
器与通信另一端主控制器(USB Host Controller)的端点(Endpiont)管道(Pipe)之间的实
[1][2]
。主机端驱动软件包含USB主控器驱动程序、设备驱动程序和应用软件三部
现逻辑联接
分,主控制器驱动程序由操作系统提供支持,USB设备开发人员一般只需编写USB设备驱动
程序和用户应用程序两部分,以实现特定的功能。但设备端所有功能的驱动软件必须由开发
[1][4][5]
。
商完成,关于一般USB设备的设计请参阅文献
虽然USB音频流媒体设备各部分与标准USB设备各部件间的逻辑关系相一致,但USB
音频设备(USB Audio Device)有其殊性, 它的结构和实现机制更为复杂。图1是微软推荐的
[2]
USB音视频流类驱动程序
标准USB音频设备WDM驱动序各部分之间的逻辑层次关系
。图1
(AVStream Class Driver,)运行在USB主机控制器驱动驱动程序之上, 属于
USB设备驱动程序范畴。图1黑体部分是与USB Audio有关的驱动和应用程序模块,而其他
模块则与USB Audio无关。
如果硬件设备按照USB标准音频设备规范
[3]
设计,设备开发商无须编写特定的USB设
备驱动程序,用户可直接使用Win98、Win2000或后续版本中绑定的标准USB Audio驱动程
序,在其他操作系统中也有相应的标准驱动程序,节省了大量的开发时间,所以本文不详细
讨论USB Audio驱动程序的设计问题,而重点讨论USB音频设备的设计。此外标准USB音
频设备可以与现有的各种音频播放软件、VOIP通信软件实现无缝联接。
1
电子发烧友 电子技术论坛
Win32 Application
DirectSound Application
S/W
MiniPort驱动
AVStream Class Driver()
AVCAudio
ISA/PCI
Audio Card
1394 Audio Dev
USB Audio Dev
图1 Windows音频设备驱动程序模块关系图
3 USB音频设备设计
3.1 USB音频功能节点
USB音频设备是由若干功能节点组成的。在设计USB Audio设备前,需要了解组成USB
Audio设备的功能节点(Audio Function)。Audio Function包括:输入终端(Input Terminal,
IT)、输出终端(Output Terminal,OT)、混音器(Mixer Unite,MU)、选择器(Selector Unit,SU)、
调音器(Feature Unite)、处理单元(Process Unite)、扩展单元(Extention Unite)以及辅助
接口等。下面介绍几个主要的功能节点:
IT是Function外部与Audio Function的接口,相当于音频信息流入功能节点的一个“插
座”。USB的OUT端点代表了一种流入音频信息的逻辑通道(USB OUT IT),而Line in插座
代表了一种非USB的 IT(Non USB IT)。
OT是Audio Function内部与外部(其他设备)的接口,相当于音频信息流出功能节点
的一个“插座”。USB的IN端点代表了一种音频信息流出Audio Function的逻辑通道(USB
IN OT),而Speak Out插座代表了一种非USB的音频信息流出OT(Non USB OT)。
MU:是把多个音频输入流混合成单一逻辑输出流的
USB Audio Functon,输入通道被组
合成一个或多个通道族,每个族通过一条输入脚流入MU单元,而逻辑输出通道也组合成
一个通道族通过一条输出脚流出MU单元。
SU是从多个输入音频通道族中选择一族到输出通道族中。
图2 是IT、OT、 MU和SU
等USB Audio Function节点的逻辑符号。
图2 IT、OT、 MU和SU符号
3.2 USB音频设备拓扑结构
简单的USB设备可以只有一个IT和一个OT构成,比如单声道USB 音箱,而复杂的
USB音频设备可以含所有类型的功能节点。图3是一个包含录音、放音和混音功能的USB
Audio设备的拓扑结构图,MIC和USB OUT AudioStream通过混音器输出到SPK,MIC
AudioStream也同时流入USB IN端点到达主机。
2
电子发烧友 电子技术论坛
图3 USB Audio设备拓扑结构图
3.3 USB音频描述符表
USB描述符表是主机设备枚举时要求Device报告给Host驱动程序的设备接口参数、结
构及逻辑关系描述表。USB设备驱动程序只有收到完整的描述符表后,才能“理解”设备
的各种接口、端点及功能节点的配置信息及其逻辑关系。图4是一个仅包含录音、放音功能
的USB Audio设备描述符顺序关系图,图中无背景色的描述符是USB设备标准描述符,而
背景为灰色的描述符是USB Audio特有的描述符。
图4描述的Audio设备的拓扑结构为:USB OUT—>IT—>OT—>SPK,MIC—>IT—>OT
—>USB IN。该设备包含四个功能节点ID1、ID2、ID3和,包含三个接口(Interface)IF0、IF1
和IF2。
图4 USB Audio描述符关系图
在USB Aduio设备中,设备、配置及字符等标准描述符与通用USB设备没有太大差别,
、端点
本文不作讨论,读者可参阅参考文献
[1]
。在USB Audio设备中,接口Interface(I/F)
Endpoint(EP)与音频Function节点功能密切相关,接口和端点描述符必须详细描述接口参
数、Function节点类型、AS流类型、AS流格式参数、连接的端点等信息。
在一个USB Audio设备中至少应包含一个音频控制接口(Audio Control Interface,AC
I/F),可以包含0到多个音频流接口(Audio Stream Interface,AS I/F)。
在AC I/F接口中,包含了一个音频控制类描述符(AC Class)和全部Function节点的
描述符,AC I/F可以使用控制端点传输控制命令和状态信息,也可以包含有独立的中断类型
端点,以便建立独立的逻辑通道传输AC命令或状态信息。
3
电子发烧友 电子技术论坛
每一个AS I/F必须有两个可选设置Setting0/1,Setting0是缺省设置,在接口连接的
Function空闲时使用该设置,此时接口不占用USB总线带宽,Setting1是接口工作时使用,
此时有AS数据流在连接的USB ISO端点中传输。每个AS接口可以包含1到多个AS通道
(声道),AS被连接到同步IN/OUT端点上,接口所使用端点的描述表必须紧跟在AS
Class/Type Format描述表后面。
USB Audio设备枚举阶段,传送USB设备配置描述符时,应把该Configuration下的所
有接口描述符表整块数据用一个数据包发给主机(Device可以有多个Configuration)。
[3]
关于USB Audio功能节点及接口描述符的详细定义可以参阅参考文献
。表1举例介绍
一个输入IT节点的描述符定义,以便让读者对Function描述有感性和直观的认识。
表1 IT Function节点描述符表
Offset
属性名称 取值举例 字节数说明
0 描述符长度 0x0c, 1 IT描述符共12字节
1 描述符类型 0x24, 1 接口类描述=0x24
描述符子类 IT子类=2
2 0x02, 1
3 本描述符标识ID 0x01, 1 用于寻址本Function
功能终端类型 连接USB OUT 的IT=0x0101
4 0x0101 2
6
7
8
10
11
关联OT/EP ID号 0x04, 1 IT1连接到EP4 ISO OUT
通道数 0x01, 1 单通道
标识通道的位图 0x0001 2 本通道数据从比特B
0
开始
通道字符描述索引 0x00, 1 无字符描述,索引=0
终端字符描述索引
0x00 1
无字符描述,索引=0
3.4 USB音频设备请求
除了USB标准请求外,USB Audio规范定义了Class Specific Request,Audio Control
Request,Audio Stream Request三类请求。所以USB Audio设备的固化软件除了要对USB
标准请求作出响应外,还要响应上述三类请求。比如响应Audio Control单元的AC请求,
可以完成音量调节、静音控制等功能。若使用缺省控制端点传输AC命令,处理方法与标准
请求相同。对于AudioStream端点,需要软件或硬件同步地把数据块填入或取出USB端点
缓冲区。
4 码流速度的匹配与同步
实时流媒体通信的同步问题是关系到通信质量和效果的关键的问题之一,解决不好通信
效果将很差,严重时根本就无法通信。USB Audio定义了三种通信同步方式:
异步方式(Asynchronous):AudioSttream端点产生或消耗数据的速度无法有锁定于USB
外部时钟,是由独立运行的时钟决定的,端点无法同步到SOF帧信号或USB时钟控制的其
他信号上。
同步方式(Synchronous):AudioSteam端点时钟被SOF信号控制,相位完全锁定在1ms
的SOF信号上,所以端点必须每1ms恒定地产生或消耗1帧数据。
自适应方式(Adaptive),AudioStream端点可以在给定范围内采用任何速度发送和接受
数据,端点必须通过内部处理,适应USB数据流速率的变化。
对于USB自适应源发送端点或异步接端点,需要额外端点来接收或反馈平均数据速率
信息,
以便在数据传输时保持码流速度匹配,反馈实现起来相当复杂,并需要设置较大的码
流缓冲区,文献
[1]
的第5部分详细讨论了反馈机制。同步方式最简单,但设备的音频采样时
钟必须同步在USB的SOF信号上,在大多数情况下USB控制器和音频采样A/D、D/A是
独立设计的,各自使用独立时钟,要使二者同步必须使用PLL锁相控环制器,增加不少成
本。
在USB设备设计时,为了降低成本,不使用PLL虽然无法实现严格意义上的同步音频
通信,但使用下述方法可以解决同步问题:因为音频信号对微小相位改变不敏感,在PCM
4
电子发烧友 电子技术论坛
码流中插入或删除少量采样点对音质影响极小,使用采样点插入删除方法可以实现USB音
频码流与A/D、D/A采样时钟的同步,达到USB收发端点码流同步的目的。具体方法是当
软件检测到采样时钟快于SOF时,需要插入采样点,反之则删除。晶振的频率精度和稳定
度都极高,对16K采样PCM码流,每秒插入或删除的采样点数不会超过16点,所以对音
质影响极小。使用这种码流同步方式设计的USB外设功能端点,称之为USB准同步端点,
是一种用软件来实现码流速度匹配与同步的通信方式。
5 结论
利用USB Audio技术规范设计电脑外部音频设备,方法简单易行,开发者只需专注于
USB设备端软硬件开发,不必设计主机端驱动程序,缩短了开发周期。本文提出了一种准
同步USB通信方式,用软件解决了异步端点功能设备与USB码流间的速度匹配问题。采用
准同步通信方式进一步简化了设备时钟系统的设计,并在设计实践中成功地实现了准同步
USB音频功能端点,实践表明准同步方式传送PCM音频码流的适应性强、音质保真度较高。
参考文献:
[1] Univeral Serial Bus Specification Revision1.1. USB Org.,1998.
[2] Windows 2000 DDK Document. Microsoft Ltd.,2000.
[3] USB Device Class Defination for Audio Device. ,March 18,1998.
[4] 吴君钦.32位ARM嵌入式系统扩展USB接口设计.微计算机信息,2005,9-2:82-83。
[5] 许永和.USB外围设备设计与应用.中国电力出版社,2002-6
本文作者创新观点:
本文提出了一种准同步USB通信方式,用软件解决了异步端点功能设备与USB码流间
的速度匹配问题。
文章中图分类号:
中图分类号:TP/TM 文献表示码:B(应用研究学术论文)
5
电子发烧友 电子技术论坛
附件
联系方法:
通信地址:江西省赣州市红旗大道86号 江西理工大学549信箱
邮 编:341000
E-Mail : wujunqin@
or gzwjq@
支助基金:
江西省教育厅项目“集成电路设计EDA技术跟踪研究及其仿真验证装置的研制”(赣财
教[2003]73号),研究金费2万元,作者是项目申请人和技术负责人。
作者简介:
姓名:吴君钦,1966.3.9,男,汉,硕士;
专业:光电子技术;
职业:高校教师;主要从事电子信息工程、通信工程专业的教学工作以及电子信息系统
的应用研究等科研工作。
作者英文简介:
Name:Wu Junqin , March 9,1966, Sex:male , Nationality:The Han nationality
Degree: Master , Speciality: Optoelectronics technology
Profession: Teacher of university. Embarking upon teaching electron information
engineering and telecommunication engineering, and embarking upon electron
information system aplication researching .
6