一种软硬件并行开发无缝集成的规范化方法

时间:2022-08-03 01:03:23

一种软硬件并行开发无缝集成的规范化方法

摘 要:设备密集型仿真系统软件开发很大程度上依赖于硬件,确定硬件控制格式前,应用程序无法解析硬件访问代码,网络程序无法完成编码,从而制约着开发活动的充分展开,对工程开发效率带来较大影响。在以硬件控制量标识、可复用软件中间件、外部可配置文件的规范化为特征的硬件控制体系的技术支持下,提出一种软硬件高度并行开发、无缝集成的规范化工程方法,可显著提高开发效率,降低开发成本,提高交付产品价值。

关键词:硬件控制;规范化体系结构;并行开发

中图分类号:TP301

文献标识码:A 文章编号:1672-7800(2015)005-0049-03

作者简介:何波玲(1965-),女,吉林长春人,长春金融高等专科学校计算机系副教授,研究方向为计算机软件;张志春(1963-),男,吉林松原人,硕士,空军航空大学军事仿真技术研究所高级工程师,研究方向为计算机仿真、软件工程、计算机网络。

0 引言

在设备密集型仿真系统中,设备硬件开发主要涉及3类程序:硬件控制程序、仿真应用程序和网络通信程序。硬件控制程序实现对设备的采样、驱动;仿真应用程序通过硬件控制程序的采样值生成硬件控制程序所需的设备驱动值;网络通信程序完成硬件控制程序和仿真应用程序之间采样值和驱动值的传输。此类工程实施的普遍做法是首先由硬件开发人员对设备进行改造,实现硬件控制程序,定义出特定的设备控制格式,通常为基于比特位的底层描述;然后网络开发人员根据这些特定的格式定义完成网络通信程序开发;最后,仿真开发人员在仿真应用程序中按位解析接收数据包。显然,在硬件开发人员完成所有硬件格式定义之前,网络开发人员无法知道要传输多少数据,仿真应用程序也无法对格式进行解析。文献[1]提出了一个规范的硬件控制体系结构,该模式具有3个主要特征:①定义了一个规范的硬件控制量标识法;②实现了一个可复用软件中间件;③以外部可配置文件隔离系统的变化部分。本文基于该体系结构技术支持,提出一种软硬件高度并行开发、无缝集成的规范化工程方法,以提高工程开发效率,降低开发成本,提高交付产品的价值。

1 硬件控制体系结构相关技术特征

1.1 软件配置总体结构

硬件控制体系结构的软件配置如图1所示[1]。其中,设备程序(proxy.exe)、ad.dll是可复用的软件中间件;嵌入程序1、嵌入程序2为嵌入式单片机程序,设备控制数据的格式为基于具体控制技术的bit位格式(下位协议),1.dll、 2.dll为对应单片机的动态链接库DLL(Dynamic Link Library),完成下位协议和上位协议的转换,嵌入程序1、嵌入程序2、1.dll、 2.dll等为不可复用、需要针对特定系统进行开发的部分;ad.cfg为外部硬件配置文件,描述特定系统的全部硬件控制量;UNet.cfg、LNet.cfg分别为上位网和下位网的配置文件,描述通信路由,这些配置文件不可复用;需要针对特定系统进行开发。

1.2 控制量标识和访问方法

(1)每个硬件控制量以二维方式标识为AO(i,j) ,AI(i,j),DO(i,j),DI(i,j)。

其中,i为面板号,j为相对于i的控制量号。

(2)仿真应用程序、单片机DLL程序以如下方式访问硬件控制量:

AO(i,j)=x;//以x值驱动硬件AO(i,j)。

DO(i,j)=0;//置硬件DO(i,j)断开。

y=AI(i,j);//采样硬件AI(i,j)存于y。

s=DI(i,j);//采样硬件DI(i,j)状态存于s。

1.3 外部配置文件

(1)硬件配置文件(ad.cfg),遵循如下语法规则:

ItemList:Item ItemList

Item:AItem|DItem

AItem:AO(i,j)[:Type]|AI(i,j)[:Type]

DItem:DO(i,j)[:States]|DI(i,j)[:States]

Type:float|double

States:State..State

State:numberBasedZero

i:numberBasedZero

j:numberBasedZero

(2)下位网配置文件(LNet.cfg) ,遵循如下语法规则:

ItemList:Item ItemList

Item:

(3)上位网配置文件(UNet.cfg) ,遵循如下语法规则:

ItemList:Item ItemList

Item:|

1.4 单片机DLL

每个单片机对应一个DLL,该DLL输出函数Sample () 和 Drive():

void Sample(char data[])//单片机bit位格式数据.

{

S1:(解析data置AI(i,j)) AI(i,j)= GetData(data)。

S2:(解析data置DI(i,j)) DI(i,j)= GetData(data)。

}

void Drive(char data[])//单片机bit位格式数据

{

S1:(依据AO(i,j )置data) SetData(data,AO(i,j ))。

S2:(依据DO(i,j )置data) SetData(data,DO(i,j))。

}

