I2S音频接口的理解

1、概念理解

通常IIS接口由,MCLK、SCK、LRCK、SDI、SDO组成。

位时钟(BCLK):又名SCK,对应每一位(bit)数据,都有一个脉冲。

BCLK = 2 * 采样频率 * 量化位数。

问:为什么BCLK是采样频率和量化位数乘积的2倍?

答:量化位数是相对于单声道来说的,SCK是同时用于左、右声道数据交替传输的时钟。例如先传输16个bit的左通道数据,再传输16个bit的右通道数据,一直这样按顺序交替传输音频。

采样频率:等于LRCK。一般音频使用16K。还有多种采样频率,看需求。

LRCK:用于切换左右声道的数据。一般,1表示左声道,0表示右声道。

MCLK:主时钟(也名过采样率),一般是采样频率的128、或256、或384或512倍。

量化位数:常见的位数有16bit,24bit,32bit,20bit。

2、计算方式

假设采样频率是16K(LRCK),MCLK是256倍,量化位数是16bit。

MCLK = 16K * 256 = 4096 K = 4M

BCLK = 2 * 16K * 16 = 16 K * 32 = 512K

所以配置时,先弄清楚自己需要的数据位数,其次是采样率,再是过采样率的倍数,通过计算,得出MCLK的大小。再去配置系统分频,才能确保数据的正确接收或者发送。

时钟配置是否正确?示波器量IIS引脚(MCLK,SCK,LRCK)。

假设系统现在时钟大小有限,可以通过减小过采样率的倍数,得到一个比较小的MCLK。

每个系统的分频规则不一样,具体看数据手册。

3、其他概念

单声道merge:假如量化位数是16bit,采集左通道数据时,将16bit的左通道数据按32位word方式存储,那么缓存看到的1个word只有2个byte数据,有2个00byte

双声道merge:例如量化位数是16bit,将左声道16bit、右声道的16bit数据合并存为一个32位word,程序处理时,想要单独获取左声道数据,需要去缓存分离数据

单声道:只有一个声道数据,左声道或者右声道

双声道:双声道数据,通常立体声就是双声道的数据

IIS_RX:接收数据

IIS_TX:发送数据

CODEC_DA:DAC,数字转成模拟输出

CODEC_AD:ADC,模拟转成数字输入

数据交换:左右通道数据交换传输

  • 15
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您可以使用以下资源来驱动WM8978芯片的I2S接口: 1. 了解WM8978芯片的功能和配置参数,以便正确配置它的工作模式。您可以参考中的信息来了解WM8978的基本介绍和配置。 2. 学习有关I2S传输PCM音频数据的知识,以便正确配置WM8978的I2S接口。您可以参考中的文章来了解I2S传输的原理和配置方法。 3. 参考中的示例代码,了解如何在STM32上实现I2S接口与WM8978芯片之间的通信和数据传输。 4. 如果您需要更详细的资料和示例代码,您可以参考中的资源下载。 总结起来,要驱动WM8978的I2S接口,您需要了解WM8978芯片的功能和配置参数,学习I2S传输PCM音频数据的知识,并参考示例代码来实现I2S接口与WM8978芯片之间的通信和数据传输。以上引用的资源可以帮助您更好地理解和实现这些步骤。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [I2S 总线学习:I2S驱动WM8978](https://blog.csdn.net/Open_The_World/article/details/121264452)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Audio】基于STM32 I2S移植WM8978 Audio Codec驱动](https://blog.csdn.net/ZHONGCAI0901/article/details/116323920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值