通过状态机来控制8个led循环闪亮_基于SIP概念的电气控制组合设计与实现

随着微电子和计算机技术的发展,航天、航空等领域电子系统正逐渐向着集成化、综合化[1]、信息化、模块化、智能化及通用化等方向发展。本文以某型号商业火箭上面级电子系统提出的综合化、集成化及通用化等要求为研究背景,参考集成电路系统设计理念,提出了一种基于数模混合型FPGA芯片将电气控制组合控制系统小型化为一个SIP系统的方法,使用微波隔离[2]等平面化技术将外围的隔离驱动电路及固态开关阵列小型化,并在VITA-46标准的3U结构中完成了箭上上面级电气控制组合的设计与实现,体积、重量不到传统设计的三分之一,通信速率提高了近百倍,通用性、可靠性、安全性及测试性等性能指标有显著提升。

1 系统方案设计

某型号箭上上面级综合电子系统整体采用全新的模块化概念单元(Modular Conceptual Unit,MCU)设计理念,对系统中的电气控制组合提出了高速、小型化、轻量化及高可靠性等要求。电气控制组合作为上面级综合电子系统中的重要功能单元,需具有多路配电控制、数十路时序点火控制、多路模拟信号采集、多路开关量信号采集、应急控制、千兆光纤以太网通信及状态信息上报等功能,还需通过控制系统内的辅助健康管理系统对主控系统等关键部位的工作状态进行实时监控,并可通过CAN总线将系统实时工作情况上报。

通过需求分析,上面级电气控制组合由SIP控制系统、电源隔离变换模块、微波隔离驱动模块、隔离放大模块、隔离采样模块及固态开关阵列等模块组成,其中SIP控制系统又由主控系统和辅助健康管理系统两部分组成。主控系统可通过双冗余1000BASE-X总线接收上位机指令,经微波隔离驱动模块进行电气隔离后,控制固态开关阵列完成时序点火及用电设备配电控制输出,可采集调理电路输入的电压和开关量等信号,通过1000BASE-X上传上位机,并具有应急控制功能;主控系统采用单片数模混合型FPGA处理器实现。辅助健康管理系统主要由温度采集、供电电压采集、主控系统配置状态检测、主控系统心跳检测、SIP模块生命周期信息记录(包括上电时间,上电次数,主控系统软件版本等)等软核组成,采用单片Flash架构的数模混合SoC处理器实现。上面级电气控制组合原理框图如图1所示。

3e07000f-c322-eb11-8da9-e4434bdf6706.png

2 SIP控制系统设计

2.1 主控系统设计

主控系统主要接收上位机指令完成时序点火、配电控制、开关量采集、模拟量采集及实时状态监控等功能。主控系统设计包括:主协议引擎核、千兆光纤以太网通信核、模拟信号处理核、开关反馈核、开关控制核、紧急控制核、信息存储核及时间同步核,其中主协议引擎核为控制核心,采用片内总线完成与其他软核间的数据交换,主控系统架构逻辑框图如图2所示。设计中例化了两路相同的以太网通信核,实现两冗余总线通信控制,每个以太网核设计专用FIFO完成与主协议引擎核的数据交互;主协议引擎核由主协议接收引擎核与主协议发送引擎核组成,接收引擎核主要完成数据的拆包,应用层CRC校验,数据分配下发;发送引擎核主要完成发送数据CRC计算,将数据打包成应用层通信数据格式并发送至以太网通信核等功能;子功能核分别完成设定功能,并行工作,并设计专用FIFO来完成与主协议引擎核的数据交互。

4307000f-c322-eb11-8da9-e4434bdf6706.png

2.1.1 千兆以太网通信核设计

千兆以太网通信核架构中包含1个UDP核,1个接收FIFO,1个发送FIFO;UDP核控制系统实现UDP协议通信,包括5个子核,分别为以太网接收子核IPReceiveCore_Unit、以太网发送子核IPSendCore_Unit、接收CRC校验子核RecCrc_Unit、发送CRC校验核SendCrc_Unit以及接收缓存RAM核RecRam。千兆以太网通信核主要架构如图3所示。