2 并行开发过程

2.1 绘制面板图并准备硬件配置文件(ad.cfg)

图2通过UML活动图描述了整体工程开发流程。

工程开始时,首先绘制面板图。硬件开发人员和仿真应用开发人员根据仿真任务需要,结合未来系统扩展需求,共同确定需要由程序进行控制的硬件控制量,由硬件开发人员负责绘制面板图。对于大型系统,首先划分面板,为每个面板分配一个面板号,如图3所示。

完成硬件面板图绘制后,依据面板图完成硬件配置文件(ad.cfg)输入。硬件配置文件(ad.cfg)也可在绘制面板图时输入。

将硬件面板图分发给所有硬件开发人员和仿真应用开发人员,为开发嵌入程序、单片机DLL和仿真应用程序打下基础。

硬件面板图是系统技术文档的重要部分,如果没有硬件面板图,将无法追踪程序中其它技术文档所引用的硬件标识的确切含义。

2.2 嵌入程序和单片机DLL开发

不同设备所需的具体控制技术不同,因此硬件开发人员需要开发不同的硬件控制程序(即嵌入程序),并撰写详细的嵌入程序技术文档。在技术文档中,采样和驱动数据的格式非常重要,以字节和bit位表达。与硬件控制量有关的字节、位等信息,通过面板图上标注的硬件标识精确描述。

确定嵌入程序采样和驱动数据格式后,按照面板图开发单片机的DLL。单片机的DLL只完成简单的格式转换,函数Sample()完成采样数据的bit位格式到面板图二维标识的转换,函数Drive()完成面板图二维标识到驱动数据bit位格式的转换,此类转换很容易完成。

对同一个单片机,嵌入程序和单片机DLL可由同一组硬件开发人员开发,也可以安排一组硬件开发人员负责开发嵌入程序,另一组负责开发单片机DLL。前者的优点是硬件开发人员对自己所开发的硬件控制格式非常熟悉,即使不查阅技术文档也可快速完成单片机DLL开发,缺点是需要和DLL打交道。后者的优点是嵌入程序开发人员和开发单片机DLL开发人员可以不必掌握对方开发领域的知识,缺点是需要阅读技术文档获取bit位格式。尽管技术文档引用面板图标识对硬件进行了精确描述,但理解文档会影响效率。因此,在硬件开发人员不紧张的情形下,第一种组织形式效率更高,因为单片机DLL只有两个函数,即使没有任何DLL知识也可以按照预定的程序

模板完成开发。然而,采用这种组织方式,硬件改造开发量很大,如硬件开发人员不足,则需要将开发单片机DLL的任务转交给其他开发人员。

2.3 仿真应用程序开发

完成面板图绘制后,在未完成嵌入程序和单片机DLL开发的情况下,无需定义“bit位格式”,无需参考嵌入程序技术文档,依据面板图就可以按照前述方式完成控制量访问代码开发,不仅简单、效率高,而且不容易出错。

2.4 网络通信和系统集成

网络集成人员依据单片机系统的容量,为单片机分配IP地址,依据仿真应用程序在主机上的分布情况,为主机分配IP地址。在此基础上,很容易根据前述格式填充下位网配置文件(LNet.cfg)和上位网配置文件(UNet.cfg) 。最后,将ad.cfg,LNet.cfg ,UNet.cfg ,单片机DLL与ad.dll,proxy.exe集成在一起,完成整个系统集成。从此过程可以看出,网络集成人员无需开发任何通讯代码,只需准备LNet.cfg 和 UNet.cfg两个文本文件,就可以完成系统通信功能。

3 结语

本文提出了一种软硬件并行开发、无缝集成的规范化工程方法。该方法可显著提高系统开发效率,降低开发成本,提高产品价值。该方法具有如下主要特征:①以一个规范化的硬件控制体系为技术支撑;②以硬件面板图为基础,可并行开发、无缝集成;③无需开发任何通讯代码,只需生成网络配置文件就可完成通信功能;④系统集成简单。然而,需要针对特定硬件开发嵌入程序和单片机DLL,这是任何开发方法都无法回避的。

参考文献:

[1] 徐海,崔连虎,徐光耀.RTX环境下时统信息实时采集方法研究[J].舰船电子工程,2012,32(4):59-61.

[2] 何波玲,张志春,徐坤.规模硬件模块化智能控制方法及其应用[J].兰州理工大学学报,2014,40(2):106-109

[3] 顾颖彦.反射内存网实时通信技术的研究[J].计算机工程,2002(7):143-144.

[4] 何波玲,张志春.嵌入式TCP/IP驱动设备的可复用群控驱动引擎[J].软件导刊,2015,35(1):7-9.

[5] 袁涛,孔蕾蕾.统一建模语言UML[M].北京:清华大学出版社,2012.

上一篇:一种基于策略的SIP终端实现方法 下一篇:SQL Server数据库自动备份方法