找回密码
 -注册-
12
返回列表 发新帖
楼主: aarwwefdds
打印 上一主题 下一主题

【原创】拒绝YY 从基础讲解USB/UAC运作原理

[复制链接]
21
 楼主| 发表于 2017-4-28 11:51 | 显示全部楼层 来自 上海市
本帖最后由 aarwwefdds 于 2017-4-28 11:56 编辑
蓝子风 发表于 2017-4-28 11:24
实际上HUB转译之后,变相的相当于时钟重新分配了。如果能再加上传输损耗补偿就更好了。对于UAC也算是一个 ...

不会的...HUB不转译高速设备的数据包 直接pass下去...

你可以看下TT的USB包是怎么结合进高速链路里的。即使是TT 也是Host告诉HUB可以发送TT的包以后HUB才发送..因此本质上还是Host决定HUB什么时候可以发全速设备的数据。当然因此HUB需要一定的控制和buffer机制 比较复杂

另外...之所以需要TT就是为了避免你说的插一个全速其它都变全速这种情况。

补充:不然还要啥TT,直接插入全速设备的时候HUB声明自己变全速就行了...
回复

使用道具 举报

22
 楼主| 发表于 2017-4-28 12:09 | 显示全部楼层 来自 上海市
你可以认为多个TT相当于HUB集成了多个全速/低速控制器 单个TT相当于HUB只有一个全速/低速控制器。单TT的话HUB上的全速/低速设备都共享一个12M带宽,多个TT就是不同的口有不同的12M带宽,但上行口还是一样的 高速

这里我要YY下:因为每个全速/低速口怎么传数据需要HUB和Host共同协作,产生的时间抖动不稳定问题“可能”会更严重/复杂

至于HUB上的高速设备...它实际上能看到HUB接收的TT包,所以对于HUB的上的高速设备,HUB上的全速/低速设备只不过是总线上另一个传输事务罢了。HUB不需要为高速设备做事务翻译 完全不需要
回复

使用道具 举报

23
 楼主| 发表于 2017-4-28 13:41 | 显示全部楼层 来自 上海市
duben 发表于 2017-4-28 13:27
这个贴是不是要发到PCHIFI板块去

这个属于“HIFI理论”吧,发这里我觉得没啥不对。特别是关乎于所谓的“数字界面”(实际是DDC)的一些运作方式,这些是基础了

如果有空的话我再写写关于真·“数字界面”的事情 什么8XR之类的
回复

使用道具 举报

24
 楼主| 发表于 2017-4-28 19:05 | 显示全部楼层 来自 上海市
蓝子风 发表于 2017-4-28 17:38
哦,明白了,3Q呢。这样说来HUB还有肩负一个任务就是分类PC-HUB之间的带宽给下一级设备,STT就是只有提供 ...

有的 HUB也确实需要一定的带宽管理。不过主要的分配任务还是在PC,也就是Host上。Host会给出什么时候应该做分割传输的信号,然后这时候HUB再把低速/全速设备的数据往上报。当然实际的流程更复杂,期间涉及多个buffer的管理和控制,是USB2.0里最复杂的逻辑了

它的逻辑方式可以参考一下这个
http://read.pudn.com/downloads129/ebook/551313/USB_2.0.pdf

然后USB3...这货就直接不要什么TT了 物理上向下兼容...
回复

使用道具 举报

25
 楼主| 发表于 2017-9-23 04:16 | 显示全部楼层 来自 上海市
TokuRin 发表于 2017-9-22 15:48
楼主,咨询个问题!!!
音频文件本身采样精度是16bit,外置音频解码器(乐之邦的一个设备)是32bit(bBit ...

最好的办法就是直接塞0了。方便处理

而且在某些情况下,例如在播放过程中应用了DSP,你可以很方便的从塞0直接转变为32位输出,保留更多的信息给解码器
回复

使用道具 举报

26
 楼主| 发表于 2017-9-23 19:34 | 显示全部楼层 来自 上海市
TokuRin 发表于 2017-9-23 17:57
多谢回复!!!
所以,是通过主机端软件修改音频数据,达到主机端和外设端相互匹配bit参数的(外设的bit ...

descriptor这玩意你改不了

然后是,(排除掉软件混音设备和SRC)在主机端处理过程中其实都是32位的。最后再根据需要裁切或者塞0。这个过程对音质无损

外设是4声道,音源是2声道的话。看你自己怎么弄,你可以把2声道直接输出到FL和FR(这个映射你可以自己在驱动面板设置或者驱动也有默认映射信息)。或者扩展成4声道输出给设备。一般情况下这些是主机端软件完成
回复

使用道具 举报

27
 楼主| 发表于 2017-9-24 22:04 | 显示全部楼层 来自 上海市
TokuRin 发表于 2017-9-23 21:42
我可能大背景没描述!

我是在Linux下,在应用层,去实现uac2.0协议(绕过了底层uac驱动),和外接音频解 ...

我觉得你应该考虑是扩声道,位深可能不是问题
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2024-5-8 06:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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