UAC2.0 Win10原生驱动已经支持,同时UAC2.0较UAC1.0有天生的高带宽、低延时的优势。支持32bit 384k的音频格式,同时支持USB High Speed!
stm32f407+USB3300


为什么要在高速USB模式下运行UAC2.0???
  • UAC1.0 不支持 32bit音频格式
  • UAC2.0 在USB 全速模式下 ,96K@32bit播放和录制只能单独使用!!
  • UAC2.0 在USB全速模式下,不能使用异步模式(linux 可以,但win10不行)

基于以上3点,高速USB模式下 UAC2.0才能达到高音质低延时的目的


UAC2.0 同步模式 & 异步模式
模式说明备注
同步模式(Synchronous)发送端和接收端速率Fs与SOF同步发送端和接收端分别以各自的时基运行
自适应模式(Adaptive)发送端使用显式反馈速率取决与发送端
接收端适应发送端的速度
异步模式(Asynchronous)接收端使用显式反馈速率取决与接收端
接收端实时反馈数据速率,发送端依据接收端反馈适时调节发送速率
异步模式的必要性
  1. PC时钟 和 stm32的时钟各自运行,必然存在时钟不同步因素
  2. 由于时钟不同步,必然导致,或PC发送数据过快,或stm32处理数据过快
  3. 数据速率不同步,会导致stm32内部buffer上溢或下溢,从而出现播放丢帧或数据混叠
异步模式下 feedback运行原理
  1. PC 端以PC的时钟基准进行发送数据,此速率表现在USB SOF上
  2. stm32 以USB SOF为基准(High Speed 125us),测量 I2S 数据实际发送速率(相对USB时钟的samplerate)
  3. 将测量得到的samplerate,以规定的格式通过feedback端点发送到PC
  4. PC 根据接收端反馈的samplerate,动态调整数据发送速率

详细参考http://www.usbzh.com/article/detail-274.html

Logo

更多推荐