摘要:介绍了PCI接口的基本功能和特点;利用PLX9054接口芯片,结合双口RAM和EPLD逻辑电路,实现了TMS320C6701与PCI总线间的双向高速实时数据交换;分析了DSP与SBSRAM接口信号的完整性,对PCB设计作了仿真分析。
关键词:PCI DSP 数字信号处理
随着数字信号处理器(DSP)及其外围支持芯片性能的提高,软件无线电已经得到广泛应用,大大增强了实时信号处理系统的整体性能。但另一方面,随着ADC和DAC向射频方向前移,信号的采样频率也相应地提高,使得DSP系统数据交换的带宽成倍增长。传统数据交换接口的瓶颈效应日趋明显,因而相应地诞生了一批新的接口标准。PCI接口从1993年提出至今,得到了众多计算机设备厂商的支持,已经在PC机、工业控制等相关领域得到了广泛的应用。
图1 数字信号处理板卡的原理框图 点击放大
无源雷达是利用非合作的外辐射源发出的信号作为探测信号(如广播信号、电视信号、GSM手机基站信号等),从接收目标反射的回波信号中提取目标的方位、速度等参数的设备。与传统的雷达相比,它是被动接收的,因此隐蔽性强。在隐身飞机出现后,无源雷达技术得到了广泛的关注。由于隐身飞机引入特殊的微波吸收材料,并采用了特别的外形设计,因而传统的单基地毫米波雷达很难发现它。而无源雷达采用的探测信号是广播电视号,由于广播电视信号波长在米波范围内,从而使针对毫米波波长设计的微波吸收材料失去作用;另外,在收发站的配置上,由于无源雷达设计为双站或多站系统工作,因此也破坏了隐身飞机对收发同方向消隐发射电磁波信号的设计思路;因而无源雷达正成为对抗隐身飞机的有力武器。本文针对无源定位雷达信号处理机的应用,利用PCI接口实现了将DSP处理结果快速实时地传输给PC机,由PC机完成数据融合与显示记录等功能。
1 基于PCI接口的高速信号处理板卡的设计
图1是该板卡的原理框图。无源雷达接收机输出的中频(30MHz)窄带(带宽为30MHz)窄带(带宽为200kHz)正交信号经过缓冲、滤波后送入A/D变换器AD9051进行高速模数转换。由于采用直接中频带通采样,不但降低了接收机的复杂度,而且减小了接收机的输出噪声电平,有利于提高接收机的灵敏度和动态范围。采用30MHz的采样频率,数据流首先进入FIFO存储器IDT72V255中缓存。当FIFO充满时,EPLD(EMP7128)给TMS3206701 DSP一个外中断信号,启动DSP的DMA传输,将FIFO中的数据快速地传输到DSP片外的同步突发静态存储器(samsung K7A163601M)中。DMA传输结束后,DSP对采样的数据作时-空二维相关处理[1],处理的结果首先写入双口RAM(IDT70V25)中。PCI总线与双口RAM的数据交换,采用了邮箱寄存器(Mail Box)的方式进行。具体实现如下:先在双口RAM中的某一固定的地址定义一个存储单元作为双方通信的“邮箱”,该存储单元被答作邮箱寄存器。数据通信的发起方先检查邮箱寄存器是否为空,如果邮箱寄存器是空的,则将数据写入双口RAM中;否则就等待邮箱寄存器为空。数据的接收方不断地查询邮箱寄存器,如果发现邮箱寄存器的值为非空,则将双口RAM中的数据读入,同时将邮相寄存器置为空值。利用这种方法的优点是无需外加数据通信握手信号和逻辑,就可以直接完成双向数据流的交换,对通信重复间隔长、数据块大的传输十分适用。
图2 EPLD时序控制的仿真结果
2 PCI接口设计
1991年下半年,Intel公司首先提出了PCI总线的概念,并联合IBM、Compaq、AST、HP、DEC等100多家公司,于1993年推出了PC局部总线标准——PCI总线。PCI是一套整体的系统解决方案,较其它只为加速图形或视频操作的局部总线优越。PCI局部总线采用32位或64位数据总线,以33MHz或66MHz的时钟频率操作,可支持多组外围部件及附加卡。在33MHz情况下,其数据传送率高达132MB/s;在66MHz情况下,其数据传送率翻倍。另外,它支持线性突发的数据传输模式,可确保总线不断满载数据。外围设备一般会由内存某个地址顺序接收数据,这意味着可以由一个地址起读写大量数据,然后每次只需将地址自动加1,便可接收数据流下一个字节的数据。线性突发传输能够更有效地利用总线的带宽传送数据,以减少无谓的地址操作。在雷达信号处理中,对信号的实时性要求很高,这就要求信号传输的带宽要足够高,PCI接口非常适合将高速信号处理模块和计算机桥接在一起。目前PCI接口的设计一般采用两种方法:其一是采用通用接口芯片完成。常用的芯片有:AMCC公司的S5933,PLX公司的PLX9054等。其二是采用EPLD或FPGA实现。这种方法可以针对自身的需要定制一定的功能,因而设计灵活性大,但必须严格遵循PCI总线的规范。采用通用接口芯片完成的好处是设计时可以不用关心PCI总线操作,只要处理好本地总线接口即可。设计简单省时。本文采用PLX9054的C模式完成PCI接口功能。PLX9054有着独立的本地总线(Local Bus),由它负责对双口RAM进行访问控制。
图3 没有端接电阻时的仿真波形 点击放大
3 EPLD控制时序的实现
EPLD选用Altera公司的EMP7128S,用它来完成ADC采样控制、FIFO的读写控制、采样结束中断的产生等功能。采用Altera提供的MAXPLUS II集成开发环境软件,它支持VHDL、Verilog HDL和AHDL语言,此外它还支持直接输入原理图的方式。本文采用AHDL语言编写。图2是仿真的时序图,其中CLK是输入的外时钟信号,WR是FIFO的写信号,ENCODE是ADC的采样时钟信号,TR是采样触发信号,INT是输出的中断信号。COUNT是数据采样长度计数器,虽然FIFO可以提供全满、半满的标志位,但仅以此作为中断的产生条件,就限制了采样长度的灵活性。为在应用中自定义采样长度,实现对任意大小的数据(最大不超过FIFO的存储深度)进行采样,设计中引入了采样长度计数器。只要恰当设置COUNT的计数初值(大小为采样长度的补码),使计数器溢出时给出INT中断信号,就可以实现此项功能。ADC采用的是AD9051,它采用5级流水线(Pipeline)结构输出数据,所刚启动采样时,由于流水线未被充满,前面输出的5个数据是无效的,自第6个数据起才开始将A/D变换的结果存入FIFO中。
图4 采用正确串行电阻端接时的仿真波形 点击放大
4 SBSRAM接口设计
SBSRAM即同步突发静态存储器,其最大的优点是读写速度高、不需要刷新。在步突发模式下,只要外部器件给出首次访问地址,则在同步时钟的上跳沿,
就可以在内部产生访问数据单元的突发地址,协助那些不能快速提供存取地址的控制器加快数据访问的速度。由于TMS320C6701的EMIF(扩展存储器接口)可以按SBSRAM的速度提供地址,所以应当将SBSRAM的突发模式禁止(/ADV接高电平)。但这一点并不意味着降低读写性能。事实上由于DSP在每个数据访问周期都可以连续地输出新的地址和控制命令,仍然能实现突发模式下的峰值读写速度。由于对SBSRAM存取访问的同步时钟频率在80MHz,所以高速数字信号在线路板上传输的质量特别重要[2]。