datasheet

基于USB2.0接口的语音采集系统设计

2008-05-28来源: 单片机与嵌入式系统应用关键字:语音回放  DSP  USB2.0接口  USB设备  语音信号  WDM驱动程序  采集卡

  引言

  语音信号的采集和处理在网络、通信、智能仪表、工业控制、医疗卫生、公共安全等领域得到了越来越广泛的应用,而这些工作都需要一套高速的语音信号采集系统来完成,要对语音进行采集就需要一种高速的,能进行长时间、大吞吐量数据传送的计算机接口。USB2.0接口就是一种符合语音采集要求的计算机接口,同时,它还具有支持热插拔、占用系统资源少、易于扩展、使用方便等优点。DSP是利用专门或通用的数字信号处理芯片,以数字计算的方法对信号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小及可靠性高等优点,可满足对信号快速、精确、实时处理及控制的要求,本采集卡采用TI公司高精度浮点DSP芯片TMS320C6713作为主控制器,采用高精度数字编解码芯片TLV320AIC23B实现ADC功能,使用Cypress公司EZ-USB SX系列中CY7C68001作为USB接口芯片,与传统语音采集卡相比,在实现相同的性能条件下该采集卡成本进一步降低,使用更方便,具有很高的性价比。

  1 系统硬件设计

  语音采集系统是在TMS320C6713(简称"C6713")平台上设计开发的,该平台的系统框图如图1所示。

  该系统的总体设计任务:由主机的应用程序通过USB总线传输发出命令,控制采集卡对语音信号的采集、播放、数据传输和语音回放;同时根据采集卡返回的状态字显示语音采集卡的工作情况,语音采集过程:DSP控制TLV320AIC23B(简称"AIC23")对语音信号进行采样,采样得到的数据,再经过DSP与USB之间的数据传输通道传送至USB接口芯片,再传送到主机上存储,语音回放过程:主机把处理后的数据传给USB接口芯片,DSP通过与USB之间传输通道取数据,然后将数据传给D/A转换器,经D/A转换后输出。

  USB芯片CY7C68001实现主机和DSP外设的高速数据通信,DSP作为控制器和系统的快速处理得执行者,主要任务是根据主机传来的命令或参数,以尽快的速度完成数据传送。本卡将CY7C68001配置在C6713的EMIF的CE3空间,采用CY7C68001的异步读/写方式完成二者之间数据和命令的交换,CY7C68001除了存储器接口外,还有1个中断信号(USBINT)和4个状态信号(READY、FLAGA、FLAGB和FLAGC)及中断信号USBINT使用C6713的外部中断EXT_INT5;同时USBINT中断还被映射到板卡的控制状态寄存器(UN_REG)中,供C6713查询,以确定真正的中断源,C6713是通过EMIF来完成CY7C68001的数据与命令的交换,在XC9572XL内部构造时序逻辑来完成DSP与USB芯片的通信。其连接如图2所示。

  

  

  AIC23有2个接口,一个是控制口,用于设置AIC23的工作参数,另一个是数据口,用于传输AIC23的A/D、D/A数据,这部分与C6713的MCASP无缝连接。连接电路如图3所示,在本卡中AIC23配置成主模式,AIC23的控制口使用2线制的I2C方式,其中CS的反是片选信号,低电平有效;SDIN是AIC23控制口串行数据输入,SCLK是AIC23控制口的位-时钟。数据口使用I2S方式,与DSP的MCASP0连接,其中,BCLK表示数据口位-时钟信号,LRCIN表示数据口DAC输出的帧同步信号,LRCOUT表示数据口ADC输入的帧同步信号,DIN表示数据口DAC输出的串行数据输入,DOUT表示数据口ADC输入的串行数据输出。BCLK由AIC23产生,MCASP0的发送与接收时钟均由AIC23来提供。

  DSP外部扩展了2片现代半导体公司的(4 Bank1M16位)HY57V641620HGT-P SDRAM,提供DSP程序运行器件所需的动态存储空间。SDRAM的片选信号直接与DSP的EMIFA外设的信号相连,从而使SDRAM被映射到DSP的0x80000000-0x80FFFFFF地址范围内。在对SDRAM进行读/写访问前,需通过EMIF的控制寄存器CE0CTL将空间配置为32位SDRAM存储器接口,通过SDCTL、SDTIM、SDEXT等寄存器设置SDRAM的读/写时序和参数,DSP与SDRAM的连接如图4所示。

  

  

  另外,扩展了AMD公司的一片Am29LV320D(4M8位/2M16位)Flash存储器,用于保存上电引导的用户程序。如果DSP采用ROM引导模式,则在DSP复位之后,DSP会把EMIF的CE1空间的1KB的ROM代码搬移到片内RAM空间,从而实现自举引导,所以本设计中把Flash的片选信号连接到了DSP的EMIF的引脚,从而使Flash映射到DSP的0x90000000-0x900FFFFF地址范围内。由于Flash是以8位进行访问的,所以其物理地质以8位为单位进行编址。DQ15/A-1引脚的"A-1"表示字节模式,故将EA2与DQ15/A-1引脚连接。Flash的接口示意图如图5所示。

  

  2 软件设计

  在USB固件的开发过程中,使用了固件架构来进行固件的开发,将整个程序按功能划分成了6个功能模块:主循环模块、厂商定义请求处理模块、标准设备请求处理模块、中断服务程序模块、命令接口模块和数据接口模块,DSP一旦上电就需要初始化PLL寄存器、EMIF寄存器、CSL库初始化和中断配置。设备上电后,主机通过设备的上拉电阻产生的信号变化来检测新的设备连接,然后判断CY7C68001是否准备好,如果准备好就打开中断,加载描述符,等待自举成功;一旦自举成功就初始化CY7C68001,检查事件标志并进入对应的模块程序做进一步的处理。主循环模块的流程如图6所示。

  

  中断处理子程序首先判断中断的产生源,然后进行相应的处理、设置。中断信号USBINT使用C6713的外部中断EXT_INT5,给出的外部信号指示DSP有中断产生或USB寄存器读请求。具体流程如图7所示。

  

  USB设备驱动程序主要是通过调用微软的USBD.SYS来实现PC机与USB总线的数据交换,其主要功能是为相应的USB设备建立设备驱动对象,并完成对USB设备的初始化、对USB设备的即插即用功能和电源的管理,实现对USBD.sys的调用以及对USB设备的控制与数据的交换。我们使用了第三方的开发工具--Numega公司的Driverstudio进行开发,DriverStudio能加速开发、调试、测试、调整和配置WDM驱动程序。DriverWorks框架结构为USB设备驱动程序的开发提供了3个类:KUsbLowerDevice、KusbInerface和KusbPipe,用于实现USB设备的操作。KUsbLowerDevice类是KPnPLowerDevice类的派生类,它继承了KPnPLowerDevice类的成员函数,主要用于逻辑设备(底层USB设备)的编程。KUsbLowerDevice类实例代表端点0,允许USB驱动程序通过默认控制管道控制USB设备,如配置USB设备、传输各种控制状态和请求,KUsbInerface类用于接口的编程,它的作用更多的是结构上的而非功能上的,其成员函数几乎不与实际物理设备交互作用,设备驱动程序使用这个类可以获得接口和管道的信息。KUsbPipe类用于管道的编码,管道是主机和端点的一个信息连接,只有深刻理解这3个类,才能进行USB设备驱动程序的编写,本设计中要为Windows XP开发一个设备驱动程序,DriverWork提供独特的DriverWizard可以自动生成代码,精心制作的类库减少了对简单接口的复杂操作。

  应用程序的主要功能是实现对数据采集系统的控制采集和数据处理,并在计算机中显示处理结果,在Win32系统中,把每一个设备都抽象为文件,通过调用Win32 API函数应用程序,向设备驱动程序发出特定的IRP请求,就可以实现应用程序与WDM驱动程序通信,设备驱动程序得到请求后,向更底层驱动程序传递IRP请求,最后到达硬件设备,完成对硬件设备的控制与访问操作,这个通信过程大致可这样描述:应用CreateFile()函数打开设备并创建到设备的连接;然后用DeviceIoControl()函数或者ReadFile()函数、WriteFile()函数与WDM驱动程序进行通信,包括从驱动程序中读取数据和写入数据两种情况。应用程序退出时,用CloseHandle()函数关闭设备。

  

  

  

  语音采集板卡用USB2.0接口来实施数据传送,实现厂商定义请求的处理功能,以及语音采集、传送到主机以*.dat格式文件保存、主机读取*.dat格式传送到语音采集板卡、语音回放功能。实践证明,回放的语音信号清晰,失真度低,效果良好。

  结语

  本文讲DSP的高速数据处理能力与USB2.0接口的高速数据传输能力有机结合,采用TMS320C6713和USB2.0接口设计实现了一个语音信号采集系统。实验表明:USB接口工作正常,语音采集卡运行稳定,实时性高,具有较高的精度,固件程序、USB设备驱动程序和应用程序都能正常地运行,且具有使用方便、性价比高的优点,通过主机界面可方便地控制语音信号的采集和播放,并可将采集到的语音数据通过USB接口高速传输到计算机进行存储和回放,达到了语音采集系统的设计目标。

