UAC设备采用Feedback方案实现时钟同步

本文介绍了如何使用Feedback方案实现USB音频设备与主机的时钟同步,详细解析了USB2.0标准协议中关于异步传输的反馈机制,并提供了反馈数据计算的参考链接和基于STM32的实现思路。
摘要由CSDN通过智能技术生成

前段时间在公司设备上实现了speaker端的feedback功能,这里来总结分享一下,具体代码我就不写了,也没多少。主要是思路分析,毕竟思路在手,天下我有。下面的内容只是一个概述,有兴趣的小伙伴可以留言一起讨论学习。

1.方案需求
设备端通过feedback反馈功能来实现和主机设备的音视频数据在固定的一段时间内需求达成一致,从而达到数据不会丢失或者无法获取到的效果。

2.方案原理
USB2.0标准协议在5.12.4 Isochronous Devices 章节对于Feedback有所讲解。
Source Sink
异步 按采样率定义运行 按采样率定义运行
同步 采样率锁定到SOF 采样率锁定到SOF
适应性 采样率锁定到Sink 采样率锁定到数据流

针对异步传输方式存在反馈机制,异步接收器通过向主机提供显示反馈,相对于USB 微帧频率频率而言所需要的数据速率,这允许主机不断调整发送到接收器的样本数,以便不会发生数据缓存区的下溢或者上溢。
同时在9.6.6章节的Table 9-13. Standard Endpoint Descriptor 中讲解了Feedback端点设置条件的描述,可以概括为下面几个条件:

1)当端点需要配置为反馈端点时,端点传输类型必须为等时传输。
2)反馈端点始终与其服务的数据端点具有相反的方向。
3)如果数据端点有多个,第一个数据端点和反馈端点必须具有相同的端点号,声明上端点号必须是升序的(可不连续),通过此方法来确定反馈端点所服务的数据端点。
当然具体的设置是要结合实际方案的实现,毕竟USB2.0标准协议,只是拿来做参考的。

3.反馈数据的计算

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值