.注册.  找回密码
查看: 69928|回复: 136

我来说说究竟什么是“USB异步传输” (Asynchronous USB)吧

[复制链接]
发表于 2009-10-20 16:23 | 显示全部楼层 |阅读模式
废话不多说,直奔主题吧。

对于USB音频传输,有一个规范,叫做“标准USB音频规范”。这个规范有什么用处和好处?
它的用处就在于,实现了以USB接口实时传输音频信号。(汗)
它的好处就在于,直接集成在WINDOWS系统内,也就是说,只要符合这个规范的USB音频产品,WINDOWS系统内的集成驱动就能直接支持,而不用厂商另外开发驱动程序。相反,如果某款USB音频产品有自己的驱动程序,那么它就是不支持这个规范的。(但不表示这个产品就不好,自己开发驱动本身是有研发实力的表现。)

在这个标准USB音频规范下,有三种传输模式:同步、自适应,和异步。
同步:标准的同步模式其实很少见,基本不太用到的,这里省略。
自适应:大多数的产品(比如TI PCM270X、PCM290X系列)都是用的自适应传输模式。
异步:这里的异步,才真正是AYRE QB9所大肆宣传的异步USB传输模式。
所以严格来说,所谓“异步USB传输”,有个大前提,就是在标准USB音频规范下而言。

那么自适应传输模式和异步传输模式到底有何区别呢?
这里先要了解一下USB音频处理的大致流程。电脑通过USB接口将音频数据流传递给DAC上的USB接收芯片,USB接收芯片一边接收数据,一边合成时钟信号,然后转化为标准的I2S或者SPDIF信号,再传递给后面的数据接收芯片,再之后的流程与一般的DAC就没有分别了。
而在这个过程中,影响USB音频音质的关键,就是USB接收芯片所合成的时钟信号。

在自适应模式下,USB接收芯片,在合成时钟信号的过程中,会根据USB传输速率的变化,对时钟信号进行实时的调整。也就是说,在这种情况下,USB传输速率的变化,会直接影响到合成的时钟信号。
举个夸张点的例子:比如现在播放一段44.1K的音频,当然就要求USB接收芯片合成一个44.1K的时钟。而这个44.1K的时钟,对应于USB传输的速率,比如,胡乱说一个,是200个数据包每秒。
也就是说,如果要让USB接收芯片稳定的合成44.1K 的时钟,USB传输速率,也必须稳定在200个数据包每秒。
但现在的问题是,USB传输的速度不可能这么稳定,也许这一秒传递了200个数据包,而下一秒,突然增加到了400个。而这个时候,USB接收芯片会怎么做?它会把实际合成的时钟,提高到88.2K。如果再下一秒的USB速率又变为100个数据包每秒,那么相应的合成时钟就变成了22.05K。当然,这是一个极端夸张的例子。
可是为什么USB接收芯片要这么做?很简单。因为如果USB接收芯片只是单纯的合成44.1K的时钟,每秒处理200个数据包,那么一旦真的收到了400个或者100个数据包,缓存就会溢出,或者断流。
所以,在自适应模式下,USB接收芯片所合成的时钟信号,是随USB口的传输速率实时变化的,传输速率是主,时钟信号为从,USB传输速率的变化直接影响到合成的时钟信号。那么可想而知,这个时钟信号的JITTER有多大。从而你也可以理解,为什么有人会说,换质量好的USB线能提高音质。

那么异步传输是怎么工作的呢?说起来更简单,USB接收芯片现在只需要稳定的合成44.1K的时钟,也就是说,现在这个时钟与USB传输速率无关了。
可是如果这样的话,缓存的问题怎么解决?答案是,软件控制。通过一套软件,根据缓存的负载情况,实时的控制USB口的传输速率,从而保证缓存不会溢出或者断流。在这种情况下,时钟信号为主,传输速率为从,时钟信号不受传输速率变化的影响,理论上这时的JITTER源,就只有工作晶振本身的误差了。

