|
rt loading....
几个小概念:
1、USB Audio Class协议
由Intel和微软主导的USB即插即用通讯接口,自诞生之日起就通过USB Audio Class协议来制定游戏规则和接口规范,即所有USB设备只有符合USB Audio Class协议规定的硬件指标,并通过微软提供的内核驱动(*.sys,内核模式下的驱动,一般都对应相应的被驱动硬件,而其功能其实就是提供windows系统对该硬件的支持),进行辨识,才能正常或者“合法”的工作。
从上面这张流程图图,可以清晰的看到USB音频传输的过程:播放软件播放音频文件--通过设置播放软件,采用客户端驱动ASIO或KS直接驱动硬件-硬件通过.SYS内核驱动被windows系统识别-USB音频设备通过设备驱动程序正常工作-通过USB总线传输带有时钟信息的串流数据-USB DAC 通过USB接受芯片接受数据,并进行后续的时钟合成和恢复、传输I2S或S/P信号、DAC转换等等工作完成最后的模拟输出。
从HIFACE编写的驱动来看,前3个SYS驱动,只能采用微软提供的内核驱动,而无法自己去编造,而最后一个SYS驱动的意义在于结合硬件可编程FPGA模块和缓存技术,突破USB 2.0最大传输24/96制约,通过硬件升频(SRC)还原并转换成24/192 的S/P信号输出。因此可以说,目前USB2.0规范是不支持24/192传输的(跟传输率关系不大,但跟缓存大小很有关,以艺雅QB9使用的TAS1020B为例,它的1304byte缓存,甚至不能完全满足16/44.1-1764bytes的要求),要实现24/192传输,在USB 3.0真正普及之前,只能靠自力更生了。 |
|