宛传友,侯 飞,丁一宁,陈志缘
(上海空间电源研究所,上海 200245)
卫星电源分系统是星上产生、储存、交换、调节和分配电能的系统,它为卫星各个分系统的设备提供安全可靠的能源供给,是卫星必不可少的重要保障系统[1],其中PCU 是卫星电源分系统的重要组成部分,PCU 的性能指标直接决定了整个卫星的供电是否可靠。因此对于PCU 性能的测试就显得尤为重要,其中PCU 与星载计算机的总线通信方式主要包括1553B、CAN 和RS422 3 种。 目前传统的PCU 测试主要是根据其总线通信方式,需要专门定制一套仅适用于该型号的测试系统,包括测试上位机和与其通信的转接盒[2-3],存在定制化严重、通用性差、维护困难、成本较高等缺点。
针对这种情况,本文设计了一种基于ARM+FPGA 的卫星电源控制器通用测试系统。 将3 种总线通信方式进行整合,转换成接口统一的以太网通信方式与上位机进行数据传输。 实现了测试系统上位机无需再分别适配3 种总线通信的方式,节省了上位机软件和通信转接盒的开发成本。
基于ARM+FPGA 的卫星电源控制器通用测试系统的整体设计方案如图1 所示,主要包括待测试的电源控制器(PCU)模块,其中PCU 模块可以通过1553B、CAN 和RS422 3 种总线通信方式中的任意一种与总线通信接口整合单元进行数据传输。 总线通信接口整合单元由主控芯片A3P1000 FPGA 与3种总线通信接口的控制芯片组成。 总线通信接口整合单元通过FSMC 内总线与以太网接口转换单元进行内总线数据交互。 以太网接口转换单元由ARM Cortex-M4 为内核的STM32F103ZET6 芯片和以太网通信接口芯片W5500 组成。以太网接口转换单元通过以太网线与通用测试上位机进行数据传输。 通用测试上位机是采用图形化的编程语言LabVIEW开发,形成可视化的通用测试上位机界面。
图1 通用测试系统整体设计方案Fig.1 Overall design scheme of general test system
通用测试系统硬件电路主要包括以太网接口转换单元和总线通信接口整合单元,硬件结构框图如图2 所示。
以太网接口转换单元主控芯片采用ARM Cortex-M4 为内核的STM32F103ZET6 芯片,最高时钟速度72 MHz, 程序存储器容量为512 KB,RAM容量为64 KB,该芯片性能高、成本和功耗低,完全满足设计要求。 整个测试系统硬件电路采用直流12 V 供电,选用AMS1117-3.3 线性稳压芯片将电压转换成3.3 V 供给以太网接口转换单元。 采用MAX706 看门狗芯片产生上电复位和看门狗信号输出给STM32F103ZET6 主控芯片。 采用8 MHz 的晶振提供系统时钟。 W5500 是WIZnet 公司推出的一款内部集成硬件协议栈的高性能以太网接口芯片,它拥有早期芯片的所有主要优势,内部集成了MAC和PHY 工艺,使得接入以太网方案的硬件设计更为简捷和高效。W5500 提供了SPI(外设串行接口),从而能够更加容易与外设MCU 整合,方便开发者使用[4-5]。 网络接口采用的是把变压器和RJ-45 接头集成到一起的HR911105A,HR911105A 符合IEEE802.3标准,采用金属外壳封装,抑制EMI 性能较好,而且可减少电路板空间和简化PCB 板布局,使信号传输更加稳定可靠[6]。
总线通信接口整合单元主控芯片采用A3P1000芯片,该FPGA 芯片具有100 万系统门,最高主频231 MHz,1024 位片上可编程、非易失的FlashROM存储,满足设计要求。采用LM2678S-5、LM2678S-3.3和AMS1117-1.5 电源转换芯片将电压转换成5 V、3.3 V 和1.5 V 供给总线通信接口整合单元。 用电阻和电容组成上电复位模块电路。 采用24 MHz 晶振提供FPGA 的系统时钟。
1553B 总线通信模块的主芯片采用美国DDC公司生产的BU-61580,该芯片作为一种全集成化多协议的接口芯片,由2 个低功耗的双端收发器、4 K字静态RAM 以及直接面向主处理器的缓存接口组成[7],集成了总线控制器(BC)、远程终端(RT)和总线监控器(MT)3 种终端协议逻辑,各个终端连接到总线上都可形成广播通道[8-9],本测试系统该芯片承担BC 的功能完成与卫星PCU 的1553B 通信。 CAN 总线通信模块通常由CAN 总线控制器SJA1000 和CAN 总线收发器PCA82C250 两部分组成[10-11],实现与卫星PCU 的CAN 通信。 RS422 总线通信模块由四路差分线路驱动器AM26C31 和四路差分线路驱动器AM26C32 组成,实现与卫星PCU 的RS422通信。
上位机采用图形化的编程语言LabVIEW 开发,形成可视化的上位机界面。 具备模块化程序结构框架,高内聚,低耦合,覆盖当前卫星型号需求,并满足维护方便、方便后续进行功能扩展,也可以根据用户需求进行定制化设计。 通用测试上位机软件主程序流程如图3 所示。
图3 通用测试上位机软件主程序流程Fig.3 General test upper computer software main program flow chart
基于ARM+FPGA 的软件主体功能为硬件上实现以太网→1553B、CAN 和RS422 总线的电气特性匹配,软件上实现信息流的上下行。 为提高软件通信处理能力, 采用ARM+FPGA 双核处理的实现方案,可充分发挥ARM 多任务实时处理功能及FPGA功能并行、管脚丰富的特点。
为提高软件运行效率,结合处理器性能承载能力,选择在STM32F103ZET6 芯片上移植运行UCOSII嵌入式操作系统, 该操作系统是一个基于ROM 运行的、可裁剪的、抢占式、实时多任务内核,具有执行效率高、占用空间小、实时性能优良和可扩展性强等优点,最小内核可编译至2 KB[12],具有成熟的移植及应用经验。 本软件利用UCOSII 的特点,设定多个任务,从而实现信息上下行的实时性。 为增强信息吐纳稳定性,采用队列的方式对输入输出信息流进行操作。 队列是一种抽象的数据类型,具有先进先出的特点,非常适合用于通信的处理。 本软件设置2 个队列,分别为对上、对下,通过管理、维护2个队列实现信息流的上下行。 基于ARM+FPGA 软件运行的基本逻辑流程如图4 所示。
图4 基于ARM+FPGA 软件运行的基本逻辑流程Fig.4 Basic logic flow chart based on ARM+FPGA software operation
搭建的基于ARM+FPGA 架构的通用测试系统样机如图5 所示。 其中以太网接口转换单元采用内嵌的方式叠插在总线通信接口整合单元的印制板上, 通过以太网线连接到通用测试上位机进行测试,通用测试上位机界面如图5 标注所示。
图5 通用测试系统样机Fig.5 Universal test system prototype
本文提出的基于ARM+FPGA 架构的通用测试系统, 实现了与3 种总线通信接口的适配, 包括1路1553B、2 路CAN 和4 路RS422 总线通信功能,通用测试上位机实现了RS422 通信波特率可自由设置、CAN 通信传输速率500 Kbps 和1553B 通信传输速率为1 Mbps。 该测试系统已经用于3 种不同的卫星电源控制器的测试,测试结果表明其通用性强,稳定性高,解决了传统卫星PCU 测试系统定制化严重的问题, 降低了成本, 可以为后续的卫星PCU 测试系统开发提供借鉴。