用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

基于FPGA的机载合成孔径雷达数字信号处理机接口板卡的设计与实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:15:03
OM提供,在PCI9052加电后读取。EEPROM必须采用支持连读功能的芯片,本设计中采用FairChild Semiconductor公司的93CS46N。

2.3 FPGA的配置设计

本设计为FPGA提供了两种配置方式:主动串行配置和被动串行配置。

主动串行配置由EPC2向FPGA器件输入串行位流的配置数据。在该配置方式下,一直由FPGA控制着配置过程。在加电过程中,FPGA检测到nCONFIG由低到高的跳变时,就开始准备配置。FPGA将CONF_DONE拉低,驱动EPC2的nCS为低,而nSTATUS引脚释放并由上拉电阻拉至高电平使能EPC2。此后,EPC2就用其内部振荡器的时钟将数据串行地从EPC2DATA输送到FPGADATA0。当配置完成后,FPGA释放CONF_DONE,将EPC2与系统隔离。

被动串行配置由编程硬件通过ByteBlaster配置。ByteBlaster产生一个由低到高的跳变送到nCONFIG引脚,然后由编程硬件将配置数据送到DATA0引脚,该数据锁存至CONF_DONE变为高电平为止。当CONF_DONE变成高电平时,用DCLK的10个周期初始化FPGA,器件的初始化由下载电缆自动执行。

为了两种配置方式共存,设计中用拨码开关将EPC2与FPGA和ByteBlaster的下载电缆插座隔离。当用被动串行方式配置时,拨码开关断开,由上位机通过ByteBlaster下载电缆加载FPGA。当用主动串行方式配置时,拨码开关接通,由EPC2加载FPGA。电路图如图2所示。

2.4 在线自检测功能

板卡设计时还应考虑便于日常调试维护及故障检测定位。板卡在硬件上针对各电源信号和关键的状态信号设计了信号灯,一旦发现有误,便可给出信号触发该电路板上的信号灯告警,定位系统故障。另外在电路设计时应留出测试孔,以增加电路的可测性。

3 系统的软件设计

系统上电后, PCI上电复位,FIFO清零。上位机向相应寄存器写入初始值,完成寄存器设置。当系统启动信号有效时,接口板开始接收数据,进行数据打包和分发,直到上位机向接口板卡写停止命令为止。图3给出了系统工作流程图。

3.1 数据的打包和流向控制

雷达参数数据和原始回波数据的数据源是异步的,不能保证两者确切的对应关系,接口板卡利用对缓存原始回波数据FIFO和缓存雷达参数数据双口RAM的读写控制,调整雷达参数数据和原始回波数据对应关系,将两种数据源按处理机要求的输入数据格式组成正确的数据帧。雷达参数数据和原始回波数据打包后的数据帧格式如下:
javascript:window.open(this.src);" style="cursor:pointer;"/>
    在程序中,设计了雷达参数发送控制计数器Para_counter和回波数据发送控制计数器Data_counter。系统工作后,每次检测到原始回波数据流的数据有效信号data_valid的上升沿(标记收到完整的一帧回波数据)时,启动雷达参数发送控制计数器开始计数,当计数到设定的值(本设计中为25)时停止计数并启动回波数据发送控制计数器开始计数,计数到设定的值(本设计中为5000)时停止计数。当检测到原始回波数据流的数据有效信号data_valid的下降沿(标记开始接收新的一帧回波数据)时,两个计数器都清零。根据计数器的计数值产生Link口选择信号确定数据的流向。图4给出了数据流向的示意图。图5给出了基于MAXPLUSⅡ10.0的仿真结果,仿真显示正确地实现了数据打包和流向控制。

图3 系统工作流程图

    3.2 Link口传输协议的实现

Link口的数据传输是在同步时钟线(LxCLK)与应答线(LxACK)相互握手的情况下同步传输的。一个传输字为32bit,Link口以4bit为单位进行传输。在LxCLK上升沿,发送端会发送一个新的4bit数据,在LxCLK的下降沿,接收方锁存数据线上的数据。8个4bit数据发送完毕后,如果接收方准备好接收下一个字,则将LxACK置1。发送方在每次发送新字的第一个4bit时对LxACK采样,如果LxACK为0,表明接收方没有准备好,则发送方保持LxCLK为高电平,且数据线上保持当前的4bit数据,直到接收方将LxACK置1,发送方才将 LxCLK下拉,并继续发送新的数据。当发送方缓存为空时,表明没有数据需要发送,则LxCLK保持为低电平。接口板利用VHDL语言实现了Link口传输协议。下面给出了关键的程序片断:
javascript:window.open(this.src);" style="cursor:pointer;"/>
    ChangeStateModeprocessNibleCountemptyLxACKPresentStateempty

begin

case PresentState is

when SendACK =>

if LxACK='1' and empty='0' then

NextState<=Send

else NextState<=SendACK

end if

when Send =>

if NibleCount/= 3 or NibleCount=3 and empty='0'and LxAck='1' then

NextState<=Send

else NextState<=SendACK

end if

end case

end process changestatemode

图5 数据转发仿真时序较

4 应用和结论

目前该接口板已经完成了电路设计、软件仿真和制板,并应用到某机载合成孔径雷达数字信号处理机中。接口板卡位于信号处理机的前端,通过CPCI机箱的前面板接口,采用一块PMC子板实现。系统采用了图1所示的体系结构,锁存器选用TI公司的SN74LVT16374,时钟驱动芯片选用IDT公司的IDT49FCT3805APY,FIFO选用IDT公司的IDT72V36110,PCI接口芯片选用PLX9052,FPGA选用Altera公司的EP1K100FC256-1。经过实验室阶段和外厂试验,接口板都工作正常,达到了设计要求。




上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:32,484.38000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号