当前位置:首页 > 电源 > 数字电源
[导读]摘要 USB(Universal Serial Bus,通用串行总线)是近年来得到大力发展和应用的计算机接口技术,它简化了计算机外部接口连接过程,便于计算机扩展各种外部设备。USB在协议制定时,为了方便不同方向的设计者进行开发,定

摘要 USB(Universal Serial Bus,通用串行总线)是近年来得到大力发展和应用的计算机接口技术,它简化了计算机外部接口连接过程,便于计算机扩展各种外部设备。USB在协议制定时,为了方便不同方向的设计者进行开发,定义了不同的USB设备类(USB Device Class)。本文针对使用USB_Audio_Class进行语音设备设计时需要解决的音频信号同步问题进行了介绍,并给出了相应的解决方法和部分源代码。
关键词 USB总线 USB音频设备软件锁相环


引 言
    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。[!--empirenews.page--]
    主要硬件模块结构和软件模块结构分别如图1、图2所示。

3 同步问题
    由于USB总线拓扑结构的特殊性,所有数据传输都由主机(PC)发起,在设备插上USB接口并完成初始化、列举等步骤以后,主机会按照设备列举的要求进行流量分配。USB全速模式总线以1 ms为1帧。由于采用Isoch-ronous transfers模式,为测试方便,音频格式采用8 k/s采样率,8位量化。因此单声道每帧数据量为:

          
    MCF52223通过USB D驱动在接收并解出USB数据包里的音频数据后,存入内部开辟的缓存中。ML2308每个声道具有64字节缓存,当缓存满、缓存一半和缓存为空时会分别发送中断信号Full、Mid、Empty给MCF52223,而MCF52223可以根据不同的中断信号对ML2308进行写入新数据工作。
    因此,在设备的写入端数据按照PC上的USB的时钟进行传输,而在设备输出端数据按照ML2308的时钟进行操作。ML2308时钟来自板载晶振,这两个时钟不可避免存在一定误差,而且根据测试,不同PC的USB总线时钟也有微小差别。这些差异会造成设备内部缓存的音频数据不断被消耗殆尽,或者不断增加而最终溢出。因此,需要一个易于实现且对资源消耗量较小的方法来同步输入与输出信号。由于这种差异是不确定的,该算法需要一定的自适应能力。

4 自适应软件锁相环设计
    之前采用简单的缓存门限控制方法判断是否需要插值,即当缓存高于某门限时,丢弃一个PCM样点。而当低于某一门限时,插入一个PCM样点,由于时钟速度差异的长期固有性,在插入/丢弃一个PCM样点后,缓存数量仍然可能继续减少或增加,从而造成程序无规律的爆发式的插入或丢弃数据操作,产生不可接受的噪音。
    因而在算法设计时,重点考虑以下几点。
    操作的稳定性:不能有对数据突发性的操作。
    操作的分散性:要尽量平均的控制信号,把插入/丢弃产生的失真平均化。
    资源消耗量小:要适应嵌入式系统成本低廉、片上存储、运算资源不是很富裕的客观条件。
    音频的实时性:声音对实时性要求较高,不能出现停顿、明显延迟等情况。
    因此,采用一种插入/丢弃样本间隔平均化的自适应模糊控制算法进行设计。
    针对两次插值/丢弃操作之间的样点数进行控制,而非对样点本身,在每次插值/丢弃操作后进行速率匹配判断,修改插值/丢弃间隔。由于通常这种时钟差异在千分之一量级,插入/丢弃操作间隔也在千样点量级,大大减少了频繁的判断操作。算法结构如图3所示。

5 算法实现
    由于每台电脑以及每块开发板的时钟都有误差,所以每次连接设备都需要检查两者时钟速率关系,实现该功能的关键代码如下:

 [!--empirenews.page--]

6 测 试
    (1)基本性能
    关闭软件锁相环,系统在缓存中存放240个sample开始播放。而每次当程序播放约45 s时,由于缓存消耗殆尽,语音会自动中断,无法播放。
    开启软件锁相环,程序可以无时间限制运行,达到设计目的。
    (2)缓存需求测试
    在播放至少10 min稳定以后,利用变量rangel和range2跟踪缓存内数据数量波动范围,记录最大值和最小值,分12次测试,如图4所示。

    可见,在启动软件锁相环以后,缓存中数据量最大浮动范围在192~250 sample之间。因此,为保证数据不溢出,只需要约60字节空间作为缓存就能维持设备正常工作。
    (3)估算时钟偏差测试
    在不同电脑上运行10 min以上,提取插入/丢弃数据间隔,取倒数可以得到稳定后设备和USB时钟偏差率。由图5可见,总体偏差在0.001~0.003以内,基本符合预期。

    (4)稳定性测试
    运行10 min以后,读取当前设备缓存内数据量。由于每次写入/读取8个sample,而终止程序进行数据提取是随机的,无法确定缓存刚才由USB写入还是由 ML2308读取,因此在240上下8个sample以内都是完全符合预期的。由图6可见,程序能准确地将缓存中数据量控制在240个sample左右,完全达到设计目标。

结 语
    基于插值算法的自适应软件锁相环,适用于针对USB_Audio_Class_Device的时钟同步需求。它在达到设计要求的前提下,对嵌入式系统内存和MIPS占用极低,非常适合在利用USB总线作为音频数据传输,或通信双方存在一定的不确定速率的误差且需要设备自主完成数据同步的设备中使用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

全球领先的科技公司默克推出了同类产品中首个经验证的全新一体化遗传稳定性分析。 Aptegra™ CHO遗传稳定性检测利用全基因组测序和生物信息学,显著加快了客户的生物医药安全性测试,从而帮助加快了客户进入商业生产的步伐。...

关键字: 稳定性分析 BSP 人工智能

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB
关闭
关闭