欢迎来到天天文库
浏览记录
ID:49533503
大小:1.93 MB
页数:22页
时间:2020-02-07
《【I2S】LPC1700系列Cortex-M3_ZLG.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、集成电路内置音频总线(I2S)LPC1700系列Cortex-M3微控制器目录I2S简介12I2S工作原理3I2S基本操作4I2S之DMA集成电路内置音频总线(I2S——InterICSound)是嵌入式系统领域常用的音频总线之一,为数字音频应用提供了一种标准的数字通信接口。I2S接口可适用于多种场合,例如:数字电视、功放、迷你播放器、笔记本、CD机、视频设备等。I2S功能应用I2S引脚描述I2S是一种3线串行总线。含有1根数据线、1根时钟线和1根字选择信号线。基本的I2S系统具有一个主机和一个从机。I2S提供了彼此独立的发
2、送和接收通道,每个通道都可配置为主机或从机,而且无论在主机还是从机模式下均可独立控制。I2S发送器TX_SCKTX_WSTX_SDAI2S接收器RX_SCKRX_WSRX_SDA数据线时钟线字选择信号线I2S通道操作模式发送器(主机)接收器(从机)SCK:串行时钟WS:字选择SDA:串行数据发送器(从机)接收器(主机)SCK:串行时钟WS:字选择SDA:串行数据发送器(从机)接收器(从机)SCK:串行时钟WS:字选择SDA:串行数据控制器(主机)三种通道操作模式I2S特性LPC1700系列Cortex-M3的I2S具备如下特
3、性:彼此独立的输入和输出通道能处理8、16、32位的数据字支持两种音频数据的传输—单声道—立体声道支持采样频率范围为16KHz~96KHz的数据传输(16、22.05、32、44.1、48、96KHz)提供两个8字(32位)FIFO数据缓冲区—I2STXFIFO:用于发送—I2SRXFIFO:用于接收当缓冲区达到预设触发深度时产生中断请求两个DMA请求有可编程的触发深度控制且连接到通用DMA模块分别提供用于发送/接收通道的主机时钟输出可对I2S输入和I2S输出通道分别执行复位、停止和静音操作主机模式下,字选择周期可配置注可提
4、供主机时钟输出目录I2S简介12I2S工作原理3I2S基本操作4I2S之DMAI2S数据传输时序SCKWSSDAMSBLSB字n-1右声道字n左声道字n+1右声道MSB第二个下降沿开始数据传输优先传输高位采样周期LPC1700系列Cortex-M3支持I2S标准的数据传输时序。时序有以下特点:1、优先传输MSB;2、WS上的电平改变后,数据在发送时钟的下一个下降沿开始传输。立体声模式下,WS为低时发送左声道数据,为高时发送右声道数据。单声道模式下,WS为低时发送一次,WS为高时再发送一次。数据发送、接收过程I2STXFIFO
5、8字的发送FIFO发送移位寄存器I2STX_SDA在发送数据过程中,发送的数据首先保存到发送FIFO中,发送移位寄存器会从发送FIFO中获取数据,并通过I2STX_SDA引脚发送出去。DATA写入到FIFO数据流I2S接口含有一个8字的接收FIFO,用来作为接收缓冲区,缓冲区中的数据只能够通过寄存器I2SRXFIFO来获取,I2SRXFIFO8字的接收FIFO接收移位寄存器I2SRX_SDA数据流DATAI2S发送/接收FIFO的操作与UART、SSP等发送/接收FIFO操作一样,数据与串行时序之间通过移位寄存器转换。I2S
6、数据发送多个数据字发送按照先低后高,较低地址的数据字先发送的原则。在数据字内部按照先高后低,较高地址的数据位先发送的原则。0x120x340x560x78先发送低地址数据字00010010先发送数据字的高位785634127~015~824~1631~25例如数据的存储形式如下:利用广州致远电子有限公司开发的逻辑分析仪LA2532抓取数据传输过程如下:目录I2S简介12I2S工作原理3I2S基本操作4I2S之DMAI2S基本操作LPC1700系列Cortex-M3微控制器的I2S基本操作可分为以下五个步骤:设置位速率设置I2
7、S工作模式发送或接收数据设置I/O连接到I2S设置主时钟频率12345设置主时钟频率发送/接收主时钟速率TX_MCLK/RX_MCLK利用小数波特率发生器把PCLK经过分频得来。T/RX_MCLK=FPCLK×(X/Y)/2小数波特率发生器分频FPCLKTX_MCLK主时钟频率设置为:24M×(8/31)/2=3.097MHzI2STXRATE=0x081F;/*X、Y分别为I2STXRATE的Bit8~Bit15,Bit0~Bit7*/I2S分频器在FPCLK大于74MHz时不能正常工作。X,Y设置为0时停止主时钟。设置位
8、速率位速率是指:I2S总线上传输一个数据位所需要的时间。该时间和I2S_CLK周期相等。位速率=采样率×音频数据位数×N例如:立体声、48KHz采样率的16位数据的需要位速率I2S_bitrate=48KHz×16×2=1.536MHzI2STXBITRATE=0x01;/*I2STXBI
此文档下载收益归作者所有