基于ARM9处理器的嵌入式音频系统设计
各个引脚的连接说明如下:
SYSCLK:IIS总线的基本时钟源,AT91RM9200处理器的TCLK3引脚与UDA1341TS芯片的系统时钟相连接。由于UDA1341TS芯片仅支持从模式,因此在所有的应用中系统设备必须提供系统时钟。系统时钟频率是可编程的,其分频率可以是256、384或512倍的采样频率。系统时钟必须在频率上与数字接口信号一致。在设计中笔者用的是256fs的时钟。
WS:字段选择引脚,用于指出现行串行数据采共模电感器样值为左声道还是右声道数据,AT91RM9200处理器的TK0引脚与WS相连接。
BCK:向UDA1341TS提供用作采样逻辑的串行声音位速率时钟,AT91RM9200处理器的TD0引脚与UDA1341TS芯片的BCK引脚相连接。
DATAI,DATAO:用于从UDA1341TS接收、发送串行声音数据,AT91RM9200处理器的RD0,RK0引脚分别对应UDA1341TS的音频输入、输出引脚。
L3M0DE,L3CLOCK,L3DATA:UDA1341TS的L3接口引脚,分别与AT91RM9200的3个通用数据输出引脚PA0、PA1、PA2连接。
5系统软件设计方案
嵌入式Linux是一种完全开放且免费的操作系统,其支持多种硬件体系结构,运行稳定,拥有完善的开电感器生产发工具,为开发人员提供了优良的开发环境[5]。在嵌入式Linux系统中,设备驱动程序提供了应用程序和实际设备之间的一个软件层(接口),为应用程序屏蔽了硬件细节。本设计中,音频设备驱动程序主要通过对硬件的控制实现音频流的传输,同时向上层提供标准的音频接口。整个音频驱动程序包括设备初始化、打开设备、数字音频处理(DSP)驱动、混频器(MIXER)驱动和释放设备等部分。本文由于篇幅的限制,仅介绍扁平型电感设备初始化及打开设备的实现。
设备初始化是整个音频驱动程序的开始部分,主要完成对UDA1341TS音量、采样频率、L3接口等的初始化,并且注册设备。通过函数audio_init(void)完成以下具体功能:AT91RM9200控制端口(PA0、PA1、PA2)的初始化;为UDA1341TS分配DMA通道;初始化UDA1341TS芯片;注册音频audio设备和混频器设备。
以下给出的是该函数总体框架:
audio_init(void)
{
Set_gpio_ctrl(GPIO_L3CLOCK);/*CPU控制端口的初始化*/
……/*“……”表示省略部分代码,以下同*/
Input_stream.dma_ch=DMA_CH1;/*输入DMA通道的选择*/
Output_stream.dma_ch=DMA_CH2;/*输出DMA通道的选择*/
Local_irq_restore(flags);
Ini插件电感器t_UDA1341();/*初始化UDA1341*/
……
/*下面两个函数用来注册音频audio设备和混频器设备*/
Audio_dev_dsp=register_sound_dsp(&at91rm9200_audio_fops,-1);
Audio_dev_mixer=register_ound_mixer(&at91rm9200_mixer_fops,-1);
}
打开设备由函数open()来实现,该函数可以完成以下功能:配置IIS总线接口;设置UDA1341TS声道及采样频率等参数;计算缓冲区大小;为UDA1341TS分配DMA缓冲区。
该音频模块经过正确的配置可以实现录音、放音及循环放音等功能。本文给出初始化IIS接口、测试IIS接口以及运用IIS接口来播放一段音乐的程序设计基本流程,流程图如图3所示。录音和循环播放功能的设计流程与放音类似,这里不再赘述。
图3IIS接口功能测试软件设计流程图
6结论
本文介绍了一种基于IIS总线的嵌入式音频系统,该系统简洁实用,可以实现音频的采集和播放,文章具体讲述了基于ATMEL公司AT91RM9200型微处理器与音频编解码芯片UDA1341TS的硬件连接及嵌入式Linux下音频驱动的实现。当然,这只是本系统的主要组成部分,至于其他相关组成部分如FLASH和SDRAM等,笔者在实际设计中已经完成,由于篇幅关系,文中没有详细介绍。该系统已经在AT91RM9200的开发平台上得到了实现,可以顺利进行音频的采集和播放,并取得了良好的效果。另外,当今实时视频处理和传输技术发展迅速,应用也日益广泛,如视频会议、VOIP电话等等,本设计适当加片式电感以扩展,特别是与视频模块结合,即可应用于更多相关的复杂系统中。
平面变压器厂家 | 平面电感厂家一种多路输出军用车载电源的设计1 引言 本文提到的多路输出军用车载电源是一种输入输出均为低压大电流的双路DC/DC开关电源。输入电压9~15V,输出电压2路:一路24V;一路5V。24V输出又同时供给三路负载;输入电压又直接供给两
E-book—— 电子书电源的设计技巧电子书无疑是目前便携电子市场最热门的应用,那么电子书的最大竞争力和卖点是什么呢?电子书的电源设计应该注意什么?电子书的屏幕如何实现与众不同呢?怎样实现电子书的超长待机时间呢?今天,我就这几个问题和大家
基于单片机技术的自动定量水温控制器的设计方案1.1 液位传感器的选择自制传感器是利用金属导体与水本身的导电特性而制成的。它可以认为的将它防止任何位置都能采集到数据,不存在盲区的问题,而且非常利于对装置的扩展。并且成本比较低。1.2 温度传感器的