资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
学号 14082202643 成绩 嵌入式应用系统设计课程论文题目 基于 ARM 的音频系统设计 作 者 汪渝 班 级 08-3BF 院 别 信息与通信工程 专 业 电子信息工程 完成时间 2011 年 12 月 15 日 1 概述 1.1 嵌入式系统的技术背景在许多领域中广泛应用的嵌入式计算系统(简称为嵌入式系统),是在更大的电子器件中嵌入的重复完成特定功能的计算系统,它经常不被器件的使用者所识别,但在各种常用的电子器件中能够找到这些嵌入式系统。例如,消费类电子产品中的手机、寻呼机、数字相机、摄像机、录像机、个人数字助理等,家用电器中的微波炉、洗衣机、烤箱、门禁系统、照明系统等,商用装置中的卡片读入器、扫描仪、打印机等。 1.2 数字音频系统的应用数字音频信号是对模拟信号的一种量化,典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化。单位时间内的采样次数称为采样频率。这样一段声波就可以被数字化后变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了。这是ADC(模拟-数字转换)过程。DAC(数字-模拟转换)过程相反,将连续的数字按采样时候的频率顺序转换成对应的电压。 2 系统的硬件设计 2.1 系统设计方案音频 ADC/DAC 通俗一点来讲就是录音(音频 ADC)和放音(音频 DAC) 。放音是数字音频信号转换成模拟音频信号,以推动耳机、功放等模拟音响设备,而录音则是要将麦克风等产生的模拟音频信号转换成数字音频信号,并最终转换成计算机可以处理的通用音频文件格式。2.2 S3C2410 的 IIS 模块S3C2410 的的 IIS 总线简介总线简介IIS 总线是近年出现的一种面向多媒体计算机的音频总线,该总线专责于音频设备之间的数据传输,为数字立体声提供一个序列连接至标准编码解码器。S3C2410 的 IIS 总线接口可以用实现对外部 8/16 位立体声音频数字信号编码解码电路的接口功能。它支持 IIS 总线数据格式和MSB-justified 数据格式。IIS 总线接口为 FIFO 操作提供 DMA 传输模式,代替中断模式,它可以同时传送或接收数据。IIS 模块特性:兼容 IIS,MSB-justified 格式数据每通道 8/16 位数据每通道 16,32,48fs(采样频率)串行时钟可编程的分频器提供给主设备时钟和编解码时钟供给发送和接收用的 32 字节(2X16)的 FIFO正常(Normal)传输模式和 DMA 传输模式2.3 音频芯片 UDA1341UDA1341 是飞利浦公司的一款经济型音频 CODEC,用于实现模拟音频信号的采集(音频 AD)和数字音频信号的模拟输出(DA),并通过 IIS 数字音频接口,实现音频信号的数字化处理。 UDA1341 的 IIS 引脚分别连接到 S3C2410 对应的 IIS 引脚上,音频输入输出(VIN,VOUT)分别和麦克风扬声器连接:UDA1341 的 L3 接口相当于一个 Mixer 控制器接口,可以用来控制输入/输出音频信号的音量大小,低音等。L3 接口的引脚 L3MODE,L3DATA 和L3CLOCK 分别连接到 S3C2410 的 IICSCL,IICSDA 和 GPF6 引脚上。3 系统的软件设计 3.1 软件整体设计 嵌入式 Linux 是一种完全开放且免费的操作系统,其支持多种硬件体系结构, 运行稳定,拥有完善的开发工具,为开发人员提供了优良的开发环境。在嵌入式 Linux 系统中,设备驱动程序提供了应用程序和实际设备之间的一个软件层(接口), 为应用程序屏蔽了硬件细节。本设计中,音频设备驱动程序主要通过对硬件的控制 实现音频流的传输,同时向上层提供标准的音频接口。整个音频驱动程序包括设备 初始化、打开设备、数字音频处理(DPS)驱动、混频器(MIXER)驱动和释放设备等部 分。 3.2 WAV 文件格式WAV 声音格式文件是 Windows 环境下的一种常用音频文件格式,它遵循着一种称为“资源互换文件格式“(Resources lnterchange File Format)的结构,简称 RIFF。RIFF 可以看作是一种树状结构,其基本构成单位为 chunk,犹如树状结构中的节点,每个 chunk 由“辨别码“、“数据大小“及“数据“所组成。WAV 为 WAVEFORM 的缩写。“RIFF“格式辨别码为“WAVE“。整个文件由两个 chunk 所组成:辨别码“fmt“及“data“。 在“fmt”的 chunk 下包含了一个PCMWAVEFORMAT 数据结构,在“fmt” chunk 之后是原始声音的采样数据,这些数据是可以直接送到 IIS 总线的数字音频信号。典型的 WAV 文件结构:它包含 8 字节 RIFF 头、4 字节数据类型“WAVE”、“fmt “chunk(共 0x18 字节)和 “data“ chunk。因此,WAV 文件中从下式中的 sizeoff 开始的四个字节表示声音数据的大小,dataoff 开始的位置为具体的声音数据。sizeoff = 0x8+0x4+0x18+0x4=0x28dataoff = 0x8+0x4+0x18+0x8=0x2C3.3 初始化 UDA1341 模块开始R I FF headerdat a t ypef m t chunkdat a chunk端口初始化地址选择AD 和 DA 增益控制执行录音模式选择Mode1程序: static void Init1341(char mode) /Port Initialize /- / PORT B GROUP /Ports : GPB4 GPB3 GPB2 /Signal : L3CLOCK L3DATA L3MODE /Setting: OUTPUT OUTPUT OUTPUT / 9:8 7:6 5:4 /Binary : 01 , 01 01 /- rGPBDAT = rGPBDAT /启动条件 L3M=H, L3C=H rGPBUP = rGPBUP hdri.dwBufferLength = (sizeBUF_SIZE)?BUF_SIZE:size; size -= BUF_SIZE; i+; *(U16 *)(download_addr+0x14) = fmt.wFormatTag; *(U16 *)(download_addr+0x16) = fmt.nChannels; *(U32 *)(download_addr+0x18) = fmt.nSamplesPerSec; *(U32 *)(download_addr+0x1c) = fmt.nAvgBytesPerSec; *(U16 *)(download_addr+0x20) = fmt.nBlockAlign; *(U16 *)(download_addr+0x22) = fmt.wBitsPerSample; *(U32 *)(download_addr+0x28) = download_len; err = waveInOpen( printf(“nerr = %xn“, err); for(j=0;j0) hdri.lpData = (LPSTR)(download_addr+0x2c+i*BUF_SIZE); hdri.dwBufferLength = (sizeBUF_SIZE)?BUF_SIZE:size; size -= BUF_SIZE; i+; fmt.wFormatTag= WAVE_FORMAT_PCM; fmt.nChannels= *(U16 *)(download_addr+0x16); fmt.nSamplesPerSec = *(U32 *)(download_addr+0x18); fmt.nAvgBytesPerSec= *(U32 *)(download_addr+0x1c); fmt.nBlockAlign= *(U16 *)(download_addr+0x20); fmt.wBitsPerSample = *(U16 *)(download_addr+0x22); printf(“Sample Rate = %d, Channels = %d, %dBitsPerSample, size = %dn“, fmt.nSamplesPerSec, fmt.nChannels, fmt.wBitsPerSample, *(U32 *)(download_addr+0x28); hwo = 0; err = waveOutOpen( printf(“nerr = %xn“, err); for(j=0;j=1000) volume -= 1000; waveOutSetVolume(0, volume); waveOutClose(0);4 总结这次课程设计是对我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,ARM 嵌入式系统已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握嵌入式的开发技术是十分重要的。通过这次设计,我又学习到音频接口、IIS 接口的相关知识,了解到了 ARM 设计的一般方法,更有利于我以后的学习。 参考文献湖南理工学院专业实验辅导资料。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号