这个方案,就是AYRE QB9所大肆宣传的“异步USB传输”模式。它的实现方式,就是通过TAS1020B这块芯片,配合本地的6M晶振,还有关键的控制传输速率的固件,来完成。
而TAS1020B这块芯片,是一块可编程的芯片,并不是说用了这块芯片就一定是异步USB传输。DAC1 USB,DA11用的也是这块芯片,但都只用到了它 的自适应模式,关键还是看固件怎么写。所以从某种程度上来说,现在的DAC设计,比拼的已经不是硬件,而是软件了。
发表于 2009-10-20 16:44 | 显示全部楼层
路过,纯路过。偶已经对USB音频及其技术不感兴趣。。。
回复

使用道具 举报

发表于 2009-10-20 18:05 | 显示全部楼层
学习了,另外,说明LS的老了
回复

使用道具 举报

发表于 2009-10-20 19:51 | 显示全部楼层
原来是源自另一贴
回复

使用道具 举报

发表于 2009-10-20 21:11 | 显示全部楼层
顶~学习了~
回复

使用道具 举报

发表于 2009-10-20 22:02 | 显示全部楼层
很受教育,讲得很清楚,解决了不少疑惑。
回复

使用道具 举报

发表于 2009-10-20 22:02 | 显示全部楼层
帖子很有营养,楼主语言很规范,顶,学习,希望有达人进来做更详细讲解
回复

使用道具 举报

发表于 2009-10-20 22:05 | 显示全部楼层
那再请教楼主,乐之邦01USD是否算“USB异步传输”呢?
回复

使用道具 举报

发表于 2009-10-20 23:04 | 显示全部楼层
USB声卡的播放流程是这样的

在主机应用程序中播放音乐前,USB声卡就会从主机端收到如下的两个包:Setup包 和 控制数据包

  根据USB音频类协议分解Setup包,可以得知,本次控制传输的作用是设置USB声卡的采样频率,那么在播放音乐前,必须把I2S控制器的采样频率做相应的设置。才能和主机端保持同步。

这是在主机开始播放音乐时做的事。

然后在播放过程中

USB音频类规定的USB同步传输周期为1ms,每隔1ms,USB设备就会收到一次主机传来的数据。而USB设备会在接收缓存中暂时性的存储这些数据。(TAS1020B的接受缓存刚好能存储24BIT/96K的数据)然后再进行处理,然后送到I2S控制器。在这个过程中,USB1.1因为带宽和优先度的原因,系统其他操作比较繁忙的时候容易出现丢包的状况,在丢包的状况下,USB芯片会把生成一个空数据包(就是全部都是0000000)。因此USB1.1的USB声卡经常出现小爆音。

异步模式的USB DAC中,I2S控制器自己生成时钟,然后向USB芯片发出反馈,USB芯片再对音频数据流进行采样的转换(SRC),转换成I2S控制器所需要的采样,再发给I2S控制器。这时I2S控制器的时钟是自己生成的。没有和USB总线时钟同步,所以很在接收USB处理后的数据时,容易受时钟误差和抖动等影响。在《USB协议及规范》中这样的处理是十分不推荐的。
“Such slips/stuffs will cause audible degradation in audio applications. ”


自适应模式的USB DAC中,USB芯片会对数据包进行处理,根据播放开始前主机端发来的采样信息,加进数据包中,而I2S信号控制器在读取数据包后,会根据采样信息建立相应的时钟,并解包,装载音频数据。

就从USB本身的协议来看,作为“目的”端来说,自适应模式无疑比异步模式更加适合音频。


从电路上来看,QB9是通过FPGA读取播放前主机发来的采样格式信号,然后选择相应频率的时钟,在FPGA上对TAS1020B输出的信号进行时钟重整。而TAS1020B异步模式时所采用的时钟依然是内置的时钟。









参考资料:

《USB协议及规范》
《USB Audio Class协议规范》

同步类型

     ——异步:不同步、但目的(sink)能提供数据速率反馈

     ——同步:同步到USB的SOF时钟

     ——可调:用反馈或feed forward 的数据速率信息实现同步
回复

使用道具 举报

发表于 2009-10-20 23:10 | 显示全部楼层
讲得清楚,便于学习,多谢了。
回复