关键字:语音回放  DSP  USB2.0接口  USB设备  语音信号  WDM驱动程序  采集卡

编辑:孙树宾 引用地址:http://news.eeworld.com.cn/afdz/2008/0528/article_702.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于USB2.0接口的语音采集系统设计
下一篇:基于TMS320C50的通用语音信号处理系统

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

DSP2808与ARM STM32F103的SPI通讯例程及详解

本程序经验证可实现DSP和ARM的SPI通讯。 一、 SPI的通信协议 SPI(Serial Peripheral Interface)是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口一般由4根线组成,CS片选信号(有的单片机上也称为NSS),SCLK时钟信号线,MISO数据线(主机输入从机输出),MOSI数据线(主机输出从机输入),CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟信号来发起通讯。通讯时主机的数据由MISO输入,由MOSI 输出,输入的数据在时钟的上升或下降沿被采样
发表于 2019-07-11
DSP2808与ARM STM32F103的SPI通讯例程及详解

STM32 DSP库 使用注意点

DSP库 使用注意点我们平常所使用的CPU为定点CPU,意思是进行整点数值运算的CPU。当遇到形如1.1+1.1的浮点数运算时,定点CPU就遇到大难题了。对于32位单片机,利用Q化处理能发挥他本身的性能,但是精度和速度仍然不会提高很多。现在设计出了一个新的CPU,叫做FPU,这个芯片专门处理浮点数的运算,这样处理器就将整点数和浮点数分开来处理,整点数交由定点CPU处理而浮点数交由FPU处理。我们见到过TI的DSP,还有STM32F4系列的带有DSP功能的微控制器。前者笔者没有用过,不作评论,而后者如果需要用到FPU的浮点运算功能,必须要进行一些必要的设置。首先,由于浮点运算在FPU中进行,所以首先应该使能FPU运行
发表于 2019-06-29

