i2s协议,I2s协议24bit和16bit兼容
本作品内容为i2s协议,格式为 docx ,大小 34489 KB ,页数为 21页
('第1页共21页竭诚为您提供优质文档/双击可除i2s协议篇一:i2s音频通信协议i2s音频通信协议i2s有3个主要信号:1.串行时钟sclk,也叫位时钟(bclk),即对应数字音频的每一位数据,sclk都有1个脉冲。sclk的频率=2×采样频率×采样位数2.帧时钟lRck,用于切换左右声道的数据。lRck为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。lRck的频率等于采样频率。第2页共21页3.串行数据sdata,就是用二进制补码表示的音频数据。i2s(inter-icsoundbus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。在飞利浦公司的i2s标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。有时为了使系统间能够更好地同步,还需要另外传输一个信号mclk,称为主时钟,也叫系统时钟(sysclock),是采样频率的256倍或384倍。三种信号的概略图如下:i2s格式的信号无论有多少位有效数据,数据的最高位总是出现在lRck变化(也就是一帧开始)后的第2个sclk脉冲处(如上)。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错第3页共21页位。随着技术的发展,在统一的i2s接口下,出现了多种不同的数据格式。根据sdata数据相对于lRck和sclk的位置不同,分为左对齐(较少使用)、i2s格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。这些格式如上说描述,综上为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对i2s格式来说数据长度可以不同。篇二:i2s协议psoccreator组件数据手册串行数字音频总线(i2s)2.20特性仅用于主控每次采样8到32数据位16、32、48或64位字选择周期数据速率高达96khz,64位字选择周期:6.144mhztx和RxFiFo中断dma支持独立的左右声道FiFo+3第4页共21页或交错立体声FiFo独立启用Rx和tx8/+概述串行数字音频总线(i2s)是用于将数字音频器件连接在一起的串行总线接口标准。此规范来自于philipssemiconductor(i2s总线规范;1986年2月,修订时间为1996年6月5日)。i2s组件仅在主控模式下运行。它还可在两个方向上运行:作为发射器(tx)和接收器(Rx)。tx和Rx的数据是独立的字节流。字节流首先包含最高有效字节,并且第一个字的第7位中存放最高有效位。用于每次采样的字节数(左/右声道的采样)是保持样品所需的最少字节数。何时使用i2s组件为立体声音频数据提供串行总线接口。此接口是音频adc和dac组件最常用的接口。cypresssemiconductorcorporation第5页共21页documentnumber:001-79534Rev.198championcourtsanjose,ca95134-1709408-943-2600Revisedmay23,20xx串行数字音频总线(i2s)psoccreator组件数据表输入/输出连接本节介绍i2s组件的各种输入和输出连接。i/o列表中的星号()表示,在i/o说明中列出的情况下,该i/o可能不可见。sdi—输入串行数据输入。如果您针对direction(方向)参数选择了一个Rx选项,则显示此信息。如果此信号连接到输入引脚,则应禁用此引脚的“inputsynchronized”(同步输入)选择。此信号应已同步到sck,所以,用输入引脚同步器延迟信号第6页共21页会导致信号移入下一个时钟周期中。时钟—输入提供的时钟频率必须是输出串行时钟(sck)所需时钟频率的两倍。例如,要产生64位字选择周期的48khz音频,时钟频率应为:2×48khz×64=6.144mhzsdo—输出串行数据输出。如果您针对direction(方向)参数选择了一个tx选项,则显示此信息。sck—输出输出串行时钟。ws—输出字选择输出指示要传输的通道。rx_interrupt—输出Rx方向中断。如果您针对direction(方向)参数选择了一个Rx选项,则显示此信息。第7页共21页tx_interrupt—输出tx方向中断。如果您针对direction(方向)参数选择了一个tx选项,则显示此信息。rx_dma0—输出Rx方向dma请求FiFo0(左侧或交错)。如果选择了dmaRequest(dma请求)参数下的Rxdma,则显示此信息。page2of24documentnumber:001-79534Rev.串行数字音频总线(i2s)psoccreator组件数据表rx_dma1—输出Rx方向dma请求FiFo1(右侧)。如果针对Rx选择了dmaRequest(dma请求)参数下的Rxdma和datainterleaving(数据交错)参数下的separatedl/R(单独的l/R),则显示此信息。tx_dma0—输出第8页共21页tx方向dma请求FiFo0(左侧或交错)。如果选择了dmaRequest(dma请求)参数下的txdma,则显示此信息。tx_dma1—输出tx方向dma请求FiFo1(右侧)。如果针对tx选择了dmaRequest(dma请求)参数下的txdma和datainterleaving(数据交错)参数下的separatedl/R(单独的l/R),则显示此信息。原理图宏信息默认情况下,psoccreator组件目录为i2s组件提供了三个原理图宏实现。这些宏包含已连接到数字引脚组件的i2s组件。取消选择了sdi引脚上的“inputsynchronized”(同步输入)选项,并关闭所有引脚的api生成。原理图宏使用仅针对Rx/tx/Rx和tx方向配置的i2s组件,如下图中所示。仅i2sRx第9页共21页仅i2stxdocumentnumber:001-79534Rev.page3of24串行数字音频总线(i2s)psoccreator组件数据表i2sRx和tx元件参数将i2s组件拖放到您的设计上,双击它以打开configure(配置)对话框。该对话框有两个选项卡,可引导您完成i2s组件的设置过程。“basic”(基本)选项卡page4of24documentnumber:001-79534Rev.串行数字音频总线(i2s)psoccreator组件数据表方向确定组件运行的方向。此值可设为Rxonly(仅第10页共21页Rx)、txonly(仅tx)或Rxandtx(Rx和tx)(默认值)。databits(数据位)确定为各个样品配置的数据位数(硬件编译)。该值可以设置为8到32。默认设置为16。wordselectperiod(字选择周期)定义左右声道的完整样品的周期。此值可设为:16、32(默认值)、48或64。“高级”选项卡datainterleaving(数据交错)(i2s协议)允许您选择数据是interleaved(交错)(默认值)还是separatel/R(单独l/R)。可单独选择Rx和tx。dmaRequest(dma请求)允许您启用和禁用组件的dma请求信号。可单独设置第11页共21页Rx和tx。这些选项默认启用。documentnumber:001-79534Rev.page5of24篇三:i2s协议在fpga中实现基于Fpga和ad1836的i2s接口设计技术分类:可编程器件20xx-08-22周伟王慧梅引言ad1836是adi公司新推出的一款高性能的单片声码器,适用于数字音频系统。它采用5V供电,数字接口输入输出电平为lVttl电平,可以直接和一般的Fpga连接。ad1836集成了3路立体的d/a和两路立体的a/d,参考电压为2.25V,为了降低信号的干扰,模拟信号的输入输出均采用差分的形式,输入输出模拟信号的最大峰峰值为5.6V。系统时钟为12.288mhz,数据采样率最高为96khz,第12页共21页采样位数最高为24位,可以通过spi口方便地对内部功能寄存器进行配置,从而选择相应的功能,例如:时钟、工作模式、采样率、采样位数、工作a/d和d/a的路数等选择。其中a/d和d/a的数字接口可以配置为i2si2s接口的设计。i2s总线协议简介i2s(intericsoundbus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,它既规定了硬件接口规范,也规定了数字音频数据的格式。i2s有三个主要的信号:(1)串行时钟bclk,也叫位时钟,即对应于数字音频的每一位数据,bclk都有一个脉冲。bclk的频率=2×采样率×采样位数。(2)帧时钟lRclk,用于切换左右声道的数据。lRclk为“1”表示正在传输的是右声道的数据,为“0”则表示第13页共21页正在传输的是左声道的数据。lRclk的频率等于采样频率。(3)串行数据sdata,就是用二进制补码表示的音频数据。有时为了使系统能够更好的同步,还需要另外传输一个信号mclk,称为主时钟,也叫系统时钟,是采样频率的256倍或384倍。典型的i2s接口时序如图1所示,对于系统而言,产生bclk和lRclk信号的信号端是主设备。i2s的数据线用于串行数据,当lRclk变化(也就是左右通道的数据切换),在第二个blck处数据开始,按照高位在先低位在后的顺序进行传输。数据在bclk的下降沿改变,在bclk的上升沿进行数据的采样。因此,在bclk的上升沿处数据必须是稳定的,接收端和发送端处理的有效数据的位数可以不同:如果接收端可处理的有效数据的位数多于发送端,将不足的数据位用0补足;反之,则将多余的数据位舍弃。接口模式,本文主要以ad1836中的d/a为例介绍第14页共21页i2s接口硬件设计本设计采用altera公司的stratix系列的Fpga,ep1s10672i7来实现ad1836中d/a的i2s接口设计。该芯片内核电压为1.5V,i/o电压为3.3V,符合ad1836数字接口输入输出电平要求,其中d/a部分的i2s接口硬件设计原理图如图2所示。本设计中,将ad1836采样时钟设置为48khz,采样位数为24位。从ad1836数据手册可知,其系统时钟(mclk)为12.288mhz,左右通道数据切换时钟(lRclk)等于采样时钟(48khz),数据位时钟(dbclk)为64×左右通道数据切换时钟(3.072mhz)。所以串行数据线上传输的是24位的有效数据,其余数据位时钟周期对应的数据线上的数据为0,串行数据线dsdata1、dsdata2、dsdata3分别对应于三路的立体d/a,所有的时钟线和数据线均经过下拉电阻后与Fpga的i/o相连。第15页共21页基于Fpga的实现逻辑模块设计Fpga内部逻辑模块主要包括分频模块和d_a接口模块,如图3所示。其中分频模块将ad1836的系统时钟12.288mhz分频为3.072mhz(即位时钟bclk);start信号为模块使能信号,为高时,d_a接口模块将从datin引脚输入的24位并行数据转换为串行数据,从datout引脚输出;当左右通道时钟切换时,输入的24位并行数据也相应改变,同时从lRclk引脚输出48khz的左右通道数据切换时钟,从bclk引脚输出3.072mhz的位时钟信号。lRclk和bclk都是在ad1836的系统时钟(mclk)的基础上分频得到的,从而保证了整个系统的同步性。点击看原图软件设计所有软件的设计是在quartusⅡ6.0中采用Veriloghdl第16页共21页语言输入完成的,系统采用10mhz的有源晶振,通过Fpga内部的锁相环进行二级倍频从而得到12.288mhz的时钟信号,然后通过clkin_12_288m引脚送入分频模块。主要的程序如下:分频模块modulefreq3_027m(clkin12_288m,clkout3_027m);inputclkin12_288m;//时钟输入引脚outputclkout3_027m;//时钟输出引脚regclkout3_027m;//分频计数器integercunt;always@(posedgeclkin12_288m)begincunt=cunt+1;if(cuntbeginclkout3_027m=1b0;endelseif((cuntelsebegincunt="0";clkout3_027m=1b0;end第17页共21页endendmoduled_a接口模块(1)左右通道切换时钟和数据位时钟assignlRclkout=lR_f;//左右通道切换时钟assignbclkout=(bclk_f)bclkin:1b1;//数据位时钟(2)时钟输出和数据的并串转换always@(negedgebclkin)beginif(start)begin//使能信号为高cunt=cunt+1;case(cunt)1:beginlR_f=~lR_f;//左右通道时钟bclk_f=1b1;end//送出位数据时钟2:datout="ddsdatin"[23];//送出最高位3:datout="ddsdatin"[22];//送出次高位第18页共21页4:datout="ddsdatin"[21];5:datout="ddsdatin"[20];6:datout="ddsdatin"[19];7:datout="ddsdatin"[18];8:datout="ddsdatin"[17];9:datout="ddsdatin"[16];10:datout="ddsdatin"[15];11:datout="ddsdatin"[14];12:datout="ddsdatin"[13];13:datout="ddsdatin"[12];14:datout="ddsdatin"[11];15:datout="ddsdatin"[10];16:datout="ddsdatin"[9];17:datout="ddsdatin"[8];18:datout="ddsdatin"[7];第19页共21页19:datout="ddsdatin"[6];20:datout="ddsdatin"[5];21:datout="ddsdatin"[4];22:datout="ddsdatin"[3];23:datout="ddsdatin"[2];24:datout="ddsdatin"[1];25:datout="ddsdatin"[0];//数据已经发送完毕26:datout="0";//剩余的数据送027:datout="0";28:datout="0";29:datout="0";30:datout="0";31:datout="0";32:datout="0";default:datout=1bz;第20页共21页endcaseend软件仿真模块的仿真也是在软件quartusⅡ6.0中实现的,仿真波形如图4所示。为了便于仿真,在24位的并行数据输入口输入十六进制的常数ab15F7h,此时送入左右通道的数据是相同的。从仿真波形中可以看出,当start信号高有效后,位数据时钟和左右通道数据切换时钟送出,将并行的24位数据ab15F7h从数据线上串行送出,在多余的位数据时钟处数据线上的数据为0,仿真结果与i2s接口时序图相符合。点击看原图结束语本文以Fpga为控制单元,完成了ad1836中d/a部分的i2s接口设计,它在数字音频系统的设计中有一定的参考和第21页共21页实用价值。该设计已经成功运用在某话路特性综合测试系统中,性能良好。',)
提供i2s协议,I2s协议24bit和16bit兼容会员下载,编号:1700665967,格式为 docx,文件大小为21页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。