网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> C5000文章 >> C54X系列 >> 文章正文
  [组图]基于DSP的USB语音传输接口设计         ★★★ 【字体:
基于DSP的USB语音传输接口设计
作者:毛海涛,…    文章来源:现代电子技术    点击数:    更新时间:2007-1-2    

 :介绍了一种基于DSPUSB语音传输接口的设计。通过USBDSPPC机之间进行串行通信,实现PC机对设备的命令控制及语音数据的双向传输。本设计中使用了USB3种数据传输方式:控制传输、中断传输和等时传输,为扩充设备的应用范围打下了基础。
   
关键词:语音传输;USBDSP;串行通信

1 引 言
  USB把所有的输入和输出外设都置于机箱之外,而不用任何扩展槽。他是快速、双向、同步、动态连接且价格低廉的串行接口,可以满足PC机发展的现在和未来的需要。本设计就是充分发挥了USB这些优点,利用当今先进的电子技术研制出来的一种新型的高性能的语音传输接口装置。
  本设计选用TI公司的TMS320VC5402(以下简称DSPDigitalSignalProcessor)作为本设计的主控制器芯片,NS公司的USBN9603(以下简称USBUniversal Serial Bus)作为USB控制器芯片,NEWAVE公司的NW1034(以下简称CODEC)作为语音编解码器芯片,MITEL公司的MH88634(以下简称COIC)作为电话机接口芯片。
2
 DSPUSB简介
  TMS320VC5402是定点芯片TMS320C54X系列的一种,是为实现低功耗和高性能而专门设计的定点 DSP芯片,主要应用在无线通信和语音处理等方面。TMS320VC5402的主要特点包括:处理性能好,运算速度达100 MIs;优化的CPU结构,内部有140 b的算术逻辑单元,2个独立的40 b的加法器,117×17的的乘法器和140 b的桶形移位寄存器,有4条内部总线和2个地址产生器;低功耗方式,可以在33 VIO电压和18 V内核电压下工作;智能外设,除了标准的串行口和时分复用(TDM)串行口外, TMS320VC5402还提供了自动缓冲串行口BSPauto- BufferedSeroal Port和与外部处理器通信的HPIHostPort Interface)接口;内部有16 k片内RAM4 k片内ROM
  TMS320VC5402其独特的高性能、低功耗和低价格优势,是我们选择他作为本设计的主处理器的原因。  USB1995年实现标准化后,经过了数年的飞速发展,已经从最初10规范发展到现在的20规范,最大传输速率可达480 Mbs。本设计使用的USBN9603支持USB11规范,低速传输速率为15 Mbs,全速传输速率为12 MbsUSB提供了4种传输方式,以适应各种设备的需要。这4种传输方式分别是控制传输、NSUSBN9603是一个集成的USB端点控制器,具有增强的DMA功能。USBN9603集成了一个带有33 V的调节器的收发器,1SIE(串行接口引擎),18 b并行接口,1个时钟发生器和1MICROWIREPLUS接口。USBN9603可以进行7个端点的数据传输,除了端点0必须为控制传输端点以外,其他的6个端点可以被配置成中断传输端点、批量传输端点或者等时传输端点。每一个端点都有一个专门的FIFO,控制端点的FIFO长度为8 B,其他的为64 B8 b并行接口可以支持多路复用或者非多路复用2种与CPU的接口方式。USBN9603的突出特点为:低EMI(电磁干扰),低等待电流,24 M晶振,增强的DMA功能;可使用5 V33 V电源;总线操作具有异步唤醒的全速静态HALT模式;改进的33 V电压输入的电压调节器,所有非双向端点都有64 BFIFO;外部控制器接口简单,编程方便。
