一种多CPU控制器及其通讯系统的制作方法

文档序号:15281620发布日期:2018-08-28 23:36阅读:250来源:国知局

本发明涉及控制器领域,特别是涉及一种多cpu控制器及其通讯系统。



背景技术:

随着控制技术的发展,以及现场需求的多样化,基于多个cpu设计的控制器的应用越来越广泛。多cpu控制器的优势在于,可以将不同性质、不同要求的工作任务部署在不同的cpu上,实现功能解耦,降低开发复杂度。cpu之间可以采用双口ram(randomaccessmemory,随机存储器)、串口或spi(serialperipheralinterface,串行外设接口)等方式进行通讯,但是上述通讯方式目前只能实现两个cpu之间的通讯,若想实现多个cpu之间的通讯,需要一个中间cpu进行转发,导致现有的多cpu控制器的效率较低。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种多cpu控制器,在保持较高集成度的同时,简化了多个cpu之间通讯的复杂度,提高了多cpu控制器的效率,且本发明成本低,开发难度也较低;本发明的另一目的是提供一种多cpu控制器的通讯系统。

为解决上述技术问题,本发明提供了一种多cpu控制器,包括:

分别与交换机芯片的不同通讯接口连接的多个cpu,每个所述cpu均配有独立的ip地址;

发送cpu,用于根据目标cpu的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,其中,所述发送cpu和所述目标cpu为多个所述cpu中任意两个不同的cpu;

所述交换机芯片,用于将接收到的所述数据包按当前目标mac地址发送给所述目标cpu。

优选的,多个所述cpu中包括含有外部通讯接口的转发cpu,用于接收并转发所述多cpu控制器外部的外部设备发送的数据包。

优选的,所述外部通讯接口为以太网通讯接口或wifi通讯接口或串口。

优选的,当所述外部通讯接口为所述以太网通讯接口或所述wifi通讯接口时,所述转发cpu具体用于:

通过网络地址转换nat接收并转发所述多cpu控制器外部的外部设备发送的数据包。

优选的,当所述外部通讯接口为所述以太网通讯接口或所述wifi通讯接口时,所述转发cpu具体用于:

通过端口映射接收并转发所述多cpu控制器外部的外部设备发送的数据包。

优选的,所述交换机芯片为型号为ksz8895的交换机芯片。

优选的,该多cpu控制器还包括:

通讯模块,用于接收并转发所述多cpu控制器外部的外部设备发送的数据包。

优选的,所述通讯模块为无线路由器。

为解决上述技术问题,本发明还提供了一种多cpu控制器的通讯系统,包括如上文任意一项所述的多cpu控制器,该通讯系统还包括:

分别与所述交换机芯片的不同通讯接口连接的n个被控设备,其中,每个所述被控设备配有独立的ip地址,n为正整数;

发送被控设备,用于根据当前目标单元的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,所述发送被控设备为n个所述被控设备中的任意一个被控设备,当前目标单元为所述cpu或所述被控设备;

则所述交换机芯片,还用于将接收到的数据包按当前目标mac地址发送给当前目标单元。

优选的,该通讯系统还包括:

分别与所述交换机芯片的不同通讯接口连接的m个传感器,其中,每个所述传感器配有独立的ip地址,m为正整数;

发送传感器,用于根据当前目标单元的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,所述发送传感器为m个所述传感器中的任意一个传感器,当前目标单元为所述cpu或所述传感器或所述被控设备;

则所述交换机芯片,还用于将接收到的数据包按当前目标mac地址发送给当前目标单元。

本发明提供了一种多cpu控制器,包括分别与交换机芯片的不同通讯接口连接的多个cpu,每个cpu均配有独立的ip地址;发送cpu,用于根据目标cpu的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,其中,发送cpu和目标cpu为多个cpu中任意两个不同的cpu;交换机芯片,用于将接收到的数据包按当前目标mac地址发送给目标cpu。

可见,在实际应用中,采用本发明的方案,将多个cpu分别和交换机芯片的不同通讯接口连接,各个cpu之间通过交换机芯片进行数据交换,不需要设置中间cpu,使多cpu控制器在保持较高集成度的同时,简化了多个cpu之间通讯的复杂度,提高了多cpu控制器的效率,且本发明成本低,开发难度也较低。

本发明还提供了一种多cpu控制器的通讯系统,具有和上述多cpu控制器相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的一种多cpu控制器的结构示意图;

图2为本发明所提供的另一种多cpu控制器的结构示意图;

图3为本发明所提供的一种多cpu控制器的的通讯系统的结构示意图;

图4为本发明所提供的另一种多cpu控制器的的通讯系统的结构示意图。

具体实施方式

本发明的核心是提供一种多cpu控制器,在保持较高集成度的同时,简化了多个cpu之间通讯的复杂度,提高了多cpu控制器的效率,且本发明成本低,开发难度也较低;本发明的另一核心是提供一种多cpu控制器的通讯系统。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明所提供的一种多cpu控制器的结构示意图,包括:

