APP下载

一种基于FPGA的星载电源控制方案设计*

2022-12-02刘博李小磊夏天泉李欣欣

航天标准化 2022年3期
关键词:均衡器遥测串口

刘博 李小磊 夏天泉 李欣欣

(上海航天电子技术研究所,上海, 201109)

随着航天任务复杂度和需求度提升,对航天器上电源系统的要求也越来越高[1]。作为整个航天器电源系统管理的控制核心,电源控制器(Power Control Unit,PCU)根据 需要对 星上能量输出进行相应调节、传输和变换,以保证星上各仪器能够正常工作[2]。

目前,星上的电源系统控制方式多使用8051的CPU(中央处理器)系统,以及一系列的锁存器、译码器等中小规模集成电路构成[3-4],此类架构外围电路较为复杂,且对不同类型的接口兼容性不强。另外也有使用单个反熔丝FPGA(可编程阵列逻辑)来完成电源系统的遥测遥控功能[5-6],此类方式能减少器件的种类、简化电路设计,但由于其做浮点运算的能力较弱,会消耗大量资源,因此在对蓄电池的自主管理方面会有所欠缺。

鉴于此,本文提出了一种适用于新型星载电源智能管理的设计方案,能够实现电路的小型化,完成更复杂的数据传输与管理;同时适应多种接口和控制方式,有良好的通用性和可扩展性,可以稳定地对电源系统进行自主监控和管理。

1 电源管理方案架构

电源管理方案的基本思路是:首先通过遥测采集模块周期性采集电源分系统的工作参数,并在控制处理模块的控制下将其转化为数字量;响应星载主机周期性的轮询命令,由1553通信模块将存储的遥测参数送至星上总线网络;CPU将多轮采集的遥测参数进行运算处理,并与预设或星载主机上注的控制门限值相比较,自主发送不同类型控制指令调节当前能源管理的状态,防止蓄电池过充过放,以提高蓄电池的充电效率,延长蓄电池寿命[7]。同时,增加了在系统编程的功能,可以根据不同蓄电池的K系数及控制策略变更进行实时的软件修改,可有效缩减研制周期,增强设备的兼容性。

图1给出了电源管理方案的原理框图,由图可知电源管理方案由二次电源变换、遥测采集模块、A/D转换、控制处理模块、1553B接口电路、指令输出接口、片选输出、422接口等电路组成。考虑到空间应用的不可维修性,采用了双机冷备份的设计。

图1 电源管理方案原理框图

1.1 数据采集功能设计

数据采集的主要功能是在CPU的控制下,时序采集电源分系统的状态参数,并将采集的电压量转换为数字量,由控制模块读取,存入数据存储器。数据采集功能主要分为2部分,一部分为多选一的模拟通道,另一部分为AD转换电路。数据采集功能框图如图2所示。

图2 数据采集功能框图

模拟通道电路主要由16选1的模拟门芯片构成,采用2级选通的方式实现多选一功能,该功能保证了AD转换器在每一个采集时刻只采集一路信号,避免多路信号之间相互干扰的问题。

AD转换电路由运算放大器OP77和AD转换芯片AD574组成。在使用中,将OP77设置为射极跟随器电路,以保证对输入信号的高阻抗隔离及A/D转换所要求的低输入阻抗。AD574是AD公司生产的一种快速逐次比较型12位AD转换器,转换速度最大为35μs,转换精度不大于0.05%,能够满足对蓄电池阈值门限控制的精度要求。

1.2 指令发送功能设计

指令发送功能是由CPU经过判断或计算后,依据发送通路,将对应的指令数据写入FPGA中,FPGA根据数据所写入的地址和指令内容来实施具体指令的发送。指令控制方式分为3类:①OC指令:FPGA输出脉冲选通电平控制驱动芯片发送OC指令,使用了具有16路指令驱动芯片BM2711;②片选指令:FPGA输出电平选通信号通过电平转换芯片发送片选指令,电平转换芯片使用了CC40109,能够将5V电平转换为适合电源系统充电曲线切换的电平后输出;③串口指令:FPGA通过串口芯片输出三线制时钟、门控、数据进行同步串口指令的发送。

1.3 控制处理功能设计

