应对现代USB音频系统设计的挑战

发布者:独行于世最新更新时间:2015-07-15 来源: newmaker关键字:USB  音频系统 手机看文章 扫描二维码
随时随地手机看文章
USB音频是绝大多数设备中普遍使用的接口,除非是最古老的个人电脑硬件和操作系统。以其鲁棒性连接和数据传输速率,人们可能会认为,在这种接口上传输高质量的音频是很简单的。然而,今天成功的基于USB的音频产品无不是做了大量的芯片和系统方面的工作,需要解决时钟恢复等棘手难题。 

问题的本质是,最后的输出设备传送音频到扬声器,耳机或线路输出插座,这需要一个“主时钟”来调整音频转换速度。这个主时钟需要有两个独立的属性:1)它一定是音频采样率的整数倍,这要非常精确(这样当时序错误时,你就不需要舍弃或复制音频样本);2)它的抖动(或者可以说是相位噪声)必须足够低,这样数模转换过程就不会受到影响。这里的挑战是我们要同时满足这两个要求。 

困难的一部分来自于这样一个事实:通过USB线的数据流的接收端不知道确切的采样率。事实上,它只能推断理论采样率。更重要的是,这些来自USB线的数据并没有任何形式的时钟。这对比其他大多数串行接口来说是明显的不足,其它串行接口或者有一个发送时钟,或者是构建数据,这样当运行时,总可以从连接上找到一个时钟。 

能从USB接口得到的唯一的时钟信息就是,每毫秒特定类型的数据包会发出起始桢,这一个事件可以由接收硬件检测到。根据已知方法,从传输端的系统时钟可以推导出这一毫秒值,原音频采样速率也是同样的(我们后面会简要地讨论一个例外)。 

一个简单的解决方法可能是,我们可以把1 kHz时钟放到一个基于PLL的乘法器,根据需要来倍频,以建立音频主时钟,所有的子时钟都基于此。然而,在处理CD音频的系统里,采样频率是44.1kHz,典型的传统音频数模转换器需要的主时钟是256倍,或者11.2896MHz。事实是,在一个单PLL上将输入频率倍频这么大倍数性能肯定不会很好。这正击中了乘法器的要害:环路带宽,参考激励拒绝,和压控振荡器的抖动。更重要的是,在这个案例里,我们需要用不是整数的数来乘1kHz,要完成这个任务就更难了。 

层叠式两种相当复杂的乘法器环路会导致要工作在有相位噪声和伪拒绝的情况下。然而,这种方法往往会导致电源消耗很大,这需要高端芯片,还要巧妙的模拟设计。或者这样,宁愿相应变慢来改变时钟频率需求。USB音频链接的名义采样率可能在线路之间迅速改变,要等待将近一秒来稳定,会导致性能不可靠。这种方式最初应用在固定频率的演播室的数字音频连接,在那里成本和尺寸都不重要。 

在过去的几年里,有各种不同的创建需要的音频主时钟方式,不再需要受PLL倍频问题的困扰,他们已经集成到了很多专用的芯片组,例如USB音箱、耳机、外部声卡。这些器件做他们所需要的,而不需要在“如果又怎样”能力上花费额外的芯片面积或引脚数。这当然可以使成本下降,这样每个人都很高兴。 

但是,如果你的下一代USB接口需求不能在特殊功能芯片上得到满足,你该怎么做?移动设备(如媒体播放器和最新的写字板)都是建立在新平台上的并运行新操作系统的,这就需要越来越规范的USB标准来作为广泛的附件和新增功能的有线连接选择。这些系统中有一些已经整合了USB音频芯片,但不能满足需求,这给器件提供基础功能造成了“打击”。USB音频就是这些小的移动设备要求的越来越多地的功能之一。 

从一个移动设备上以数字形式提取音频有几大好处。模拟音频接口不再受到系统声音质量因素的限制。这使得音频系统或播放器配件制造商可以通过他们自己的电路设计使声音性能达到更高的水平。同样重要的是,数字音频链接改进了到TDMA接口的阻抗(丛移动设备蜂窝调制解调器耦合到系统中音频回放部分模拟电路的阻抗)。 

