找回密码
 -注册-
楼主: aarwwefdds
打印 上一主题 下一主题

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

[复制链接]
61
发表于 2017-9-23 21:42 | 只看该作者 来自 中国
我可能大背景没描述!

我是在Linux下,在应用层,去实现uac2.0协议(绕过了底层uac驱动),和外接音频解码器通信。
现在已经能够完全识别设备,并进行控制传输。
在播放音频时,即同步传输(iso)时,播放效果很乱(音频失真还有杂音)。

外接音频解码器:32bit,4声道。(设备信息中读取的)
音源:16bit,2声道。

按照你的讲解,我应该要把音源数据转换成32bit、4声道,再传给外设就OK?
回复

使用道具 举报

62
 楼主| 发表于 2017-9-24 22:04 | 只看该作者 来自 上海
TokuRin 发表于 2017-9-23 21:42
我可能大背景没描述!

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

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

使用道具 举报

63
发表于 2017-10-18 22:52 | 只看该作者 来自 四川成都
本帖最后由 rgwan 于 2017-10-18 22:58 编辑
aarwwefdds 发表于 2017-4-23 21:53
其实buffer也没那么精贵,现在的设备挂个几兆RAM轻而易举的事情,也不增加多少成本

主要是现在有两种 ...

其实这个东西还得看芯片。对通用单片机/FPGA之类的没APLL电路的芯片来说。做异步反而简单。如果系统有可以lock住SOF的PLL,那就是做同步简单了。

我个人还是比较喜欢做异步,因为好控制,对现在我手上的平台来说,实现比较简单(虽然对PC上需要实时应用的软件不友好),也比较好控制。近期打算公开一个STM32F205+CPLD UAC1、UAC2的实现,有空可以去我GitHub逛逛。

回复

使用道具 举报

64
发表于 2017-10-18 22:54 | 只看该作者 来自 四川成都
本帖最后由 rgwan 于 2017-10-18 23:17 编辑
TokuRin 发表于 2017-9-23 21:42
我可能大背景没描述!

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

在应用层(user-space)上,实时性是比较难保证的,你可能遇到的是丢帧和长度调整不到位的问题(跟随声卡要求)。建议你还是用内核驱动,但是独占ALSA接口。

回复

使用道具 举报

65
发表于 2017-10-18 23:14 | 只看该作者 来自 四川成都
蓝子风 发表于 2017-4-28 09:45
按照USB规范,是BULK

求仔细读文档,看不懂就看实现……别上来就言之凿凿

上次在B站闲逛还看到你和其他人争论频率分辨率是和采样率有关还是跟分析窗口有关……本来很想发给你一本奥本海姆的信号与系统,可惜没绑手机发不出去233333333

回复

使用道具 举报

66
发表于 2017-10-20 23:01 | 只看该作者 来自 福建福州
本帖最后由 蓝子风 于 2017-10-20 23:14 编辑
rgwan 发表于 2017-10-18 23:14
求仔细读文档,看不懂就看实现……别上来就言之凿凿

上次在B站闲逛还看到你和其他人争论频率分辨 ...

B站上的那个呀,如果纯粹正弦波可以没问题,但是问题是音频信号中不止正弦波。你的很多信号理论也基本是根据这样的,比如22.05K信号只有2个采样的波形,你怎么分辨是正弦波还是三角波或者方波?所以其实越接近采样表达的极限,会有一定的问题。因为很多差不多比较高频的非线性波形,包含的谐波成分已经远超过这个频段了。所以就造成了损失。而很多这样的波形变化,是人耳可以分辨出来的。这也是为什么虽然人耳只能听到20-20K的音频信号,但是高采样高比特在声音上会比CD标准的16BIT/44.1K要出色。

有些时候是有认知错误,是真的错了,自然需要改正。我也有过不少的认知错误,比如早期的时候对于异步模式的理解错误。

当然了,你是专业者,或者你可以直接按照自己的元件用FPGA什么的搭一个你所谓的信号理论出来的USB DAC???
回复

使用道具 举报

67
发表于 2017-10-20 23:58 | 只看该作者 来自 山东
  技术文好评,虽然难以看懂
  个人见解,HIFI烧油,也是PC攒机烧友
  相对于笔记本,尽量不要USB直连,OEM的板子用料什么的不会太好。
  攒机里对于声卡就不必多说了,ROG的板子声卡也不会太好
  至于USB,现在都是3.0,3.1的时代了,稍微超频好点的板子用料,元器件都不会太差。
  发射端完全就不是瓶颈,看你收不收得到了,而且USB还可以绕过板载声卡(我的板载都是关闭的不用)
  USB是趋势,以后PCHIFI会占大多数,界面无可匹敌,通用性无敌~
  手上是华擎X370太极,买根乐机宝得的线刚开始有刺啦声,现在完全没有,听的美滋滋~
