一种面向无人智能装备数据总线的自动订阅方法

文档序号:1598847 发布日期:2020-01-07 浏览:17次 >En<

阅读说明:本技术 一种面向无人智能装备数据总线的自动订阅方法 (Automatic subscription method for data bus of unmanned intelligent equipment ) 是由 赵伟 饶京宏 周广蕴 王旭 张文叶 于 2019-10-10 设计创作,主要内容包括:本发明涉及一种面向无人智能装备数据总线的自动订阅方法,属于智能装备软件技术领域。该方法包括以下步骤:采用软件框架管理无人智能装备数据总线,所述软件框架包括框架层和核心层;所述软件框架的框架层通过应用服务程序触发订阅数据总线服务,使得框架层关联上所述无人智能装备数据总线;订阅触发后,软件框架的框架层通过定时器或中断方式发送数据读取命令启动框架层中的订阅数据总线服务相应的应用算法程序,以驱动核心层连接的数据总线接口进行数据总线的订阅。本发明解决了目前开发者需要对数据总线使用细节充分了解导致开发周期过长,不利于软件层次划分、软件复用和多应用软件集成问题。(The invention relates to an automatic subscription method for an unmanned intelligent equipment data bus, and belongs to the technical field of intelligent equipment software. The method comprises the following steps: managing an unmanned intelligent equipment data bus by adopting a software framework, wherein the software framework comprises a framework layer and a core layer; the framework layer of the software framework triggers subscription data bus service through an application service program, so that the framework layer is associated with the unmanned intelligent equipment data bus; after the subscription is triggered, the framework layer of the software framework sends a data reading command through a timer or an interrupt mode to start an application algorithm program corresponding to the service of the subscription data bus in the framework layer so as to drive a data bus interface connected with the core layer to subscribe the data bus. The invention solves the problems that the development period is too long, software hierarchy division, software multiplexing and multi-application software integration are not facilitated, which are caused by the fact that developers need to fully know the use details of the data bus at present.)

一种面向无人智能装备数据总线的自动订阅方法

技术领域

本发明涉及智能装备软件技术领域,尤其涉及一种面向无人智能装备数据总线的自动订阅方法。

背景技术

智能装备,指具有感知、分析、推理、决策、控制功能的工业装备,它是先进制造技术、信息技术和智能技术的集成和深度融合。

无人智能装备是指随着自主控制和人工智能技术的大量运用,赋予工业装备具备一定程度的智能化决策和自主化行动能力,从而产生能够自主和协同完成特定任务的装备技术,主要包括水下机器人、水面机器人、地面机器人、无人飞行器等。

无人智能装备控制主板通常集成多种低速、高速数据总线,每种总线具有单独的设备驱动以及应用算法,传统消息范式需要开发者直接基于驱动API进行开发,设计的API过多,导致开发者需要对数据总线使用细节充分了解,开发周期过长,不利于软件层次的划分、软件复用和多应用软件的集成。

发明内容

鉴于上述的分析,本发明旨在提供一种面向无人智能装备数据总线的自动订阅方法,以解决目前开发者需要对数据总线使用细节充分了解导致开发周期过长,不利于软件层次划分、软件复用和多应用软件集成问题。

本发明的目的主要是通过以下技术方案实现的:

本发明提供了一种面向无人智能装备数据总线的自动订阅方法,包括以下步骤:采用软件框架管理无人智能装备数据总线,所述软件框架包括框架层和核心层;所述软件框架的框架层通过应用服务程序触发订阅数据总线服务,使得框架层关联上所述无人智能装备数据总线;订阅触发后,软件框架的框架层通过定时器或中断方式发送数据读取命令启动框架层中的订阅数据总线服务相应的应用算法程序,以驱动核心层连接的数据总线接口进行数据总线的订阅。

进一步地,所述软件框架的框架层由高层到低层依次包括应用服务管理模块、抽象数据管理模块和对外接口模块,通过框架层的调度器和定时器的通信机制实现联动;所述应用服务管理模块包括应用服务程序及应用算法程序,用于对适于各数据总线的应用服务程序和应用算法程序的实时调用;所述抽象数据管理模块用于对数据总线进行抽象化实现统一管理,通过VFS虚拟化文件系统方式和核心层数据总线接口进行通信;所述对外接口模块用于软件框架对外的应用软件程序接口。

