Token8 2021-03-26 16:40 采纳率: 0%
浏览 80

麻烦精通I2S的高手指教一下,造成I2S的BCLK抖动的原因有哪些?

我的MCLK是通过锁定BCLK来获取时钟,BCLK不稳,一直没有音频输出

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-23 21:40
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    I2S总线上的BCLK(基准时钟)和MCLK(主时钟)之间的同步问题可能会导致I2S的音频输出不稳定。以下是一些可能导致这种情况的原因:

    1. 晶体振荡器失效:如果BCLK或MCLK的晶体振荡器出现问题,可能会导致其频率漂移。

    2. 时钟源切换失败:在设备从一个时钟源切换到另一个时钟源的过程中,可能由于硬件故障而导致BCLK和MCLK之间的同步丢失。

    3. 硬件电路设计缺陷:如果BCLK和MCLK之间没有足够的隔离措施,可能会发生信号冲突,从而影响同步。

    4. 外部噪声干扰:外部的电磁干扰、电源波动等都可能导致BCLK和MCLK之间的同步失真。

    5. 软件错误:编程过程中,如果对BCLK和MCLK的操作不当,也有可能会导致同步问题。

    6. 硬件老化:长期使用后,硬件设备可能会出现老化现象,影响其性能和稳定性。

    要解决上述问题,可以尝试以下几个步骤:

    • 检查和更换晶体振荡器:确保BCLK和MCLK的晶体振荡器工作正常。
    • 进行时钟源切换测试:模拟设备从一个时钟源切换到另一个时钟源的过程,观察同步状态是否稳定。
    • 优化硬件电路设计:确保BCLK和MCLK之间有足够的隔离措施,防止信号冲突。
    • 处理外部噪声干扰:采取适当的屏蔽措施,减少外界干扰的影响。
    • 定期维护和升级硬件:对于老化的硬件设备,定期进行维护并更新相关的驱动程序,以保持其最佳性能。
    • 编程过程中的正确操作:在编程过程中,确保对BCLK和MCLK的操作正确无误,并避免因编程错误导致的问题。

    如果你已经尝试了以上方法但仍然无法解决问题,建议联系制造商的技术支持或者寻求专业的维修服务。

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