- 7
- 0
- 约3.78千字
- 约 7页
- 2020-10-08 发布于河南
- 举报
USB 频设备类的 频信号同步解决方案
文针对使用USB_Audio_Class 进行语音设备设计时需要解决的音频信号同步问题进行了
介绍,并给出了相应的解决方法和部分源代码。
引言
USB 总线协议经历了从USB1.1到USB2.0再到目前的USB OTG(USB On-The-Go)的发展过
程,在USB 不断发展完善的同时,越来越多的USB 产品大量上市。现在的PC 机通过USB Hub
设备和多个USB 控制器,能同时支持扩展的USB 设备已经达到数百个。
在USB 总线传输中,任何一 USB 的数据传输都必须由主机来发起和控制,所有的USB
外设都只能和主机建立连接,任何两个外设之间或者两个主机之间无法直接通信。目前,扮
演主机角色的大多是个人电脑(PC)。
USB 协议制定时,为了方便不同设备的开发商基于USB 进行设计,定义了不同的设备类
来支持不同类型的设备。现在市场上的USB 产品,通过调查会发现它们主要应用了以下设备
类:
USB_DEVICE_CLASS_HUMANINTERFACE 键盘、鼠标等
USB_DEVICE_CLASS_STORAG U 盘、活动硬盘、数码相机等
USB_DEVICE_CLASS_PHYSICAL_INTERFACE 力回馈游戏杆、方向盘等
USB_DEVICE_CLASS_POWER 风扇、LED 台灯、手机充电等
USB_DEVICE_CLASS_PRINTER 打印机
从市场上看,虽然在USB 标准中定义了USB_DE-VICE_CLASS_AUDIO,但是很少有此类设
备问世。目前称为USB 音箱的设备,大都使用 USB_DEVICE_CLASS_POWER,仅仅将USB 接口
作为电源使用。信号仍然需要3.5 mm 立体声音频线连接使用,连接相对复杂。这样 有体
现USB 设备连接简单,操作方便的优势,且采用模拟信号传送会产生一定的信号失真,影响
音质。
本文为了设计实现一个完全基于USB 协议的USB_DEVICE_CLASS_AUDIO 设备,采用一根
USB 连接线,在设备中不同的端点 (endpoint)实现音频信号的输入,输出包括相关按键控
制,并重点讨论如何解决由于USB 特殊的总线拓扑结构造成的信号同步问题。
1 USB_DEVICE_CLASS_AUDIO 介绍
为简化 USB 设备的开发过程,USB 提出了设备类的概念。其中的音频设备类
(USB_DEVICE_CLASS_AU-DIO)是目前为止使用比较少的类型。
USB_DEVICE_CLASS_AUDIO 是专门针对USB 音频设备定义的一种专用类别,它不仅定义
了音频输入/输出端点的标准,还提供了音量控制、混音器配置、左右声道平衡,甚至包括
对支持杜比音效解码设备的支持,功能相当强大。不同的开发者可以根据不同的需求对主机
列举自己的设备结构,主机则根据列举的不同设备结构提供相应的服务。
USB_DEVICE_CLASS_AUDIO 设备采用USB 传输模式中的Isochronous transfers 模式,
Isochronous trans-fers 传输模式是专门针对流媒体特点的传输方法。它依照设备在链接
初始化时列举的参数,保证提供稳定的带宽给采用该模式的设备或端点。由于对实时性的要
求,它不提供相应的接收/应答和握手协议。这很 地适应了音频数据流量稳定、对差错相
对不敏感的特点。
2 平台介绍与系统架构
开发平台采用ColdFire MCF52223作为控制MCU。该芯片提供32 KB SRAM,256 KB Flash,
具备USB-OTG 模块,80 MHz 主频下达到76Dhrystone 2.1 MIPS,同时板载ML2308作为音频
播 放 模 块 。 详 细 资 料 可 以 参 阅 其 官 方 网 站 http : //www.hhcn.
com/chinese/coldfire/HHCF52223-R1.htm。
主要硬件模块结构和软件模块结构分别如图1、图2所示。
3 同步问题
由于USB 总线拓扑结构的特殊性,所有数据传输都由主机(PC)发起,在设备插上USB
接口并完成初始化、列举等步骤以后,主机会按照设备列举的要求进行流量分配。USB 全速
模式总线以1 ms 为1帧。由于采用Isoch-ronous transfers 模式,为测试方便,音频格式
采用8 k/s 采样率,8位
原创力文档

文档评论(0)