嵌入式 音频接口

上传人:lis****211 文档编号:187958925 上传时间:2023-02-16 格式:DOCX 页数:21 大小:749.49KB
收藏 版权申诉 举报 下载
嵌入式 音频接口_第1页
第1页 / 共21页
嵌入式 音频接口_第2页
第2页 / 共21页
嵌入式 音频接口_第3页
第3页 / 共21页
资源描述:

《嵌入式 音频接口》由会员分享,可在线阅读,更多相关《嵌入式 音频接口(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总线获取元器件电路中的各种参数, 可以应用在许

13、多电器上真正实现智能化的双向控制。I2C总线的串行数据传送与一般UART的串行数据传送无论从接口电气特性、传 送状态管理以及程序编制特点都有很大不同,了解这些特点十分重要。(1) 二线传输。C总线上所有的节点,如主器件(单片机、微处理器)、外围器 件、接口模块等都连到同名端的SDA、SCL上。(2) 系统中有多个主器件时,这些器件都可作总线的主控制器(无中心主机), I2C总线工作时任何一个主器件都可成为主控制器,多机竞争时的时钟同步与总线仲 裁都由硬件与标准软件模块自动完成,无须用户介入。(3) I2C总线传输时,采用状态码的管理方法。对应于总线数据传输时的任何一 种状态,在状态寄存器中会出

14、现相应的状态码,并且会自动进入相应的状态处理程 序中进行自动处理,无须用户介入,用户只须将Philips公司提供的标准状态处理 程序装入程序存储器一定的空间即可。(4) 系统中所有外围器件及模块采用器件地址及引脚地址的编址方法。系统中 主控制器对任何节点的寻址采用纯软件寻址方法,避免了片选线的线连接方法。系 统中若有地址编码冲突可通过改变地址引脚的电平设置来解决。(5) 所有带I2C接口的外围器件都具有应答功能。片内有多个单元地址时,数 据读、写时都有地址自动加1功能。这样,在I2C总线对某一器件读写多个字节时 很容易实现自动操作,即准备好读、写入口条件后,只须启动I2C总线就可自动完 成n个

15、字节的读、写操作。(6) I2C总线电气接口为开漏晶体管组成,开路输出没有连到电源的钳位二极 管,而连到I2C总线的每个器件上,其自身的电源可以独立(但须共地),总线上各 个节点可在系统带电情况下接入或撤出。3) I2C总线的数据结构形式:使用串行数据传输方式,数据的第一部分为传送起始信号;第二部分为受控电 路的地址;第三部分是读/写位,它指出被控的工作方式是接收还是发送;第四 部分为传送的数据。I2C数据传送格式的特点:1 .无论何种方式起始、停止,寻址字节都由主控器发送,数据字节的传送方向 则遵循寻址字节中方向位的规定。2. 寻址字节只表明器件地址及传送方向,器件内部的n个数据地址由器件设

16、计 者在该器件的PC总线数据操作格式中指定第一个数据字节作为器件内的单元地址 (SUBADR)数据,并且设置地址自动加减功能,以减少单元地址寻址操作。3 .每个字节传送都必须有应答信号相随。4. I2C总线被控器在接收到起始信号后都必须复位它们的总线逻辑,以便对将 要开始的被控器地址的传送进行预处理。4) 数据传送过程:在I2C总线上挂接的所有被控IC都有一个自己的地址,CPU在发送数据时,I2C 总线上的所有被控IC都会将CPU发出的位于起始信号后面的地址与自己的地址相比 较,如果两者相同,则该被控IC认为自己被CPU选中,然后按照读/写位规定的工 作方式接收或发送数据。IIC总线数据传送的

17、起始与停止:I2C总线数据传送时有两种时序状态被分别定义为 起始信号和终止信号,如图8.1所示。SDA -一 / j SCL . s| /: P;起羸1言号航信号图8.1 I2C总线的起始信号和终止信号起始信号:在时钟线保持高电平期间,数据线出现由高电平向低电平变化时启动DC总线,为DC总线的起始信号。终止信号:在时钟线保持高电平期间,数据线上出现由低到高的电干变化时将 停止C总线的数据传送,为I2C总线的终止信号。起始信号与终止信号都是由主控制器产生。总线上带有DC总线接口的器件很容易检测到这些信号。I2C总线上传送的每一个字节均为8位,但每启动一次I2C总线,其后的数据传 输字节数是没有限