辰芯科技获得CEVA DSP授权

CEVA,全球领先的智能和互联设备信号处理平台和人工智能处理器IP授权许可厂商 (纳斯达克股票交易所代码:CEVA) 宣布中国信息通信科技集团 (CICT)旗下子公司辰芯科技有限公司(MorningCore Technology Co. Ltd)已经获得授权许可,在其软件定义无线电(SDR)处理器和平台系列中部署使用CEVA-XC DSP,瞄准高性能4G/5G无线和蜂窝网络车到一切(C-V2X)应用。 CICT是专注于电信领域创新研发的高科技企业集团。成立于2017年的辰芯科技有限公司是大唐集团的一部分,是CICT旗下重要企业,负责集成电路(IC)和系统级芯片(SoC)的开发和创新,以推动实现5G终端
发表于 2019-06-27

东芝选用Cadence Tensilica Vision P6 DSP 提高ADAS芯片的图像识别性能

(图片来源:Cadence官网)据外媒报道,东芝为其下一代汽车SoC选用Cadence Tensilica Vision P6 DSP IP,以满足功能安全要求。该数字信号处理器IP具有计算吞吐量高、功耗低、芯片核心区小的特点。此外,它已通过认证,能满足汽车应用的典型功能安全要求。Cadence表示,Vision P6 DSP的功效效率比CPU高3.8倍,处理能力高达 1024 GOPS,可作为卸载引擎,有效处理视觉和AI工作负载,满足精确检测和识别目标需求。Tensilica生态系统是东芝选择的决定性因素。这家日本芯片制造商已将Cadence Xtensa Imaging Library
发表于 2019-06-25
东芝选用Cadence Tensilica Vision P6 DSP 提高ADAS芯片的图像识别性能

Cadence推Tensilica Vision Q7 DSP 为汽车提供双倍的视觉和AI性能

(图片来源:Cadence官网) 据外媒报道,Cadence Design Systems推出新的Tensilica Vision DSP,用于高要求的边缘视觉和AI处理应用,可每秒执行高达1.82万亿次操作(TOPS)。Cadence Tensilica Vision Q7 DSP是该公司Tensilica Vision DSP系列的一个扩展,据称可以将汽车、AR/VR、移动和监测市场的视觉和AI能提高一倍。该公司表示,第六代Vision Q7 DSP在相同的领域提供了高达2倍的AI和浮点性能,满足了嵌入式视觉和AI应用日益增长的计算需求。Vision Q7 DSP IP是专为同步定位和映射(SLAM)而优化
发表于 2019-06-15
Cadence推Tensilica Vision Q7 DSP 为汽车提供双倍的视觉和AI性能

智能耳戴式设备或将成为智能手表强有力的竞争对手

不同的声音类型,例如火车进站,并且可以剔除噪音。如果他们确实做到了这一点,那么我们离真正的噪音消除就近了一大步,这款产品也一定会大受欢迎。 另一个应用示例是探测头部动作以支持3D音效,用于3D音乐体验或游戏。当你移动或行走时,你听到的声音会根据你所在的场景而变化,从而创造出更逼真的VR体验。如果你在玩游戏,当你转动头部时,你不只会看到场景转换,你听到的声音也会随之变化。 那么是什么让这一切成为可能呢?显然,入耳/头戴式耳机的计算和通信能力必须大幅提高,通信必须做到真正无线,如果无法摆脱传统的连接线,那么这一切将毫无意义。你至少需要与手机建立蓝牙连接,并且在耳机中呈现出卓越的音质。这两种功能都需要借助DSP来实现
发表于 2019-05-24
智能耳戴式设备或将成为智能手表强有力的竞争对手

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved