协议转换装置及数据传输方法

文档序号:7904492阅读:106来源:国知局
专利名称:协议转换装置及数据传输方法
技术领域
本发明涉及工业控制领域,尤其涉及一种协议转换装置及数据传输方法。
背景技术
开放式控制局域网络(CANopen)协议集定义了基于控制局域网络(Control Area Network;简称为CAN)的分布式工业自动化系统的应用标准以及CAN应用层通信标准。 CANopen是CAN在自动化领域(CAN-in_Automation ;简称为CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认;尤其是在欧洲,CANopen被认为是在基于CAN的工业系统中占领导地位的标准。目前,CANopen在城市轨道车辆和电动汽车控制系统具有广泛的应用。高级数据链路控制(High-Level Data Link Control ;简称为HDLC)是串行总线通信协议的一种,适用于工业控制现场,目前HDLC在轨道车辆控制系统等领域有着较为广泛的应用。目前轨道车辆供货商众多,各车辆设备通信接口缺乏统一标准,各系统采用的通信接协议可能不同。当分别使用CANopen和HDLC通信协议的设备并存时,双方无法直接进行互联通信。

发明内容
本发明提供一种协议转换装置及数据传输方法,用以实现CANopen网络与HDLC总线的互联通信。本发明提供一种协议转换装置,包括开放式控制局域网络CANopen总线收发器、 CANopen总线协议控制器、主控单元、高级数据链路控制HDLC总线协议控制器、HDLC总线收发器;所述CANopen总线收发器,与CANopen总线相连,用于与所述CANopen总线相互传输CANopen数据帧;所述CANopen总线协议控制器,与所述CANopen总线收发器相连,用于与所述 CANopen总线收发器相互传输CANopen数据帧;所述主控单元,分别与所述CANopen总线协议控制器和所述HDLC总线协议控制器相连,用于从所述CANopen总线协议控制器内的CANopen数据帧中读取CANopen数据信息, 并将读取的CANopen数据信息写入所述HDLC总线协议控制器,以及用于从所述HDLC总线协议控制器内的HDLC数据帧中读取HDLC数据信息,并将读取的HDLC数据信息写入所述 CANopen总线协议控制器;所述HDLC总线协议控制器,与所述HDLC总线收发器连接,用于与所述HDLC总线收发器相互传输HDLC数据帧;所述HDLC总线收发器,与HDLC现场总线相连,用于与所述HDLC现场总线相互传输HDLC数据帧。
上述协议转换装置,其中,所述CANopen总线协议控制器包括=CANopen编解码器和CANopen通讯存储器;所述CANopen通讯存储器,用于存储所述CANopen总线收发器传输的CANopen数据帧和所述主控单元写入的HDLC数据信息;所述CANopen编解码器,用于将所述主控单元写入的HDLC数据信息编码成 CANopen数据帧;所述HDLC总线协议控制器包括HDLC编解码器和HDLC通讯存储器;所述HDLC通讯存储器,用于存储所述HDLC总线收发器传输的HDLC数据帧和所述主控单元写入的CANopen数据信息;所述HDLC编解码器,用于将所述主控单元写入的CANopen数据信息编码成HDLC 数据帧。上述协议转换装置,其中,所述主控单元包括中央处理单元CPU ;所述CPU,用于读所述CANopen通讯存储器,获取CANopen数据信息,将所获取的 CANopen数据信息写入所述HDLC通讯存储器;以及用于读所述HDLC通讯存储器,获取HDLC 数据信息,将所获取的HDLC数据信息写入所述CANopen通讯存储器。上述协议转换装置,其中,所述CPU具体用于读所述CANopen通讯存储器,获取 CANopen数据帧中的CANopen数据信息,将所获取的CANopen数据信息的前2个字节作为 HDLC数据帧中的地址和控制信息,将所获取的CANopen数据信息的第3个字节和所述第3 个字节之后的字节作为HDLC数据帧中的HDLC数据信息,分别写入所述HDLC通讯存储器; 以及具体用于读所述HDLC通讯存储器,获取HDLC数据帧中的HDLC数据信息,将所获取的 HDLC数据信息的前2个字节作为CANopen数据帧中的控制信息,将所获取的HDLC数据信息的地3个字节和所述第3个字节之后的字节作为CANopen数据帧中的CANopen数据信息, 分别写入所述CANopen通讯存储器。上述协议转换装置,其中,所述主控单元还包括配置存储器,用于存储配置信息,所述配置信息包括所述HDLC通讯存储器的地址、所述CANopen通讯存储器的地址、传输速率、传输周期和传输数据大小;所述CPU还用于读所述配置存储器,获取所述配置信息,并根据所述配置信息对所述HDLC通讯存储器和所述CANopen通讯存储器进行初始化。上述协议转换装置,还包括电源模块,分别与所述CANopen总线收发器、CANopen 总线协议控制器、主控单元、HDLC总线协议控制器和HDLC总线收发器连接,用于向所述 CANopen总线收发器、CANopen总线协议控制器、主控单元、HDLC总线协议控制器和HDLC总线收发器提供电源。本发明提供一种应用本发明提供的任一协议转换装置实现的数据传输方法,包括当CANopen总线协议控制器接收到CANopen总线收发器发送的CANopen数据帧时,主控单元读所述CANopen总线协议控制器,从所述CANopen总线协议控制器接收到的CANopen 数据帧中获取CANopen数据信息,将所获取的CANopen数据信息写入所述HDLC总线协议控制器;当所述HDLC总线协议控制器接收到HDLC总线收发器发送的HDLC数据帧时,所述主控单元读所述HDLC协议总线控制器,从所述HDLC总线协议控制器接收到的HDLC数据帧中获取HDLC数据信息,将所获取的HDLC数据信息写入所述CANopen总线协议控制器。上述数据传输方法,其中,所述主控单元的CPU读所述CANopen总线协议控制器的CANopen通讯存储器,获取所述CANopen数据帧中的CANopen数据信息,将所获取的CANopen数据信息的前2个字节作为HDLC数据帧中的地址和控制信息,将所获取的 CANopen数据信息的第3个字节和所述第3个字节之后的字节作为HDLC数据帧中的HDLC 数据信息,分别写入所述HDLC总线协议控制器的HDLC通讯存储器;所述主控单元的CPU读所述HDLC通讯存储器,获取HDLC数据帧中的HDLC数据信息,将所获取的HDLC数据信息的前2个字节作为CANopen数据帧中的控制信息,将所获取的HDLC数据信息的第3个字节和所述第3个字节之后的字节作为CANopen数据帧中的 CANopen数据信息,分别写入所述CANopen通讯存储器。上述数据传输方法,所述主控单元读所述CANopen总线协议控制器和所述HDLC总线协议控制器之前包括所述主控单元的CPU读所述主控单元的配置存储器,获取所述配置存储器中的配置信息,并根据所述配置信息对所述CANopen协议总线控制器的CANopen 通讯存储器和所述HDLC总线协议控制器的HDLC通讯存储器进行初始化,所述配置信息包括所述HDLC通讯存储器的地址、所述CANopen通讯存储器的地址、传输速率、传输周期和传输数据大小。上述数据传输方法,其中,所述主控单元的CPU对所述HDLC通讯存储器和所述 CANopen通讯存储器进行初始化之前包括设置所述CANopen总线协议控制器和所述HDLC 总线协议控制器处于通讯禁止状态。本发明的协议转换装置及数据传输方法,协议转换装置通过主控单元将CANopen 协议总线控制器中的CANopen数据信息转换为HDLC数据信息格式存储到HDLC协议总线控制器中,将HDLC协议总线控制器中的HDLC数据信息转换为CANopen数据信息格式存储到CANopen协议总线控制器中,而CANopen协议总线控制器和HDLC协议总线控制器分别将CANopen数据信息和HDLC数据信息发送到各自的应用环境中,实现了在CANopen网络与 HDLC总线之间相互传输数据,实现了 CANopen网络与HDLC总线的结合与互通。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的协议转换装置的结构示意图;图2为本发明另一实施例提供的协议转换装置的结构示意图;图3A为本发明一实施例提供的CANopen设备6和HDLC现场总线设备5进行数据通讯的系统结构示意图;图;3B为本发明一实施例提供的一种数据传输方法的流程图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一实施例提供的协议转换装置的结构示意图。如图1所示,本实施例的装置包括=CANopen总线协议控制器ll、CANopen总线收发器12、主控单元30、HDLC总线协议控制器21和HDLC总线收发器22。其中,CANopen总线收发器12与CANopen总线2相连,用于与CANopen总线2相互传输CANopen数据帧,即CANopen总线收发器12 —方面从CANopen总线2上接收CANopen 数据帧,一方面将从CANopen总线协议控制器11 一侧接收到的CANopen数据帧发送到 CANopen总线2上。CANopen总线协议控制器11与CANopen总线收发器12相连,用于与CANopen总线收发器12相互传输CANopen数据帧,即CANopen总线协议控制器11 一方面接收CANopen 总线收发器12发送的CANopen数据帧,另一方面将根据主控单元30写入的HDLC数据信息生成的CANopen数据帧发送给CANopen总线收发器12,从而由CANopen总线收发器12将 CANopen数据帧发送到CANopen总线2上。主控单元30,与CANopen总线协议控制器11相连,用于与CANopen总线协议控制器11相互传输数据信息;主控单元30还与HDLC总线协议控制器21相连,并用于与HDLC 总线协议控制器21相互传输数据信息。具体的,主控单元30从CANopen总线协议控制器 11内的CANopen数据帧中读取CANopen数据信息,并将读取的CANopen数据信息写入HDLC 总线协议控制器21,以及从HDLC总线协议控制器21内的HDLC数据帧中读取HDLC数据信息,并将读取的HDLC数据信息写入CANopen总线协议控制器11。HDLC总线协议控制器21,与HDLC总线收发器22连接,用于与HDLC总线收发器22 相互传输HDLC数据帧,即HDLC总线协议控制器21 —方面接收HDLC总线收发器22发送的 HDLC数据帧,另一方面将根据主控单元30写入的CANopen数据信息生成的HDLC数据帧发送给HDLC总线收发器22,从而由HDLC总线收发器22将HDLC数据帧发送到HDLC现场总线 3上。HDLC总线收发器22,与HDLC现场总线3相连,用于与HDLC现场总线相互传输HDLC 数据帧,即HDLC总线收发器22 —方面接收HDLC现场总线3发送的HDLC数据帧,另一方面将HDLC总线协议控制器21发送的HDLC数据帧发送到HDLC现场总线3上。本实施例的协议转换装置,通过CANopen总线协议控制器、CANopen总线收发器、 主控单元、HDLC总线协议控制器和HDLC总线收发器等功能器件能够将CANopen数据帧中的 CANopen数据信息转换为HDLC数据信息,然后转发给HDLC现场总线,并能够将HDLC数据帧中的HDLC数据信息转换为CANopen数据信息,然后转发给CANopen总线,实现在CANopen 网络与HDLC总线之间相互传输数据,实现了 CANopen网络与HDLC总线的互联与互通。图2为本发明另一实施例提供的协议转换装置的结构示意图。如图2所示,本实施例的装置还包括电源模块40。其中,电源模块40,分别与CANopen总线收发器12、CANopen总线协议控制器11、 主控单元30、HDLC总线协议控制器21、HDLC总线收发器22相连,用于向CANopen总线收发器12、CANopen总线协议控制器11、主控单元30、HDLC总线协议控制器21、HDLC总线收发器22提供电源能量。进一步,如图2所示,本实施例的CANopen总线协议控制器11包括=CANopen通讯存储器111和CANopen编解码器112。其中,CANopen通讯存储器111,用于存储CANopen总线收发器12传输的CANopen 数据帧和主控单元30写入的HDLC数据信息。CANopen编解码器112,与CANopen通讯存储器111相连,用于将主控单元30写入的HDLC数据信息编码成CANopen数据帧。相应地,HDLC总线协议控制器21包括HDLC通讯存储器211和HDLC编解码器 212。其中,HDLC通讯存储器211,用于存储HDLC总线收发器22传输的HDLC数据帧和主控单元30写入的CANopen数据信息。HDLC编解码器212,用于将主控单元30写入的 CANopen数据信息编码成HDLC数据帧。更进一步,本实施例的主控单元30包括中央处理单元(Center Processing Unit ;简称为CPU)301,程序存储器302、配置存储器303和数据存储器304。其中,CPU301可以采用ARM7处理器。程序存储器302可由非易失性闪存(FLASH) 组成,用于永久性存储相关的软件程序。配置存储器303可由非易失性闪存(FLASH)存组成,用于永久性存储CANopen协议总线控制器11和HDLC协议总线控制器21进行数据传输时的相关配置信息。相关配置信息主要包括HDLC通讯存储器211的地址、CANopen通讯存储器111的地址、传输速率、传输周期和传输数据大小等。另外,配置存储器303还可以用于永久性存储用户的应用数据等。数据存储器304可由同步动态随机访问存储器(SDRAM) 组成,由于具有速度快、容量大等优点,主要用于代码运行时的内存分配。其中,CPU301用于读CANopen通讯存储器111,获取CANopen数据信息,将所获取的CANopen数据信息写入HDLC通讯存储器211。具体的,CPU301通过标准的总线读写来控制CANopen总线协议控制器11发送CANopen数据帧或接收CPU301发送给它的HDLC数据信息。CANopen总线协议控制器11负责CANopen总线的监视和管理、发送或接收数据、并负责编码或解码CANopen数据帧;CANopen总线收发器12负责将接收到的CANopen数据帧转换成符合CANopen总线物理层规定的电信号发送到CANopen总线2上,同时对CANopen总线协议控制器11、主控单元30、HDLC总线协议控制器21进行隔离和保护。CPU301还用于读HDLC通讯存储器211,获取HDLC数据信息,将所获取的HDLC数据信息写入CANopen通讯存储器111。标准的CANopen数据帧格式如表1所示,包括控制信息(CONTROL)和有效数据 (DATA)两部分,其中有效数据部分(DATA)即为所述的CANopen数据信息。标准的HDLC数据帧格式如表2所示,包括地址(ADDRESS)、控制信息(CONTROL)、有效数据(DATA)和冗余校验(FCS)信息,其中有效数据(DATA)即为所述的HDLC数据信息。表 权利要求
1.一种协议转换装置,其特征在于,包括开放式控制局域网络CANopen总线收发器、 CANopen总线协议控制器、主控单元、高级数据链路控制HDLC总线协议控制器、HDLC总线收发器;所述CANopen总线收发器,与CANopen总线相连,用于与所述CANopen总线相互传输 CANopen数据帧;所述CANopen总线协议控制器,与所述CANopen总线收发器相连,用于与所述CANopen 总线收发器相互传输CANopen数据帧;所述主控单元,分别与所述CANopen总线协议控制器和所述HDLC总线协议控制器相连,用于从所述CANopen总线协议控制器内的CANopen数据帧中读取CANopen数据信息, 并将读取的CANopen数据信息写入所述HDLC总线协议控制器,以及用于从所述HDLC总线协议控制器内的HDLC数据帧中读取HDLC数据信息,并将读取的HDLC数据信息写入所述 CANopen总线协议控制器;所述HDLC总线协议控制器,与所述HDLC总线收发器连接,用于与所述HDLC总线收发器相互传输HDLC数据帧;所述HDLC总线收发器,与HDLC现场总线相连,用于与所述HDLC现场总线相互传输 HDLC数据帧。
2.根据权利要求1所述的协议转换装置,其特征在于,所述CANopen总线协议控制器包括CANopen编解码器和CANopen通讯存储器;所述CANopen通讯存储器,用于存储所述CANopen总线收发器传输的CANopen数据帧和所述主控单元写入的HDLC数据信息;所述CANopen编解码器,用于将所述主控单元写入的HDLC数据信息编码成CANopen数据帧;所述HDLC总线协议控制器包括HDLC编解码器和HDLC通讯存储器;所述HDLC通讯存储器,用于存储所述HDLC总线收发器传输的HDLC数据帧和所述主控单元写入的CANopen数据信息;所述HDLC编解码器,用于将所述主控单元写入的CANopen数据信息编码成HDLC数据帧。
3.根据权利要求2所述的协议转换装置,其特征在于,所述主控单元包括中央处理单元 CPU ;所述CPU,用于读所述CANopen通讯存储器,获取CANopen数据信息,将所获取的 CANopen数据信息写入所述HDLC通讯存储器;以及用于读所述HDLC通讯存储器,获取HDLC 数据信息,将所获取的HDLC数据信息写入所述CANopen通讯存储器。
4.根据权利要求3所述的协议转换装置,其特征在于,所述CPU具体用于读所述 CANopen通讯存储器,获取CANopen数据帧中的CANopen数据信息,将所获取的CANopen数据信息的前2个字节作为HDLC数据帧中的地址和控制信息,将所获取的CANopen数据信息的第3个字节和所述第3个字节之后的字节作为HDLC数据帧中的HDLC数据信息,分别写入所述HDLC通讯存储器;以及具体用于读所述HDLC通讯存储器,获取HDLC数据帧中的HDLC 数据信息,将所获取的HDLC数据信息的前2个字节作为CANopen数据帧中的控制信息,将所获取的HDLC数据信息的第3个字节和所述第3个字节之后的字节作为CANopen数据帧中的CANopen数据信息,分别写入所述CANopen通讯存储器。
5.根据权利要求3或4所述的协议转换装置,其特征在于,所述主控单元还包括配置存储器,用于存储配置信息,所述配置信息包括所述HDLC通讯存储器的地址、所述CANopen通讯存储器的地址、传输速率、传输周期和传输数据大小;所述CPU还用于读所述配置存储器,获取所述配置信息,并根据所述配置信息对所述 HDLC通讯存储器和所述CANopen通讯存储器进行初始化。
6.根据权利要求1或2或3或4所述的协议转换装置,其特征在于,还包括电源模块,分别与所述CANopen总线收发器、CANopen总线协议控制器、主控单元、HDLC 总线协议控制器和HDLC总线收发器连接,用于向所述CANopen总线收发器、CANopen总线协议控制器、主控单元、HDLC总线协议控制器和HDLC总线收发器提供电源。
7.一种应用权利要求1-6任一项所述的协议转换装置实现的数据传输方法,其特征在于,包括当CANopen总线协议控制器接收到CANopen总线收发器发送的CANopen数据帧时,主控单元读所述CANopen总线协议控制器,从所述CANopen总线协议控制器接收到的CANopen 数据帧中获取CANopen数据信息,将所获取的CANopen数据信息写入所述HDLC总线协议控制器;当所述HDLC总线协议控制器接收到HDLC总线收发器发送的HDLC数据帧时,所述主控单元读所述HDLC协议总线控制器,从所述HDLC总线协议控制器接收到的HDLC数据帧中获取HDLC数据信息,将所获取的HDLC数据信息写入所述CANopen总线协议控制器。
8.根据权利要求7所述的数据传输方法,其特征在于,所述主控单元读所述CANopen总线协议控制器,从所述CANopen总线协议控制器接收到的CANopen数据帧中获取CANopen 数据信息,将所获取的CANopen数据信息写入所述HDLC总线协议控制器包括所述主控单元的CPU读所述CANopen总线协议控制器的CANopen通讯存储器,获取所述CANopen数据帧中的CANopen数据信息,将所获取的CANopen数据信息的前2个字节作为HDLC数据帧中的地址和控制信息,将所获取的CANopen数据信息的第3个字节和所述第 3个字节之后的字节作为HDLC数据帧中的HDLC数据信息,分别写入所述HDLC总线协议控制器的HDLC通讯存储器;所述主控单元读所述HDLC协议总线控制器,从所述HDLC总线协议控制器接收到的 HDLC数据帧中获取HDLC数据信息,将所获取的HDLC数据信息写入所述CANopen总线协议控制器包括所述主控单元的CPU读所述HDLC通讯存储器,获取HDLC数据帧中的HDLC数据信息,将所获取的HDLC数据信息的前2个字节作为CANopen数据帧中的控制信息,将所获取的HDLC 数据信息的地3个字节和所述第3个字节之后的字节作为CANopen数据帧中的CANopen数据信息,分别写入所述CANopen通讯存储器。
9.根据权利要求7或8所述的数据传输方法,其特征在于,所述主控单元读所述 CANopen总线协议控制器和所述HDLC总线协议控制器之前包括所述主控单元的CPU读所述主控单元的配置存储器,获取所述配置存储器中的配置信息,并根据所述配置信息对所述CANopen协议总线控制器的CANopen通讯存储器和所述 HDLC总线协议控制器的HDLC通讯存储器进行初始化,所述配置信息包括所述HDLC通讯存储器的地址、所述CANopen通讯存储器的地址、传输速率、传输周期和传输数据大小。
10.根据权利要求9所述的数据传输方法,其特征在于,所述主控单元的CPU对所述 HDLC通讯存储器和所述CANopen通讯存储器进行初始化之前包括设置所述CANopen总线协议控制器和所述HDLC总线协议控制器处于通讯禁止状态。
全文摘要
本发明提供一种协议转换装置及数据传输方法。装置包括CANopen总线收发器、CANopen总线协议控制器、主控单元、HDLC总线协议控制器、HDLC总线收发器;CANopen总线收发器与CANopen总线相互传输CANopen数据帧;CANopen总线协议控制器与CANopen总线收发器相互传输CANopen数据帧;主控单元用于从CANopen总线协议控制器内读取CANopen数据信息并写入HDLC总线协议控制器,从HDLC总线协议控制器内读取HDLC数据信息并写入CANopen总线协议控制器;HDLC总线协议控制器,与HDLC总线收发器相互传输HDLC数据帧;HDLC总线收发器与HDLC现场总线相互传输HDLC数据帧。本发明技术方案实现了在CANopen网络与HDLC总线之间相互传输数据。
文档编号H04L29/06GK102307203SQ201110266049
公开日2012年1月4日 申请日期2011年9月8日 优先权日2011年9月8日
发明者宫保贵, 杜振环, 沈世博, 王晓鹏 申请人:中国北车股份有限公司大连电力牵引研发中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1