APP下载

发控软件通用可配置开发平台设计*

2016-07-21程鹏王玉姣韩小文

现代防御技术 2016年3期
关键词:硬件模块化

程鹏,王玉姣,韩小文

(北京电子工程总体研究所,北京 100854)



测试、发控技术

发控软件通用可配置开发平台设计*

程鹏,王玉姣,韩小文

(北京电子工程总体研究所,北京100854)

摘要:发控软件属于嵌入式软件,其开发设计、编码及测试验证过程一般都需要对应的实际硬件系统配合,为避免硬件研制周期对软件研制的影响,构建一种适用于不同型号发控软件开发的硬件目标平台尤为必要。本设计采用硬件功能模块化、接口通用化、I/O对应关系虚拟化、软件驱动标准化等技术,研制出一种通用开发平台,通过软件配置可快速重构生成不同型号发控软件的目标平台,经测试验证,可满足多型发控软件并行开发需求。

关键词:发控软件;模块化;通用;硬件;可配置;开发平台

0引言

目前导弹发控系统的设计在一定程度上已经具备通用性特性,如系统基本架构、硬件控制功能划分、软件操作系统选择、工作阶段划分等都基本相同。但由于控制对象-导弹的差异性、武器系统工作方式的特殊要求、内外接口类型及连接关系的差异性,与发射控制流程相关的硬件互联及调用关系还较难实现通用,造成各型发控软件都需要进行定制化开发。

目前,发控软件设计可以与硬件研制同步开展,但软件调试在发控系统硬件集成前无法有效开展,导致发控系统研制效率降低。因此,设计一种适用于不同型号发控软件开发的通用型硬件目标平台尤为必要,该平台采用硬件模块化、接口通用化、I/O(Input/Output)对应关系虚拟化、软件驱动标准化等技术,通过软件配置可快速重构生成不同型号发控软件的目标平台,满足多型发控软件并行开发需求。

1方案设计

1.1总体设计

发控软件通用可配置开发平台提供发控软件开发的运行环境,模拟型号发控系统所需的输入、输出响应,在平台内闭合发控软件的开发测试环境,该平台既可用发控软件的开发、调试,还可为软件测试、升级维护、配置管理等工作提供支撑环境。

通过配置文件的引导,可将此平台自动定制成不同的接口关系,模拟不同型号的发控系统硬件平台,在实验室环境提前有效地开展不同型号发控软件的研制,特别是有助于进行软件边界扫描验证,降低软件设计风险,缩短系统研制周期。基于通用可配置开发平台的发控软件开发环境如图1所示。

根据系统需求,将通用可配置开发平台规划为6类功能模块:嵌入式计算机模块、数字量I/O模块,A/D(analog/digital)模块,D/A(digital/analog)模块,通讯模块和授时定位模块。平台中配置1块嵌入式计算机模块、8块数字量I/O模块、2块A/D模块、2块D/A模块、1块通讯模块、授时定位模块。通过外部电缆将开关量输出与数字量输入对应连接,D/A输出与A/D输入一一对应连接,RS422及CAN(controllerareanetwork)通讯功能需要与外部模拟器相配合完成所需功能。

通用可配置开发平台原理框图如图2所示。

通用可配置开发平台中的开关量输出与数字量输入通过外部电缆一一对应连接,D/A模块输出与A/D模块一一对应连接,可以完成相应通道的模拟量输出及采集功能,RS422及CAN通讯与外部模拟器相互配合,完成系统所需功能,定位时模块将时间结果传送至发控软件。

1.2硬件设计

硬件是通用可配置目标开发平台功能实现的基础和保证,直接决定通用可配置开发平台性能和技术指标。

硬件设计的基本原则如下:

(1) 采用成熟技术和降额设计、冗余设计,确保平台良好的可靠性;

(2) 结构和功能单元都进行模块化设计,提高平台的可维修性;

(3) 平台功能电路进行兼容性和可扩展性设计,确保平台的通用性;

图1 发控软件通用可配置开发环境Fig.1 Universal and configurable development environment of launch and control software

图2 通用可配置开发平台原理框图Fig.2 Principle diagram of universal and configurable development platform

(4) 提高数据处理、传输的速度和精度,保证平台的稳定性。

1.2.1CPCI总线架构