使用道具 举报

 楼主| 发表于 2009-10-21 00:24 | 显示全部楼层
引用第7楼frui于2009-10-20 22:05发表的 :
那再请教楼主,乐之邦01USD是否算“USB异步传输”呢?
AYRE QB9的异步USB传输,是指在标准USB音频规范下的异步传输模式。
01USD本身不属于这个规范。但是它在处理音频数据的过程中,有用到FPGA以本地时钟对音频数据进行整理,从这个角度来说,可以说它是异步的。但是这个异步,与QB9的异步USB传输,是两件不同的事,不同的概念。
回复

使用道具 举报

发表于 2009-10-21 08:07 | 显示全部楼层
我不知LZ是因为商业原因还是什么原因,这么推崇所谓的异步模式.而打压传统的自适应模式.

只是说一下,这样误导人是很不对的

在自适应模式下,USB接收芯片,在合成时钟信号的过程中,会根据USB传输速率的变化,对时钟信号进行实时的调整。也就是说,在这种情况下,USB传输速率的变化,会直接影响到合成的时钟信号。"

红色的字完全就是误导呢。USB接收芯片在把音频数据包传给I2S转换器的时候,会加入该音频数据的采样等信息,不过这个信息不是随着USB传输速率的变化而变化的。而是取自开始接收音频流前主机发来的一个SETUP包。所以只要这个音频流不结束,那么I2S转换器合成时钟信号的频率就是固定的。

还有就是USB的缓存主要是来自USB接口上的缓存,因为USB接收芯片收到数据后,第一件事就是把它放在接收缓存上,然后再交给USB处理器处理。

那么异步传输是怎么工作的呢?说起来更简单,USB接收芯片现在只需要稳定的合成44.1K的时钟,也就是说,现在这个时钟与USB传输速率无关了。

异步模式就更简单了,I2S转换器自己决定工作在什么模式下,合成什么样的时钟,而把采样率转换的问题交给USB处理器去处理,比如电脑送来的是44.1K的音频数据流,而I2S转换器一定要工作在96K下,那么USB处理器根据I2S转换器的这个反馈(根据USB音频类规范,这个反馈的采样精度要在1HZ,也就是说,根据实际时钟的精度,可能会是96001HZ或者95999HZ)启用速率匹配器,在每个服务周期的数据里进行插入一个采样,或者将2个采样合并为一个,总之就是将服务周期内缓存的音频数据处理处理成I2S转换器反馈中所需要的采样频率。而根据《USB协议及规范》中,这样的处理在音频类应用中会带来可闻的声音质量下降。

Such slips/stuffs will cause audible degradation n audio applications.

另外,再说一下异步模式出现的另一个方式。就是和其他USB设备竞争同步控制权失败,就会被迫转为异步模式。从某种意义上来说,异步模式是一个妥协产物


USB的传输模式有4种,USB的时采样率同步模式有3种。这是《USB协议及规范》是基本之基本,其他所有的细化规范都是建立在这个大的基础之上的。
回复

使用道具 举报

 楼主| 发表于 2009-10-21 09:50 | 显示全部楼层
引用第11楼蓝子风于2009-10-21 08:07发表的 :
我不知LZ是因为商业原因还是什么原因,这么推崇所谓的异步模式.而打压传统的自适应模式.

只是说一下,这样误导人是很不对的

.......
我也不知你究竟是因为OO原因还是XX原因,给我戴这样或那样的帽子,还什么商业原因,汗。
提醒你,我这贴只欢迎纯粹的以共同学习为目的的友好交流。

在USB音频规范下,异步模式相对于自适应模式,理论上本身就是更合理的,实现起来也更困难的(固件编程)。推崇也好,打压也罢,你说我杀人放火我也不能封了你的嘴。但事实本身如此,自适应模式相对于异步模式,是一种更廉价、易用的妥协方案。

