在IC卡公用电话体系中,在线式公用电话因为其具有保密性高、可扩展性强等特色,已逐步取得人们的喜爱。这种公用电话体系被置于终端和交换机之间,对两者的信号进行调制、解调以及其它的运算,来完结比方卡验证、终端保护、多媒体信号传输等作业。与软件无线电相相似,这种体系的硬件渠道通用性很强,数字信号处理的算法将由专门的芯片来承当,所以这种体系能够兼容现在在电话线上运用的各种调制解调办法,也能够习惯未来呈现的其它调制解调规范。
由此能够看出,要完结这样一个体系,数据收集是一个十分重要的方面。为了节省本钱和进步DSP芯片的运用率,在这个体系中,一片DSP要承当16个通道的运算。从数据收集的视点来说,因为通道一起对应着终端和交换机两头,故DSP需求高速收集32个通道的数据。别的,高速ADC的呈现和DSP功用的不断进步也对体系将来的晋级提出了要求。所以对数据收集部分来说,高速、可扩展性是两个十分重要的方针。完结的体系便是以这两个方针为辅导的。
现在的高速多通道数据收集体系一般有以下几种完结办法:一是直接选用高速的多通道模/数转化芯片,这些芯片有专门规划的与DSP接口的部分,可是这些芯片一般价格都十分贵重;二是直接用FPGA完结整个的收集进程,这将消耗FPGA巨大的资源;三是DSP和模/数转化芯片的地址以及数据总线直接相接,通过单片机操控转化等进程,这种办法尽管廉价,可是可扩展性太差。综上所述,提出一种通过CPLD完结接口,将模仿转化通道映射到DSP的I/O设备空间乃至内存空间的办法。这种办法大大进步了DSP能够拜访的外设数目;一起因为DSP不直接与模/数转化模块接口,所以ADC芯片的晋级或许代替都不会影响本来的数据收集;并且选用了时分复用办法读取转化完结的数据,因而这个体系数据收集速率能够到达所选用的ADC芯片输出的最高速率。
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芯片的片选信号有用,此刻能够对每片芯片写入相同的形式挑选信号,一起发动采样脉冲和转化脉冲;在转化阶段,一切片选信号悉数无效,此刻芯片自身在内部完结模/数转化,一起将转化完结的数据放置在芯片内部的寄存器中;在数据输出阶段,首先是榜首片芯片的片选有用,此刻若有一个脉冲下降沿到A/D芯片的RD端口,则芯片1的转化完结,榜首路数据将浮出到数据总线上,而其它芯片因为片选信号无效,尽管有RD输入也不会有数据输出,不会形成总线抵触。关于芯片1而言,接下来的几个RD脉冲能够别离使得转化完结后的几路数据显现在数据总线上。芯片1的数据悉数输出完结后,片选1无效,此刻可使芯片2的片选信号有用。依此类推,就能够完结4片芯片的转化及数据输出。
2.2 CPLD接口模块的完结
整个CPLD接口模块实际上便是一片ALTERA公司的7000系列的CPLD(外部时钟电路在外),它操控ADC模块的初始化,一起接纳并剖析DSP过来的I/O端口读取信号,为DSP和ADC之间搭起一个通道。
在DSP要求读取数据时,CPLD将DSP过来的IOSTROBE作为A/D芯片的RD信号,一起对I/O地址总线的第3位至第5位译码发生A/D芯片的片选信号,这样只要是地址依照每次递加1的办法读取数据,就能够使得8片A/D分时片选有用,完全契合上面说到的读取数据的要求。别的,还依托最高位地址确认CPLD到DSP的数据输出总线是否界说成高阻态来防止总线抵触。
因为A/D芯片是选用5V供电的,所以其输出高电平将高于DSP输入高电平所能接受的规模。处理这个问题的办法之一是选用降压芯片(比方LVT系列)用3.3V供电,3.3V供电能够接受5V的输入,一起输出也和3.3V兼容,可是这种办法需求独自外接几片LVT芯片,占有名贵的PCB板空间;办法之二是给CPLD芯片供给双电源,其间供给给I/O脚的电源为3.3V,此刻输入电压能够和5V及3.3V体系兼容,一起输出电压高电平能够到达3.3V,契合A/D芯片高电平最低电压2.4V的要求。所以,数据总线通过CPLD到DSP实际上是因为电平转化的需求。
2.3 DSP处理模块
DSP处理模块在硬件电路上是十分简略的,首要由一片DSP芯片、一片EEPROM以及一片介于这两者之间的用作电平转化的LVT系列的芯片组成。
DSP通过地址总线能够区别拜访的模仿通道的标号。需求留意的是:因为选用的A/D芯片是通过对RD脉冲信号计数来确认拜访的是同一片芯片内部4路中的哪一路,所以实际上地址总线的低两位是没有挑选功用的,对一片A/D芯片拜访时,最终两位地址必定要从00开端递加到11,不然所读取的数据便是乱的。例如,转化完结后的DSP若想跳过前两个通道来取得第3个通道的数据,它有必要给出两个读取I/O端口的指令,紧接着这两个指令后的读取端口指令才能够取得第3个通道的有用数据。
当然,能够通过CPLD首先将一切转化完结的数据缓存下来,然后剖析I/O地址来将对应的通道的数据显现到数据总线上。这样做使得DSP能够自由地挑选需求拜访的通道,但需求比较大的缓存,运用CPLD作缓存是十分不经济的。
3 仿真和调试
本体系的软件开发首要包含两部分,一是DSP读取I/O口的程序,二是CPLD的时序操控程序。前一程序的开发选用的是TI公司的CCS开发环境,并且运用DSP内部的BOOTLOADER在起电时将存储在外挂EPROM中的程序装载进DSP的程序空间。然后一程序的开发选用的是ALTERA公司的MAXPLUSII,运用这个环境,完结了程序的编制、仿真以及时序剖析,并在找出要害途径的基础上优化了整个芯片的内部延时。
在调试的进程中,运用DSP供给的JTAG接口实时地调查收集进来的数据。当对32路模仿通道别离供给不同频率的正弦信号时,能够看到相对应的通道的数字信号也依照固定的频率来改变,并且各个通路不存在串扰的状况。通过测验取得本体系的各种参数如下:
单路模仿信号采样率:5kHz
体系模仿信号采样率:50kHz×32=1.6MHz
单个采样点读取时刻:80ns(受ADC芯片的约束)
DSP(5402)单指令周期:10ns
DSP读取数据占用资源:((80÷10)×1.6×106)÷106=12.8mips
CPLD运用I/O口: 48
CPLD运用Logic cells:80
由此阐明这样一个体系到达1.6MHz的采样率时作业是安稳牢靠的。
本体系的规划思维和办法不只适用于多路数据收集,并且能有用地扩展DSP拜访外设的才能。实践证明,这种体系在本钱操控、可扩展性以及资源运用功率上都有十分大的进步。