专利名称:采用单一12MHz晶振的USB声卡的制作方法
技术领域:
本实用新型涉及数字音频播放设备的USB声卡,具体是一种采用单一 12MHz晶振的USB声卡。
背景技术:
现有的数字音频播放器大都集成了 USB主从控制接口(USB 0TG)用作数据传输, 同时作为一种新兴起的扩展功能,USB声卡(USB Audio)很受青睐。当音频播放器激活USB 声卡功能插入电脑时,电脑操作系统自动识别并切换系统默认音频设备为USB声卡,同时使用44. IKHz的音频采样率来设置USB声卡。这样44. IK采样率的数字音频流按照标准 USB音频设备协议规定的数据包打包,然后通过USB总线以12MHz时钟传输到音频播放器; 在音频播放器端,通过一定方式将该数据包与音频发送口 -标准1 的基准时钟MCLK同步, 并通过I2S 口传送到音频数模转换(音频数模转换模块)模块。这其中,音频USB数据包与标准音频发送口——I2S的同步是一个关键的技术问题。目前USB声卡有两类方式来实现上述的关键技术。一类是自适应的异步USB模式, 如图ι所示,系统使用12MHZ的晶振外,单独使用一个音频专用的晶振(如11. 2896MHz)来实现一个精确的44. IKHz的时钟,同时依据该44. IKHz对应的数据处理节拍来实时反馈一个同步信号给电脑,这样,电脑能够动态调整发送数据包的节奏。但是由于操作系统是多任务环境,当系统负荷较重时,实时性相对较高的音频任务执行同步事件时会受到很大冲击, 导致音频USB数据包传送不稳定。一类就是本实用新型所涉及到的同步USB模式,如图2所示,使用单一的12MHz晶振,将所有的时钟统一到USB的12MHz总线时钟上来,通过数字分频得到一个相对精确度较高的音频采样时钟一44. 1176KHZ。工作时,电脑端以固定的节拍发送给定长度的音频数据包,播放器需要通过一定的手段来解决上述音频USB数据包与数字音频接口的同步问题。
发明内容本实用新型的目的是针对以上后一种的同步USB模式,提出一种采用单一 12MHz 晶振的USB声卡,解决上述同步问题,以一种简便并且低成本的设计,来提供基于数字音频播放设备的USB声卡方案。按照本实用新型提供的技术方案,所述采用单一 12MHz晶振的USB声卡包括相互连接的数字音频解码芯片和USB控制器,所述数字音频解码芯片和USB控制器的时钟输入端连接一个12MHz晶振,USB控制器通过USB总线连接USB接口,所述数字音频解码芯片还连接音频数模转换模块,音频数模转换模块的输出端连接音频功率放大器。所述数字音频解码芯片包括:USB音频模块的输出连接环形数据缓冲区,环形数据缓冲区连接音频1 模块。所述12MHz晶振通过锁相环模块连接所述数字音频解码芯片。本实用新型技术采用同步USB工作模式,系统中只用到唯一的一个12MHz晶振作为USB声卡各个相应环节的基准时钟,同时使用合适的缓冲区来实现音频USB数据包到1 数据的转换,其间使用一种特定的简易插值方法对缓冲区中的音频数据插入采样点,这样能够很好地实现音频USB数据包与1 数据接口间的同步。本实用新型只用一个12MHZ晶振;音频数模转换模块基频由该12MHz晶振提供; 音频数模转换模块的1 使用44. 1176KHZ时钟由该12MHz晶振经数字分频提供。降低了硬件方案的设计难度,同时也减少了方案的生产成本。采用本实用新型技术,能够很方便简单的在通用的、支持USB从设备功能的媒体播放器上扩展USB声卡功能。
图1是通用的自适应异步USB模式系统结构图。图2是本实用新型采用的同步USB模式系统结构框图。图3是本实用新型的同步结构描述图。
具体实施方式
以下结合附图和实施例对本实用新型作进一步说明。如图2所示,本实用新型基于数字音频播放器系统,主要涉及到数字音频解码芯片(兼主控功能),USB接口,12MHz晶振,音频数模转换模块(DAC/ADC);数字音频解码芯片和USB控制器相互连接,所述数字音频解码芯片和USB控制器的时钟输入端连接一个12MHz 晶振,USB控制器通过USB总线连接USB接口,所述数字音频解码芯片还连接音频数模转换模块,音频数模转换模块的输出端连接音频功率放大器。数字音频解码芯片负责音频解码及主控,12MHz晶振提供系统各模块所需基准时钟,音频数模转换模块通过1 接口来接收数字音频流(PCM stream);该声卡支持双声道,16位的采样精度。系统中12MHz晶振的时钟脉冲经过锁相环模块(PLL)的倍频后提供一个高频时钟作为数字音频解码芯片的工作主频(如32MHz),同时也直接作为USB全速总线时钟及音频数模转换模块的基准时钟MCLK,再对MCLK进行数字分频得到1 接口的同步时钟—— 即所谓的音频采样率;但是12MHz的时钟在工程上是很难通过数字分频的方式得到准确的 44. IKHz的时钟,因此本实用新型使用(12000/272)的分频方式得到44. 1176KHz的采样率时钟。但是这样得到的44. 1176KHZ时钟显然比标准的44. IKHz快,而电脑所给出的音频数据流是基于的44. IKHz,因此这样的时钟分频方式必定要引入新的数据流同步问题,即通常意义上讲的“时钟抖动”(clock jitter)的影响如何消除。当USB声卡工作时,电脑按照USB的数据帧率来安排传送音频数据的节拍,USB声卡以全速模式工作,其USB数据帧率(frame rate)为ΙΚΗζ,一个USB数据帧时间周期为 Ims0电脑操作系统的后台声音任务进程将每IOms的音频数据1*4*10=1764字节)作为一个大的完整片断来传送,前9个数据帧发送的是176字节长度的数据包,第10个数据帧发送180字节长度的数据包。从USB总线角度看来,音频数据发送的速率也存在变化,只不过这个变化是电脑周期性引入的,只要确保在IOms的时间周期内音频数据能够传送到音频数模转换模块,那么这个问题也能消除掉。如图3所示,所述数字音频解码芯片包括USB音频模块的输出连接环形数据缓冲区,环形数据缓冲区连接音频1 模块。电脑发送过来的USB数据包经过USB控制器被USB音频模块(USB Audio Module)接收并写入到给定的环形数据缓冲区(Ring Buffer), 同时经过相应计算来确定何时应当插入给定的采样点;播放器的音频发送口的音频1 模块(Audio I2S Module)按照一定频率从环形数据缓冲区中读取数字音频数据并以上述 44. 1176KHZ的节拍发送到音频数模转换模块。可以看到,除了 USB总线时钟,音频数模转换模块基准时钟为12MHz及I2S发送时钟外,其余模块之间均为系统总线时钟(系统主频)。下面结合图3详细介绍其中关键的同步结构。USB音频模块是USB声卡的协议层,遵守USB Audio 1.0规范。音频数据通过等时端点传送,为了提高实时性能,该等时端点以中断方式工作。中断发生时,相应的中断软件代码,先读取本次接收到的数据长度大小,然后向环形数据缓冲区申请相应的数据空间,接着启动USB DMA将接收到的数据传输到环形数据缓冲区,当传输结束时更新环形数据缓冲区的数据写指针。 音频1 模块是音频数模转换模块的数据接口,为保持音频流的实时性,数据传输以DMA方式工作,当DMA启动时,由于硬件逻辑设计的限制每次传输数据的长度都有限制, 因此,重启DMA的方式非常关键;有些功能设计复杂的DMA控制器支持链式传输,可以提供很好的实时性;如果一般常见的DMA控制器,必须利用DMA的传输中断,在该中断处理中重启DMA传输,这是因为1 控制器自身有传输缓冲区,能够提供一定的时间冗余,只要在该段时间内重启DMA即可。音频1 模块每次启动DMA时,先从环形数据缓冲区得到当前未传输的音频数据块的信息,然后根据该信息决定相应的可传输的数据块同时启动DMA,同时更新环形数据缓冲区的数据读指针。环形数据缓冲区遵循的原则是先写后读,写数据和读数据时均采用DMA的方工作式。由于DMA工作时是地址线形变化,因此环形数据缓冲区提供的缓冲区块需要避免一些误操作。在环形数据缓冲区数据写入过程中,根据给定的插值方法生成采样点在给定的DMA 传输之前或者之后插入到缓冲区里,并调整写指针。环形数据缓冲区在启动时设定有音频 1 读数据的启动阈值,该阈值的选择和采样点插值一起直接决定前述音频流的同步效果。 该阈值由系统内存资源决定。采样点插值涉及到如何生成采样点的问题,如果方法过于复杂,运算量太大,将严重影响系统实时性(例如重采样)。通用的方法是线性插值,取前后几个点的值,以其平均值作为插值,运算量小,但效果不好。本实用新型采用的是左右声道分别取特定数值的方法,测试下来,效果满足要求。综上所述,本实用新型在系统资源允许范围内给定一个音频1 启动阈值同时配合上述简易插值的方法去解决前述的音频同步问题。本实用新型的USB工作在全速模式, 使用环形缓冲区及前述简易插值方法实现音频同步。
权利要求1.采用单一12MHz晶振的USB声卡,其特征是包括相互连接的数字音频解码芯片和 USB控制器,所述数字音频解码芯片和USB控制器的时钟输入端连接一个12MHz晶振,USB 控制器通过USB总线连接USB接口,所述数字音频解码芯片还连接音频数模转换模块,音频数模转换模块的输出端连接音频功率放大器。
2.如权利要求1所述采用单一12MHz晶振的USB声卡,其特征是所述数字音频解码芯片包括USB音频模块的输出连接环形数据缓冲区,环形数据缓冲区连接音频1 模块。
3.如权利要求1所述采用单一12MHz晶振的USB声卡,其特征是所述12MHz晶振通过锁相环模块连接所述数字音频解码芯片。
专利摘要本实用新型提供了一种采用单一12MHz晶振的USB声卡,包括相互连接的数字音频解码芯片和USB控制器,所述数字音频解码芯片和USB控制器的时钟输入端连接一个12MHz晶振,USB控制器通过USB总线连接USB接口,所述数字音频解码芯片还连接音频数模转换模块,音频数模转换模块的输出端连接音频功率放大器。本实用新型只用一个12MHz晶振;音频数模转换模块基频由该12MHz晶振提供;音频数模转换模块的I2S使用44.1176KHz时钟由该12MHz晶振经数字分频提供,降低了硬件方案的生产成本。采用本实用新型技术,能够很方便简单的在通用的、支持USB从设备功能的媒体播放器上扩展USB声卡功能。
文档编号G06F1/16GK201945917SQ20112000953
公开日2011年8月24日 申请日期2011年1月13日 优先权日2011年1月13日
发明者丁国华, 冯军, 吴科, 方伟, 汪权东 申请人:无锡硅动力微电子股份有限公司