首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 星载环境FPGA软件在轨重加载的一种方法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
星载环境FPGA软件在轨重加载的一种方法
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-4-26 23:00
|
只看该作者
星载环境FPGA软件在轨重加载的一种方法
经济效益
,
可靠性
,
软件
,
程序
,
接口
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所示。
[img][/img]
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软件功能模块的自身故障修复,并且能灵活地实现卫星应用功能的领域扩展,最大限度提高卫星系统的利用率。
来源:21ic
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议