本发明专利技术公开了一种对传感器数据进行抽象管理的框架系统及设计方法,该系统包括应用程序、中间层接口映射库、以及传感器抽象库模块;传感器抽象库模块包括多个传感器抽象库,多个传感器抽象库具有统一的抽象库接口,且同一个类型的所有传感器封装在同一个传感器抽象库中,并不同类型的传感器封装在不同的传感器抽象库中;中间层接口映射库通过统一的抽象库接口与传感器抽象库模块通信连接,以屏蔽不同传感器抽象库中的传感器差异;中间层接口映射库设有映射库接口,中间层接口映射库通过映射库接口与应用程序通信连接。本发明专利技术能够实现上层应用程序与底层传感器之间的解耦,使得上层应用程序使用统一的数据接口,无需受到下层传感器更换的影响。器更换的影响。器更换的影响。
【技术实现步骤摘要】
一种对传感器数据进行抽象管理的框架系统及设计方法
[0001]本专利技术涉及智能汽车
,具体涉及一种对传感器数据进行抽象管理的框架系统及设计方法。
技术介绍
[0002]随着汽车进入智能化高速发展的时期,汽车已经成为一个部署有图像识别算法,导航定位算法,决策规划算法等多种算法的智能平台;随着平台上部署的传感器种类以及数量都越来越多,汽车控制器的架构也从以前的单MCU(微控制单元)主芯片走向MCU+MPU(微处理器)的域控制器架构。
[0003]在传统的开发框架下,各种应用程序将直接从各传感器处读取数据,在数据读取过程中,依赖于操作系统以及具体设备,因此应用程序与传感器之间的耦合度较高,这样就使得如果在开发过程中,更换了传感器,则需相应地修改应用程序的应用代码,十分不便。
技术实现思路
[0004]针对现有技术存在的上述不足,本专利技术要解决的技术问题是:如何提供一种能够实现上层应用程序与底层传感器之间的解耦,使得上层应用程序使用统一的数据接口,无需受到下层传感器更换影响的对传感器数据进行抽象管理的框架系统及设计方法。
[0005]为了解决上述技术问题,本专利技术采用如下技术方案:一种对传感器数据进行抽象管理的框架系统,包括应用程序、中间层接口映射库、以及传感器抽象库模块;所述传感器抽象库模块包括多个传感器抽象库,多个所述传感器抽象库具有统一的抽象库接口,且同一个类型的所有传感器封装在同一个所述传感器抽象库中,并不同类型的传感器封装在不同的所述传感器抽象库中;所述中间层接口映射库通过统一的抽象库接口与所述传感器抽象库模块通信连接,以屏蔽不同所述传感器抽象库中的传感器差异;所述中间层接口映射库设有映射库接口,所述中间层接口映射库通过映射库接口与所述应用程序通信连接。
[0006]一种对传感器数据进行抽象管理的框架设计方法,采用上述的对传感器数据进行抽象管理的框架系统,该方法由所述中间层接口映射库读取从所述应用程序传递的配置文件,并根据配置文件初始化需要使用的所述传感器抽象库,然后根据初始化好的传感器抽象库与所述传感器抽象库模块中各个传感器抽象库的文件句柄映射关系动态绑定所使用的所述传感器抽象库,以通过所述中间层接口映射库向应用程序提供的接口调用所述传感器抽象库中的函数。
[0007]优选的,配置文件中的信息包括:需要使用的传感器的类型及安装位置信息。
[0008]优选的,所述中间层接口映射库对配置文件进行初始化的流程包括以下步骤:步骤1)所述中间层接口映射库解析所述应用程序传递的配置文件,获取需要使用
的每个传感器的类型;步骤2)所有类型的传感器是否处理完,若是则执行步骤8),若否则执行步骤3)步骤3)所述中间层接口映射库根据步骤1)中获取的传感器的类型检查该传感器是否在所述中间层接口映射库的支持列表中,若是则执行步骤4),若否则进行错误处理并返回执行步骤2);步骤4)所述中间层接口映射库检查步骤3)中传感器对应的所述传感器抽象库是否已经加载,若是则执行步骤6),若否则执行步骤5);步骤5)根据传感器的类型找到对应的所述传感器抽象库的路径并加载所述传感器抽象库;步骤6)使用所述传感器抽象库的文件句柄初始化所述传感器抽象库中的传感器;步骤7)返回执行步骤2);步骤8)结束。
[0009]优选的,所述中间层接口映射库向应用程序提供的接口调用所述传感器抽象库中函数的方法包括以下步骤:步骤S1)所述中间层接口映射库解析所述应用程序传递的配置文件,获取需要使用的传感器的位置信息,并根据传感器的位置信息取出对应的传感器抽象库中的文件句柄;步骤S2)从传感器抽象库中的文件句柄中取出对应的接口函数;步骤S3)执行步骤S2)中的函数;步骤S4)返回执行结果。
[0010]优选的,通过传感器实例标记的方法来定义传感器的安装位置信息。
[0011]一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序被处理器运行时,执行上述的对传感器数据进行抽象管理的框架设计方法的步骤。
[0012]与现有技术相比,本专利技术具有以下优点:1、本专利技术适用于汽车智能平台上传感器数据的抽象管理,将所有的传感器抽象出统一的抽象库接口,并使用统一的抽象库接口将不同厂商、不同类型的传感器抽象为独立的动态传感器抽象库,同时引入一个管理各个传感器抽象库的中间层接口映射库,用于解耦上层的应用程序与底层的传感器,上层应用程序直接调用中间层接口映射库的映射库接口,使上层应用程序使用统一的数据接口,不需关注底层传感器的具体操作。
[0013]2、本专利技术如果需要接入新的传感器或者更换其他厂商的传感器,直接修改应用程序中的配置文件即可,不需要对应用代码进行修改,操作简单方便。
[0014]3、本专利技术的配置文件包括的信息有:接入的传感器类型以及接入位置,传感器接入位置以及接入类型取决于整车平台设计,应用程序调用函数时只需使用中间层接口映射库中统一的接口,指定传感器接入位置进行初始化即可获取对应的传感器的数据。
[0015]4、本专利技术将对每个厂商的每个类型的传感器的具体操作使用接口封装到对应的传感器抽象库中,同类型的传感器则使用相同的数据抽象接口,如所有的摄像头抽象库都实现相同的抽象函数接口。
[0016]5、本专利技术由中间层接口映射库读入配置文件,并根据配置文件进行初始化,实现中间映射库提供的函数接口与传感器抽象库的绑定,根据配置文件的不同,实现不同传感
器的绑定,屏蔽对底层传感器的具体操作,让上层应用开发人员更多的关注于程序的功能逻辑,从而实现各个功能模块的解耦。
[0017]6、本专利技术最下部的传感器抽象库通过预先定义的数据操作接口对传感器的具体操作进行封装,同类型的不同厂商、不同类型的传感器均向中间层接口映射库提供统一定义的抽象库接口,通过此种方式,屏蔽了传感器的差异,实现了中间层接口映射库的独立开发。在初始化时,中间层接口映射库解析上层应用程序传递过来的配置文件,中间层接口映射库维护一个其支持的传感器抽象库的列表,上层应用程序调用中间层接口映射库的函数时需要传递传感器的位置信息作为参数,中间层接口映射库根据初始化好的传感器位置信息与传感器抽象库中的文件句柄映射关系实现对底层传感器抽象库中函数的调用。
附图说明
[0018]图1为本专利技术对传感器数据进行抽象管理的框架系统的系统框图;图2为本专利技术对传感器数据进行抽象管理的框架设计方法中中间层接口映射库对配置文件进行初始化的流程图;图3为本专利技术对传感器数据进行抽象管理的框架设计方法中中间层接口映射库向应用程序提供的接口调用传感器抽象库中函数的流程图。
具体实施方式
[0019]下面将结合附图及实施例对本专利技术作进一步说明。
[0020]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种对传感器数据进行抽象管理的框架系统,其特征在于,包括应用程序、中间层接口映射库、以及传感器抽象库模块;所述传感器抽象库模块包括多个传感器抽象库,多个所述传感器抽象库具有统一的抽象库接口,且同一个类型的所有传感器封装在同一个所述传感器抽象库中,并不同类型的传感器封装在不同的所述传感器抽象库中;所述中间层接口映射库通过统一的抽象库接口与所述传感器抽象库模块通信连接,以屏蔽不同所述传感器抽象库中的传感器差异;所述中间层接口映射库设有映射库接口,所述中间层接口映射库通过映射库接口与所述应用程序通信连接。2.一种对传感器数据进行抽象管理的框架设计方法,其特征在于,采用如权利要求1所述的对传感器数据进行抽象管理的框架系统,该方法由所述中间层接口映射库读取从所述应用程序传递的配置文件,并根据配置文件初始化需要使用的所述传感器抽象库,然后根据初始化好的传感器抽象库与所述传感器抽象库模块中各个传感器抽象库的文件句柄映射关系动态绑定所使用的所述传感器抽象库,以通过所述中间层接口映射库向应用程序提供的接口调用所述传感器抽象库中的函数。3.根据权利要求2所述的对传感器数据进行抽象管理的框架设计方法,其特征在于,配置文件中的信息包括:需要使用的传感器的类型及安装位置信息。4.根据权利要求3所述的对传感器数据进行抽象管理的框架设计方法,其特征在于,所述中间层接口映射库对配置文件进行初始化的流程包括以下步骤:步骤1)所述中间层接口映射库解析所述应用程序传递的配置文件,获取需要使用的每个传感器的类型;步骤2)所有类...
【专利技术属性】
技术研发人员:甘立初,朱乾勇,沈甲甲,杨森,
申请(专利权)人:重庆长安汽车股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。