总740期第六期2021年2月trouble is friend
疯狂猜成语五朵花河南科技
Henan Science and Technology
一种自适应网关设备及服务器的硬件驱动方法
牛津文
(许继集团有限公司,河南许昌461000)
摘要:近年来,国产化芯片技术日趋成熟,应用领域不断扩大,尤其是变电站自动化领域,越来越多的全国产化自动化设备投入使用。但与之前采用进口成熟芯片的硬件平台驱动及接口不同,国产化硬件平台在硬件架构、硬件驱动、接口实现方面存在较大差异,因此移植现有软件平台至国产化硬件平台以及开发国产硬件平台的驱动适配接口将是关键点及难点。本文提供一种自适应网关机及服务器的硬件驱动方法,有效解决电力监控系统自动化设备无法自动匹配不同硬件平台驱动的问题。
关键词:B+树;驱动建模;动态匹配;接口固化
中图分类号:TP316文献标识码:A文章编号:1003-5168(2021)06-0029-04
A Hardware Drive Method of Adaptive Gateway Device and Server
NIU Jinwen
(Xuji Group Co.,Ltd.,Xuchang Henan461000)
Abstract:In recent years,localized chip technology has become increasingly mature,and the application field has been expanding,especially in the field of substation automation,more and more national production automation equipment has been put into use.However,unlike the previous hardware platform drivers and interfaces that used im⁃ported mature chips,the localized hardware platform has big differences in hardware architecture,hardware drivers, and interface implementation,therefore,transplanting the existing software platform to the domestic hardware plat⁃form and developing the driver adaptation interface of the domestic hardware platform will be the key and difficult points.This paper provided an adaptive gateway machine and server hardware drive method,which effectively solved the problem that the automation equipment of the power monitoring system could not automatically match the drive of different hardware platforms.
Keywords:B+tree;driver modeling;dynamic matching;interface solidification
网关机[1]及服务器等变电站自动化系统及设备是确保电网安全稳定运行的关键设备,目前,变电站监控系统[2]的核心芯片大量依靠进口,操作系统仍大量采用国外系统,存在巨大安全隐患。2019年以来,国产化系统及设备逐步得到推广,有助于解决变电站电力监控系统的安全隐患。另外,在国产芯片及器件普遍使用的情形下,其与之前采用的成熟进口芯片的驱动及接口必然存在较大差异,因此移植现有软件平台至国产化硬件平台,开发国产硬件平台的驱动适配接口将是关键点及难点。
本文提出一种自适应网关机及服务器[3]的硬件驱动方法,该方法包括建立通用驱动接口动态库,包含所有硬件的驱动接口程序;对所有硬件的驱动接口进行模型创建;对加载的硬件驱动接口模型与硬件的驱动接口程序进行动态匹配;成功匹配后,对动态匹配成功的接口程序进行固化,实现硬件驱动接口固化[4]。设备包括通用驱动接口动态库系统,包含所有硬件的驱动接口程序;硬件驱动接口模型系统包括所有硬件的驱动接口模型;动态匹配[5]系统用于将加载的硬件驱动接口模型与硬件的驱动接口程序进行动态匹配;接口固化系统用于对动态匹配成功的接口程序进行固化,实现硬件驱动接口固化。本发明有效解决电力监控系统自动化设备无法自动匹配不同硬件平台驱动的问题。
1通用驱动接口机制
自适应硬件驱动的方法引入驱动建模、动态匹配、接口固化等机制,有效地解决电力监控系统自动化设备无
收稿日期:2021-01-15
作者简介:牛津文(1984—),男,硕士,电气工程师,研究方向:电力系统自动化产品、计算机网络通信。
信息技术
法自动匹配不同硬件平台驱动的问题,硬件驱动原理架构如图1所示。
为实现网关机、服务器等自动化设备自适应不同硬件平台驱动,首先需要统一、固化应用程序调用的硬件驱动接口[6]函数,因此要引入通用驱动接口动态库,由应用程序进行动态链接[7]、静态加载[8],实现对下动态加载、对上统一接口的分层设计[9]理念。
针对不同硬件平台的不同驱动接口预定义在通用硬件驱动接口程序中,并按照其功能类型、返回类型、参数类型等参数以B+树[10]的形式存储在内存中,提高硬件驱动接口动态匹配检索效率。
然后,对于不同硬件平台的驱动接口,根据自定义模型规则,以XML文件[11]的形式创建不同硬件驱动模型,模型内容包括接口功能、返回类型及返回值、参数个数、参数类型等驱动接口的详细描述,实现不同型号硬件驱动的模型创建。
硬件驱动模型创建后,由通用硬件驱动接口程序读取、解析硬件驱动模型文件,根据模型参数,如接口功能、返回类型、参数类型等参数检索预定义驱动接口列表进行精确动态匹配。
匹配成功后,通用硬件驱动接口动态加载硬件驱动平台动态库至内存,根据驱动模型中的接口名称,获取相应接口地址赋值给动态匹配的预定义接口函数,达到接口固化的目的,最终实现不同硬件驱动平台的自适应接口调用。
2自适应硬件驱动流程
为解决不同硬件平台提供的硬件驱动存在较大差异,并且更换硬件需要修改调用接口的应用程序以适应新硬件驱动的问题,引入通用驱动接口机制,为调用的应用程序提供固定的硬件驱动接口,实现通用、统一自适应硬件驱动接口功能,使得每一步实现都具备通用性、可移植性,具体流程如图2所示。
从图2可以看出,自适应硬件驱动方法的整体过程从通用驱动接口初始化预定义硬件驱动接口列表开始,即根据预定义接口功能、接口类型、参数类型等信息创建
B+树结构。接下来分别将硬件驱动模型与硬件驱动动态库加载至内存,然后根据硬件驱动接口模型中的配置检索B+树进行动态匹配,此匹配方式为精确匹配,即所有驱动接口的所有参数匹配成功才判定
为匹配成功。最后通过硬件驱动接口名称与硬件驱动动态库获取实际接口指针地址赋值给精确匹配的预定义硬件驱动接口,完成跨平台的自适应硬件驱动。
图2自适应硬件驱动流程
3自适应硬件驱动实现方案
通用驱动接口初始化预定义硬件驱动接口结束后,
好听点的游戏名字图1硬件驱动原理架构
要对硬件驱动接口进行模型创建,然后对预定义接口进行B+树的创建,最后进行硬件驱动接口的动态匹配与固化,实现自适应的硬件平台驱动接口实例化。
3.1驱动建模机制
为解决通用驱动接口无法任意加载不同平台的硬件驱动问题,本文采用动态加载方式,并引入硬件驱动建模机制,通过配置规则对不同的硬件驱动功能接口进行模型创建,实现不同类型硬件驱动的统一建模。模型配置文件如图3
所示。
15万左右车推荐图3驱动建模配置文件
如图3所示,硬件驱动接口模型由XML文件配置生成,主要描述了硬件驱动接口功能类型、返回类型、参数类型等信息,并且可以同时配置多个硬件型号的驱动接口模型,但是通用驱动接口仅加载DRIVER_MODEL标签中enable等于1的硬件型号模型。其中,DRIVER_MOD⁃EL标签分别描述不同
硬件平台型号的使能参数enable,即此硬件平台是否启用;驱动名称name为硬件驱动动态库的全路径名称;硬件描述desc为硬件平台型号信息。FUNC标签描述了驱动接口的功能类型tpye,即该接口函数实现的功能类型(自定义);接口名称name为函数定义名称;参数个数paranum为接口函数传入参数的数量;描述desc为驱动接口的功能描述。RETURN标签描述了驱动接口返回值类型type,其子标签VALUE采用键-值对的方式描述了返回值的取值范围,其中key等于1表示成功,等于2表示失败,分别对应的val值为0和-1。
PARA标签描述了驱动接口的参数类型,其子标签VALUE同样采用键-值对的方式描述了参数的取值范围,key的取值根据不同的参数功能进行定义,比如,取值1表示点亮LED,取值2表示熄灭LED,以此对应val的取值内容。
3.2硬件驱动接口B+树结构
驱动接口的动态匹配主要根据模型参数对B+树结构的接口列表进行检索,B+树具备查询次数少、性能稳定、便于范围查询等优势,因此很大程度上提升了动态匹配效率。驱动接口B+树示意图如图4所示。
如图4所示,通用驱动接口程序初始化时,首先根据预定义的所有硬件驱动接口和功能类型创建m阶B+树,m取值5,具体流程如下:B+树为空树,创建一个节点将记录1插入其中,此时这个叶子结点也
是根结点,插入操作结束;根据key值到叶子结点,向这个叶子结点插入记录,插入后,若当前结点key的个数不大于m-1,则插入结束,否则,要对节点进行分裂;由于此处按照类型序号依次插入,因此节点插入5时,要将叶子结点分裂成左右两个叶子结点,左叶子结点包含前m/2个(2个)记录,右结点包含剩下的记录,将第m/2+1个(3个)记录的key进位到父结点中,进位到父结点的key左孩子指针指向左结点,右孩子指针指向右结点。将当前结点的指针指向父结点;依据此规则,B+树自下而上进行依次分裂,直至结束。
硬件驱动接口的功能类型越丰富,检索及动态匹配的效率优势越能够体现出来。
3.3硬件动态匹配机制
硬件驱动模型解析后,根据模型参数,检索硬件驱动接口列表进行动态匹配,其间采用精准匹配模式,即列表中的最小叶子节点函数必须与模型中的所有参数完全一致才算匹配成功,否则匹配失败。动态匹配的主要过程是根据模型参数对B+树结构的接口列表进行检索,B+树具备查询次数少、性能稳定、便于范围查询等优势,因此很大程度上提升了动态匹配效率。动态匹配流程如图5所示。
7 3 5
7 10 11图4驱动接口B+树示意图
图5驱动接口动态匹配流程
如图5所示,动态匹配过程分为两部分,第一部分根据解析硬件驱动模型获取驱动接口类型范围,然后遍历预定义驱动接口B+树检索出对应节点信息;第二部分则根据解析硬件驱动模型获取的驱动接口返回值类型、参数个数、参数类型,依次匹配节点信息,并最终定位到需要调用的接口函数进行接口固化。
由于硬件设备所承担的业务不尽相同,硬件驱动接口的类型也有所差异,接口类型越丰富的硬件驱动,越能体现出动态匹配的效率优势。
4结论
本文提出一种自适应硬件驱动的方法,包括驱动建
模、动态匹配、接口固化。驱动建模用于对不同硬件平台提供的驱动程序进行模型创建,主要包括驱动名称、接口功能、参数类型等信息,其间通过XML文件的形式对驱动程序及其提供的接口功能进行统一建模,以便通用接口程序进行正确解析并加载至内存;动态匹配用于通用接口程序解析模型后,根据接口功能、参数个数、参数类型等参数,依次与预定义的硬件驱动接口列表进行动态匹配,最终选择匹配成功的接口函数作为调用的硬件驱动接口;接口固化用于根据硬件驱动程序与硬件驱动模型获取接口地址,并将其固化至对应匹配成功的预定义驱动接口,完成不同厂家自适应硬件驱动接口的选择,最终在不扩展通用驱动接口程序的基础上,仅通过配置硬件驱动模型及更换硬件平台提供的驱动程序完成应用程序在不同硬件之间的无缝切换。
参考文献:
梗为什么叫梗[1]李世,顾颖,郭飞,等.智能变电站数据通信网关机遥测处理优化研究[J].电工电气,2020(11):72-74.
[2]高翔,周健,周红,等.IEC61850标准在南桥变电站监控系统中应用[J].电力系统自动化,2006(16):105-107.
[3]余劲,黄皓,诸渝,等.DBox:宏内核下各种设备驱动程序的高性能安全盒[J].计算机学报,2020(4):724-739.
[4]曹慧,程宏斌,汪洋,等.FPGA多重配置在LED显示控制系统中的应用[J].液晶与显示,2020(5):51-58.
竞选生活委员发言稿[5]水为涟,王成亮,杨庆胜,等.基于动态均衡原理的并联VSG参数匹配方法[J].电力电子技术,2020(8):28-30.
[6]郝强.基于硬件仿真器的PCIe接口验证方法的研究和实现[J].电子技术应用,2020(8):83-85.
[7]苗维诚,朱文婕.基于动态链接库的实验室管理系统设计与实现[J].太原学院学报(自然科学版),2020(1):87-90.
[8]李璜华,李凌,赵宇,等.一种包解析器硬件配置描述语言及其编译结构[J].软件学报,2020(8):7-30.
[9]李天成,陈天星,杨创,等.基于分层技术的居家智能系统软件设计[J].电脑编程技巧与维护,2020(3):125-127.
[10]张小陆.基于B+树的电力大数据混合索引设计分析[J].电子设计工程,2020(22):13-16.
[11]王森林,喻杰奎,赵建宜,等.基于XML技术的光网络设备通信的设计与实现[J].信息技术,2020(4):96-99.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论