[发明专利]一种CAN信号封装、解析方法及装置在审
申请号: | 201810124346.0 | 申请日: | 2018-02-07 |
公开(公告)号: | CN108471401A | 公开(公告)日: | 2018-08-31 |
发明(设计)人: | 马建辉;王知学;慕永云;胡代荣 | 申请(专利权)人: | 山东省科学院自动化研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/40 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数组变量 结构体 信号组 封装 解析 报文数据 地址空间 报文 联合体 报文数据发送 报文缓冲区 发送寄存器 方法和装置 读取信号 发送报文 接收报文 解析报文 名称查找 软件设计 信号变量 信号封装 信号解析 体变量 位操作 组结构 写入 | ||
本发明公开了一种CAN信号封装、解析方法和装置,需要发送报文进行信号封装时,将需赋值的CAN信号直接对信号组结构体变量进行赋值;同时与报文联合体变量中的信号组结构体变量位于相同地址空间的数组变量发生相同改变;将数组变量中的报文数据发送至CAN控制器的发送寄存器,完成CAN信号封装。当接收报文进行信号解析时,根据待解析报文的名称查找报文缓冲区对应的报文数据;将报文数据写入报文联合体变量的数组变量中,同时与数组变量位于相同地址空间的信号组结构体变量发生相同改变;读取信号组结构体变量中的信号变量,完成CAN信号解析。本发明避免了大量的位操作,CAN节点软件设计更加简洁高效。
技术领域
本发明属于现场总线信号处理的技术领域,尤其是涉及一种CAN信号封装、解析方法和装置。
背景技术
CAN总线是国际上应用最广泛的现场总线之一,广泛应用于工业控制、楼宇自动化、汽车、船舶等领域。在CAN节点的软件开发中,底层通信完成CAN报文的发送和接收,上层应用根据网络矩阵表的定义,从接收到的CAN报文中提取解析相应的CAN信号,并实现对CAN信号的赋值,将多个CAN信号封装到相应的发送报文中。
对底层通信而言,CAN节点有报文发送者和报文接收者两种角色。作为接收者,CAN节点接收到总线上的报文后,CAN控制器将接收到的报文数据存放在字节形式的接收寄存器中,作为发送者,CAN节点启动报文发送前需要把报文数据写入CAN控制器中字节形式的发送寄存器中。接收寄存器和发送寄存器均为字节形式,接收报文和待发送报文的数据均为字节数组形式。
对上层应用而言,CAN总线系统设计者以网络矩阵表的形式定义了各个CAN信号在报文中的位置、长度、起始位置和取值范围。CAN信号一般是位形式,从字节数组形式的接收报文中提取解析位形式的CAN信号,以及赋值CAN信号并封装成字节数组形式的发送报文是上层应用一个非常重要的工作。
传统的CAN信号读取和赋值方法以报文字节数组为操作对象,读取某个CAN信号或者对某个CAN信号赋值时,需要对报文字节数组中的某个字节进行位操作。根据具体应用不同,一个CAN节点需要读取和赋值的CAN信号可能多达数十个甚至上百个,这种位操作方式使得提取解析CAN信号和赋值封装CAN信号成为了一个非常繁重而且容易出错的工作。而且,随着CAN节点功能的升级,一旦网络矩阵表发生改变,CAN信号的位置或长度或起始位置发生了变化,CAN信号对应的读取和赋值操作也会随之发生变化,这时需要对程序中所有涉及到该报文该信号的位操作进行修改。
综上所述,现有技术中如何方便、快捷地进行提取解析CAN信号和赋值封装CAN信号的问题,尚缺乏行之有效的解决方案。
发明内容
针对现有技术中存在的不足,解决现有技术中如何方便、快捷地进行提取解析CAN信号和赋值封装CAN信号的问题,本发明提出了一种CAN信号封装、解析方法和装置,有效避免了现有技术中在提取解析CAN信号、赋值封装CAN信号或网络矩阵表发生改变时对CAN信号大量的位操作,以方便快捷地解析和封装CAN信号。
本发明的第一目的是提供一种CAN信号封装方法。
为了实现上述目的,本发明采用如下一种技术方案:
一种CAN信号封装方法,该方法包括:
将需赋值的CAN信号直接对信号组结构体变量进行赋值;同时与报文联合体变量中的信号组结构体变量位于相同地址空间的数组变量发生相同改变;
将数组变量中的报文数据发送至CAN控制器的发送寄存器,完成CAN信号封装;
所述报文联合体变量为预先定义的与报文数据长度一致的联合体类型,包括数组变量和信号组结构体变量;所述信号组结构体变量为预先定义的与报文数据长度一致的信号组结构体类型,包括信号变量和占位符变量,所述信号变量的名称、长度、在信号组结构体中的位置分别与网络矩阵表中CAN信号的名称、长度、在报文中的位置一致。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省科学院自动化研究所,未经山东省科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810124346.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:鉴权方法、装置及系统
- 下一篇:基于接头暗号匿名的物联网身份认证方法