进一步地,所述软件框架基于操作系统的中间件管理方式,并通过调度器和定时器将应用服务管理模块、抽象数据管理模块、对外接口模块间的通信方式转换为通过嵌入式操作系统中具有消息队列、信号量、共享内存机制的线程间通信。

进一步地,所述定时器,作为激励机制位于软件框架的应用服务管理模块,用于发送数据读取的周期操作、延时操作和超时判断。

进一步地,所述调度器,作为激励机制位于软件框架的应用服务管理模块,用于接收到数据读取命令后,通过抽象数据管理模块调用抽象传感器接口,以读取传感器原始数据。

进一步地,所述软件框架的框架层发送数据读取命令启动框架层中的应用算法程序包括:软件框架的框架层发送数据读取命令至调度器,以读取数据总线上源于传感器的信息数据;根据框架层中校准算法的执行判定是否对传感器的信息数据进行校准,若不执行校准,则直接发送读命令;若执行校准,则调用校准算法后发送读命令;调度器接收到发送读命令后,将传感器的信息数据通过调度器发送到应用算法程序。

进一步地,通过对传感器的信息数据拟合得到不同处理器的数据校准算法,并将所述校准算法编译集成到软件框架的抽象数据管理模块,执行时根据传感器类型调用相应的校准算法。

进一步地,所述定时器方式通过定时器周期性的读数据直到数据更新后处理;所述数据总线中断方式通过嵌入式操作系统的中断机制获取数据。

进一步地,所述软件框架的数据类型包括应用算法数据类型和数据总线数据类型;所述应用算法数据类型,用于框架层的抽象数据管理模块;所述数据总线数据类型,用于核心层支持的数据总线。

进一步地,所述软件框架具有三张数据表包括应用服务表、抽象数据表、数据总线表,分别对数据总线的服务抽象、数据抽象和物理抽象;

所述应用服务表为应用服务管理模块的数据结构;

所述抽象数据表为抽象数据管理模块的数据结构;

所述数据总线表为核心层支持的数据总线的数据结构。

本技术方案有益效果如下:本发明公开了一种面向无人智能装备数据总线的自动订阅方法,采用订阅式数据总线管理软件框架,遵循分层解耦的模块化设计原则,可根据不同业务和需求实现软件框架的组件化移植适配,简化了API接口,屏蔽了数据总线的底层细节,提高了开发效率,且使得消息的发布者和订阅者无需了解对方是否存在,有利于多种应用软件的集成。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。

图1为本发明实施例的一种面向无人智能装备数据总线的自动订阅方法流程图;

图2为本发明实施例的订阅式数据总线管理软件框架图;

图3为本发明实施例的软件框架数据读取流程图。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。

本发明的技术构思:订阅式管理是本发明提出的一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者),而是将发布的消息分为不同的类别,无需了解订阅者是否存在,同样的,订阅者只表达对一个或多个类别的消息感兴趣(订阅),只接收订阅的消息,无需了解发布者是否存在,这样的设计,简化了API接口,提供的软件框架方便应用算法的集成,有利于软件复用,也有利于多应用软件的集成。

本发明的一个具体实施例,如图1所示,公开了一种面向无人智能装备数据总线的自动订阅方法,包括以下步骤:

S1,采用软件框架管理无人智能装备数据总线,所述软件框架包括框架层和核心层;

具体地,所述软件框架对无人智能装备数据总线订阅进行数据读取及数据较对处理。

S2,所述软件框架的框架层通过应用服务程序触发订阅数据总线服务,使得框架层关联上所述无人智能装备数据总线;

S3,订阅触发后,软件框架的框架层通过定时器或中断方式发送数据读取命令启动框架层中的订阅数据总线服务相应的应用算法程序,以驱动核心层连接的数据总线接口进行数据总线的订阅。