4d07000f-c322-eb11-8da9-e4434bdf6706.png

2.1.1.1 以太网接收核设计

以太网接收核设计时,定义Gmii_Rx_Dv为接收信号状态标志,GMII_Rx_Er为接收信号数据标志,Gmii_Rxd[7:0]为接收数据信号接口,其他前缀为ARP的接口与以太网发送核相连,用于传递ARP信号,接口如图4所示。以太网接收核状态机编码方式设计为One-Hot码(独热码),采用三段式状态机。控制器检测接收信号有效时(Gmii_Rx_Dv==1),结束闲置状态(IDLE==0),进入接收进程。接收进程设计为3个阶段,每个阶段都有相应长度的寄存器缓存,其中CRC的计算从以太网首部的目标MAC地址开始,直到UDP数据区结束为止,接收时判断目的IP地址、目的端口号等信息是否匹配。如匹配,则接收UDP数据,同时将其写入BlockRAM中缓存,待帧结束时所有校验与CRC校验都通过时,才将BlockRAM数据写入到接收FIFO中供主协议引擎核解析应用数据;另外,在接收数据的过程中判断接收的以太网帧为数据帧或ARP帧,若为ARP帧时,则判断是否为询问帧,校验目的IP是否匹配;校验通过后置标志位,并通知以太网发送核回复ARP帧,其流程图如图4所示。

5007000f-c322-eb11-8da9-e4434bdf6706.png

2.1.1.2 以太网发送核设计

以太网发送核设计时,定义Gmii_Tx_En为发送信号标准,Gmii_Tx_Er为发送数据标志,Gmii_Txd[7:0]为发送数据信号。发送流程为:首先,当检测到有发送数据请求时(及发送核FIFO的Empty标志为0),状态机进入发送状态。先将Gmii_Tx_En标志置1,按照以太网帧格式将数据传递至Gmii_Txd,当发送UDP数据区时,连续读出发送FIFO中的数据进行发送,最后发送帧尾的CRC校验值完成后,状态机回到闲置状态;对于ARP回复请求,在确保无发送数据请求的前提下,跳转发送ARP回复帧。发送数据请求的优先级高于ARP回复请求。以太网发送核流程如图5所示。

5307000f-c322-eb11-8da9-e4434bdf6706.png

2.1.2 主协议引擎核设计

主协议引擎核分为主协议接收引擎核与主协议发送引擎核两个子核,两个子核的对外接口操作同为对FIFO端口操作,且两个模块间没有数据交互,保证数据传输的逻辑性。

2.1.2.1 主协议接收引擎核设计

主协议接收引擎核主要完成判断以太网FIFO是否接收到数据并将数据从以太网通信核的接收FIFO中读出等功能。由于主控系统双冗余,以太网总线同一时刻只有一路在线,因此总线为闲置状态时,主协议接收引擎核检测两个以太网接收FIFO是否为空;若某一接收FIFO不为空,则表明该路接收到数据,状态机跳转,并从该路接收FIFO中读取数据;主协议接收引擎核完成一帧数据读取后,则跳转到CRC计算,若CRC计算通过时,置标志CrcChecked为1,

否则为0;主协议接收引擎核将数据写入子功能核FIFO中,状态机跳转至闲置状态。主协议接收引擎核的状态图如图6所示。系统通信采用特定帧格式,包含2字节帧头,1字节命令类型,1字节收发指示,1字节错误次数,对应长度的数据内容,2字节Crc校验值,2字节帧尾,如表1所示。

5707000f-c322-eb11-8da9-e4434bdf6706.png 5c07000f-c322-eb11-8da9-e4434bdf6706.png

2.1.2.2 主协议发送引擎核设计

