2024年10月30日发(作者:柴初珍)
USB声卡和USB音频解码方案原理
近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成
为一种标准的规范,USB声卡也开始在市场上悄然出现。因为USB声卡内置了
DAC和有源功放,音频数据以数字方式进入USB声卡,完全杜绝了PC的内部
干扰,所以,USB声卡将有可能成为现有内置声卡的替代品。本文介绍了一种
基于ARM处理器的USB声卡设计。
USB声卡原理
由USB声卡数据流图(见图1)可以看出USB声卡的工作原理。在主机端播放
音乐时,应用软件或驱动程序把各类音频信号转换为统一的格式,如PCM、
MPEG等格式的数据流,通过主机的USB接口发送给USB声卡。声卡的USB
接口接收到数据后,通过I2S接口把并行音频数据转为串行,再发送给音频编解
码芯片进行D/A转换,即可在音频芯片连接的扬声器中发音。录音过程和播放
过程正好相反。
图1 USB 声卡数据流
硬件设计
USB声卡硬件主要包括MCU和音频编解码芯片。MCU采用三星公司的处
理器S3C2410,S3C2410内置I2S总线控制器和USB Slaver控制器。S3C2410
的I2S控制器实现了一个外部8/16位立体声音频CODEC IC的接口,支持I2S
总线数据格式和MSB-justified数据格式,并且支持DMA传输模式。
音频芯片采用UDA1341TS。UDA1341TS提供标准的I2S接口,可以直接
和SSS1630的I2S引脚连接。另外,此芯片还提供标准的L3、麦克风和扬声器
接口。L3接口的引脚分别连到S3C2410的3个GPIO输出引脚上,通过GPIO
控制L3接口。UDA1341TS音频芯片集成数字化音频和混频器功能。数字化音
频功能可以播放数字化声音或录制声音,因为包括这个功能,所以常把此类芯片
称为CODEC设备。混频器用来控制各种输入/输出的音量大小等,在本芯片中
通过L3接口进行控制。
图2 USB声卡拓扑图
软件设计
软件设计包括两部分:USB声卡固件程序设计和主机端Windows驱动设计。
因为USB音频类设备是一种标准设备,在Windows 操作系统上有标准的USB
音频驱动,所以只需要开发者根据USB音频类的协议开发固件程序。
USB声卡的固件程序主要包括两部分,第一部分主要是USB通讯,第二部分
实现I2S接口数据传输以及数据流的缓冲区控制等。
USB声卡的控制传输
在主机端应用程序中,执行音量调节、静音等事件时,USB音频驱动通过默
认端点0执行一个控制传输。一次控制传输主要包括两个步骤,第一步,由主机
向设备发送一个建立(Setup)信息,描述控制访问的类型,设备将执行此控制访
问。第二步,零个或多个控制数据信息的传送,这是访问的具体信息。根据USB
音频类协议分解控制信息包,然后再根据控制信息,执行相应的操作。例如,在
主机端应用程序中播放音乐前,USB声卡就会从主机端收到如下的两个包:
Setup包 22 01 00 01 01 00 03 00
控制数据包 40 1F 00
根据USB音频类协议分解Setup包,可以得知,本次控制传输的作用是设
置USB声卡的采样频率,并且收到的3字节控制数据信息是采样频率,即8KHz。
那么在播放音乐前,必须把I2S和SSS1630芯片的采样频率设置为96kHz,才
能和主机端保持同步。
SSS1629和SSS1630主要应用产品如下:
USB游戏耳机方案,USB麦克风方案,USB音响方案,USB话务耳机方案,
K歌方案,智能语音家居方案等等。
2024年10月30日发(作者:柴初珍)
USB声卡和USB音频解码方案原理
近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成
为一种标准的规范,USB声卡也开始在市场上悄然出现。因为USB声卡内置了
DAC和有源功放,音频数据以数字方式进入USB声卡,完全杜绝了PC的内部
干扰,所以,USB声卡将有可能成为现有内置声卡的替代品。本文介绍了一种
基于ARM处理器的USB声卡设计。
USB声卡原理
由USB声卡数据流图(见图1)可以看出USB声卡的工作原理。在主机端播放
音乐时,应用软件或驱动程序把各类音频信号转换为统一的格式,如PCM、
MPEG等格式的数据流,通过主机的USB接口发送给USB声卡。声卡的USB
接口接收到数据后,通过I2S接口把并行音频数据转为串行,再发送给音频编解
码芯片进行D/A转换,即可在音频芯片连接的扬声器中发音。录音过程和播放
过程正好相反。
图1 USB 声卡数据流
硬件设计
USB声卡硬件主要包括MCU和音频编解码芯片。MCU采用三星公司的处
理器S3C2410,S3C2410内置I2S总线控制器和USB Slaver控制器。S3C2410
的I2S控制器实现了一个外部8/16位立体声音频CODEC IC的接口,支持I2S
总线数据格式和MSB-justified数据格式,并且支持DMA传输模式。
音频芯片采用UDA1341TS。UDA1341TS提供标准的I2S接口,可以直接
和SSS1630的I2S引脚连接。另外,此芯片还提供标准的L3、麦克风和扬声器
接口。L3接口的引脚分别连到S3C2410的3个GPIO输出引脚上,通过GPIO
控制L3接口。UDA1341TS音频芯片集成数字化音频和混频器功能。数字化音
频功能可以播放数字化声音或录制声音,因为包括这个功能,所以常把此类芯片
称为CODEC设备。混频器用来控制各种输入/输出的音量大小等,在本芯片中
通过L3接口进行控制。
图2 USB声卡拓扑图
软件设计
软件设计包括两部分:USB声卡固件程序设计和主机端Windows驱动设计。
因为USB音频类设备是一种标准设备,在Windows 操作系统上有标准的USB
音频驱动,所以只需要开发者根据USB音频类的协议开发固件程序。
USB声卡的固件程序主要包括两部分,第一部分主要是USB通讯,第二部分
实现I2S接口数据传输以及数据流的缓冲区控制等。
USB声卡的控制传输
在主机端应用程序中,执行音量调节、静音等事件时,USB音频驱动通过默
认端点0执行一个控制传输。一次控制传输主要包括两个步骤,第一步,由主机
向设备发送一个建立(Setup)信息,描述控制访问的类型,设备将执行此控制访
问。第二步,零个或多个控制数据信息的传送,这是访问的具体信息。根据USB
音频类协议分解控制信息包,然后再根据控制信息,执行相应的操作。例如,在
主机端应用程序中播放音乐前,USB声卡就会从主机端收到如下的两个包:
Setup包 22 01 00 01 01 00 03 00
控制数据包 40 1F 00
根据USB音频类协议分解Setup包,可以得知,本次控制传输的作用是设
置USB声卡的采样频率,并且收到的3字节控制数据信息是采样频率,即8KHz。
那么在播放音乐前,必须把I2S和SSS1630芯片的采样频率设置为96kHz,才
能和主机端保持同步。
SSS1629和SSS1630主要应用产品如下:
USB游戏耳机方案,USB麦克风方案,USB音响方案,USB话务耳机方案,
K歌方案,智能语音家居方案等等。