[发明专利]一种CAN总线通信的方法及装置在审
申请号: | 201510606609.8 | 申请日: | 2015-09-22 |
公开(公告)号: | CN105306323A | 公开(公告)日: | 2016-02-03 |
发明(设计)人: | 马晓光;吴登勇;陈亮甫 | 申请(专利权)人: | 山东超越数控电子有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 can 总线 通信 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种CAN总线通信的方法及装置。
背景技术
CAN(ControllerAreaNetwork,控制器局域网络)总线作为现场总线可以有效支持分布式控制或实时控制的串行通信,现已广泛应用于工业自动化、汽车、船舶、医疗设备、工业设备等方面。与一般通信总线相比,CAN总线的数据通信具有更强的可靠性、实时性及灵活性。
但是,有些系统中不支持CAN总线的数据通信。举例来说,中标麒麟作为国产操作系统也已广泛应用于政府及军工企业,在国产操作系统下通过CAN总线实现数据的传输与监控不仅需要购买昂贵的USB转CAN总线的设备,而且还需要自行开发设备驱动。通过上述描述可见,现有技术中,针对不支持CAN总线数据通信的系统,要在该系统中实现CAN总线数据通信比较复杂。
发明内容
有鉴于此,本发明提供了一种CAN总线通信的方法及装置,能够更加简单的实现CAN总线通信。
第一方面,本发明提供了一种CAN总线通信的方法,包括:
在主机的USB总线上挂载用于USB总线与UART总线转换的第一芯片,在所述主机中配置用于UART总线与CAN总线转换的第二芯片,还包括:
S1:通过USB总线将待传输数据发送给所述第一芯片;
S2:通过所述第一芯片将所述待传输数据转换为UART总线数据,通过UART总线将所述UART总线数据发送给所述第二芯片;
S3:通过所述第二芯片将所述UART总线数据转换为CAN协议帧,将所述CAN协议帧通过所述CAN总线传输。
进一步地,在所述S1之前,还包括:
识别所述第一芯片,生成所述第一芯片对应的/dev/ttyUSB0文件,接收第一配置命令,根据所述第一配置命令,对所述/dev/ttyUSB0文件进行修改,实现对所述UART总线的通信速率、流控方式、数据位、停止位、校验位的配置。
进一步地,在所述S1之前,还包括:
接收第二配置命令,根据所述第二配置命令,打开CAN总线中用于传输数据的CAN通道;
所述S3中,所述将所述CAN协议帧通过所述CAN总线传输,包括:
将所述CAN协议帧在CAN总线的打开的CAN通道上传输。
进一步地,所述S3中,所述通过所述第二芯片将所述UART总线数据转换为CAN协议帧,包括:
将待传输数据以8位为一帧,在帧头处添加帧识别码、通道识别码、帧类别及格式码、帧ID,在帧尾添加对数据位的校验和,生成所述CAN协议帧。
第二方面,本发明提供了一种CAN总线通信的方法,包括:
在主机的USB总线上挂载用于USB总线与UART总线转换的第一芯片,在所述主机中配置用于UART总线与CAN总线转换的第二芯片,还包括:
A1:通过CAN总线接收外部发来的CAN协议帧,并通过CAN总线将所述CAN协议帧发送给所述第二芯片;
A2:通过所述第二芯片将所述CAN协议帧转换为UART总线数据,通过UART总线将所述UART总线数据发送给所述第一芯片;
A3:通过所述第一芯片将所述UART总线数据转换为USB总线数据,在USB总线上传输所述USB总线数据。
进一步地,在所述A1之前,还包括:
识别所述第一芯片,生成所述第一芯片对应的/dev/ttyUSB0文件,接收第一配置命令,根据所述第一配置命令,对所述/dev/ttyUSB0文件进行修改,实现对所述UART总线的通信速率、流控方式、数据位、停止位、校验位的配置。
进一步地,在所述A1之前,还包括:
接收第二配置命令,根据所述第二配置命令,打开CAN总线中用于传输数据的CAN通道;
所述A1包括,包括:
通过CAN总线的所述CAN通道接收外部发来的CAN协议帧,并通过CAN总线的CAN通道将所述CAN协议帧发送给所述第二芯片。
进一步地,在所述A1之前,还包括:设置UART的缓冲区;
所述A1包括:将所述CAN总线接收的所述CAN协议帧添加到所述UART的缓冲区中,从所述UART的缓冲区中获取所述CAN协议帧,将获取的CAN协议帧发送通过CAN总线发送给所述第二芯片。
进一步地,在所述A2中,所述通过所述第二芯片将所述CAN协议帧转换为UART总线数据,包括:
从所述CAN协议帧中提取数据位,将所述数据位转换为所述UATR总线数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子有限公司,未经山东超越数控电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510606609.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据路由方法及装置
- 下一篇:多通讯总线的采集结构