当前位置:首页 > 嵌入式 > 嵌入式软件

是一个开放的、可裁剪的、32位的实时嵌入式操作系统。它具有可靠性好、实时性高、内核体积小的特点,所以被广泛用于各种嵌入式智能设备的开发,其应用涉及工业控制、信息家电、移动通信、、个人电子消费品等各个领域,是当今应用最多、增长最快的嵌入式操作系统。而在这些嵌入式应用中,音频模块成为了大多数产品不可或缺的一部份。本文针对操作系统,构造了基于IntelXscale和音频芯片的音频系统,并简要介绍了其实现方法。

音频系统的硬件实现

本设计中的音频驱动采用UnifiedAudio模型实现,基于IntelXscale处理器和TI的音频芯片,使用了基于I2S(Inter-ICSound)总线的音频系统体系结构,系统原理图如图1所示。IntelXscale芯片集成了I2S控制器,通过I2S总线处理音频数据。信号(如控制信号)则需要单独传输,在本设计中将XscalePXA272芯片的SSP串口配置为SPI串口以实现控制信号的传输。

图1系统原理图

I2S是菲利浦公司提出的串行数字音频总线协议。PXA272的I2S控制器控制了I2S链接,I2S控制器由数据缓冲、状态和控制寄存器、计数器组成。它们将系统内存和外设的音频解码芯片()连接,产生同步音频。播放音频文件时,I2S控制器通过I2SLINK连接将系统内存中数字化的声音样本发送到外设的TSC2101音频解码芯片中,然后由TSC2101芯片的数模转换器将数字音频信号转换成模拟信号。对于录音来说,I2S控制器从外部的TSC2101音频芯片接收到数字信号,然后将它们存储到系统内存中。I2S提供了普通I2S和MSB-justified-I2S格式。通过5根引脚连接TSC2101芯片和PXA272的I2S控制器,形成音频数据传输的通道。I2S控制器必需的信号主要有:一个码率时钟,可以引用外部或者内部时钟源;一个控制信号提供“左/右”声道控制信息;两个串行音频引脚,一个输出一个输入;码率时钟,I2S控制器会将可选的系统时钟信号也发送到外部解码器中。

I2S控制器通过DMA方式来访问。DMA方式下,DMA控制器只能通过串行音频数据寄存器()访问。DMA控制器通常以8、16或32字节大小的块存取队列数据的。

本设计中采用的音频芯片TSC2101集成了立体声音频解码、控制芯片,立体声DAC能以高达48Kb/s的采样率播放音频文件,专供、PMP、智能手机和播放机使用。TSC2101将、耳机和四线控制器与音频编解码器集成再一起,带有一个立体声头戴送受话器接口、一个手机送受话器接口、一个单声道8Ω以及一个32Ω受话器驱动器,并集成有一个监控器和一个片上温度。

TSC2101芯片的电路设计如图2所示。

图2TSC2101芯片电路设计

本设计为TSC2101在智能手机中的运用,CP-IN为通信模块的语音输入,CP-OUT则为音频系统到通信模块的输出,在实际的应用中可以通过TSC2101的内部PGA(可编程增益放大)、AGC(自动增益控制)电路连接到CP-OUT,实现智能手机的话筒功能;同时,输入还可以通过内部的ADC将语音数据采样后经I2S总线传输到处理器存储空间实现录音功能。当然,在智能手机通话的同时,还可以实现通话录音功能。中的38~41引脚为SPI接口,42~46引脚为I2S控制引脚,引脚9~12为输入,引脚27和28为音频输出可以连接耳机,引脚26连接手机听筒,引脚33、35连接外置。

采用UnifiedAudio模型实现音频驱动

音频驱动的实现方式包括MDD-PDD分层模式和不分层的UnifiedAudio模型。MDD-PDD作为直接实现流接口的一种方法,使用微软提供的模型设备驱动程序(MDD)库——Wavemdd.dll。这个库根据音频设备驱动程序服务供应者接口(DDSI)函数来实现流接口函数,如果使用了Wavemdd.dll就必须生成一个匹配的平台依赖驱动程序(PDD)库,该库能实现音频DDSI函数,这个PDD库通常叫做Wavepdd.lib。然后把两个库连接起来形成Wavedev.dll。

作为音频驱动的另外一种方法,就是采用UnifiedAudio模型,即不分层的音频驱动模型,这种模型的音频驱动支持标准的波形驱动接口。在本设计中就是使用的这种方式来实现音频驱动(PlatformBuilder的驱动目录下包括有基于这种模型驱动的实例代码)。在分层的音频驱动中,驱动程序由MDD和PDD组成,MDD层执行与硬件平台无关的功能,PDD层则是直接与硬件平台相关的操作,而在UnifiedAudio模型中,MDD和PDD的分层是不必要的,图3是UnifiedAudio模型的音频驱动结构。

图3UnifiedAudio模型的音频驱动结构

在这种模型下,音频驱动仍然是以流接口的形式实现,分别实现了WAV-close()、WAV-PowerDown()、WAV-Deinit()、WAV-PowerUp()、WAV-Init()、WAV-Read()、WAV-IOControl()、WAV-Seek()、WAV-Open()、WAV-Write()这几个标准的流接口函数。

