一种应用于嵌入式系统的通用架构技术方案

技术编号:27290961 阅读:8 留言:0更新日期:2021-02-06 11:59
本发明专利技术公开了一种应用于嵌入式系统的通用架构,包括:硬件驱动层、数据分发层、数据交换层和业务应用层,硬件驱动层根据Drivers.xml文件中的配置信息,实现底层通讯接口的配置、初始化、启动、数据收发中断、数据缓存及事件通知;数据分发层将来自硬件驱动层的数据进行分流处理;数据交换层用于接收数据分发层分流的数据以及为业务应用层提供访问接口;业务应用层完成嵌入式系统的任务需求。实现了嵌入式系统开发的通用化、组件化、规范化。化。化。

【技术实现步骤摘要】
一种应用于嵌入式系统的通用架构


[0001]本专利技术涉及嵌入式系统
,更具体的说是涉及一种应用于嵌入式系统的通用架构。

技术介绍

[0002]嵌入式系统软件的特点是系统功能复杂、网络协议繁多、软件环境多样、硬件平台互异。现实中每一型号产品的软件开发只关注满足眼前特定需求,很少考虑软件的复用度和通用性,这就导致具体产品具体定制、类似产品重复开发的不良局面。不合理的软件架构会增加大量的重复的编码和测试工作、无法或较难应对需求变更的风险,具体表现为投入人员多、开发周期长、难以适应修改、进度难以保证、后期维护难度大的问题。
[0003]因此,如何提供一种通用性强的嵌入式系统软件架构是本领域技术人员亟需解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种应用于嵌入式系统的通用架构,能够屏蔽底层硬件差异,统一上层应用,并且拥有良好跨平台特性,提高了编程效率、可移植性和可扩展性。
[0005]为了实现上述目的,本专利技术采用如下技术方案:
[0006]一种应用于嵌入式系统的通用架构,包括:硬件驱动层、数据分发层、数据交换层和业务应用层,
[0007]所述硬件驱动层根据Drivers.xml文件中的配置信息,实现底层通讯接口的配置、初始化、启动、数据收发中断、数据缓存及事件通知;
[0008]所述数据分发层将来自所述硬件驱动层的数据进行分流处理;
[0009]所述数据交换层用于接收数据分发层分流的数据以及为所述业务应用层提供访问接口;
[0010]所述业务应用层完成嵌入式系统的任务需求。
[0011]进一步,所述数据分发层的分流处理包括向数据池的传递、向通信接口的透明转发或重新组帧转发、以及数据帧过滤。
[0012]进一步,所述数据交换层包括网络协议描述模型、系统配置文件解析模块、动态加载子模块、节点设备监控模块、和数据接收、数据缓存及数据发送模块;
[0013]所述网络协议描述模型用于实现各种通讯协议格式的统一描述;
[0014]所述系统配置文件解析模块用于实现网络协议配置文件Devices.xml的解析、通讯接口配置文件Drivers.xml的解析、以及节点设备对象、数据帧对象和数据对象的动态创建;
[0015]所述动态加载子模块采用XML格式的系统配置文件对系统所需动态加载子模块的名称及参数进行描述,系统主框架在完成初始化后,读取并解析系统配置文件,逐一传入模块参数并完成各子模块的动态加载;
[0016]所述节点设备监控模块用于实现网络内各节点设备工作状态的监视;
[0017]所述数据接收、数据缓存及数据发送模块用于接收来自数据分发层的数据帧,根据数据帧头信息找到数据帧在数据池中的对应内存位置完成数据拷贝,实现数据在数据池中的缓存。
[0018]进一步,所述网络协议描述模型包括Device元素、PDO元素和Signal元素,
[0019]所述Device元素用于记录总线上与所述嵌入式系统进行数据交互的所有节点设备;
[0020]所述PDO元素用于记录节点设备发送的数据帧;
[0021]所述Signal元素用于记录组成数据帧的所有数据信息。
[0022]进一步,所述业务应用层包括功能模块输入输出接口描述、功能模块实行二进制封装、功能模块之间通信松耦合化、功能模块的定制以及功能模块的通用化。
[0023]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种应用于嵌入式系统的通用架构,能够将不同项目的软件整合成一个具有统一框架的软件,实现上层应用的统一和跨平台,通过模块重用的思想减少开发的工作量,提高了嵌入式软件系统的稳定性。
附图说明
[0024]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0025]图1为嵌入式系统通用架构分层结构框图;
[0026]图2为抽象业务模型图;
[0027]图3为嵌入式系统通用架构分解图;
[0028]图4为采用XML格式的通讯协议配置文件。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]本专利技术实施例公开了一种应用于嵌入式系统的通用架构,应用分层设计思想,将嵌入式系统软件逻辑架构分为硬件驱动层、数据分发层、数据交换层、业务应用层,如图1所示。
[0031]硬件驱动层采用对上层屏蔽了通信接口硬件的差异性,实现硬件驱动的无关性。根据Drivers.xml文件中的配置信息,实现底层通讯接口的配置、初始化、启动、数据收发中断、数据缓存及事件通知。
[0032]数据分发层实现将来自硬件驱动层的数据的分流处理,包括向数据池的传递、向其他通信接口的透明转发或者重新组帧转发、数据帧过滤等。使用配置文件
Distributors.xml描述具体系统的数据分发器种类及配置参数。
[0033]数据交换层(DataExchange)用于接收数据分发层分流的数据以及为业务应用层提供访问接口,包含建立网络协议描述模型、系统配置文件解析模块、动态加载子模块、节点设备监控模块、数据接收、数据缓存及数据发送模块。
[0034]网络协议描述模型屏蔽了不同系统网络协议的差异,实现了各种通讯协议格式的统一描述。网络协议描述模型共由三层元素构成:Device元素,记录总线上与本系统架构进行数据交互的所有节点设备;PDO元素,记录该节点设备发送的数据帧;Signal元素,记录组成该数据帧的所有数据信息。
[0035]系统配置文件解析模块实现了网络协议配置文件Devices.xml文件、通讯接口配置文件Drivers.xml的解析,节点设备对象、数据帧对象和数据对象的动态创建,为通讯底层与数据应用上层提供了交互接口。
[0036]所述动态加载子模块采用XML格式的系统配置文件对系统所需动态加载子模块的名称及参数进行描述,系统主框架在完成初始化后,读取并解析系统配置文件,逐一传入模块参数并完成各子模块的动态加载。
[0037]节点设备监控模块实现了网络内各节点设备工作正常/故障状态的监视功能。当程序判断当前距最近一次更新数据的时间差值大于5倍数据帧的发送周期时,可认为系统在规定的时间内未收到新数据,即判定设备通讯故障;否则判定设备通讯正常。
[0038]数据接收、数据缓存及数据发送模块,接收到来自通信驱动层的数据帧后,根据帧头信息找到数据帧在数据池中的对应内存位置完成数据拷贝,实现接收本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于嵌入式系统的通用架构,其特征在于,包括:硬件驱动层、数据分发层、数据交换层和业务应用层,所述硬件驱动层根据Drivers.xml文件中的配置信息,实现底层通讯接口的配置、初始化、启动、数据收发中断、数据缓存及事件通知;所述数据分发层将接收的来自所述硬件驱动层的数据进行分流处理;所述数据交换层用于接收所述数据分发层分流的数据以及为所述业务应用层提供访问接口;所述业务应用层完成嵌入式系统的任务需求。2.根据权利要求1所述的一种应用于嵌入式系统的通用架构,其特征在于,所述数据分发层的分流处理包括向数据池传递数据、向通信接口的透明转发或重新组帧转发、以及数据帧过滤。3.根据权利要求1或2所述的一种应用于嵌入式系统的通用架构,其特征在于,所述数据交换层包括网络协议描述模型、系统配置文件解析模块、动态加载子模块、节点设备监控模块、和数据接收、数据缓存及数据发送模块;所述网络协议描述模型用于实现各种通讯协议格式的统一描述;所述系统配置文件解析模块用于实现网络协议配置文件Devices.xml的解析、通讯接口配置文件Drivers.xm...

【专利技术属性】
技术研发人员:谌兴良徐雪峰李海军张子昌李兵军丁磊朱江涛孙寒冰但杨文李彬
申请(专利权)人:中国船舶重工集团公司第七零七研究所九江分部
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1