3
 语音传输的思想
  本设计的目的是给普通电话机和PC机之间提供一个数字接口。在本设计中,PC机是主机,DSP系统是USB设备。
  当有来电时,COICDSP申请中断,DSP收到中断后就使用USB的中断传输向主机报告有来电,主机应用软件会弹出一个对话框要求用户选择摘机还是拒接,同时耳机或音箱里会传出电话铃声,如果选择摘机,主机就会使用USB的控制传输发送一个摘机命令给DSPDSP在接到命令后就会接通电话,同时启动CODEC,然后语音数据就通过USB的等时传输(也叫同步传输)进行双向传送,而主机用户插上耳机(或音箱)和话筒就可以与电话另一端通话,通话完毕,主机发送一个挂机命令给DSP。如果选择拒接,主机就发送一个拒接命令给DSPDSP会执行相应的动作。
  当用户需要往外拨号时,也无需拿起电话机,只要在应用软件中选择拨号功能,输入被叫号码,点击确认键即可。剩下来的执行过程与有来电时的情况是一样的。
4
 电路原理设计
  本设计由DSP构成核心控制器,控制对象是USBCODECCOIC。图1是整个系统的硬件框图。本设计的USB部分使用了USB3种传输方式:
   
1)控制传输 
   
用于实现设备枚举主机的标准请求还有厂商自定义请求(即主机命令)。
   
2)中断传输 
  用于实现设备对主机的唤醒,是惟一的设备主动向主机发送数据的传输方式。
   
3)等时传输 
用于实现语音数据的双向同步传输。
 

  图2USBDSP的接口原理图,如图所示,USB使用24 M晶振,本设备是全速(高速)设备,所以在D+上加05 kΩ上拉电阻,如果是低速设备,则在D-上加15 kΩ上拉电阻。MODE0MODE1是选择8 b并行接口方式的,本设计中选用非多路复用方式,所以MODE0MODE1都接地,如果要选择成多路复用方式,则使MODE033 V电源,MODE1接地即可。CLKOUT是时钟输出,可供测试用,正常上电复位后,CLKOUT就应该输出4 MHz的方波。然后可以在主程序中对USB的时钟寄存器进行配置,以产生需要的时钟,然后用示波器就可以在CLKOUT上看到相应的输出,可以用来判断读写操作是否正确等。

 


 

 CODECDSP的接口为标准的串行通信接口。
COIC
把普通电话的两线制转换为四线制后实现与CODEC的无缝连接,另外和DSP接口只需几根简单的控制线即可实现。
5
 系统软件的设计
  系统软件主要由3个部分组成:FirmwareUSB驱动程序,主机应用软件。图3是系统软件框图。


51 Firmware
  固件程序,是写在DSPROM中的程序,由主程序和中断服务程序组成。使用TI提供的CCSCodeComposer Studio)来完成Firmware的编写。CCSTI推出的代码编译调试的集成环境,调试方便、易于使用,为本设计的顺利进行创造有利条件。
   
1)主程序 
  图4为主程序流程图。主程序只做初始化和检测一些状态位的变化,以转入相应的处理子程序中。
 


    2)中断服务程序 
  包括COIC的中断服务程序、CODEC的中断服务程序和USB中断服务程序3部分。Firmware的大部分工作是在中断服务程序中完成的。
  COIC只有一个中断,就是把振铃信息传送给DSP
  CODEC3个中断:首先是接收振铃信息,在振铃中断服务子程序中,把振铃标志位置位;然后是接收中断,在中断服务子程序中把从电话接收到的语音数据装载到相应的FIFO中去;还有就是发送中断,在 中断服务子程序中把从PC机侧发过来的语音数据发送至电话终端。
  USB4个中断,所有的数据交换都是在中断服务子程序中完成的,而且除中断传输外每次传输都是由客户启动的,主机应用软件调用USB功能驱动程序开始一个传输过程,然后USB产生一个中断请求,向DSP申请中断,在得到DSP的响应之后才进入中断服务子程序进行数据的接收或者发送。