市场上有许多集成USB外设的微控制器,但没有一个设计了具有必要的时钟生成和恢复电路,而这些是用来传输高质量音频数据的(这是当前的需求)。有时这个问题是可以解决的,可以使用外部“时钟重启”芯片或更复杂的音频转换器(集成了PLL或采样率转换器),这样来弥补主时钟精度和质量的差距。然而,这使系统回到这些问题的困扰:费用高,高功耗,元件数目多,或者所有这些都有。此外,音频的“降频技术”使得很长的内存缓冲区不能在任何一个系统里使用,视频图像(甚至是幻灯片)须要为音频调整时间。 

USB时钟恢复 

最近这个问题的解决方法已经大大简化了,这是通过使用很实用的混合信号器件解决的,它在一颗器件里集成了单片机,可编程数字逻辑、可配置模拟电路。一个典型的例子就是赛普拉斯新的PSoC3系列(可编程片上系统)。 

当系统“时钟冲击”发生时,基于微处理器的可编程设计可以很快就会适应,因为新代码和新电路板可以很快跟着变化,这远比更新芯片块多了。然而,有时候有的应用需要专用的外设或处理器支持,可能目前还没有集成这些微处理器。最初解决这个新问题的方案就终结了,因为只是部分组合微处理器和FPGA,PLD或者专用的固定功能芯片(经常只是利用一半)来实现一些专用且必需的功能。结果线路板变大了和BOM便多了,这可能危及这个新市场。 

高度可编程片上系统架构提供了一个可供选择的途径。使用这样的器件,只需花费很少的芯片设计努力——往往没有一个具体应用的清晰画面场景——就可以在数字和模拟两方面都创建一个更可配置的,更灵活的结构。数字的灵活性来自于包含的模块(通用数字模块,或UDB),可以独立于主处理器核实现复杂的组合和有序的逻辑功能。还包括了专用协处理器可以用于频繁产生的通用信号处理的任务,例如滤波功能。在模拟方面,由于具备丰富的开关网络和片上资源,可以提高常用的运算放大器和比较器性能,可以提供一系列模拟模块,没有做不到,只有想不到。灵活的多域时钟树更使得其无所不能。 

这些通用性器件不能总是符合专用单一功能器件所要求的成本。然而,一旦需要做一些不同的功能,比起那些没有灵活性的拼凑的方案来说,可编程器件通常会提供最具竞争力的BOM成本。产品快速设计-甚至是重新设计 –这都可以保证,在过去的几年里,可编程片上系统已经对电子产品设计做出了重要的贡献。 [page]

可编程片上系统已经被实践证明了,它具备所有的要素要求,能够支持完整的现代消费类音频设备所需的USB数字音频能力。可编程数字逻辑,通用时钟能力可以提供一种无需外围器件的方法来生成所需的音频主时钟并快速同步,准确地匹配到USB桢结构。这个解决方案的核心是USB音频时钟恢复过程,其使用的基本配置见图1框图:

 
图1:USB音频时钟恢复结构实例

可编程片上系统灵活的USB接口可以允许允许几个音频和控制协议端点功能相结合。可编程数字逻辑模块矩阵实现了一个频率合成系统,可以从一个稳定的晶体时钟源推导出任何标准的音频采样率主时钟。通常模式下,时钟锁定来接收USB 时基(使用起始桢标记脉冲时间)。系统时钟PLL通过灵活的时钟路由结构融入到了这个合成器。整个系统完全遵循源采样率并为系统的音频转换器提供一个高品质的音频主时钟,其抖动的级别可以和现代品质的音频系统要求相称。 

音频数据是典型的缓存到一个或多个标准I2S接口(带有所需数目通道)的时钟输出,这又是可编程数字块可以完成的。这个接口可以连接到一个标准的音频数模转换器,处理器或数字放大器 。其他定制接口也可以由这些模块实现,例如,S / PDIF传输。整个过程可以双向操作,从ADC来的数据可以通过USB端口传输回去。 

一些USB音频模式需要本地时钟能够“slip”来应对即将到来的时钟,例如,中继一个远端同步音频流的源。可编程片上系统架构可以运行在一种自适应模式,可以修整本地时钟来提供所需的“slip”。 

固定功能的微控制器就不能满足这种时钟生成过程里苛刻的性能要求。他们不灵活的时钟生成系统不能调整到完全正确和低抖动,而且他们通常依靠原来的“添加/丢弃样本”的方法。这在电话上可能是可行的,但对于高质量的音频来说是完全不可接受的。与此同时,专用USB音频接口设备(是BOIM里除了控制处理器之外的必要的另一个器件)不能同时管理苛刻的双向控制协议的传输,这种传输方式为最新的媒体播放器提供了创造性的新功能。 