CPCI(compactperipheralcomponentinterconnect)规范是由工业计算机制造联盟PICMG(peripheralindustrialcomputermanufacturer’sgruop)提出的一种总线接口标准,是以PCI(peripheralcomponentinterconnect)电气规范为标准的高性能工业用总线,CPCI总线以33MBZ的时钟频率操作,采用32位或64位数据总线,数据传输速率可高达132MB/s或264MB/s[1]。CPCI将传统的PCI的金手指方式改为2mm密度的针孔连接器,采用高可靠的欧卡结构,改善了散热条件、提高了抗振动冲击能力,具有气密性、防腐性,并增加了负载能力。

功能板卡的CPCI总线体系架构如图3所示。

图3 CPCI总线体系架构Fig.3 Framework of CPCI bus system

1.2.2CPCI总线接口电路设计

通用可配置开发平台采用CPCI总线功能板卡实现模拟量输出功能、模拟量输入功能、开关量输出功能、数字量输入功能、通讯功能等模块,各模块CPCI总线接口电路采用PLX公司PCI9054芯片实现,其功能框图如图4所示,主要特点如下[2-5]:

(1) 采用PLX的SMARTTarget技术,完合兼容PCI2.2协议规范;

(2) 支持PCI目标预取模式、PCI目标可编程突发传输、PCI目标延迟写模式;

(3) 支持5个PCItoLocal地址空间,拥有9个通用I/O,4个可编程片选,中断发生器/控制器,支持Big/LittleEndian字节转换,提供PCI缓冲时钟;

(4) 局部总线配置可编程,支持复用或非复用模式的8位、16位或32位局部总线;

(5) 支持3.3V,5V电源容错。

图4 PCI总线接口电路功能框图Fig.4 Function diagram of PCI bus interface circuit

1.2.3功能模块设计

数字量输入板卡采用光耦实现高低电平的采集功能;开关输出板卡采用继电器实现无源信号的通断控制;模拟量输入板卡中的功能电路采用A/D转换器件,实现将模拟量转换成数字量的功能;模拟量输出板卡中的功能电路采用D/A转换器件,实现将数字量转换成模拟量的功能;通讯模块采用RS-422电平转换芯片实现TTL电平向RS-422电平的转换,接收方向采用光耦,其发送、接收功能在FPGA(field-programmablegatearray)内部实现;授时定位模块中采用FPGA实现对GPS(globlepositioningsystem)模块、北斗模块和B码模块的控制,实现对输出的时间、位置相关信号解析。

(1) 数字量I/O模块

数字I/O模块原理如图5所示。输入模块对不同电平的信号需要设置不同的限流电阻,然后经光电耦合器隔离后,进入FPGA控制和处理电路,FPGA对输入信号进行处理、转换并存储,然后通过数据线和地址线送到CPCI接口电路,控制计算机通过CPCI接口来读取输入的数字信号。

(2)A/D模块

A/D模块原理如图6所示。外部输入的模拟信号经过通道隔离及信号调理后,输入4个8选1模拟开关,经模拟开关选择后进入核心器件A/D转换器件,扫描时序发生器实现单次采样、单通道扫描、重复周期扫描、多通道轮询扫描等不同的工作方式,并按照一定的时序切换不同的通道。

图5 数字量I/O模块框图Fig.5 Principle framework of digital I/O module

(3)D/A模块

D/A模块原理如图7所示。控制计算机将要输出的某一通道的电压值通过CPCI总线传输至控制器件FPGA,将相应的数字量转换为模拟量输出,可以根据工作需要,设置D/A模块的工作模式,支持多个通道扫描输出模拟量,也支持各通道同时输出模拟量。

(4) 通信模块

RS-422及CAN总线通讯模块原理如图8所示。CPCI接口完成CPCI总线的时序转换,使主控计算机能控制CPCI通讯模块的功能电路;通讯控制电路主要实现串行收发器的功能,把CPCI接口发来的数据根据协议转换为串行数据发送到后级电路,同时把后级电路接收的串行数据转为并行数据;存储器用于存储要发送的数据和接收的数据。其中通讯控制以及存储器的存取控制部分在FPGA内以可编程逻辑实现[4-5]。

图6 A/D模块原理框图Fig.6 Principle framework of A/D module

图7 D/A模块原理框图Fig.7 Principle framework of D/A module

(5) 授时定位模块

授时定位模块原理如图9所示。GPS、北斗模块提供定位信号(经度、纬度、高度)、时间信息(年月日时分秒),FPGA对其传送出的信号经过解析,获取相应信息传输至上位机。

1.3软件设计

