一种can总线通信的方法及装置的制造方法

文档序号:9551165阅读:488来源:国知局
一种can总线通信的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别涉及一种CAN总线通信的方法及装置。
【背景技术】
[0002] CAN(ControllerAreaNetwork,控制器局域网络)总线作为现场总线可以有效支 持分布式控制或实时控制的串行通信,现已广泛应用于工业自动化、汽车、船舶、医疗设备、 工业设备等方面。与一般通信总线相比,CAN总线的数据通信具有更强的可靠性、实时性及 灵活性。
[0003] 但是,有些系统中不支持CAN总线的数据通信。举例来说,中标麒麟作为国产操作 系统也已广泛应用于政府及军工企业,在国产操作系统下通过CAN总线实现数据的传输与 监控不仅需要购买昂贵的USB转CAN总线的设备,而且还需要自行开发设备驱动。通过上 述描述可见,现有技术中,针对不支持CAN总线数据通信的系统,要在该系统中实现CAN总 线数据通信比较复杂。

【发明内容】

[0004] 有鉴于此,本发明提供了一种CAN总线通信的方法及装置,能够更加简单的实现 CAN总线通信。
[0005] 第一方面,本发明提供了一种CAN总线通信的方法,包括:
[0006] 在主机的USB总线上挂载用于USB总线与UART总线转换的第一芯片,在所述主机 中配置用于UART总线与CAN总线转换的第二芯片,还包括:
[0007] S1 :通过USB总线将待传输数据发送给所述第一芯片;
[0008] S2 :通过所述第一芯片将所述待传输数据转换为UART总线数据,通过UART总线将 所述UART总线数据发送给所述第二芯片;
[0009] S3 :通过所述第二芯片将所述UART总线数据转换为CAN协议帧,将所述CAN协议 帧通过所述CAN总线传输。
[0010] 进一步地,在所述S1之前,还包括:
[0011] 识别所述第一芯片,生成所述第一芯片对应的/dev/ttyUSBO文件,接收第一配置 命令,根据所述第一配置命令,对所述/dev/ttyUSBO文件进行修改,实现对所述UART总线 的通信速率、流控方式、数据位、停止位、校验位的配置。
[0012] 进一步地,在所述S1之前,还包括:
[0013] 接收第二配置命令,根据所述第二配置命令,打开CAN总线中用于传输数据的CAN 通道;
[0014] 所述S3中,所述将所述CAN协议帧通过所述CAN总线传输,包括:
[0015] 将所述CAN协议帧在CAN总线的打开的CAN通道上传输。
[0016] 进一步地,所述S3中,所述通过所述第二芯片将所述UART总线数据转换为CAN协 议帧,包括:
[0017] 将待传输数据以8位为一帧,在帧头处添加帧识别码、通道识别码、帧类别及格式 码、帧ID,在帧尾添加对数据位的校验和,生成所述CAN协议帧。
[0018] 第二方面,本发明提供了一种CAN总线通信的方法,包括:
[0019] 在主机的USB总线上挂载用于USB总线与UART总线转换的第一芯片,在所述主机 中配置用于UART总线与CAN总线转换的第二芯片,还包括:
[0020] A1 :通过CAN总线接收外部发来的CAN协议帧,并通过CAN总线将所述CAN协议帧 发送给所述第二芯片;
[0021 ] A2 :通过所述第二芯片将所述CAN协议帧转换为UART总线数据,通过UART总线将 所述UART总线数据发送给所述第一芯片;
[0022] A3 :通过所述第一芯片将所述UART总线数据转换为USB总线数据,在USB总线上 传输所述USB总线数据。
[0023] 进一步地,在所述A1之前,还包括:
[0024] 识别所述第一芯片,生成所述第一芯片对应的/dev/ttyUSBO文件,接收第一配置 命令,根据所述第一配置命令,对所述/dev/ttyUSBO文件进行修改,实现对所述UART总线 的通信速率、流控方式、数据位、停止位、校验位的配置。
[0025] 进一步地,在所述A1之前,还包括:
[0026] 接收第二配置命令,根据所述第二配置命令,打开CAN总线中用于传输数据的CAN 通道;
[0027] 所述A1包括,包括:
[0028] 通过CAN总线的所述CAN通道接收外部发来的CAN协议帧,并通过CAN总线的CAN 通道将所述CAN协议帧发送给所述第二芯片。
[0029] 进一步地,在所述A1之前,还包括:设置UART的缓冲区;
[0030] 所述A1包括:将所述CAN总线接收的所述CAN协议帧添加到所述UART的缓冲区 中,从所述UART的缓冲区中获取所述CAN协议帧,将获取的CAN协议帧发送通过CAN总线 发送给所述第二芯片。
[0031] 进一步地,在所述A2中,所述通过所述第二芯片将所述CAN协议帧转换为UART总 线数据,包括:
[0032] 从所述CAN协议帧中提取数据位,将所述数据位转换为所述UATR总线数据。
[0033] 第三方面,本发明提供了一种CAN总线通信的装置,包括:
[0034] 第一配置单元,用于在主机的USB总线上挂载用于USB总线与UART总线转换的第 一芯片,在所述主机中配置用于UART总线与CAN总线转换的第二芯片;
[0035] 第一USB总线传输单元,用于通过USB总线将待传输数据发送给所述第一芯片;
[0036] 第一UART总线传输单元,用于通过所述第一芯片将所述待传输数据转换为UART 总线数据,通过UART总线将所述UART总线数据发送给所述第二芯片;
[0037] 第一CAN总线传输单元,用于通过所述第二芯片将所述UART总线数据转换为CAN 协议帧,将所述CAN协议帧通过所述CAN总线传输。
[0038] 第四方面,本发明提供了一种CAN总线通信的装置,包括:
[0039] 第二配置单元,用于在主机的USB总线上挂载用于USB总线与UART总线转换的第 一芯片,在所述主机中配置用于UART总线与CAN总线转换的第二芯片;
[0040] 第二CAN总线传输单元,用于通过CAN总线接收外部发来的CAN协议帧,并通过 CAN总线将所述CAN协议帧发送给所述第二芯片;
[0041] 第二UART总线传输单元,用于通过所述第二芯片将所述CAN协议帧转换为UART 总线数据,通过UART总线将所述UART总线数据发送给所述第一芯片;
[0042] 第二USB总线传输单元,用于通过所述第一芯片将所述UART总线数据转换为USB 总线数据,在USB总线上传输所述USB总线数据。
[0043] 进一步地,还包括:设置单元,用于设置UART的缓冲区;
[0044] 所述第二CAN总线传输单元,用于将所述CAN总线接收的所述CAN协议帧添加到 所述UART的缓冲区中,从所述UART的缓冲区中获取所述CAN协议帧,将获取的CAN协议帧 发送通过CAN总线发送给所述第二芯片。
[0045] 在本发明提供的一种CAN总线通信的方法及装置中,在主机上分别设置第一芯片 和第二芯片,通过第一芯片将待传输数据转换为UART总线数据,将UART总线数据通过第二 芯片转换为CAN数据帧,将CAN数据帧在CAN总线中传输,实现CAN总线的数据通信,该实 施例提供的方法中,无需对CAN总线编写复杂的驱动程序,能够更加简单的实现CAN总线通 ?目。
【附图说明】
[0046] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。
[0047] 图1是本发明一实施例提供的一种CAN总线通信的方法的流程图;
[0048] 图2是本发明一实施例提供的另一种CAN总线通信的方法的流程图;
[0049] 图3是本发明一实施例提供的又一种CAN总线通信的方法的流程图;
[0050] 图4是本发明一实施例提供的再一种CAN总线通信的方法的流程图;
[0051] 图5是本
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1