博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C6748和音频ADC连接时候的TDM以及I2S格式问题
阅读量:4325 次
发布时间:2019-06-06

本文共 914 字,大约阅读时间需要 3 分钟。

一.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的模式,也就是数据相对于帧时钟没有延时,那么这个时候同样也是能够采集到音频数据的,只不过这时候采集的音频数据相对于真实数据最高位错了,这样导致的后果就是音量比实际音量大或小.

 

 

转载于:https://www.cnblogs.com/cumtchw/p/10999304.html

你可能感兴趣的文章
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-3.热部署在Eclipse和IDE里面的使用...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息...
查看>>
Linux下Nginx安装
查看>>
LVM扩容之xfs文件系统
查看>>
Hbase记录-client访问zookeeper大量断开以及参数调优分析(转载)
查看>>
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>