基于PIC18单片机的弹载电源控制系统设计
黄丰保+安德宇
摘要:电源系统是空空导弹工作的动力源。随着导弹贯标工作的开展,导弹电源系统承担的控制功能越来越多,采用传统的分立器件搭建模拟电路完成任务,产品的可靠性和工艺性都较差。PIC18系列微控制器(MCU)具有体积小、功能强和抗干扰能力好等优点,且已被成功应用到航空航天等军工领域,其技术成熟度和可靠性已得到证实。本文将PIC18系列MCU应用于空空导弹电源系统,实现了电源控制系统的数字化,以进一步提高电源的可靠性和抗干扰能力。
关键词:空空导弹;弹载电源;微控制器;PIC18
中图分类号:TJ760;TN86文献标识码:A文章编号:1673-5048(2014)04-0023-04
0引言
随着空空导弹的发展,电源系统承担的功能越来越多,不仅仅限于为导弹转接载机电源,为全弹提供各部件所需电源等功能,还要承担相应的电池电压检测、点火控制等功能[1],因此,对电源系统所占空间、加工制作工艺和可靠性等都提出了更高的要求。单片机以体积小、功能强、发展技术成熟[2-3]等特点,被广泛应用于民用、航空航天等军工领域。在设计电源系统过程中,以提高可靠性和自检深度为主,同时要求体积小、抗干扰能力强,设计简单可靠的数字控制器,因此本文选择PIC18LF4523微控制器芯片设计电源控制系统。
1系统总体方案
1.1PIC18LF4523芯片性能简介
PIC18LF4523功能强大、可靠性高、体积小巧,电源控制系统涉及到的主要指标有:最多13路通道的12位A/D;主同步串行口模块,支持3线SPI和I2CTM主/从模式;增强型USART模块,支持RS-485/RS232和LIN1.2等通讯模式;4种晶振模式,频率最高位25MHz。
本设计方案利用PIC18系列微控制器强大的功能及外设接口[4-6],对电源系统的控制电路进行数字化设计,实现电池电压检测、电池点火控制以及发动机点火控制的数字化控制与自检。
1.2电路工作原理
该方案具体设计为:以数字电路为主,模拟电路为辅,以PIC18LF4523为电源系统控制电路的核心处理器,与飞行控制组件之间的数据交换采用RS485数据交换方式;考虑到载机与电源之间的数据传输存在信号电平高,干扰强的特点,采用光耦进行隔离变换;芯片供电采用+5V电源(硬件设计时,将电路中的固态继电器也选择使用+5V控制关断的产品,便于统一供电),无需再进行电源转换;通过芯片内部自带的模数转换器(ADC)采集所需电压,实现电压采集、比较和电路自检功能;芯片的I/O口可直接驱动固态继电器,对于电磁继电器使用晶体管进行驱动信号的隔离放大,实现点火控制等功能;通过标准的ICSP接口与上位机进行数据交换和程序烧写及调试。电源数字控制部分的工作原理如图1所示。
2电路详细设计
2.1电源系统与飞控间的数据传输
芯片PIC18LF4523拥有增强型的USART通讯模块,可配置为全双工异步(RS422)或半双工同步(RS485)通讯模式。在全双工异步模式下,还可以实现自动比特率检测和校准、接收到字符时自动唤醒和12位间隔字符发送等功能。
电路设计选择MAX3160实现PIC18LF4523与飞控之间的通讯转接。MAX3160是一种可编程的多协议收发器,支持RS232/RS485/RS422等多种传输方式,技术成熟,系统传输速率最大可达10Mbps。电源系统与飞控之间采用RS422全双工异步串口通讯标准进行数据交换,数据传输采用平衡驱动和差分接收的方法,有效消除噪声和干扰。将MAX3160的第11引脚RS485/232接高电平,选定RS485或RS422模式,再将第12引脚HALF/FULL接低电平,选定RS422全双工模式,MAX3160通过SCIRXD和SCITXD与PIC18LF4523进行数据交换,具体电路如图2所示。
2.2点火约束模拟信号处理
载机除向电源系统供电外,还与电源系统之间存在数据交换。为避免载机对单片机的电气影响,电源控制系统采用光耦器件接收来自载机的点火约束模拟信号,将高电压的电平信号转换为与单片机兼容的低电平信号,同时实现单片机与输入信号的电气隔离。载机与电源之间的数据传输,容易受到机载信号的串扰,因此对载机发送的信号,控制器需要在软件上对接收到的信号宽度进行判断,以剔除噪声。具体电路如图3所示。
2.3数据采集与供电系统
电源控制系统需要完成对两路电池电压(B1和B2)是否正常供电的检测,因此需要对电池电压进行采集。PIC18LF4523的模数转换器ADC为12位精度,包含5个寄存器,可通过软件选择器件的正负电源电压(VDD和VSS)或VREF+和VREF引脚上的电压作为A/D转换的模拟参考电压。
设计方案使用芯片外部提供的+5V电源,经滤波后既作为芯片的供电电源,也作为输入接在芯片RA3/AN3/VREF+引脚(22引脚),同时在软件上将该引脚的输入设置为ADC的模拟电压参考电源。
文章设计电源系统数据采集与单片机供电系PIC18LF4523拥有一个13通道输入的12位逐次逼近型ADC(模数转换器),与A/D转换器相关的每个端口引脚都可以被配置为模拟输入或数字I/O。单端电压输入以0V(GND)为基准,为降低采样误差,AD采样的端口在软件里设置为高阻抗状态,关闭上拉电阻。选择模拟输入通道后,必须对通道进行采样才能启动转换,采集时间须大于最小采集时间。
电池电压检测工作原理是:ADC对引脚19,20采集端口的电压进行采集并转化为内部电压,与程序设定的电压值进行比较,当采集的电压值大于程序设定的电压值时,芯片输出电压正常信号BTOK(41引脚),随后采集端口保持采样一定时间后关闭,以避免干扰。
2.4点火控制
多路火工品的点火是电源组件最重要的控制功能电路,在设计过程中,对其功能电路做了冗余设计,以提高其工作可靠性。加强对软件和硬件的筛选以保证电路工作的安全性,对可靠性不高的电磁继电器和固态继电器,采用相互搭配的设计方案,每个继电器的控制都需要多个控制信号都有效才能打开。软件设计上增加看门狗程序,防止程序跑飞出现故障。
控制器接收来自飞控的指令后,经过运算处理,输出的控制信号可直接通过芯片的I/O口对固态继电器进行控制,但不能对电磁继电器进行直接驱动。这是因为固态继电器所需的驱动电流较小,本电路选用固态继电器最大驱动电流为16mA,而电磁继电器需要的驱动电流最小为50mA,且电磁继电器在吸合、断开瞬间会产生干扰,因此,控制器和电磁继电器之间需通过光耦或晶体管等器件进行隔离或驱动信号放大。
尽管PIC18LF4523任一I/O口的最大驱动电流可以达到25mA,但是当同时驱动多个负载时,噪声容限会变差,使芯片端口输入或输出容易受到干扰,同时,PIC18LF4523所有端口的输出电流总和不能超过200mA,因此在设计时,将芯片总的输出电流控制在总驱动电流的50%以内,保留控制器的可用功耗,以使其在长时间工作时保持稳定状态。
火工品点火电路的工作原理是:控制器对来自载机的指令进行滤波处理,同时对电压信号进行采集比较,经组合逻辑判断后,通过I/O口输出两路可直接驱动固态继电器的信号(低电平有效)和一路控制电磁继电器的信号(O_F1)。在电路中对控制电磁继电器的信号与其他逻辑信号(I_K1,I_KF1)进行逻辑组合,驱动放大后接入电磁继电器的控制级(OF1C,OF1D两路)。驱动电磁继电器的电路原理如图5所示。
软件设计中,设置火工品点火信号输出条件为载机发送模拟指令、飞控点火指令和点火供电电源均满足要求时,才会输出相应驱动继电器工作的信号。如果没有载机发送模拟指令,即使单片机出错也不会误点火。电路设计时,保持控制器发送的点火信号来自芯片的同一个端口(RC0~3),且有效电平不同。在设计时,固定PORTC专用于火工品点火控制输出,可以避免单片机初始化时端口出现不稳定状态造成误点火。
从安全性、可靠性和工程实用经验考察上述电路设计,证明该设计是有效可靠的,电路仿真结果也证明了电路的可靠性和安全性。
2.5自检功能实现
电源系统的热电池是一次性使用的火工品,无法反复测试,只能在地面或空中有限的试验中考核,因此对电路可靠性要求极高。本方案对差分信号经过光耦进行隔离驱动的电路增加了软件自检功能;将控制点火信号输出的电磁继电器的常闭点接地,防止误激活,同时对继电器工作状态也增加了软件监测,以进一步提高电路整体可靠性和故障诊断能力。
隔离驱动电路的自检工作原理如下:自检时,将DHZJ端用PIC18LF4523的I/O口拉为低电平,检测DHJC端是否有控制信号输入,若有则说明输入电路正常,否则电路故障。自检完成后,I/O口将DHZJ端置为高阻抗状态,以免影响正常指令的输入,自检电路如图6所示。
2.6供电及时钟设计
电源控制系统的供电采用PIC18LF4523手册中的经典设计;芯片的时钟电路采用外接晶振的方法提供时钟基准,外接电容为20μF,在绘制印制板时,尽量将电容的接地连线缩短,并且采用独立的连接线连接到电源地的输出端,保证时钟不受干扰,控制器供电及时钟电路如图7所示。
2.7单片机的软件设计
弹上电源数字化设计方案涉及到的软件程序不多,但需要在设计中充分考虑软件的可靠性,通过以下设置,可有效提高软件系统运行的稳定性。
(1)上电自检,对寄存器、RAM、堆栈、常用指令等进行检查及校验;
(2)为防止SRAM内的数据受干扰发生改变,造成软件误动作,对关键变量采用冗余设计,对关键状态采用多个变量记录。变量分布在SRAM中的不同位置。并且在RAM设置若干标志,发现RAM中数据异常后,立即复位;
(3)关键输出信号,采用多条指令控制,形成互锁。如打开一个继电器,需模拟电压指令和差分指令同时有效,任何一个无效即无控制输出,继电器无法打开;
(4)为避免程序指针PC受到干扰发生改变,导致程序跑飞时错误输出关键指令,对关键指令,如火工品点火控制指令,用程序绝对定位语句将该段指令分配到Flash的一个指定区域,区域前面填充为NOP或者设计捕获程序,使程序跑飞时不会跳到关键语句上;
(5)采用看门狗(watchdog),使程序跑飞时能够重新复位;
(6)对开关量,如飞控指令的输入,应当进行延时重复检测,避免因出现干扰而误判。
2.8单片机硬件设计
硬件电路可靠性包括单片机的应用设计和电路板抗干扰设计等。
PIC18LF4523和MAX3160EAP都是典型的内置CMOS电路器件,具有功耗低、噪声抑制能力优良等特点。但CMOS电路也有比较明显的缺陷:存在先天性寄生电路,在外界干扰的作用下,易形成闩锁效应,导致电路工作不正常甚至损坏。因此,在硬件上做以下防范:①重要的芯片管脚即使已内置各种上拉、下拉保护电阻,仍需作合理处置;②对于控制电池激活或发动机解保、点火功能的继电器需进行冗余设计,形成互锁,以保障一只继电器出现故障,在指令正确情况下,仍能正常打开输出;③对重要的数据传输电路,如载机发送指令(包含模拟电压信号和差分信号),设计光藕隔离变换及滤波电路;④设计印制板时,对流过大电流的回路走线加宽,或者大面积覆铜,提高散热效果和抗电磁干扰能力。
3结论
弹上电源控制系统的数字化,不仅简化了电源组件电路设计的复杂度,减小了控制系统体积,而且能有效提高电源组件的整体可靠性和设计的灵活性[7],增强电源组件功能的扩展能力和弹上能源系统工作的稳定性,有利于全弹的数字化设计,将是未来弹上电源系统的一个主要发展方向。
2.4点火控制
多路火工品的点火是电源组件最重要的控制功能电路,在设计过程中,对其功能电路做了冗余设计,以提高其工作可靠性。加强对软件和硬件的筛选以保证电路工作的安全性,对可靠性不高的电磁继电器和固态继电器,采用相互搭配的设计方案,每个继电器的控制都需要多个控制信号都有效才能打开。软件设计上增加看门狗程序,防止程序跑飞出现故障。
控制器接收来自飞控的指令后,经过运算处理,输出的控制信号可直接通过芯片的I/O口对固态继电器进行控制,但不能对电磁继电器进行直接驱动。这是因为固态继电器所需的驱动电流较小,本电路选用固态继电器最大驱动电流为16mA,而电磁继电器需要的驱动电流最小为50mA,且电磁继电器在吸合、断开瞬间会产生干扰,因此,控制器和电磁继电器之间需通过光耦或晶体管等器件进行隔离或驱动信号放大。
尽管PIC18LF4523任一I/O口的最大驱动电流可以达到25mA,但是当同时驱动多个负载时,噪声容限会变差,使芯片端口输入或输出容易受到干扰,同时,PIC18LF4523所有端口的输出电流总和不能超过200mA,因此在设计时,将芯片总的输出电流控制在总驱动电流的50%以内,保留控制器的可用功耗,以使其在长时间工作时保持稳定状态。
火工品点火电路的工作原理是:控制器对来自载机的指令进行滤波处理,同时对电压信号进行采集比较,经组合逻辑判断后,通过I/O口输出两路可直接驱动固态继电器的信号(低电平有效)和一路控制电磁继电器的信号(O_F1)。在电路中对控制电磁继电器的信号与其他逻辑信号(I_K1,I_KF1)进行逻辑组合,驱动放大后接入电磁继电器的控制级(OF1C,OF1D两路)。驱动电磁继电器的电路原理如图5所示。
软件设计中,设置火工品点火信号输出条件为载机发送模拟指令、飞控点火指令和点火供电电源均满足要求时,才会输出相应驱动继电器工作的信号。如果没有载机发送模拟指令,即使单片机出错也不会误点火。电路设计时,保持控制器发送的点火信号来自芯片的同一个端口(RC0~3),且有效电平不同。在设计时,固定PORTC专用于火工品点火控制输出,可以避免单片机初始化时端口出现不稳定状态造成误点火。
从安全性、可靠性和工程实用经验考察上述电路设计,证明该设计是有效可靠的,电路仿真结果也证明了电路的可靠性和安全性。
2.5自检功能实现
电源系统的热电池是一次性使用的火工品,无法反复测试,只能在地面或空中有限的试验中考核,因此对电路可靠性要求极高。本方案对差分信号经过光耦进行隔离驱动的电路增加了软件自检功能;将控制点火信号输出的电磁继电器的常闭点接地,防止误激活,同时对继电器工作状态也增加了软件监测,以进一步提高电路整体可靠性和故障诊断能力。
隔离驱动电路的自检工作原理如下:自检时,将DHZJ端用PIC18LF4523的I/O口拉为低电平,检测DHJC端是否有控制信号输入,若有则说明输入电路正常,否则电路故障。自检完成后,I/O口将DHZJ端置为高阻抗状态,以免影响正常指令的输入,自检电路如图6所示。
2.6供电及时钟设计
电源控制系统的供电采用PIC18LF4523手册中的经典设计;芯片的时钟电路采用外接晶振的方法提供时钟基准,外接电容为20μF,在绘制印制板时,尽量将电容的接地连线缩短,并且采用独立的连接线连接到电源地的输出端,保证时钟不受干扰,控制器供电及时钟电路如图7所示。
2.7单片机的软件设计
弹上电源数字化设计方案涉及到的软件程序不多,但需要在设计中充分考虑软件的可靠性,通过以下设置,可有效提高软件系统运行的稳定性。
(1)上电自检,对寄存器、RAM、堆栈、常用指令等进行检查及校验;
(2)为防止SRAM内的数据受干扰发生改变,造成软件误动作,对关键变量采用冗余设计,对关键状态采用多个变量记录。变量分布在SRAM中的不同位置。并且在RAM设置若干标志,发现RAM中数据异常后,立即复位;
(3)关键输出信号,采用多条指令控制,形成互锁。如打开一个继电器,需模拟电压指令和差分指令同时有效,任何一个无效即无控制输出,继电器无法打开;
(4)为避免程序指针PC受到干扰发生改变,导致程序跑飞时错误输出关键指令,对关键指令,如火工品点火控制指令,用程序绝对定位语句将该段指令分配到Flash的一个指定区域,区域前面填充为NOP或者设计捕获程序,使程序跑飞时不会跳到关键语句上;
(5)采用看门狗(watchdog),使程序跑飞时能够重新复位;
(6)对开关量,如飞控指令的输入,应当进行延时重复检测,避免因出现干扰而误判。
2.8单片机硬件设计
硬件电路可靠性包括单片机的应用设计和电路板抗干扰设计等。
PIC18LF4523和MAX3160EAP都是典型的内置CMOS电路器件,具有功耗低、噪声抑制能力优良等特点。但CMOS电路也有比较明显的缺陷:存在先天性寄生电路,在外界干扰的作用下,易形成闩锁效应,导致电路工作不正常甚至损坏。因此,在硬件上做以下防范:①重要的芯片管脚即使已内置各种上拉、下拉保护电阻,仍需作合理处置;②对于控制电池激活或发动机解保、点火功能的继电器需进行冗余设计,形成互锁,以保障一只继电器出现故障,在指令正确情况下,仍能正常打开输出;③对重要的数据传输电路,如载机发送指令(包含模拟电压信号和差分信号),设计光藕隔离变换及滤波电路;④设计印制板时,对流过大电流的回路走线加宽,或者大面积覆铜,提高散热效果和抗电磁干扰能力。
3结论
弹上电源控制系统的数字化,不仅简化了电源组件电路设计的复杂度,减小了控制系统体积,而且能有效提高电源组件的整体可靠性和设计的灵活性[7],增强电源组件功能的扩展能力和弹上能源系统工作的稳定性,有利于全弹的数字化设计,将是未来弹上电源系统的一个主要发展方向。
2.4点火控制
多路火工品的点火是电源组件最重要的控制功能电路,在设计过程中,对其功能电路做了冗余设计,以提高其工作可靠性。加强对软件和硬件的筛选以保证电路工作的安全性,对可靠性不高的电磁继电器和固态继电器,采用相互搭配的设计方案,每个继电器的控制都需要多个控制信号都有效才能打开。软件设计上增加看门狗程序,防止程序跑飞出现故障。
控制器接收来自飞控的指令后,经过运算处理,输出的控制信号可直接通过芯片的I/O口对固态继电器进行控制,但不能对电磁继电器进行直接驱动。这是因为固态继电器所需的驱动电流较小,本电路选用固态继电器最大驱动电流为16mA,而电磁继电器需要的驱动电流最小为50mA,且电磁继电器在吸合、断开瞬间会产生干扰,因此,控制器和电磁继电器之间需通过光耦或晶体管等器件进行隔离或驱动信号放大。
尽管PIC18LF4523任一I/O口的最大驱动电流可以达到25mA,但是当同时驱动多个负载时,噪声容限会变差,使芯片端口输入或输出容易受到干扰,同时,PIC18LF4523所有端口的输出电流总和不能超过200mA,因此在设计时,将芯片总的输出电流控制在总驱动电流的50%以内,保留控制器的可用功耗,以使其在长时间工作时保持稳定状态。
火工品点火电路的工作原理是:控制器对来自载机的指令进行滤波处理,同时对电压信号进行采集比较,经组合逻辑判断后,通过I/O口输出两路可直接驱动固态继电器的信号(低电平有效)和一路控制电磁继电器的信号(O_F1)。在电路中对控制电磁继电器的信号与其他逻辑信号(I_K1,I_KF1)进行逻辑组合,驱动放大后接入电磁继电器的控制级(OF1C,OF1D两路)。驱动电磁继电器的电路原理如图5所示。
软件设计中,设置火工品点火信号输出条件为载机发送模拟指令、飞控点火指令和点火供电电源均满足要求时,才会输出相应驱动继电器工作的信号。如果没有载机发送模拟指令,即使单片机出错也不会误点火。电路设计时,保持控制器发送的点火信号来自芯片的同一个端口(RC0~3),且有效电平不同。在设计时,固定PORTC专用于火工品点火控制输出,可以避免单片机初始化时端口出现不稳定状态造成误点火。
从安全性、可靠性和工程实用经验考察上述电路设计,证明该设计是有效可靠的,电路仿真结果也证明了电路的可靠性和安全性。
2.5自检功能实现
电源系统的热电池是一次性使用的火工品,无法反复测试,只能在地面或空中有限的试验中考核,因此对电路可靠性要求极高。本方案对差分信号经过光耦进行隔离驱动的电路增加了软件自检功能;将控制点火信号输出的电磁继电器的常闭点接地,防止误激活,同时对继电器工作状态也增加了软件监测,以进一步提高电路整体可靠性和故障诊断能力。
隔离驱动电路的自检工作原理如下:自检时,将DHZJ端用PIC18LF4523的I/O口拉为低电平,检测DHJC端是否有控制信号输入,若有则说明输入电路正常,否则电路故障。自检完成后,I/O口将DHZJ端置为高阻抗状态,以免影响正常指令的输入,自检电路如图6所示。
2.6供电及时钟设计
电源控制系统的供电采用PIC18LF4523手册中的经典设计;芯片的时钟电路采用外接晶振的方法提供时钟基准,外接电容为20μF,在绘制印制板时,尽量将电容的接地连线缩短,并且采用独立的连接线连接到电源地的输出端,保证时钟不受干扰,控制器供电及时钟电路如图7所示。
2.7单片机的软件设计
弹上电源数字化设计方案涉及到的软件程序不多,但需要在设计中充分考虑软件的可靠性,通过以下设置,可有效提高软件系统运行的稳定性。
(1)上电自检,对寄存器、RAM、堆栈、常用指令等进行检查及校验;
(2)为防止SRAM内的数据受干扰发生改变,造成软件误动作,对关键变量采用冗余设计,对关键状态采用多个变量记录。变量分布在SRAM中的不同位置。并且在RAM设置若干标志,发现RAM中数据异常后,立即复位;
(3)关键输出信号,采用多条指令控制,形成互锁。如打开一个继电器,需模拟电压指令和差分指令同时有效,任何一个无效即无控制输出,继电器无法打开;
(4)为避免程序指针PC受到干扰发生改变,导致程序跑飞时错误输出关键指令,对关键指令,如火工品点火控制指令,用程序绝对定位语句将该段指令分配到Flash的一个指定区域,区域前面填充为NOP或者设计捕获程序,使程序跑飞时不会跳到关键语句上;
(5)采用看门狗(watchdog),使程序跑飞时能够重新复位;
(6)对开关量,如飞控指令的输入,应当进行延时重复检测,避免因出现干扰而误判。
2.8单片机硬件设计
硬件电路可靠性包括单片机的应用设计和电路板抗干扰设计等。
PIC18LF4523和MAX3160EAP都是典型的内置CMOS电路器件,具有功耗低、噪声抑制能力优良等特点。但CMOS电路也有比较明显的缺陷:存在先天性寄生电路,在外界干扰的作用下,易形成闩锁效应,导致电路工作不正常甚至损坏。因此,在硬件上做以下防范:①重要的芯片管脚即使已内置各种上拉、下拉保护电阻,仍需作合理处置;②对于控制电池激活或发动机解保、点火功能的继电器需进行冗余设计,形成互锁,以保障一只继电器出现故障,在指令正确情况下,仍能正常打开输出;③对重要的数据传输电路,如载机发送指令(包含模拟电压信号和差分信号),设计光藕隔离变换及滤波电路;④设计印制板时,对流过大电流的回路走线加宽,或者大面积覆铜,提高散热效果和抗电磁干扰能力。
3结论
弹上电源控制系统的数字化,不仅简化了电源组件电路设计的复杂度,减小了控制系统体积,而且能有效提高电源组件的整体可靠性和设计的灵活性[7],增强电源组件功能的扩展能力和弹上能源系统工作的稳定性,有利于全弹的数字化设计,将是未来弹上电源系统的一个主要发展方向。