- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种基于FPGA的远程加电系统设计与实现
卫星发射基地测控系统在武器试验及航天器发射任务中主要承担目标跟踪、测量、控制任务。随着近年来试验任务呈现常态化、高密度的态势,对测控设备的远程操控能力及信息化方面均提出了更高的要求,众多学者也在进行相关研究。文献论述了我国航天发射任务的组织体制和指挥模式,提出了我国航天发射场组织指挥模式发展需求。文献通过加强网络硬件建设、数据标准化建设和数据环境重建,实现了靶场各阵地间信息的互联互通。文献探讨了新型远程监控模式,初步设计了物理结构、监控体制和信息交换方式,文献分析了新一代测控站远程监控系统应具有的优势及特点,并探讨了适合我国国情的测控站远程监控技术。
设备远程加电是实现远程操控的基本功能之一。本文主要阐述了集串口收发、状态异常处理、指令代码处理和时钟产生功能于一体的加电控制板设计思路及实现方法,以加电控制板为核心设计加电控制终端,并由加电控制终端、加电控制单元和加电控制软件形成了远程加电系统。
1 远程加电系统设计思想
远程加电系统主要由位于远程操控机房的远控计算机、位于测控设备机房内的加电主控机箱及设备各机柜端的加电单元组成。在远程控制计算机上运行远程加电应用软件,远程控制计算机通过网络与控制机箱进行命令交互,向控制机箱发送加电及断电指令,并控制加电单元进行加断电动作,同时接收控制机箱上报的各加电单元的加电状态。加电单元继电器通过控制机箱24 V输出电压控制220 V电源的通断,从而实现机柜的加断电功能。远程加电系统的原理如图1所示。
2 远程加电系统设计与实现
2.1 加/断电交互协议设计
控制板通过专用的RS-232接口芯片经NPORT与控制计算机通信,根据收到的加断电指令输出相应的“高、低”电平信号,来控制接口板上的继电器通断状态,使接口板输出24 V直流信号。接口板主要由继电器驱动电路、状态检测接口电路等组成,根据控制板输送的控制信号状态,接通或断开24 V输出电压信号,进而控制加电单元的加电状态,同时根据加电单元反馈的状态,转换成控制板可接收处理的电平,并送入控制板处理。
控制计算机发出的加/断电指令PowerONorOFF分为单个加/断电指令和选择加/断电指令。例如“00000001”表示对第1路继电器进行加电;“00001000”表示对第4路继电器进行加电;“00000101”表示连续对第1路和第3路继电器进行加电;“10001000”表示连续对第4路和第8路继电器进行加电。一键加电/断电可看做选择加/断电的特殊情况,执行此命令时控制板将根据继电器的地址,由低往高,依次加载指令,每个加载过程之间的相隔时间由控制板来控制,间隔为2 s,共需16 s即可执行完毕。
加/断电操作时首先由控制计算机软件按需选择继电器,经加电软件产生相应的指令代码C1和C2,其中C1是C2的反代码。然后分别发送C1和C2,其之间需要一定的时间间隔。指令代码C1取反后再发送的目的是为了提高数据传输的可靠性,避免一些线路上的固定故障。控制板接收到指令后,对C1和C2进行故障检验,若C1是C2的反代码,则寄存接收指令,更新指令寄存器,否则判定出现异常。在接收指令的同时,控制板将当前的继电器状态定时返回至主机,时间间隔为1 s。控制板电路与控制计算机的数据交互过程,如图2所示。
若控制板上报的状态与指令状态不符,则有3种故障情况:(1)指令接收有错。(2)指令接收正确,但继电器加载失败。(3)指令接收正确,但继电器加载成功,状态上报出现故障。若是第二种故障,则需检查控制子板与继电器的运行情况。而其他情况,则可通过重新发送指令进行纠正。
2.2 远程加电系统控制板设计
2.2.1 硬件设计环境
在对芯片性能充分了解的基础上,根据项目的实际需求选定X3CS200芯片进行设计。Xilinx公司生产的Spartan 3系列FPGA性价比高、性能稳定,该系列FPGA结构包括可配置逻辑块、输入/输出模块、BlockRAM模块、乘法器模块以及数字时钟管理模块,其可广泛应用于各种电子设计。Xilinx X3CS200拥有20万门电路、30 kbit的分布式RAM容量、216 kbil,的Block RAM容量。
设计中使用的ISE开发工具为ISE7.1,综合工具为Synplify/Synplify Pro,利用仿真工具Modelsim进行行为级仿真和时序仿真、调试工具为ChipScope Pro。
2.2.2 远程加电系统控制板关键模块设计
远程加电机箱的核心是加电控制板,加电控制板可分为串口收发模块、状态异常处理模块、指令代码处理模块、LED显示模块、按键模块和时钟产生模块,其电路结构如图3所示。
指令处理模块主要完成加/断电指令的识别、延迟和输出处理等工作。指令输入Rsin为8 bit,每位对应一路继电器的加/断电开关,“1”表示加电,“0”表示断电。
在接收到指令经判断指令无误后,使能信号CheckRight有效,从最低位开始对指令进行扫描加载。首先延迟2 s后,将Rsin(0)输出到PowerONorOFF(0),然后间隔2 s,输出Rsin(1)到PowerONorOFF(1),对第二路进行加/断电操作,依此类推,直到8路继电器的加/断电操作完成,输出扫描结束标示位Smark有效,使指令处理模块回复等待状态后,再将清零扫描结束标示位Smark。指令处理模块的指令处理流程,如图4所示。
指令处理模块电路结构中,LSB表示D寄存器输出的最低位,MSB表示D寄存器输出的最高位。图中省略了D寄存器的时钟信号和复位信号的输入,信号sel由2 s控制器产生,用于D寄存器的使能信号。其中,2 s控制器是该模块的核心部分,指令处理模块电路如图5所示。
2 s控制器的电路结构如图6所示,该控制器主要包含计数器和移位寄存器两部分。计数器的输入时钟为1 kHz,计数范围0~1 999。因此,在使能信号Counter有效的情况下,计数器每隔2 000×0.001=2 s,输出一个高电平脉冲en2s,脉冲宽度为0.001 s。信号en2s既是清零计数器,又是使能移位寄存器,且还作为选择信号,控制写入移位寄存器的值。移位寄存器包含8个1位寄存器,初始值为00h,Smark=0,信号en2s每产生一个高电平脉冲,移位寄存器即移位一次,并写入1个1。
从时序图如图7所示,当移位8次后,移位寄存器的值sel为FFh,信号Smark=1,同时拉低信号counten和checkright,拉高信号Den,在Smark的作用下,移位寄存器依次写入0,经8个周期后,回复控制器的等待状态,然后Smark=0。当时钟频率为1 kHz时,完成一次加/断电指令的加载,需8×2+8×0.001≈16 s,在这16 s时间内,指令处理模块处于忙状态,不再响应其他请求。
2.3 远程加电系统软件设计
采用Visual C++面向对象的方法设计了远程加电软件,实现了加电状态监视和远程控制功能。远程加电软件界面循环刷新并监视人机交互动作,检测到加电指令后首先判断对应机柜当前的加/断电状态。若已加电则给出了提示信息;若未加电则发送加电指令在2 s后并检测加电状态;若仍处于未加电状态,则循环发送加电指令直至加电成功。断电指令采取相同的处理策略。
为了避免对设备进行误动作意外加电或断电,在加电开关上部有一个加电使能选择框,选择后才能进行加电和断电操作,否则加断电按钮不使能。一键加断电命令下达后由控制板控制对所有分机依次加断电操作。远程加电控制软件流程,如图8所示。
2. 4 系统测试
远程加电系实现后对其进行了测试,测试环境温度为20~22 ℃,相对湿度为50%~54%,每套加电系统的8个加电单元功率负载均约8 kW。远程加电系统每个单元从下达指令至加电单元执行后状态上报的最大响应时间为2 s,最小响应时间为1.5 s,指令响应平均时间为1.737 s。故满足响应时间2 s的指标要求。
3 结束语
开发的基于FPGA航天测控设备远程加电系统设计紧凑、硬件结构简单可靠。PC机软件采用Visual C++6.0编制,人机接口友善,且操作方便。因此,本系统具有较强的使用价值,已在部分遥测设备和光测设备上得到了应用。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:MicroBlaze如何与Zynq
SoC和平共存
下一篇:基于FlexRay的飞行仿真计算机1553B单元设计