与现有技术相比,本发明实施例遵循分层解耦的模块化设计原则,通过订阅式数据总线管理软件框架,可根据不同业务和需求实现软件框架的组件化移植适配,提供总线接口驱动、端口配置、应用算法集成等功能,也即具有方便应用算法集成的软件框架,有利于软件复用和多应用软件的集成。

具体地,本发明技术方案采用订阅式数据总线管理软件框架,主要分核心层和框架层两层,通过函数接口直接调用,核心层即数据总线抽象层,主要是负责总线接口驱动和硬件端口配置,核心层提供数据总线的驱动接口,如注册,创建驱动对象等,提供硬件配置接口,比如I2C,SPI、1553B、SRIO、422、485的相关配置;框架层主要是负责应用服务管理、抽象数据管理和对外模块接口。

本发明的一个具体实施例,如图2所示,所述软件框架的框架层由高层到低层依次包括应用服务管理模块、抽象数据管理模块和对外接口模块,通过框架层的调度器和定时器的通信机制实现联动;

所述应用服务管理模块包括应用服务程序及应用算法程序,用于对适于各数据总线的应用服务程序和应用算法程序的实时调用;

所述抽象数据管理模块用于对数据总线进行抽象化实现统一管理,通过VFS虚拟化文件系统方式和核心层数据总线接口进行通信;

所述对外接口模块用于软件框架对外的应用软件程序接口。。

具体地,本发明框架层主要包含应用服务管理模块、抽象数据管理模块和对外接口模块,三者之间通过任务调度器和定时器的通信机制进行联动。所述应用服务管理模块中应用算法程序是针对各种应用服务函数中的算法程序。应用服务管理模块是管理基于数据总线的应用算法服务,如注册、数据协议等,支撑整个软件框架的事件调度机制,管理对外组件的业务需求,如订阅等;抽象数据管理模块是对数据总线进行抽象化统一管理,与实际数据总线相隔离,订阅服务函数与总线设备实现一一对应,即与实际物理设备分离,并做1:1映射,以VFS方式和核心层数据总线接口进行通信;对外接口模块是软件框架对外的应用软件编程接口,提供发布消息、订阅服务、退阅服务、配置参数、信息查询等5个编程接口。也就是说,抽象化的具体实现过程包括实现对订阅服务的抽象,抽象数据管理模块通过订阅函数接口,将各种数据总线作为一种设备,通过订阅服务函数,实现对数据总线的配置,可实现读写。通过VFS虚拟文件系统的方式可实现与数据总线的读写交互,以文件读写的方式实现对数据总线的访问,交互的过程中包含数据处理算法等内容。

需要说明的是,VFS(virtual File System)的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,,即为各类文件系统提供了一个统一的操作界面和应用编程接口。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。

本发明的一个具体实施例,所述软件框架基于操作系统的中间件管理方式,并通过调度器和定时器将应用服务管理模块、抽象数据管理模块、对外接口模块间的通信方式转换为通过嵌入式操作系统中具有消息队列、信号量、共享内存机制的线程间通信。

具体地,软件框架模块间通信是基于实时操作系统的异步消息机制的,当软件框架数据准备好之后,会广播事件通知相关的外部模块,在软件框架的框架层,目前设计了一个任务调度器和一个定时器来实现整个软件框架的通讯机制,该通讯机制为线程间通信。转换为线程间通信的具体实现通过操作系统的中间件管理方式。

本发明的一个具体实施例,所述定时器,作为激励机制位于软件框架的应用服务管理模块,用于发送数据读取的周期操作、延时操作和超时判断。

需要说明的是,订阅方法是基于操作系统实现的,目前的操作系统已经实现了定时器和中断功能。

本发明的一个具体实施例,所述调度器,作为激励机制位于软件框架的应用服务管理模块,用于接收到数据读取命令后,通过抽象数据管理模块调用抽象传感器接口,以读取传感器原始数据。

本发明的一个具体实施例,所述软件框架的框架层发送数据读取命令启动框架层中的应用算法程序包括:软件框架的框架层发送数据读取命令至调度器,以读取数据总线上源于传感器的信息数据;根据框架层中校准算法的执行判定是否对传感器的信息数据进行校准,若不执行校准,则直接发送读命令;若执行校准,则调用校准算法后发送读命令;调度器接收到发送读命令后,将传感器的信息数据通过调度器发送到应用算法程序。

