I2S总线接口结构的配置课件_第1页
I2S总线接口结构的配置课件_第2页
I2S总线接口结构的配置课件_第3页
I2S总线接口结构的配置课件_第4页
I2S总线接口结构的配置课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I2S总线接口功能及应用开发I2S总线接口功能及应用开发内容结构

I2S总线概述

I2S总线规范

I2S总线结构配置

S3C44B0XI2S总线概述

S3C44B0XI2S总线特性

S3C44B0XI2S总线结构

S3C44B0XI2S接口工作模式

S3C44B0XI2S音频数据格式

S3C44B0XI2S接口特殊功能寄存器

嵌入式音频系统应用内容结构I2S总线概述I2S总线规范I2S总线结构I2S总线概述

音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S(Inter—ICSound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。I2S总线概述音响数据的采集、处理和传输是多I2S总线规范I2S总线拥有三条数据信号线:SCK:(continuousserialclock)串行时钟对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2×采样频率×采样位数。WS:(wordselect)字段(声道)选择用于切换左右声道的数据。WS的频率=采样频率。SD:(serialdata)串行数据用二进制补码表示的音频数据。对于系统而言,产生SCK和WS的信号端就是主导装置,用MASTER表示,简单系统示意图如图1所示:信号线I2S总线规范I2S总线拥有三条数据信号线:信号线I2S总线规范发送端产生SCK和WS接收端产生SCK和WS外置控制器产生SCK和WS,作为主导装置,发送端成为在外部时钟下的从属装置图1、简单系统配置信号线(续)I2S总线规范发送端产生SCK和WS接收端产生SCK和WS外I2S总线规范串行数据(SD)

I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输(在WS变化(也就是一帧开始)后的第2个SCK脉冲处),因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。也就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。信号线(续)I2S总线规范串行数据(SD)信号线(续)I2S总线规范字段(声道)选择(WS)

命令选择线表明了正在被传输的声道。WS为“1”表示正在传输的是左声道的数据。WS为“0”表示正在传输的是右声道的数据。WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。基本的接口时序图可以参看图2所示:信号线(续)I2S总线规范字段(声道)选择(WS)信号线(续)I2S总线规范图2典型的I2S信号最高位信号线(续)I2S总线规范图2典型的I2S信号最高位信号线(续)I2S总线规范电压规范输出电压:

VL<0.4VVH>2.4V输入电压

VIL=0.8VVIH=2.0V注:目前使用的TTL电平标准,随着其他IC(LSI)的流行,其他电平也会支持。I2S总线规范电压规范输出电压:I2S总线规范延迟特性

在I2s总线中,任何设备都可以通过提供必需的时钟信号成为系统的主导装置,而从属装置通过外部时钟信号来得到它的内部时钟信号,这就意味着必须重视主导装置和数据以及命令选择信号之间的传播延迟,总的延迟主要由两部分组成:外部时钟和从属装置的内部时钟之间的延迟内部时钟和数据信号以及命令选择信号之间的延迟

对于数据和命令信号的输入,外部时钟和内部时的延迟不占据主导的地位,它只是延长了有效的建立时间(set—uptime)。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。见图3和图4:I2S总线规范延迟特性在I2s总线中,任何设I2S总线规范延迟特性(续)图3timingforI2STransmitter图4timingforI2SReceiverI2S总线规范延迟特性(续)图3timingforI2S总线规范T是时钟周期,Tr是最小允许时钟周期,T>Tr这样发送端和接收端才能满足数据传输速率的要求。对于所有的数据速率,发送端和接收端均发出一个具有固定的传号空号比(mark—spaceratio)的时钟信号,所以tLC和tHC是由T所定义的。tLC和tHC必须大于0.35T,这样使信号在从属装置端可以被检测到。延迟(tdtr)和最快的传输速度(由Ttr定义)是相关的,快的发送端信号在慢的时钟上升沿可能导致tdtr不能超过tRC而使thtr为零或者负。只有tRC不大于tRCmax的时候(tRCmax>:0.15T),发送端才能保证thtr大于等于0。为了允许数据在下降沿被记录,时钟信号上升沿及T相关的时间延迟应该给予接收端充分的建立时间(set-uptime)。数据建立时间(set-uptime)和保持时间(holdtime)不能小于指定接收端的建立时间和保持时间。延迟特性(续)I2S总线规范T是时钟周期,Tr是最小允许时钟周期,T>TrI2S总线结构配置发送端图5发送端硬件配置I2S总线结构配置发送端图5发送端硬件配置I2S总线结构配置发送端(续)

随着WS信号的改变,导出一个WSP脉冲信号,进入并行移位寄存器,从而输出数据被激活。串行数据的默认输入是0,因此所有位于最低位(LSB)后的数据将被设置为0I2S总线结构配置发送端(续)随着WS信号的I2S总线结构配置接收端图6接收端硬件配置I2S总线结构配置接收端图6接收端硬件配置I2S总线结构配置接收端(续)

随着第一个WS信号的改变,WSP在SCK信号的下降沿重设计数器。在“1outofn”译码器对计数器数值进行译码后,第一个串行的数据(MSB)在SCK时钟信号的上升沿被存放进入B1,随着计数器的增长,接下来的数据被依次存放进入B2到Bn中。在下一个WS信号改变的时候,数据根据WSP脉冲的变化被存放进入左(声道)锁存器或者右(声道)锁存器,并且将B2一Bn的数据清除以及计数器重设,如果有冗余的数据则最低位之后的数据将被忽略。注意:译码器和计数器(虚线内的部分)可以被一个n比特移位寄存器所代替。I2S总线结构配置接收端(续)随着第一个WSS3C44B0XI2S总线概述S3C44B0X的IIS总线接口可作为一个编码解码接口与外部8/16位的立体声音频解码电路(CODECIC)相连,从而实现微唱片和便携式应用。它支持IIS数据格式和MSB-Justified数据格式。IIS总线接口为先进先出队列FIFO的访问提供DMA传输模式来取代中断模式,可同时发送和接收数据,也可只发送或接收数据。S3C44B0XI2S总线概述S3C44BS3C44B0XI2S总线特性IIS、MSB-Justified格式兼容;每通道8/16位数据格式;每通道有16fs、32fs、48fs

(fs为采样频率)的串行时钟;具有256fs和384fs的主时钟;具有为主时钟和编码解码时钟分频的可编程分频器;支持32(2×16)字节发送和接收(FIFO);具有正常和DMA两种传输模式。S3C44B0XI2S总线特性IIS、MSB-JustiS3C44B0XI2S总线结构图7IIS总线框图各部分功能如下:S3C44B0XI2S总线结构图7IIS总线框图各部S3C44B0XI2S总线结构总线接口、寄存器组、和状态机(BRFC):总线接口逻辑和FIFO的访问由状态机控制;两个三位的预分频器(IPSR):一个被用作IIS总线接口的主时钟发生器,另一个被用作外部编码解码的时钟发生器;

16字节的FIFOs(TxFIFO、RxFIFO):在发送数据的传输过程中,数据被写入TxFIFO,在接收数据的传输过程中,数据从RxFIFO被读出;主IISCLK发生器(SCLKG):在主模式中,串行位时钟由主时钟(指IIS总线接口的主时钟)产生;通道发生器和状态机(CHNC):IISCLK和IISLRCK由通道状态机产生和控制;

16位移位寄存器(SFTR):在发送数据模式中,并行数据被移成串行数据输出,在接收数据模式中,串行数据被移成并行数据输入;S3C44B0XI2S总线结构总线接口、寄存器组、和状态机S3C44B0XI2S接口工作模式

单独发送或接收模式

a、正常传输模式

FIFO队列的就绪标志位决定了CPU读或写队列的时间。发送队列非空,队列发送数据准备就绪,标志位置1;发送队列为空,标志位置0。接收队列未满,标志位置1,指示队列可接收数据;接收队列满,标志位置0。当CPU访问发送或接收队列(FIFOs)时,串行数据能够被发送或接收。

b、DMA传输模式

发送或接收队列的访问由DMA控制器来完成。在发送或接收模式中,DMA服务请求由队列的就绪标志位自动给出。

发送和接收同时模式

IIS总线接口能够同时发送和接收数据。一个通道用正常传输模式,另一通道用DMA传输模式。S3C44B0XI2S接口工作模式单独发送或接收模式S3C44B0XI2S音频数据格式IIS-BUS格式MSB-Justified格式图8IIS总线和MSB-Justified格式数据接口格式两种格式S3C44B0XI2S音频数据格式IIS-BUS格式图8S3C44B0XI2S音频数据格式表1编解码时钟表2可用的串行位时钟频率采样频率和主时钟S3C44B0XI2S音频数据格式表1编解码时钟表21、IIS控制寄存器IISCON位位名称描述初始状态[8]Left/RightChannelIndex(只读)0=左通道

1=右通道1[7]TransmitFIFOReadyFlag(只读)0=发送FIFO没有准备好(空)1=发送FIFO准备好(不空)0[6]ReceiveFIFOReadyFlag(只读)0=接收FIFO没有准备好(空)1=接收FIFO准备好(不空)0[5]TransmitDMAserviceRequestEnable0=发送DMA请求禁止1=发送DMA请求使能0[4]ReceiveDMAserviceRequestEnable0=接收DMA请求禁止1=接收DMA请求使能0[3]TransmitChannelIdleCommand在发送空闲状态,IISLRCK不激活(暂停发送),该位仅在IIS是Master时有效

0=IISLRCK产生

1=IISLRCK不产生0[2]TransmitChannelIdleCommand在接收空闲状态,IISLRCLK不激活(暂停接收),该位仅在IIS是Master时有效

0=IISLRCK产生

1=IISLRCK不产生0[1]IISPrescalerEnable0=预分频器禁止1=使能预分频器0[0]IISInterfaceEnable0=IIS禁止(停止)1=IIS使能(启动)0S3C44B0XI2S接口特殊功能寄存器IISCON地址:0x01D18000(Li/HW,Li/W,Bi/W)R/W0x01D18002(Bi/HW)表3IIS控制寄存器IISCON1、IIS控制寄存器IISCON位位名称描述初始状态[2、IIS模式寄存器IISMOD位位名称描述初始状态[8]Master/SlaveModeSelect0=主模式(IISLRCK和IISCLK输出)1=从模式(IISLRCK和IISCLK输入)0[7:6]Transmit/ReceiveModeSelect00=不传输01=接收模式10=发送模式11=发送/接收模式00[5]ActiveLevelofLeft/RightChannel0=左通道为低(右通道为高)1=左通道为高(右通道为低)0[4]SerialInterfaceFormat0=IIS格式1=MSB-Justified0[3]SerialDataBitPerChannel0=8位1=16位0[2]MasterClock(CODECLK)FrequencySelect0=256fs1=384fs(fs:采样频率)0[1:0]TransmitChannelIdleCommand00=16fs01=32fs10=48fs11=N/A00S3C44B0XI2S接口特殊功能寄存器IISMOD地址:0x01D18004(Li/HW,Li/W,Bi/W)R/W0x01D18006(Bi/HW)表4IIS模式寄存器IISMOD2、IIS模式寄存器IISMOD位位名称描述初始状态[S3C44B0XI2S接口特殊功能寄存器3、IIS比例因子寄存器IISPSR位位名称描述初始状态[7:4]PrescalerValueA预分频器A的比例因子clock_prescaler_A=MCLK/<divisionfactor>0x0[3:0]PrescalerValueB预分频器B的比例因子clock_prescaler_B=MCLK/<divisionfactor>0x0IISPSR[3:0]/[7:4]比例因子IISPSR[3:0]/[7:4]比例因子0000B21000B10001B41001B-0010B61010B3*0011B81011B-0100B101100B5*0101B121101B-0110B141110B7*0111B161111B-注:*如果Prescaler的值位3、5、7,则占空比将不是50%,此种情况下,高电平H周期为0.5MCLK。IISPSR地址:0x01D18008(Li/HW,Li/W,Bi/W)R/W0x01D1800A(Bi/HW)0x001D1800B(Bi/B)表5IIS比例因子寄存器IISPSRS3C44B0XI2S接口特殊功能寄存器3、IIS比例因子4、IIS队列控制寄存器IISFCONS3C44B0XI2S接口特殊功能寄存器位位名称描述初始状态[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(只读)000IISFCON地址:0x01D1800C(Li/HW,Li/W,Bi/W)R/W0x01D1800E(Bi/HW)表6IIS队列控制寄存器IISFCON4、IIS队列控制寄存器IISFCONS3C44B0X5、IIS队列寄存器IISFIFS3C44B0XI2S接口特殊功能寄存器位位名称描述初始状态[15:0]FENTRYIIS的发送/接收数据0x0IISFIF地址:0x01D18010(Li/HW)R/W0x01D18012(Bi/HW)表7IIS队列寄存器IISFIF5、IIS队列寄存器IISFIFS3C44B0XI2S嵌入式音频系统应用图9S3C2410与UDA1314硬件电路连接硬件链接嵌入式音频系统应用图9S3C2410与UDA1314硬图10UDA1341内部结构

设计硬件电路时选用第二组输入音频信号?硬件链接嵌入式音频系统应用图10UDA1341内部结构设计硬件电路时选用第二组输音频驱动实现整个音频驱动的实现分为4个部分:初始化、打开设备主要完成对UDA1341音量、采样频率、L3接口等的初始化,并且注册设备。DSP驱动实现

DSP驱动实现了音频数据的传输即播放和录音的数据传输。同时提供ioctl对UDA1341中的DAC和ADC采样率进行控制。

MIXER驱动实现

MIXER驱动只控制混音效果,并不执行读写操作.所以

MIXER的文件操作结构只实现了1个ioctl调用.提供给上层设置

CODEC的混音效果。设备的释放设备的卸载由注销函数close()来完成。。注销函数使用注册时得到的设备号,同时释放驱动程序使用的各种系统资源.如

DMA和缓冲区等。嵌入式音频系统应用音频驱动实现整个音频驱动的实现分为4个部分:嵌入式音频系统应嵌入式音频系统应用应用程序编写的注意事项(1)和所有应用程序一样,在程序编写中不要卖弄编程技巧,清晰的结构有助于提高程序的稳定性和可维护性。(2)打开音频设备文件时尽可能使用O_RDONLY或者O_WRONLY标识位,有助于提高程序的速度,只有在应用程序既能进行录音操作也进行回放操作时才能使用O_RDWR标识位。(3)嵌入式芯片中对不同数据结构分配的字节数都不一样,进行音频数据处理时要小心数据截断。要注意音频数据使用的低位优先格式还是高位优先格式。(4)一般而言,音频设备文件打开时已经初始化一些音频的属性,如果要对这些参数进行修改,应该对混频器设备文件进行操作,这有助于提高程序的设备无关性。(5)进行各种系统调用(设备打开、参数设定或设备读写等)时要检查返回值,因为对硬件设备的操作有可能失败。嵌入式音频系统应用应用程序编写的注意事项(1)和所有应用程序嵌入式音频系统应用应用程序编写的注意事项(续)(6)对设备参数进行设定时,要注意查看音频设备是否支持设定的参数,比如高档的音频解码芯片就不支持8位的采样宽度。(7)ioctl系统调用并不对输入的参数进行严格检查,所以使用ioctl前最好检查输入参数是否合法。(8)设置单工和双工时要注意,有时候芯片在单工方式时工作良好,但在同一个频率、双工方式下可能无法正常工作,这是需要降低频率。(9)编写程序时,尽可能地考虑兼容件,比如编写的应用程序针对的是16位的音频数据,但也应该考虑以后程序移植到32位音频系统上的可能性。(10)读取音频数据时要读取所有的采样信息,比如使用16位的双工采样,每次采样会产生16×2=32bit=4B的采样信息,读取数据的时候应该一次性将4B的数据全部读入,否则会产生噪音或者使一个声道失效。嵌入式音频系统应用应用程序编写的注意事项(续)(6)对设备参嵌入式音频系统应用

(11)不使用音频设备时应该及时关闭,这有助于设备的共享;交互式程序中,应该在用户需要录音或者回故的时候打开设备文件;在一些特殊情况下也可以通过打开设各文件防止其他应用程序对设备的访问。

(12)对混频器的操作不要和其他功能放到同一个功能模块中,也就是说对混频器的操作应该使用独立的函数模块;这主要是因为各种音频芯片的混频器区别很大,有的混频器程序可能只能在一种硬件上使用,如果将混频器模块和其他模块放在一起可能会导致程序异常终止。应用程序编写的注意事项(续)嵌入式音频系统应用(11)不使用音频设备时应该及时关闭,这演讲完毕,谢谢观看!演讲完毕,谢谢观看!I2S总线接口功能及应用开发I2S总线接口功能及应用开发内容结构

I2S总线概述

I2S总线规范

I2S总线结构配置

S3C44B0XI2S总线概述

S3C44B0XI2S总线特性

S3C44B0XI2S总线结构

S3C44B0XI2S接口工作模式

S3C44B0XI2S音频数据格式

S3C44B0XI2S接口特殊功能寄存器

嵌入式音频系统应用内容结构I2S总线概述I2S总线规范I2S总线结构I2S总线概述

音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S(Inter—ICSound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。I2S总线概述音响数据的采集、处理和传输是多I2S总线规范I2S总线拥有三条数据信号线:SCK:(continuousserialclock)串行时钟对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2×采样频率×采样位数。WS:(wordselect)字段(声道)选择用于切换左右声道的数据。WS的频率=采样频率。SD:(serialdata)串行数据用二进制补码表示的音频数据。对于系统而言,产生SCK和WS的信号端就是主导装置,用MASTER表示,简单系统示意图如图1所示:信号线I2S总线规范I2S总线拥有三条数据信号线:信号线I2S总线规范发送端产生SCK和WS接收端产生SCK和WS外置控制器产生SCK和WS,作为主导装置,发送端成为在外部时钟下的从属装置图1、简单系统配置信号线(续)I2S总线规范发送端产生SCK和WS接收端产生SCK和WS外I2S总线规范串行数据(SD)

I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输(在WS变化(也就是一帧开始)后的第2个SCK脉冲处),因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。也就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。信号线(续)I2S总线规范串行数据(SD)信号线(续)I2S总线规范字段(声道)选择(WS)

命令选择线表明了正在被传输的声道。WS为“1”表示正在传输的是左声道的数据。WS为“0”表示正在传输的是右声道的数据。WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。基本的接口时序图可以参看图2所示:信号线(续)I2S总线规范字段(声道)选择(WS)信号线(续)I2S总线规范图2典型的I2S信号最高位信号线(续)I2S总线规范图2典型的I2S信号最高位信号线(续)I2S总线规范电压规范输出电压:

VL<0.4VVH>2.4V输入电压

VIL=0.8VVIH=2.0V注:目前使用的TTL电平标准,随着其他IC(LSI)的流行,其他电平也会支持。I2S总线规范电压规范输出电压:I2S总线规范延迟特性

在I2s总线中,任何设备都可以通过提供必需的时钟信号成为系统的主导装置,而从属装置通过外部时钟信号来得到它的内部时钟信号,这就意味着必须重视主导装置和数据以及命令选择信号之间的传播延迟,总的延迟主要由两部分组成:外部时钟和从属装置的内部时钟之间的延迟内部时钟和数据信号以及命令选择信号之间的延迟

对于数据和命令信号的输入,外部时钟和内部时的延迟不占据主导的地位,它只是延长了有效的建立时间(set—uptime)。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。见图3和图4:I2S总线规范延迟特性在I2s总线中,任何设I2S总线规范延迟特性(续)图3timingforI2STransmitter图4timingforI2SReceiverI2S总线规范延迟特性(续)图3timingforI2S总线规范T是时钟周期,Tr是最小允许时钟周期,T>Tr这样发送端和接收端才能满足数据传输速率的要求。对于所有的数据速率,发送端和接收端均发出一个具有固定的传号空号比(mark—spaceratio)的时钟信号,所以tLC和tHC是由T所定义的。tLC和tHC必须大于0.35T,这样使信号在从属装置端可以被检测到。延迟(tdtr)和最快的传输速度(由Ttr定义)是相关的,快的发送端信号在慢的时钟上升沿可能导致tdtr不能超过tRC而使thtr为零或者负。只有tRC不大于tRCmax的时候(tRCmax>:0.15T),发送端才能保证thtr大于等于0。为了允许数据在下降沿被记录,时钟信号上升沿及T相关的时间延迟应该给予接收端充分的建立时间(set-uptime)。数据建立时间(set-uptime)和保持时间(holdtime)不能小于指定接收端的建立时间和保持时间。延迟特性(续)I2S总线规范T是时钟周期,Tr是最小允许时钟周期,T>TrI2S总线结构配置发送端图5发送端硬件配置I2S总线结构配置发送端图5发送端硬件配置I2S总线结构配置发送端(续)

随着WS信号的改变,导出一个WSP脉冲信号,进入并行移位寄存器,从而输出数据被激活。串行数据的默认输入是0,因此所有位于最低位(LSB)后的数据将被设置为0I2S总线结构配置发送端(续)随着WS信号的I2S总线结构配置接收端图6接收端硬件配置I2S总线结构配置接收端图6接收端硬件配置I2S总线结构配置接收端(续)

随着第一个WS信号的改变,WSP在SCK信号的下降沿重设计数器。在“1outofn”译码器对计数器数值进行译码后,第一个串行的数据(MSB)在SCK时钟信号的上升沿被存放进入B1,随着计数器的增长,接下来的数据被依次存放进入B2到Bn中。在下一个WS信号改变的时候,数据根据WSP脉冲的变化被存放进入左(声道)锁存器或者右(声道)锁存器,并且将B2一Bn的数据清除以及计数器重设,如果有冗余的数据则最低位之后的数据将被忽略。注意:译码器和计数器(虚线内的部分)可以被一个n比特移位寄存器所代替。I2S总线结构配置接收端(续)随着第一个WSS3C44B0XI2S总线概述S3C44B0X的IIS总线接口可作为一个编码解码接口与外部8/16位的立体声音频解码电路(CODECIC)相连,从而实现微唱片和便携式应用。它支持IIS数据格式和MSB-Justified数据格式。IIS总线接口为先进先出队列FIFO的访问提供DMA传输模式来取代中断模式,可同时发送和接收数据,也可只发送或接收数据。S3C44B0XI2S总线概述S3C44BS3C44B0XI2S总线特性IIS、MSB-Justified格式兼容;每通道8/16位数据格式;每通道有16fs、32fs、48fs

(fs为采样频率)的串行时钟;具有256fs和384fs的主时钟;具有为主时钟和编码解码时钟分频的可编程分频器;支持32(2×16)字节发送和接收(FIFO);具有正常和DMA两种传输模式。S3C44B0XI2S总线特性IIS、MSB-JustiS3C44B0XI2S总线结构图7IIS总线框图各部分功能如下:S3C44B0XI2S总线结构图7IIS总线框图各部S3C44B0XI2S总线结构总线接口、寄存器组、和状态机(BRFC):总线接口逻辑和FIFO的访问由状态机控制;两个三位的预分频器(IPSR):一个被用作IIS总线接口的主时钟发生器,另一个被用作外部编码解码的时钟发生器;

16字节的FIFOs(TxFIFO、RxFIFO):在发送数据的传输过程中,数据被写入TxFIFO,在接收数据的传输过程中,数据从RxFIFO被读出;主IISCLK发生器(SCLKG):在主模式中,串行位时钟由主时钟(指IIS总线接口的主时钟)产生;通道发生器和状态机(CHNC):IISCLK和IISLRCK由通道状态机产生和控制;

16位移位寄存器(SFTR):在发送数据模式中,并行数据被移成串行数据输出,在接收数据模式中,串行数据被移成并行数据输入;S3C44B0XI2S总线结构总线接口、寄存器组、和状态机S3C44B0XI2S接口工作模式

单独发送或接收模式

a、正常传输模式

FIFO队列的就绪标志位决定了CPU读或写队列的时间。发送队列非空,队列发送数据准备就绪,标志位置1;发送队列为空,标志位置0。接收队列未满,标志位置1,指示队列可接收数据;接收队列满,标志位置0。当CPU访问发送或接收队列(FIFOs)时,串行数据能够被发送或接收。

b、DMA传输模式

发送或接收队列的访问由DMA控制器来完成。在发送或接收模式中,DMA服务请求由队列的就绪标志位自动给出。

发送和接收同时模式

IIS总线接口能够同时发送和接收数据。一个通道用正常传输模式,另一通道用DMA传输模式。S3C44B0XI2S接口工作模式单独发送或接收模式S3C44B0XI2S音频数据格式IIS-BUS格式MSB-Justified格式图8IIS总线和MSB-Justified格式数据接口格式两种格式S3C44B0XI2S音频数据格式IIS-BUS格式图8S3C44B0XI2S音频数据格式表1编解码时钟表2可用的串行位时钟频率采样频率和主时钟S3C44B0XI2S音频数据格式表1编解码时钟表21、IIS控制寄存器IISCON位位名称描述初始状态[8]Left/RightChannelIndex(只读)0=左通道

1=右通道1[7]TransmitFIFOReadyFlag(只读)0=发送FIFO没有准备好(空)1=发送FIFO准备好(不空)0[6]ReceiveFIFOReadyFlag(只读)0=接收FIFO没有准备好(空)1=接收FIFO准备好(不空)0[5]TransmitDMAserviceRequestEnable0=发送DMA请求禁止1=发送DMA请求使能0[4]ReceiveDMAserviceRequestEnable0=接收DMA请求禁止1=接收DMA请求使能0[3]TransmitChannelIdleCommand在发送空闲状态,IISLRCK不激活(暂停发送),该位仅在IIS是Master时有效

0=IISLRCK产生

1=IISLRCK不产生0[2]TransmitChannelIdleCommand在接收空闲状态,IISLRCLK不激活(暂停接收),该位仅在IIS是Master时有效

0=IISLRCK产生

1=IISLRCK不产生0[1]IISPrescalerEnable0=预分频器禁止1=使能预分频器0[0]IISInterfaceEnable0=IIS禁止(停止)1=IIS使能(启动)0S3C44B0XI2S接口特殊功能寄存器IISCON地址:0x01D18000(Li/HW,Li/W,Bi/W)R/W0x01D18002(Bi/HW)表3IIS控制寄存器IISCON1、IIS控制寄存器IISCON位位名称描述初始状态[2、IIS模式寄存器IISMOD位位名称描述初始状态[8]Master/SlaveModeSelect0=主模式(IISLRCK和IISCLK输出)1=从模式(IISLRCK和IISCLK输入)0[7:6]Transmit/ReceiveModeSelect00=不传输01=接收模式10=发送模式11=发送/接收模式00[5]ActiveLevelofLeft/RightChannel0=左通道为低(右通道为高)1=左通道为高(右通道为低)0[4]SerialInterfaceFormat0=IIS格式1=MSB-Justified0[3]SerialDataBitPerChannel0=8位1=16位0[2]MasterClock(CODECLK)FrequencySelect0=256fs1=384fs(fs:采样频率)0[1:0]TransmitChannelIdleCommand00=16fs01=32fs10=48fs11=N/A00S3C44B0XI2S接口特殊功能寄存器IISMOD地址:0x01D18004(Li/HW,Li/W,Bi/W)R/W0x01D18006(Bi/HW)表4IIS模式寄存器IISMOD2、IIS模式寄存器IISMOD位位名称描述初始状态[S3C44B0XI2S接口特殊功能寄存器3、IIS比例因子寄存器IISPSR位位名称描述初始状态[7:4]PrescalerValueA预分频器A的比例因子clock_prescaler_A=MCLK/<divisionfactor>0x0[3:0]PrescalerValueB预分频器B的比例因子clock_prescaler_B=MCLK/<divisionfactor>0x0IISPSR[3:0]/[7:4]比例因子IISPSR[3:0]/[7:4]比例因子0000B21000B10001B41001B-0010B61010B3*0011B81011B-0100B101100B5*0101B121101B-0110B141110B7*0111B161111B-注:*如果Prescaler的值位3、5、7,则占空比将不是50%,此种情况下,高电平H周期为0.5MCLK。IISPSR地址:0x01D18008(Li/HW,Li/W,Bi/W)R/W0x01D1800A(Bi/HW)0x001D1800B(Bi/B)表5IIS比例因子寄存器IISPSRS3C44B0XI2S接口特殊功能寄存器3、IIS比例因子4、IIS队列控制寄存器IISFCONS3C44B0XI2S接口特殊功能寄存器位位名称描述初始状态[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(只读)000IISFCON地址:0x01D1800C(Li/HW,Li/W,Bi/W)R/W0x01D1800E(Bi/HW)表6I

温馨提示

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

评论

0/150

提交评论