支持can与modbus的互通信的网关设备及其通信方法

文档序号:7854625阅读:119来源:国知局
专利名称:支持can与modbus的互通信的网关设备及其通信方法
支持CAN与MODBUS的互通信的网关设备及其通信方法相关申请的交叉引用本申请要求35U. S. C. 119和35U. S. C. 365下的韩国专利申请号10-2011-0062550(2011-06-27)的优先权,这里通过参考的方式将其整体弓I入。
背景技术
本公开涉及一种用在汽车控制器局域网(CAN)通信网络设备和Modbus通信设备(即,工业现场总线中的一条)之间的通信中继的帧转换方法, 和使用该方法的协议转换网关设备。近来,汽车相关的电子工业正快速增长。同样,对于信息和多媒体重放、发动机控制、排放控制、人工智能、用于控制气囊安全性的安全系统、以及汽车系统的各种要求正持续增加。相应地,为了提供有效的汽车系统,需要支持各种功能并减少用于每个功能的额外专门线路的网络总线结构。为了提供网络总线,汽车制造商需要能提供高带宽、灵活、和确定性操作的协议。近来,将定义顶层系统的线路结构和通信协议的各种协议用于车辆的机械或电子部件。在各种协议中,CAN协议是最具代表性的协议。图I是车辆10 (BP, CAN通信网络设备)和外部设备13间的典型的CAN通信11的示意性配置图。参见图1,车辆10典型地包括用于外部CAN通信11的接口 OBD端子15。当外部设备10执行应用程序14从而与车辆10通信时,需要CAN模块12作为CAN通信11的物理通信转换器。也就是说,为了通过使用外部PC或笔记本电脑中的应用程序14来与车辆10通信,需要与车辆10的CAN通信11相兼容的CAN模块12。以上相关领域的技术对一般的汽车网络CAN通信没有限制,但是,当与所使用的协议不同于CAN通信协议的外部设备通信时,会由于网络通信范围的拓展而与外部网络不兼容。当与所使用的协议不同于CAN通信协议的外部设备通信时,相关领域的技术应该使用与车辆的CAN通信相同类型的协议,并且同样使用与其相应的外部软件。但是,由于通常基于不同于CAN通信协议的另一协议来编程这样的外部软件,最频繁用于工业产品的Modbus与CAN没有兼容性。因此,对于新的CAN通信,需要典型车辆的软件修正和硬件变化或网络变化。

发明内容
实施例提供了一种网关,通过该网关,当汽车CAN通信网络设备通过PC使用Modbus类型协议而非CAN类型协议来与外部车辆通信时,替代PC中用于CAN通信的硬件,可以利用使用PC的基本端子(例如,串行或以太网)的Modbus通信。因此,已有的开发的Modbus S/W和设备可用于CAN通信而无需改变。
在一个实施例中,一种用于对汽车网络通信设备和工业现场总线通信设备之间的通信进行中继的网关设备包括控制器局域网(CAN)输入单元,用于从外部接收CAN输入数据帧;以及转换单元,用于按照预定的方法将接收到的CAN输入数据帧转换成Modbus输出数据帧。在另一实施例中,一种用于对汽车网络通信设备和工业现场总线通信设备之间的通信进行中继的网关设备的通信方法包括从外部接收CAN输入数据帧;按照预定的方法将接收到的CAN输入数据帧转换成Modbus输出数据帧;以及输出转换后的Modbus输出数据帧。在下面的附图和说明书中,给出了一个或更多个实施例的细节。通过说明书和附图,以及通过权利要求书,将明显看出其它特征。


图I是相关领域的车辆和外部设备间的CAN通信的示意图。

