×
嵌入式开发 > 详情

PCI总线语音卡及WDM驱动程序设计

发布时间:2020-07-09 发布时间:
|

CTI(Computer Telephone Integration)即计算机电话集成技术已经发展了30多年。其中电话语音卡是CTI中的典型应用之一,它作为电脑与公用电话网的接口设备,应用领域已经渗透到社会各个部门。同时,在语音卡的开发中也不断注入了新的技术,软件上有语音合成、语音识别等技术,而硬件上最重要的就是DSP技术和PCI总线技术。研制了基于TMS320VC5410 DSP的PCI语音卡,并设计了相应的WDM设备驱动程序,取得了良好的效果。

1 硬件设计

1.1 PCI总线控制芯片PCI2040

PCI总线是一种不依附于某个具体处理器的局部总线,它支持32位或64位的总线宽度,频率通常是33MHz,目前最快的PCI2.0总线工作频率是66MHz。工作在33MHz、32位时,理论上最大数据传输速率能达到133MB/s。它支持猝发工作方式,提高了传输速度,支持即插即用,PCI部件和驱动程序可以在各种不同的平台上运行[1]。

实现PCI总线协议一般有两种方法,一是用FPGA设计实现,但PCI协议比较复杂,因此难度较大;二是采用PCI总线控制芯片,如AMCC公司的S5933、PLX公司的PCI9080等通用的PCI接口芯片。TI公司专门推出了针对PCI总线和DSP接口的芯片PCI2040[2],它不但实现了PCI总线控制的功能,而且提供了和DSP芯片无缝的接口,因而大大简化了系统设计的复杂度并缩短了开发时间。

PCI2040内部功能框图如图1所示。

PCI2040是一个PCI-DSP桥接器件,它提供了PCI局部总线和TMS320C54X 8位主机接口(HPI)与TMS320C6X 16位主机接口的无缝连接。一片PCI2040最多能同时挂接4片DSP芯片。同时,它还提供了一个串行EEPROM接口,一个通用输入输出接口(GPIO)和一个16位通用总线接口(为TI JTAG测试总线控制器提供接口)[2]。PCI2040只能作为PCI目标设备使用,不能作为PCI主设备使用;它只支持单字的读写,不能提供DMA操作。PCI2040能够兼容3.3V和5V信号环境ue584系统中的3.3V和5V信号可以直接从PCI插槽中获得。

1.2 语音卡硬件设计

1.2.1 功能简介及硬件框图

语音卡是基于TMS320VC5410 DSP和PCI2040而设计的。此卡的主要功能是:(1)通过电话信号音检测模块,将对方说话的声音经A/D转换后,交给DSP进行压缩处理,采用G.729编码算法压缩后速率可达到8kbps,然后将压缩后的码流通过PCI2040经PCI总线存放在计算机硬盘上,从而实现录音功能。(2)将存在硬盘上的压缩码流(以文件形式存在),通过PCI2040经PCI总线传送到DSP的内部缓冲区中,进行解压缩处理(G.729解码算法),并将解码后的数据通过D/A转换回放出来。

语音卡硬件框图如图2所示。

电话信号音检测部分主要实现振铃检测、摘挂机及话音传输功能。系统的核心是DSP,它完成各种复杂算法的处理,包括G.729编解码算法、回声消除算法、话音检测及软件摘挂机算法等。TMS320VC5410是TI 54X系列中一款高性能的DSP,它的处理功能达到100MIPS,因此能满足算法复杂度的要求。它的最大特点是片内集成了64K×16bit的RAM和16K×16bit的ROM[3]ue584因而不需要外加SRAM或SDRAM就可以满足系统设计的要求。TMS320VC5410内置了3个多通道缓冲串行口(McBSP)、6个DMA通道和一个8位增强型HPI口,可以方便地和外部进行数据交换。在语音卡的设计中,采用PCI2040来完成DSP与主机交换数据的任务。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM入门篇之(一)概念