可编程片上系统在性价比上也是很不错的。例如,可以由赛普拉斯的PSoC系列带来附加价值, 其具备嵌入音频滤波器引擎(数字滤波模块DFB)。DFB可以对恢复的USB音频进行后处理,例如,相应均衡和交叉过滤。它有足够的性能来实现额外的数字处理器件,在一堆立体声的每个频道可以实现至少十个双二阶滤波器,可以提供很好地控制频率响应。 

用途广泛的高度可配置方案必然能帮助设计者减少逻辑电路和模拟设计等琐事。LCD驱动可以直接降低成本,电容感应按钮可以确保设计既美观又时髦。如图2所示的一个例子:一个器件就可以构成新一代移动设备音频附件或消费类音频产品的核心,它具备了全数字音频和数据交换的所有好处。可编程器件的灵活性意味着所需的功能和接口可以集成在一个混合并匹配的基础上。

 
图2:使用PSoC3的高端消费类音频设备框图

固定功能器件以后可能会赶上可编程片上系统。但采用建立在高度可配置的片上系统体系结构来设计的话,开发人员可以保持至少领先一步,并且能够很容易应对下一次“我们该怎么做?”的冲击到来。(end)
关键字:USB  音频系统 引用地址:应对现代USB音频系统设计的挑战

上一篇:机器视觉采用USB 3.0
下一篇:CAN和CANopen的关系

推荐阅读最新更新时间:2024-05-02 23:48

STM32HAL----USB升级固件(DFU)
早就听说stm32可以利用USB升级固件,脱离各种Link。趁有空搜了下相关资料,然后利用stm32CubeMX实现了这个功能。 参考了这个地址的资料:http://www.stm32cube.com/question/500 上面这个链接写得很详细,所以不再赘述,直接上重点以及注意点。 一、bootloader地址设置 在CubeMX里面,有两个参数要设置好,以上画框部分。 一个是APP的默认地址。 另一个是DFU接口。用来识别我们bootloader存放起始地址以及占用内存大小,还有内部FLASH的扇区划分方式。 因为我的MCU是STM32F407VET6,所以改成上图。bootloa
[单片机]
STM32HAL----<font color='red'>USB</font>升级固件(DFU)
基于FPGA和USB2.0的高速CCD声光信号采集系统
   0 引 言   在现代通信和雷达领域中,宽带、高增益、实时并行处理是现代接收机的重要标志。因而,这种具有高速并行处理能力和特有的大带宽性能的声光处理系统具有巨大的潜在优势。以声光器件为基础的接收机除了具有宽带、高增益、实时并行处理等特点外,还具有容量大,体积小,功耗低等优点。因而,采用声光信号处理技术解决带宽、高增益和实时并行处理问题具有重要意义,声光信号的采集系统的设计是整个声光系统关键之一。这里设计了一个基于FPGA和USB 2.0的高速CCD声光信号采集系统,为声光信号采集提供了硬件平台。    1 系统概述   声光信号采集系统框图如图1所示。系统主要由CCD声光信号采集模块、A/D转换模块、FPGA驱动和控制
[嵌入式]
基于FPGA和<font color='red'>USB</font>2.0的高速CCD声光信号采集系统
美商睿思科技发布USB 3.0两口主控端控制晶片
专精于超高速界面解决方案的美商睿思科技发表新一代支援PCI Express Gen II传输界面的USB 3.0 两埠主控端控制芯片FL1009。类似早期发表的FL1000系列主控端芯片, FL1009也搭载了睿思科技专利GoXtreamTM xHCI加速核,创新的设计架构带来了顾前所未见的超高传输效能与超低功耗,并为客户降低成本及缩短终端产品开发时程。已存在于通过USB-IF SuperSpeed USB 认证FL1000 中的GoXtreamTM xHCI加速核给每个USB3.0连接口提供了完整的5Gb/s 独立传输频宽,全频宽不仅预留了支援更高解析度1080p的新一代视讯串流技术的需求,也为具备UASP技术的USB3.
[手机便携]
美商睿思科技发布<font color='red'>USB</font> 3.0两口主控端控制晶片
基于USB串口多点温度采集系统的设计
    1 引言   在科研实验、大棚蔬菜种植、各种动物养殖及卫生医疗等场合经常要用到多点温度采集系统。利用PC机将采集到的多点温度进行分析处理是非常方便的,目前PC机的数据接口最方便的就是通用串行总线USB。USB总线具有连接方便,无需外接电源,即插即用,支持热插拔,动态加载驱动程序等特有优点,在主机和数据采集系统之间可以实现简单、快捷、可靠的连接和通讯。在测试设备与计算机之间建立有效、灵活、低功耗、可靠的通讯方式。实现测试仪器高速、便捷、网络化是当今仪器发展的一个重要方向。所以,基于USB总线的多点温度采集系统是一种非常实用的温度采集方式。   2 USB串口温度采集系统   一个实用的USB温度采集系统包括温度数据采
