新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 实现语音压缩算法的高速硬件平台

实现语音压缩算法的高速硬件平台

作者:时间:2009-12-17来源:网络收藏
本系统使用TI公司浮点型DSP TMS320C6713实现G.723.1等语音编解码,为G.723.1、G.729等常用的低码率标准提供运行及测试。有别于大多数编解码系统,本设计采用了性能更好的浮点型处理器和20位以上的数模模数转换器,总线带宽提高为16位,并采用主控性更强的HPI 接口。系统设计具有以下优势:(1)数据的传输通过USB口完成,完全支持速度在5.3 Kb/s或6.3 Kb/s的多路编码输出,方便用户使用,并可使用USB独立供电。(2)利用USB控制芯片的GPIF模式与DSP连接,程序简单、修改灵活。(3)采用主频300 MHz、处理速度2 400 MIPS/1 800 MFLOPS的TMS320C6713,可以使每帧数据的处理时间小于37 ms的帧延迟,满足系统运行的实时性。(4)数据的传送工作交由USB控制芯片68013完成,可使DSP从繁琐的数据搬运及USB协议处理工作中独立出来,使更多的资源用于数据处理。(5)采用由主机加载固件的方法,节省数据处理端的硬件与软件资源,而且便于固件的更新升级。(6)采用DSP中的外设接口HPI与主机相连,由主机掌握主控权,既能够使数据访问得到简化还可以通过HPI实现DSP自举。
1 基本概念介绍
1.1 CY7C68013性能特点
  CY7C68013(EZ-USB FX2)是Cypress半导体公司的新一代高速USB系列,可以用USB2.0最大数据传输率传输数据。该芯片基于EZ-USB FX芯片开发,集成有发送器、SIE、8051微控制器、存储器和可编程IO接口,是一种完全集成的USB2.0方案[2]。
1.2 G.723.1简介
  G.723.1是一种低码率标准,是H.324标准系列的一部分,也是VoIP的常用解决方案之一,可在低比特率通信终端(PSTN和无线网络)上进行多媒体通信。使用G.723.1标准能够将8 kHz采样l6 bit的线性PCM语音信号压缩成6.3 Kb/s或5.3 Kb/s的比特流,其压缩比例较高,占用带宽较低,而且具有很好的音质。
2 硬件设计
2.1 TMS320C6713外设接口HPI
  TMS320C6713是一款高性能的32位浮点DSP,适用于专业音频信号处理。HPI即主机接口,是TMS320C6713片上集成的外设接口之一。通过HPI 可以方便地实现多处理器系统,外部处理器作为主处理器,DSP作为从处理器。通过HPI 接口,外部主机可以访问DSP除L2控制寄存器、中断选择寄存器、仿真逻辑之外的全部存储器映射空间。
2.2 读写时序
  本实验采用CY7C68013和TMS320C6713芯片。在GPIF接口部分,IFCLK设置为48 MHz内部时钟,使用16位宽的数据总线(设置WORDWIDE=1),分配CTL[2:0]控制HPI的时序。使用GPIF Tool生成波形描述符,分别用于HPIC/HPIA/HPID的读写控制。值得注意的是:由于HDS1*/HDS2*/HCS*相关,可以使HCS*有效,HDS2*置“1”,并通过HDS1*控制选通;HHWIL控制传输的是第一半字还是第二半字;HCNTL[1:0]决定哪个寄存器正被访问[3]。由于采用DIN连接器,其传输速率最高可达几十兆赫兹,这也是其传输瓶颈。如果采用手工单独装配的SMA硬件连接器,其硬件连接的速度完全可以满足GPIF和HPI的要求。当然,前者每个引脚的成本不到后者的百分之一[1]。图1为GPIF和HPI读写HPID寄存器的时序关系图。

本文引用地址:http://www.eepw.com.cn/article/188454.htm


  通过FX2固件、利用非GPIF I/O信号引脚可实现更多的信号输出。使用DM74LS573N锁存器,采用数据锁存的办法可以减小由布局布线等原因带来的互感、串联电感、寄生电容等减缓信号传播的影响,在硬件测试阶段能够有效解决传输误码的问题。由于74LS573的传输延迟,系统的可靠性建立在牺牲系统带宽的基础上。改用74LVC16245双向缓冲器,可以实现GPIF主控的数据读、写功能。图2为带锁存器的GPIF和HPI读写HPID寄存器的时序关系图。

2.3 硬件连线
  系统整体硬件连线示意图如图3。

  图4为带锁存器的GPIF和HPI硬件连线示意图。

3 软件设计
  此方案包括4个方面的程序设计:固件程序、驱动程序、主机应用程序和DSP数据处理程序。
3.1 固件程序
  固件程序是指运行在CY7C68013 51内核中的程序,主要包括设备描述符信息、设备功能代码和USB同DSP处理器间的通信控制功能代码。对于使用GPIF的FX2系统,固件还应能够分配FIFO读和写波形到4个FIFO中的任何一个。
3.1.1 固件程序设计
  固件程序开发基于KEIL C51,使用Cypress公司提供的固件函数库Ezusb.lib和固件框架以提高开发效率。固件函数库提供了一系列与USB协议有关的函数,固件框架已经实现了初始化、重枚举、电源管理等功能。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