引用第11楼蓝子风于2009-10-21 08:07发表的 :
红色的字完全就是误导呢。USB接收芯片在把音频数据包传给I2S转换器的时候,会加入该音频数据的采样等信息,不过这个信息不是随着USB传输速率的变化而变化的。而是取自开始接收音频流前主机发来的一个SETUP包。所以只要这个音频流不结束,那么I2S转换器合成时钟信号的频率就是固定的。

还有就是USB的缓存主要是来自USB接口上的缓存,因为USB接收芯片收到数据后,第一件事就是把它放在接收缓存上,然后再交给USB处理器处理。.


我不知道是你真的没看懂我的话,还是故意假装不懂。
但不管怎样,你都在歪曲我的本意。
音频数据的采样率,当然是固定不变的,一段44.1K的音频,不可能放着放着突然变成48K。
我这里说的是USB接收芯片实际合成的时钟。
虽然理论上,理想状态下,这个时钟本应该是恒定不变的44.1K,但实际情况根本不是这样。
实际情况是,在自适应模式里,USB传输口以毫秒为单位发送数据包,而USB接收芯片,则以毫秒为单位,以USB传输速率为参考,实时地调整合成时钟。也就是说,实际合成的时钟,是以44.1K为基准,以1KHZ的频率做微小的抖动。
引用第11楼蓝子风于2009-10-21 08:07发表的 :
异步模式就更简单了,I2S转换器自己决定工作在什么模式下,合成什么样的时钟,而把采样率转换的问题交给USB处理器去处理,比如电脑送来的是 44.1K的音频数据流,而I2S转换器一定要工作在96K下,那么USB处理器根据I2S转换器的这个反馈(根据USB音频类规范,这个反馈的采样精度要在1HZ,也就是说,根据实际时钟的精度,可能会是96001HZ或者95999HZ)启用速率匹配器,在每个服务周期的数据里进行插入一个采样,或者将2个采样合并为一个,总之就是将服务周期内缓存的音频数据处理处理成I2S转换器反馈中所需要的采样频率。而根据《USB协议及规范》中,这样的处理在音频类应用中会带来可闻的声音质量下降。.

老实说我不知道你这段究竟在讲什么。
异步传输模式跟采样率转换有什么关系?
还有请你先搞清楚,我们现在讨论的自适应、异步模式,都是在标准USB音频规范下。
不要把你说的通用USB规范扯进来。
一个是《USB Audio Class Specification》,一个是《USB Specification》。后者与本文讨论的内容没有直接关系。



编辑:仔细想了一下,你是不是把“异步传输” (Asynchronous transmission),和“异步采样率转换”(Asynchronous Sample Rate Convert) 这两个概念混淆起来了?
回复

使用道具 举报

发表于 2009-10-21 11:10 | 显示全部楼层
在USB音频规范下,异步模式相对于自适应模式,理论上本身就是更合理的,实现起来也更困难的(固件编程)。推崇也好,打压也罢,你说我杀人放火我也不能封了你的嘴。但事实本身如此,自适应模式相对于异步模式,是一种更廉价、易用的妥协方案。

我参考的证据有2个《USB协议及规范》以及《USB Audio Class协议规范》(英文全名是叫《USB Device Class Definition for Audio Devices》)这两个才是真正的USB设备规范,对比了《USB Device Class Definition for Audio Devices》才确定Asynchronous(异步),Synchronous(同步),Adaptive(自适应)模式对应的就是《USB协议及规范》中的Asynchronous(异步),Synchronous(同步),Adaptive(可调)

而《USB Device Class Definition for Audio Devices》和《USB协议及规范》中都是说明Asynchronous模式是对声音有影响的。如果你要坚持你的论点,那请拿出相应的证据来吧。我说的2个规范在网上都可以查到的。




Quote:
引用第11楼蓝子风于2009-10-21 08:07发表的 :
红色的字完全就是误导呢。USB接收芯片在把音频数据包传给I2S转换器的时候,会加入该音频数据的采样等信息,不过这个信息不是随着USB传输速率的变化而变化的。而是取自开始接收音频流前主机发来的一个SETUP包。所以只要这个音频流不结束,那么I2S转换器合成时钟信号的频率就是固定的。