DMA缓存区设计与实现

由于音频设备驱动程序设计对设备的实时性要求较高,所以DMA缓存区设计以及合理地利用缓存区加快对音频数据的处理,减少延时变得十分重要。

DMA控制器是使CPU处理与数据总线无关的处理,而由DMA控制器负责数据传输的机制,这种机制使得CPU从繁重的数据传输中解脱出来,可以执行计算,从而提高了系统运行速度。PXA272的DMA控制器提供了32个DMA通道,0~31。这些通道提供了flow-through和flyby的数据传输方式。

在本设计中,使用双缓存区DMA通道设计,如图4所示,当CPU正在处理某一个缓存区数据的同时,DMA控制器可以完成另一个缓存区数据的传输,如此交替下去,则可以提高系统的并行能力,提高的实时性。

双缓存区驱动程序设计当中,以播音为例,新的音频数据在CPU的控制下先写到缓存1中,此时DMA控制器正在处理缓存2的数据传输。当缓存2的数据全部传完之后,会产生一个DMA中断,该中断通知CPU开始往缓存2里写新的音频数据,与此同时,DMA也继续处理缓存1的数据。这样,由于CPU和DMA没有处理同一段DMA缓存区,就减少了资源访问的冲突,并且能够最大程度上保证音频数据不丢失,提高的实时性,也提高了系统的并行能力。

本设计中使用MapDMABuffers()函数实现DMA音频数据缓存区的分配,函数主要实现的功能是:分配接收和发送音频数据的DMA缓存区。

结束语

本文分析了嵌入式操作系统基于TSC2101音频芯片的音频系统实现的基本原理及其驱动程序模型,并结合具体程序重点描述了DMA双缓存区的实现方法和原理。本设计在实际运用中能够满足音频系统的实时性要求,在实际测试中,缓存区大小设置为0x1000(s),位时钟频率为2.,DMA数据传送的数据大小分别在32B、16B、8B的情况下,播放效果均清晰无杂音,达到了预期的效果。

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

美国俄勒冈州比弗顿市 — 2023年6月15日 — 为智能设备和下一代家庭娱乐系统提供沉浸式无线声效技术的领先供应商WiSA Technologies股份有限公司(NASDAQ股票代码:WISA),与领先的多媒体和汽车应...

关键字: 条形音箱 芯片 音频系统

领先的音频行业期刊CE Pro将Platin Audio的最新系统评为年度最佳智能家居产品和技术之一

关键字: WiSA 音频系统

音频放大器产品在产品外观、风格、系统控制和音质方面越来越先进。经验丰富的电子工程师在他们的音频放大器设计中使用了不同类型的电路。

关键字: 音频放大器 音频系统

双射极跟随器或达林顿对通常具有高电流增益系数。电流增益系数应与负侧和正侧的电流放大相匹配,以增加输出级的稳定性。 对于并联晶体管配置,请确保中等功率晶体管处于驱动能力。中功率晶体管的输出电流必须大于大功率晶体管的最...

关键字: 音频放大器 音频系统

摘 要:启动装载程序是嵌入式系统的重要组成部分。文章结合在ARM平台上广泛使用的U-Boot,详细讨论了Boot Loader开发中用到的主要技术,分析引导程序的执行流程,提出了WinCE和Linux在ARM平台下...

关键字: 启动装载程序 U-Boot 嵌入式系统 WinCE Linux

摘 要:火车货运在高速发展的同时,也带来了越来越多的不安全因素,货运物资被盗是铁路货运事故的主要原因之一。 基于此,设计和实现了基于ZigBee和WinCE技术的火车货运防盗预警系统,用于解决站停、待编、待卸和运行途中...

关键字: 火车货运 智能防盗 Zigbee WinCE PDA软件

电源大家都知道,为我们的社会的发展,贡献了很大的能量,现有的所有的电子产品都离不开电源,那么你知道电源管理吗?伴随着移动嵌入式产品的普及,电源管理已经成为重要技术指标和产品的有机组成。典型移动嵌入式设备对能耗越来越敏感,...

关键字: 电源管理 WinCE 有机组成

DVD区域码是由美国八大影业所共同制定的,为了保护各地区电影放映时的权益。   将全世界分成六个区域,并且限定每个区域中流通的DVD光盘必须设定影片区域码。如此一来,每个区域的戏院或家庭使用者就无法

关键字: 音频系统 网络时代 数字影院

ADI今日推出采用SHARC®音频模块(SAM)的完整音频系统,可用于数字音频设备,包括音频FX处理器、多通道音频系统、MIDI合成器,以及其他基于DSP的音频系统。

关键字: 音频总线技术 音频系统 数字音频

    USB音频是绝大多数设备中普遍使用的接口,除非是最古老的个人电脑硬件和操作系统。以其鲁棒性连接和数据传输速率,人们可能会认为,在这种接口上传输高质量的音频是很简单的。然

关键字: 音频系统 usb音频
关闭
关闭