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

其实为什么有很多人觉得数字传输不会错,问题就在这里

[复制链接]
121
发表于 2021-1-8 16:28 | 只看该作者 来自 美国
本帖最后由 tyj518 于 2021-1-8 16:34 编辑
魔神Z 发表于 2021-1-8 16:25
当然有关系了 你不可能全靠理想状态判断事物啊,说白了理想状态是终极目标,也就是完美,现实有完美的硬 ...

USB Audio的异步传输并不是采取这篇文章中给出的物理层上的实现方法。USB标准本身已经把物理层和链路层的机制固定了。
实际上你给出的文章和USB异步传输中的buffer的实现更相关,但buffer已经是接受到USB传送的数据之后了。
回复

使用道具 举报

122
 楼主| 发表于 2021-1-8 16:32 | 只看该作者 来自 湖北武汉
tyj518 发表于 2021-1-8 16:28
USB Audio的异步传输并不是采取这篇文章中给出的物理层上的实现方法。

我是根据XOMS文档然后寻找相关技术的文章的,而且也没有任何证据能表明USB传音频是带校验码传的
回复

使用道具 举报

123
 楼主| 发表于 2021-1-8 16:34 | 只看该作者 来自 湖北武汉
tyj518 发表于 2021-1-8 16:28
USB Audio的异步传输并不是采取这篇文章中给出的物理层上的实现方法。USB标准本身已经把物理层和链路层的 ...

如果只是按公开的USB音频传输标准,那么就没有重传机制,那么异步是用的他独立的机制高于USB协议,也需要有相关文档的说明,好像目前也没有一个人拿的出来
回复

使用道具 举报

124
 楼主| 发表于 2021-1-8 16:37 | 只看该作者 来自 湖北武汉
tyj518 发表于 2021-1-8 16:28
USB Audio的异步传输并不是采取这篇文章中给出的物理层上的实现方法。USB标准本身已经把物理层和链路层的 ...

对啊,异步说白了就是寄存器和寄存器之间的效验,而不是跟主机效验,也就是USB传输完成了以后,USB传过来错了就错,保证的IIS跟接受到USB信号尽量一致,保证这之间不产生新的错误
回复

使用道具 举报

125
发表于 2021-1-8 16:46 | 只看该作者 来自 美国
本帖最后由 tyj518 于 2021-1-8 16:53 编辑
魔神Z 发表于 2021-1-8 16:37
对啊,异步说白了就是寄存器和寄存器之间的效验,而不是跟主机效验,也就是USB传输完成了以后,USB传过来 ...

USB Audio当中接收端是可以给发送端反馈信息的。实际上异步模式中host需要跟随device的时钟,而为了在协议层实现USB时钟与音频时钟的对齐,要求host定期从device获取当前device接收的平均帧率。
回复

使用道具 举报

126
发表于 2021-1-8 16:59 | 只看该作者 来自 贵州贵阳
魔神Z 发表于 2021-1-8 16:12
https://www.cnblogs.com/aliothx/p/13433334.html 可以看下这个文章

这个是物理层的东西,和我们这里讨论的USB协议本身几乎没有关系。
USB的最底层Packet带有CRC,你倒是找个仪器出来测一下不同USB线材的误码率具体是多少来看看?
让大家看看普通的5块钱的USB线材和发烧线材之间到底便宜线材会不会导致CRC Error
回复

使用道具 举报

127
发表于 2021-1-8 17:03 | 只看该作者 来自 贵州贵阳
魔神Z 发表于 2021-1-8 16:18
数字音频里时间关联非常严格,我觉得不太可能插队
但是这里同样也指出了之前提出的问题,假如resolution ...

你说的这个是物理层面的东西,跟USB协议根本不搭界,没关系好么?
你说的此“数字音频”并不是USB协议上跑的USB音频,USB协议本身就带了CRC校验,USB音频子协议本身没有搞额外的校验而已,就依赖USB底层就天生带有校验了。



回复

使用道具 举报

128
发表于 2021-1-8 17:06 | 只看该作者 来自 贵州贵阳
魔神Z 发表于 2021-1-8 16:21
你觉得你用的USB异步够好 完美无缺 音频需求很低?不是即时演算? APOLLO X系列 雷电3 6核DPS FPGA 192kh ...

它卡不卡我没用过不知道
但我天天在用的Hugo2接USB 2.0播放升频后的384KHz 32bit声音一点也不卡
如果你说的这个连192Khz都会卡,那明显是USB界面没做好

回复

使用道具 举报

129
 楼主| 发表于 2021-1-8 17:07 | 只看该作者 来自 湖北武汉
jhj 发表于 2021-1-8 16:59
这个是物理层的东西,和我们这里讨论的USB协议本身几乎没有关系。
USB的最底层Packet带有CRC,你倒是找 ...

USB底层的CRC 跟传输协议无关
回复

使用道具 举报

130
 楼主| 发表于 2021-1-8 17:08 | 只看该作者 来自 湖北武汉
tyj518 发表于 2021-1-8 16:46
USB Audio当中接收端是可以给发送端反馈信息的。实际上异步模式中host需要跟随device的时钟,而为了在协 ...

异步是要有时钟跟随的,因为不是同步,不然他不知道是什么频率,所以说异步就是乱序,不可能啊
回复

使用道具 举报

131
发表于 2021-1-8 17:09 | 只看该作者 来自 贵州贵阳
魔神Z 发表于 2021-1-8 17:07
USB底层的CRC 跟传输协议无关

怎么就无关了?通过USB线从电脑USB口传出了一个USB音频数据包,界面接受到这个包就能通过其CRC分析这个包(以及包里面所包含的有效音频数据)有没有误码啊。

回复

使用道具 举报

