利用DSP和CPLD增强数据采集的可扩展性
摘要:通过一个具体的例子阐明了利用CPLD实现接口,使得DSP可以通过这个接口将多个外妆模拟通道映射到其I/O设备空间进行访问,大大增强了DSP访问外设的能力,提高了整个系统数据采集的速率,同时为外国设备的扩展提供了有效效的新途径。
关键词:数字信号处理器(DSP) 可编程逻辑器件(CPLD) 数据采集
在IC卡公用电话系统中,在线式公用电话由于其具有保密性高、可扩展性强等特点,已逐渐获得人们的青睐。这种公用电话系统被置于终端和交换机之间,对两者的信号进行调制、解调以及其它的运算,来完成诸如卡验证、终端维护、多媒体信号传输等工作。与软件无线电相类似,这种系统的硬件平台通用性很强,数字信号处理的算法将由专门的芯片来承担,所以这种系统可以兼容目前在电话线上应用的各种调制解调方法,也可以适应未来出现的其它调制解调标准。
由此可以看出,要实现这样一个系统,数据采集是一个非常重要的方面。为了节约成本和提高DSP芯片的利用率,在这个系统中,一片DSP要承担16个通道的运算。从数据采集的角度来说,由于通道同时对应着终端和交换机两端,故DSP需要高速采集32个通道的数据。另外,高速ADC的出现和DSP性能的不断提高也对系统将来的升级提出了要求。所以对数据采集部分来说,高速、可扩展性是两具非常重要的指标。实现的系统就是以这两个指标为指导的。
目前的高速多通道数据采集系统一般有以下几种实现方法:一是直接采用高速的多通道模/数转换芯片,这些芯片有专门设计的与DSP接口的部分,但是这些芯片一般价格都非常昂贵;二是直接用FPGA完成整个的采集过程,这将耗费FPGA巨大的资源;三是DSP和模/数转换芯片的地址以及数据总线直接相接,通过单片机控制转换等过程,这种方法虽然便宜,但是可扩展性太差。综上所述,提出一种通过CPLD实现接口,将模拟转换通道映射到DSP的I/O设备空间甚至内存空间的方法。这种方法大大提高了DSP可以访问的外设数目;同时由于DSP不直接与模/数转换模块接口,所以ADC芯片的升级或者替代都不会影响原来的数据采集;而且采用了时分复用方式读取转换完成的数据,因此这个系统数据采集速率可以达到所采用的ADC芯片输出的最高速率。
(凹丫丫范文网fanwen.oyaya.net收集整理)
DSP虽然在算法处理上功能很强大,但其控制功能是非常弱的;而CPLD本身并不具有内部寄存器,虽然可以用CPLD的逻辑块来实现寄存器,但是这将耗费大量的CPLD资源。然而,CPLD的强项在于时序和逻辑控制。本文介绍的多路数据采集系统就是充分利用了DSP和CPLD的优点,将多个A/D转换单元通过CPLD映射到DSP的I/O地址空间,利用CPLD屏蔽A/D转换的初始化以及读写操作过程,使得DSP可以透过CPLD这个"黑匣子"快速、准确地获取数据。
1 数据采集系统框架
整个数据采集系统主要由DSP处理模块、CPLD接口模块和ADC阵列三个部分组成,如图1所示。透过这样一个结构,DSP可以在未知ADC的控制方式的情况下,定时地以访问外设的方式来获得总共32个通道的模/数转换后的数据。
这样的系统框图只是完成了一个完整的数据采集功能,至于数据的处理以及DSP需要完成的其它功能,此图并未涉及。但对于一个DSP系统来说,数据采集在硬件中占据了很大的比重,这也符合DSP芯片应用的原则:用软件完成大部分的数字处理算法。
2 各功能模块的实现
2.1 ADC阵列的实现
此数据采集系统的设计目标是完成32路信号的采样,并且要求每路的采样率为50kHz。所以,这样一个系统达到的整体采样率为32×50k=1.6MHz。
在模/数转换环节,采用的A/D芯片一片一次可以同时完成4路转换。为了达到设计目标,需要8片这样的芯片。但是,如果直接将8片模/数转换芯片的数据总线全部连接起来输入到CPLD中或者将CPLD出来的某条控制信号线直接连接到8片芯片上,那么在驱上就会出现总是。基于此种考虑,此系统将8片芯片分成两组,每组4片,然后从CPLD中引出两组数据总线以及两级控制总线分别对它们实现控制。这样就能很好地解决芯片的驱动问题。图2就是其中一组芯片的连接架构图。
从这个架构图可以看出,这4片A/D转换芯片除了片选控制信号以外,其它的数据总线以及控制总线全部是分别连在一起的。将片选控制与其它控制分开的原因在于:芯片的初始化以及转换过程需要同时完成,但是转换后数据的输出则分则完成。ADC控制时序框图如图3所示。
要实现这样的控制时序,各个阶段对芯片的片选控制如下:在初始化阶段,所以A/D芯片的片选信号
《利用DSP和CPLD增强数据采集的可扩展性》