当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:FPGA在空间系统中已经广泛应用,为了满足系统可靠性和可扩展性的要求,实现FPGA软件的在轨重加载迫在眉睫。根据FPGA的加载配置原理,以Xilinx公司的Virtex-Ⅱ系列FPGA为实例,介绍了FPGA在轨重加载的硬件电路设

摘要:FPGA在空间系统中已经广泛应用,为了满足系统可靠性和可扩展性的要求,实现FPGA软件的在轨重加载迫在眉睫。根据FPGA的加载配置原理,以Xilinx公司的Virtex-Ⅱ系列FPGA为实例,介绍了FPGA在轨重加载的硬件电路设计以及软件设计。经过实验室测试验证,该设计方法合理可行,满足星载环境下FPGA软件在轨编程及重加载的设计需求。
关键词:FPGA;在轨重加载;在轨编程;星载环境

0 引言
    FPGA已经广泛应用于星载信号处理系统中,然而其在空间环境中的可靠性设计是一个难题。一方面,FPGA软件可能受到外部空间环境影响而产生各种问题,特别是单粒子效应造成的FPGA程序出错,其导致的后果是严重的甚至是灾难性的;另一方面,当FPGA软件本身存在设计缺陷或者由于卫星系统改变应用需求时,若能实现星载环境下FPGA软件的远程更新升级,其软件系统的生命周期便可以得到延长,同时产生的经济效益也是不可估量的。
    为此,本文介绍一种星载环境下FPGA软件在轨重加载的方法,通过星上系统的1553B接口接收FPGA配置数据文件,在DSP和CPLD的控制下,灵活地实现FPGA程序的在轨编程及重加载。

1 FPGA加载原理
    基于SRAM工艺的FPGA由于在掉电后配置数据丢失,因此需要在上电后对其进行加载,而配置数据被保存在外部的非易失存储器中。
    Xilinx公司的Virtex-Ⅱ系列FPGA通过芯片配置管脚MODE PIN(M0,M1,M2),可以实现5种配置模式,详见表1。


   上述5种模式中,JTAG边界扫描模式具有最高的优先级,其加载方式是通过专用JTAG口对FPGA进行访问。SelectMAP模式实际上就是并行模式,其加载时的数据访问位宽为8 b,加载过程与串行模式相同。主模式和从模式的区别在于时钟是由FPGA自身提供,亦或是外部提供,当FPGA主动输出时钟时即为主模式,反之即为从模式。
    FPGA的配置过程如图1所示,主要由3个阶段8个步骤组成。FPGA在Slave SelectMAP模式下配置过程中使用的信号包括:PROG_B,INIT_ B,CCLK,CS_B,RDWR_B,DATA[0:7],BUSY,DONE,其时序关系如图2所示。


    根据图1和图2,Slave SelelctMAP模式下,FPGA加载过程描述如下:
    第1阶段:启动和初始化,分为3个步骤:
    FPGA上电正常后,通过PROG_B引脚低脉冲进行FPGA异步复位,使得FPGA内部逻辑清零;PROG_B拉高后,停止外部复位,INIT_B引脚会在自动产生一个由低到高的跳变,指示FPGA内部初始化完成,可以进行数据下载;FPGA检测其专用的配置模式管脚M0~M2的电平,从而确定加载模式。
    第2阶段:比特流加载,分为4个步骤。INIT_B信号变高后,不需要额外的等待时间,Virtex器件就可以立即开始数据的配置。比特流数据在外部CCLK信号上升沿按字节方式置入。其中的Synchronization(同步)、Device ID Check(检测器件ID号和配置数据中的ID号是否匹配)、Load Configuration Data(下载数据流)和CRCCheck(CRC校验)对用户是完全透明的,同步字、配置数据中ID号和CRC校验和都是在生成配置数据文件时和配置数据一起打包,嵌入在配置数据文件当中。
    第3阶段:Startup启动。在成功校验CRC码位后,FPGA进入Startup状态。它是由8相状态机实现的,中间包括等待DCM锁相、DCI匹配等几个状态,最后FPGA释放外部DONE引脚,对外输出高阻态,由外部上拉高,指示FPGA加载成功。

2 硬件电路设计
    本系统硬件组成原理框图见图3,主控DSP芯片选用TI公司SMQ320LC31,通过1553B接口实现与星上控制计算机的通信,FPGA选用XILINX公司VIRTEX-Ⅱ系列芯片XC2V3000,其配置芯片选用XCF32P,DSP通过CPLD实现对FPGA加载模式的控制。


    图3所示的电路框图可以分为以下功能模块:配置数据接口单元、配置信号发生单元、时序状态转换、自举配置单元、FPGA功能单元,其逻辑关系如图4所示。
    各功能单元的功能和性能描述如下:
    (1)配置数据接口单元:该单元通过1553B接口从星上控制计算机接收FPGA配置数据。
    (2)配置信号发生单元:该单元产生配置FPGA所需的配置数据和时序。
    (3)状态时序转换单元:该单元一方面实现FPGA配置方式的状态切换:自举配置;另一方面将配置信号发生单元产生的信号转换成FPGA配置接口所需的信号。
    (4)自举配置单元:即PROM,保存预先装好的FPGA配置数据。
    (5)FPGA功能单元:即FPGA,接收来自于PROM的配置数据或者来自于DSP(经过CPLD转换)的配置数据。
    该系统在实际工作过程中,通过DSP和CPLD的灵活控制,可以实现多种配置模式的切换:
    (1)上电过程直接通过PROM对FPGA进行配置加载;
    (2)上电过程直接通过DSP片外FLASH对FPGA进行配置加载;
    (3)DSP实时接收星上控制计算机传送的配置数据,实现对FPGA的配置加载;
    (4)DSP实时接收星上控制计算机传送的配置数据,将其烧写至PROM;
    (5)DSP实时接收星上控制计算机传送的配置数据,将其烧写至FLASH。