通用可配置开发平台可以通过配置表的方式实现多种目标开发平台(发控系统)的模拟,平台软件包括3部分,如图10所示。

(1) 与标准驱动程序接口一致的可配置驱动程序

此驱动程序运行在目标开发平台上为应用程序开发提供标准接口,在底层根据配置表完成硬件连接,实现目标硬件平台的模拟。

(2) 运行在开发机上的配置生成软件

可协助开发人员快速、便捷的生成相应目标系统的配置文件。

(3) 平台自检测试软件

此软件运行在目标开发平台,实现目标开发平台的自检,并且可以检测配置文件的正确性。

图8 RS422及CAN模块原理框图Fig.8 Principle framework of RS422 and CAN module

图9 定位授时模块原理框图Fig.9 Principle framework of positioning and timing

图10 通用可配置开发平台软件结构Fig.10 Software framework of universal and  configurable development platform

1.3.1驱动程序设计

(1)CPCI总线设备驱动程序开发

VxWorks下开发PCI设备驱动程序开发主要包括初始化程序、中断服务程序处理、驱动函数封装等步骤[6-12]。

初始化程序是PCI设备驱动程序开发最重要的环节,初始化过程必须在系统为所有设备分配内存完成以前进行,初始化函数根据设备VendorID和DeviceID,利用函数pciFindDevice()找到对应的设备,根据VendorID,DeviceID和相同设备顺序号(一个系统中可能有相同的PCI设备)来扫描总线,找出设备所在的BUSNo,DeviceNo和FuncNo。然后根据总线号、设备号和功能号调用pciConfigInLong()及pciConfigInByte()函数确定设备的寄存器基地址以及中断号。再把基地址与I/O屏蔽位相与得到真正的板上内部寄存器基地址[6-7,11]。

初始化函数的流程见图11。

(2) 可配置驱动程序设计

为实现系统的通用化,系统中的某些驱动函数需具有可配置功能,功能类似于Windows系统下的驱动过滤,在已开发好的底层硬件驱动基础上根据用户配置信息重新封装一次驱动函数,在应用程序调用驱动接口函数时,可以根据设定好的功能返回用户所需的功能。

图11 初始化函数流程图Fig.11 Flow chart of initialization function

首先可配置驱动程序通过标准驱动接口接收应用层的控制命令,然后在通过查询配置表,进行完成实际硬件的输出控制,一方面查询配置表获取实际硬件输出的通道并实现硬件输出;另一方面查询配置是否需要提供D/A输入以及相应的延时。在完成实际硬件输出后,通过外联电缆可从输入模块读取相应信息。在驱动过滤层维护两级不同的输入向量,第1级输入向量为实际硬件读取的输入数据,第2级输入向量由第1级输入向量到配置表查询得到的虚拟输入向量,此向量为标准接口提供输入数据。

可配置驱动原理如图12所示。

图12 可配置驱动原理框图Fig.12 Principle framework of configurable driver

1.3.2配置生成软件设计

发控软件开发过程中需要配置通道映射关系,用户可以通过配置生成软件生成配置表。配置表的生成流程如图13所示。

图13 配置生成软件流程图Fig.13 Flow chart of configurable software

首先选择配置类型,如开关量的多输出对单输入、开关量的单输出对多输入或者为开关量输出对应D/A模拟量的输出等,选择好配置类型后,在相应配置类型的对话框中进行参数的配置,录入对应输入输出通道号以及相应的延时时间等信息,最后根据相应的配置信息生成配置项。其中,每个配置项独立存在,可单独进行修改和删除,当所有配置项都完成设置后,实现配置表生成。

1.3.3自检测试软件设计

平台自检测试软件完成通用可配置开发平台的自检功能,用户可以按照配置项检查配置表的正确性。

开关量输入输出接口通过电缆互联后可以通过输出和输入联合测试,同时完成输入输出功能的自检,且开关量输出模块具有输出回读功能,可以实现故障定位。同理,A/D和D/A模块通过电缆互联后也可以完成联合自检。通讯端口在闭环后可通过自发自收完成自检。另外,平台自检测试软件也可以按照配置项完成配置表的检查,也可针对注入故障进行模拟测试。平台自检测试软件采用Tilcon工具进行开发[13-15],其界面如图14所示。

图14 自检软件界面Fig.14 Interface of self-checking software

2测试验证

为了测试通用可配置开发平台的性能和技术指标,将某型号发控软件移植到通用可配置开发平台进行运行验证。