图2是描述CAN通信网络设备和Modbus通信网络设备间通过根据本发明的网关设备的通信的示图。图3是根据本发明的网关设备的具体配置图。图4是描述根据本发明的网关设备的转换单元的具体配置示图。图5是描述CAN协议和Modbus协议间的转换过程的数据结构图。图6是描述根据本发明的网关设备的通信方法的流程图。
具体实施例方式本说明书和权利要求书中使用的术语或词并不被理解成限制为通常或词典含义,并且发明人可适当地定义术语的概念,从而用最佳方式描述他的/她的发明。基于此原则,应当将术语或词理解成符合本发明的技术思想。但是,本发明可以具体化为多种不同的形式并且不应将其解释成限制为这里给出的实施例;相反,通过添加、改变和变化,能够容易地得到包括在其它退化的发明或落入本公开的精神和范围的可选实施例,该可选实施例将全面传递本发明的思想给那些本领域技术人员。在下文中,将结合附图更加详细地描述本发明的实施例。图2是描述CAN通信网络设备和Modbus通信网络设备间通过根据本发明的网关设备20的通信的示图。首先,参见图2,网关设备20可以替代相关领域CAN模块12。额外地,网关设备20可以对CAN通信设备和Modbus通信网络设备23进行中继。CAN通信网络设备可以是车辆10。Modbus通信网络设备23可以是安装有使用Modbus通信的应用程序22的设备13。也就是说,不同于需要物理通信转换从而允许CAN通信通过相关领域CAN模块12而兼容,网关设备20可以在没有CAN模块12的情况下执行CAN通信11和Modbus通信21的互转换。额外地,通过提前定义互转换过程,网关设备20允许CAN通信和Modbus通信根据快速转换而平滑。图3是根据本发明的网关设备20的具体配置图。图4是描述根据本发明的网关设备的转换单元34的具体配置图。参见图3和4,当检查网关设备20时,CAN端子32发送/接收数据到/从外部CAN通信网络设备31。CAN端子32可以是CAN数据通信可用协议端子中的一个。通信协议的版本可以变化。此外,CAN接收缓冲器33可以存储CAN格式的输入数据。CAN接收缓冲器33可以管理存储的数据。此外,CAN接收缓冲器33可以发送接收的数据到第一输入单元41。转换单元34可以将CAN格式的数据转换成Modbus格式的数据,其中,通过第一输入单元41从CAN接收缓冲器33接收该CAN格式的数据。此外,将转换后的数据输出到第一输出单兀42。此外,Modbus发送缓冲器35存储和管理Modbus格式的数据,其中,从第一输出单兀42输出该Modbus格式的数据。Modbus发送缓冲器35可以通过Modbus端子36来发送存储的Modbus格式的数据到Modbus通信网络设备37。 此外,Modbus端子36可以发送/接收数据到/从Modbus通信网络设备37。Modbus端子36可以是数据通信可用协议端子中的一个。额外地,通信协议的版本可以变化。Modbus通信网络设备37接收通过Modbus端子36发送的Modbus格式的数据,并且执行必要的处理,从而发送相应的响应到Modbus端子36。Modbus接收缓冲器38通过Modbus端子36接收从Modbus通信网络设备37发送的响应数据,并且存储/管理接收到的响应数据。Modbus接收缓冲器38发送存储的响应数据到转换单元34的第二输入单元44。此外,转换单元34将通过第二输入单元44发送的Modbus格式的响应数据转换成CAN格式的数据,并且然后将转换后的数据输出到第二输出单元43。CAN发送缓冲器39存储和管理从第二输出单元43输出的CAN格式的响应数据。此外,CAN发送缓冲器39可以通过CAN端子32发送存储的数据。CAN通信网络设备31可以接收通过CAN端子32发送的CAN格式的响应数据。相应地,在CAN通信网络设备31和Modbus通信网络设备37间执行通信。图4是如上所述的转换单元的具体配置。图5是描述CAN协议和Modbus协议间的转换过程的数据结构图。下面,将结合图4和5描述数据转换过程。参见图4,转换单元34包括数据转换单元45、第一输入单元41、第一输出单元42、第二输入单元44、以及第二输出单元43。首先,当检查用于将CAN格式转换成Modbus格式的过程时,数据转换单元45通过第一输入单元41接收CAN格式的数据。第一输入单元41可以表述成CAN输入单元。数据转换单元45分析CAN格式的输入数据,并且将分析后的数据映射入Modbus格式的数据,从而执行数据转换。此外,数据转换单元45通过使用输入的CAN格式的数据来生成Modbus格式的数据,从而执行数据转换。这里,作为CAN格式的数据的输入数据包括包括CAN ID的第一数据部分501、包括数据长度码(DLC)的第二数据部分502、以及包括数据的第三数据部分503。例如,CAN输入数据帧或输出数据帧可以包括CAN标识、DLC、以及多个CAN数据单元。额外地,待输出的Modbus格式的数据包括包括地址的第四数据部分504、包括操作码的第五数据部分505、包括数据的第六数据部分506、以及包括循环冗余校验(CRC)值的第七数据部分507。例如,Modbus输入数据帧或Modbus输出数据帧可以包括地址、操作码、多个Modbus数据单元、以及CRC码。相应地,数据转换单元45生成包括Modbus格式数据的地址的第四数据部分504,并且将包括CAN ID的第一数据部分501映射入第四数据部分504。相应地,数据转换单元45生成包括数据的第六数据部分506,并且将第三数据部分503映射入第六数据部分506。额外地,数据转换单元45生成包括操作码的第五数据部分505、根据Modbus通信协议确定操作码从而满足数据传输目的、并且分派输出数据帧的所确定的操作码从而将其包括在第五数据部分505。
此外,数据转换单元45根据Modbus协议对输入CAN数据的第三数据部分503的数据执行CRC计算操作,并且通过使用从CRC计算操作所获得的CRC值生成第七数据部分。然后,数据转换单元45依次组合所生成的第四到第七数据部分504到507以生成Modbus格式的输出数据,并且然后,通过第一输出单元42依次输出转换后的数据。相应地,完成了从CAN数据到Modbus数据的数据转换。此外,当检查用于将Modbus格式转换成CAN格式的过程时,数据转换单元45通过第二输入单元44接收Modbus格式的数据。数据转换单元45分析Modbus格式的输入数据并且生成CAN格式的数据从而执行数据转换。额外地,根据以上配置,作为Modbus格式的数据的输入数据包括包括地址的第八数据部分508、包括操作码的第九数据部分509、包括数据的第十数据部分510、以及包括CRC值的第i^一数据部分511。额外地,根据以上配置,待输出的CAN格式的数据包括包括CAN ID的第十二数据部分512、包括数据长度码(DLC)的第十三数据部分513、以及包括数据的第十四数据部分514。相应地,数据转换单元45生成包括CAN格式数据的CAN ID的第十二数据部分512并且将包括输入的Modbus格式的数据的地址的第八数据部分508映射入第十二数据部分512。相应地,数据转换单元45生成包括数据的第十四数据部分514,并且将第十数据部分510的数据映射入第六数据部分506。额外地,数据转换单元45生成第十三数据部分513,并且分析Modbus格式的第十数据部分510的字节数从而将其存储在第十三数据部分513。这里,由于CAN数据格式的最大数据字节数是8,如果分析到的Modbus格式的数据字节数大于8,数据转换单元45依次按8字节划分数据字节,并且然后,配置待输出的CAN数据。进一步,数据转换单元45生成多个划分后的输出数据巾贞并且依次将它们输出。然后,数据转换单元45组合所生成的第十二到第十四数据部分512到514以生成CAN格式的输出数据,并且然后,通过第二输出单元43输出转换后的数据。相应地,完成了从Modbus格式数据到CAN格式数据的数据转换。图6是根据本发明的描述网关设备20的通信方法的流程图。
首先,在操作S600中,CAN通信网络设备31发送CAN格式的数据到网关设备20。然后,在操作S605中,网关设备20接收CAN格式的数据并且将它们存储在CAN接收缓冲器33中,并且在操作S610中,将存储在接收缓冲器33中的数据转换成Modbus格式的数据。然后,在操作S615中,网关设备20发送转换后的Modbus格式的数据到Modbus通信网络设备37。然后,Modbus通信网络设备37根据接收到的数据执行必要的处理,并且然后在操作S620中,发送相应的响应数据到网关设备20。然后,在操作S626中,网关设备20将接收到的Modbus格式的响应数据存储在Modbus接收缓冲器38中,并且在操作S630中,将存储的响应数据转换成CAN格式的数据。
在操作S635中,网关设备20将转换后的CAN格式的响应数据发送到CAN通信网络设备31。通过以上过程,可以实现CAN通信网络设备和Modbus通信网络设备间的通信。根据本发明的Modbus和CAN间的网关设备以及网关设备的通信方法同样能够体现为计算机可读记录媒介上的计算机可读代码。计算机可读记录媒介是能够存储之后能够由计算机系统读取的数据的任意数据存储设备。计算机可读记录媒介的示例包括只读存储器(ROM)、随机存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储设备、以及载波(例如通过因特网的数据传输)。计算机可读记录媒介同样能够在经网络联接的计算机系统上分布,使得以分布方式存储和执行计算机可读代码。(同样,发明所属领域的程序设计员能够较容易地理解到用于完成本发明的操作程序、代码、以及代码段。)尽管已经结合其中多个描述性的实施例描述了实施例,但应当理解到,本领域技术人员能够设计出将落入本公开的原理的精神和范围内的大量其它修正和实施例。更特别地,在本公开、附图和所附权利要求书内,组件部分和/或主题组合安排的安排中的各种变形和修正是可能的。除了组件部分和/或安排中的变形和修正,可选的使用对本领域技术人员同样是显而易见的。
权利要求
1.一种网关设备,其用于对汽车网络通信设备和工业现场总线通信设备之间的通信进行中继,该网关设备包括 控制器局域网(CAN)输入单元,用于从外部接收CAN输入数据帧; 转换单元,用于按照预定的方法将接收到的CAN输入数据帧转换成Modbus输出数据帧;以及 Modbus输出单元,用于输出转换后的Modbus输出数据帧。
2.根据权利要求I所述的网关设备,进一步包括=Modbus输入单元,用于从外部接收Modbus输入数据帧, 其中,所述转换单元按照预定的方法将接收到的Modbus输入数据帧转换成CAN输出数据帧,并且进一步包括=CAN输出单元,用于输出转换后的CAN输出数据帧。
3.根据权利要求2所述的网关设备,其中所述CAN输入数据帧或CAN输出数据帧包括CAN标识、数据长度码、以及多个CAN数据单元;并且 所述Modbus输入数据巾贞或Modbus输出数据巾贞包括地址、操作码、多个Modbus数据单元、以及循环冗余校验(CRC )码。
4.根据权利要求3所述的网关设备,其中,所述转换单元 在将接收到的CAN输入数据帧转换成Modbus输出数据帧时,基于CAN输入数据帧中的CAN标识来生成Modbus输出数据帧的地址; 基于CAN输入数据帧中的多个CAN数据单元来生成Modbus输出数据帧的多个Modbus数据单元; 生成Modbus输出数据帧的操作码以符合CAN输入数据帧的传输目的; 基于CAN输入数据帧中的多个CAN数据单元来生成Modbus输出数据帧的CRC码;以及按照Modbus格式依次组合生成的地址、多个生成的Modbus数据单元、生成的操作码、以及生成的CRC码,从而输出Modbus输出数据帧。
5.根据权利要求3所述的网关设备,其中,所述转换单元 在将接收到的Modbus输入数据帧转换成CAN输出数据帧时,将Modbus输入数据帧中的地址映射入CAN输出数据帧的CAN标识; 将Modbus输入数据巾贞中的多个Modbus数据单元映射入多个CAN数据单元;以及计算Modbus输入数据中的多个Modbus数据单元的字节数并且将计算得到的数定义为CAN输出数据帧的数据长度码,从而生成CAN输出数据帧。
6.根据权利要求I所述的网关设备,进一步包括 CAN端子,用于从CAN通信网络设备接收数据;以及 CAN接收缓冲器,用于存储接收到的数据, 其中,CAN输入单元通过使用存储在CAN接收缓冲器中的数据来获取CAN输入数据帧。
7.根据权利要求8所述的网关设备,进一步包括 Modbus发送缓冲器,用于存储输出的Modbus输出数据巾贞;以及 Modbus端子,用于发送存储的Modbus输出数据巾贞到Modbus通信网络设备。
8.一种通信方法,其用于对汽车网络通信设备和工业现场总线通信设备之间的通信进行进行中继的网关设备,该通信方法包括 从外部接收CAN输入数据帧;按照预定的方法将接收到的CAN输入数据帧转换成Modbus输出数据帧;以及 输出转换后的Modbus输出数据帧。
9.根据权利要求8所述的方法,进一步包括 从外部接收Modbus输入数据帧; 按照预定的方法将接收到的Modbus输入数据帧转换成CAN输出数据帧;以及 输出转换后的CAN输出数据帧。
10.根据权利要求8或9所述的方法,其中,CAN输入数据帧或CAN输出数据帧包括CAN标识、数据长度码、以及多个CAN数据单元;并且 Modbus输入数据巾贞或Modbus输出数据巾贞包括地址、操作码、多个数据单元、以及循环冗余校验(CRC)码。
11.根据权利要求8所述的方法,其中,将接收到的CAN输入数据帧转换成Modbus输出数据帧包括 基于CAN输入数据帧中的CAN标识来生成Modbus输出数据帧的地址; 基于CAN输入数据帧中的多个CAN数据单元来生成Modbus输出数据帧的多个Modbus数据单元; 生成Modbus输出数据的操作码以符合CAN输入数据帧的传输目的; 基于CAN输入数据帧中的多个CAN数据单元来生成Modbus输出数据帧的CRC码;以及按照Modbus格式依次组合生成的地址、多个生成的Modbus数据单元、生成的操作码、以及生成的CRC码,从而输出Modbus输出数据帧。
12.根据权利要求9所述的方法,其中,将接收到的Modbus输入数据帧转换成CAN输出数据帧包括 将Modbus输入数据帧中的地址映射入CAN输出数据帧的CAN标识; 将Modbus输入数据巾贞中的多个Modbus数据单元映射入多个CAN数据单元;以及计算Modbus输入数据中的多个Modbus数据单元的字节数并且将计算得到的数定为CAN输出数据帧的数据长度码。
13.根据权利要求8所述的方法,进一步包括 从CAN通信网络设备接收数据; 在缓冲器中存储接收到的数据; 通过使用存储在缓冲器中的数据来获取CAN输入数据帧; 将输出的Modbus输出数据帧存储在缓冲器中;以及 将存储的Modbus输出数据帧发送到Modbus通信网络设备。
14.根据权利要求9所述的方法,进一步包括 从Modbus通信网络设备接收数据; 将接收到的数据存储在缓冲器中;以及 通过使用存储在缓冲器中的数据来获取Modbus输入数据帧。
15.根据权利要求9所述的方法,进一步包括 将输出的CAN输出数据帧存储在缓冲器中;以及 将存储的CAN输出数据帧发送到CAN通信网络设备。
全文摘要
提供了一种网关设备。该网关设备用于对汽车网络通信设备和工业现场总线通信设备之间的通信进行中继,包括控制器局域网(CAN)输入单元,用于从外部接收CAN输入数据帧;以及转换单元,用于按照预定的方法将接收到的CAN输入数据帧转换成Modbus输出数据帧。
文档编号H04L12/40GK102857411SQ20121021753
公开日2013年1月2日 申请日期2012年6月27日 优先权日2011年6月27日
发明者张成镇 申请人:Ls产电株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1