18、制的。每传送一个字节后都必须跟随一个应答位,并且首先发送 的数据位为最高位,在全部数据传送结束后主控制器发送终止信号,如图8.2所示。 I-MSBSDA接收器传出确认宿号字节传送完成接收器内产生中断信号接收器传由1确认信刀SCL9ACK当处理中断服务时时钟线保持低9ACKLSJ起始信号Lp_.l终正信号图8.2 I2C总线上的数据传送2.S3C44B0X开发板上的I2C原理S3C44B0X RISC微处理器能够支持多主控的IIC总线接口。要对多主控的IIC总线进行操作, 就必须对以下几个寄存器进行赋值:多主控IIC总线控制寄存器一IICCON多主控IIC总线控制/状态寄存器一IICSTAT多主

19、控IIC总线读/写数据移位寄存器一IICDS多主控IIC总线地址寄存器一IICADD起始与停止信号都由主控设备来产生。在起始条件初始化后,第一个数据字节的一个7位的 地址值被放到总线上,这个地址值可以决定是哪个受控设备被选中了。第8位决定了数据传输的 方向(读或写)。每一个被放到SDA串线数据线上的数据都必须是8位的字节。数据传输可以是无限多个字节。每个字节的传输都有应答信号产生。要从数据位的最高位开始发送,在全部数据传送结束后主控制器发送终止信号。SDAData BusSCL 0X_XX)0IICADDBitDescriptionInitial StateSlave address7:07-

20、bit slave address, latched from the IlC-bus:When serial output enabled in the IICSTAT, IICADD is write- enabled. The IICADD value can be read any time, regardless of the current serial output enable (IICSTAT) setting.Slave address = 7:1Not mapped = 0xxxx_xxxxIICDS寄存器设置(IIC-BUS TRANSMIT/RECEIVE DATA

21、SHIFT REGISTER - IICDS )RegisterAddressR/WDescriptionReset ValueIICDSX01D6000CR/WIIC-Bus IransmilTeceive data shift registerXXXX_XXXXIICDSBitDescriptionInitial StateData shiftE&-bit data shift regiszer for I IO-bus Tx.Rx o Deration:When serial ou:put enable = 1 in the IICSTAT. IICDS is write-enabled

22、. The IICDS value can read any:ime; regardless of:he current serial output enable bit (IICSTAT settingXXXX_XXXX六、实验步骤(1) 学习上述实验原理,了解ARM上相应寄存器的功能和各位的意义。(2) 流程图:/IIC#define#define#define#definerIICCON rllCSTAT rllCADD rllCDS(volatile(volatile(volatile(volatileunsignedunsignedunsignedunsigned*)0x1d6000

23、0)*)0x1d60004)*)0x1d60008)*)0x1d6000c)将上述定义加入到工程中(44b0X.h)。(5) 在上面的文件中添加下面的执行函数,并且建立一个库文件iic.c),将其加 入到工程的driver文件夹中。函数主要为如下几个:void Wr24C040(U32 slvAddr,U32 addr,U8 data) ; / IIc 总线向某一地址写数据功能。void Rd24C040(U32 slvAddr,U32 addr,U8 *data) ; / IIc 总线向某一地址读数据功能。(6) 主函数及中断处理函数即按上面流程图编写代码即可,并将包含主函数的文件 添加到工

24、程的main文件夹中。注:本实验中通过I2C总线在CPU和E2PROMN间发送/接收数据的,发送时,CPU作为主发送设 备,E2PROM作为接收。接收时,CPU作为主接收设备,E2PROM作为发送。(7)配置编译器,编译工程。打开JTAG调试AXF文件,用ADS调试,直到逻辑无 错误,达到预期实验效果。A、设置头文件的访问路径B、在ARM Linker里设置代码工作地址、数据工作地址。;ODebugRel SettingsOKCancel IApplyC、在ARM Linker里设置输入段在生成的映像文件中的位置,为了保证程序启 动后能从44binit.s的init标号处开始运行。我们向下图一样设置。七、当工程编译通过执行时,就会在串口调试助手的显示区显示:IIC总写0到255数据到 KS24C080。然后等待接收键盘输入字符r :实验结果如接收到,则开始MKS24C080进行读取数据存入到数组中,并从串口读出数组中的数据

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!