分别与交换机芯片2的不同通讯接口连接的多个cpu1,每个cpu1均配有独立的ip地址;

具体的,多cpu控制器中包括多个cpu1,比如用于通讯的cpu1、用于实时控制的cpu1、用于非实时控制的cpu1等,将多个cpu1分别接入到交换机芯片2的不同通讯接口上,其中,交换机芯片2的各个通讯接口均是对等的。本发明为每个接入到交换机芯片2上的cpu1均分配一个独立的ip地址。在具体实现时,可以直接由工作人员为各个cpu1分配ip地址,也可以通过dhcp(dynamichostconfigurationprotocol,动态主机配置协议)为各个cpu1自动分配ip地址。采用人工分配的方式,实现简单,采用dhcp分配的方式,可以提高多cpu控制器的自动化程度,无论采用上述哪种方式,都可以保证分配给各个cpu1的ip地址均不相同。

发送cpu,用于根据目标cpu的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,其中,发送cpu和目标cpu为多个cpu1中任意两个不同的cpu1;

交换机芯片2,用于将接收到的数据包按当前目标mac地址发送给目标cpu。

作为一种优选的实施例,交换机芯片2为型号为ksz8895的交换机芯片2。

具体的,发送cpu和目标cpu分别为多cpu控制器中任意两个不同的cpu1,假设cpu1a需要和cpu1b通讯,由cpu1a向cpu1b发送数据包,那么cpu1a为发送cpu,cpu1b为目标cpu,发送cpu将数据包发送至目标cpu的ip地址上,考虑到交换机芯片2需要通过mac地址进行数据传输,所以当发送cpu的上层获取到目标cpu的ip地址后,由发送cpu的底层芯片查询ip地址-mac地址映射表,来获取与目标cpu的ip地址一一对应的当前目标mac地址,然后发送cpu将包含当前目标mac地址的数据包发送至交换机芯片2,由交换机芯片2按数据包中的当前目标mac地址将数据包发送给目标cpu。采用交换机芯片2来实现多cpu控制器内部各个cpu1之间的通讯,不需要设置中间cpu,多个cpu1中的任意两个cpu1之间均可相互通讯,使多cpu控制器在保持较高集成度的同时,简化了各个cpu1之间通讯的复杂度,提高了多cpu控制器的效率。

其中,交换机芯片2可以选用型号为ksz8895的以太网交换机芯片2。

本发明提供了一种多cpu控制器,包括分别与交换机芯片的不同通讯接口连接的多个cpu,每个cpu均配有独立的ip地址;发送cpu,用于根据目标cpu的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,其中,发送cpu和目标cpu为多个cpu中任意两个不同的cpu;交换机芯片,用于将接收到的数据包按当前目标mac地址发送给目标cpu。

可见,在实际应用中,采用本发明的方案,将多个cpu分别和交换机芯片的不同通讯接口连接,各个cpu之间通过交换机芯片进行数据交换,不需要设置中间cpu,使多cpu控制器在保持较高集成度的同时,简化了多个cpu之间通讯的复杂度,提高了多cpu控制器的效率,且本发明成本低,开发难度也较低。

请参照图2,图2为本发明所提供的另一种多cpu控制器的结构示意图,该多cpu控制器在上述实施例的基础上:

作为一种优选的实施例,多个cpu1中包括含有外部通讯接口的转发cpu1,用于接收并转发多cpu控制器外部的外部设备设备4发送的数据包。

作为一种优选的实施例,外部通讯接口为以太网通讯接口或wifi通讯接口或串口。

具体的,转发cpu11的外部通讯接口用于接入多cpu控制器外部的外部设备3,可以理解的是,当该多cpu控制器应用于移动机器人时,外部设备3包括移动机器人外部的后台服务器和/或hmi(humanmachineinterface,人机接口)和/或监控站等。当外部设备3需要和多cpu控制器内部的cpu1进行通讯时,通过转发cpu11进行数据转发。本发明中的转发cpu11可以为多cpu控制器内部的、包括至少一个外部通讯接口、用于通讯的cpu1,也可以是多cpu控制器内部集成了转发cpu11功能的、包括至少一个外部通讯接口的、用于实时控制的cpu1,或集成了转发cpu11功能的、包括至少一个外部通讯接口的、用于非实时控制的cpu1。相应的,外部通讯接口可以为以太网通讯接口或wifi通讯接口或串口。本发明通过转发cpu11将多cpu控制器外部的外部设备3和内部的cpu1之间的通讯进行了隔离,使本发明中的多cpu控制器对外只有一个通讯地址,有效地防止了多cpu控制器中的cpu1被非法攻击,提高了多cpu控制器的安全性。

作为一种优选的实施例,当外部通讯接口为以太网通讯接口或wifi通讯接口时,转发cpu1具体用于:

通过网络地址转换nat接收并转发多cpu控制器外部的外部设备4发送的数据包。