2.1发控软件移植

软件移植包含以下步骤:应用层程序移植、工程链接、编译参数配置以及软件编译。

(1) 应用层程序移植:将通用可配置开发平台BSP包拷贝至Tornado2.2软件安装目录C:Tornado2.2 argetconfig下,创建基于此BSP软件工程;将发控软件应用层程序、Tilcon图形库文件及底层驱动库文件拷贝至新建工程中,加载应用层程序源文件。

(2) 工程链接、编译参数配置:配置C/C++compiler选项,添加应用程序库路径以及tilcon图形库路径[13~15];配置Macros选项中的EXTRA_MODULES,添加C:/Tornado2.2/target/lib/tlnapi.oC:/Tornado2.2/target/lib/tlncore.o。

(3) 软件编译:对整个工程进行Build,生成可执行文件Vxworks。

软件移植、编译界面如图15所示。

图15 软件移植、编译界面Fig.15 Interface of software transplant and compile

2.2生成配置表文件

按照型号型号发控设备硬件资源分配表以及发控软件需求规格说明, 通过配置表生成软件(如图16所示),进行数字量I/O模块输入通道初始状态值、输出通道与输入通道之间映射关系、所需A/D配合操作及延时信息的配置,最终保存并生成配置表文件Pei_Zhi_BIT.txt。

图16 配置表生成对话框界面Fig.16 Interface of configurable sheet

2.3平台测试及验证

通过FTP将2.2章节中配置表文件Pei_Zhi_BIT.txt、2.1章节中编译生成的可执行文件Vxworks以及Tilcon图形界面文件[13-15]上传到嵌入式计算机电子盘/ata1分区中。

通用可配置开发平台测试效果如图17所示,与预期效果一致。

图17 通用可配置开发平台测试效果图Fig.17 Result picture of universal and configurable development platform

3结束语

本文设计了一种发控软件通用可配置开发平台,通过硬件功能模块化、接口通用化、IO对应关系虚拟化、软件驱动标准化等技术,通过配置即可快速重构生成不同型号发控软件开发所需的目标平台,具有很强的通用性。经测试验证,可快速重构生成不同型号发控软件的目标平台,满足软件并行开发需求。

参考文献:

[1]吴晓光,单斌.基于CPCI总线的某飞行器测发控系统研究[J].自动化仪表,2008,29(3):26-28.

WUXiao-guang,SHANBin.ResearchonCPCI-BasedCheckout-Launch-ControlSystemofCertainAircraft[J].ProcessAutomationInstrumentation,2008,29(3):26-28.

[2]孙丽英,王晓锋.PCI总线接口设计及专用接口芯片的应用 [J] .可编程控制器与工厂自动化,2006(8):71-72.

SUNLi-ying,WANGXiao-feng.TheDesignofPCIBusInterfaceandtheApplicationofChipPCI9054 [J].ProgrammableController&FactoryAutomation, 2006 (8):71-72.

[3]安冬冬,刘文怡,郅银周.基于PCI9054从模式的数据采集卡设计与应用[J].计算机测量与控制,2010,18(10):2439-2440.

ANDong-dong,LIUWen-yi,ZHIYin-zhou.DesignandApplicationofDataAcquisitionCardBasedonPCI9054TargetMode[J].ComputerMeasurement&Control, 2010,18(10):2439-2440.

[4]邓凤军,张龙,王益忠.基于PCI总线的HDLC通信卡的设计与实现[J]. 电子技术应用, 2012,38(8):30-31.

DENGFeng-jun,ZHANGLong,WANGYi-zhong.DesignandImplementationofHDLCCommunicationCardBasedonPCI-Bus[J].ApplicationofElectronicTechnique, 2012,38(8):30-31.

[5]高强,任恩恩,张涛.CAN总线的PCI接口通信卡设计[J]. 电子技术应用,2007(7):122-123.

GAOQiang,RENEn-en,ZHANGTao.DesignofaCANbusCommunicationCardwithPCIInterface[J].ApplicationofElectronicTechnique,2007(7):122-123.

[6]杨飞,安锦文,李中健. 嵌入式操作系统VxWorks下CPCI设备驱动程序开发[J].计算机测量与控制,2007,15(5):677-679.

YANGFei,ANJin-wen,LIZhong-jian.DevelopmentofCPCIDeviceDriverinEmbeddedOperationSystemVxWorks[J].ComputerMeasurement&Control,2007,15(5):677-679.