还有就是USB的缓存主要是来自USB接口上的缓存,因为USB接收芯片收到数据后,第一件事就是把它放在接收缓存上,然后再交给USB处理器处理。.


我不知道是你真的没看懂我的话,还是故意假装不懂。
但不管怎样,你都在歪曲我的本意。
音频数据的采样率,当然是固定不变的,一段44.1K的音频,不可能放着放着突然变成48K。
我这里说的是USB接收芯片实际合成的时钟。
虽然理论上,理想状态下,这个时钟本应该是恒定不变的44.1K,但实际情况根本不是这样。
实际情况是,在自适应模式里,USB传输口以毫秒为单位发送数据包,而USB接收芯片,则以毫秒为单位,以USB传输速率为参考,实时地调整合成时钟。也就是说,实际合成的时钟,是以44.1K为基准,以1KHZ的频率做微小的抖动。


你是真不懂还是装懂?异步模式下,音频流传输前USB设备收到的SETUP包里包含着采样信息,根据采样信息可以确定所需要的时钟频率,而采样信息是在USB处理把音频流开始之前SETUP中的采样信息加在传输给I2S转换器的数据包里,即使接收时发生丢包,传输给I2S转换器的数据包里依然还会,一个设备服务周期发送一次,而I2S转换器根据收到加载的采样信息后根据采样信息进行相应的时钟。只要音频流没结束,加载的采样信息是固定不变的。而I2S合成器合成会判断采样是否改变,如无改变就不变更时钟,不会发生抖动。记得,不是以传输速率作为参考,而是以传输数据中的采样信息作为参考!!这是你说法中最大的错误!还有一点就是,USB音频设备内的服务周期是10MS,以一个服务周期为单位来确认采样信息是否改变,是否需要修改当前合成时钟。

Quote:
引用第11楼蓝子风于2009-10-21 08:07发表的 :
异步模式就更简单了,I2S转换器自己决定工作在什么模式下,合成什么样的时钟,而把采样率转换的问题交给USB处理器去处理,比如电脑送来的是 44.1K的音频数据流,而I2S转换器一定要工作在96K下,那么USB处理器根据I2S转换器的这个反馈(根据USB音频类规范,这个反馈的采样精度要在1HZ,也就是说,根据实际时钟的精度,可能会是96001HZ或者95999HZ)启用速率匹配器,在每个服务周期的数据里进行插入一个采样,或者将2个采样合并为一个,总之就是将服务周期内缓存的音频数据处理处理成I2S转换器反馈中所需要的采样频率。而根据《USB协议及规范》中,这样的处理在音频类应用中会带来可闻的声音质量下降。.

老实说我不知道你这段究竟在讲什么。
异步传输模式跟采样率转换有什么关系?
还有请你先搞清楚,我们现在讨论的自适应、异步模式,都是在标准USB音频规范下。
不要把你说的通用USB规范扯进来。
一个是《USB Audio Class Specification》,一个是《USB Specification》。后者与本文讨论的内容没有直接关系。

编辑:仔细想了一下,你是不是把“异步传输” (Asynchronous transmission),和“异步采样率转换”(Asynchronous Sample Rate Convert) 这两个概念混淆起来了?


你不要偷换概念了,USB设备传输模式中没有异步传输的,Bulk,实时,中断,控制。USB设备中只有这4种传输方式。不懂的话,就老实说不懂,不要自己创造莫须有的模式来证明的。USB音频类的规范我也查询过的。都是基于USB规范基础之上的,不会创造什么USB规范不允许,或者没有定义的东西的,只是对音频方面进行细化规范

USB设备内拥有不同时钟时,才需要采样率同步。不知为什么你会理解成异步传输呢?是要转移重点么?还是要偷换概念。

3种同步方式中

Asynchronous(异步)是由设备自己决定采样率(时钟),也按照自己的周期读取缓冲内的数据,不过会发送一个反馈给USB控制器,我现在的多少采样下,你要发送这个采样率下的数据过来。所以USB控制器会使用采样匹配器对从主机收到的数据进行采样率匹配,对数据进行插值或者合并等处理,让最终送到I2S转换器缓冲内的数据符合I2S转换器所需要的采样率。

