CN112867997A - 包括智能柔性执行器模块的智能控制器及传感器网络总线、系统和方法 - Google Patents
包括智能柔性执行器模块的智能控制器及传感器网络总线、系统和方法 Download PDFInfo
- Publication number
- CN112867997A CN112867997A CN202080005480.4A CN202080005480A CN112867997A CN 112867997 A CN112867997 A CN 112867997A CN 202080005480 A CN202080005480 A CN 202080005480A CN 112867997 A CN112867997 A CN 112867997A
- Authority
- CN
- China
- Prior art keywords
- fiber optic
- flexible actuator
- gem
- node
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40182—Flexible bus arrangements involving redundancy by using a plurality of communication lines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
一种用于控制和操作自动化机器的机器自动化系统。该系统包括控制器及传感器总线,该控制器及传感器总线包括中央处理内核和多媒体传输内部网,用于为广播传输方案实现动态突发。其中,消息从节点突发到中央处理内核、并从中央处理内核广播到所有节点。
Description
交叉引用
本申请是申请号为16/572,358、2019年9月16日递交的名称为“包括通用封装模式的智能控制器及传感器网络总线、系统和方法”的待审美国专利申请的部分延续,其是申请号为16/529,682、2019年8月1日递交的名称为“智能控制器及传感器网络总线、系统和方法”的待审美国专利申请的部分延续,两者均通过引用被并入本申请。
技术领域
本申请涉及总线领域。更具体地,本申请涉及控制器及传感器网络总线架构。
背景技术
随着自动驾驶汽车、智能机器人和工厂自动化的发展,机器自动化领域正迅速扩张。然而,由于其多样化和高速化需求,目前没有总线或网络架构能够有效满足这些新兴技术的所有要求。相反,当前的网络延时高,带宽低,布线复杂,电磁干扰(EMI)大,成本高,数据不安全且系统集成复杂。例如,网络没有足够的速度和吞吐量来将传感器数据——如摄像机和激光雷达(LIDAR)数据——通过网络携载至CPU内核。此外,现有的线缆系统是复杂、短程的,并且由于使用铜缆布线系统而无法在没有昂贵屏蔽件的情况下应对EMI。目前没有多功能一体的“控制器及传感器网络”系统总线解决方案,以能够遍及系统从边缘节点到边缘节点支持并携载因特网L2/L3以太网数据包、电机与运动控制信息、传感器数据和CPU命令(CPU-CMD)。
发明内容
本申请提供一种用于控制和操作自动化机器的机器自动化系统。该系统包括控制器及传感器总线,该控制器及传感器总线包括中央处理内核和多媒体传输内部网,用于为广播传输方案实现动态突发(burst),其中,消息从节点突发到中央处理内核、并从中央处理内核广播到所有节点。
本申请的第一方面涉及一种用于控制和操作自动化机器的机器自动化系统。该系统包括控制器及传感器总线、一个或多个控制器和一个或多个柔性执行器模块。所述控制器及传感器总线包括多个端口,其中,所述总线包括中央处理内核和多媒体传输内部网,所述多媒体传输内部网包括直接与所述内核相联接的一个或多个中央光纤传输网络以及一个或多个子网;所述中央光纤传输网络包括多个节点以及一个或多个门;每个所述多个子网分别与所述中央传输网络之一的不同门相联接;所述子网包括多个子节点,其中每个所述节点和子节点与一个或多个所述端口相关联。各控制器与所述总线的端口的第一端口相联接。各柔性执行器模块包括第一光纤连接器、一个或多个电机、一个或多个传感器、和片上系统SoC;各模块通过光纤电缆与所述端口的第二端口可操作地联接,所述光纤电缆从所述第一光纤连接器联接到所述端口的第二端口。其中,所述总线的节点和子节点通过所述总线经由所述一个或多个中央光纤传输网络中继消息,所述消息包括所述控制器和所述柔性执行器模块之间的来自所述柔性执行器模块的传感器的传感器数据和来自控制器的控制数据。
在部分实施例中,每个所述柔性执行器模块经由所述光纤电缆直接并联联接到所述端口的第二端口之一。在部分实施例中,多个所述柔性执行器模块并联联接到分光器,所述分光器经由所述光纤电缆联接到所述端口的第二端口之一。在部分实施例中,每个所述柔性执行器模块包括第二光纤连接器和分光器,其中,所述分光器与所述第一光纤连接器、所述第二光纤连接器和所述SoC联接。在部分实施例中,所述柔性执行器模块串联联接,使得第一个所述柔性执行器模块中的第一光纤连接器经由所述光纤电缆联接到所述端口的第二端口之一,并且第一个所述柔性执行器模块中的第二光纤连接器联接到第二个所述柔性执行器模块中的第一光纤连接器。在部分实施例中,每个所述柔性执行器模块包括双向光学子组件BOSA、跨阻放大器、激光驱动器和电机驱动器。在部分实施例中,一个或多个柔性执行器模块的传感器包括图像传感器和磁传感器,其中,电机控制图像传感器的清晰度,并且磁传感器确定图像传感器的方向。在部分实施例中,第一光纤连接器是尾纤光纤连接点。在部分实施例中,端口的第二端口是与尾纤光纤连接器相联接的光学端口。在部分实施例中,自动化机器是由机器人和自动驾驶车辆组成的组中的一者。
本申请的第二方面涉及一种利用控制器和传感器总线的柔性执行器模块。该柔性执行器模块包括一个或多个柔性执行器电机;一个或多个磁传感器;和控制板,其包括第一光纤连接器、第二光纤连接器、片上系统SoC和分光器,其中,分光器与第一光纤连接器、第二光纤连接器和SoC相联接,其中,控制板:接收来自磁传感器的传感器数据,并基于传感器数据经由第一光纤连接器输出状态消息;基于经由具有目标波长的第一光纤连接器输入的控制消息来控制电机;使用分光器将经由第二光纤连接器接收的状态消息从第一光纤连接器转发出去;和转发经由具有非目标波长的第一光纤连接器输入的控制消息。在部分实施例中,该模块还包括图像传感器,其中,控制板从图像传感器接收图像数据,并基于图像数据经由第一光纤连接器输出传感器数据消息。在部分实施例中,电机控制图像传感器的清晰度(articulation),并且磁传感器确定图像传感器的方向。在部分实施例中,控制板包括双向光学子组件BOSA、跨阻放大器、激光驱动器和电机驱动器。在部分实施例中,第一光纤连接器是尾纤光纤连接点。
本申请的第三方面涉及一种控制器及传感器总线的操作方法,该控制器及传感器总线包括用于与机器自动化系统的多个外部机器自动化设备联接的多个端口,该总线具有中央处理内核以及多媒体传输内部网,该多媒体传输内部网包括一个或多个中央光纤传输网络和多个子网,该一个或多个中央光纤传输网络直接与内核联接并且包括多个节点以及一个或多个门,各多个子网分别与中央光纤传输网络的不同门相联接,子网包括多个子节点。该方法包括:将一个或多个控制器与总线的端口的第一端口联接;经由从第一光纤连接器联接到该端口的第二端口的光纤电缆,将一个或多个柔性执行器模块与该端口的第二个端口联接,各柔性执行器模块包括第一光纤连接器、一个或多个电机、一个或多个传感器和片上系统SoC;以及利用总线的节点和子节点,经由一个或多个中央光纤传输网络,在控制器和柔性执行器模块之间中继消息,该消息包括来自柔性执行器模块的传感器的传感器数据和来自控制器的控制数据。
在部分实施例中,各个柔性执行器模块经由光纤电缆直接并联联接到该端口的第二端口之一。在部分实施例中,联接柔性执行器模块包括将柔性执行器模块并联联接到分光器,并且经由光纤电缆将分光器联接到该端口的第二端口之一。在部分实施例中,每个柔性执行器模块包括第二光纤连接器和分光器,其中,分光器与第一光纤连接器、第二光纤连接器和SoC联接。在部分实施例中,联接柔性执行器模块包括:联接所述柔性执行器模块包括:将第一个所述柔性执行器模块中的第一光纤连接器经由所述光纤电缆联接到所述端口中的第二端口之一,并且将第一个所述柔性执行器模块中的的第二光纤连接器联接到第二个所述柔性执行器模块中的第一光纤连接器。在部分实施例中,每个柔性执行器模块包括双向光学子组件BOSA、跨阻放大器、激光驱动器和电机驱动器。在部分实施例中,一个或多个柔性执行器模块的传感器包括图像传感器和磁传感器,该方法还包括利用电机控制图像传感器的清晰度,并且利用磁传感器确定图像传感器的方向。在部分实施例中,第一光纤连接器是尾纤光纤连接点。在部分实施例中,该端口的第二个端口是与尾纤光纤连接器相联接的光学端口。在部分实施例中,自动化机器是由机器人和自动驾驶车辆组成的组中的一者。
附图说明
图1示出了根据部分实施例的机器自动化系统。
图2示出了根据部分实施例的智能控制器及传感器内部网总线。
图3示出了根据部分实施例的智能控制器及传感器内部网总线的树形拓扑。
图4示出了根据部分实施例的用于实现系统的示例性计算设备的框图。
图5示出了根据部分实施例的包括智能控制器及传感器内部网总线的机器自动化系统的操作方法。
图6A示出了根据部分实施例的示例性GEM数据包格式。
图6B示出了根据部分实施例的GEM数据包标头格式的详细视图。
图6C示出了根据部分实施例的用于节点报告消息的GEM标头格式的详细视图。
图6D示出了根据部分实施例的用于根端口带宽授权消息的GEM标头格式的第一变体的详细视图。
图6E示出了根据部分实施例的用于根端口带宽授权消息的GEM标头格式的第二变体的详细视图。
图6F示出了根据部分实施例的用于控制消息的GEM标头格式的详细视图。
图7A示出了根据部分实施例的广播物理帧(Broadcast-PHY-Frame)。
图7B示出了根据部分实施例的突发物理帧(Burst-PHY-Frame)。
图7C示出了根据部分实施例的门突发物理帧(Burst-PHY-Frame)。
图8示出了根据部分实施例的智能控制器和传感器内部网总线的操作方法。
图9示出了根据部分实施例的智能柔性执行器(SCA)及传感器模块。
图10A示出了根据部分实施例的SCA及传感器模块的控制板的第一变体。
图10B示出了根据部分实施例的SCA及传感器模块的控制板的第二变体。
图10C示出了根据部分实施例的SCA及传感器模块的控制板的第三变体。
图11A和11B示出了根据部分实施例的包括联接SCA及传感器模块的机器自动化系统。
图12示出了根据部分实施例的控制器及传感器总线的操作方法。
具体实施方式
本文描述的实施例涉及用于控制和操作自动化机器的机器自动化系统、方法和设备。所述系统、方法和设备包括控制器及传感器总线,该控制器及传感器总线包括中央处理内核和多媒体传输内部网,用于为广播传输方案实现动态突发。其中,消息从节点突发到中央处理内核、并从中央处理内核广播到所有节点。因此,所述系统、方法和设备尽管结合了低速网络媒体,但是仍具有高速性能的优势;所述系统、方法和设备还提供了包括所有门、节点和根端口的完整内部网系统的一个统一软件映像,从而实现简化的软件架构、较短的产品开发周期、以及更轻松的系统级调试、远程监测和故障排除。特别地,所述系统、方法和设备提供了专门为机器自动化应用定义和优化的独特的内部网系统架构。
图1示出了根据部分实施例的机器自动化系统100。如图1所示,系统100包括一个或多个外部设备102,这些一个或多个外部设备102与智能控制器及传感器内部网总线104可操作地联接在一起。在部分实施例中,系统100可以是自动化设备(诸如自动驾驶车辆的、自动化工业机器或自动化自控机器人)的一部分。可选地,系统100可以是其他机器自动化应用的一部分。设备102可包括传感器设备(例如超声波、红外、摄像机、激光雷达(LIDAR)、声纳(SONAR)、磁、雷达(RADAR))、互联网设备、电机、执行器、灯、显示器(例如屏幕、用户界面)、扬声器、图形处理单元、中央处理单元、存储器(例如固态驱动器、硬盘驱动器)和控制器/微控制器中的一者或多者或其组合。每个设备102可通过一个或多个总线输入/输出(IO)端口(参见图2)与总线104可操作地有线连接和/或无线连接。尽管如图1所示,系统100包括离散量的外部设备102和总线104,但是可以设想更多或更少的设备102和/或总线104。
图2示出了根据部分实施例的智能控制器及传感器内部网总线104。如图2所示,总线104包括由中央内核200形成的内部网,该中央内核200通过一个或多个中央传输网络206与一个或多个门202、多个边缘节点204(每个边缘节点204具有一个或多个外部IO端口99)联接,并且通过从门202延伸的一个或多个子网210与一个或多个边缘子节点208(每个边缘子节点208具有一个或多个外部IO端口99)联接。因此,如图3所示,总线104形成网络树拓扑,其中,中央网络206从中央内核200(例如,内核的根端口230)分支到边缘节点204和门202,子网210从门202分支到子节点208和/或子门202’。以这种方式,中央内核200可以查看所有节点204和子节点208(因为门202和子门202’对于中央内核200是透明的)。在部分实施例中,在没有节点的情况下,一个或多个门202直接与IO端口99联接(例如,以与外部CPU、GPU、AI内核和/或固态驱动器(SSD)联接)。
端口99可以是任何类型的接口端口,比如外围组件快速互连(PCIe)、移动工业处理器接口(MIPI)、以太网、通用串行总线(USB)、通用输入输出(GPIO)、通用异步接收器/发送器(UART)、内部集成电路(I2C)和/或其他类型的端口。尽管如图2所示,总线104包括离散量的端口99、内核200、节点204、208、门202、网络206、210、其他元件和组件,但是可设想更多或更少的端口99、内核200、节点204、208、门202、网络206、210、其他元件和/或组件。
中央传输网络206可包括连接媒体,与联接到中央传输网络206的门202的子网210的连接媒体相比,中央传输网络206的连接媒体更快/具有更低延时(latency)。类似地,子网210可包括连接媒体,与联接到子网210的门202’的子网210’的连接媒体相比,子网210的连接媒体更快/具有更低延时;对每个迭代子网以此类推。这种网络/子网连接媒体的速度/延时关系,使得尽管总线104仍包括较慢的连接媒体,但是能够防止整个总线104的处理变慢,如下文详细描述。可选地,子网210、210’和/或中央网络206中的一者或多者可具有相同的或其他的连接媒体速度/延时关系。
在部分实施例中,中央传输网络206的连接媒体包括光纤线缆212,该光纤线缆212使用分光器214(例如,2到1分束器)分束并且具有光收发器216以联接到节点204、208并从节点204、208接收数据。在部分实施例中,子网210的连接媒体包括光纤连接媒体(例如,类似于中央传输网络206的连接媒体,但是可能等级较低)、无线连接(例如,射频收发器218)、铜缆连接(例如,双绞铜线220,双绞铜线220优选地使用模拟分束器222(例如,扇出输出器/多路复用器)进行分束并且具有串行器/解串器(SERDES)224以联接到节点204、208并从节点204、208接收数据)、和/或其组合(例如,混合光纤、铜缆和/或无线连接媒体)。因此,总线104支持多速率流量传输,其中,根据数据/流量/外部设备102的延时/速度、连接性和/或距离要求,能够使用不同的节点/网络以联接到总线104,同时仍提供所需的吞吐量。例如,对于高速、低延时和长距离要求,可以通过联接到节点204来使用中央网络的光连接媒体。此外,可以根据成本、速度、连接性和/或距离要求来使用其他网络210。在部分实施例中,中央网络206是无源光网络,和/或铜缆子网210是有源网络。在部分实施例中,如图2所示,一个或多个节点204联接到控制器局域网(CAN)226,使得各节点从与控制器局域网联接的每个控制器输入数据。可选地,如图3所示,一个或多个子网210可以是通过一个门20与中央内核200联接的CAN。
多层总线寻址
总线104能够利用多层寻址方案,其中根端口230、IO端口99、节点204、208、234和/或门202能够使用节点、纪元(epoch)和GEM标识地址来引导消息通过总线104。特别地,根端口230、节点204、208、234和门202中的每一个能够被分配节点ID标识符(node-ID),并且节点204、208和门202也被分配至少一个纪元标识符(epoch-ID)和至少一个GEM标识符(GEM-ID)。纪元ID能够用于识别网络206、210中的消息的源/目的地(例如,节点/门设备及其IO端口、嵌入式中央处理器和/或其他类型的服务),同时,GEM-ID能够用于识别消息的目标(例如,节点/门设备及其IO端口、嵌入式中央处理器和/或其他类型的服务的集合和子集)。因此,纪元ID能够用于整个网络206、210中的消息的传输/路由,而GEM-ID能够被设备本身(经由端口99)使用来确定是否捕获作为其目标的已接收/广播的消息。
根据节点/门(其能够对应于联接到节点/门的端口99的设备)的服务水平协议(SLA)配置文件,能够为节点/门分配多个纪元ID和多个GEM-ID。因此,节点204、208和门202中的每一个的节点ID能够映射到一个或多个纪元ID,该纪元ID能够映射到一个或多个GEM-ID。例如,与两个IO端口99联接的节点204、208能够具有单个节点ID、两个纪元ID(每个端口99一个)和十个GEM-ID(一个与第一纪元ID和第一端口99相关联,九个与第二纪元ID和第二端口99相关联)。此外,尽管节点ID和纪元ID对于每个节点/门/端口是唯一的,但是GEM-ID能够在节点/门/端口之间共享。例如,相同节点204、208的端口99或不同节点204、208的不同端口99都能够与匹配或重叠的集合GEM-ID相关联。
还可以为门202分配与门202直接联接的端口99的一个或多个虚拟节点ID。像常规节点一样,由门202代表的这些虚拟节点可以根据门202(其能够对应于联接到虚拟节点/门的端口99的设备)的SLA配置文件被分配多个纪元ID和多个GEM-ID。
每个其他节点234和内核232(其直接联接到内核200,诸如IO设备和嵌入式中央处理器内核)能够具有一个或多个GEM-ID以及全局节点ID,但是不需要被分配纪元ID,这是不必要的,因为往返于这些节点234和内核200的消息完全在内核200内。像节点204、208一样,分配给每个节点234和内核232的GEM-ID的数量能够基于节点234或内核232(其能够对应于联接到节点234的端口99的设备)的SLA配置文件来确定。内核交换机220、根端口230、节点204、208、234和/或门202中的每一个都能够维护和更新本地SLA表,该本地SLA表指示每个节点ID、纪元ID和GEM-ID之间的映射。因此,总线寻址提供了使用纪元ID和/或节点ID来促进网络100内的节点、门和内核之间的简化的突发/广播消息传递的优点,同时使用GEM-ID来促进设备/IO端口99和/或内核本身之间的任何所需的更复杂的消息传递。
通用封装方式
总线104可以将所有输入数据和内部生成的数据(例如,控制消息、操作消息和管理消息)封装为通用封装方式(GEM),以在总线104内部网上传输。因此,GEM充当独特标准化数据和消息容器,用于通过总线104内部网在节点之间传输数据和/或向中央内核200传输数据。因此,输入数据可以在进入总线104时,在每个节点处被封装成GEM格式,并经由中央内核200(在此被解封装以进行处理并被重新封装以进行传输)并到达其目的地节点,目的地节点将数据解封装为原始格式,以外发到目标外部设备102或其他目的地。该输入数据可以来自于通过节点204、208、234或门202处的端口99和/或嵌入式CPU内核232输入的各种源(例如,设备102、CAN 226)。
GEM格式有两种类型:GEM数据包(packet)和GEM控制(control)。GEM数据包格式包括GEM标头(header)加上GEM净荷(payload)(例如长度为8字节到4千字节)。通常,GEM数据包格式用于在入口(例如节点、端口)处封装输入端口数据、数据包和消息。以下是可以利用GEM数据包格式的IO端口数据、数据包和消息示例中的部分示例:
-使用GEM数据包格式,从本地门202和/或节点204、208携载以太网数据包GEM封装后通过总线104,到远端门202和/或节点204(例如能够用于通过以太网端口或PCIe端口的因特网和Wi-Fi接口)。
-使用GEM数据包格式,从本地门202和/或节点204携载传感器数据GEM封装后通过总线104,到远端门202和/或节点204(例如,CAN总线数据、摄像机(MIPI)帧数据、激光雷达(以太网)数据、电磁编码器数据(ADC)和其他类型的传感器数据)。
-使用GEM数据包格式,从本地节点204、208携载巨型数据和数据包通过碎片化和碎片整理方案,到远端节点204、208。这能够包括碎片化、碎片整理和重新排序/重新传输功能。
-使用GEM数据包格式,在内核200与节点204、208(和/或门)之间携载网络控制、操作和管理消息,包括物理层操作、管理和维护(PLOAM)、节点管理控制接口(NMCI)和操作、管理和维护(OAM)消息。
-使用GEM数据包格式,从内核200和本地门202和/或节点204携载CPU/PCIe访问CMD/DATA通过总线104GEM封装后,到远端本地门202和/或节点204(例如CPU232通过PCIe、USB、I2C、UART和GPIO接口从节点到节点的访问目标设备102)。
-最后,使用GEM数据包格式,在本地节点204、208和远端节点204、208之间通过总线104用于VPN通道应用。
GEM控制消息格式包括消息和扩展消息(例如长度为8字节+8字节...)。在总线104,可以使用GEM控制消息格式以用于内部网络管理和控制目的,包括动态带宽分配(DBA)报告、DBA授权、GEM接收(RX)确认、GEM流控制、GEM功率管理、GEM侦听、GEM远程消息和/或其他类型的控制消息。如上所述,节点204负责将数据封装为GEM数据包格式和GEM控制消息格式/从GEM数据包格式和GEM控制消息格式解封装数据。该方案可以将PCIe接口协议从点对点拓扑扩展到点对多点拓扑,并将接口距离从短距离扩展到长距离。
图6A-F示出了根据部分实施例的示例性GEM数据包格式和GEM标头格式。如图6A所示,GEM数据包600能够包括标头602和相应的净荷604。如上所述,对于消息数据包,标头能够是固定的大小(例如,8字节),净荷能够在长度上变化(例如,长度从8字节到4千字节);对于控制数据包,标头能够是例如8字节,带有或不带有一个或多个8字节扩展名。
图6B示出了根据部分实施例的GEM数据包标头格式的详细视图。如图6B所示,标头602包括GEM类型字段606、净荷长度指示字段608、加密密钥索引字段610(例如AES密钥索引)、节点/纪元ID字段612、GEM-ID字段614、GEM数据包类型字段616、传输序列标识符字段618、确认所需字段620、最后片段指示字段622和标头错误校正/校验(HEC)字段622。可选地,能够省略一个或多个字段和/或能够添加一个或多个附加字段。在部分实施例中,GEM类型字段606是两位,净荷长度指示字段608是十二位,加密密钥索引字段610是两位,节点/纪元ID字段612是十二位,GEM-ID字段614是十二位,GEM数据包类型字段616是三位,传输序列标识符字段618是六位,确认所需字段620是一位,最后片段指示字段622是一位,标头错误校正/校验(HEC)字段622是十三位。可选地,上述字段中的一个或多个可以更大或更小。
GEM类型字段606指示GEM数据包600的标头602是哪种类型(以及因此是哪种类型的数据包)。例如,GEM类型字段能够指示标头602是数据包标头、带宽授权消息标头(例如,从根端口230传输到门/节点)、带宽报告消息标头(例如,从门/节点传输到根端口230)和/或控制消息(例如,在根端口230,门202和/或节点204、208、234中的一个或多个之间)中的一个或多个。净荷长度指示字段608指示数据包600的净荷604的长度。加密密钥索引字段610指示在数据包600上使用的加密类型。例如,加密密钥索引字段610能够用作加密表中的索引值,以识别以下一项或多项:是否对数据包进行加密、使用哪个密钥对数据包进行加密和/或使用哪种加密方法。
节点/纪元ID字段612能够识别数据包600的源节点或目的地节点。例如,对于从节点突发到内核的GEM数据包600,字段612能够是或表征节点的纪元ID,以指示数据包600的源。作为另一个示例,对于从根端口230广播到其网络206、210内的节点/门的GEM数据包600,字段612能够是或表征目的地的节点ID(包括单播节点ID、多播节点ID和/或广播节点ID)。GEM-ID字段614可以是或表征点对点消息的源节点的数据/数据包/消息标识符,或者可以是或表征点对多点消息的目的地节点的GEM-ID(例如,包括CAN消息GEM-ID,传感器数据GEM-ID和/或以太网数据包GEM-ID)。因此,GEM格式提供了以下优点:使总线104能够通过节点/纪元ID字段612识别直接源和/或目的地节点,同时也使目标设备/端口/服务能够使用GEM-ID字段614来识别。
GEM数据包类型字段616能够指示(例如,从设备102和/或通过端口99接收的)封装在GEM格式内的消息的标头的类型和格式。例如,字段616能够指示消息标头是PLOAM消息、节点管理和控制接口(NMCI)消息、CAN命令消息、传感器数据、以太网数据包、CPU-IO(例如PCIe/USB)消息和/或节点操作和控制报告(NOCR)消息。确认所需字段620能够指示是否需要响应于消息的确认消息。传输序列标识符字段618能够识别来自源节点和/或其纪元ID的一组数据包内的数据包600(对于从节点突发到内核200的数据包)的传输序列号。在部分实施例中,当由确认所需字段620指示时,需要来自接收根端口230的确认消息。对于从根端口230广播到节点/门的数据包,传输序列标识符字段618能够识别单播/广播/多播GEM-ID(例如,CAN消息GEM-ID、传感器数据GEM-ID、以太网数据包GEM-ID和CPU/PCIe/USB数据-消息GEM-ID)的传输序列号。在部分实施例中,当由确认所需字段620指示时,需要来自接收根端口230和/或节点的确认。最后片段指示字段622能够指示数据包600是否是大数据包的一系列片段中的最后片段。标头错误校正/校验(HEC)字段622能够用于校验标头602的错误。
图6C示出了根据部分实施例的节点报告消息的GEM标头格式的详细视图。如图6C所示,标头602包括GEM类型字段606、报告消息类型字段624、源纪元ID字段626、报告总大小字段628、报告阈值大小字段630、报告序列号字段632、一个或多个源节点虚拟输出队列(VOQ)状态字段634(例如CPU-IO、PLOAM、NMCI、CAN、传感器、以太网或其他类型)、报告优先级字段636和标头错误校正/校验(HEC)字段622。可选地,能够省略一个或多个字段和/或能够添加一个或多个附加字段。在部分实施例中,GEM类型字段606是两位,报告消息类型字段624是两位,源纪元ID字段626是十二位,报告总大小字段628是十四位,报告阈值大小字段630是八位,报告序列号字段632是五位,一个或多个源节点虚拟输出队列状态字段634每个都是一位(或六位的单个字段),报告优先级字段636是两位,以及标头错误校正/校验(HEC)字段622是十三位。可选地,上述字段的一个或多个能够更大或更小。
报告消息类型字段624指示GEM数据包600是哪种类型的报告标头602(以及因此是哪种类型的报告消息)。例如,报告消息类型字段624能够指示标头602是无效报告消息、其自身的节点报告消息(例如,其中数据包的源的纪元ID被映射到数据包的源的节点ID)、另一个节点的节点报告消息(例如,其中数据包的源的纪元ID没有被映射到数据包的源的节点ID)和/或断电告警报告消息(例如,需要/请求最高优先级的消息)中的一个或多个。源纪元ID字段626能够是或表征:(例如,对于PLOAM和NMCI以及CAN/传感器/以太网队列标志的的报告的)源节点的纪元ID、(例如,对于CAN的报告的)CAN的纪元ID、(例如,对于传感器的报告的)传感器/节点之一的纪元ID、(例如,对于以太网数据包的报告的)以太网纪元ID和/或(例如,对于PCIe/USB报告消息的)PCIe/USB纪元ID。报告总大小字段628能够指示VOQ内的GEM数据的总大小(对于该纪元ID和/或节点ID),而报告阈值大小字段630能够指示VOQ内的GEM数据包边界(单个或复数个)(例如,在确定为纪元和/或节点授权的突发窗口的大小时使用)。
报告序列号字段632能够指示消息是序列中的哪个数字(例如,是否存在相关报告消息的序列,以便确定一个消息是否丢失或未排序)。一个或多个源节点虚拟输出排队(VOQ)状态字段634各自能够指示源节点相对于特定功能/类型的数据(例如,CPU/IO、PLOAM、NMCI、CAN、传感器、以太网)的状态。报告优先级字段636能够指示给予消息什么优先级(例如,最大努力、正常带宽请求优先级、CAN消息请求优先级、断电告警请求优先级)。
图6D和图6E示出了根据部分实施例的用于根端口带宽授权消息的GEM标头格式的两种变体的详细视图。如图6D所示,对于节点ID与纪元ID相同的节点授权消息,标头602能够包括GEM类型字段606、纪元ID字段638、开始时间字段640、授权大小字段642、授权标志字段644、报告命令字段646、授权命令字段648、强制唤醒指示符(FWI)字段650、突发配置文件字段652和标头错误校正/校验(HEC)字段622。可选地,能够省略一个或多个字段和/或能够添加一个或多个附加字段。在部分实施例中,GEM类型字段606是两位,纪元ID字段638是十二位,开始时间字段640是十四位,授权大小字段642是十四位,授权标志字段644是一位,报告命令字段646是三位,授权命令字段648是两位,强制唤醒指示符字段650是一位,突发配置文件字段652是两位,标头错误校正/校验(HEC)字段622是十三位。可选地,上述字段的一个或多个可以更大或更小。
纪元ID字段638能够是或表征消息所针对的节点的纪元ID或节点ID。开始时间字段640能够指示被授权给目标节点的授权窗口的开始时间(例如,该节点的纪元)。授权大小字段642能够指示授权窗口的大小/持续时间。授权标志字段644能够指示窗口是否被授权。报告命令字段646能够指示从节点/纪元/端口请求什么报告。例如,报告命令字段646能够指示以下一个或多个:无节点请求发送(RTS)状态报告或强制节点向端口报告RTS消息以进行黑匣子和诊断测试;与以下一项或多项结合:PLOAM和NMCI报告仅CPU-IO消息、CAN消息和传感器数据以及PLOAM/NMCI的强制报告;以太网数据包以及CPU-IO/CAN/传感器和PLOAM/NMCI的强制报告;和/或PLOAM/NMCI/CPU-IO/CAN/传感器/以太网以及节点操作和控制报告(NOCR)的强制完整报告。授权命令字段648能够指示什么类型的消息/数据被授权给突发窗口。例如,授权命令字段648能够指示以下一项或多项:窗口不用于PLOAM和NMCI消息;授权窗口仅用于PLOAM消息;授权窗口仅用于NMCI消息;和/或授权用于PLOAM、NMCI和NOCR消息。FWI字段650指示是否强制唤醒休眠节点。突发配置文件字段652能够指示突发配置(例如,SOB定界符、EOB定界符和/或前导码的长度、模式和/或其他特征)。
如图6E所示,对于节点ID与纪元ID不同的GEM授权消息,除了没有报告命令字段646和FWI字段650之外,标头602能够与图6D的标头基本相同。此外,与图6D不同,授权命令字段648能够是六位。可选地,授权命令字段648能够更大或更小。还与图6D不同的是,授权命令字段648能够指示不同类型的GEM带宽授权。例如,字段648能够针对以下各项指示带宽授权:仅针对CAN消息、仅针对传感器数据、仅针对断电告警消息和/或针对CAN消息和传感器数据的基于节点的输出调度设置的所有VOQ/CoS(服务等级)。另外,字段648能够在节点用确认消息进行回复的情况下强制节点ID省电。
图6F示出了根据部分实施例的用于控制消息的GEM标头格式的详细视图。如图6F所示,标头602包括GEM类型字段606、控制消息类型字段654、一个或多个控制消息字段656和标头错误校正/校验(HEC)字段622。可选地,能够省略一个或多个字段和/或能够添加一个或多个附加字段。在部分实施例中,GEM类型字段606是两位,控制消息类型字段654是四位,一个或多个控制消息字段一共是四十五位,标头错误校正/校验(HEC)字段622是十三位。可选地,上述字段的一个或多个能够更大或更小。
控制消息类型字段654能够指示消息是什么类型的控制消息(例如,因此已知控制消息字段656及其偏移以进行处理)。在部分实施例中,控制消息类型字段654指示以下一个或多个:报告确认消息;CAN确认消息;流量控制消息;省电消息;和IO事件消息(例如断电告警);运行时状态消息;和/或时间戳更新(例如从端口到节点)。控制消息字段656能够包括基于控制消息类型(如控制消息类型字段654中所示)的各种控制消息字段。
因此,GEM格式的益处是使总线104能够将完全不同类型的网络(例如,控制器局域网、光网络、传感器设备广播网络、无线网络、CPU访问网络)的各种输入数据和消息封装为一个独特格式(GEM)。然后,这种独特格式可以有利于突发消息和广播消息的各种数据输入的高速标准化处理和传输,从而实现现代机器自动化应用所需的多网络多设备总线架构的高效运行。
突发/广播帧格式
在部分实施例中,广播消息被格式化成由前导码(Preamble)+帧首定界符(Start-of-Frame-Delimiter)+帧净荷(Frame-Payload)定义的广播物理层帧(Broadcast-PHY-Frame),其中,帧净荷包括多个GEM数据包(GEM-Packet)数据和GEM控制(GEM-Control)消息。Broadcast-PHY-Frame可以是固定的帧大小(例如,25μs与125μs之间)。可选地,能够使用更大或更小的帧大小。例如,对于具有较少节点设备204、208的中央网络206和子网210,帧大小可以较小(例如,25μs或50μs)。在部分实施例中,Broadcast-PHY-Frame配置为通过包括光纤、铜缆和无线网络的网络206、210将GEM-Packet和GEM-Control消息从根端口230携载到门202和/或节点204、208、234。
在部分实施例中,突发消息被格式化成由前导码+帧首定界符+帧净荷+帧尾定界符(End-of-Frame-Delimiter)定义的Burst-PHY-Frame,其中,帧净荷包括一个或多个GEM-Packet数据和GEM-Control消息。Burst-PHY-Frame的大小可以根据根端口HDBA和/或门DBA授权的节点/门的总突发窗口的大小而变化。在部分实施例中,(来自门202或节点204、208、234的)Burst-PHY-Frame的最大大小不能超过最大Burst-PHY-Frame大小(例如,在25μs与125μs之间)。在部分实施例中,Burst-PHY-Frame被构造为通过包括光纤、铜缆和无线网络的网络206、210将GEM-Packet和GEM-Control消息从门202和/或节点204、208、234携载到根端口230和/或门202。
图7A示出了根据部分实施例的Broadcast-PHY-Frame700。如图7A所示,Broadcast-PHY-Frame700包括用于广播的物理同步块(PSBbc)702和广播成帧子层帧704,该广播成帧子层帧704包括GEM控制消息706、一个或多个GEM数据包600和成帧子层(FS)尾部708。如上所述,每个GEM数据包600包括标头602和净荷604。在部分实施例中,广播FS帧是FEC保护的。图7B示出了根据部分实施例的Burst-PHY-Frame710。如图7B所示,Burst-PHY-Frame710包括突发定界符的物理同步块单播开始(PSBuc_sd)712、突发成帧子层(FS)714和突发定界符的物理同步块单播结束(PSBuc_ed)716。PSBuc_sd 712能够包括前导码718和突发开始(SOB)定界符720,PSBuc_ed 716能够包括突发结束(EOB)定界符722。突发FS714能够包括FS标头724、一个或多个纪元726和FS尾部708。每个纪元726能够包括一个或多个如上所述的具有标头602和净荷604的GEM数据包600。在部分实施例中,突发FS帧是FEC保护的。特别地,通过(除了SOB定界符和帧的大小之外)包括EOB定界符,结构710使得嗅探器、分析引擎或其他元件能够监控总线104内的流量,即使不知道/未访问帧的大小,它使得元件能够基于EOB定界符来确定每个突发帧的结尾。
图7C示出了根据部分实施例的门Burst-PHY-Frame728。如图7C所示,门Burst-PHY-Frame728能够包括一个或多个Burst-PHY-Frame710,这些Burst-PHY-Frame710组合在一起成为具有单个前导码729和一个或多个间隙730的单个组合burst-PHY-frame。具体地,如下文详细描述的,门202能够从一个或多个子节点208以及一个或多个IO端口99(它们充当虚拟节点)接收突发帧728,并将这些帧728组合成如图7C所示的组合门Burst-PHY-Frame728。结果,系统100提供了以下优点:通过组合突发帧进行更有效的消息通信,以及通过仅对组合帧作为整体使用单个前导码,而不是对每个组合突发帧使用单独的前导码(其前导码每个可以高达256字节或更多),每帧的开销更小。
图8示出了根据部分实施例的智能控制器及传感器内联网总线103的操作方法。如图8所示,在步骤802,一个或多个节点204、208输入来自联接到一个或多个端口99的一个或多个设备102的一个或多个消息。在步骤804,节点204、208将消息封装成通用封装模式(GEM)格式,以传输到中央处理内核200。如果输入消息的目的地是内核200内的节点234,则在步骤806,内核对消息进行解封装、处理并传输到其目的地,而无需重新封装。否则,如果输入消息的目的地是(在内核200之外的)一个或多个其他节点204、208,则在步骤808,内核200对消息进行解封装、处理并重新封装回GEM格式,以广播到其目的地。在步骤810,节点204、208将从内核200接收到的消息从GEM格式解封装为从设备102之一接收到的输入数据的原始格式。可选地,如果输入消息是从内核200内的节点234输入的,则它们能够由内核200进行输入和处理(无需封装),并且如果它们的目的地是内核200外的一个或多个节点204、208,则仅由内核200进行封装以广播。因此,该方法提供了以下优点:能够实现许多不同类型的数据(例如,传感器、控制器总线、以太网或其他类型的数据)的通信,通过组合突发帧的更高效的消息通信,以及通过仅对组合帧作为整体使用单个前导码,而不是对每个组合突发帧使用单独的前导码,每帧的开销更小。
内核
内核200可包括内核交换机228、一个或多个根端口230(内部端口)、中央处理单元232以及具有IO端口99(外部端口)的一个或多个内核节点234。在部分实施例中,内核200还包括安全存储器(例如,安全数字(SD)存储器)节点236,用于将数据存储在黑匣子存储器238中。可选地,可省略SD节点236和/或存储器238。内核节点234使用户能够绕过网络206、210而直接将用户插件模块(例如,CPU内核、WIFI LTE/5G、用户应用软件)联接到内核200。
内核交换机228包括转发引擎元件、排队缓冲区管理器和流量管理器。转发引擎元件可包括多个转发引擎。例如,转发引擎元件可包括用于L2/L3/L4以太网标头解析器、查找和分类/访问控制列表(ACL)功能——包括L2媒体访问控制(MAC)地址学习和转发功能、L3因特网协议(IP)寻址到GEM-ID路由/映射——的一个引擎。另外,一个引擎可用于GEM标头消息解析器、查找、ACL和转发,和/或另一个引擎可用于支持DOS攻击功能,以保护总线104免受外部因特网DOS攻击。GEM排队缓冲区管理器可以是集中式缓冲架构,该集中式缓冲架构使用结合存储转发方案和直通转发方案的基于链列表的缓冲区和排队存储方法。对于延时敏感的GEM数据包和GEM消息,可以使用直通转发方案;而对于拥塞的GEM数据包,可以使用存储转发方案。两种方案可以动态混合在一起,并根据运行时的流量拥塞情况在彼此之间动态切换。GEM流量管理器支持GEM-ID和NODE-ID库的双令牌管制、单令牌限速和输出整形功能,包括相关的管理信息库(MIB)计数器。能够支持GEM-ID库加权随机早期检测(WRED)和尾部丢弃功能,以及早期流量拥塞检测及指示和反馈机制,以通知混合动态带宽分配机制(HDBA)、根端口230、门202和节点204、208、234减慢流量传输,以避免发生流量拥塞。
因此,内核交换机228可以提供进入的功能,交换机228从根端口230、本地节点234、计算机232和/或其他IO端口中的一者或多者接收GEM,处理GEM并外发,将接收到的GEM转发并传输到根端口230、本地节点234、计算机232和/或其他IO端口中的一者或多者。换言之,交换机228能够接收来自多个源的GEM数据包;执行GEM和以太网L2/L3/L4标头解析、L2MAC查找和学习、GEM消息以及5元组ACL和分类;修改GEM标头和GEM净荷以太网标头(如有必要);并且将GEM数据包存储转发(或直通缓冲存储)到一个或多个混合自动重传请求(HARQ)功能块以及一个或多个根端口230的广播MAC。
在执行该处理和/或转发功能时,交换机228可支持混合存储转发和直通转发方案,以便对于延时敏感的GEM减少传播延时,并为过突发GEM流量提供足够大的缓冲。另外,交换机228可支持总线104内的即时流量控制机制,包括混合动态带宽分配和授权(granting)以确保总线104上的整体服务质量(QoS)。此外,交换机228可支持L2/L3/L4ACL和分类、L2 MAC寻址学习和转发、L3 IP寻址到GEM-ID路由/映射以及DOS攻击防护。最后,交换机228可支持QoS调度、GEM缓冲WRED/尾部丢弃、节点和/或GEM管制和输出整形功能。
根端口
根端口230可包括根发送MAC、根接收MAC、安全引擎(例如高级加密标准(AES))、前向纠错(FEC)引擎、混合动态带宽分配(HDBA)引擎、激活处理器(例如,激活状态机)和突发模式SERDES IP。可选地,可省略上述元件中的一个或多个。每个根端口230的发送MAC负责:接收交换机228和/或HARQ准备好以外发的GEM;将GEM映射并打包为广播帧格式(例如,广播物理层帧(Broadcast PHY-Frame)结构);并且将GEM广播到根端口230联接的中央传输网络206中的所有门202和/或节点204(例如通过根SERDES和光/铜缆网络广播域)。相反,每个根端口230的接收MAC负责:从突发模式SERDES和门202和/或节点204、208接收呈突发帧格式(例如,Burst-PHY-Frame结构)的GEM;从突发帧格式中提取GEM,解析GEM的GEM标头,并且接收寻址到GEM标头的GEM(例如,基于GEM标头和系统服务水平协议(SLA)配置文件设置),然后将GEM/数据输出到交换机228以进行进一步处理和转发。换言之,各根端口230均能够从节点204和/或门202接收突发流量(从门202的子网210中的节点208转发),将突发流量转换成正确的格式以由交换机228进行处理,然后将输出流量重新格式化并广播(通过门202)到所有节点204和节点208,以到达由交换机228指示的目的地。
混合动态带宽分配(HDBA)引擎负责:接收有关带宽占用、流量拥塞和其他因素的报告(例如,NODE-DBA报告);基于与每个报告相关联的节点/端口/设备的SLA配置文件、DBA报告数据本身以及约定信息速率(CIR)/峰值信息速率(PIR)反馈以执行HDBA分析;并且向每个节点设备和分配的端口/EPOCH-ID授权突发窗口。换言之,HDBA引擎从(与根端口230相关联的网络206及其子网210的)每个节点204、208和/或关于带宽占用/流量拥塞的其他源输入数据,并且为每个节点204、208动态地分配突发传输窗口开始时间和/或大小。在对子网210内的节点208执行此分配时,向节点208提供访问的门202对于HDBA引擎是透明的。因此,如下文详细描述,门202接收所需数据并在针对子网210的门202的每个节点208的分配窗口内执行突发传输。HDBA引擎还可以将报告确认消息(GEM-Report-ACK消息)发布到节点204、208,以确认已接收到报告消息(GEM-DBA报告)。
根激活状态机负责在节点204、208、234与根端口230之间交换物理层操作、管理和维护(PLOAM)GEM消息,通过激活处理和过程来执行和完成节点204、208、234设备的激活和注册。安全引擎可以是用于接收MAC和发送MAC的AES-128/256加密和解密功能块。可选地,也可以使用其他加密。前向纠错(FEC)引擎用于控制通过不可靠或嘈杂的通信通道进行的数据传输中的错误。在部分实施例中,FEC引擎针对10G和2.5G数据速率分别使用RS(255,216)和RS(225,232)的里德所罗门FEC编码方案。可选地,FEC引擎可以使用用户低密度奇偶校验(LDPC)方案和/或其他FEC算法。突发模式SERDES使用快速时钟和数据恢复(CDR)锁定模式来确保正确接收适当的突发消息(例如,burst-PHY-Frame)。在部分实施例中,在光纤切断(fiber-cut)、快速故障转移(fast fail-over)和保护倒装恢复中需要CDR的快速锁定功能。
最后,在注册过程后,根端口230从节点204、208接收广播数据分发服务(DDS)消息,该消息通知根端口230新的节点/设备已经加入并注册到总线104。因此,根端口230配置为始终侦听并接收来自交换机228和声明加入总线104的新节点204、208的这些数据分发服务(DDS)消息,并且更新根端口(Root-Port)SLA配置文件数据库和设置,以反映新添加的节点/设备。
节点
在总线104内,边缘节点204、208、234提供桥接功能,通过一侧的IO端口99与外部设备102相接,并通过另一侧与总线内部网104相连。为了从联接到节点204、28的端口99的设备102提供数据,节点204、208、234构造并将突发消息(例如封装为GEM的数据的Broadcast-PHY-Frame)经由总线104并通过(其所属的网络206或其子网210的)根端口230发送到其他节点204、208。此外,为了向联接到节点204、28的端口99的设备102提供数据,节点204、208、234通过(其所属的网络206或其子网210的)根端口230从其他节点204、208接收广播消息(例如封装为GEM的数据的Broadcast-PHY-Frame),从广播消息(例如来自RX BC-PHY-Frame的GEM)提取数据,并且过滤并接收属于(寻址到)节点204、208的数据。
为了执行这些和其他功能,边缘节点204、208可以包括一个或多个IO端口99、封装/解封装引擎、HARQ块和节点MAC。每个端口99可以是CPU接口(例如PCIe、USB和UART)、传感器接口(例如MIPI、模数转换器(ADC)、GPIO)、互联网接口(例如以太网、EtherCAT、和CAN总线)、以及电机模块接口(例如脉冲宽度调制(PWM)、I2C、ADC和GPIO)中的一者。封装/解封装引擎从端口99接收输入数据,并在入口处将从因特网端口(例如以太网、Wi-Fi)、传感器接口、电机模块接口和CPU(例如PCIe和USB)接收的数据包、命令(CMD)和消息封装为GEM格式。接着,节点204、208可以将封装消息(例如,GEM)输出到HARQ和/或节点传输MAC(如下所述)。在出口处,它从节点接收MAC接收GEM数据包(从根端口230和/或另一节点204、208、234接收),并将GEM解封装回原始数据格式(如从联接设备102接收的数据格式),以通过一个端口99输出到设备102。类似于根端口230,节点204、208的HARQ执行混合自动请求重发功能,以确保将GEM数据包成功发送到其一个或多个目的地节点204、208、234。具体而言,HARQ可以内置有重发计时器、发送GEM列表标志表和接收确认检查功能(例如,GEM接收确认),以在发生计时器超时而未接收到确认的情况下触发GEM重新传输。
节点MAC包括发送MAC(TX MAC)、接收MAC(RX MAC)、安全引擎(例如,AES)、前向纠错(FEC)引擎、DBA-报告引擎和SERDES IP。TX MAC负责将GEM映射/打包为突发结构(例如,Burst-PHY-Frame结构),并在用于由根端口230的动态突发分配引擎为该节点授权的节点的突发窗口期间,将突发消息发送到根端口230和/或节点204、208、234。RX MAC负责从根端口230和/或节点204、208、234接收和终止广播消息(例如,Broadcast-PHY-Frame),从广播消息格式提取GEM,解析并接收基于节点的SLA配置文件设置而寻址到根端口230和/或节点204、208、234(例如,寻址到根端口230和/或节点204、208、234的一个端口99)的GEM,然后将数据输出到封装/解封装引擎。
DBA报告引擎通过突发报告将队列(例如,EPOCH队列)中的总数据包和消息报告给相关联的根端口230的HDBA引擎(如上所述)。另外,DBA报告引擎从相关联的根端口230的HDBA和/或相关联的门202的DBA接收GEM-授权消息,并且准备节点发送MAC以利用存储在队列(例如,EPOCH队列)中的GEM构建突发消息(例如,Burst-PHY-Frame)。
节点激活处理器负责执行并完成节点204、206、234和根端口230之间的节点204、208、234激活处理和过程。安全引擎可以是用于接收MAC和发送MAC两者的AES-128/256加密和解密功能块。可选地,也可以使用其他加密。FEC引擎用于控制通过不可靠或嘈杂的通信通道进行的数据传输中的错误。在部分实施例中,FEC引擎针对10G和2.5G数据速率分别使用RS(255,216)和RS(225,232)的里德所罗门FEC编码方案。突发模式SERDES使用快速时钟和数据恢复(CDR)锁定模式来确保快速光纤切断、快速故障转移和保护倒装恢复。
最终,在激活过程后(例如,在注册过程完成之后),节点204、206、234可以将DDS消息广播到向整个总线104,以向根端口230、交换机228、门202和/或其他节点204、206、234通知和告知已在节点204、208、234处向总线104加入并注册新设备。此外,节点204、206、234可以侦听来自交换机228和声明加入总线104的其他新节点204、206、234的DDS消息,并且基于DDS消息更新其全局SLA配置文件数据库和设置。
门
门202可包括节点MAC(具有多个虚拟节点状态机和缓冲)、自适应域网桥(ADB)、根端口MAC(具有内置门DBA功能/门DBA)、门SLA配置文件数据库和突发模式SERDES。节点MAC包括发送MAC、接收MAC、安全引擎(例如AES)、FEC引擎、DBA报告功能模块、虚拟节点处理器的SERDES功能模块和/或多组(例如,子网210内的每个节点均有一组)、虚拟节点配置文件和设置、以及相关的MIB计数器和报告逻辑中的一者或多者。发送MAC从门ADB接收GEM,然后基于门的虚拟节点SLA配置文件数据库设置映射并打包为其关联的虚拟节点突发结构(例如Burst-PHY-Frame结构)。此外,发送MAC将多个虚拟节点突发结构(例如,Burst-PHY-Frame)聚合为一个门突发结构(例如GATE/Turbo Burst-PHY-Frame),并且通过网络206,基于从根端口230的HDBA接收的用于那些节点208的已授权的突发窗口将突发消息发送到根端口230。节点接收MAC从根端口230接收广播消息(例如,Broadcast-PHY-Frame),从消息中提取GEM,解析GEM的标头,基于GEM标头和虚拟节点SLA配置文件数据库设置以确定哪些消息是针对门202的子网210内的节点208的消息,并将这些消息输出到ADB。
ADB在门202的节点MAC与根MAC之间执行桥接功能。具体地,在广播方向(从根端口230到节点208)上,ADB从节点接收MAC接收GEM并执行GEM标头查找,基于门虚拟节点配置文件数据库以执行检查和过滤功能,从而接收属于门202的子网210的节点208的GEM。然后ADB可以将这些GEM输出到门202的根端口发送MAC。在突发方向(从节点208到根端口230)上,ADB从根接收MAC接收GEM,将GEM存储在其关联的虚拟节点缓冲存储器中,并在其突发窗口开始时间到来时将GEM输出到虚拟节点发送MAC。
门202的根端口MAC包括发送MAC、接收MAC、安全引擎(例如AES)、FEC引擎、门DBA和突发模式SERDES模块。发送MAC负责从ADB接收GEM,将GEM映射并打包为广播格式(例如Broadcast-PHY-Frame结构),并将广播格式帧输出到突发模式SERDES。接收MAC负责从突发模式SERDES(例如,远端节点)接收突发消息(例如Burst-PHY-Frame),从消息中提取GEM,仅解析和接收门202的子网210内的节点208所针对的GEM(如基于解析的GEM标头和SLA配置文件设置所指示的),然后将GEM输出到门202的ADB。门202的DBA是根端口230的扩展HDBA。门DBA基于门DBA SLA配置文件设置(其是根HDBA的子集)来授权和分配节点突发窗口。门SLA配置文件数据库包括属于该门202(例如,位于门202的子网210内)的节点标识符的列表、用于门DBA功能的节点标识符的SLA配置文件表和GEM转发信息。突发模式SERDES从根发送MAC接收广播消息(例如,Broadcast-PHY-Frame),并沿广播传输方向发送到子网210中的节点208。在接收方向上,突发模式SERDES通过子网210从节点208接收突发消息(例如,Burst-PHY-Frame),并将突发消息输出到根接收MAC以用于消息/帧终止和GEM提取。
门202的主要功能是通过自适应桥接而桥接到一个或多个子网210(以及其中的节点208)来扩展其中一个根端口230的中央传输网络206。特别地,门202可以将来自节点208和/或其子网210内的其他门202’的消息突发到其所处于的网络206的根端口230,就像突发流量是来自中央传输网络206内的节点一样。类似地,门202可以将从其他节点204、208、234、交换机228和/或根端口230接收的消息广播到节点208和/或其所处于的子网210内的其他门202’,就像节点208和/或其他门202’在中央传输网络206内一样。因此,在保持中央传输网络206内的突发/广播通信方法的同时,门202还可以将中央传输网络206扩展到附加节点208和/或不同类型的子网210。
更详细地,在传输突发方向(例如,从节点/门到根端口/交换机/内核)上,从节点208到门202到根230的突发窗口授权机制能够包括以下步骤。首先,门202的DBA是根端口230(网络206的根端口230,门202是网络206的一部分)的HDBA的子集,并且因此对根端口230和节点208是透明的。第二,当门202接收从其根端口230广播的突发窗口授权消息(例如,GEM授权消息)时,门202使用消息标头(例如,GEM标头)来查找门SLA配置文件数据库以获取GEM转发信息。换言之,如门SLA配置文件数据库中所指示的,门202使用标头数据来确定授权消息是否针对其子网210内的任意节点208。如果授权消息不是针对其子网210的任意节点208,则门202丢弃授权消息;反之,门将消息存储在其虚拟节点数据库中,更新数据库并将新的窗口授权消息(例如,GEM授权消息)广播到其子网210中的指向原始授权消息所指向的节点208的所有节点/门。作为响应,节点208向门202提供突发消息,并且门202格式化该消息和/或以其他方式处理该消息,以在接收到的针对该节点208的窗口授权消息中指示的突发窗口开始处突发到根端口230。
第三,为了获得最佳的处理量带宽、高的突发带宽效率和/或低的传输延时,门202可以将在该新的授权消息中指示的授权窗口调整为相比原始授权消息中指示的授权窗口提前至少预定时间量。特别地,该时间量为门202提供了时间,以在由原始窗口授权消息指示的时刻将数据从门202突发到根端口230之前,对来自节点208的突发数据进行接收和格式化。实际上,通过同时针对多个节点208执行此操作,门202可以将来自多个不同节点的消息(例如,多个Burst-PHY-frame)聚合为单个较大的突发消息(例如,GATE Burst-PHY-Frame)。
第四,由于门流量DBA报告和根端口230窗口授权之间的协议,根端口230和门202可以维护组成员列表表格,并且知晓每个门230以下的作为一个小组的虚拟节点208。因此,当节点208向根端口230的HDBA发出报告消息(例如,GEM报告)时,门203可以截取该报告消息,对该报告消息进行修改,以包括临时存储在门202的虚拟节点缓冲存储器(如果有的话)中的GEM数据,并向根端口230的HDBA发出新的报告消息。换言之,门202可以将来自其子网210中的节点的报告消息组合,以使报告更加有效。
此外,当根端口230的HDBA正在向子网210中的节点208发布授权消息(例如,GEM授权消息)时,由于根端口230知晓该子网210中的所有节点208(例如,通过虚拟节点数据库),因此根端口230的HDBA可以确保属于同一门202和/或子网210的节点208的授权窗口是按次序/连续顺序的,使得门202能够对除了第一个虚拟节点的突发消息之外的所有虚拟节点的突发消息(例如,burst-PHY-Frame)进行组合和/或突发,而无需每个突发消息具有前导码。这提供了减少前导码开销和增加突发带宽效率(特别是对于GEM控制消息的小突发)的益处。
换言之,对于数据路径,门202从突发模式SERDES和远端节点208接收突发消息(例如,burst-PHY-frame),从门202的根接收MAC中的消息中提取GEM,将GEM存储在其关联的虚拟NODE缓冲存储器中,并等待虚拟节点突发窗口授权从那些虚拟节点208的根端口230进入。然后,门202能够将用于该节点208和其他节点208的已存储的GEM映射和打包回到突发消息格式,从而在门202的节点发送MAC中,将多个突发消息一起聚合为一个较大的突发消息。最后,门202能够将该较大的突发消息发送到SERDES,并基于授权的突发窗口(例如,该门202的多个连续虚拟节点突发窗口)通过网络206发送到根端口230。
现在查看广播方向(例如,从根端口/交换机/内核到节点/门),门202同样能够将中央网络206扩展到子网210,同时对于其网络206的根端口230和其子网210中的节点208两者都是透明的。为了实现这一点,门202能够像虚拟节点一样作用并从根端口230接收广播消息(例如,Broadcast-PHY-Frame),从消息中提取GEM,将未定向到其子网210中的节点208/门202’中的一者的任何GEM(例如,如由消息标头和门SLA配置文件数据库所指示的)丢弃。反之,门202能够使用存储转发方案和/或直通方案来将GEM打包和映射回到门202的根发送MAC中的根端口广播消息结构(例如,Broadcast-PHY-Frame结构),并将新的广播消息广播到其子网210中的所有节点208和/或门202’。
数据传输操作
在操作中,总线104使用突发/广播通信方案进行操作,其中,使用突发传输方法将来自节点204、208、234(和门202)的所有数据消息汇集到内核200,其中,能够(由内核200)动态调整大小的传输窗口被授权节点204、208、234,使得节点204、208、234(或代表节点204、208、234的门202)能够将其数据消息在被授权窗口内作为“突发”进行传输。如果发送节点在子网210中,则门202(作为该网络210的根端口)通过子网210从节点208接收突发消息,然后通过中央网络206将该消息突发到内核200(像节点208是中央网络206的一部分一样)。在进行该突发通信时,门202可以聚合来自子网210内的多个节点208的突发消息,从而提高效率并减小了相对于中央网络206可能增加延时的子网210的影响。甚至,可以对于子网210内的门202’重复进行上述步骤,该门202’提供到子子网210’的网关等,以支持任何数量的“链接/门控”网络。此外,在此过程中,门202可以相对内核200和节点208是透明的,使得无需将消息寻址到门202。
内核200(从将内核200联接到每个中央网络206的一个或多个根端口230)接收这些消息,对这些消息进行处理(包括修改和/或确定这些消息的目标目的地),并且无论哪个中央传输网络206都将这些消息(以及源自内核200的任何消息)广播到处于其的目标节点204、208、234(或代表目标节点208的门202)上。像上面的突发通信一样,如果目标节点208在子网210内,则桥接到该子网210的门202可以从内核接收/截取消息,并将消息重新广播到子网210上的所有节点208(和/或门202’)。对于不在子网210(或子网210的子网)上的目标节点204的任何广播消息,都可以由门202丢弃,以提高效率。同样,该过程是透明的,并且能够由子网210内的门202’重复进行,并且对于任意数量的链接网络以此类推,以通过网络广播消息。因此,每个网络206(以及联接到网络206的子网210)上的所有节点204、208、234(和门202)从内核200接收在该网络206上广播的所有消息,并且仅需要查找哪些消息指向节点204、208、234(和门202),而丢弃其他消息。
更详细地,当节点204、208、234通过其一个或多个IO端口99从一个或多个外部设备102接收数据时,节点204、208、234将数据存储在GEM-ID队列缓冲存储器中,并且将报告消息(例如,GEM-Report)突发到其所处于的中央网络206的根端口230(直接地或者在一个或多个门202位于中央网络206的子网210中的情况下通过一个或多个门202),并且等待被授权突发窗口以发送输入数据。如上所述,门202可以从其子网210中的多个节点208(和/或门202’)收集报告消息并将报告消息聚合为单个较大的报告消息,门202能够在那些端口208的突发窗口期间更有效地将该单个较大的报告消息突发到根端口230。
同时,节点204、208、234能够将输入数据封装为GEM格式(将超出预定大小的GEM分段为较小的GEM),利用节点204、208、234的安全密钥对GEM进行加密,更新HARQ表,并且将GEM映射并打包成突发格式(例如,Burst-PHY-Frame格式)并执行编码(例如,FEC RS(255,216)编码)。随后,在授权并到达每个节点的突发窗口之后,节点将包括输入数据的GEM突发到相关联的根端口230。
根端口230的HDBA从节点204、208(和/或门202)接收所有报告消息,并基于SLA配置文件数据库、延时敏感级别、流量拥塞反馈、约定信息速率(CIR)/峰值信息速率(PIR)反馈和/或其他因素对每个节点204、208执行DBA分析,以确定每个节点204、208的授权窗口突发大小和开始时间。一旦为一个或多个节点204、208确定了授权的突发窗口,则根端口230以广播授权消息(例如,GEM授权)将窗口广播至每个节点、广播至相关联的中央网络206和/或任何子网210中的所有节点204、208(通过门202)。如上所述,来自根端口230的广播消息具有相同大小,而从节点204、208到根端口230的突发窗口能够如由HDBA动态分配的那样改变大小。
一旦接收到针对其子网210(或子网210的子网)中的节点208的广播授权消息之后,门202将新的授权消息广播到子网210的所有节点208。具体地,这些新的授权消息能够指定在由原始/根端口授权窗口指示的时间之前发生的突发窗口。这是为了确保门202在原始/根授权窗口之前从端口208接收(例如“被突发”)输入数据/GEM,从而使门202有时间将来自多个节点208和/或端口99的数据/GEM聚合为单个较大消息,以便在原始/根端口授权窗口到达时突发到根端口230。因此,门202能够弥补子网210的低效率和/或较慢的方面,使得子网210不会减慢中央传输网络206的效率。
在接收到包括GEM(包括来自外部设备102的输入数据)的突发消息时,根端口230可以对突发消息执行解码(例如,FEC RS(255,216)解码)和纠错,以进行解码并纠正任何传输错误。然后,根端口230可以从突发消息(例如,传输帧格式)中提取GEM,解密所提取的GEM(例如,利用AES-128/256和源节点安全密钥),绕过GEM分段块,并且将GEM传递给交换机228。对于每个GEM,交换机228接着可以执行GEM-标头查找,解析和分类以太网L2/L3地址和标头,处理GEM转发流程图并确定GEM转发目的地信息,将GEM存储在(直通)缓冲存储器中,并且基于SLA数据库QoS输出调度程序将GEM输出到HARQ和目的地根端口230(例如,其网络206或子网210包括目标节点204、208的根端口230)。
根端口230接收GEM,利用目标节点(或广播GEM)的安全密钥执行GEM加密(例如,AES-128/256加密),将GEM打包并映射为广播消息结构(例如,Broadcast-Frame结构),对消息进行编码(例如,FEC RS(255,216)编码),并且最后将该广播消息广播到该根端口的网络206及其子网210中的所有节点204、208。如果节点208在子网210内,则到该子网的门202接收广播消息,并将该消息广播到子网210内的所有节点208。在部分实施例中,门202过滤掉没有针对其子网210(或子网210的子网)内的节点208的任意广播消息,并且仅广播针对那些节点208中的一个节点的广播消息。可选地,门202能够在不确定消息是否与那些节点208中的一个节点有关的情况下,将所有广播消息重新广播到门202的子网210内的节点208。
所有节点204、208监测接收到的广播消息,处理用于节点204、208的消息并且丢弃其他消息。具体地,对于未丢弃的消息,节点204、208对消息进行解码和纠错(例如FEC RS(255,216)解码),从广播消息格式(例如BC-PHY-Frame)中提取GEM,对所提取的GEM进行解密(例如利用AES-128/256和目的地节点的安全密钥),将数据从GEM格式解封回到原始IO-端口数据格式,并且将数据通过指定的IO端口99输出到外部设备102。因此,总线104和系统100提供了以下益处:能够将具有不同输入数据、不同处理速度和数据约束的多个不同网络进行组合,同时仍保持机器自动化系统所需的低延时和高吞吐量。这是独特的内部网系统架构,并且针对这样的机器自动化应用进行了特别定义和优化。
图4示出了根据部分实施例的配置为实现系统100的示例性计算设备400的框图。除了上述特征之外,外部设备102还可以包括下述设备400的部分或全部特征。通常,适合于实现计算设备400的硬件结构包括网络接口402、存储器404、处理器406、I/O设备408(例如,读取器)、总线410和存储设备412。可选地,所示组件中的一个或多个组件能够被移除或者由本领域中公知的其他组件代替。处理器的选择不是关键性的,只要选择了具有足够速度的合适处理器即可。存储器404可以是本领域中已知的任何常规计算机存储器。存储设备412可以包括硬盘驱动器、CDROM、CDRW、DVD、DVDRW、闪存卡或任何其他存储设备。计算设备400可以包括一个或多个网络接口402。网络接口的示例包括连接至以太网或其他类型的LAN的网卡。I/O设备408可以包括以下一个或多个:键盘、鼠标、监测器、显示器、打印机、调制解调器、触摸屏、按钮接口和其他设备。操作软件/应用程序430或其功能/模块可以被存储在存储设备412和存储器404中,并在应用程序被典型地处理时被处理。计算设备400中能够包括比图4所示的更多或更少的组件。在部分实施例中,包括机器自动化系统硬件420。尽管图4中的计算设备400包括用于系统100的应用程序430和硬件420,但是系统100能够以硬件、固件、软件或其任何组合在计算设备上实现。
图5示出了根据部分实施例的包括智能控制器及传感器内部网总线104的机器自动化系统100的操作方法。如图5所示,在步骤502中,节点204、208通过总线104的一个或多个端口99从多个外部设备102接收输入数据。在步骤504中,节点204、208将输入数据作为突发消息在可变大小的突发窗口中突发到内核200。在部分实施例中,对于每个节点204、208,根端口230的HDBA动态地调整可变突发窗口的突发窗口开始时间和大小,并且基于从其中的节点204、208报告的数据流量参数,将已调整的窗口以广播授权窗口消息分配给相应的节点204、208。在部分实施例中,门202将包括从节点208接收到的输入数据和/或流量报告的两个或多个突发消息聚合为单个较大的突发报告或输入数据消息以用于突发到内核200。在这些实施例中,门202可以省去接收到的突发消息的一部分(例如,前导码)以提高总线104的效率。在部分实施例中,在从内核200接收到广播窗口授权消息之后,门202将突发窗口的原始时间调整为较早的时间,并将已调整的广播窗口授权消息广播到节点208。因此,在由根端口230授权的窗口之前,节点208将其数据突发到门202,使得门202能够将多个突发消息组合在一起并在随后的原始时间窗口中对它们进行突发。在步骤506中,内核200将输入数据作为广播消息处理并广播到中央网络206和子网210内的需要到达消息的目标节点204、208的每个节点204、208。在步骤508中,目标节点204、208将广播消息的数据转换成由联接到节点204、208的设备102接受的格式并将数据输出到设备102。因此,该方法具有下述优点:尽管使用了较低速度的网络媒体,但仍使总线104能够保持高速。
设备模块
在部分实施例中,设备102可以是设备模块。图9示出了根据部分实施例的智能柔性执行器(Smart Compliant Actuator,简称SCA)及传感器模块900。SCA及传感器模块900可以是本文描述的机器自动化系统100的设备102中的一个或多个。在部分实施例中,智能柔性执行器(SCA)及传感器模块允许偏离其自身的平衡位置,这取决于所施加的外力,其中柔性执行器的平衡位置被定义为执行器产生零力或零扭矩的位置。如图9所示,SCA及传感器模块可以包括经由设备网络908联接在一起的一个或多个电机902、一个或多个传感器904和/或控制板906(用于控制电机902和/或传感器904)。特别地,这种类型的模块900可以执行需要高带宽和/或低延迟的机器自动化任务(例如,经由总线104与一个或多个控制器设备102联接)。电机902可以包括执行器电机,以控制模块900的致动(例如,机器人手臂的运动),并且传感器904可以包括图像和/或磁传感器,以输入图像数据和/或检测模块900的位置(例如,机器人手臂的当前位置、图像传感器的位置、从自动驾驶汽车前方感测的图像、或其他感测到的数据)。
图10A-C示出了根据部分实施例的控制板906、906’、906”的变体。如图10A所示,用于多连接模式模块900的控制板906可以包括全部可操作地联接在一起的节点片上系统(SoC)1002、跨阻放大器(TIA)和/或激光驱动器(LD)1004、双向光学子组件(BOSA)1006、功率调节器1008、电机驱动器1010、柔性执行器电机和功率控制连接器1012、电机控制信号收发器1014、一个或多个传感器1016、分光器1018、输入功率连接器1020、一个或多个输出功率连接器1022、第一光纤连接器1024、一个或多个第二光纤连接器1026。特别地,BOSA1006、分光器1018和光纤连接器1024、1026通过光纤电缆联接在一起。可选地,可以省略一个或多个上述元件,增加或减少它们的数量和/或添加其他元件。
控制板906可以是柔性印刷电路板。BOSA 1006可以包括发射器光学子组件(TOSA)、接收器光学子组件(ROSA)和波分复用(WDM)滤波器,因此它可以使用双向技术来支持每根光纤上的两个波长。在部分实施例中,BOSA 1006是混合硅光子学BOSA。电机驱动器1010可以是预驱动器、栅极驱动器或其他类型的驱动器。柔性执行器电机和功率控制连接器1012可以向电机902传输控制和/或功率信号。电机控制信号收发器1014可以经由总线104接收电机控制信号和/或向一个或多个控制器设备102发送电机、传感器和/或其他数据。传感器1016可以包括磁传感器和/或其他类型的传感器。例如,传感器1016可以感测模块900的位置和/或方向,并将位置数据作为反馈经由总线104提供给SoC 1002和/或与模块900联接的控制器设备102。分光器1018可以内置于控制板906中。输入功率连接器1020接收控制板906的功率。输出功率连接器1022被配置为向一个或多个其他板/模块900供应、传输和/或转发功率。
第一光纤连接器1024与分光器1018联接,该分光器1018将电缆分成两根或更多根电缆。一根电缆与BOSA 1006联接,用于向板906的其他元件发送信号和从板906的其他元件发送信号,其余每根电缆与一个或多个第二光纤连接器1026分别一一联接。第一光纤连接器1024和/或第二光纤连接器1026可以是尾纤光纤连接点和/或连接器1024。具体地,尾纤光纤连接点和/或连接器可以包括单根短的、通常是紧密缓冲的光纤,该光纤在一端具有预安装的光学连接器,在另一端具有一段裸露的光纤。尾纤的末端可以被剥离并熔接到多光纤主干的单根光纤上。可选地,可以使用其他类型的光学连接点和/或连接器1024。
在控制板906、906’、906”内的操作中,电机驱动器1010可以接收由SoC 1002(和/或经由SoC 1002的控制器设备102)产生的脉宽调制(PWM)控制信号,用于(经由柔性执行器电机和功率控制连接器1012)控制SCA模块900的电机902的扭矩、速度和/或其他操作。此外,传感器1016、传感器904和/或驱动器1010可以向SoC 1002提供电机和/或传感器状态反馈,使得SoC 1002(和/或经由SoC 1002的控制器设备102)可以基于该反馈调整控制信号,以便控制电机902和/或传感器904的运行。例如,驱动器1010可以提供包括A相电流值、B相电流值和C相电流值的电机电流传感器反馈,其中SoC 1002的内部模数转换器(ADC)将这些值转换成数字值,SoC 1002(和/或经由SoC 1002的控制器设备102)基于从驱动器1010接收的电机电流传感器反馈来调整发送到驱动器1010的PWM控制信号,从而调整电机902的速度、扭矩和/或其他特性。
在系统100内的操作中,第一光纤连接器1024使得板/模块900可以经由光纤电缆联接到总线104,而分光器1018和第二光纤连接器1026使得板/模块900可以经由附加光纤电缆联接到一个或多个附加板/模块900(例如,用于从联接到总线104的其他端口99的一个或多个控制器设备102接收控制信号和/或向其发送数据信号)。因此,如图11A所示,板/模块900可以作为串行级联联接到总线104的端口99,其中单个端口99可以联接到多个板/模块900。具体地,如图11A所示,一个板906从第一光纤连接器1024(经由光纤电缆)光学联接到端口99,并且后续的每个板906使其第一光纤连接器1024(均经由光纤电缆)联接到另一个板906的第二光纤连接器1026。实际上,如图11A所示,如果板906包括多个第二光纤连接器1026,则级联可以分支成树形结构,其中单个板/模块900光学联接到多个其他板/模块900。同时,板/模块900可以以相同的方式共享功率,其中,从电源接收功率的一个或多个模块900的输入功率连接器1020通过将其输入功率连接器1020联接到另一个模块900的输出功率连接器1022来接收电力,从而实现一个或多个其他模块900的光学联接。
可选地,如图11B所示,用于单连接模式模块900的控制板906’可以不包括一个或多个第二光纤连接器1026和/或一个或多个输出功率连接器1022。在部分实施例中,如图10C所示,用于单连接模式图像传感器模块900的控制板906”可以进一步包括一个或多个柔性执行器电机1028以及一个或多个图像或其他类型(例如,照相机、激光雷达、磁、超声、红外、射频)的传感器1030。在这种实施例中,电机1028可以控制传感器1030的运动,同时传感器1016检测电机1028和/或传感器1030的位置和/或方向。可选地,控制板906”可以是多连接模式图像传感器模块900,其进一步包括一个或多个第二光纤连接器1026和/或一个或多个输出功率连接器1022。
如图11A所示,这些单连接模式模块900和/或板906’和906”可以联接到由多连接模式模块900形成的级联或树和/或并联联接到总线104。另外,如图11B所示,系统100可以包括一个或多个外部分光器1102,其中,被配置成串行级联、树和/或并联的板/模块906、906’、906”中的一个或多个可以使用外部分光器1102在联接到总线104中进一步并行化和/或串行化。例如,如图11B所示,分光器1102用于联接单个端口99、模块900的级联的输出、一个或多个单独的模块900和另一个分光器1102。尽管如图11B所示,分路器1102是1比4的分路器,但是它们可以根据需要是1比N的任意比率。此外,尽管如图11A和11B所示,仅模块906、906’、906”示出为联接到总线104,但是应当理解,其他设备102的任何组合也可以与模块一起联接到总线104。例如,一个或多个控制器设备102可以联接到总线104,用于接收数据和向模块发出命令。
因此,其他模块相比模块900提供了实现超高的吞吐量和数据带宽的优势,并且可以支持高达10倍至100倍的带宽和长距离。特别地,能够利用光通信以及串行级联联接,使得模块900提供快速的数据传输速度和超低的延迟,而不受电磁干扰(EMI)的扰乱。此外,模块900在机器人、工业自动化和自动驾驶车辆领域中的优势尤为突出,因为模块900可以处理它们对传感器数据的高带宽和低延迟需求。
图12示出了根据部分实施例的控制器及传感器总线的操作方法,该控制器和传感器总线包括用于与机器自动化系统的多个外部机器自动化设备联接的多个端口。如图12所示,在步骤1202,一个或多个控制器设备102联接到总线104的一个或多个端口99。在步骤1204,一个或多个SCA及传感器模块900的第一光纤连接器1024与一个或多个端口99联接。在步骤1206,通过总线104经由一个或多个中央传输网络206在控制器104和SCA及传感器模块900之间中继消息。在步骤1208,控制板906基于从控制器设备102接收到的消息来调整SCA及传感器模块900的操作。在部分实施例中,每个SCA及传感器模块900经由光纤电缆直接并联联接到端口99之一。在部分实施例中,联接SCA及传感器模块900包括将SCA及传感器模块900并行联接到分光器1102,并且经由光纤电缆将分光器1102联接到端口99。在部分实施例中,联接SCA及传感器模块900包括经由光纤电缆将第一SCA及传感器模块900的第一光纤连接器1024联接到端口99之一,并且将第一SCA及传感器模块900的第二光纤连接器1026联接到第二SCA及传感器模块900的第一光纤连接器1024。
实现动态突发到广播传输网络的系统100以及机器自动化控制器及传感器总线104具有许多优点。具体地,提供以下益处:简化线缆系统和连接;消除使用光纤而造成的明显电磁干扰(EMI)的影响;确保节点到节点通信的低延时;从节点到节点传输的高吞吐量带宽(10、25、100或更高Gbps);从节点到节点设备可以延伸并达到20km;由于无源光网络架构而实现的低功耗;由于集中式DBA调度机制而实现的不会造成流量拥塞的工业级QoS;保证节点到节点和GEM传输成功的内置HARQ机制;以及用于包括所有门、节点和根端口的整个内部网系统的一个统一软件映像,从而简化了软件架构,缩短了产品开发周期,并简化了系统级调试、监测和故障排除。
本申请已经根据结合细节的特定实施例进行描述,以便于理解本申请的构造和操作原理。本文涉及的具体实施例及其细节无意于限制所附权利要求的范围。本领域技术人员应当理解,在不偏离由权利要求书限定的本申请的精神和范围的情况下,可基于所选的实施例进行其他各种修改。例如,尽管如本文所述,总线被描述为在机器自动化系统内运行,但是应当理解,总线能够与其他类型的系统及其设备一起运行,以便于设备之间的通信。
Claims (25)
1.一种用于控制和操作自动化机器的机器自动化系统,所述系统包括:
控制器及传感器总线,其包括多个端口,其中,所述总线包括中央处理内核和多媒体传输内部网,所述多媒体传输内部网包括直接与所述内核相联接的一个或多个中央光纤传输网络以及一个或多个子网;所述中央光纤传输网络包括多个节点以及一个或多个门;每个所述多个子网分别与所述中央传输网络之一的不同门相联接;所述子网包括多个子节点,其中每个所述节点和子节点与一个或多个所述端口相关联;
一个或多个控制器,各控制器与所述总线的端口的第一端口相联接;和
一个或多个柔性执行器模块,各柔性执行器模块包括第一光纤连接器、一个或多个电机、一个或多个传感器、和片上系统SoC;各模块通过光纤电缆与所述端口的第二端口可操作地联接,所述光纤电缆从所述第一光纤连接器联接到所述端口的第二端口;
其中,所述总线的节点和子节点通过所述总线经由所述一个或多个中央光纤传输网络中继消息,所述消息包括所述控制器和所述柔性执行器模块之间的来自所述柔性执行器模块的传感器的传感器数据和来自控制器的控制数据。
2.根据权利要求1所述的系统,其中,每个所述柔性执行器模块经由所述光纤电缆直接并联联接到所述端口的第二端口之一。
3.根据权利要求1所述的系统,其中,多个所述柔性执行器模块并联联接到分光器,所述分光器经由所述光纤电缆联接到所述端口的第二端口之一。
4.根据权利要求1所述的系统,其中,每个所述柔性执行器模块包括第二光纤连接器和分光器,其中,所述分光器与所述第一光纤连接器、所述第二光纤连接器和所述SoC联接。
5.根据权利要求4所述的系统,其中,所述柔性执行器模块串联联接,使得第一所述柔性执行器模块中的第一光纤连接器经由所述光纤电缆联接到所述端口的第二端口之一,并且第一所述柔性执行器模块中的第二光纤连接器联接到第二所述柔性执行器模块中的第一光纤连接器。
6.根据权利要求5所述的系统,其中,每个所述柔性执行器模块包括双向光学子组件BOSA、跨阻放大器、激光驱动器和电机驱动器。
7.根据权利要求6所述的系统,其中,一个或多个所述柔性执行器模块的传感器包括图像传感器和磁传感器,其中,所述电机控制所述图像传感器的清晰度,所述磁传感器确定所述图像传感器的方向。
8.根据权利要求1所述的系统,其中,所述第一光纤连接器是尾纤光纤连接点。
9.根据权利要求1所述的系统,其中,所述端口的第二端口是与尾纤光纤连接器相联接的光学端口。
10.根据权利要求1所述的系统,其中,所述自动化机器是由机器人和自动驾驶车辆组成的组中的一者。
11.一种利用控制器和传感器总线的柔性执行器模块,所述柔性执行器模块包括:
一个或多个柔性执行器电机;
一个或多个磁传感器;和
控制板,包括第一光纤连接器、第二光纤连接器、片上系统SoC和分光器,其中,所述分光器与所述第一光纤连接器、所述第二光纤连接器和所述SoC相联接,
其中,所述控制板:
接收来自所述磁传感器的传感器数据,并基于所述传感器数据经由所述第一光纤连接器输出状态消息;
基于经由具有目标波长的第一光纤连接器输入的控制消息来控制所述电机;
使用所述分光器将经由所述第二光纤连接器接收的状态消息从所述第一光纤连接器转发出去;和
转发经由具有非目标波长的第一光纤连接器输入的控制消息。
12.根据权利要求11所述的柔性执行器模块,还包括图像传感器,其中,所述控制板从所述图像传感器接收图像数据,并基于所述图像数据经由所述第一光纤连接器输出传感器数据消息。
13.根据权利要求12所述的柔性执行器模块,其中,所述电机控制所述图像传感器的清晰度,并且所述磁传感器确定所述图像传感器的方向。
14.根据权利要求13所述的柔性执行器模块,其中,所述控制板包括双向光学子组件BOSA、跨阻放大器、激光驱动器和电机驱动器。
15.根据权利要求14所述的柔性执行器模块,其中,所述第一光纤连接器是尾纤光纤连接点。
16.一种控制器及传感器总线的操作方法,所述控制器及传感器总线包括用于与机器自动化系统的多个外部机器自动化设备联接的多个端口,所述总线具有中央处理内核以及多媒体传输内部网,所述多媒体传输内部网包括一个或多个中央光纤传输网络和多个子网,所述一个或多个中央光纤传输网络直接与所述内核联接并且包括多个节点以及一个或多个门,各所述多个子网分别与所述中央光纤传输网络的不同门相联接,所述子网包括多个子节点,所述方法包括:
将一个或多个控制器与所述总线的端口的第一端口联接;
经由从第一光纤连接器联接到所述端口的第二端口的光纤电缆,将一个或多个柔性执行器模块与所述端口的第二端口联接,各所述柔性执行器模块包括所述第一光纤连接器、一个或多个电机、一个或多个传感器和片上系统SoC;和
利用所述总线的节点和子节点,经由所述一个或多个中央光纤传输网络,在所述控制器和所述柔性执行器模块之间中继消息,所述消息包括来自所述柔性执行器模块的传感器的传感器数据和来自所述控制器的控制数据。
17.根据权利要求16所述的方法,其中,各个所述柔性执行器模块经由所述光纤电缆直接并联联接到所述端口的第二端口之一。
18.根据权利要求16所述的方法,其中,联接所述柔性执行器模块包括:将所述柔性执行器模块并联联接到分光器,并且经由所述光纤电缆将所述分光器联接到所述端口的第二端口之一。
19.根据权利要求16所述的方法,其中,每个所述柔性执行器模块包括第二光纤连接器和分光器,其中,所述分光器与所述第一光纤连接器、所述第二光纤连接器和所述SoC联接。
20.根据权利要求19所述的方法,其中,联接所述柔性执行器模块包括:将第一所述柔性执行器模块中的第一光纤连接器经由所述光纤电缆联接到所述端口中的第二端口之一,并且将第一所述柔性执行器模块中的的第二光纤连接器联接到第二所述柔性执行器模块中的第一光纤连接器。
21.根据权利要求20所述的方法,其中,每个所述柔性执行器模块包括双向光学子组件BOSA、跨阻放大器、激光驱动器和电机驱动器。
22.根据权利要求21所述的方法,其中,一个或多个所述柔性执行器模块的传感器包括图像传感器和磁传感器,所述方法还包括利用所述电机控制所述图像传感器的清晰度,并且利用所述磁传感器确定所述图像传感器的方向。
23.根据权利要求16所述的方法,其中,所述第一光纤连接器是尾纤光纤连接点。
24.根据权利要求16所述的方法,其中,所述端口的第二端口是与尾纤光纤连接器相联接的光学端口。
25.根据权利要求16所述的方法,其中,所述自动化机器是由机器人和自动驾驶车辆组成的组中的一者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/653,558 US11269316B2 (en) | 2019-08-01 | 2019-10-15 | Intelligent controller and sensor network bus, system and method including smart compliant actuator module |
US16/653,558 | 2019-10-15 | ||
PCT/US2020/053589 WO2021076333A1 (en) | 2019-10-15 | 2020-09-30 | Intelligent controller and sensor network bus, system and method including smart compliant actuator module |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112867997A true CN112867997A (zh) | 2021-05-28 |
Family
ID=75538357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080005480.4A Pending CN112867997A (zh) | 2019-10-15 | 2020-09-30 | 包括智能柔性执行器模块的智能控制器及传感器网络总线、系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112867997A (zh) |
WO (1) | WO2021076333A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809163B2 (en) | 2019-08-01 | 2023-11-07 | Vulcan Technologies Shanghai Co., Ltd. | Intelligent controller and sensor network bus, system and method including a message retransmission mechanism |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19708979B4 (de) * | 1997-03-05 | 2006-08-24 | Nokia Mobile Phones Ltd. | System zur Datenkommunikation über einen optischen Bus und Verfahren zur Steuerung des Systems |
US9071352B2 (en) * | 2005-09-02 | 2015-06-30 | Georgios Margaritis | Free space optics alignment method and apparatus |
US8380036B2 (en) * | 2009-01-20 | 2013-02-19 | Adc Telecommunications, Inc. | Splitter module with connectorized pigtail manager |
JP6214238B2 (ja) * | 2013-06-28 | 2017-10-18 | オリンパス株式会社 | 撮像装置 |
JP6525824B2 (ja) * | 2015-08-31 | 2019-06-05 | 国立大学法人名古屋大学 | 中継装置 |
-
2020
- 2020-09-30 CN CN202080005480.4A patent/CN112867997A/zh active Pending
- 2020-09-30 WO PCT/US2020/053589 patent/WO2021076333A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021076333A1 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988369B (zh) | 智能控制器及传感器网络总线、系统和方法 | |
US11269316B2 (en) | Intelligent controller and sensor network bus, system and method including smart compliant actuator module | |
US11269795B2 (en) | Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism | |
US11689386B2 (en) | Intelligent controller and sensor network bus, system and method for controlling and operating an automated machine including a failover mechanism for multi-core architectures | |
US11089140B2 (en) | Intelligent controller and sensor network bus, system and method including generic encapsulation mode | |
US11086810B2 (en) | Intelligent controller and sensor network bus, system and method including multi-layer platform security architecture | |
US11156987B2 (en) | Intelligent controller and sensor network bus, system and method including a message retransmission mechanism | |
US11263157B2 (en) | Intelligent controller and sensor network bus, system and method including a dynamic bandwidth allocation mechanism | |
US11258538B2 (en) | Intelligent controller and sensor network bus, system and method including an error avoidance and correction mechanism | |
US10628357B2 (en) | Network controller—sideband interface port controller | |
CN114270328B (zh) | 智能控制器和传感器网络总线以及包括多层平台安全架构的系统和方法 | |
US9893990B2 (en) | Network controller-sideband interface port controller | |
US11809163B2 (en) | Intelligent controller and sensor network bus, system and method including a message retransmission mechanism | |
CN112867997A (zh) | 包括智能柔性执行器模块的智能控制器及传感器网络总线、系统和方法 | |
CN112912809A (zh) | 包括通用封装模式的智能控制器及传感器网络总线、系统和方法 | |
CN114208258B (zh) | 智能控制器和传感器网络总线以及包括消息重传机制的系统和方法 | |
WO2022086723A1 (en) | Intelligent controller and sensor network bus, system and method including a link media expansion and conversion mechanism | |
CN115047830B (zh) | 控制器及传感器的总线系统及操作方法、机器自动化系统 | |
WO2022076730A1 (en) | Intelligent controller and sensor network bus, system and method including a dynamic bandwidth allocation mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |