I2S总线协议
一、I2S总线概述
音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S(Inter—IC Sound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。
二、I2S总线规范
I2S总线拥有三条数据信号线:
1、SCK: (continuous serial clock) 串行时钟
对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2×采样频率×采样位数
2、WS: (word select) 字段(声道)选择
用于切换左右声道的数据。WS的频率=采样频率。
命令选择线表明了正在被传输的声道。
WS为“1”表示正在传输的是左声道的数据。
WS为“0”表示正在传输的是右声道的数据。
WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。
3、SD: (serial data) 串行数据
用二进制补码表示的音频数据。 I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输(在WS变化(也就是一帧开始)后的第2个SCK脉冲处),因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。也就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。
对于系统而言,产生SCK和WS的信号端就是主设备,用MASTER表示,简单系统示意图如图1所示:
图1 简单系统配置和基本接口时序
另一个基本的接口时序图可以参看图2所示:
4、时序要求
在IIS总线中,任何设备都可以通过提供必需的时钟信号成为系统的主设备置,而从属设备通过外部时钟信号来得到它的内部时钟信号,这就意味着必须重视主设备和数据以及命令选择信号之间的传播延迟,总的延迟主要由两部分组成:
1.外部时钟和从设备的内部时钟之间的延迟
2.内部时钟和数据信号以及命令选择信号之间的延迟
对于数据和命令信号的输入,外部时钟和内部时的延迟不占据主导的地位,它只是延长了有效的建立时间(set-up time)。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。见图3和图4:
图3 Timing for IIS Transmitter
图4 Timing for IIS Receiver
其中:
5、电气特性
输出电压:
VL <0.4V
VH>2.4V
输入电压
VIL=0.8V
VIH=2.0V
注:目前使用的TTL电平标准,随着其他IC(LSI)的流行,其他电平也会支持。
关键字:s3c2440 IIS I2S总线协议
引用地址:
s3c2440之IIS(3)I2S总线协议
推荐阅读最新更新时间:2024-11-12 13:21
S3C2440 测试程序(七) IIC实验1--读写EEPROM(不开中断)
硬件IIC类似软件模拟IIC,硬件IIC读取ACK需要判断寄存器IICCON的bit4是否发生中断为1。 初始化: rGPEUP = 0xc000; //SDA SCL关上拉 rGPECON = 0xa0000000; //GPE14 GPE15设为SDA SCL功能 rIICCON = (1 7)|(0 6)|(1 5)|(0xf); 注: bit : 1--enable ACK bit : 0--IICCLK = PCLK/16 bit : 1--enable interrupt 该为不管用不用到中断都必须为1 bit : 1--interrupt
[单片机]
s3c2440裸机触摸屏
1.0、触摸屏与LCD 触摸屏与lcd是两个独立的屏,但是他们之间有对应关系,简单的说就是一个触摸屏的坐标点对应lcd的一个像素点,这样当我们按下触摸屏后,系统通过计算得到该地方的坐标,然后通过对应关系找到相应位置的lcd显示的内容。因为触摸屏和lcd是独立的,总是因为一些物理的原因会有一些位置上的改变,所以这种对应关系不是不变的,我们可以通过开机的时候的校验来确定这种关系,比如 LCD上每个点PD的坐标为 ,触摸屏上每个点PT的坐标为 。要实现触摸屏上的坐标转换为LCD上的坐标,需要下列公式进行转换: XD=A×XT+B×YT+C YD=D×XT+E×YT+F 这样我们只有确定了ABCDEF六个参数我们就可以
[单片机]
s3c2440裸机-spi编程-3-gpio模拟spi驱动OLED
操作OLED,通过三条线(SCK、DO、CS)与OLED相连,这里没有DI是因为2440只会向OLED传数据而不用接收数据。 gpio_spi.c来实现gpio模拟spi,负责spi通讯。对于OLED,有专门的指令和数据格式,要传输的数据内容,在oled.c这一层来实现,负责组织数据。 因此,我们需要实现以上两个文件。 1.SPI初始化 新建一个gpio_spi.c文件,实现SPI初始化SPIInt() 1.1 GPIO init(pinmux管脚等配置) 上图J3为板子pin2pin到OLED的底座。 GPF1作为OLED片选引脚,设置为输出; GPG4作为OLED的数据(Data)/命令(Command)选择引脚,
[单片机]
S3C2440汇编点灯
如何点灯 步骤如下 1、看原理图确定控制LED的引脚 2、看主芯片手册确定如何设置/控制引脚 这里JZ2440的芯片,就是S3C2440 3、写程序 主芯片引脚输出高电平或低电平就可以改变LED状态 我们不关心GPIO引脚输出的逻辑电压,只关心高电平或低电平 主芯片输出的两种情况 第一种 此时主芯片 输出3.3V电压,点亮LED 输出0V电压,熄灭LED 第二种 此时主芯片 输出0V电压,点亮LED 输出3.3V电压,熄灭LED 引脚驱动能力不足的情况 有可能有的引脚能够发出的最大电流不能够点亮LED 这时候就需要我们来改进这个电路—— 使用三极管 有可能芯片只能输出1.2V,但足以使得三极
[单片机]
JZ2440开发板介绍(S3C2440)
1、开发板实物图 2、开发板上硬件 3、在开发板使用时一般会用到JTAG接口、USB和USB-COM1接口、NAND和NOR模式选择开关、power电源开关。 JTAG接口:用于J-LINK的连接。 ETH:以太网网口;
[单片机]
S3C2440 nor_flash驱动程序
和前面的nandflash差不多,我们此处来重新学习一下norflash驱动。 1 /* 2 * 参考 driversmtdmapsPhysmap.c 3 */ 4 5 #include linux/module.h 6 #include linux/types.h 7 #include linux/kernel.h 8 #include linux/init.h 9 #include linux/slab.h 10 #include linux/device.h 11 #include linux/platform_device.h 12 #include linu
[单片机]
S3C2440中一些不清楚的概念
UART 通用异步收发器,UART是Universal Asynchronous Receiver/Transmitter的缩写 。UART是用于控制计算机与串行设备的芯片 SPI接口 SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息 IIC串行总线接口 即I2C,一种总线结构。 IIC 是作为英特尔IC 的互补,这种总线类型是由菲利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传
[单片机]
S3C2440开发板上BMP图片的显示之二
二、BMP图片显示测试程序设计 1、测试程序结构设计 (1)目的 确认对BMP结构的认识,加深对RGB颜色格式的理解。 能够在液晶上显示一个160 x 128 大小的图片。(正好与液晶的大小相同) (2)实现方案 添加一个命令mptest。 在命令处理程序中,先打开图片文件,读入前面54个字节。检查“BM”标志,如果不是BMP退出。 将BMP文件的主要信息读入BMPINFO结构体,如果文件是压缩过的,也不支持,退出程序。 从127行开始,一行一行的读取位图的点阵数据,送液晶显示。 (3)程序结构和流程设计 先添加命令mptest及其处理程序。 在处理程序中,主要作如下处理: res = f_open ( &BmpFile
[单片机]