|
|
图2:一款带有一个晶振用于稳定音频频率的USB音频板,并且有一个低抖动PLL用于产生任何所需的频率信号。6 l# l; ]/ `( V1 K7 t
# d* L2 e# g6 z8 m2 U 因此,系统中至少有2个不同的时钟:USB时钟由主机产生,频率为8,000次传输/s;采样时钟由外部产生,例如,其采样率为96,000Hz。
) ?3 [5 M9 [! D: ^6 l; K5 }7 S+ Z2 v, S
这些时钟的频率会略有不同,其差别会随时间略微变化。因此,每帧音频样本的平均数会稍微高于或低于期望的比率。例如,在本文96,000Hz采样率的情况下,样本的平均数为12.001.为了确保主机发送正确数量的数据,并且不会太多或太低,主机向中断端点请求当前的采样率。每隔几个毫秒,上一个周期的平均采样率将以16.16位定点数格式回报。如果上一个周期取平均数为12.001帧,那么报告值将为0x000C0041(65536×12.001)。: V2 g7 w, P- A2 Y7 C a! g. A* H! V
* g. K- Q' \ q; I$ p" Y 给定该平均速率,主机将能计算出在一次传输中在何时发送额外样本;在此例中,每秒8次传输将运送一个额外样本。此外,主机能够利用该值与音频设备进行同步。这使得DVD播放器等主机应用能够将视频保持为与音频同步。如果没有同步,音频会慢慢地跑到视频前面,两个小时以后,音频将会有1s误差。7 l$ ]3 I- \# t* U4 O' Y3 |' X
! f% k7 q- H8 H 为了保持反馈回路较短,诀窍是不对音频包和反馈包做不必要的缓冲。任何附加的缓冲都会产生报告延迟,该延迟使得保持通信流的平滑变得更加困难。这意味着,底层USB栈和USB音频栈应紧密集成,而无需在它们之间缓冲。尽管这在应用处理器上难以达到,但是把软件在执行时间可预测的嵌入式处理器上来实现,这点将非常容易达到。诸如XMOS等公司现在可以提供这种可预测的嵌入式处理器,如XMOS的xCORE多核MCU等处理器系列。借助其丰富的内置USB接口,它们紧密地将底层USB栈和USB音频栈集成在一起。
G+ }) r: ^7 a6 M( u; o- _- D" t) M: B- g! b, K0 W Q6 N3 _
多个时钟源
2 k* Z* z) |8 E3 r% L* ~7 _& H) D! l$ @) m* J9 N0 i* d
以上方案仅考虑了两个时钟源--或者USB设备提供时钟,或是主机提供时钟。在调音台等更复杂的设备中,可能还有其他设备提供采样率,例如,通过ADAT或S/PDIF等数字接口,或通过携带字时钟的BNC连接器提供。对于这样的系统,USB音频标准使设计人员能够在设备当中置入时钟选择器。7 O! _% {3 C/ a* h2 c& L& A
* L( T' a/ T6 ~+ o! x% S 时钟选择器规定采用哪个时钟作为采样率。时钟选择器有多个输入时钟(例如,一个S/PDIF接口上的输入时钟、本地晶振、以及一个ADAT接口上的输入时钟),并带有一个用户可选择哪个时钟用作输入的控制传输,例如S/PDIF接口上的输入时钟。
3 d" g( l. s1 G u
1 @6 N |5 q9 A; g, O 符合性及原生支持
( m, M% a) q7 ?+ O A% e5 a! T, H- L# p; B% M) m. ^( y. i6 a
一旦一款设备符合USB音频类协议,它将会很便捷地集成到操作系统中。图3显示了USB音频设备插入到MacOS/X系统中的控制界面截屏。它表明,时钟选择、采样率选择、通道音量控制以及静音控制等都是可以控制的,就像对于任何其他的音频设备那样。/ |7 z8 \* n- o3 u1 g5 _/ C/ m: J
: L/ H; v% C3 ?; M7 c6 q- C; A
- O( R; ?% R. _" t6 f* [' {" _* z
7 A5 n. L$ G5 Y+ i
图3:一款可互操作的设备出现在标准O/S对话框(例如本例中的OS/X)中,并且O/S可以设置音量和采样率等。2 b; _( ~. {& A% f' ?% ]; j! n' P
' i9 d1 c7 ?+ m1 v# o& H
设备的标准符合性使其可以实现互操作。O/S供应商能够提供一种单独的USB音频驱动程序,该驱动程序可驱动大量设备,并具有众多功能。
3 C$ p6 F( A: h7 E! n
$ `" B& f, ?, D6 X) T2 x f5 k( ~. L 的确,相同的USB音频实现能够进行参数化,以实现不同数量的通道,并且相同的驱动程序能够用于连接设备。4 d; s7 O6 c, ]8 F0 l; a
) h& g+ X- y! y+ [
小结与展望2 ~4 o- u" _9 l- O4 y A
$ M7 m x; \5 c5 _5 i" `1 ~3 [
USB-AudioClass2.0利用了高速USB2.0标准,支持在PC和一台所连接的音频设备之间对音频进行低延迟传输。高速USB2.0的高吞吐率可用于实现多个音频通道,并且具有高的音频质量。USB音频类标准可服务于多种设备的,从复杂的、具备多个通道、多个时钟源和复杂控制的调音台,到环绕立体声系统、PC扬声器和麦克风。+ y6 E0 Y3 M5 _9 v- y. ?0 A
! r7 C. x+ i9 g) d4 r* ? 目前,顶级的消费性音频产生已经推出了各种USB-Audio产品,并且受到了市场的好评! |
|