Synchronous(同步)读取音频流的采样信息,确定一个系统服务周期内读取缓冲内应该有多少数据,然后根据结果读取(一个系统服务周期读取一次)。再根据采样信息进行合成相应的音频串行数据流

Adaptive(可调)USB控制器会把采样信息加载在发送至I2S转换器的数据包中,然后I2S转换器根据加载的采样率数据对比当前的采样率,如果不同,就改变采样率和时钟,如果相同,就不进行改变。

这样说总该明白了吧,时钟的异步模式并不适合音频回放。而作为录音设备来说是OK的。纵观各家所出的USB芯片,基本都是录音通道支持异步模式,而回放通道却是自适应模式。这是有一定理由的。

而且说到技术,TI的技术远比Wavelength Audio's 要高,会这样处理是有其原因的



PS,上面的话说太重了,不应该直接盖上商业目的的帽子,这里道歉。

欢迎共同讨论。


关于Adaptive的翻译,我更赞同的是可调,因为作为“源”来说的话,是可以通过控制指令来调整它的采样率,来输出所需要的数据流的。而对于“目的”来说,是可以调整自身的采样率来适应USB控制器传输来的数据。
回复

使用道具 举报

发表于 2009-10-21 12:26 | 显示全部楼层
http://focus.ti.com/docs/prod/folders/print/tas1020b.html

TAS1020B的资料,上面可以下载到PDF

On-chip adaptive clock generator (ACG) supports asynchronous, synchronous and adaptive synchronization modes for isochronous endpoints

芯片自带的可调时钟发生器(ACG)可以支持终端的异步,同步和自适应同步模式
回复

使用道具 举报

 楼主| 发表于 2009-10-21 13:34 | 显示全部楼层
引用第13?nogroups楼蓝子风于2009-10-21 11:10发表的 :
在USB音频规范下,异步模式相对于自适应模式,理论上本身就是更合理的,实现起来也更困难的(固件编程)。推崇也好,打压也罢,你说我杀人放火我也不能封了你的嘴。但事实本身如此,自适应模式相对于异步模式,是一种更廉价、易用的妥协方案。

我参考的证据有2个《USB协议及规范》以及《USB Audio Class协议规范》(英文全名是叫《USB Device Class Definition for Audio Devices》)这两个才是真正的USB设备规范,对比了《USB Device Class Definition for Audio Devices》才确定Asynchronous(异步),Synchronous(同步),Adaptive(自适应)模式对应的就是《USB协议及规范》中的Asynchronous(异步),Synchronous(同步),Adaptive(可调)

而《USB Device Class Definition for Audio Devices》和《USB协议及规范》中都是说明Asynchronous模式是对声音有影响的。如果你要坚持你的论点,那请拿出相应的证据来吧。我说的2个规范在网上都可以查到的。
.......

哎,累啊。 一点点来说吧。

1、首先我在《USB音频规范》里并没有看到说异步模式会影响声音的说法。你说有,那么请你指出具体在哪。第几页,第几段。
然后,你说你在《USB规范》里也看到说异步传输会影响音质。那我问你,那句话的具体硬件环境是什么?软件环境是什么?影响声音的原理又是什么?与现在我们讨论的“异步USB传输”的情况相同么?这些你都没考虑,光凭这句话能说明什么问题?
《USB规范》是什么东西?是一个最基本的、大纲性质的文件。你在完全没考虑具体实施环境的情况下,随便从中拉出一句话,然后就凭这句话否定一个实际方案,我不认为这是严谨的做法。


2、《USB规范》中定义的USB设备传输模式有4种:爆发,实时,中断,控制。这没有错。
《USB音频规范》,则都是基于这4中模式里的“实时”模式。
而“实时”传输模式中又分3种:同步、异步、自适应。
为什么我一直强调,讨论异步USB传输,一定要在《USB音频规范》下,就是这个道理。
而为什么我说你不要把《USB规范》扯进来,也是这个道理。
所以,我从头到尾都没有“偷换”什么东西,更没有“创造”什么东西,而是你在硬给我扯进来这些东西。