5
2 USB驱动程序
  USB的驱动程序属于WDMWindows DriverModel)类型,Windows 982000等操作系统均支持该类型的驱动程序。WDM首先定义了一个基本的核心驱动程序模型,处理所有类型的数据,使驱动程序模型的内核实现更加的固定。WDM驱动程序还是一种分层的程序结构,可以看做是Windows NT驱动程序的改进,WDM驱动程序支持即插即用、电源管理和WMIWindows Management Instrument)特性。Windows 982000提供了一系列的系统驱动程序,他们具有为许多标准类型设备服务所需的所有基本功能。图5USBWDM接口框图(也是USB驱动程序总体框图)。


  Windows提供了USB的系统类驱动程序,他处理USB上的所有底层通信,这样其他驱动程序就有了一个定义好的接口可以使用。图5USB类驱动程序使用UHCDSYSOHCISYS分别驱动两种类型的控制器UHCIUSBHost Controller Driver)和OHCIOpen Host Controller Interface)。当PCI枚举器发现USB主机控制器后,就会装入相关的驱动程序。
  需要自己做的驱动程序实际上是USB功能驱动程序(也叫客户驱动程序),他控制一个给定的USB功能设备,例如我们的语音传输设备。连接到USB设备的每一种类型的功能单元都必须要有功能驱动程序。这些功能单元不知道和USB传输机制相关的细节,而且必须依赖于USB的主机应用软件才能管理他们基于USB的能力和限制的传输请求。功能驱动程序的理想实现是基于设备类而定义的。功能驱动程序把USB设备看作是一个可以被访问的端点的集合,他可以被控制并与他的功能单元进行通信。USB功能驱动程序可以在VC++下编写,但需使用微软提供的NTDDKWindows NTDriverDevelop Kit)来编译驱动程序。
5
3 主机应用软件
  主机应用软件所完成的主要工作为:打开和关闭USB设备;读取设备描述符等;向设备发送摘机、挂机和拨号等命令;主动向用户发声并弹出对话框提示有来电;进行拨号;拨号或摘机后的双向语音同步传输。
  主机应用软件在VC++60下完成,应用软件所操作的对象就是USB功能驱动程序,由于功能驱动程序提供与应用软件的接口,因此编写应用软件的难度要远远低于功能驱动程序的开发难度。
6
 结 语
  在当今的数字化时代背景下,DSP已成为通信、计算机、消费类电子产品等领域的基础器件,被誉为信息社会革命的旗手。USBPC外围设备输入输出提供了新的接口标准。他使得设备具有了热插拔、即插即用、自动配置的能力,并标准化了设备连接。USB的级联星型拓扑结构大大扩充了外设数量,使增加、使用外设更加便捷、快速。
  本文所介绍的USB设备其实是一个数字电话机的模型,本系统软硬件都具有模块化特性,易于改造成其他应用场合的语音控制系统:从大的方面讲,可以组成数字电话网;从小的方面讲,在一个局域网内部,所有成员就都可以通过局域网方便地接听和拨打电话,而无需大量的分机。该设计节省了大量的人力和物力,具有较强的使用价值和推广意义。

 

参考文献

1] 张雄伟,曹铁勇,等.DSP芯片的原理与开发应用[M].北京:电子工业出版社,2000
2] 张念淮,江浩,等.USB总线接口开发指南[M].北京:国防工业出版社,2001
3] Chris CantWindows WDM设备驱动程序开发指南[M].北京:机械工业出版社,2001
 

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于DSP的电子节气门PID控制
    基于DSP的多路音/视频采集处…
    低功耗实时可编程DSP数字助听…
    基于DSP+CPLD的断路器智能控…
    基于DSP+CPLD的交流电机调速…
    基于DSP的分布式微机保护测控…
    基于DSP的语音实时变速系统设…
    以ARM和DSP嵌入式系统为核心…
    基于双DSP的运动目标智能跟踪…
    高性能定点DSP位处理单元(BM…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号