[嵌入式]
基于MC68HC908JB8的USB指纹采集仪
随着计算机技术的进步,图像处理与模式识别方法的发展,指纹处理技术日臻成熟,在众多领域得到了广泛的应用。而指纹采集是指纹处理的第一步,本文介绍了一种基于MC68HC908JB8的便携式USB指纹采集方案,该方案能方便灵活的采集高质量的指纹图像,文中具体讨论了系统硬件以及相关驱动和应用程序的设计。 指纹是指人类手指上出现的条状纹路,他们的形成依赖于胚胎发育时的环境和遗传。世界上几乎没有两个完全相同的指纹。由于指纹具有稳定性、唯一性以及易于采集的特性,一直以来被认为是最可靠的利用生物特征进行身份鉴定的依据之一。 随着计算机技术的进步,图像处理与模式识别方法的发展,指纹处理技术日臻成熟,经历了人工处理,半自动化处理和自动化处理等三个
[单片机]
基于MC68HC908JB8的<font color='red'>USB</font>指纹采集仪
基于单片机和CH371USB接口芯片实现虚拟示波器的设计
一、引言 对于学校教学实验以及某些特定需求来说,目前市场上的模拟及也许并不适用,价格高昂、体积较大且很多专业功能并不实用。而现在电脑的普及程度也达到了相当的规模,利用电脑以及附加的数采模块实现一个灵活便捷的能够满足大多数的工作、学习和开发需要,并且可以通过较低代价的硬件和软件升级实现相当复杂的信号处理功能,能够以较低的成本、较小的体积实现配置灵活的智能仪器组合;完全可以与便携电脑结合,构成便携式检测维修工作站。目前已经有计算机并口通信的数据采集器,但是USB的应用日趋广泛和深入,如果将USB功能融合在里面则可以实现更高的数据传输率、更方便的使用方式,更为优越的体现出的性能。 二、 此虚拟的数据采集器由以下功能模块组成:前端信号
[单片机]
基于单片机和CH371<font color='red'>USB</font>接口芯片实现虚拟示波器的设计
创建USB-PD源设备创建项目与配置系统
USB供电源入门 1创建项目 打开 STM32CubeIDE 并创建一个新的 STM32 项目。作为目标选择,从Board Selector选项卡中选择 NUCLEO-G0B1RE 单击“下一步”,然后输入您的项目名称。将其他字段保留为默认值,然后单击“完成”。 当提示使用默认模式初始化外围设备时,单击否。 2配置系统↑ 此时,您的项目已创建,您只剩下 STM32CubeMX 视图。在接下来的步骤中,我们将配置项目所需的外围设备和选项。 2.1清除引出线↑ 要从空白配置开始,请单击Pinout菜单并选择Clear Pinouts。这将重置引脚布局视图中的引脚布局。 2.2配置系统时基↑ 对于这个简单的例子,我们将使用 Sy
[单片机]
创建<font color='red'>USB</font>-PD源设备创建项目与配置系统
USB海量存储类设备功能在ARM系统中的应用
技术发展到今天的信息时代,数据的存储和传输在嵌入式系统有了越来越重要的地位。而USB是目前设计成熟、应用广泛且使用极为简捷的技术,USB传输是一种高效方便的数据传输方式。基于上述原因,本文重点论述基于USB的海量存储(USB Mass Storage)设备功能在ARM嵌入式系统中设计和应用。使用该设备功能,上位机可以像读写普通U盘一样对于系统采集并存储在FLASH中的数据进行读写。 1 硬件方案 l.1 器件简介 S3C44B0X 是SAMSUNG公司出品的基于ARM7TDMI内核的RISC型微处理器,8 kB指令和数据共享的缓存,主频可达66 MHz,可以运行16位的Thumb指令和32位的ARM指令,且接口丰富,具有通用
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved