从学习I2S ip core datasheet展开

从一个I2S core的手册中提炼如下信息:

1.I2S全称inter-IC sound。这个IP core作用是 Wishbone主设备将立体声音频流式传输到支持 I2S 的设备。
2.I2S 接口由两个独立的core组成,一个发送器和一个接收器。 两者都可以在主模式或从模式下运行。 I2S 总线有 3 个信号:
    SCK – 时钟,也可称BCLK/bit clock/SCL/serial clock
    WS – 字选择(左/右通道)也称帧时钟/LRCLK
    SD – 数据,也称SDATA/SDIN/SDOUT
    有时还需要一个MCLK,比如在这个ip核里,这个时钟应该就是提供给wishbone接口的时钟,一般是12.288M 18.432M,通常是采样率的256倍或384倍。
    主机产生 SCK 和 WS 信号,但数据总是从发送器到接收器。SD上先发MSB,WS高电平表示右声道,低电平表示左声道。
3.根据SDATA相对于BCLK和LRCLK位置的不同,I2S分为三种不同的工作模式,分别为标准I2S模式、左对齐模式和右对齐模式:
    I2S Phillips Standard I2S格式
    Left Justified Standard 左对齐格式
    Right Justified Standard 右对齐格式
    标准模式:数据的MSB从LRCLK边沿起延迟1BCLK。
    左对齐:数据的MSB在LRCLK边沿起第一个BCLK上升沿,用的比较少。
    右对齐:数据的LSB靠左LRCLK的上升沿,Sony使用这种格式。
4.RX和TX的IP都由采样buffer、寄存器、串并转换这3个主模块组成。串并模块对接I2S接口,把I2S上的数据转成并行后存入buffer(如果是TX,则是把buffer里的数据通过I2S总线发出)。寄存器和buffer对接wishbone总线。寄存器除了跟串并模块通信,还负责向主控上报中断。
采样缓冲区的大小由 Wishbone 地址总线宽度决定。最小采样缓冲区大小为 16 字节。 采样缓冲区被分成两个相等的部分,下部和上部,当其中任何一个被音频数据填满时(如果是TX,则是被清空),用户都会收到通知。
5.如果被选做了master,则有义务向slave发出SCK,SCK的频率是基于wishbone总线时钟的分频,分频比可以通过寄存器配置。SCK频率=采样率*分辨率*2。
6.TXversion和RXversion寄存器的默认值是通过generic在编译后就配好了,里面主要是wishbone的数据宽度、地址宽度还有master/slave选择的配置。数据宽度应该是跟音频的分辨率(或称位宽)相关,数据宽度需要大于分辨率?而地址宽度决定了buffer的大小。
7.RXconfig和TXconfig里包含RES(采样数据分辨率)、RATIO(时钟分频比)、R(T)SWAP(左右声道数据在奇地址和偶地址的分配方式)、R(T)EN、R(T)INTEN(中断使能)。复位时,所有寄存器信息全部清零。
8.RxIntMask和TxIntMask配置中断使能,buffer上部和下部可以分开配置。复位时,所有寄存器信息全部清零。
9.RxIntStat和TxIntStat指示中断状态,buffer上部和下部的中断分开指示。中断发生后,可以对相应bit写1来清除中断。复位时,所有寄存器信息全部清零。
10.Receive sample data和Transmit sample data存的接收和要发出的数据,如果数据分辨率只有16bit,那16~31bit放空。

学习延申:从网上摘抄汇总的I2S、PCM(TDM)、PDM的差异
PCM(TDM)接口
1.PCM和PDM既是硬件接口,也是音频编码格式(模拟信号数字化过程即为编码)。I2S和PCM(TDM)传输的数据是PCM编码的音频数据,而PDM传输的数据是PDM编码的音频数据。
2.PCM接口包括四根信号:
    PCM_CLK 数据时钟信号
    PCM_SYNC 帧同步时钟信号
    PCM_IN 接收数据信号
    PCM_OUT 发送数据信号
3.相对于I2S通常用来传输音乐,PCM通常用来在AP和modem之间传输语音,即双向打电话。AP和蓝牙之间也通过PCM来传输语音,但一般仅是打电话的语音,放音乐的蓝牙数据通常走uart。
4.PCM也是先传MSB,多达16路数据(相对于I2S仅支持左右声道即两路数据)。
根据 SD相对帧同步时钟FSYNC的位置,TDM分两种基本模式:
Mode A:数据在FSYNC有效后,BCLK的第2个上升沿有效。
Mode B:数据在FSYNC有效后,BCLK的第1个上升沿有效。
5.TDM指的是PCM采用的技术---时分复用。PCM就是依靠TDM技术得以支持16路数据(当然也可以只有左右声道),像现在最流行的语音智能音箱的7麦克风矩阵,一般都是用TDM来传的数据,同时可以传输7路麦克风输入和3路以上的音频反馈信号。

PDM接口
PDM多用于传输麦克风录音,接口只有两根信号线:PDM_CLK和PDM_DATA。
PDM的典型场景用于codec连数字mic,codec提供时钟,mic返回数据。

PCM编码
PCM (Pulse Code Modulation) 是通过等时间隔(即采样率时钟周期)采样将模拟信号数字化的方法。
PCM使用等间隔采样方法,将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度),因此PCM方式每次采样的结果都是N bit字长的数据。

PDM编码
PDM(Pulse Density Modulation)是一种用数字信号表示模拟信号的调制方法。同为将模拟量转换为数字量的方法。
PDM使用远高于PCM采样率的时钟(1~3M?)采样调制模拟分量,只有1位输出,要么为0,要么为1。因此通过PDM方式表示的数字音频也被称为Oversampled 1-bit Audio。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值