找回密码
 立即注册
楼主: suncat0504

Ai8051U的I2S外设时钟问题

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-15 16:24:12
已绑定手机

79

主题

5130

回帖

9132

积分

超级版主

DebugLab

积分
9132
发表于 2025-5-14 18:20:27 | 显示全部楼层
建议直接发32位数据,低16位填0,DAC用16位、24位、32位都可以,兼容性好
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:524
  • 最近打卡:2025-06-15 19:46:59

17

主题

13

回帖

125

积分

注册会员

积分
125
发表于 2025-5-14 20:51:06 | 显示全部楼层
Debu*** 发表于 2025-5-14 18:13
绿色LRCK一个周期近似10us,1s/10us=100K,这应该是96K的采样率,并非48K
你所有截图的LRCK都是图文不符
...

程序代码中的设置,没有设置为96K啊。同一个程序,采样率调整为48KHz、通道32位宽的时候,BLCK信号频率就是正常的。

点评

但你逻辑分析仪显示LRCK就是约100M  详情 回复 发表于 2025-5-14 21:45
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:524
  • 最近打卡:2025-06-15 19:46:59

17

主题

13

回帖

125

积分

注册会员

积分
125
发表于 2025-5-14 20:52:05 | 显示全部楼层
Debu*** 发表于 2025-5-14 18:20
建议直接发32位数据,低16位填0,DAC用16位、24位、32位都可以,兼容性好

好的。谢谢指导!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2025-06-15 16:24:12
已绑定手机

79

主题

5130

回帖

9132

积分

超级版主

DebugLab

积分
9132
发表于 2025-5-14 21:45:20 | 显示全部楼层
sunca*** 发表于 2025-5-14 20:51
程序代码中的设置,没有设置为96K啊。同一个程序,采样率调整为48KHz、通道32位宽的时候,BLCK信号频率就 ...

但你逻辑分析仪显示LRCK就是约100M
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:93
  • 最近打卡:2025-06-14 13:12:15

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-14 23:57:30 | 显示全部楼层
1、I2S的BLCK时钟是数据位流时钟,其值 = 量化长度 *通道*采样率,比如48KHz采样,16位量化,2通道,则BCLK = 16*2*48=1536KHz=1.536MHz。
2、MCLK是给DAC的时钟,由于是256倍过采样,所以MCLK=fs*256,比如48KHz采样,则MCLK=48*256=12.288MHz。所以推荐主频为12.288MHz*3=36.864MHz。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:524
  • 最近打卡:2025-06-15 19:46:59

17

主题

13

回帖

125

积分

注册会员

积分
125
发表于 2025-5-15 12:00:08 | 显示全部楼层
梁*** 发表于 2025-5-14 23:57
1、I2S的BLCK时钟是数据位流时钟,其值 = 量化长度 *通道*采样率,比如48KHz采样,16位量化,2通道,则BCLK ...

谢谢指导!我之前是按照例程中推荐的45MHz进行烧录的。后面试试您推荐的主频。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:524
  • 最近打卡:2025-06-15 19:46:59

17

主题

13

回帖

125

积分

注册会员

积分
125
发表于 2025-5-15 12:03:02 | 显示全部楼层
Debu*** 发表于 2025-5-14 21:45
但你逻辑分析仪显示LRCK就是约100M

那是不是说,程序代码中设置I2S的相关代码有问题?或者代码没问题,但单片机内部协调有问题?毕竟逻辑分析仪只是用来测试运行结果的。

点评

你可以参考我的例子,里面的时钟设置。 Ai8051U实现USB全双工声卡,同时 录音/ 放 音,微信通话/腾讯会议 可用, 重磅开源 https://www.stcaimcu.com/thread-11217-1-1.html AI8051U播放下载在Flash中的立体声32K采  详情 回复 发表于 2025-5-15 13:17
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:93
  • 最近打卡:2025-06-14 13:12:15

74

主题

6088

回帖

1万

积分

超级版主

积分
12715
发表于 2025-5-15 13:17:27 | 显示全部楼层
sunca*** 发表于 2025-5-15 12:03
那是不是说,程序代码中设置I2S的相关代码有问题?或者代码没问题,但单片机内部协调有问题?毕竟逻辑分 ...

你可以参考我的例子,里面的时钟设置。

Ai8051U实现USB全双工声卡,同时 录音/ 放 音,微信通话/腾讯会议 可用, 重磅开源
https://www.stcaimcu.com/thread-11217-1-1.html

AI8051U播放下载在Flash中的立体声32K采样的ADPCM音乐
https://www.stcaimcu.com/thread-10641-1-1.html



MCU的主频或PLL时钟必须是 256*SampleRate的整数N倍。
数据格式为立体声双通道16位,I2S主时钟MCLK=256*SampleRate=FOSC(或PLL CLK)/N,左右声道时钟WS=SampleRate,数据时钟BCLK=32*SampleRate。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:524
  • 最近打卡:2025-06-15 19:46:59

17

主题

13

回帖

125

积分

注册会员

积分
125
发表于 2025-5-15 16:01:56 | 显示全部楼层
梁*** 发表于 2025-5-15 13:17
你可以参考我的例子,里面的时钟设置。

Ai8051U实现USB全双工声卡,同时 录音/ 放 音,微信通话/腾讯会议 ...

好的,谢谢!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:137
  • 最近打卡:2025-06-15 21:02:45
已绑定手机

6

主题

109

回帖

505

积分

高级会员

积分
505
发表于 2025-6-6 20:58:55 | 显示全部楼层
学到了
学习
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 04:22 , Processed in 0.353851 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表