stm32收到的数据不完整_STM32 USB 设备音频数据流

本文探讨了STM32在USB设备音频数据流应用中遇到的同步问题,包括USB参考时钟与系统时钟不同步导致的音频不同步、缓冲区管理问题。提出了使用精准时钟、深缓冲、DMA以及USB同步机制等解决方案,详细阐述了STM32的同步实现,如外部时钟同步、PIPE反馈、SRC同步等,并强调了异步机制在减轻MCU负荷和资源占用方面的作用。
摘要由CSDN通过智能技术生成

音频数据流的应用

音频数据流是没有任何压缩的音频数据,我们可以直接通过I2S传输到数字功放,也可以对这些数字音频进行处理,比如EQ音量控制、音质补偿等等。

典型应用举例

e09d9484de98353c36814a10eabe89b7.png

首先是PC,然后PC通过USB数据线连接到MCU,MCU再通过I2S输出到功放,最后连接到喇叭或耳机。

当然,还有GUI的部分显示可以控制,同时还可以通过麦克风把音频传输到PC进行刻录或保存。

同步问题

76aff7e3c4b865a56fcbdbfee7943403.png

USB外设时钟、I2C外设时钟和外部功放时钟是同步的,因为它们共用一个时钟域,但不能同步PC的时钟域。

这些不同的时钟域将会造成音频的不同步,出现断音或丢失部分音频。

主要问题

1. USB的参考时钟(SOF)并不跟系统时钟同步,主要表现在三个方面:

  • 由于温度、电压的不同,引起时钟信号的变化,会产生一些Jitter;
  • 时钟本身的精准度
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值