设计时,将整个主协议发送引擎核分为三个状态机。第一个状态机的功能是从对应的子功能核中读出需要上报的数据,采用轮询指针的方式,扫描子功能核1到子功能核N中FIFO是否为空;如某一子功能核FIFO不为空,则将数据读出至发送引擎核的寄存器组中,然后等待第三个状态机完成发送,发送完成后,则扫描下一个子功能核的FIFO;若该子功能核的FIFO为空,则扫描下一子功能核;完成轮询后,第一个状态机跳转回扫描子功能核1。第二个状态机的功能为CRC校验值计算,当检测到第一个状态机已完成FIFO读取,该状态机离开闲置状态,跳转至计算对应数据帧的CRC值;计算完成后等待第三个状态机完成数据帧发送,并跳转至闲置状态。第三个状态机为数据打包发送,当检测到第二个状态机已完成CRC校验值计算,并处于等待状态,则第三个状态机离开闲置状态,将数据打包成相应帧格式写入到对应的以太网通信核的发送FIFO中;完成后第三个状态机回到闲置状态。此时,第二、第三个状态机同时回到闲置状态,第一个状态机则继续扫描。主协议发送引擎核的状态图如图7所示。

5e07000f-c322-eb11-8da9-e4434bdf6706.png

2.1.3 子功能核设计

子功能核设计为两种架构,第一种为带有收发FIFO的子功能核,第二种为带有双口RAM的子功能核。第一种架构的工作模式为检测接收FIFO是否不为空,若不为空则跳转读出数据,完成后跳转一周期执行,再跳转到将数据写入本模块发送FIFO;第二种架构的工作模式与第一组相似,其判断条件为Received信号为1时,开始接收执行功能流程。开关反馈核、开关控制核、紧急控制核、信息存储核及时间同步核采用第一种架构设计,模拟信号采集核采用第二种架构设计,如图8所示。

6007000f-c322-eb11-8da9-e4434bdf6706.png

2.2 辅助健康管理系统设计

辅助健康管理系统(Assist Health Management,AHM)功能为监测主控系统的实时工作状态并将信息打包上传至上位机进行处理。AHM系统中使用集成ARM硬核的FPGA处理器完成系统管理,搭建CoreGPIO软核实现温度采集、主控系统配置状态检测功能,搭建CoreSPI软核实现供电电压采集,SIP控制系统生命周期信息记录功能,搭建CoreUART实现主控系统心跳检测,获取主控系统软件版本功能。

辅助健康管理系统的工作流程为:上电后首先初始化,由于FPGA芯片为Flash架构,初始化时间快于主控系统,初始化完成后将SIP控制系统上次的工作状态信息从FRAM中读出,检查主控系统的FPGA的配置状态,扫描主控系统的FPGA工作电压采集模块是否采集完成,若采集完成则读取主控系统温度传感器温度值,扫描主控系统心跳包,将SIP模块数据更新存入FRAM中,完成一次工作循环,返回到检测FPGA配置状态。上报数据是通过CAN模块中断,当有上报需求时,将对应数据打包上报。辅助健康管理系统的工作流程图如图9所示。

6307000f-c322-eb11-8da9-e4434bdf6706.png

3 综合及布线

主控系统使用Xilinx公司的Vivado开发环境进行设计,使用Verilog HDL完成系统开发,对系统进行综合,生成的主控系统逻辑层次图如图10所示。左上角为两路以太网通信核EthernetMacCore_Unit1和EthernetMacCore_Unit2,右上角为主协议引擎核的发送与接收模块,前缀都为MainCommander,左下角为开关控制核,右下角则为其他子功能核。

6607000f-c322-eb11-8da9-e4434bdf6706.png

辅助健康管理系统采用Microsemi公司的Libreo Soc开发环境进行设计,使用Verilog HDL完成系统开发,对系统进行综合,RTL图如图11所示。

7107000f-c322-eb11-8da9-e4434bdf6706.png

4 仿真及测试

4.1 仿真实验

使用Verilog HDL完成各功能核设计后,通过编写TestBench完成各功能核的逻辑正确性测试及仿真,以下是电气控制组合SIP控制系统主要IP核的仿真试验情况。