具体地,如图3所示,软件框架数据读取具体流程如下:

1)订阅触发:软件框架的框架层通过应用服务程序触发订阅数据总线服务,使得框架层关联上所述无人智能装备数据总线。

2)订阅查询:订阅触发后,应用服务程序发送数据读取命令;调度器接收到数据读取命令后,通过数据抽象模块调用抽象传感器接口,以读取传感器原始数据。

3)数据校准:根据是否执行校准算法决定是否对传感器原始数据进行校准,如果不进行传感器数据校准则直接发送读命令;如果进行传感器数据校准,则调用校准算法后发送读取命令。

4)获取数据信息:传感器数据信息通过调度器发送到应用算法程序。

本发明的一个具体实施例,通过对传感器的信息数据拟合得到不同处理器的数据校准算法,并将所述校准算法编译集成到软件框架的抽象数据管理模块,执行时根据传感器类型调用相应的校准算法。

本发明的一个具体实施例,所述定时器方式通过定时器周期性的读数据直到数据更新后处理;所述数据总线中断方式通过嵌入式操作系统的中断机制获取数据。

具体地,软件框架的数据读取方式,主要有轮询方式(基于定时器发起的方式)和中断方式(基于数据总线中断发起的方式),一般业务,基本以轮询方式来读取数据都能满足业务需求,中断方式基本用于低功耗管理,系统唤醒等业务居多。

本发明的一个具体实施例,所述软件框架的数据类型包括应用算法数据类型和数据总线数据类型;所述应用算法数据类型,用于框架层的抽象数据管理模块;所述数据总线数据类型,用于核心层支持的数据总线。

具体地,软件框架主要分两种类型的数据,一种是软件框架的应用算法数据类型,例如,1553B、CAN、SRIO、IIC、SPI通信协议、基于传感器数据的姿态控制算法等,开发者和外部模块也只和这类型的数据进行通信和交互;另外一种是数据总线数据类别,例如,1553B、CAN、SRIO、IIC、SPI存在于核心层,并和框架层进行通信和交互,暂不对外。一般情况下,每一个应用算法服务数据会订阅一个数据总线的数据,也可能一个应用算法数据基于多个数据总线的数据。

本发明的一个具体实施例,所述软件框架具有三张数据表包括应用服务表、抽象数据表、数据总线表,分别对数据总线的服务抽象、数据抽象和物理抽象;

所述应用服务表为应用服务管理模块的数据结构;

所述抽象数据表为抽象数据管理模块的数据结构;

所述数据总线表为核心层支持的数据总线的数据结构。

具体地,应用服务表数据结构为:

Figure BDA0002228422400000091

抽象数据表数据结构为:

Figure BDA0002228422400000101

数据总线表数据结构为:

Figure BDA0002228422400000102

综上所述,本发明公开了一种面向无人智能装备数据总线的自动订阅方法,包括以下步骤:采用软件框架管理无人智能装备数据总线,所述软件框架包括框架层和核心层;所述软件框架的框架层通过应用服务程序触发订阅数据总线服务,使得框架层关联上所述无人智能装备数据总线;订阅触发后,软件框架的框架层通过定时器或中断方式发送数据读取命令启动框架层中的订阅数据总线服务相应的应用算法程序,以驱动核心层连接的数据总线接口进行数据总线的订阅。本发明技术方案采用订阅式数据总线管理软件框架,遵循分层解耦的模块化设计原则,可根据不同业务和需求实现软件框架的组件化移植适配,简化了API接口,屏蔽了数据总线的底层细节,提高了开发效率,且使得消息的发布者和订阅者无需了解对方是否存在,有利于多种应用软件的集成。本发明解决了目前开发者需要对数据总线使用细节充分了解导致开发周期过长,不利于软件层次划分、软件复用和多应用软件集成问题。

本领域技术人员可以理解,实现上述实施例中方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储器系统以及用于访问存储器系统的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!