基于USB2.0的语音数据采集系统设计

时间:2007-04-28
摘 要:本文提出并设计实现了基于USB2.0的语音数据采集系统, 该系统以TMS320VC5402 DSP芯片为主控机,采用USB2.0协议芯片ISP1581实现系统与计算机之间的高速串行数据传输,重点介绍了USB设备主从两端的软硬件设计方案。
关键词:USB 2.0;语音数据采集;DSP

DSP芯片具有处理速度快、接口资源丰富、与ADC和USB控制芯片接口方便等特点。采用DSP芯片作为语音数据采集系统的主控机,能够满足对语音数据进行实时采集、数据处理和控制USB接口芯片等要求。
本文设计并实现了一个以DSP为主控机,结合USB2.0芯片ISP1581实现了音频数据采集系统,该系统中,DSP作为主机负责系统初始化、采集语音数据和进行各种处理等工作,并将数据通过USB口送至计算机分析处理。

ISP1581简介
ISP1581为基于微控制器或微处理器的系统提供了高速USB 通信能力。ISP1581 与系统的微控制器/微处理器的通信是通过一个高速的通用并行接口来实现的。这种实现USB 接口的标准组件使得使用者可以在各种不同类型的微控制器中选择出合适的。
ISP1581 支持USB 2.0 系统运作的自动检测。它是一个通用的USB 接口器件,符合现有的大多数器件的分类规格,比如:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。ISP1581内置了多种结构的DMA模块。
此外,ISP1581 内部还集成了许多特性,包括SoftConnectTM 、低频晶体振荡器和集成的终止寄存器。

系统设计
系统总体设计
本系统实现语音数据的实时采集以及与计算机之间的数据传输等功能。系统采用TMS320VC5402(以下简称C5402)DSP芯片作为主控机。C5402性能价格比高,资源丰富,可以提供全双工缓冲串口,采集经A/D转换后的数据,还能通过高速数据总线与USB控制芯片通信,处理速度高达100MIPS,它作为本系统主控机能高效完成系统的初始化、配置外围器件和USB接口,并根据由USB传来的主机命令,实时采集、接收音频信号,将合成的数据包送给计算机。计算机应用程序以驱动程序为桥梁,接收硬件发来的数据包,并对数据进行显示,分析等处理。
ADC采用低功耗16位A/D、D/A音频模拟接口芯片TLC320 AIC10(以下简称AIC10)。它具有高性能、低功耗、高度可编程性以及与DSP的接口设计简单的特点。
系统中计算机驱动程序用于处理底层通信细节,实现具体的通信协议,为应用程序提供透明的传输接口。计算机主机应用程序通过驱动程序提供的接口向设备驱动发送请求或从设备驱动接收请求,实现特定的通信、信息处理等功能。其原理如图1所示。
系统硬件设计
McBSP与AIC10接口
C5402提供了高速、全双工的McBSP。McBSP通过6个引脚与外设接口。AIC10与C5402 McBSP的硬件连接如图2所示。
DSP与ISP1581接口
ISP1581与C5402的连接电路如 图 3 所示。C5402与ISP1581的通信是通过高速的并行数据及控制总线进行的。C5402将ISP1581映射到片外I/O地址,通过它的IOSTRB和读写信号选择ISP1581 ,其数据总线直接与ISP1581的数据总线相连接。使用通用I/O口(GPIO)控制ISP1581的工作模式。ISP1581通过中断线来通知DSP收发数据,它的数据线 D+和D-通过USB电缆与主机USB接口连接。
系统软件设计
本系统的软件主要包括C5402串口和AIC10初始化、PDIUSBD12固件程序、DSP主程序,以及计算机驱动程序和应用程序。
DSP串口及AIC10初始化
DSP对McBSP复位并配置McBSP寄存器,即可完成串口的初始化。对于AIC10的初试化,主要对4个控制寄存器进行配置。 为使数据、寄存器地址和配置信息在同一串口中传输,AIC10采用了两种通信模式:主通信模式和第二通信模式。主通信(primary communication)发生在每个数据转换期间,此模式下的16位都用作传输数据。第二通信(secondary communication)只有在被请求时才会进行,用于传输寄存器地址和配置信息,对AIC10外部电路参数设置以及内部寄存器进行初始化,通过向DIN写数据来初始化,数据可由DOUT读出。另外还有直接DCSI参数设置模式。对于采用连续数据传输模式的DSP应用来说,无法插入第二通信请求,可以采用此方式通过DCSI引脚来对控制寄存器直接编程。
ISP1581固件程序
ISP1581用作实现计算机与DSP进行通信的高速通用接口。USB协议层的相关通信协议通过ISP1581来实现,它由硬件实现不需要固件的参与。C5402的主要作用是:当计算机操作系统配置、枚举USB外设时,C5402发送、接收相关的USB设备信息。当操作系统配置、枚举USB外设成功后,根据接收到的ID,进行相应的操作,起控制作用。C5402与ISP1581之间通信采用中断方式,当CPU 处理前台任务时,USB 的传输可在后台进行。后台ISR (中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现。图4所示为ISP1581的固件程序结构图。
计算机驱动程序与应用程序
驱动程序用于处理底层通信细节,实现具体的通信协议,为应用程序提供透明的传输接口。用户可以自行编写硬件驱动程序。可以采用的开发工具主要有Windows DDK,DriverStudio,Windriver,采用后两种工具开发驱动程序周期短,但程序编写不如种灵活。本系统的驱动是用Windows DDK编写的,因此主机应用程序可以方便灵活地与硬件设备进行数据交换。

结语
本文介绍了一种语音数据采集系统的软硬件设计,该系统采用DSP作为主控制器,采用USB2.0实现与计算机之间的数据通信。本语音卡已经应用于语音客观评价系统项目中,效果良好。■
参考文献
1 张雄伟等. DSP芯片的原理及开发应用[M]. 北京:电子工业出版社,2003
2 Philips Semiconductors. AN10004-01 ISP1581 Programming Guide,2002
3 Texas Instruments. General-Purpose 3V to 5.5v 16Bit 22 KSPS DSP CODEC TLV320AIC10 Data Manual [EB/OL]. 2001
4 ISP1581 datasheet https://www.dzsc.com/datasheet/ISP1581_410269.html.
5 PDIUSBD12 datasheet https://www.dzsc.com/datasheet/PDIUSBD12_544412.html.


上一篇:基于TMS320C64x DSP的语音采集与盲信号分离系统设计
下一篇:一种延迟电路在变频控制中的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料