当前位置: 首页 > 专利查询>中山大学专利>正文

一种CAN设备开发系统及其方法技术方案

技术编号:23363068 阅读:44 留言:0更新日期:2020-02-18 17:16
本发明专利技术提供一种CAN设备开发系统,包括:代码生成模块:根据本系统约定的特有格式,解析CAN数据协议文件,产生与CAN管理模块配合的代码框架,实现CAN报文的数据解析;CAN管理模块:动态配置CAN接口,动态加载由本框架产生的CAN设备业务功能组件,从多个CAN硬件并行地读取报文,并根据CAN数据协议的约定,为每个业务功能组件分发报文,同时接受各个业务功能组件的报文发送请求,向CAN硬件发送报文;CAN‑SDK:与开发阶段与运行时阶段,链接CAN管理模块和由本框架产生的业务功能组件的调用接口。本系统实现了对CAN数据协议解析的自动化,使得协议解析与业务逻辑功能的实现得以分开,大大降低了开发人员的代码工作量与有关协议解析的出错率。

A can equipment development system and its method

【技术实现步骤摘要】
一种CAN设备开发系统及其方法
本专利技术属于CAN设备开发
,更具体地,涉及一种CAN设备开发系统及其方法。
技术介绍
CAN(控制器局域网络,ControllerAreaNetwork的简称)作为一种实时性好、可靠性高、灵活性强、结构简单的通信总线,广泛地用于工业自动化、船舶、医疗设备、工业设备等嵌入式计算机控制系统中。而随着无人系统研究的逐渐火热,CAN设备的业务功能开发需求也逐渐增多,传统开发手段已经难以应付易变而多样的CAN设备应用程序开发。
技术实现思路
本专利技术为克服上述现有技术中的缺陷,提供一种CAN设备开发系统及其方法,。为解决上述技术问题,本专利技术采用的技术方案是:一种CAN设备开发系统,包括:代码生成模块,用于根据本系统约定的特有格式,解析CAN数据协议文件,产生与CAN管理模块配合的C++代码框架,实现CAN报文的数据解析,并为CAN设备开发者提供接口进行二次开发;该代码框架兼容了ros框架下的package格式,以方便开发人员接入基于ros框架的其他系统模块。框架代码实现了本文档来自技高网...

【技术保护点】
1.一种CAN设备开发系统,其特征在于,包括:/n代码生成模块,用于根据本系统约定的特有格式,解析CAN数据协议文件,产生与CAN管理模块配合的C++头代码框架,实现CAN报文的数据解析,并为CAN设备开发者提供接口进行二次开发;/nCAN管理模块,用于首先根据CAN-SDK的接口,执行各个CAN设备业务功能组件的初始化流程,实现CAN管理模块对CAN数据事件的注册,同时异步启动各个CAN设备业务功能组件的主循环;然后CAN管理模块进入多CAN接口并行监听的处理流程,同时响应各个CAN设备业务功能组件的报文发送请求;当CAN管理模块从某个CAN接口接收到新的报文时,其会根据该CAN报文的ID,...

【技术特征摘要】
1.一种CAN设备开发系统,其特征在于,包括:
代码生成模块,用于根据本系统约定的特有格式,解析CAN数据协议文件,产生与CAN管理模块配合的C++头代码框架,实现CAN报文的数据解析,并为CAN设备开发者提供接口进行二次开发;
CAN管理模块,用于首先根据CAN-SDK的接口,执行各个CAN设备业务功能组件的初始化流程,实现CAN管理模块对CAN数据事件的注册,同时异步启动各个CAN设备业务功能组件的主循环;然后CAN管理模块进入多CAN接口并行监听的处理流程,同时响应各个CAN设备业务功能组件的报文发送请求;当CAN管理模块从某个CAN接口接收到新的报文时,其会根据该CAN报文的ID,调用相应的回调处理函数;
CAN-SDK,用于作为操作系统动态库及相关C++头文件,为CAN管理模块以及产生的CAN设备业务逻辑组件的公共依赖,封装CAN硬件读写、CAN报文数据解析、动态库加载等系统功能;同时提供CAN设备业务逻辑组件的初始化接口、CAN管理模块回调事件注册接口、CAN管理模块数据发送接口,连接CAN管理模块与CAN设备业务逻辑组件,实现软硬件解耦的系统特性。


2.一种开发CAN设备的方法,其特征在于,使用权利要求1所述的CAN设备开发系统,具体包括以下步骤:
S1.根据实际CAN设备情况,开发人员编写本系统格式的CAN数据协议文件;
S2.使用系统中的代码生成模块,解析步骤S1的CAN数据协议文件,并生成依赖CAN-SDK的C++代码框架;
S3.通过代码生成模块产生依赖于CAN-SDK的框架代码,由开发人员补充具体的业务功能实现后,编译为CAN业务功能组件,交由CAN管理模块动态加载;
S4.CAN管理模块通过CAN-SDK初始化各个业务功能组件,并注册协议约定的CAN报文接收事件,在接收到CAN报文时,分开给对应业务功能组件进行处理;
S5.CAN管理模块同时响应业务功能组件的CAN报文发送请求,往动态配置的CAN接口发送相关数据。


3.根据权利要求2所述的开发CAN设备的方法,其特征在于,所述的S2步骤中生成的代码框架结构,最外层是一个rospackage文件夹,其中包含编译文件CMakeLists.txt,指导该CAN业务功能组件的编译过程,和描述文件package.xml...

【专利技术属性】
技术研发人员:杨腾陈龙
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

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

1