132
 楼主| 发表于 2021-1-8 17:11 | 只看该作者 来自 湖北武汉
jhj 发表于 2021-1-8 17:06
它卡不卡我没用过不知道
但我天天在用的Hugo2接USB 2.0播放升频后的384KHz 32bit声音一点也不卡
如果你 ...

那是因为你的这个音乐是整轨的
回复

使用道具 举报

133
 楼主| 发表于 2021-1-8 17:13 | 只看该作者 来自 湖北武汉
本帖最后由 魔神Z 于 2021-1-8 17:29 编辑
jhj 发表于 2021-1-8 17:09
怎么就无关了?通过USB线从电脑USB口传出了一个USB音频数据包,界面接受到这个包就能通过其CRC分析这个包 ...

那我就问你一个问题了,你能把DA的音频文件往回传吗? 除了那种雷电3的界面,USB界面你见过哪个是能把东西往回传的,而且CRC要能重发才有用,你找一个这种界面的文档出来先好吗,不要靠猜,https://baike.baidu.com/item/CRC/1453359?fr=aladdin CRC的说明写的很清楚了啊,是不停的扫描,出错了就重传,既然USB传输协议连重传都没有,我是不明白你说界面加CRC上有啥用
回复

使用道具 举报

134
发表于 2021-1-8 17:15 | 只看该作者 来自 贵州贵阳
魔神Z 发表于 2021-1-8 17:13
那我就问你一个问题了,你能把DA的音频文件往回传吗?

Hugo2是解码器不带录音功能
但是有不少USB声卡是带录音功能接麦克风的,当然可以回传数据给电脑。
回复

使用道具 举报

135
发表于 2021-1-8 17:18 来自手机 | 只看该作者 来自 上海
就算出错误码了,难道还是有固定规律? 什么这根线这样,那根线那样。
回复

使用道具 举报

136
发表于 2021-1-8 17:21 | 只看该作者 来自 美国
本帖最后由 tyj518 于 2021-1-8 17:24 编辑
魔神Z 发表于 2021-1-8 17:08
异步是要有时钟跟随的,因为不是同步,不然他不知道是什么频率,所以说异步就是乱序,不可能啊[/backcolo ...

这里的乱序指的是帧与帧之间可以打乱顺序。我没具体查过USB Audio Class的标准,不过我觉得USB Audio当中应该不太会出现帧与帧的乱序。帧与帧的乱序通常会出现在网络传输数据当中,有时候发送端后发送的包有可能比先发送的包更早到达接收端,但我觉得USB Audio在没有重传的情况下好像没理由出现帧乱序的现象。当然,通过对传输协议进行专门设计应该也是可以实现帧乱序的情况下依然恢复出正确时序的数据流的,这能够进一步为重传纠错提供保证,但这可能已经超出USB Audio Class的标准了。
回复

使用道具 举报

137
 楼主| 发表于 2021-1-8 17:23 | 只看该作者 来自 湖北武汉
jhj 发表于 2021-1-8 17:15
Hugo2是解码器不带录音功能
但是有不少USB声卡是带录音功能接麦克风的,当然可以回传数据给电脑。

这个是我讲错了,我的意思是,传过去了再传回来校正
回复

使用道具 举报

138
 楼主| 发表于 2021-1-8 17:29 | 只看该作者 来自 湖北武汉
jimmyxzy 发表于 2021-1-8 17:18
就算出错误码了,难道还是有固定规律? 什么这根线这样,那根线那样。

饭一口一口吃,先要讨论会不会错,再讨论线的问题,现在有不少人一口咬定USB不会出错,总有人说认为会出错是老烧不懂常识,不懂电路,不懂计算机,不懂信号,不懂USB 所以我也在查找相关知识 说白了我也不是砖家,但是至少说出来的话得有点依据
回复

使用道具 举报

139
发表于 2021-1-8 17:44 来自手机 | 只看该作者 来自 陕西西安
用高层的TCP与UDP协议说好理解,物理层数字传输一般都是带校验位的,比如八个波形,第九个波形就是校验位。校验出错了如何处理?一种是丢弃,一种是重新传送,物理层一般就丢弃了。
发送端如何知道接收错误要求从发的?一般发送的时候除了数据包,还要应答包,监控包,接收端如果发现错误,发送应答包给发送端要求重发。
TCP协议是可靠的连接协议,可以认为是传输要求100%正确,因为在IP层会有校验纠错(就是重发了)机制,那么是不是有了TCP就能正确接收文件,肯定不是,文件数据里面的0,1可不是物理传输的波形0,1文件的0,1要占8位,八个波形的,bit与byte的概念。TCP要正确接收成数据文件,软件上还要特殊处理,因为网络传输会有粘包现象。
那么UDP作为不可靠的协议,是不是就会传输错误?那可不一定,发的慢,收的快就不会出错,快慢不匹配也行,软件上可以自己做出纠错的。

归根结底还是USB传输音频,虽然不用校验纠错(有校验位,不纠错重传),到底会不会发生传输错误?这才是问题的核心。说了一堆其它的都是在敲边鼓,绕圈圈。
回复

使用道具 举报

140
发表于 2021-1-8 17:44 | 只看该作者 来自 贵州贵阳
魔神Z 发表于 2021-1-8 17:23
这个是我讲错了,我的意思是,传过去了再传回来校正

???为什么要传回校正
数据包内自带校验码,正确不正确,USB界面接收到一比对校验码就知道了,完全没有传回的必要啊?
而且USB音频数据包一旦校验没通过直接丢弃,不重传,这也是USB标准协议内就写清楚的。
当然,要是需要额外装驱动的那种USB解码,就可能在驱动内做一些额外的软件应用层补充协议,那就不一样了。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 00:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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