3、你对这三种传输模式,或者按你的话说,同步模式,解释的很到位。
不过我左看右看,最终发现。。。不是跟我说的是一回事么?

在异步模式下,源文件采样率为44.1K,这是不变的。 USB接收芯片以本地独立时钟合成44.1K的时钟信号,同时,由软件实时控制USB传输速率(发送多少数据过来)。

在自适应模式下,源文件同样是44.1K,但是由于USB传输速率的不稳定,实际传输的数据不可能恰好满足44.1K的采样率。于是时钟合成器就根据当前的实际采样率,调整合成时钟。

请问你的解释与我的解释有矛盾么??
另外从你的解释中我也看不出来,你是怎么得到“异步模式不适合音频回放” 这个结论的。
回复

使用道具 举报

 楼主| 发表于 2009-10-21 13:35 | 显示全部楼层
引用第14楼蓝子风于2009-10-21 12:26发表的 :
http://focus.ti.com/docs/prod/folders/print/tas1020b.html

TAS1020B的资料,上面可以下载到PDF

On-chip adaptive clock generator (ACG) supports asynchronous, synchronous and adaptive synchronization modes for isochronous endpoints
.......
谢啦,早就看过了。

编辑: 另外我发现你在讨论“异步”模式的时候,总是要牵扯到采样率的转换、匹配,我觉得很奇怪。
所谓“异步”模式,只是说作为USB传输的接收端,其工作时钟与其源端设备的时钟不直接发生关系。但这并不表示,非要把一个44.1K采样率的文件以另外一个不相关的96K的采样率来播放啊?!
所以我说,你是不是把“异步传输” 和 “异步采样率转换” 这两个概念混淆了?
回复

使用道具 举报

发表于 2009-10-21 14:06 | 显示全部楼层
引用第15楼whisky_qz于2009-10-21 13:34发表的 :


哎,累啊。 一点点来说吧。

1、首先我在《USB音频规范》里并没有看到说异步模式会影响声音的说法。你说有,那么请你指出具体在哪。第几页,第几段。
.......

http://www.usb.org/developers/devclass_docs/audio10.pdf

这个是《Universal Serial Bus Device Class Definition for Audio Devices》的下载,来自USB.ORG。是官方的USB音频类应用规范。

这个是所有USB音频设备的官方规范。其中关于同步,异步,自适应模式的描述来自第19页,关于3种模式的描述,都是说到是时钟方面的规范,也就是采样率方向的规范,比如要锁定到哪,要如何调整时钟




这是USB规范1.1版,TAS1020B只支持到USB1.1呢。所以以这个为根据
http://blog.21ic.com/user1/2718/archives/2007/36127.html

其中USB数据流模型是第5章。

这个是翻译过来的《USB协议及规范-USB数据流模型》
http://www.dzquan.com/space/html/58/n-4758.html

你留意下其中对于同步,异步,可调的描述。在对比《Universal Serial Bus Device Class Definition for Audio Devices》中的描述。

这里就有说到异步模式对声音的影响了。是属于廉价级的东西呢。

自适应模式下,采样率是以隐式的信息加载在USB控制器发送到I2S端点上的,而这个信息是在USB控制器上加上的。每隔一个服务周期加载一次。

异步嘛~~~

等你研究完这2部标准的规范再说吧~~~

另外提供一个USB转I2S的开发实例,里面有说到USB播放时的实际流程,很容易看得懂的。

http://embed.chinaitlab.com/project/pc/754546.html

期待您能拿出您所依凭的《USB音频规范》来,一起研究研究~~~~
回复

使用道具 举报

发表于 2009-10-21 22:18 | 显示全部楼层
[s:17] 一头雾水
回复

使用道具 举报

发表于 2009-10-21 22:22 | 显示全部楼层
这里怎么开战了。。。。。。。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|《中华人民共和国增值电信业务经营许可证》粤B2-20120704|耳机大家坛-耳机网 ( 粤icp备09046054号-6 )

粤公网安备 44030602000598号

GMT+8, 2017-6-29 22:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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