3 软件设计
3.1 DSP软件设计实现
    系统上电之后,DSP上电后,首先进行状态检测,判断上电时是PROM串行加载还是FLASH并行加载。然后,星上控制计算机通过1553B接口向DSP传送FPGA配置数据,并发送配置模式控制命令,DSP根据接收的命令选择配置方式,按照配置时序向CPLD的相应寄存器写配置数据以及配置控制信号。


    DSP软件功能框图如图5所示,软件主要完成两个功能:功能一为完成1553B接口数据的传输,并存储到SRAM中,然后根据1553B接口的控制命令决定进行配置的方式或者转存到FLASH中;功能二为模块根据命令和FPGA配置时序产生配置信号,并输出给CPLD配置寄存器。
    整个DSP软件程序包含以下几个主要函数:1553B接口数据传输和处理函数、FLASH擦除与装订函数、SelectMap配置函数和中断处理函数。软件从main函数入口开始运行,进行相应的初始化设置和配置,并开启中断,然后进入无限循环状态,等待外部中断的到来并进行相应的中断服务处理。详细软件流程图如图6所示。
3.2 CPLD软件设计实现
    系统上电之后,DSP可以根据实际工作需要给出FPGA的两种加载方式:PROM串行加载、SelectMAP并行加载,两种方式均通过CPLD进行。
    当进行PROM从串模式加载时,配置比特流从PROM中读取,具体加载实现流程如图7所示。


    当CPLD接到DSP发送的进行SelectMAP并行加载命令时,CPLD根据DSP端口的映射进行SelectMAP并行加载,SelectMAP加载具体实现流程如图8所示。
    在SelectMAP并行加载过程中,CPLD负责在DSP和FPGA之间建立一个同步接口,将DSP传送的配置数据包进行相应的处理,生成满足Select MAP加载时序的时钟、数据及控制信号,传输至FPGA,实现对FPGA的SelectMAP加载。
    CPLD软件采用了一个状态机,实现接收DSP命令进行PROM从串加载或者进行SelectMAP并行加载,状态机的流程如图9所示。
3.3 加载文件格式
    对FPGA进行加载的文件格式为*.bin文件,通过bitgen产生,*.bin文件只包含FPGA配置数据,不包含任何文件信息。

4 测试验证
    建立测试环境,利用测试计算机(含1553B板卡及控制软件)模拟星上控制计算机,对该FPGA重加载电
路进行测试,获得如下测试结果:
    (1)在DSP软件中置PROM加载状态,上电后,FPGA从PROM加载,FPGA运行状态正常;
    (2)在DSP软件中置SelectMAP加载状态,上电后,DSP从FLASH中读取配置数据,通过CPLD对FPGA进行加载,FPGA运行状态正常;
    (3)在DSP软件中置SelectMAP加载状态,上电后,测试计算机通过1553B将新的配置数据传输至DSP,DSP通过CPLD对FPGA进行加载,FPGA运行状态正常。
    (4)上电后,测试计算机通过1553B将新的配置数据传输至DSP,DSP将配置数据烧写至FLASH或者PROM,并置加载状态,上电后能实现新配置数据的加载。
    通过以上测试表明,该电路具备FPGA星载环境下的在轨重加载功能。

5 结论
    本文介绍了星载环境下通过1553B接口实现FPGA在轨重加载的方法,并完成了相应的硬件电路设计实现,通过实验室测试验证,证明本文所描述的星载环境FPGA在轨重加载方法设计思想合理可行,不仅能满足星载环境下FPGA软件的更新升级,还能实现FPGA软件功能模块的自身故障修复,并且能灵活地实现卫星应用功能的领域扩展,最大限度提高卫星系统的利用率。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA

这款较低成本的开发平台可帮助学生、初学者和经验丰富的设计人员采用新兴技术

关键字: RISC-V FPGA 嵌入式

进一步扩展旗下IEEE®-1588主时钟产品组合,可实现小于1纳秒的精确时间精度

关键字: 主时钟 数字合成器 FPGA

业内消息,日前欧洲软件巨头SAP宣布了一项重组计划推动人工智能增长,该计划将涉及大约8000名员工的岗位调整,这些员工将被纳入自愿休假计划和内部再培训措施,即鼓励员工自愿离职或进行内部转岗。

关键字: AI 重组 软件 裁员 SAP
关闭
关闭