电源管理设备的控制处理核心为8051系列CPU系统和FPGA控制芯片,CPU系统包括CPU、PROM和SRAM芯片,PROM用于存放CPU处理软件,SRAM用于存放遥测数据和控制参数,SRAM与FPGA相连后作为同步422接口的遥测数据缓存,FPGA完成系统的逻辑控制及输入输出信号的收发控制。CPU与FPGA之间以及控制处理模块与外部各芯片的接口关系如图3所示。

图3 控制处理模块接口关系

CPU作为主控芯片完成1553B总线通信、遥测组帧、指令包解析、电源系统各参数的处理,FPGA作为从芯片,配合CPU完成地址端口的映射、地址的逻辑译码、模拟量的采集与缓存、各类指令发送、对外的同步或异步串口通信以及看门狗功能等。

在物理层,FPGA与CPU数据交换通过八位并行总线实现。FPGA内部主要由CPU通信模块完成与CPU的通信控制。CPU通信模块根据CPU的读写信号和ALE信号,按照时序与CPU进行通信,通过CPU给出的地址进行地址译码,实现外部各芯片的选通和读写控制。根据接收到的不同指令请求内容分发指令码至相应功能模块。与缓存管理模块交互,完成计算参数、遥测数据的缓存和转发。

1.4 在系统编程功能设计

为了便于系统和整星测试时的软件更改,设计了在系统编程功能。在系统编程的实现是通过增加一个RS232芯片,将CPU的TXD、RXD引出,同时将标准RS232串口中的DTR信号送FPGA芯片,采用在系统编程软件实现用户应用软件的烧录。由于FPGA设计中设计了看门狗控制功能,软件加载时,首先会禁止看门狗输出,此时CPU将自动识别到ISP端口,进行程序加载,整个加载过程CPU处于不工作模式,不会输出任何数据。

2 电源管理策略设计

2.1 蓄电池充电保护控制策略

充电保护控制目的:CPU通过自主调节蓄电池组充电限压曲线,保证蓄电池组所有单体电压不大于单体电压上限保护值,避免蓄电池单体过充。当需要进行充电保护控制流程时,星务软件会通过1553B总线发送一条“蓄电池单体保护充电控制使能”指令,CPU接收并解析该条指令后,便可在充电过程中对蓄电池单体进行自主控制,控制的周期为2s。在充电过程中,FPGA周期性地通过串口从均衡器接收蓄电池的各电压值,同时从AD处采集放电电流、蓄电池组电压等模拟量,CPU根据FPGA收集到的遥测电压数据判断,当满足任意一组蓄电池组的充电电流I<4A且持续28s,充电开始,CPU进入充电控制流程:先筛选出单体电压在3.5V~4.5V范围的电池单体,并连续检测蓄电池单体电压变化情况;当检测到单体电压达到单体电压上限保护值时,CPU控制FPGA发送充电限压曲线切换指令,输出片选信号切换蓄电池组充电限压曲线至低一档的位置,实现对蓄电池单体的保护,同时更新健康字,记录当前电池单体保护充电自主控制状态。单体电压的上限保护值可通过参数注入进行修改,以适应电池不同模式的使用方式。

2.2 蓄电池均衡控制策略

目前星上越来越多地使用了锂离子电池组,其由多节单体锂离子电池所组成,为了提高锂离子蓄电池单体之间的均衡性,使单体电压偏差保持在预期范围内[4],应提供对锂离子蓄电池单体均衡管理的功能,这里以7节单体组成的电池组为例。

FPGA从串口接收均衡器采集的当前蓄电池组所有单体电压、从外部采集 “太阳电池阵电流” “平台太阳电池阵电流1” “平台太阳电池阵电流2”卫星光照阴影状态信号,并存储在数据缓存芯片中;星务软件发指令将均衡控制使能状态切换至“均衡控制使能允许”。随后CPU对单体电压进行处理:CPU在7个当前蓄电池单体电压中剔除超出范围的值,然后将未剔除的电压值取平均值,每个电压与平均值比较,将与平均值误差≥0.2V的单体电压剔出;求取未剔除单体电压中最小单体电压Umin。

CPU需预先判断蓄电池各单体的均衡状态,若均为“0”,则退出此次均衡判断,若至少有一单体均衡状态为“1”,则进行以下操作:①FPGA通过串口发送给均衡器均衡关指令;②CPU置平台蓄电池组A单体1~7均衡状态遥测为“0”;③CPU将均衡时间、均衡计时位置零。

