为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于I2S的USB声卡系统设计

2018-01-12 4页 doc 16KB 20阅读

用户头像

is_562397

暂无简介

举报
基于I2S的USB声卡系统设计基于I2S的USB声卡系统设计 基于I2S的USB声卡系统设计,通信与计算机, 闵华松 孙程建 约3809字 摘要:本文介绍了基于S3C2410处理器平台,利用12S总线的USB声卡系统设计。详细阐述了USB声卡通讯的实现,并且根据12S总线DMA传输的特点实现了环形缓冲区,以提高系统性能,满足音频实时性的要求。 关键词:USB声卡;S3C2410;125 引言 [图片] 近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成为一种标准的规范,USB声卡也开始在市场上悄然出现。因为USB声卡内置了D...
基于I2S的USB声卡系统设计
基于I2S的USB声卡系统设计 基于I2S的USB声卡系统设计,通信与计算机, 闵华松 孙程建 约3809字 摘要:本文介绍了基于S3C2410处理器平台,利用12S总线的USB声卡系统设计。详细阐述了USB声卡通讯的实现,并且根据12S总线DMA传输的特点实现了环形缓冲区,以提高系统性能,满足音频实时性的要求。 关键词:USB声卡;S3C2410;125 引言 [图片] 近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成为一种,USB声卡也开始在市场上悄然出现。因为USB声卡内置了DAC和有源功放,音频数据以数字方式进入USB声卡,完全杜绝了PC的内部干扰,所以,USB声卡将有可能成为现有内置声卡的替代品。本文介绍了一种基于ARM处理器的USB声卡设计。 USB声卡原理 由USB声卡数据流图(见图1)可以看出USB声卡的工作原理。在主机端播放音乐时,应用软件或驱动程序把各类音频信号转换为统一的格式,如PCM、MPEG等格式的数据流,通过主机的USB接口发送给USB声卡。声卡的USB接口接收到数据后,通过12S接口把并行音频数据转为串行,再发送给音频编解码芯片进行D,A转换,即可在音频芯片连接的扬声器中发音。录音过程和播放过程正好相反。 硬件设计 [图片] USB声卡硬件主要包括MCU和音频编解码芯片。MCU采用三星公司的处理器S3C2410,S3C2410内置FS总线控制器和USB Slaver控制器。S3C2410的12S控制器实现了一个外部8,16位立体声音频CODECIC的接口,支持FS总线数据格式和MSB(justified数据格式,并且支持DMA传输模式。 音频芯片采用UDAl341TS。UDAl341TS提供标准的12S接口,可以直接和S3C2410的12S引脚连接。另外,此芯片还提供标准的L3、麦克风和扬声器接口。L3接口的引脚分别连到S3C2410的3个GPIO输出引脚上,通过GPIO控制L3接口。UDAl341TS音频芯片集成数字化音频和混频器功能。数字化音频功能可以播放数字化声音或录制声音,因为包括这个功能,所以常把此类芯片称为CODEC设备。混频器用来控制各种输入,输出的音量大小等,在本芯片中通过L3接口进行控制。 软件设计 软件设计包括两部分:USB声卡固件程序设计和主机端Windows驱动设计。因为USB音频类设备是一种标准设备,在Windows操作系统上有标准的USB音频驱动,所以只需要开发者根据USB音频类的开发固件程序。 USB声卡的固件程序主要包括两部分,第一部分主要是USB通讯,第二部分实现12S接口数据传输以及数据流的缓冲区控制等。 USB通讯 USB声卡描述符 为了有效地定义出USB声卡的描述符,可先根据USB音频类协议,并结合需要实现的USB声卡功能,确定出USB声卡的拓扑图(见图2),然后再根据拓扑图和USB音频类描述符的协议,写出USB声卡的描述符。 USB声卡的描述符包括5部分,分别为设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。接口描述符是其中的难点。USB声卡的接口描述符包括两部分:音频控制(AudioContr01)接口描述符和音频数据流(AudioStreaming)接口描述符。 1(USB音频控制接口描述符。根据USB声卡的拓扑图所示,当声卡用于回放功能时,其声卡功能的控制,通过IT1(Input Teminal),OT3(Out Teminal)和Feature单元表示,IT1表示的是PC向USB声卡发送的音频数据流,OT3表示的是发向DAC的数据流,在IT1和OT3之间的Feature单元用于调节音量和音效功能等。当声卡执行录音功能时,USB的功能拓扑通过IT2,OT4表示,IT2表示A,D采样的音频数据流,OT4表示的是通过USB接口发向PC的数据流。USB音频控制接口的数据传输一般使用默认端点0。 在USB声卡的拓扑图中,F表示的是USB音频类的Feature单元,Feature单元的主要作用是控制音量、静音、低音等。如果在描述符中声明了Feature单元,在Windows操作系统下,控制面板中的声音和音频设备的一些功能才能使用。那么在Windows中进行调节音量等控制时,就会触发固件程序对UDAl341TS芯片L3接口的控制。 2(USB音频数据流接口描述符。因为USB音频有回放和录音两种功能,所以需要两个同步数据流接口,两个接口使用双向端点l进行数据传输。 通过USB声卡的拓扑图,可以出音频接口的流程和功能,从而得出USB声卡的描述符。 USB通讯的程序实现 S3C2410有5个双向FIFO端点,其中0端点是控制传输端点,其他4个端点支持批量、中断、同步传输等方式。在本系统中使用0、1两个双向传输端点。端点0执行控制传输(cONTROL),一方面传输USB协议的控制信息,例如Setup事件、握手信号、枚举信息等,另一方面传输音频控制信息,例如采样率控制、音量控制等。端点1采用同步传输方式(ISOCHRONOUS),传输时间间隔为lms,用于实时传递主机和12S之间的录音或放音数据。 根据USB协议,USB设备的任何数据传输,都由USB主机分配,然后USB设备响应相应的USB主机总线请求。S3C2410的USB控制器采用的是中断方式响应,那么在$3C2410的USB中断服务程序中要作以下工作: USB声卡的控制传输 在主机端应用程序中,执行音量调节、静音等事件时,USB音频驱动通过默认端点0执行一个控制传输。一次控制传输主要包括两个步骤,第一步,由主机向设备发送一个建立(Setup)信息,描述控制访问的类型,设备将执行此控制访问。第二步,零个或多个控制数据信息的传送,这是访问的具体信息。根据USB音频类协议分解控制信息包,然后再根据控制信息,执行相应的操作。例如,在主机端应用程序中播放音乐前,USB声卡就会从主机端收到如下的两个包: 控制数据包 40 1F 00 根据USB音频类协议分解Setup包,可以得知,本次控制传输的作用是设置USB声卡的采样频率,并且收到的3字节控制数据信息是采样频率,即8KHz。那么在播放音乐前,必须把I2s和UDAl341TS芯片的采样频率设置为8kHz,才能和主机端保持同步。 12S总线实现方法 在S3C2410芯片中,FS接口提
/
本文档为【基于I2S的USB声卡系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索