嵌入式 音频接口.docx
《嵌入式 音频接口.docx》由会员分享,可在线阅读,更多相关《嵌入式 音频接口.docx(21页珍藏版)》请在三一办公上搜索。
1、音频接口I2S一、实验目的1 .掌握I2S的工作原理。2. 学习.wav格式音频文件播放原理。3 .掌握在ARM开发板上输出PCM数据流的方法。二、实验内容阅读ARM芯片文档,学习I2S工作原理,以及音频文件播放原理。在目标板上 实现音频测试功能,编程实现一段PCM数据流的播放。三、预备知识1. 用ARM ADS1.2集成开发环境,编写和调试程序的基本过程。2. ARM应用程序的框架结构。3. 深入了解IIS BUS工作原理(请阅读芯片手册)。四、实验设备及工具硬件:ARM嵌入式开发板、用于ARM7TDMI的JTAG仿真器、PC机Pentumn100以上 软件:PC机操作系统win98、Win
2、2000或WinXP、ARM ADS1.2集成开发环境、仿真器驱动程序、实验原理及说明五、实验原理1、声音文件的格式Wave文件使用三个参数来表示声音,它们是:采样位数、采样频率和声道数。 在计算机中采样位数一般有8位和16位两种,而采样频率一般有11025HZ (11KHz), 22050HZ (22KHz)、44100Hz (44KHz)三种。我们以单声道为例,则一般WAVE文件 的比特率可达到88K704Kbps。具体介绍如下:(1) WAVE格式是Microsoft公司开发的一种声音文件格式,它符合RIFF (Resource Interchange File Format )文件规范
3、。(2) 用于保存Windows平台的音频信息资源,被Windows平台及其应用程序 所广泛支持。(3) Wave 格式支持 MSADPCM、CCITT A Law、CCITTLaw 和其它压缩算法, 支持多种音频位数、采样频率和声道,是PC机上最为流行的声音文件格式。(4) 但其文件尺寸较大,多用于存储简短的声音片段。(5) 任何wave文件,从字符串data”后开始是4字节的PCM数据长度,接着为 PCM裸数据。wave文件可以用advanced mp3/wma recorder软件生成。对于该软件 生成的441khz,16bit立体声文件,0x36偏移处开始为4字节的PCM数据长度,接着
4、 为PCM裸数据。在本实验中,我们将已除去WAVE文件头的纯PCM数据存放在数组中,编译 后,IIS直接从内存读取PCM数据。2、音频系统原理音频系统设计包括软件设计和硬件设计两方面,在硬件上使用了基于IIS总线 的音频系统体系结构。IIS(Inter-IC Sound bus)又称I2S,是菲利浦公司提出的串 行数字音频总线协议。目前很多音频芯片和MCU都提供了对IIS的支持。本实验针对三星公司的S3C44B0X ARM处理器构造了基于IIS的音频系统扬声器图1音频系统体系结构图1是44BOX芯片与CS4334音频芯片的连接示意图。CS4334音频芯片不支持麦克风采样功能。IIS总线只处理声
5、音数据。其他信号(如控制信号)必须单独传输。为了使芯片 的引出管脚尽可能少,IIS只使用了三根串行总线。这三根线分别是:提供分时复 用功能的数据线、字段选择线(声道选择)、时钟信号线。在三星公司的arm芯片中,为了实现全双工模式,使用了两条串行数据线,分 别作为输入和输出。其IIS接口提供两种数据传输模式: NORMAL模式。此模式基于FIFO寄存器。该模式下CPU将通过轮询方式访问 FIFO寄存器,通过IISCON寄存器的第七位控制FIFOo DMA模式。此模式是一种外部设备控制方式。它使用窃取总线控制权的方法 使外部设备与主存交换数据,从而提高系统的吞吐能力。传输/接收模式。该模式下,II
6、S数据线将通过双通道DMA同时接收和发送 音频数据。本实验使用NORMAL传输模式。NORMAL模式的选择由IISCON寄存器的第六和第 七位控制。设置IIS工作模式由寄存器IISMOD控制。IIS接口其它几个寄存器的设 置详情请参阅芯片手册。通过设置IIS寄存器控制音频设备的初始化,并且初始化设备的工作参数(包括 速度、声道、采样宽度);此外,在对音频操作时还要注意:IIS总线一次采样得到 的数据必须一次处理,否则不能正确播放数据。六、实验步骤(1) 学习上述IIS及音频播放工作原理,了解IIS接口各寄存器的功能和各位 的意义。(2) 流程图:.主函数流程图端口初始化V设CPU主频V串口初始
7、化V调用PCM播放函数TPl ay_Pcni函数流程图初始化枭样地址和采样大小创建一个新工程,并在工程中创建三个文件夹 main, driver, s3c44b0x,并添IISC(JN=OX1;IIS可以开始采样I加以下文件:s3c44b0x : 44bConfig.c 44bInit.s(4) 定义与IIS有关的各个寄存器地址和一些特殊的位命令。主要有以下各寄存器:rllSCON rllSMOD rllSPSR rllSFCON/* IIS */(volatile unsigned *)0x1d18000)(volatile unsigned *)0x1d18004)(*(volatile
8、unsigned *)0x1d18008)(*(volatile unsigned *)0x1d1800c)#define#define#define#define#ifdef _BIG_ENDIAN#define rIISFIF(volatile unsigned short *)0x1d18012)#else /Little Endian#define rIISFIF(volatile unsigned short *)0x1d18010)#endif将上述定义加入到工程中(44b0X.h)。(5) 建立一个包含音频播放函数的库文件(iis.c)将其加入到工程的driver文件 夹中,以及
9、一个*上文件包含PCM音频数组及大小。音频播放函数具体代码见光盘。void Play_Pcm(unsigned char * addr, U32 size);(6) 在主函数中先做串口、CPU主频等的初始化,再调用音频播放函数即可。主 函数按照上面流程图即可写出。将包含主函数的文件加入到工程main文件夹中。(7) 配置编译器,编译工程。打开JTAG调试AXF文件,用ADS调试,直到逻辑无 错误,达到预期实验效果。A、设置头文件的访问路径B、在ARM Linker里设置代码工作地址、数据工作地址。C、在ARM Linker里设置输入段在生成的映像文件中的位置,为了保证程序启动后能从44bini
10、t.s的init标号处开始运行。我们向下图一样设置。DebugRpl SeftingE?actory Setting! Revert IImp or t F:=ltlh1. . . Exp or t FarwL .OK I Cancel IApply七、实验结果将上述程序调试编译通过之后,在开发板上调入.axf文件运行,音箱自动播 放PCM数据音乐。注意播放音频数据格式:pcm数据格式,441KHz,单声道,16位采样.八、思考题1.如何播放WAVE格式的音频文件?2 .尝试播放采样率不同的PCM数据,比较其中差别。实验四、I2C串行通讯实验一、实验目的1 .掌握I2C原理及特点。2 .学习掌
11、握I2C串行通讯传输数据原理及其编程方法。二、实验内容阅读芯片手册,学习掌握I2C串行通讯传输数据原理及其编程方法。三、预备知识1. 用ARM ADS1.2集成开发环境,编写和调试程序的基本过程。2. ARM应用程序的框架结构。3. I2C工作原理四、实验设备及工具硬件:ARM嵌入式开发板、用于ARM7TDMI的JTAG仿真器、PC机Pentumn100以上、串口线软件:PC机操作系统win98、Win2000或WinXP、ARM ADS1.2集成开发环境、仿真 器驱动程序、I2C实验原理及说明五、实验原理1. I2C原理1) 什么是I2C总线:I2C总线由两根线组成,一根串行时钟总线SCL和
12、一根串行数据总线SDA, I2C 总线系统有主控CPU控制,所有的受控元器件(集成电路)都挂接在这条线上,因 此称为总线,电路简洁,可以省去以往CPU的很多I/O引出脚。这种总线可以设计 成很多种通讯配置。SCL线和SDA线都通过上拉电阻接正电源VDD。2) I2C总线的特点:主控CPU与各被控集成电路间实行双向数据通信,即主控CPU可以向被控集成 电路发送数据,被控集成电路也可向主控CPU回传数据,但被控IC是接收还是发送 数据,则由主控CPU控制。这一特点,使得I2C总线不仅可以用于CPU对挂接元器 件各个部分的操作,而且CPU还能够通过I2C总线获取元器件电路中的各种参数, 可以应用在许
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 音频接口
链接地址:https://www.31ppt.com/p-5179237.html