4.1.1 以太网核仿真

对以太网核进行仿真时,模拟一帧以太网数据接收,在接收的同时将数据写入缓存RAM中;接收完成后,进行CRC32校验;校验通过后,进行端口号以及IP号等匹配,并将数据从缓存RAM中读出,然后写入以太网接收核的FIFO中。仿真结果如图12、图13所示,满足要求。

7507000f-c322-eb11-8da9-e4434bdf6706.png

4.1.2 主协议引擎核仿真

分别对主协议引擎核中的接收引擎子核和发送引擎子核进行数据流控制仿真,测试工作流程是否与图6及图7相符,仿真结果如图14和图15所示,满足要求。

7d07000f-c322-eb11-8da9-e4434bdf6706.png

4.1.3 子功能核仿真

子功能核仿真时,选取带FIFO的开关控制核进行仿真。在接收完数据后,Control_Enable信号为1,驱动开关信号进程,一个时钟后,将发送数据写入发送FIFO中,仿真结果如图16所示,满足要求。

4.2 性能测试

在Xilinx的Artix7系列的FPGA芯片平台及MicroSemi SmartFusion2系列SOC芯片平台上分别对主控系统及辅助健康管理系统设计在进行了验证,功能满足设计要求。将SIP控制系统封装成模块(如图17所示),并在某型号上面级电气控制组合进行性能测试,试验环境如图18所示。在PC运行测试上位机软件模拟上面级计算机进行性能测试,运行WireShark软件进行抓包测试。测试结果如图19~图21所示,其中图19为上位机控制界面,图20为使用WireShark捕捉的通信建立时发送ARP帧,图21为PC在通信建立前后MAC表的变化,图22为WireShark捕捉到的正常通信数据。测试结果表明设计满足要求。

8407000f-c322-eb11-8da9-e4434bdf6706.png 8907000f-c322-eb11-8da9-e4434bdf6706.png 8f07000f-c322-eb11-8da9-e4434bdf6706.png 9807000f-c322-eb11-8da9-e4434bdf6706.png

5 结论

本文开展了基于SIP理念的箭上上面级电气控制组合设计与实现方法研究,并着重介绍了电气控制组合内部SIP控制系统设计与实现方法。简要介绍了电负载管理中心的原理,详细介绍了其SIP控制系统架构设计及重要IP核设计,在Xilinx及Microsemi FPGA芯片平台上进行了验证,并应用于某型商业火箭上面级综合电子系统。该方法在很小的体积内实现了电气控制组合主控系统、辅助健康管理系统,并实现双冗余光纤以太网通信,较传统实现方法在体积、重量、性能、通信速率及成本等方面均有较大优势,具有较好的推广价值。

参考文献

[1] HU X,LIANG Q.Research on digital simulation of satellite integrated electronic system[C].IEEE International Conference on Control & Automation.IEEE,2014.

[2] 陆玉芳,黄敏,陈春海,等.微波隔离固态继电器及其运行方法:中国,CN106067802A[P].2016-11-02.

[3] 孙兆伟,邢雷,徐国栋,等.基于可重构技术的上面级航天器综合电子系统[J].光学精密工程,2012,20(2):296-304.

[4] 朱源,韩峰,杨超.运载火箭上面级供配电一体化设计[J].现代防御技术,2017,45(6).

[5] Xilinx Corporation.UltraFast design methodology guide for the vivado design suite[Z].2017.

[6] Xilinx Corporation.7 Series FPGAs GTP transceivers user guide[Z].2017.

[7] Microsemi Corporation.IGLOO2 and SmartFusion2 SoC FPGA datasheet[Z].2017.

[8] Microsemi Corporation.SmartFusion2 SoC FPGA product brief[Z].2017.

作者信息:

陆玉芳1,2,庄奕琪1,吴旋辉2

(1.西安电子科技大学 微电子学院,陕西 西安710071;2.桂林航天电子有限公司,广西 桂林541002)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值