回复

使用道具 举报

68
发表于 2017-10-21 00:03 | 只看该作者 来自 山东
wangzx998 发表于 2017-10-20 23:58
技术文好评,虽然难以看懂
  个人见解,HIFI烧油,也是PC攒机烧友
  相对于笔记本,尽量不要USB直连,O ...

  usb这个东西通用程度太高,不止音频传输,设备输入输出慢慢都做成USB了
  可能没资格评论这个技术文(因为这些东西真的不懂啊)
  但是这是趋势,USB相当于一台1000马力的八缸发动机了,怎么基于这个心脏做出好车,匹配好变速箱已经不是发动机的问题了
回复

使用道具 举报

69
发表于 2017-10-21 15:54 | 只看该作者 来自 四川成都
本帖最后由 rgwan 于 2017-10-21 15:58 编辑
蓝子风 发表于 2017-10-20 23:01
B站上的那个呀,如果纯粹正弦波可以没问题,但是问题是音频信号中不止正弦波。你的很多信号理论也基本是 ...

公开了,欢迎去我的GitHub。最近缺钱,打算做一个套件回血。到时候板子我能免费送一波,器件就没法送了。

另外的,20k的非正弦波当然会被切除高频谐波变为正弦波,毕竟数字采样只能够表示带限信号。不过……首先你得能分辨的出20k以上谐波的存在……
回复

使用道具 举报

70
发表于 2017-10-21 21:23 | 只看该作者 来自 福建福州
rgwan 发表于 2017-10-21 15:54
公开了,欢迎去我的GitHub。最近缺钱,打算做一个套件回血。到时候板子我能免费送一波,器件就没法送了。 ...

你的GitHub???恕我孤陋寡闻,查了下,不是软件项目的托管平台吗?给个访问方式呀~~~有空可以捧捧场的说呢。

期待早日能成功吧~~~因为每年这么多身怀“高大上”作品的人被淹没在茫茫人海中。祝阁下能脱颖而出吧。

=================================================================================

理论上人耳虽然听不出来20K以上的正弦波,但是不代表人耳听不出20K以上信号对20K以内信号的影响。所以个人是认同高采样是会带来可闻的听感改善。同样高BIT带来的动态和细节上的提升应该更容易让人感觉到提高。这就是我在B站那个视频里坚持的理论,只是表达方式上可能被人带歪了。
回复

使用道具 举报

71
发表于 2017-10-22 03:25 | 只看该作者 来自 北美地区
wangzx998 发表于 2017-10-21 00:03
usb这个东西通用程度太高,不止音频传输,设备输入输出慢慢都做成USB了
  可能没资格评论这个技术文( ...

虽然我没有看懂,但我怎么觉得这个意思是USB现在是个100马力的发动机,难题就在如何基于它做出好车。
回复

使用道具 举报

72
发表于 2017-10-22 21:29 | 只看该作者 来自 山东
天将明 发表于 2017-10-22 03:25
虽然我没有看懂,但我怎么觉得这个意思是USB现在是个100马力的发动机,难题就在如何基于它做出好车。

  正是这个意思,通用性上USB无可匹敌
  协议和技术上可以挖掘的东西还有很多,而且支持的格式也多
回复

使用道具 举报

73
发表于 2018-12-14 17:02 | 只看该作者 来自 山东济南
楼主你好,本人小白刚接触一点usb音频,我enable了playback interface之后,给isochronous endpoint按照maxpacketsize和interval发送pcm数据,从耳机那边只能听到嗡嗡的杂音,请问这是问什么呀?
回复

使用道具 举报

74
发表于 2018-12-14 21:18 | 只看该作者 来自 浙江衢州
专业尸体 发表于 2018-12-14 17:02
楼主你好,本人小白刚接触一点usb音频,我enable了playback interface之后,给isochronous endpoint按照max ...

20年经验老师傅,专业维修菊花
回复

使用道具 举报

75
发表于 2018-12-17 10:22 | 只看该作者 来自 山东济南
ppqppqpp 发表于 2018-12-14 21:18
20年经验老师傅,专业维修菊花

菊花很健康,暂无维修需求
回复

使用道具 举报

76
发表于 2023-1-22 13:25 | 只看该作者 来自 陕西
挖个帖。
大佬我想问问很多玩OSU这种对延迟比较敏感游戏的玩家常常说独立解码器会有声画不同步的情况,他们反而推荐使用板载声卡。
请问属实吗?(我自己没这方面感受),是什么原因造成的?
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 21:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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