C6748和音频ADC连接时候的TDM以及I2S格式问题

一.C6748支持的音频数据格式

    1.首先是TDM格式.其中可以通过寄存器设置slot的数量以及延时的位数,

 

2.另一种是标准的i2S格式,如下图,在配置寄存器的时候,如果把slot数量配置成2,那么C6748的时钟就会相应的变成下图的格式.(如高亮部分说明)

 

二.C6748和音频ADC连接时需要注意的问题

我们的C6748在连接音频ADC的时候,有三个时钟管脚,分别是AHCLKR,ACLKR,AFSR.我们的ADC也有三个与时钟相关的管脚,分别是MCKI,BICK,LRCK,在连接的时候,我们的ADC一般都是用的从模式,也就是由我们的C6748给ADC提供相应的时钟,C6748的AHCLKR和ADC的MCKI都连接到晶振上面,然后ACLKR连接到ADC的BICK上面给ADC提供位时钟,,AFSR连接到LRCK上面给ADC提供帧时钟,其中C6748的ACLKR由AHCLKR经过分频得到,AFSR又是经过ACLKR分频得到.

我们的ADC一般都是用BCLK作为参考时钟,计算方式就是BCLK=采样率*通道数*每个通道的宽度=16000*4*32,一般是这样的.

下面说一下C6748和音频ADC连接时两个需要注意的问题.以下两个问题已经经过代码进行试验验证.

1.帧时钟问题,

    在前面介绍C6748的TDM的格式的时候我们看到帧时钟先是高电平,然后是低电平,而如果我们的音频ADC设置成下图Figure29的格式,也就是帧时钟先低后高的模式,那么这样连接时候也是能够采集到ADC的声音的,只不过这时候采集的顺序是R1,L2,R2,L1,相当于顺序乱了,这样通道的对应关系就乱了,

 

2.延时一位的问题

    如果我们的C6748配置的TDM格式是延时一位的,也就是相对于帧时钟延时一个位时钟之后才传输数据,而我们的ADC配置的模式Figure28的模式,也就是数据相对于帧时钟没有延时,那么这个时候同样也是能够采集到音频数据的,只不过这时候采集的音频数据相对于真实数据最高位错了,这样导致的后果就是音量比实际音量大或小.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈 洪 伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值