若均衡功能状态为“1”时,CPU判断卫星光照阴影状态。如果阴影状态,CPU继续判断均衡时间是否大于2h,如果大于2h,则进行以下操作:①FPGA通过串口发送给均衡器均衡关指令;②CPU置平台蓄电池组A单体1~7均衡状态遥测为“0”;③CPU将均衡时间、均衡计时位置零;退出本次均衡判断。

如果均衡时间≤2h,以2个均衡控制运行周期内是否满足以下2个条件中的任意一个为均衡接通判断条件:①在2个均衡控制运行周期内满足Ui-Umin≥U平台均衡(均衡阈值可以通过1553B总线注数修改,初始值为80mV,Ui为同一单体);②在2个均衡控制运行周期内满足Ui≥U单体设定(Ui为同一单体)。

若该单体满足均衡接通条件,则进行以下操作:①FPGA通过串口发送该单体均衡开指令至均衡器;②CPU将该单体均衡遥测状态位置1,均衡计时位置1;③CPU进行均衡时间累加判断操作。

如果该单体不满足均衡接通条件,则对下一单体进行均衡接通判断,对所有在正常电压范围内的单体判断完成后,进行操作均衡时间累加判断。对均衡计时位判断,如果为“1”则均衡时间累加,退出本次均衡控制程序;如果均衡计时位为“0”,直接退出本次均衡控制程序。

3 仿真分析

根据本文设计的电源管理构架,在原先单CPU的基础上增加了FPGA作为CPU的扩展,可以方便地通过硬件描述语言(HDL)实现组合逻辑与时序逻辑,IO接口丰富,可大大提高产品的集成度。CPU通过对相应地址、数据的操作,控制FPGA进行功能实现。

在Modelsim中对FPGA功能进行仿真,如图4~图7所示。

图4 指令选通发送仿真波形

图7 均衡器遥测接收功能仿真

图4中,CPU向地址“0x2001” (OC指令发送地址)写入对应的通道号,FPGA判断解析后,将对应的指令驱动芯片输入管脚置高。图4中写入的通道号为“0x00”,则驱动芯片第一路的行、列选通置高,且持续80ms后再次置低。

图5中,CPU向地址“0x2002” (均衡器指令发送地址)写入对应的通道号,FPGA进行判断解析,jh_cmd_en为均衡器指令发送使能,启动后同时输出对应的4kbps时钟,门控和指令数据。仿真实例中CPU写入的指令码为“0x01”,其对应输出的A组均衡器指令数据为“0x8003”,实现了均衡指令发送功能。

图5 均衡器指令发送功能仿真波形

图6中,CPU向地址“0x2003” (电平选通指令地址)写入对应的通道号,FPGA进行判断解析,输出对应选通电平。仿真实例中CPU写入的指令码为“0x06”,其对应输出的A组充电电流3档指令数据为“011”,共3组输出,实现了电平选通功能。

图6 电平选通功能仿真波形

图7仿 真 实 例 中,CPU向 地 址 “0x2000”(均衡器遥测请求地址)写入对应的数据“0xaa”,随后FPGA会产生均衡器遥测请求标识(yc_req_jh),FPGA输出 门控 和4kbps的时钟 送往均衡器,并按位接收均衡器传来的遥测数据。FPGA对2台均衡器的遥测数据时序接收,以保证数据的完整性。

为满足星载电源系统内资源不断增多和控制流程日益复杂化、多样化的需求,降低研制周期,减少产品的器件种类,本文提出了一种星载电源系统管理的设计方案,该方案基于CPU+FPGA的系统架构,进一步提高了设计的通用性和可移植性,具有集成度高、研制周期短、通用性强、可扩展、易于维护等优点,实现了对星载电源系统的自主控制,降低了对外部系统的依赖,可满足电源系统内不同蓄电池的管理需求,确保了对星载蓄电池有效、灵活的管理与保护。

猜你喜欢

均衡器遥测串口
浅谈AB PLC串口跟RFID传感器的通讯应用
自适应模糊PID控制的遥测方舱温度调节方法
某小型无人机遥测软件设计
浅谈如何提高遥测状态估计合格率
USB接口的多串口数据并行接收方法探索
无线传感网OFDM系统中信道均衡器的电路实现
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
一种基于LC振荡电路的串联蓄电池均衡器
基于并行控制的FPGA多串口拓展实现
利用VBA处理邻近气象站的相关遥测数据