具体的,nat(networkaddresstranslation,网络地址转换),是一种将私有地址转化为合法ip地址的转换技术,它被广泛应用于各种类型internet接入方式和各种类型的网络中。nat不仅完美地解决了lp地址不足的问题,而且还能够有效地避免来自多cpu控制器外部的攻击,隐藏并保护多cpu控制器内部的cpu1。

作为一种优选的实施例,当外部通讯接口为以太网通讯接口或wifi通讯接口时,转发cpu1具体用于:

通过端口映射接收并转发多cpu控制器外部的外部设备设备4发送的数据包。

具体的,当转发cpu11采用端口映射的方式转发数据包时,外部的外部设备3看到的只是转发cpu11的ip地址,而不能看到多cpu控制器内部多除转发cpu11外的其他cpu1的ip地址,从而保护了该多cpu控制器内部的cpu1。

交换机芯片2交换机芯片2作为一种优选的实施例,该多cpu控制器还包括:

通讯模块,用于接收并转发多cpu控制器外部的外部设备3发送的数据包。

作为一种优选的实施例,通讯模块为无线路由器。

具体的,当然,除了可以选择多cpu控制器内部的转发cpu11来接收并转发多cpu控制器外部的外部设备3发送的数据包,还可以选择独立的通讯模块来执行转发功能,通讯模块可以采用无线路由器。

请参照图3,图3为本发明所提供的一种多cpu控制器的通讯系统,包括如上文任意一项的多cpu控制器,该通讯系统还包括:

分别与交换机芯片2的不同通讯接口连接的n个被控设备4,其中,每个被控设备4配有独立的ip地址,n为正整数;

发送被控设备,用于根据当前目标单元的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,发送被控设备为n个被控设备4中的任意一个被控设备4,当前目标单元为cpu1或被控设备4;

则交换机芯片2,还用于将接收到的数据包按当前目标mac地址发送给当前目标单元。

具体的,除了多cpu控制器内部的cpu1外,被控设备4也可以接入到交换机芯片2上,其中,接入到交换机芯片2上的被控设备4的数量可以为一个也可以为多个。本发明为每个接入到交换机芯片2上的被控设备4分配独立的ip地址,分配ip地址的方式可以选择前述两种分配方法。接入到交换机芯片2上的任意一个被控设备4均可以作为发送被控设备,发送被控设备通过交换机芯片2既可以和多cpu控制器内部的cpu1进行通讯,也可以和其他被控设备4进行通讯,所以在本实施例中,当前目标单元可以为cpu1也可以为被控设备4。其中,被控设备4包括驱动器、io模块等。

具体的,当多cpu控制器外部的外部设备3要与被控设备4进行通讯时,由转发cpu11或通讯模块将外部设备3发送的数据包转发至相应的被控设备4。

请参照图4,图4为本发明所提供的另一种多cpu控制器的通讯系统,该通讯系统在上述实施例的基础上:

作为一种优选的实施例,该通讯系统还包括:

分别与交换机芯片2的不同通讯接口连接的m个传感器5,其中,每个传感器5配有独立的ip地址,m为正整数;

发送传感器,用于根据当前目标单元的ip地址得到当前目标mac地址,并发送包括当前目标mac地址的数据包,发送传感器为m个传感器5中的任意一个传感器5,当前目标单元为cpu1或传感器5或被控设备4;

则交换机芯片2,还用于将接收到的数据包按当前目标mac地址发送给当前目标单元。

具体的,除了被控设备4外,传感器5也可以接入到交换机芯片2上,其中,接入到交换机芯片2上的传感器5的数量可以为一个也可以为多个。本发明为每个接入到交换机芯片2上的传感器5分配了独立的ip地址,分配ip地址的方式可以选择前述两种分配方法。接入到交换机芯片2上的任意一个传感器5均可以作为发送传感器,发送传感器可以通过交换机芯片2和接入到交换机芯片2上被控设备4、其他传感器5及多cpu控制器内部的cpu1进行通讯,所以在本实施例中,当前目标单元可以为cpu1、被控设备4或传感器5。其中,传感器5包括激光定位雷达、摄像头、编码器、陀螺仪等。

具体的,当多cpu控制器外部的外部设备3要与传感器5进行通讯时,由转发cpu11或通讯模块将外部设备3发送的数据包转发至相应的传感器5。

综上,本发明使用交换机芯片2,实现了传感器5、被控设备4及多cpu控制器内部的多个cpu1之间的相互任意通讯,简化了多cpu控制器的通讯系统的数据通讯方式,且本发明通过转发cpu11或通讯模块将外部设备3和传感器5、被控设备4及多cpu控制器内部的cpu1之间的通讯进行了隔离,使本发明中的多个cpu1、传感器5及被控设备4对外只有一个通讯地址,有效地防止了传感器5、被控设备4及多cpu控制器内部的cpu1被非法攻击,提高了多cpu控制器的通讯系统的安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1