I2S协议及在verilog中实现

I2S协议及在verilog中实现——(一)I2S协议


参考文章: http://www.only2fire.com/archives/108.html
灵感来源&图源: https://blog.csdn.net/jackailson

I2S协议内容

基本介绍

I2S协议的作用:传输音频数据,即将音频的波(并行信号)转化成一位一位的数据(串行信号),也就是并行转串行的一个协议,通过2个时钟控制左右声道和串行数据传输。常用于AD采集卡、DA输出等。

优点:由于采用独立的导线分离时钟信号和数据,所以能够较好的控制数据输出的时刻,减小了音频抖动

常见标准

飞利浦原始标准
飞利浦标准的IIS
左对齐标准
在这里插入图片描述
右对齐标准
在这里插入图片描述

信号说明

I2S协议中必不可少的三个信号为LRCK、BCLK和DATA。常用信号还有主时钟信号CLK,使能信号in_valid,数据的首位或末位信号MSB和LSB。

LRCK:帧时钟,用于判断输出数据为左声道和右声道,例如飞利浦标准中的LRCK高电平则传输右声道数据,低电平则传输左声道数据。频率可以自行调节,但需要保证每个LRCK时钟周期内BCLK时钟的数量大于数据位数。

BCLK:串行时钟,用于传输数据的时钟,每个BCLK的下降沿传输一位DATA数据,BCLK的时钟频率一般为2×采样频率×采样位数,因为要保证每秒所采的数据要全部通过BCLK控制输出。

DATA:音频数据,通常为AD采集后发送过来的波形信号一位一位传输,即并行转串行。
*CLK:主时钟,频率至少为BCLK的一倍。
*in_valid:使能信号,自己依照整体的顶层模块设计,用于控制整体的使能开关。
*MSB和LSB信号用于判断输出数据的首位和末位,进而决定

工作原理

(标准对齐和左对齐)由LRCK信号的高、低电平来判断输出左声道或右声道,每个BCLK的下降沿进行一位数据的传输,通过BCLK来决定每一位数据的输出,即每个BCLK的下降沿将输入进来数据的某一位赋值给DATA进行输出,进行程序设计时不需要MSB信号进行判断首位,但是对于LSB信号也要根据需求判断是否需要。
(右对齐)工作原理与上述基本相同,但对于MSB和LSB的判断需要根据硬件进行设计。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值