曾 宪 新疆新闻出版广电总局喀什6503台 844000
基于IIS总线的嵌入式音频系统的设计
曾 宪 新疆新闻出版广电总局喀什6503台 844000
【文章摘要】
音频系统在嵌入式领域中的应用较为广泛,各种嵌入式产品对音频系统的要求也各不相同。本文首先对基于IIS总线的嵌入式数字音频系统的处理器、解码芯片等软硬件方案进行了总体论述。然后分别对其硬件包括电路等以及对软件包括音频信号的转换、存储等功能的实现进行了论述。
【关键词】
IIS总线;嵌入式音频系统;设计
嵌入式系统是现代多个学科进行融合的产物。它将计算机技术作为系统研发和运行的基础,并通过对通信技术的应用,再从中加入各种传感器以及网络连接技术,从而使得嵌入式系统的环境适用性较强。而且这种系统没有多余的软件,硬件方面也不存在无用的存储器,因此具有成本较低、体积较小、能耗较小且可靠性较高的优势。嵌入式系统是一种技术密集型系统,且技术及产品的更新速度较快,会随着计算机技术的不断发展而进行改进。
本硬件系统的主要组成部分有电源电路、配置电路、复位电路、串行通讯接口等。其中电源电路分别为5V—2.5V和5V—3.3V的转换器,作用是向芯片外部和内部进行供电;复位电路的作用是使得系统上的电复位以及在系统上工作时用户的按键复位;晶振电路是为系统工作提供时钟;FLASH存储器的作用是在系统断电后对用户的应用程序等信息进行存储;音频接口的作用是使系统具备进行音频输出或输入的功能;JTAG调试接口的作用是访问芯片内部的所有部件并对系统的软硬件进行调试以及编程等等。当然,由于S3C44BOX的多数接口是物理复用的,因此上面所提到的有些I/O功能无法同时使用,要通过使用寄存器来对功能进行分配。
2.1IIS总线概述
IIS,英文为Integrate InteRFace of Sound,也就是集成音频接口。它被飞利浦公司首次应用于消费产品的音频设备当中。它在LRCLK信号机制中被进行多路转换,然后将两种音频信号合成一种数据队列。当LRCLK高于高状态时,左声道的数据被传输,反之则是右声道的数据传输。当然,这种高低与声道的对应是可以自定义的,因此可可以颠倒过来。如果是多通道系统,那么在信号机制相同时,也可以实现同时执行好几个数据队列。因为IIS、PCM以及类似的音频接口没有寄存器入口,因此必须设计独立的控制接口。
2.2IIS音频驱动的实现形式
音频驱动主要包括MDD/PDD、Wavedev2以及UAM三种模式。三种模式之间的共同点是接口相同,皆为流驱动,通过流接口与上层的waveapi.dll交互。其中第一种模式是最早的,也是最为常见的分层模式,而对支持mixer硬件的音频设备来说,第三种模式最为恰当。
2.3芯片设计
UDA1341芯片是一种较为经济的音频CODEC,它的主要作用是对模拟音频信号进行采集,并对数字音频信号进行模拟输出,而且还能对音频信号进行数字化处理。此芯片具有耗能小、电压低、保真强、动态范围宽以及不易失真的优势,适用于笔记本电脑、数字摄像机以及其他家庭袖珍多媒体立体声音响设备。
2.4音频软件的设计
上述所提到的UDA1341芯片采用的是微控制器输入模式。在这种模式中,是通过L3总线对所有的数字音频和系统进行控制的。而它和微控制器之间进行信息交换所依赖的是一个L3硬件接口。这一硬件接口的引脚包括L3DATA、3DA ODE以及L3CLOCK。L3进行控制的实质就是向UDA1341写数据。具体过程包括两个步骤,一是在根据地址模式选择设备的同时指明之后的数据所要发送到的寄存器的具体类型,二是在数据传输的模式下传送一个八位的字节。
2.5基于IIS总线的嵌入式音频系统的软件设计
本软件的基本流程是开始——清终端——系统端口进行初始化——IIS相应的端口进行初始化——UDA1341初始化——录音——播放——IIS结束——程序结束。
本系统的音频采样规格为系统主时钟为44.1Hz,采样精度为16bit。本系统经过正确配置,能够完成录音、播放和循环播放。本系统的音频数据传输非常简单,因此不多做介绍,只对IIS模块和UDA1341芯片的正确配置进行论述。由于嵌入式系统的硬件设备较多,而且并没有PC中非常标准的体系结构,因此必须为其编写控制音频数据在硬件中流动并为音频应用提供标准接口的驱动程序,且在设计过程中要对系统资源进行合理分配。驱动程序需要完成的任务主要有对设备以及对应的资源进行初始化以及释放,对应用程序传输给设备文件的数据进行读取而且对应用程序的请求进行回送。在这种情况下,需要在用户空间、内核空间、总线以及外设之间进行数据传输。
在驱动程序的设计过程中,最为复杂的部分是DMA缓存区和内存管理部分。原因是音频设备对实时性的要求较高,因此必须通过合理使用内存的方式提高音频数据的处理速度。在部分控制器内,并没有内置DMA的存储区域,因此必须在驱动程序中为音频设备分配DMA缓存区。这样的话就能将需要回放以及录制的声音数据通过DMA存放在DMA缓存区中。
综上所述,基于IIS总线的嵌入式音频系统能够实现播放、录音、循环播放以及对音量进行调节的功能。此外,还能实现对功能进行扩充,例如进行外部中断,使得系统可以有选择的进行录音以及播放。而且,本系统还能被应用于较为大型的系统设计中,例如嵌入式网络音频信号处理以及嵌入式网络视频信号处理等等,在其中作为一个子系统。总体来说,基于IIS总线的嵌入式音频系统设计具有非常广阔的发展前景、应用前景和研究价值。
【参考文献】
[1]米韶华,康东,杨小峰等.S3C2440嵌入式音频系统设计与实现[J].中国测试,2010,(2).
[2]王兴,牟卫华,王飞雪等.基于S3C2442B 和WinCE的嵌入式导航音频系统的优化设计与实现[J].全球定位系统,2011,(4).
[3]吴杨希,欧青立,朱剑等.基于WINCE和S3C2440A的嵌入式音频系统[J].应用科技,2011,(10).
[4]丁勇,周余,都思丹等.基于Linux 2.6的嵌入式ASoC架构音频驱动研究与实现[J].计算机应用与软件,2010,(4).
[5]凯文,克洛斯,吴成彬.QSC新一代网络音频系统Q-SysTM网络协议Q-LAN详述[J].电声技术.2011,35(3)∶ 69-75.
【作者简介】
曾宪,女,1968年1月13日出生,四川省内江县人,毕业于1988年7月新疆电大喀什分校劳动经济管理专业,目前6503台机房工作中级工程师