基于PCI接口的高速数字信号处理板卡的设计
基于PCI接口的高速数字信号处理板卡的设计 关键词: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]。
在进行PCB设计时,信号完整性(SI,Signal Integrity)必须引起重视。它 主要包括反射、振铃、地弹、串扰等。以前进行高速PCB设计时,对用户经验要 求很高,现在借助于EDA辅助软件,信号完整性问题可以在设计中预见,并且采 用一定的措施去控制。根据所选PCB的基材(介电常数、板厚),利用Agilent 公司提供的免费软件AppCAD很容易计算传输线的阻抗,然后计算出最佳的端接 匹配电阻。在完成PCB设计后,利用HyperLynx的BoardSim功能可以验证设计。
BoardSim采用流行的IBIS模型(Input/Output Buffer Information Specification), 在仿真时应先将器件的IBIS模型加载到指定的端口中,设置时钟的频率与系统的 工作频率相等,连接好示波器的探头,启动仿真就可以看到仿真的结果。图3是 没采用端接电阻的仿真波形,可以看到信号质量非常差,振铃和过冲现象严重。
图4是采用33Ω串行电阻端接的仿真波形,振铃和过冲现象都有了很大的改善, 信号质量较好。
5 DSP信号处理流程