• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > PCB设计 > PCB设计 > 基于FPGA的空间目标碰撞预警系统

基于FPGA的空间目标碰撞预警系统

录入:edatop.com    点击:

摘要:为了解决空间目标与航天器发生碰撞的问题,设计了一种基于FPGA,以在轨目标三维坐标为待处理数据进行快速并行处理的目标碰撞预警系统。该系统基于Xilinx公司FPGA芯片中的内容可寻址存储器(Content Addressable Memory,CAM)IP核和MicroBlaze软核控制器,利用嵌入式开发套件(EDK)进行搭建;并设计了空间危险目标的筛选算法,同时编写了软件及硬件代码,加载到以上系统中进行实际的操作验证。验证结果表明,该系统实现了16个目标中危险目标的快速筛选功能,通过使用ChipScope逻辑分析工具进行波形分析,可知系统执行一次筛选操作所需时间为1.8 s。
关键词:现场可编程门阵列;Microblaze;内容可寻址存储器;空间目标;碰撞

随着人类航天活动的不断开展,空间碎片的空间密度已经对航天器安全造成了威胁,特别是近地轨道,碎片密度更大,且其数量仍在迅速增加,航天器遭受空间碎片撞击事件时有发生。空间在轨目标数量不断增加,对空间目标进行碰撞预警所需要的计算量也在迅速增加,鉴于并行计算速度很快,因此适合应用并行计算对危险目标进行筛选,进而进行预警操作。利用FPGA中的CAM(内容可寻址存储器)和MicroBlaze软核控制器可以实现危险目标的快速并行筛选。

1 CAM
1.1 CAM概述
CAM是一种特殊的存储器,它是将数据项存储在一个阵列中。每个数据项的位数叫作字宽,CAM中所有数据项的条数叫作CAM的深度。字宽和深度可以表征CAM的容量。
CAM基于内容寻址,通过硬件电路实现快速匹配。CAM的并行处理特性使得它在数据分选领域倍受青睐,被广泛应用于以太网网址搜寻、数据压缩、模式识别、高速缓存、高速数据处理、数据安全和数据加密等。
1.2 CAM工作原理
CAM最基本的两个端口是数据线和地址线,数据线作为输入端口,存放需要由CAM来处理的数据,而地址线作为输出端口,输出CAM的处理结果——匹配数据所在地址。图1所示为深度为4、字宽为4的CAM,如果将二进制数1100放在数据线上,输出的匹配结果将会是0011,如图1所示,结果中的每一位二进制数对应CAM内部每一条数据,数据线上数据与CAM内部数据相等则对应位输出为1,不相等则输出为0。由于CAM具有并行匹配特性,所以很适合对空间多个目标进行同时并行匹配处理。

a.JPG



2 MicroBlaze软核控制器
MicroBlaze是基于Xilinx公司FPGA的微处理器IP核,它和其他外设IP核一起可以完成可编程系统芯片(SOPC)的设计。MicroBlaze处理器采用RISC架构和哈佛结构的32位指令和数据总线,内部有32个32位宽度的通用寄存器;其内部结构图如图2所示。

b.JPG


使用Xilinx公司提供的EDK(嵌入式系统开发套件),可以在参数化的图形界面下方便地完成嵌入式处理器系统的设计。其突出的优点:一是设计灵活性;二是可以整合用户自定义IP核,使得算法可以在硬件中并行的执行而不是在软件中串行的执行,从而极大地加速软件的执行速度。[p]

3 算法设计
3.1 算法分析
对空间目标进行碰撞预警,实际上可以转化为通过对目标之间的距离进行判断比较,找出有碰撞危险的目标。由于空间目标的位置可以用三维空间坐标表示,因此对任意两个目标之间距离的判断又可进一步转化为他们之间坐标的比较。
3.2 算法描述
假设只有3个目标需要进行坐标匹配处理,它们的坐标分别为A(xA、yA、zA),B(xB、yB、zB),C(xC、yC、zC),需要一个深度为3的CAM,首先处理z坐标,将3个目标的x坐标存入CAM,如图3所示。


由表2可知,实现一个深度为16,字宽为32的CAM所占用的资源中,块RAM所占比重较大,这是由于在FPGA内部所实现的CAM模块正是基于FPGA的块RAM资源的,所以对块RAM资源消耗比较多,因此在实际应用中选用FPGA芯片时应选择块RAM资源丰富的芯片。

[p]
4.2 MicroBlaze软核控制器与CAM的连接
在FPGA芯片中配置一个MicroBlaze软核控制器以实现对CAM的一系列控制,如复位、写入数据、读取数据等,MicroBlaze通过PLB总线与CAM相连,同时为便于调试,在PLB总线上连接了串口等外设模块,系统模块图如图5所示。

h.JPG


4.3 系统执行
系统执行过程中,Microblaze作为控制器通过执行由C语言编写的软件程序实现对CAM的控制,它的具体操作流程如图6所示。

i.JPG


在系统内部,整个工程的实现和下载共分成4步:首先产生系统的硬件网表,即对嵌入式系统进行综合;其次产生系统硬件架构的比特流文件;再次编译软件,并将软件代码生成的比特流和系统硬件的比特流合二为一,构成完整的系统描述比特流;最后将完整的比特流下载到FPGA芯片中。
4.4 验证结果分析
经过对处理结果分析可知,此系统验证了设计算法的正确性。所搭建系统时钟频率为62.5 MHz,时钟周期为16 ns,通过在代码内部添加时钟计数器,并且使用ChipScope逻辑分析仪进行波形分析,可知系统执行一次筛选操作所需要的时钟周期数为114 296 649个,即1.8 s左右。
4.5 系统扩展能力分析
在后续研究中通过对CAM容量的扩展,可以增加待筛选目标的数量。CAM容量的扩展,需要占用更多的FPGA芯片资源,同时其运行频率会有所降低,以某Spartan3A芯片为例,三者之间的关系如表3、表4、表5所示。

j.JPG


考虑到成本问题,本设计所使用的芯片为赛灵思公司的型号为XC3S700AN,由表3~表5可知,在扩展CAM容量时,需要综合考虑所需CAM容量、所选FPGA芯片资源情况以及运行频率三者之间的关系。

5 结论
采用赛灵思公司MicroBlaze软核控制器和内容可寻址存储器(CAM)所搭建的目标碰撞预警平台实现了总目标数为16的目标群中危险目标的筛选操作。软核控制器与CAM模块同在一片FPGA芯片中实现,管理和操作起来比较方便,便于系统实现小型化、集成化。受到FPGA自身容量的限制,在扩展CAM容量时可以考虑选用更大容量的FPGA芯片,或者应用外接大容量专有CAM芯片,实现大规模目标的并行匹配操作。

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:基于SOPC基本信号产生器的设计与实现
下一篇:基于FPGA和LabView的遥测信号模拟源设计

射频和天线工程师培训课程详情>>

  网站地图