一种屏蔽硬件差异的软件方法与流程

文档序号:17089403发布日期:2019-03-13 23:16阅读:396来源:国知局
一种屏蔽硬件差异的软件方法与流程

本发明涉及由调用多硬件模块组成的终端设备软件开发领域,用于设备内硬件模块的功能封装,特别是一种屏蔽硬件差异的软件方法。



背景技术:

终端设备由上位机和多个硬件模块组成,上位机软件需要按照各模块的通讯协议调用相应的硬件实现对应的功能。终端设备需要随着市场需求的变化更新换内部模块,完成设备升级。相应的,上位机软件也需要重新开发以适配新的硬件。

目前多数硬件采用了收发报文的形式实现模块与上位机的大数据交互。报文由一个报文头和若干数据包组成,一般报文头标识报文类别、长度、执行结果等属性,数据包则是不同属性数据的集合。上位机软件将操作按照硬件指令协议打包成报文发送给硬件模块进行处理,然后处理结果同样以报文的形式返回给上位机。这就需要上位机软件具有对硬件报文拆包组包的能力。但是同类型的硬件模块,厂家不同或者型号不同都会在通讯报文上有很大的差异,这就需要上位机软件具有同时兼容多种报文协议的能力。同时还存在部分硬件模块同指令下不同状态收发的报文存在数据包个数和类型的差异。这导致上位机软件与硬件模块进行数据交互的情况变得非常复杂。



技术实现要素:

针对上述存在的技术问题,本发明的目的是:提出了一种屏蔽硬件差异的软件方法,对硬件进行抽象使用多层软件结构减少硬件变动对上位机带来的影响。

本发明的技术解决方案是这样实现的:一种屏蔽硬件差异的软件方法,包括上位机软件报文解析器、和硬件模块;所述上位机软件与硬件模块之间设有逻辑处理层;所述硬件模块以数据处理库的形式独立出来,由逻辑处理层管理;所述上位机软件将硬件类型、操作类型和输入数据打包成数据结构类型a传入逻辑处理层中的接口层;所述接口层将数据拆包并根据包内的硬件类型、操作类型选择与当前硬件匹配的指令id,并从配置文件读取硬件参数数据与接口层接收的数据融合组成数据结构类型b,通过打包后传入数据处理库;所述数据处理库与硬件模块是一对一的关系,根据不同的硬件类型由不同的数据处理库根据硬件通讯协议对数据进行解译;所述数据处理库先将数据拆包,然后根据硬件协议将数据打包成通讯报文类型c下发到硬件库执行硬件操作;所述报文解析器处理数据的组包拆包。

由于上述技术方案的运用,本发明与现有技术相比具有下列优点:

本发明的一种屏蔽硬件差异的软件方法,通过对硬件进行抽象使用多层软件结构减少硬件变动对上位机带来的影响。

附图说明

下面结合附图对本发明技术方案作进一步说明:

附图1为本发明的一种屏蔽硬件差异的软件方法的结构示意图;

附图2为本发明的一种屏蔽硬件差异的软件方法的数据结构类型图。

具体实施方式

下面结合附图来说明本发明。

如附图1、2所示为本发明所述的一种屏蔽硬件差异的软件方法,包括上位机软件报文解析器、和硬件模块;所述上位机软件与硬件模块之间设有逻辑处理层;所述硬件模块以数据处理库的形式独立出来,由逻辑处理层管理;所述上位机软件将硬件类型、操作类型和输入数据打包成数据结构类型a传入逻辑处理层中的接口层;所述接口层将数据拆包并根据包内的硬件类型、操作类型选择与当前硬件匹配的指令id,并从配置文件读取硬件参数数据与接口层接收的数据融合组成数据结构类型b,通过打包后传入数据处理库;所述数据处理库与硬件模块是一对一的关系,根据不同的硬件类型由不同的数据处理库根据硬件通讯协议对数据进行解译;所述数据处理库先将数据拆包,然后根据硬件协议将数据打包成通讯报文类型c下发到硬件库执行硬件操作;所述报文解析器处理数据的组包拆包。

本发明通过抽象硬件特征在上位机软件之下增加逻辑处理层,并把硬件操作以数据处理库的形式独立出来,由逻辑处理层管理,以此隔离上层软件与硬件的直接交互,屏蔽硬件细节,从而在终端设备的硬件模块发生变化时只需要调整数据处理库便可实现,有效减少软件开发工作量。

上位机软件将硬件类型、操作类型和输入数据打包成数据结构类型a传入逻辑处理层中的接口层,接口层将数据拆包并根据包内的硬件类型、操作类型选择与当前硬件匹配的指令id,并从配置文件读取硬件参数等数据与接口层接收的数据融合组成数据结构类型b,通过打包后传入数据处理库,数据处理库与硬件是一对一的关系,根据不同的硬件类型由不同的数据处理库根据硬件通讯协议对数据进行解译,数据处理库先将数据拆包,然后根据硬件协议将数据打包成通讯报文类型c下发到硬件库执行硬件操作。

所有的数据组包拆包的过程都是由报文解析器完成。报文解析器不关心数据内容,使用者在组包时创建一个报文解析器对象并注册报文类型,为若干数据申请相应数量的内存并填写数据,然后将数据类型和内存地址依次传入报文解析器对象,报文解析器对象组成报文并返回报文地址,使用者获取到报文地址传递给接收者,接收者使用此地址创建解析器对象,并以此取出对应的数据,执行完毕后解析器自动释放报文内存。

如果硬件a更换为同类型但不同品牌的硬件a1,则只需针对a1开发数据处理库a1,并在配置中添加a1的参数信息;若差异较大则修改接口层中数据结构进行适配,这样就屏蔽掉了上位机与底层硬件的直接关联,无论是硬件变动还是上位机更新都能在很大程度上减少彼此的影响。

上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。



技术特征:

技术总结
本发明公开了一种屏蔽硬件差异的软件方法,包括上位机软件报文解析器、和硬件模块;所述上位机软件与硬件模块之间设有逻辑处理层;所述硬件模块以数据处理库的形式独立出来,由逻辑处理层管理;所述上位机软件将硬件类型、操作类型和输入数据打包成数据结构类型A传入逻辑处理层中的接口层;所述数据处理库与硬件模块是一对一的关系,根据不同的硬件类型由不同的数据处理库根据硬件通讯协议对数据进行解译;所述数据处理库先将数据拆包,然后根据硬件协议将数据打包成通讯报文类型C下发到硬件库执行硬件操作;所述报文解析器处理数据的组包拆包;本发明通过对硬件进行抽象使用多层软件结构减少硬件变动对上位机带来的影响。

技术研发人员:王红娟;姜涛;胡焱;孙世方
受保护的技术使用者:苏州浪潮智能软件有限公司
技术研发日:2018.10.26
技术公布日:2019.03.12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1