[7]季宇.VxWorks操作系统下CompactPCI总线驱动程序设计[J]. 电子设计工程,2009,17(5):99-101.

JIYu.DesignoftheCompactPCIBusDriverProgramunderVxWorks[J].ElectronicDesignEngineering, 2009,17(5):99-101.

[8]TornadoUser’SGuide,2.2(WindowsVersion)[M].WindRiverSystemsInc,2003.

[9]VxWorksProgrammer’SGuide,5.5[M].WindRiverSystemsInc,2003.

[10]周启平,张扬,吴琼.VxWorks开发指南与Tornado实用手册[M]. 北京:中国电力出版社,2004:1-24.

ZHOUQi-ping,ZHANGYang,WUQiong.VxWorksDevelopmentGuideandTornadoPracticalHandbook[M].Beijing:ChinaElectricPowerPress, 2004:1-24.

[11]孔祥营,张宝山,俞烈彬.VxWorks驱动及分布式编程[M]. 北京:中国电力出版社,2007:130-148.

KONGXiang-ying,ZHANGBao-shan,YULie-bin.VxWorksDriverandDistributeProgramming[M].Bejing:ChinaElectricPowerPress,2007:130-148.

[12]王元放,吴智铭,施亮. 实时操作系统VxWorks下PCI总线配置技术[J]. 微计算机信息, 2002,18(7):3-6.

WANGYuan-fang,WUZhi-ming,SHILiang.DevelopmentofDeviceDriversandConfigurationofPCIDeviceunderRTOSVxWorks[J].Control&Automation,2002,18(7):3-6.

[13]张加林,李松,汪高武,等. 基于Tilcon的VxWorks图形界面开发技术 [J]. 指挥控制与仿真,2007,29(5):100-104.

ZHANGJia-lin,LISong,WANGGao-wu,etal.TheTechnologyofVxWorksGraphicalInterfaceDevelopmentBasedonTilcon[J].CommandControl&Simulation,2007,29(5):100-104.

[14]姜飞,王屹华,崔晓宇, 等.VxWorks下Tilcon嵌入式图形用户界面设计与实现[J].工业控制计算机, 2008,21(3):29-33.

JIANGFei,WANGYi-hua,CUIXiao-yu,etal.TilconEmbeddedGraphicalUserInterfaceBasedonVxWorksRTOS[J].IndustrialControlComputer, 2008,21(3):29-33.

[15]侯小鹏,程岚.基于Tilcon的VxWorks简单动画开发[J].测控技术, 2011,30(6):89-95.

HOUXiao-peng,CHENGLan.DevelopmentofSimpleAnimationinVxWorksOSBasedonTilcon[J].Measurement&ControlTechnology, 2011,30(6):89-95.

Design of Universal and Configurable Development Platform forLaunchandControlSoftware

CHENG Peng,WANG Yu-jiao,HAN Xiao-wen

(Beijing Institute of Electronic System Enginneering, Beijing 100854 ,China)

Abstract:The launch and control software belongs to embedded software and the process of the software's development, design, coding, testing and validation generally needs actual hardware system. In order to avoid the problem of hardware developing period impacting the software development, it is necessary to set up a kind of hardware platform which is applicable to different kinds of launch and control software development. The design adopts the hardware function modularization, universal interface, I/O virtualization and standard drives technology and develops one universal software development platform. The platform can quickly reconstruct and generate different kinds of launch and control software. Through testing and validation, the platform can satisfy the demands of several kinds of launch and control software development.

Key words:launching and controling software; modularization; universal; hardware; configuarable; development platform

*收稿日期:2015-08-18;修回日期:2015-10-08

基金项目:有

作者简介:程鹏(1975-),男,湖北嘉鱼人。研究员,硕士,研究方向为导弹测发控技术。

通信地址:100854北京142信箱30分箱 17号E-mail:2455044790@qq.com

doi:10.3969/j.issn.1009-086x.2016.03.026

中图分类号:TJ768.3

文献标志码:A

文章编号:1009-086X(2016)-03-0161-10

猜你喜欢

硬件模块化
重卡内饰模块化技术
模块化蓄热墙体日光温室研究进展
模块化住宅
马勒推出新型模块化混动系统
全向物流运输模块化设备设计
论计算机机房的管理与维护
Ovation系统调试阶段常见硬件故障诊断分析
云计算平台的计算机硬件远程实验室实现研究
并行硬件简介
AVL公司新型模块化动力总成