I2S接口规范

上传人:伴*** 文档编号:242865398 上传时间:2024-09-10 格式:PPT 页数:35 大小:539KB
返回 下载 相关 举报
I2S接口规范_第1页
第1页 / 共35页
I2S接口规范_第2页
第2页 / 共35页
I2S接口规范_第3页
第3页 / 共35页
点击查看更多>>
资源描述
S3C44B0X I,2,S,总线接口功能及应用开发,方 欣,SC06002017,汪 涛,SC06002051,43,组:,内容结构,I,2,S,总线概述,I,2,S,总线规范,I,2,S,总线结构配置,S3C44B0X,I,2,S,总线概述,S3C44B0X,I,2,S,总线特性,S3C44B0X,I,2,S,总线结构,S3C44B0X,I,2,S,接口工作模式,S3C44B0X,I,2,S,音频数据格式,S3C44B0X,I,2,S,接口特殊功能寄存器,嵌入式音频系统应用,I,2,S,总线概述,音响数据的采集、处理和传输是多媒体技术的重要,组成部分。众多的数字音频系统已经进入消费市场,例,如数字音频录音带、数字声音处理器。对于设备和生产,厂家来说,标准化的信息传输结构可以,提高系统的适应,性,。,I,2,S(InterIC Sound),总线是飞利浦公司为,数字音频,设备之间的音频数据传输,而制定的一种总线标准,该总,线专责于音频设备之间的数据传输,广泛应用于各种多,媒体系统。,I,2,S,总线规范,I2S,总线拥有三条数据信号线:,SCK: (,continuous serial cloc,k),串行时钟,对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2采样频率采样位数,。,WS: (word select),字段(声道)选择,用于切换左右声道的数据。,WS,的频率采样频率。,SD: (serial data),串行数据,用二进制补码表示的音频数据。,对于系统而言,产生,SCK,和,WS,的信号端就是主导装置,用,MASTER,表示,简单系统示意图如图,1,所示:,信号线,I,2,S,总线规范,发送端产生,SCK,和,WS,接收端产生,SCK,和,WS,外置控制器产生,SCK,和,WS,,作为主导装置,,发送端成为在外部时钟下的从属装置,图,1,、简单系统配置,信号线(续),I,2,S,总线规范,串行数据(,SD,),I2S,格式的信号无论有多少位有效数据,,数据的最,高位总是被最先传输,(,在,WS,变化,(,也就是一帧开始,),后的,第,2,个,SCK,脉冲,处,),,因此最高位拥有固定的位置,而,最低位的位置则是依赖于数据的有效位数。也就使得,接收端与发送端的有效位数可以不同。如果接收端能,处理的有效位数少于发送端,可以放弃数据帧中多余,的低位数据;如果接收端能处理的有效位数多于发送,端,可以自行补足剩余的位,(,常补足为零,),。这种同步机,制使得数字音频设备的互连更加方便,而且不会造成,数据错位。为了保证数字音频信号的正确传输,,发送,端和接收端应该采用相同的数据格式和长度,。当然,,对,I2S,格式来说数据长度可以不同。,信号线(续),I,2,S,总线规范,字段(声道)选择(,WS,),命令选择线表明了正在被传输的声道。,WS为“1”表示正在传输的是左声道的数据。,WS为“0”表示正在传输的是右声道的数据。,WS可以在串行时钟的上升沿或者下降沿发生改,变,并且WS信号不需要一定是对称的。在从属装置端,,WS在时钟信号的上升沿发生改变。WS总是在最高,位传输前的一个时钟周期发生改变,这样可以使从属,装置得到与被传输的串行数据同步的时间,并且使接,收端存储当前的命令以及为下次的命令清除空间。,基本的接口时序图可以参看图,2,所示:,信号线(续),I,2,S,总线规范,图,2,典型的,I,2S,信号,最高位,信号线(续),I,2,S,总线规范,电压规范,输出电压,:,V,L,2.4V,输入电压,V,IL,=0.8V,V,IH,=2.0V,注:目前使用的,TTL,电平标准,随着其他,IC,(,LSI,)的,流行,其他电平也会支持。,I,2,S,总线规范,延迟特性,在,I2s,总线中,任何设备都可以通过提供必需的时,钟信号成为系统的主导装置,而从属装置通过外部时,钟信号来得到它的内部时钟信号,这就意味着必须重,视主导装置和数据以及命令选择信号之间的传播延,迟,总的延迟主要由两部分组成:,外部时钟和从属装置的内部时钟之间的延迟,内部时钟和数据信号以及命令选择信号之间的延迟,对于数据和命令信号的输入,外部时钟和内部时的延迟不占据主导的地位,它只是延长了有效的建立时间,(setup time),。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。见图,3,和图,4,:,I,2,S,总线规范,延迟特性(续),图,3 timing for I2S Transmitter,图,4 timing for I2S Receiver,I,2,S,总线规范,T,是时钟周期,,Tr,是最小允许时钟周期,,TTr,这样发送端和接收端才,能满足数据传输速率的要求。,对于所有的数据速率,发送端和接收端均发出一个具有固定的传号空号比,(markspace ratio),的时钟信号,所以,t,LC,和,t,HC,是由,T,所定义的。,t,LC,和,t,HC,必须大于,0.35T,,这样使信号在从属装置端可以被检测到。,延迟,(t,dtr,),和最快的传输速度,(,由,T,tr,定义,),是相关的,快的发送端信号在慢的时钟上升沿可能导致,t,dtr,不能超过,t,RC,而使,t,htr,为零或者负。只有,t,RC,不大于,t,RCmax,的时候,(t,RCmax,:,0.15T),,发送端才能保证,t,htr,大于等于,0,。,为了允许数据在下降沿被记录,时钟信号上升沿及,T,相关的时间延迟应该给予接收端充分的建立时间,(set-up time),。,数据建立时间,(set-up time),和保持时间,(holdtime),不能小于指定接收端的建立时间和保持时间。,延迟特性(续),I,2,S,总线结构配置,发送端,图,5,发送端硬件配置,I,2,S,总线结构配置,发送端(续),随着,WS,信号的改变,导出一个,WSP,脉冲信号,进入并行移位寄存器,从而输出数据被激活。串行数据的默认输入是,0,,因此所有位于最低位,(LSB),后的数据将被设置为,0,I,2,S,总线结构配置,接收端,图,6,接收端硬件配置,I,2,S,总线结构配置,接收端(续),随着第一个,WS,信号的改变,,WSP,在,SCK,信号的下降沿重设计数器。在“,1 out of n”,译码器对计数器数值进行译码后,第一个串行的数据,(MSB),在,SCK,时钟信号的上升沿被存放进入,B1,,随着计数器的增长,接下来的数据被依次存放进入,B2,到,Bn,中。在下一个,WS,信号改变的时候,数据根据,WSP,脉冲的变化被存放进入左,(,声道,),锁存器或者右,(,声道,),锁存器,并且将,B2,一,Bn,的数据清除以及计数器重设,如果有冗余的数据则最低位之后的数据将被忽略。注意:译码器和计数器,(,虚线内的部分,),可以被一个,n,比特移位寄存器所代替。,S3C44B0X,I,2,S,总线概述,S3C44B0X,的,IIS,总线接口可作为一个编码解码接口与外部,8/16,位的立体声音频解码电路(,CODEC IC,)相连,从而实现微唱片和便携式应用。它支持,IIS,数据格式和,MSB-Justified,数据格式。,IIS,总线接口为先进先出队列,FIFO,的访问提供,DMA,传输模式来取代中断模式,可同时发送和接收数据,也可只发送或接收数据。,S3C44B0X,I,2,S,总线特性,IIS,、,MSB-Justified,格式兼容;,每通道,8/16,位数据格式;,每通道有,16,f,s,、,32,f,s,、,48,f,s,(,fs,为采样频率)的串行时钟;,具有,256,f,s,和,384,f,s,的主时钟;,具有为主时钟和编码解码时钟分频的可编程分频器;,支持,32,(,216,)字节发送和接收(,FIFO,);,具有正常和,DMA,两种传输模式。,S3C44B0X,I,2,S,总线结构,图,7 IIS,总线框图,各部分功能如下:,S3C44B0X,I,2,S,总线结构,总线接口、寄存器组、和状态机(,BRFC,):总线接口逻辑和,FIFO,的访问由状态机控制;,两个三位的预分频器(,IPSR,):一个被用作,IIS,总线接口的主时钟发生器,另一个被用作外部编码解码的时钟发生器;,16,字节的,FIFOs,(,TxFIFO,、,RxFIFO,):在发送数据的传输过程中,数据被写入,TxFIFO,,在接收数据的传输过程中,数据从,RxFIFO,被读出;,主,IISCLK,发生器(,SCLKG,):在主模式中,串行位时钟由主时钟(指,IIS,总线接口的主时钟)产生;,通道发生器和状态机(,CHNC,):,IISCLK,和,IISLRCK,由通道状态机产生和控制;,16,位移位寄存器(,SFTR,):在发送数据模式中,并行数据被移成串行数据输出,在接收数据模式中,串行数据被移成并行数据输入;,S3C44B0X,I,2,S,接口工作模式,单独发送或接收模式,a,、正常传输模式,FIFO,队列的就绪标志位决定了,CPU,读或写队列的时间。发送,队列非空,队列发送数据准备就绪,标志位置,1,;发送队列为,空,标志位置,0,。接收队列未满,标志位置,1,,指示队列可接收数,据;接收队列满,标志位置,0,。当,CPU,访问发送或接收队列,(,FIFOs,)时,串行数据能够被发送或接收。,b,、,DMA,传输模式,发送或接收队列的访问由,DMA,控制器来完成。在发送或接收,模式中,,DMA,服务请求由队列的就绪标志位自动给出。,发送和接收同时模式,IIS,总线接口能够同时发送和接收数据。一个通道用正常传输模,式,另一通道用,DMA,传输模式。,S3C44B0X,I,2,S,音频数据格式,IIS-BUS,格式,MSB-Justified,格式,图,8 IIS,总线和,MSB-Justified,格式数据接口格式,两种格式,S3C44B0X,I,2,S,音频数据格式,表,1,编解码时钟,表,2,可用的串行位时钟频率,采样频率和主时钟,1,、,IIS,控制寄存器,IISCON,位,位名称,描述,初始状态, 8 ,Left/Right,Channel Index,(,只读,) 0,左通道,1,右通道,1, 7 ,Transmit FIFO,Ready Flag,(,只读,) 0,发送,FIFO,没有准备好,(,空,),1,发送,FIFO,准备好,(,不空,),0, 6 ,Receive FIFO,Ready Flag,(,只读,) 0,接收,FIFO,没有准备好,(,空,),1,接收,FIFO,准备好,(,不空,),0, 5 ,Transmit DMA service Request Enable,0,发送,DMA,请求禁止,1,发送,DMA,请求使能,0, 4 ,Receive DMA service Request Enable,0,接收,DMA,请求禁止,1,接收,DMA,请求使能,0, 3 ,Transmit Channel,Idle Command,在发送空闲状态,IISLRCK,不激活,(,暂停发送,),该位仅在,IIS,是,Master,时有效,0,IISLRCK,产生,1,IISLRCK,不产生,0, 2 ,Transmit Channel,Idle Command,在接收空闲状态,IISLRCLK,不激活,(,暂停接收,),该位仅在,IIS,是,Master,时有效,0,IISLRCK,产生,1,IISLRCK,不产生,0, 1 ,IIS,Prescaler,Enable,0,预分频器禁止,1,使能预分频器,0, 0 ,IIS Interface Enable,0,IIS,禁止,(,停止,),1,IIS,使能,(,启动,),0,S3C44B0X,I,2,S,接口特殊功能寄存器,IISCON,地址:,0x01D18000(Li/HW,Li/W,Bi/W) R/W,0x01D18002(Bi/HW),表,3 IIS,控制寄存器,IISCON,2,、,IIS,模式寄存器,IISMOD,位,位名称,描述,初始状态, 8 ,Master/Slave,Mode Select,0,主模式(,IISLRCK,和,IISCLK,输出),1,从模式(,IISLRCK,和,IISCLK,输入),0, 7:6 ,Transmit/ Receive,Mode Select,00,不传输,01,接收模式,10,发送模式,11,发送,/,接收模式,00, 5 ,Active Level of,Left/Right Channel,0,左通道为低(右通道为高),1,左通道为高(右通道为低),0, 4 ,Serial Interface Format,0,IIS,格式,1,MSB-Justified,0, 3 ,Serial Data Bit,Per Channel,0,8,位,1,16,位,0, 2 ,Master Clock (CODECLK),Frequency Select,0,256,fs,1,384,fs,(,fs,:采样频率),0, 1:0 ,Transmit Channel,Idle Command,00,16,fs,01,32,fs,10,48,fs,11,N/A,00,S3C44B0X,I,2,S,接口特殊功能寄存器,IISMOD,地址:,0x01D18004(Li/HW,Li/W,Bi/W) R/W,0x01D18006(Bi/HW),表,4 IIS,模式寄存器,IISMOD,S3C44B0X,I,2,S,接口特殊功能寄存器,3,、,IIS,比例因子寄存器,IISPSR,位,位名称,描述,初始状态, 7 : 4 ,Prescaler,Value A,预分频器,A,的比例因子,clock_prescaler_A,=MCLK/,0x0, 3 : 0,Prescaler,Value B,预分频器,B,的比例因子,clock_prescaler_B,=MCLK/,0x0,IISPSR 3:0 / 7:4 ,比例因子,IISPSR 3:0 / 7:4 ,比例因子,0000B,2,1000B,1,0001B,4,1001B,0010B,6,1010B,3*,0011B,8,1011B,0100B,10,1100B,5*,0101B,12,1101B,0110B,14,1110B,7*,0111B,16,1111B,注:* 如果,Prescaler,的值位,3,、,5,、,7,,则占空比将不是,50,, 此种情况下,高电平,H,周期为,0.5MCLK,。,IISPSR,地址:,0x01D18008(Li/HW,Li/W,Bi/W) R/W,0x01D1800A(Bi/HW) 0x001D1800B(Bi/B),表,5 IIS,比例因子寄存器,IISPSR,4,、,IIS,队列控制寄存器,IISFCON,S3C44B0X,I,2,S,接口特殊功能寄存器,位,位名称,描述,初始状态, 11,发送,FIFO,存取模式虚字选择,0,正常存取模式,1,DMA,存取模式,0, 10 ,接收,FIFO,存取模式选择,0,正常接收模式,1,DMA,接收模式,0, 9 ,发送,FIFO,使能位,0,FIFO,禁止,1,FIFO,使能,0, 8 ,接收,FIFO,使能位,0,FIFO,禁止,1,FIFO,使能,0, 7:4 ,发送,FIFO,数据计数值,数据计数值,0,8,(只读),000, 3:0 ,接收,FIFO,数据技术值,数据计数值,0,8,(只读),000,IISFCON,地址:,0x01D1800C(Li/HW,Li/W,Bi/W) R/W,0x01D1800E(Bi/HW),表,6 IIS,队列控制寄存器,IISFCON,5,、,IIS,队列寄存器,IISFIF,S3C44B0X,I,2,S,接口特殊功能寄存器,位,位名称,描述,初始状态, 15:0 ,FENTRY,IIS,的发送,/,接收数据,0x0,IISFIF,地址:,0x01D18010(Li/HW) R/W,0x01D18012(Bi/HW),表,7 IIS,队列寄存器,IISFIF,嵌入式音频系统应用,图,9 S3C2410,与,UDA1314,硬件电路连接,硬件链接,图,10 UDA1341,内部结构,设计硬件电路时选用第二组输入音频信号?,硬件链接,嵌入式音频系统应用,音频驱动实现,整个音频驱动的实现分为,4,个部分:,初始化、打开设备,主要完成对,UDA1341,音量、采样频率、,L3,接口等的初始化,,并且注册设备。,DSP,驱动实现,DSP,驱动实现了音频数据的传输即播放和录音的数据传输。,同时提供,ioctl,对,UDA1341,中的,DAC,和,ADC,采样率进行控制。,MIXER,驱动实现,MIXER,驱动只控制混音效果,并不执行读写操作所以,MIXER,的文件操作结构只实现了,1,个,ioctl,调用提供给上层设置,CODEC,的混音效果。,设备的释放,设备的卸载由注销函数,close(),来完成。,。,注销函数使用注册,时得到的设备号,同时释放驱动程序使用的各种系统资源如,DMA,和缓冲区等。,嵌入式音频系统应用,嵌入式音频系统应用,应用程序编写的注意事项,(1),和所有应用程序一样,在程序编写中不要卖弄编程技巧,清晰的,结构有助于提高程序的稳定性和可维护性。,(2),打开音频设备文件时尽可能使用,O_RDONLY,或者,O_WRONLY,标识位,有助于提高程序的速度,只有在应用程序既能进行录音操作也进行回放操作时才能使用,O_RDWR,标识位。,(3),嵌入式芯片中对不同数据结构分配的字节数都不一样,进行音频数据处理时要小心数据截断。要注意音频数据使用的低位优先格式,还是高位优先格式。,(4),一般而言,音频设备文件打开时已经初始化一些音频的属性,如果要对这些参数进行修改,应该对混频器设备文件进行操作,这有助于提高程序的设备无关性。,(5),进行各种系统调用,(,设备打开、参数设定或设备读写等,),时要检查返回值,因为对硬件设备的操作有可能失败,。,嵌入式音频系统应用,应用程序编写的注意事项(续),(6),对设备参数进行设定时,要注意查看音频设备是否支持设定的参数,比如高档的音频解码芯片就不支持,8,位的采样宽度。,(7),ioctl,系统调用并不对输入的参数进行严格检查,所以使用,ioctl,前最好检查输入参数是否合法。,(8),设置单工和双工时要注意,有时候芯片在单工方式时工作良好,但在同一个频率、双工方式下可能无法正常工作,这是需要降低频率。,(9),编写程序时,尽可能地考虑兼容件,比如编写的应用程序针对的是,16,位的音频数据,但也应该考虑以后程序移植到,32,位音频系统上的可能性。,(10),读取音频数据时要读取所有的采样信息,比如使用,16,位的双工采样,每次采样会产生,162,32bit,4B,的采样信息,读取数据的时候应该 一次性将,4B,的数据全部读入,否则会产生噪音或者使一个声道失效。,嵌入式音频系统应用,(11),不使用音频设备时应该及时关闭,这有助于设备的共享;交互式程序中,应该在用户需要录音或者回故的时候打开设备文件;在一些特殊情况下也可以通过打开设各文件防止其他应用程序对设备的访问。,(12),对混频器的操作不要和其他功能放到同一个功能模块中,也就是说对混频器的操作应该使用独立的函数模块;这主要是因为各种音频芯片的混频器区别很大,有的混频器程序可能只能在一种硬件上使用,如果将混频器模块和其他模块放在一起可能会导致程序异常终止。,应用程序编写的注意事项(续),Thank you!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


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

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


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