[go: up one dir, main page]

CN111552205A - Manage PWM trip signals from multiple sources - Google Patents

Manage PWM trip signals from multiple sources Download PDF

Info

Publication number
CN111552205A
CN111552205A CN201911380322.2A CN201911380322A CN111552205A CN 111552205 A CN111552205 A CN 111552205A CN 201911380322 A CN201911380322 A CN 201911380322A CN 111552205 A CN111552205 A CN 111552205A
Authority
CN
China
Prior art keywords
signal
pulse width
input
width modulator
trip
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.)
Granted
Application number
CN201911380322.2A
Other languages
Chinese (zh)
Other versions
CN111552205B (en
Inventor
T·A·莱雷尔
M·施特布勒
W·C·华莱士
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US16/424,862 external-priority patent/US10812060B2/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to CN202411498939.5A priority Critical patent/CN119376307A/en
Publication of CN111552205A publication Critical patent/CN111552205A/en
Application granted granted Critical
Publication of CN111552205B publication Critical patent/CN111552205B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/08Duration or width modulation ; Duty cycle modulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Communication Control (AREA)

Abstract

本申请案的实施例涉及管理来自多个源的脉冲宽度调制跳闸信号。一种集成通信子系统ICSS(200)包含驱动例如电机等电力级的脉冲宽度调制器(244)。所述脉冲宽度调制器(244)经配置以在所述脉冲宽度调制器(244)接收到来自所述ICSS(200)的逻辑电路(421)的跳闸信号时切断所述电力级。可容易地对所述逻辑电路(421)进行重新编程以仅在检测到特定错误状况时发送跳闸信号。此外,所述ICSS(200)含有一或多个过滤器,所述一或多个过滤器可调整所述逻辑电路(421)对错误信号的敏感度,从而使得所述ICSS(200)能够在所述ICSS(200)的操作期间在需要进行关闭的真实错误与可忽略的瞬发性波动之间进行区分。

Figure 201911380322

Embodiments of the present application relate to managing pulse width modulated trip signals from multiple sources. An integrated communication subsystem (ICSS) (200) includes a pulse width modulator (244) that drives a power stage, such as a motor. The pulse width modulator (244) is configured to shut down the power stage when the pulse width modulator (244) receives a trip signal from a logic circuit (421) of the ICSS (200). The logic circuit (421) can be easily reprogrammed to send a trip signal only when a specific error condition is detected. In addition, the ICSS (200) contains one or more filters that adjust the sensitivity of the logic circuit (421) to error signals, thereby enabling the ICSS (200) to distinguish between true errors requiring shutdown and negligible transient fluctuations during operation of the ICSS (200).

Figure 201911380322

Description

管理来自多个源的脉冲宽度调制跳闸信号Manage PWM trip signals from multiple sources

相关申请案交叉参考Cross-references to related applications

本申请案主张2018年5月30日提出申请的美国临时申请案第62/677,878号及2018年 12月30日提出申请的美国临时申请案第62/786,477号的优先权,所述美国临时申请案两 者以引用的方式完全并入本文中。This application claims priority to US Provisional Application No. 62/677,878, filed May 30, 2018, and US Provisional Application No. 62/786,477, filed December 30, 2018, which Both cases are fully incorporated herein by reference.

技术领域technical field

本发明一般来说涉及可形成为集成电路(例如数字信号处理器(DSP)、单芯片系统(SoC)或专用集成电路(ASIC)或者现场可编程门阵列(FPGA))的一部分的工业通信子系 统(ICSS)。更具体来说,本发明涉及用于管理来自工业控制子系统中的多个源的脉冲宽 度调制跳闸信号的系统及方法。The present invention generally relates to industrial communicators that may be formed as part of an integrated circuit such as a digital signal processor (DSP), a system on a chip (SoC) or an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA) system (ICSS). More particularly, the present invention relates to systems and methods for managing pulse width modulated trip signals from multiple sources in an industrial control subsystem.

背景技术Background technique

例如机器人、伺服驱动及计算机数字控制等工业电机控制应用需要以下能力:当可 对电机、机器及/或人造成损坏的错误状况出现时,关断经供电装置。Industrial motor control applications such as robotics, servo drives, and computer numerical controls require the ability to shut down powered devices when faulty conditions occur that can cause damage to motors, machines, and/or people.

发明内容SUMMARY OF THE INVENTION

本发明的至少一个实例包含一种控制系统,其包括:电力级;脉冲宽度调制器,其耦合到所述电力级,所述脉冲宽度调制器经配置以在所述脉冲宽度调制器接收到跳闸信号时切断所述电力级;处理器,其耦合到所述脉冲宽度调制器;逻辑电路,其耦合到所 述脉冲宽度调制器及所述处理器,所述逻辑电路包括:第一接口,其包括多个输入,其 中所述多个输入包括:第一输入,其经配置以接收源自于所述脉冲宽度调制器处的第一 跳闸事件指示信号;第二输入,其可配置以接收源自于电子装置处的第二跳闸事件指示 信号,所述电子装置在连接端口处以可释放方式耦合到所述第二输入;及第三输入,其 经配置以接收来自所述处理器的第三跳闸事件指示信号;以及第二接口,其包括:第一 选择输入,其经配置以接收第一选择;及第二选择输入,其经配置以接收第二选择,其 中所述逻辑电路经配置以在所述逻辑电路接收到所述三个跳闸事件指示信号中的至少 一者时将所述跳闸信号发送到所述脉冲宽度调制器。At least one example of the invention includes a control system comprising: a power stage; a pulse width modulator coupled to the power stage, the pulse width modulator configured to receive a trip on the pulse width modulator a processor coupled to the pulse width modulator; a logic circuit coupled to the pulse width modulator and the processor, the logic circuit comprising: a first interface that including a plurality of inputs, wherein the plurality of inputs include: a first input configured to receive a first trip event indication signal originating at the pulse width modulator; a second input configurable to receive a source From a second trip event indication signal at an electronic device releasably coupled to the second input at a connection port; and a third input configured to receive a third input from the processor a trip event indication signal; and a second interface comprising: a first selection input configured to receive the first selection; and a second selection input configured to receive the second selection, wherein the logic circuit is configured to The trip signal is sent to the pulse width modulator when the logic circuit receives at least one of the three trip event indication signals.

本发明的至少一个其它实例包含一种耦合到脉冲宽度调制器的逻辑电路,所述逻辑 电路经配置以接收多个输入,所述多个输入包括:第一输入,其对应于源自于所述脉冲宽度调制器处的第一信号;第二输入,其对应于源自于电子装置处的第二信号;及第三 输入,其对应于源自于一或多个处理器处的第三信号;其中所述逻辑电路经配置以可控 制地选择所述多个输入中的哪一者来输出到脉冲宽度调制器作为跳闸信号以致使所述 脉冲宽度调制器关闭由所述脉冲宽度调制器驱动的电力级。At least one other example of the invention includes a logic circuit coupled to a pulse width modulator, the logic circuit configured to receive a plurality of inputs, the plurality of inputs including: a first input corresponding to a a first signal at the pulse width modulator; a second input corresponding to a second signal originating at the electronic device; and a third input corresponding to a third signal originating at one or more processors signal; wherein the logic circuit is configured to controllably select which of the plurality of inputs to output to a pulse width modulator as a trip signal to cause the pulse width modulator to turn off by the pulse width modulator drive power stage.

本发明的至少一个额外实例为一种用于管理用于脉冲宽度调制器的跳闸信号的方 法,所述方法包括:使用脉冲宽度调制器来驱动电力级;在逻辑电路处接收第一输入,所述第一输入对应于源自于所述脉冲宽度调制器处的第一跳闸事件指示信号;在所述逻辑电路处接收第二输入,所述第二输入对应于源自于电子装置处的第二跳闸事件指示信号,所述电子装置在端口处以可释放方式耦合到所述逻辑电路;接收第三输入,所述第 三输入对应于来自处理器的第三跳闸事件指示信号;由所述逻辑电路选择哪一输入来输 出到所述脉冲宽度调制器作为跳闸信号以致使所述脉冲宽度调制器关闭由所述脉冲宽 度调制器驱动的电力级,其中选择包括从包括所述第一输入、所述第二输入及所述第三 输入的多个输入进行选择;及从所述逻辑电路输出所述所选择输入。At least one additional example of the present invention is a method for managing a trip signal for a pulse width modulator, the method comprising: driving a power stage using the pulse width modulator; receiving a first input at a logic circuit, the the first input corresponds to a first trip event indication signal originating at the pulse width modulator; a second input is received at the logic circuit, the second input corresponding to a first trip event indication originating at the electronic device two trip event indication signals, the electronic device being releasably coupled to the logic circuit at a port; receiving a third input, the third input corresponding to a third trip event indication signal from the processor; by the logic The circuit selects which input to output to the pulse width modulator as a trip signal to cause the pulse width modulator to turn off a power stage driven by the pulse width modulator, wherein selecting includes selecting from the first input, the selecting from a plurality of inputs of the second input and the third input; and outputting the selected input from the logic circuit.

附图说明Description of drawings

为详细描述各种实例,现在将参考附图,其中:To describe the various examples in detail, reference will now be made to the accompanying drawings, in which:

图1是根据本发明的实例的具有架构的系统的框图;1 is a block diagram of a system with an architecture according to an example of the present invention;

图2A图解说明根据本发明的实例的例如图1中所图解说明的系统的系统的第一通信 与控制部分;Figure 2A illustrates a first communication and control portion of a system such as the system illustrated in Figure 1, according to an example of the present invention;

图2B图解说明根据本发明的实例的例如图1中所图解说明的系统的系统的共享组件 部分;2B illustrates shared component portions of a system such as the system illustrated in FIG. 1, according to an example of the present invention;

图2C图解说明根据本发明的实例的例如图1中所图解说明的系统的系统的第二通信 与控制部分;Figure 2C illustrates a second communication and control portion of a system such as the system illustrated in Figure 1, according to an example of the present invention;

图3图解说明根据本发明的实例的脉冲宽度产生的方面;3 illustrates aspects of pulse width generation according to an example of the present disclosure;

图4A图解说明根据本发明的实例的脉冲宽度调制监视器及控制器的逻辑配置;4A illustrates the logical configuration of a pulse width modulation monitor and controller according to an example of this disclosure;

图4B图解说明根据本发明的实例的与图4A中所图解说明的逻辑配置交互的跳闸信 号逻辑单元;4B illustrates a trip signal logic unit interacting with the logic configuration illustrated in FIG. 4A, according to an example of the present invention;

图5图解说明根据本发明的实例的例如图1及图2A到2C中所图解说明的系统的系统 的方面;5 illustrates aspects of a system such as the system illustrated in FIGS. 1 and 2A-2C, according to an example of the present disclosure;

图6是展示根据本发明的实例的例如图1及图2A到2C中所图解说明的系统的系统的 一或多个组件的可能状态的关系的状态图;且6 is a state diagram showing the relationship of possible states of one or more components of a system, such as the system illustrated in FIGS. 1 and 2A-2C, according to an example of this disclosure; and

图7是根据本发明的实例的状态机700的框图。7 is a block diagram of a state machine 700 according to an example of the present invention.

具体实施方式Detailed ways

在以下描述中,出于解释的目的陈述众多特定细节,以便提供对本文中所揭示的实 例的透彻理解。在其它实例中,以框图形式展示结构及装置以避免使所揭示实例模糊。In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the examples disclosed herein. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the disclosed examples.

当介绍本发明的各种实例的元素时,冠词“一(a、an)”及“所述(the)”打算意指存在所述元素中的一或多者。术语“包括(comprising)”、“包含(including)”及“具有(having)” 打算为包含性的且意指可存在除了所列举元素之外的额外元素。下文所论述的实例打算 本质上为说明性的且不应被解释为意指本文中所描述的实例本质上必须优先。When introducing elements of various examples of this disclosure, the articles "a, an" and "the" are intended to mean that there are one or more of the elements. The terms "comprising," "including," and "having" are intended to be inclusive and mean that additional elements may be present in addition to the listed elements. The examples discussed below are intended to be illustrative in nature and should not be construed to mean that the examples described herein must be preferred in nature.

本发明中所描述的实例既不互相排斥也不共同穷尽的。对“一个实例”或“一实例”的提及不应被理解为排除也并入有所陈述特征的额外实例的存在。The examples described in this disclosure are neither mutually exclusive nor mutually exhaustive. References to "one instance" or "an instance" should not be read as excluding the existence of additional instances that also incorporate the recited features.

当在本文中使用时,术语“媒体”是指一起存储被描述为存储于其上的内容的一或多个非暂时性物理媒体。术语“媒体”不包含信号、电或其它。实例可包含非易失性次 级存储装置、只读存储器(ROM)及/或随机存取存储器(RAM)。As used herein, the term "media" refers to one or more non-transitory physical media that together store the content described as being stored thereon. The term "media" does not include signals, electrical or otherwise. Examples may include non-volatile secondary storage, read only memory (ROM), and/or random access memory (RAM).

当在本文中使用时,术语“应用程序”及“功能”是指一或多个计算模块、程序、 过程、工作负载、线程及/或由计算系统执行的一组计算指令。应用程序及功能的实例性 实施方案包含软件模块、软件对象、软件实例及/或其它类型的可执行代码。As used herein, the terms "application" and "function" refer to one or more computing modules, programs, processes, workloads, threads, and/or a set of computing instructions executed by a computing system. Example implementations of applications and functions include software modules, software objects, software instances, and/or other types of executable code.

在‘单芯片系统’(SoC)上实施本发明的一或多个实例。在至少一个实例中,SoC包括多个硬件组件。在至少一个实例中,SoC包括微控制器、微处理器、数字信号处理器 (DSP)核心及/或具有多于一个处理器核心的多处理器SoC。在至少一个实例中,SoC包括 存储器块,所述存储器块包含ROM、RAM、电可擦除可编程只读存储器及快闪存储器 的选择。在至少一个实例中,SoC包括计时源,所述计时源包含振荡器及锁相环路。在 至少一个实例中,SoC包括外围装置,所述外围装置包含计数器-计时器、实时计时器及 上电复位产生器。在至少一个实例中,SoC包括模拟接口,所述模拟接口包含模/数转换 器及数/模转换器。在至少一个实例中,SoC包括电压调节器及电力管理电路。One or more embodiments of the invention are implemented on a 'system on a chip' (SoC). In at least one example, an SoC includes multiple hardware components. In at least one example, an SoC includes a microcontroller, a microprocessor, a digital signal processor (DSP) core, and/or a multiprocessor SoC with more than one processor core. In at least one example, the SoC includes a memory block that includes a selection of ROM, RAM, electrically erasable programmable read-only memory, and flash memory. In at least one example, the SoC includes a timing source including an oscillator and a phase locked loop. In at least one example, the SoC includes peripheral devices including a counter-timer, a real-time timer, and a power-on reset generator. In at least one example, the SoC includes an analog interface including an analog-to-digital converter and a digital-to-analog converter. In at least one example, the SoC includes a voltage regulator and power management circuitry.

在至少一个实例中,SoC包含上文所描述的硬件以及控制微控制器、微处理器或DSP 核心、外围装置及接口的软件及/或固件两者。In at least one example, an SoC includes both the hardware described above and software and/or firmware that controls a microcontroller, microprocessor or DSP core, peripherals, and interfaces.

在本发明内,脉冲宽度调制是指与小控制信号成正比地修改脉冲列中的脉冲的宽度 的过程;控制电压越大,所得脉冲变得越宽。通过使用所要频率的正弦波作为脉冲宽度调制控制电路(还称作‘脉冲宽度调制器’)的控制电压,可能产生高电力波形,所述高 电力波形的平均电压以适合于驱动交流(AC)电机的方式而呈正弦波变化。AC电机用于 许多工业应用中,例如机器人、伺服驱动及计算机数字控制。脉冲宽度调制是描述通过 调制技术形成的数字(二元/离散)信号的方式,所述调制技术涉及将消息编码成脉冲信 号。Within the present invention, pulse width modulation refers to the process of modifying the width of the pulses in a pulse train in proportion to a small control signal; the larger the control voltage, the wider the resulting pulse becomes. By using a sine wave of the desired frequency as the control voltage for a pulse width modulation control circuit (also referred to as a 'pulse width modulator'), it is possible to generate a high power waveform with an average voltage suitable for driving alternating current (AC) The motor changes in a sine wave manner. AC motors are used in many industrial applications such as robotics, servo drives and computer numerical controls. Pulse width modulation is a way of describing a digital (binary/discrete) signal formed by a modulation technique that involves encoding a message into a pulsed signal.

在本发明的实例中,脉冲宽度调制用于控制供应到包含惯性负载(例如电机)的电装 置的电力量。通过快速接通及关断电力供应器与负载之间的开关而控制馈送到此负载的 电压(及电流)的平均值。与开关关断的周期相比,开关接通越长,供应到负载的总电力将越高。在本发明的实例中,脉冲宽度调制切换频率比将影响负载(使用电力的装置)的 切换频率高得多。使由负载(例如电机)感知的所得波形尽可能地平滑。因此使抖动最小 化。In an example of the present invention, pulse width modulation is used to control the amount of power supplied to an electrical device including an inertial load such as a motor. The average value of the voltage (and current) fed to the load is controlled by rapidly turning on and off the switch between the power supply and the load. The longer the switch is on, the higher the total power supplied to the load will be compared to the period in which the switch is off. In an example of the present invention, the pulse width modulation switching frequency is much higher than the switching frequency that will affect the load (device that uses power). Make the resulting waveform as sensed by the load (eg, motor) as smooth as possible. Therefore, jitter is minimized.

有时(例如当存在错误状况时)必需使脉冲宽度调制器(PWM)在PWM的控制下迅速关闭一或多个电机。本发明的实例涉及迅速关断PWM控制的装置同时使由于所述关闭而 伤害人、电机及机器的可能性最小化的设备及方法。Sometimes (eg, when an error condition exists) it is necessary to have a pulse width modulator (PWM) rapidly shut down one or more motors under the control of the PWM. Examples of the present invention relate to apparatus and methods for rapidly shutting down PWM-controlled devices while minimizing the potential for harm to people, motors, and machines due to the shutdown.

在本发明内,术语‘事件指示信号’是指指示可能需要脉冲宽度调制器(PWM)迅速关闭一或多个电机(例如在电力级切断中)的信号(举例来说,装置或网络内)。在本发明的实例中,一或多个事件指示信号(EIS)可来自各种源。本发明的一或多个实例涉及用于管理来自此类源的EIS的系统及方法。本发明的至少一个实例有关于减少通过此类源的不 必要EIS产生的方法。Within this disclosure, the term 'event indication signal' refers to a signal (eg, within a device or network) that indicates that a pulse width modulator (PWM) may be required to rapidly shut down one or more motors (eg, in a power stage cutoff) . In an example of the present invention, the one or more event indication signals (EIS) may come from various sources. One or more examples of this disclosure relate to systems and methods for managing EIS from such sources. At least one embodiment of the present invention pertains to a method of reducing unnecessary EIS generation by such sources.

EIS可由装置、电路、组件等的操作错误导致。EIS还可对应于瞬发性波动。瞬发性波动包含由并非实际上有必要进行电力级关闭的较小操作错误导致的信号。瞬发性波动包含短暂信号错误,所述短暂信号错误可由非错误事件(例如由环境因素导致的电磁干扰)导致。瞬发性波动对应于错误事件的‘误报(false positive)’检测。本发明的至少一个实例为减轻瞬发性波动的影响的方法。在一或多个实例中,如果过滤器确定EIS并非 由于瞬发性波动,那么过滤器将发射跳闸事件指示信号(TEIS);在理想情形中,所有误 报EIS被过滤出,且所有正报(true positive)EIS被传达到跳闸信号发射器(例如图4B中所 展示的逻辑电路421)。值得注意的是,EIS可具有变化的长度,且一般来说,EIS持续地 越长,EIS指示故障而非仅瞬发性波动的可能性越大。EIS can be caused by operational errors in devices, circuits, components, and the like. EIS may also correspond to instantaneous fluctuations. Momentary fluctuations include signals caused by minor operational errors that do not actually necessitate a power stage shutdown. Transient fluctuations include transient signal errors that can be caused by non-error events such as electromagnetic interference caused by environmental factors. Momentary fluctuations correspond to 'false positive' detections of false events. At least one example of the present invention is a method of mitigating the effects of transient fluctuations. In one or more examples, if the filter determines that the EIS is not due to transient fluctuations, the filter will transmit a trip event indication signal (TEIS); in an ideal situation, all false positive EISs are filtered out and all positive (true positive) EIS is communicated to a trip signal transmitter (eg, logic circuit 421 shown in Figure 4B). It is worth noting that the EIS can have varying lengths, and in general, the longer the EIS lasts, the more likely it is that the EIS is indicative of a fault and not just transient fluctuations.

本发明的至少一个实例为将多个TEIS组合成单个TEIS的方法。At least one example of the present invention is a method of combining multiple TEISs into a single TEIS.

本发明的实例包含用于识别EIS源、以较大准确度确定产生给定EIS的事件何时发生 (准确到正负三纳秒的范围内)以及存储此源及计时信息以供考虑的诊断机制及方法。不 同于常规解决方案,机制及方法提供针对多个事件回读EIS源信息及计时信息的能力。立即对错误作出响应的能力是错误计时确定的准确度的必然结果。举例来说,在本发明 的技术的实施方案中,必须在错误的1微秒内关断基于场效应变压器(FET)的电力级以避 免损坏基于FET的电力级。在一些实施方案中,损坏预防需要在错误状况的不超过500 纳秒过去之前切断基于FET的电力级。针对将要快速处理的错误状况,必须将所述错误 状况迅速传递到关闭机制;从检测错误信号到使PWM跳闸的延迟应被最小化。Examples of the present invention include diagnostics for identifying the source of EIS, determining with greater accuracy when the event that produced a given EIS occurred (to within plus or minus three nanoseconds), and storing this source and timing information for consideration mechanism and method. Unlike conventional solutions, the mechanisms and methods provide the ability to read back EIS source information and timing information for multiple events. The ability to respond to an error immediately is a corollary of the accuracy of the error timing determination. For example, in an implementation of the present technology, a field effect transformer (FET) based power stage must be turned off within the wrong 1 microsecond to avoid damage to the FET based power stage. In some embodiments, damage prevention requires shutting down the FET-based power stage before no more than 500 nanoseconds of the error condition has elapsed. For error conditions to be handled quickly, the error conditions must be communicated quickly to the shutdown mechanism; the delay from detecting the error signal to tripping the PWM should be minimized.

取决于给定ICSS的操作环境,且考虑到ICSS进行交互(及/或通信及/或控制)的一或 多个装置的信号链中的传播延迟,发射EIS与发出跳闸信号之间的最长可接受延迟将为10纳秒。然而,如上文所述,EIS持续地越长,EIS指示故障而非仅瞬发性波动的可能性 越大。反之亦然;EIS越短,EIS是由瞬发性波动导致的概率越大。因此,在确保立即解 决错误(例如通过将组件关闭电源)与避免作用于误报(例如由外来信号波动导致的瞬发 性波动)之间存在折衷。Depending on the operating environment of a given ICSS, and taking into account propagation delays in the signal chain of one or more devices with which the ICSS interacts (and/or communicates and/or controls), the longest time between transmitting the EIS and issuing the trip signal An acceptable delay would be 10 nanoseconds. However, as noted above, the longer the EIS persists, the more likely it is that the EIS is indicative of a failure rather than just transient fluctuations. The reverse is also true; the shorter the EIS, the greater the probability that the EIS is caused by instantaneous fluctuations. Therefore, there is a trade-off between ensuring that errors are resolved immediately (e.g. by powering down components) and avoiding effects on false alarms (e.g. transient fluctuations caused by extraneous signal fluctuations).

在本发明的一或多个实例中,ICSS用户可调整响应时间以避免作用于误检测。在一 些实例中,用户可改变瞬发性波动过滤器的设置,例如通过延长或缩短EIS需要所述瞬发性波动过滤器将TEIS发送到跳闸信号控制器(例如图4B中所图解说明的逻辑电路421)的长度。典型瞬发性波动过滤器设置是从10纳秒到100纳秒。在至少一个实例中,如果 瞬发性波动过滤器未被设定到零(0),那么瞬发性波动过滤器将消除所有噪声,但(如所 解释)还将增加传播延迟。在一些实例中,用户还可调整跳闸信号控制器(例如图4B中所 图解说明的逻辑电路421)自身的敏感度。此处,用户可增加或减小在跳闸信号控制器将 使PWM跳闸之前跳闸信号控制器读取一或多个传入TEIS(举例来说,来自一或多个错误 信号源)所需的时间长度。In one or more examples of the invention, the ICSS user can adjust the response time to avoid contributing to false detections. In some instances, the user may change the settings of the transient fluctuation filter, such as by extending or shortening the EIS requiring the transient fluctuation filter to send the TEIS to the trip signal controller (eg, the logic illustrated in FIG. 4B ) circuit 421) length. Typical transient filter settings are from 10 ns to 100 ns. In at least one example, if the transient filter is not set to zero (0), the transient filter will remove all noise, but (as explained) will also increase the propagation delay. In some examples, the user may also adjust the sensitivity of the trip signal controller (e.g., logic circuit 421 illustrated in Figure 4B) itself. Here, the user can increase or decrease the time required for the trip signal controller to read one or more incoming TEIS (eg, from one or more error signal sources) before the trip signal controller will trip the PWM length.

本发明内的至少一个实例是一种系统,所述系统包含位置反馈接口、电机电流及电 压接口、脉冲宽度调制器(PWM)、可编程实时单元以及跳闸产生硬件,所述跳闸产生硬件经配置以针对由给定PWM控制的每一电机基于一组静态及/或动态输入事件而产生跳 闸信号。在一或多个实例中,可动态地配置所述系统。在至少一个实例中,所述系统使 得能够对跳闸信号产生逻辑的输入事件进行可编程选择。本发明的实例是经配置以使得 能够对基于事件的瞬发性波动减轻进行编程的系统。At least one example within this disclosure is a system including a position feedback interface, a motor current and voltage interface, a pulse width modulator (PWM), a programmable real-time unit, and trip generation hardware configured To generate a trip signal based on a set of static and/or dynamic input events for each motor controlled by a given PWM. In one or more instances, the system can be dynamically configured. In at least one example, the system enables programmable selection of input events to the trip signal generation logic. An example of the present invention is a system configured to enable programming of event-based transient volatility mitigation.

本发明的至少一个实例是具有活动状态及复位状态的可编程状态机。在本发明内的 一些实例中,复位状态用于脉冲宽度调制循环。在一或多个实例中,复位状态由软件复位及/或计时器控制。在本发明的实例中,系统包含实现单次及/或逐循环EIS分析的复位功能。At least one example of the present invention is a programmable state machine having an active state and a reset state. In some examples within the present invention, the reset state is used for a pulse width modulation cycle. In one or more examples, the reset state is controlled by a software reset and/or a timer. In an example of the present invention, the system includes a reset function that enables single-shot and/or cycle-by-cycle EIS analysis.

本发明的实例是能够管理脉冲宽度调制且具有最少等待时间的可配置硬件状态机。 本发明的实例是能够管理电力级关闭而不管需要此电力级关闭的事件的源如何的可配 置硬件状态机。在至少一个实例中,所有EIS输入均由具有最少等待时间及最少抖动的单个硬件装置摄取以进行EIS管理。An example of the present invention is a configurable hardware state machine capable of managing pulse width modulation with minimal latency. An example of the present invention is a configurable hardware state machine capable of managing a power stage shutdown regardless of the source of the event requiring this power stage shutdown. In at least one example, all EIS inputs are ingested for EIS management by a single hardware device with the least latency and least jitter.

当在本发明中使用时,术语抖动是指与大概周期性信号(其通常与参考时钟信号相 关)的真实周期性的偏差。As used in the present invention, the term jitter refers to the deviation from the true periodicity of a roughly periodic signal (which is usually related to a reference clock signal).

在本发明的实例中,通信协议为允许通信系统的两个或多于两个实体传输信息的规 则的系统。例如EtherCAT(用于控制自动化技术的以太网)的特定通信协议可在一个包内 具有多个数据报,此需要以可变的起始偏移多次剖析所述包。EtherCAT为基于以太网的现场总线系统。现场总线系统为用于实时分布式控制的工业网络系统。EtherCAT协议在IEC 61158中被标准化且适合于自动化技术中的硬及软实时计算要求两者。如EtherCAT 的实时系统需要在接收过程期间使其数据包被剖析且在接收过程期间在已到达包的末 端之前做出处理/转发决策—例如向何处发送所接收包。In an example of the present invention, a communication protocol is a system of rules that allow two or more entities of a communication system to transmit information. Certain communication protocols such as EtherCAT (Ethernet for Control Automation Technology) can have multiple datagrams within a packet, which requires parsing the packet multiple times with variable start offsets. EtherCAT is an Ethernet-based fieldbus system. Fieldbus systems are industrial network systems for real-time distributed control. The EtherCAT protocol is standardized in IEC 61158 and is suitable for both hard and soft real-time computing requirements in automation technology. A real-time system like EtherCAT needs to have its packets parsed during the receive process and make processing/forwarding decisions during the receive process before the end of the packet has been reached - eg where to send the received packet.

如所述,已跨越不同工业及细分市场而开发出许多不同通信协议以解决用于在专有 经开发处理装置(例如SoC、DSP、ASIC及FPGA)上运行的数据交换的实时通信。本发明 的实例针对于提供及/或实现针对此类处理装置之间的通信的多协议灵活性。本发明的至 少一个实例针对于提供及/或实现以1千兆位/秒或更快的速度的实时以太网通信。As mentioned, many different communication protocols have been developed across different industries and market segments to address real-time communication for data exchange running on proprietary developed processing devices such as SoCs, DSPs, ASICs and FPGAs. Examples of the present invention are directed to providing and/or enabling multi-protocol flexibility for communications between such processing devices. At least one example of the present invention is directed to providing and/or enabling real-time Ethernet communications at speeds of 1 gigabit/second or faster.

本发明的至少一个实例为用于工业通信子系统(ICSS)的架构,所述ICSS解决多协议 的灵活性要求及实时千兆位以太网的性能要求。随着集成到目录处理器上,使得工业通信像标准以太网一样容易。ICSS具有混合架构。在一个实例中,ICSS包含与一组紧密集 成的硬件加速器耦合的四个32位精简指令集计算机(RISC)核心,称作可编程实时单元(PRU)。精简指令集计算机(RISC)为如下计算机:其指令集架构(ISA)允许其具有比复杂 指令集计算机(CISC)少的每指令循环(CPI)。At least one example of the present invention is an architecture for an Industrial Communication Subsystem (ICSS) that addresses the flexibility requirements of multiple protocols and the performance requirements of real-time Gigabit Ethernet. With integration into the directory processor, industrial communication is made as easy as standard Ethernet. ICSS has a hybrid architecture. In one example, the ICSS includes four 32-bit reduced instruction set computer (RISC) cores, called programmable real-time units (PRUs), coupled with a tightly integrated set of hardware accelerators. A reduced instruction set computer (RISC) is a computer whose instruction set architecture (ISA) allows it to have fewer cycles per instruction (CPI) than a complex instruction set computer (CISC).

128/256千兆位/秒的数据传送与4纳秒(ns)的确定性编程分辨率的组合为通信接口的 高度可区分方法。在图2A到2C中图解说明硬件加速器结合128/512千兆位/秒数据总线架 构的详细视图。The combination of 128/256 gigabit/second data transfer with a deterministic programming resolution of 4 nanoseconds (ns) is a highly distinguishable approach to communication interfaces. A detailed view of a hardware accelerator combined with a 128/512 Gigabit/sec data bus architecture is illustrated in Figures 2A-2C.

本发明的实例涉及可编程实时单元子系统及工业通信子系统(PRU-ICSS),所述PRU-ICSS包含双32位RISC核心(PRU)、数据及指令存储器、内部外围模块及中断控制器(INTC)。PRU-ICSS的可编程性质连同其对引脚、事件及所有SoC资源的存取一起提供在 实施快速实时响应、专门数据处置操作、外围接口控制时及在从单芯片系统(SoC)的其 它处理器核心卸载任务时的灵活性。Examples of the present invention relate to a Programmable Real-Time Unit Subsystem and Industrial Communication Subsystem (PRU-ICSS) that includes dual 32-bit RISC cores (PRUs), data and instruction memory, internal peripheral modules, and an interrupt controller ( INTC). The programmable nature of the PRU-ICSS, along with its access to pins, events, and all SoC resources, provides for fast real-time responses, specialized data handling operations, peripheral interface control, and other processing from a system-on-a-chip (SoC) Flexibility when the server core offloads tasks.

针对工业以太网使用情形,ICSS可需要在可编程性(灵活性)与保持线速率包负载的 需要之间的折衷。在一个实例中,可编程组件(PRU)将以250MHz时钟运行且因此将固 件(f/w)预算限制于每包大约84个循环(针对最小大小的传输及接收帧)。此对于以1GHz 速率进行的完全802.1D依从的包处理可为不足的。因此,本发明的实例性ICSS包含用于 耗时的桥接任务的硬件(HW)加速器。For industrial Ethernet use cases, ICSS may require a compromise between programmability (flexibility) and the need to maintain line rate packet load. In one example, the programmable unit (PRU) will run at a 250MHz clock and thus limit the firmware (f/w) budget to about 84 cycles per packet (for minimum sized transmit and receive frames). This may be insufficient for fully 802.1D compliant packet processing at 1 GHz rate. Thus, exemplary ICSSs of the present invention include hardware (HW) accelerators for time-consuming bridging tasks.

根据所揭示实例,PRU微处理器核心具有到外部存储器的加载/存储接口。使用数据 I/O指令(加载/存储),可从外部存储器读取或向所述外部存储器写入数据,但以在进行存 取的同时使核心暂停为代价。对N-32位字的读取通常采用约3+N个循环,而写入采用约2+N个循环。According to the disclosed example, the PRU microprocessor core has a load/store interface to external memory. Using data I/O instructions (load/store), data can be read from or written to external memory at the expense of stalling the core while the access is being made. Reads of N-32 bit words typically take about 3+N cycles, while writes take about 2+N cycles.

在至少一个实例中,针对32个字节的宽传送而优化宽边(broadside)RAM及/或宽边 接口。可通过将大小填补到32个字节而支持较低传送宽度。在至少一个实例中,首先使用xout宽边指令将读取位置写入到经附接RAM,且接着使用xin宽边指令来读取数据。因此,读取操作将采用两个循环。针对写入传送,刚好在寄存器保持32个数据字节之后将 地址放置于寄存器中,且以一个xout指令将数据加地址传送到经附接RAM。在至少一个 实例中,此方法具有还能够可能与所述传送并行地对数据执行操作的额外优点。In at least one example, broadside RAM and/or broadside interfaces are optimized for 32-byte wide transfers. Lower transfer widths can be supported by padding the size to 32 bytes. In at least one example, the read location is first written to the attached RAM using the xout broadside instruction, and then the data is read using the xin broadside instruction. Therefore, the read operation will take two loops. For write transfers, the address is placed in the register just after the register holds 32 bytes of data, and the data plus address is transferred to the attached RAM with one xout instruction. In at least one example, this method has the additional advantage of being able to also perform operations on the data, possibly in parallel with the transfer.

除了加速写入及传送之外,本发明的实例还提供优点,例如RAM与宽边接口之间的胶合逻辑在本地存储上次存取的RAM地址,此允许自动递增操作模式,因此固件无须不 断更新地址(对于成批读取尤其有用)。本发明的实例使得能够与写入操作并行地使用此 接口对数据进行有用操作。举例来说,可通过检查和电路而运行切入(cut through)数据以在包存储于RAM中的同时计算所述包的运行检查和。在至少一个实例中,处理器可在各 种数据大小边界处对包内的数据执行字节序翻转。在至少一个实例中,可使用此接口来 执行数据透视(pivot)/交换操作,(举例来说)以将寄存器r2到r5与r6到r9交换。此在具有不 同块大小的接口(例如,32字节RX FIFO及16字节PSI接口)之间移动数据时为有用的。在 替代实例中,通过使用不同宽边识别符(ID)(宽边指令的参数),使组织与经附接存储器 相关联或通过不同固件任务而实现独立的存储器‘视图’。宽边ID可映射到不同读取或 写入存储器地址(由胶合逻辑维持),使得例如FIFO(先进先出)及队列等数据结构可由经 附接RAM以灵活且受固件管理的方式实施。至少一个实例利用嵌入式处理。In addition to speeding up writes and transfers, embodiments of the present invention also provide advantages such as glue logic between RAM and broadside interface that locally stores the last accessed RAM address, which allows an auto-increment mode of operation so firmware does not have to constantly Update addresses (especially useful for bulk reads). Embodiments of the present invention enable useful manipulation of data using this interface in parallel with write operations. For example, a cut through data may be run through a checksum circuit to compute a running checksum of a packet while the packet is stored in RAM. In at least one example, the processor may perform endian flipping on data within a packet at various data size boundaries. In at least one example, this interface can be used to perform a pivot/swap operation, for example, to swap registers r2-r5 with r6-r9. This is useful when moving data between interfaces with different block sizes (e.g., a 32-byte RX FIFO and a 16-byte PSI interface). In alternative examples, separate memory 'views' are achieved by using different broadside identifiers (IDs) (parameters to broadside instructions) to associate organizations with attached memory or through different firmware tasks. Broadside IDs can be mapped to different read or write memory addresses (maintained by glue logic) so that data structures such as FIFOs (first in, first out) and queues can be implemented in a flexible and firmware managed manner via attached RAM. At least one instance utilizes embedded processing.

在本发明的至少一个实例中,入口过滤器硬件结合入口分类器实现针对实时转发及 处理的硬件决策。将此过滤器硬件放置于可变且内容相依的起始地址处、在包内以可变且内容相依的起始地址进行重新加载、针对应用地址范围进行掩蔽并利用大于及小于操作进行比较。In at least one example of the present invention, ingress filter hardware, in conjunction with ingress classifiers, enables hardware decisions for real-time forwarding and processing. This filter hardware is placed at the variable content-dependent start address, reloaded within the packet at the variable content-dependent start address, masked against the application address range and compared using greater and less than operations.

在本发明的实例中,多个硬件过滤器可与二元逻辑组合以形成复杂接收决策矩阵。 在实例中,多个硬件过滤器可与时间窗组合以进行时间感知的接收决策。多个硬件过滤 器还可与速率计数器组合以进行速率受限的接收决策。In an example of the present invention, multiple hardware filters can be combined with binary logic to form a complex receive decision matrix. In an example, multiple hardware filters may be combined with time windows to make time-aware reception decisions. Multiple hardware filters can also be combined with rate counters for rate-limited reception decisions.

在本发明的至少一个实例中,硬件过滤器及分类器使得能够以相对较小桥接延迟接 收及转发与包相关的决策。在实例中,内容、时间窗与数据速率的组合在维持相对较小桥接延迟的情况下提供针对以太网桥接的稳健入口分类。如下文将更详细地解释,本发 明的实例实现小于1微秒的桥接延迟。In at least one example of the present invention, hardware filters and classifiers enable packet-related decisions to be received and forwarded with relatively small bridging delays. In an example, the combination of content, time window, and data rate provides robust ingress classification for Ethernet bridging while maintaining relatively small bridging delays. As will be explained in more detail below, examples of the present invention achieve bridging delays of less than 1 microsecond.

图1是根据本发明的一个实例的基于ICSS架构的系统100(其可为SoC 130的组件)的 功能框图。在图1中,16千字节宽边随机存取存储器(BS-RAM)101耦合到AUX_PRU 112(与所述AUX_PRU进行信号通信)。BS-RAM 101经由AUX_PRU 112而耦合到PRU 116。 BS-RAM101可在系统100的一个时钟循环中传送32个数据字节。BS-RAM 101具有超高 带宽及超低等待时间。在本发明内,经耦合组件(例如,电路)能够彼此进行通信。经连 接组件为经由直接连接或间接连接而耦合的组件。在本发明内,除非提供相反的指示, 否则彼此耦合的组件还被连接。1 is a functional block diagram of an ICSS architecture-based system 100, which may be a component of SoC 130, according to one example of the present invention. In Figure 1, a 16 kilobyte broadside random access memory (BS-RAM) 101 is coupled to (in signal communication with) an AUX_PRU 112. BS-RAM 101 is coupled to PRU 116 via AUX_PRU 112 . BS-RAM 101 can transfer 32 data bytes in one clock cycle of system 100. BS-RAM 101 has ultra-high bandwidth and ultra-low latency. Within the present invention, coupled components (eg, circuits) are capable of communicating with each other. Connected components are components that are coupled via direct or indirect connections. Within the present invention, components that are coupled to each other are also connected unless an indication to the contrary is provided.

如图1中所图解说明,将通过接口电路104(其为实时接口)而进入的数据传递到FIFO 接收电路105。当数据通过接收电路105时,将分类器108应用于此传入数据。将过滤器106、速率计数器107以及分类引擎108的组合逻辑应用于所接收数据包。As illustrated in FIG. 1 , incoming data through interface circuit 104 , which is a real-time interface, is passed to FIFO receive circuit 105 . As the data passes through the receive circuit 105, a classifier 108 is applied to this incoming data. The combinational logic of filter 106, rate counter 107, and classification engine 108 is applied to the received packets.

管理数据输入/输出(MDIO)电路102为媒体接口。MDIO电路102使用PRU 116来与外部精简千兆位媒体独立接口(RGMII)物理层及媒体独立接口(MII)物理层(接口电路104、接口电路119)进行通信。MDIO电路102具有低等待时间且专用于PRU 116。如图1中所展 示,系统100还包含统计数据计数器电路103,所述统计数据计数器电路跟踪实时接口电 路104的以太网端口的统计数据,例如包大小、错误等。实时接口电路104(包括RGMII、 串行千兆位媒体独立接口(SGMII)及实时媒体独立接口231、259(RTMII))为连接到系统 100的输入/输出(IO)(例如MDIO电路102)的硬件层。实时接口电路104耦合到FIFO接收电 路105,所述FIFO接收电路包含层级一先进先出(FIFO)接收层(RX_L1)及层级二FIFO接收 层(RX_L2)。FIFO接收电路105可接收层级一FIFO数据及层级二FIFO数据。Management data input/output (MDIO) circuit 102 is a media interface. MDIO circuit 102 uses PRU 116 to communicate with the external reduced gigabit media independent interface (RGMII) physical layer and media independent interface (MII) physical layer (interface circuit 104, interface circuit 119). MDIO circuit 102 has low latency and is dedicated to PRU 116 . As shown in FIG. 1, the system 100 also includes a statistics counter circuit 103 that tracks statistics of the Ethernet ports of the real-time interface circuit 104, such as packet size, errors, and the like. Real-time interface circuits 104 (including RGMII, Serial Gigabit Media Independent Interface (SGMII), and Real-Time Media Independent Interfaces 231 , 259 (RTMII)) are connected to input/output (IO) of system 100 (eg, MDIO circuit 102 ) hardware layer. The real-time interface circuit 104 is coupled to a FIFO receive circuit 105, which includes a level one first in first out (FIFO) receive layer (RX_L1) and a level two FIFO receive layer (RX_L2). The FIFO receiving circuit 105 can receive the level 1 FIFO data and the level 2 FIFO data.

如所述,系统100包含过滤器106,所述过滤器为用于八个过滤器类型1数据流及/或 十六个过滤器类型3数据流的过滤器。过滤器106确定给定数据包是否为特定“类型”的数据包。过滤器类型3数据包具有可变起始地址,其取决于是否利用虚拟LAN来传递包。 系统100还包含速率跟踪器107。在至少一个实例中,系统100包含八个速率跟踪器107。 基于过滤器类型命中率,速率跟踪器107计算FIFO接收电路105的吞吐率。系统100还包 含过滤器数据库(FDB)109。FDB 109用于路由及冗余。接收电路105包含层级一接收层 (RX_L1)及层级二接收层(RX_L2),所述接收层包含物理接收端口。接收电路105的层级 一接收层(RX_L1)及层级二接收层(RX_L2)可存取FDB 109以基于IEEE802.1Q学习桥接 模式1而管理接收与转发决策。FDB 109含有存储结果的查找表(LUT),可将所述结果赋 予PRU 116以帮助PRU116做出数据路由决策。在至少一个实例中,系统100还包含虚拟 局域网标签(VLAN TAG)电路110。标签(a/k/a‘ID’)为指派给信息片段(例如因特网书 签、数字图像、数据库记录、计算机文件或VLAN)的关键字或术语。统计数据跟踪器103、 过滤器106、速率跟踪器107、分类器108、FDB 109及(任选地)VLAN TAG 110为接收电 路105的方面。As described, system 100 includes filter 106, which is a filter for eight filter type 1 data streams and/or sixteen filter type 3 data streams. Filter 106 determines whether a given packet is a particular "type" of packet. Filter type 3 packets have variable start addresses, depending on whether or not the virtual LAN is used to deliver the packet. The system 100 also includes a rate tracker 107 . In at least one example, system 100 includes eight rate trackers 107 . Based on the filter type hit rate, the rate tracker 107 calculates the throughput rate of the FIFO receive circuit 105 . The system 100 also includes a filter database (FDB) 109. FDB 109 is used for routing and redundancy. The receive circuit 105 includes a level one receive layer (RX_L1) and a level two receive layer (RX_L2), the receive layers include physical receive ports. The level one receive layer (RX_L1) and level two receive layer (RX_L2) of the receive circuit 105 can access the FDB 109 to manage receive and forwarding decisions based on IEEE 802.1Q learning bridge mode 1. FDB 109 contains a look-up table (LUT) that stores results that can be given to PRU 116 to help PRU 116 make data routing decisions. In at least one example, system 100 also includes virtual local area network tag (VLAN TAG) circuitry 110. Tags (a/k/a'ID') are keywords or terms assigned to pieces of information such as Internet bookmarks, digital images, database records, computer files or VLANs. Statistics tracker 103, filter 106, rate tracker 107, classifier 108, FDB 109 and (optionally) VLAN TAG 110 are aspects of receiving circuit 105.

MDIO电路102根据开放系统互连(OSI)模型而控制与系统的外部物理层(未展示)的 交互。物理层将链路层装置(例如媒体存取控制器(MAC)(参见图2A的206(266)及220(290),以及图2C的266及290))连接到主机(例如,246)装置/系统的物理媒体,子系统200为所述主机装置/系统的组件或子系统200耦合到所述主机装置/系统。物理层包含物理编码子层(PCS)功能性及物理媒体相依(PMD)层功能性两者。存在在SoC 130外部的收发器,系统100嵌入于所述收发器中。MDIO电路102配置一或多个外部物理层(未展示)且使 ICSS的等待时间最小化。The MDIO circuit 102 controls the interaction with the external physical layer (not shown) of the system according to the Open Systems Interconnection (OSI) model. The physical layer connects link layer devices such as media access controllers (MACs) (see 206 ( 266 ) and 220 ( 290 ) of FIG. 2A , and 266 and 290 of FIG. 2C ) to host (eg, 246 ) devices The physical medium of the system/system, the subsystem 200 is a component of the host device/system or the subsystem 200 is coupled to the host device/system. The physical layer includes both Physical Coding Sublayer (PCS) functionality and Physical Media Dependency (PMD) layer functionality. There are transceivers external to the SoC 130 in which the system 100 is embedded. MDIO circuit 102 configures one or more external physical layers (not shown) and minimizes ICSS latency.

每个中央处理单元(CPU)(例如可编程实时单元116)包含任务管理器电路(例如,任 务管理器电路111)。在至少一个实例中,任务管理器电路111及任务管理器电路121可辨识200个事件或更多。事件对应于例如来自过滤器106、来自速率跟踪器107或来自中断 控制器123的硬件状态信号。AUX_PRU 112负责控制。举例来说,基于起始帧,PRU-RTU 112检测到新包将去往数据处理器—PRU 116,且与数据处理器收集数据并行地, PRU-RTU 112将视需要每包设置地址及直接存储器存取(DMA)以使所述包去往主机 (130、246)。尽管将数据推送到BS-RAM 117,但还可将数据推送到检查和加速器,例如 CRC 120。因此,CRC 120可使BS-RAM 117中止。传送电路113与AUX_PRU 112及PRU 116进行通信。传送电路113可接收(RX)及传输(TX)信息,如由图1中的符号‘RX/TX’ 所指示。传送电路113被配置有DMA,所述DMA使得AUX_PRU 112及PRU 116两者能够 存取主要系统100存储器。当AUX_PRU 112或PRU116起始交易时,传送电路113将管理 去往SoC 130存储器的数据移动以拉取或推送数据。传送电路113因此为可用于数据传送 的一般资产。在至少一个实例中,在图1的架构中,AUX_PRU 112可在PRU 116推送数 据的同时控制地址位置。因此,所述架构为灵活的,这是因为单个CPU(例如,112、116) 不负责数据管理及控制功能两者。Each central processing unit (CPU) (e.g., programmable real-time unit 116) includes a task manager circuit (e.g., task manager circuit 111). In at least one example, task manager circuit 111 and task manager circuit 121 may recognize 200 events or more. Events correspond to, for example, hardware status signals from filter 106, from rate tracker 107, or from interrupt controller 123. AUX_PRU 112 is responsible for control. For example, based on the start frame, the PRU-RTU 112 detects that a new packet is going to the data processor—PRU 116, and in parallel with the data processor gathering the data, the PRU-RTU 112 will set the address per packet and directly as needed Memory access (DMA) to get the packet to the host (130, 246). Although data is pushed to BS-RAM 117, data can also be pushed to checksum accelerators such as CRC 120. Therefore, CRC 120 can cause BS-RAM 117 to suspend. Transmission circuit 113 communicates with AUX_PRU 112 and PRU 116 . The transmit circuit 113 may receive (RX) and transmit (TX) information, as indicated by the symbol 'RX/TX' in FIG. 1 . Transfer circuit 113 is configured with a DMA that enables both AUX_PRU 112 and PRU 116 to access main system 100 memory. When AUX_PRU 112 or PRU 116 initiates a transaction, transfer circuit 113 will manage the movement of data to SoC 130 memory to pull or push data. The transfer circuit 113 is therefore a general asset that can be used for data transfer. In at least one example, in the architecture of FIG. 1, AUX_PRU 112 may control address locations while PRU 116 pushes data. Thus, the architecture is flexible because a single CPU (eg, 112, 116) is not responsible for both data management and control functions.

在至少一个实例性子系统100中,存在具有本地存储器的结构。图1的实例性子系统 100中的结构可为4字节宽。然而,存在专用于每一CPU(例如,112、116)的两组数据存 储器114,且跨越CPU(112、116)而共享另一组较大存储器115。数据存储器114可与暂存 器126及暂存器127一起使用,而共享存储器115用于链路列表,所述链路列表用于DMA 或用于存储元数据。暂存器126、127如同BS-RAM 101、117。然而,暂存器126及暂存 器127与BS-RAM101及BS-RAM 117的不同之处在于暂存器126、127在切片(参见图2A的 slice_0及图2C的slice_1)当中被共享,暂存器126、127比BS-RAM 101、117更灵活。暂存 器(例如,126、127)可保存及/或恢复寄存器集。暂存器126、127可用于切片到切片通信 且执行寄存器集到物理位置的桶形移位或重新映射。BS-RAM 117类似于BS-RAM 101, 只有BS-RAM 117还具有包含查找表的FDB除外。当包在接收电路105处进入系统100时, 硬件执行对FDB 109的查找且将数据呈现给PRU 116。基于BS-RAM 117的FDB的响应, PRU 116做出路由决策,例如是否将所接收包经由传送电路113路由到主机及/或(例如) 通过传输电路118路由到不同端口。PRU 116还存取BS-RAM 125。PRU 116充当交换机, 而BS-RAM 117使得能够同时执行动作。BS-RAM 117因此为双用途组件。在BS-RAM 117 针对PRU 116而执行对FDB 109的查找同时,硬件可连接到BS-RAM 117。正如可在加载 RAM(例如,114)的同时由CRC 120执行检查和一样,在BS-RAM 125与硬件交互的同时, 可由BS-RAM 117针对PRU 116执行FDB操作。In at least one example subsystem 100, there is a structure with local memory. The structures in the example subsystem 100 of Figure 1 may be 4 bytes wide. However, there are two sets of data memory 114 dedicated to each CPU (e.g., 112, 116), and another set of larger memory 115 is shared across the CPUs (112, 116). Data memory 114 may be used with scratchpad 126 and scratchpad 127, while shared memory 115 is used for link lists, which are used for DMA or for storing metadata. Scratchpads 126, 127 are like BS-RAMs 101, 117. However, the scratchpad 126 and the scratchpad 127 are different from the BS-RAM 101 and the BS-RAM 117 in that the scratchpads 126 and 127 are shared among slices (see slice_0 of FIG. 2A and slice_1 of FIG. 2C ), and The memories 126, 127 are more flexible than the BS-RAMs 101, 117. Scratchpads (e.g., 126, 127) may save and/or restore register sets. Scratchpads 126, 127 may be used for slice-to-slice communication and to perform barrel shifting or remapping of register sets to physical locations. BS-RAM 117 is similar to BS-RAM 101 except that BS-RAM 117 also has an FDB containing a lookup table. When a packet enters the system 100 at the receive circuit 105 , the hardware performs a lookup of the FDB 109 and presents the data to the PRU 116 . Based on the response of the FDB of BS-RAM 117, PRU 116 makes routing decisions, such as whether to route the received packet to the host via transport circuit 113 and/or to a different port, eg, via transport circuit 118. PRU 116 also accesses BS-RAM 125. The PRU 116 acts as a switch, while the BS-RAM 117 enables simultaneous execution of actions. The BS-RAM 117 is thus a dual purpose component. Hardware may be connected to the BS-RAM 117 while the BS-RAM 117 is performing a lookup of the FDB 109 for the PRU 116 . Just as checksums may be performed by CRC 120 while RAM (eg, 114) is loaded, FDB operations may be performed by BS-RAM 117 against PRU 116 while BS-RAM 125 is interacting with hardware.

传输电路118处置从PRU 116的数据传出。传输电路118执行抢占、标签插入及填补。 传输电路118使得固件能够干净地终止包。此后,任务管理器电路121将执行必要步骤以 产生最终CRC且如果所讨论的包为小的,那么传输电路118将执行填补。传输电路118可插入标签,使得PRU 116不必跟踪所述包。传输电路118因此能够帮助SoC 130的硬件。 传输电路118耦合到接口电路119。接口电路119为最终层。在传输电路118外部,存在不 同媒体独立接口,举例来说RGMII、SGMII及实时MII(参见104、119、225(295))。系统 100上的其它类型的接口在本发明内也为可能。FIFO传输电路118关于此类接口为不可知 的。接口电路119为多路分用器。接口电路119对传输电路118提供协议转换,从而使得 传输电路118及因此PRU 116能够以适合于给定件的硬件的协议与所述硬件进行通信。 PRU 116及传输单元118因此并不约束于以仅对应于一个协议的方式操作,从而使PRU 116及传输电路118比其在不存在接口电路119的情况下更具通用性。在本发明的至少一 个实例中,系统100使接口电路119的数据流受约束以连接到外部物理层。参考开放系统 互连(OSI)模型的层级,传输电路118具有层级一FIFO传输层(TX_L1)及层级二FIFO传输 层(TX_L2)。层级(或‘层’)一对应于OSI模型的物理层且层级二对应于OSI模型的数据 链路层。此双层连接性提供若干选项。举例来说,可绕过层级二FIFO传输层(TX_L2)且 可将数据发送到层级一FIFO传输层(TX_L1),此减少等待时间。在至少一个实例中,层 级二FIFO传输层(TX_L2)具有比层级一FIFO传输层(TX_L1)宽的接口。在至少一个实例 中,层级二FIFO传输层(TX_L2)具有32字节接口,而层级一FIFO传输层(TX_L1)具有4字 节接口。在至少一个实例中,如果在接收电路105处,数据包从层级一接收层(RX_L1) 去往层级二接收层(RX_L2)272(257),且PRU 116在层级二接收层(RX_L2)处存取包,那 么数据将首先被推送到FIFO传输电路118的层级二FIFO传输层(TX_L2),且接着FIFO传 输电路118的硬件将数据包直接推送到层级一FIFO传输层(TX_L1)。然而,当与极低等待 时间接口(例如EtherCAT)进行通信时,可绕过层级二FIFO传输层(TX_L2);可将从PRU 116输出的数据直接推送到层级一FIFO传输层(TX_L1),(如所述,其具有4字节宽度)。Transmission circuitry 118 handles data outgoing from PRU 116 . Transmission circuitry 118 performs preemption, tag insertion, and padding. Transport circuitry 118 enables firmware to cleanly terminate packets. Thereafter, the task manager circuit 121 will perform the necessary steps to generate the final CRC and if the packet in question is small, the transport circuit 118 will perform padding. Transport circuitry 118 may insert tags so that PRU 116 does not have to keep track of the packets. The transmission circuit 118 can thus assist the hardware of the SoC 130 . Transmission circuit 118 is coupled to interface circuit 119 . The interface circuit 119 is the final layer. Outside the transport circuit 118, there are different media independent interfaces, such as RGMII, SGMII and real-time MII (see 104, 119, 225(295)). Other types of interfaces on system 100 are also possible within the present invention. The FIFO transfer circuit 118 is agnostic with respect to such interfaces. The interface circuit 119 is a demultiplexer. Interface circuitry 119 provides protocol conversion to transport circuitry 118, enabling transport circuitry 118, and therefore PRU 116, to communicate with a given piece of hardware in a protocol appropriate to the hardware. The PRU 116 and the transmission unit 118 are thus not constrained to operate in a manner corresponding to only one protocol, thereby making the PRU 116 and the transmission circuit 118 more versatile than they would be if the interface circuit 119 were not present. In at least one example of the present invention, system 100 constrains the data flow of interface circuit 119 to connect to an external physical layer. Referring to the levels of the Open Systems Interconnection (OSI) model, the transport circuit 118 has a level one FIFO transport layer (TX_L1) and a level two FIFO transport layer (TX_L2). Level (or 'layer') one corresponds to the physical layer of the OSI model and level two corresponds to the data link layer of the OSI model. This dual layer connectivity offers several options. For example, the level two FIFO transport layer (TX_L2) can be bypassed and data can be sent to the level one FIFO transport layer (TX_L1), which reduces latency. In at least one example, the level two FIFO transport layer (TX_L2) has a wider interface than the level one FIFO transport layer (TX_L1). In at least one example, the level two FIFO transport layer (TX_L2) has a 32-byte interface, and the level one FIFO transport layer (TX_L1) has a 4-byte interface. In at least one example, if, at receive circuitry 105, the data packet goes from the tier-one receive layer (RX_L1) to the tier-two receive layer (RX_L2) 272 (257), and the PRU 116 resides at the tier-two receive layer (RX_L2) To fetch the packet, then the data will first be pushed to the level two FIFO transport layer (TX_L2) of the FIFO transport circuit 118, and then the hardware of the FIFO transport circuit 118 will push the data packet directly to the level one FIFO transport layer (TX_L1). However, when communicating with a very low latency interface such as EtherCAT, the level two FIFO transport layer (TX_L2) can be bypassed; the data output from the PRU 116 can be pushed directly to the level one FIFO transport layer (TX_L1), ( As mentioned, it has a width of 4 bytes).

接口电路104及接口电路119处于OSI模型的零级处。因此,数据通过接口电路104而 在零级处进入系统100,从零级移动到FIFO接收电路105的层级一接收层(RX_L1)或FIFO接收电路105的层级二接收层(RX_L2)272(257)一直到PRU 116(其存在于层级一及层级 二两者处),且从PRU 116的层级一或层级二穿过FIFO传输电路118并在接口电路119处回 到零级。在至少一个实例中,循环冗余检查(CRC)电路120为帮助PRU 116执行计算的加 速器。PRU 116通过BS-RAM 117而与CRC电路120介接。CRC电路120将散列函数应用于 PRU 116的数据。CRC电路120用于检验数据包的完整性。举例来说,所有以太网包均包 含CRC值。CRC电路120对包执行CRC检查以查看所述包的CRC值是否与由CRC电路120 计算的结果一致。也就是说,包包含CRC签名且在计算所述签名之后,将结果与附加到 包的签名进行比较以检验所述包的完整性。Interface circuit 104 and interface circuit 119 are at level zero of the OSI model. Thus, data enters system 100 at level zero through interface circuit 104, moving from level zero to level one receive layer (RX_L1) of FIFO receive circuit 105 or level two receive layer (RX_L2) of FIFO receive circuit 105 272 (257) All the way up to PRU 116 (which exists at both level one and level two), and from level one or level two of PRU 116 through FIFO transfer circuit 118 and back at interface circuit 119 back to level zero. In at least one example, cyclic redundancy check (CRC) circuit 120 is an accelerator that assists PRU 116 in performing calculations. PRU 116 interfaces with CRC circuit 120 through BS-RAM 117 . CRC circuit 120 applies a hash function to the PRU 116 data. The CRC circuit 120 is used to check the integrity of the data packets. For example, all Ethernet packets contain CRC values. CRC circuit 120 performs a CRC check on the packet to see if the CRC value of the packet agrees with the result calculated by CRC circuit 120 . That is, the packet contains a CRC signature and after computing the signature, the result is compared to the signature attached to the packet to verify the integrity of the packet.

系统100还包含中断控制器(INTC)123。INTC 123将CPU(例如,AUX_PRU 112、PRU116)级事件聚合到主机(例如,130、146)事件。举例来说,可存在十个主机事件。INTC 123确定应将一组给定从属级事件聚合、映射并分类到单个实体。单个实体可被路由到PRU 116或任务管理器电路121且由所述PRU或任务管理器电路使用以引起主机(130、146)的 事件。在那种意义上,INTC 123既为聚合器又为路由器。The system 100 also includes an interrupt controller (INTC) 123 . INTC 123 aggregates CPU (eg, AUX_PRU 112, PRU 116) level events into host (eg, 130, 146) events. For example, there may be ten host events. INTC 123 determines that a given set of subordinate-level events should be aggregated, mapped, and classified into a single entity. A single entity may be routed to and used by the PRU 116 or task manager circuit 121 to cause events for the host (130, 146). In that sense, INTC 123 is both an aggregator and a router.

经增强/外部捕获(eCAP)电路124为计时器,所述计时器使得PRU 116能够基于与工 业以太网外围(IEP)电路122的时间匹配而产生输出响应,且捕获系统100外部的事件的事 件时间。Enhanced/External Capture (eCAP) circuit 124 is a timer that enables PRU 116 to generate an output response based on a time match with Industrial Ethernet Peripheral (IEP) circuit 122 and capture events of events external to system 100 time.

IEP电路122具有两组独立计时器,所述两组独立计时器实现针对从系统100的数据 传出的时间同步、时间戳记及服务质量。存在与IEP电路122相关联的数个独立捕获电路。 举例来说,如果存在接收(RX)起始帧事件且在特定时间将所述帧推送到主机为重要的, 那么IEP电路122可对所述事件进行时间戳记以指示所述特定时间。如果事件是用于出口 电路118的时间触发的发送,且如果期望在精确时间(在2纳秒到3纳秒内)传送包,那么独 立于PRU 116而在计时器期满时开始进行包的传输。因此,包的传送有效地与PRU 116解耦。The IEP circuit 122 has two sets of independent timers that enable time synchronization, time stamping, and quality of service for data outgoing from the system 100. There are several independent capture circuits associated with the IEP circuit 122 . For example, if there is a receive (RX) start frame event and it is important to push the frame to the host at a particular time, IEP circuitry 122 may time stamp the event to indicate the particular time. If the event is a time-triggered transmission for the egress circuit 118, and if the packet is expected to be delivered at a precise time (within 2 nanoseconds to 3 nanoseconds), then independent of the PRU 116, the packet transmission begins when the timer expires transmission. Thus, the transmission of packets is effectively decoupled from the PRU 116 .

除了所描述的计时器之外,IEP电路122还含有经增强数字输入/输出接口(EDIO)。EDIO类似于通用输入/输出(GPIO)接口,但更智能且针对以太网通信进行更好地校准。 举例来说,传输起始帧或接收起始帧可引起EDIO上的事件,此又可引起SoC 130外部的 事件。同步输出及锁入为时间同步的一部分。使IEP 120接收帧并捕获模拟电压也为可能 的。在常规系统中,此将需要读取操作。但对于EDIO,捕获可为事件触发的及/或时间 触发的,因此使捕获比在常规系统中更精确。EDIO使得系统100能够精确地确定传入帧 何时到达,此又使得系统100能够对一或多个特定值(例如温度、电压等)进行取样且由于 IEP电路122的时间戳记而在进行取样时精确地跟踪。所讨论的帧可被扩增。当所述帧由 传输电路118传输时,所述帧可含有经时间戳记取样值而不会增加开销或等待时间。IEP 电路122还包含监视(WD)计时器。特定事件应在正常操作条件下发生。当此类事件发生 时,PRU 116将通常清除WD计时器。如果WD计时器激发,那么这意味着PRU116未及时 地清除WD计时器,或未及时地将WD计时器复位,此指示存在不期望的暂停或某一类型 的等待时间。WD计时器因此用于跟踪错误。In addition to the described timer, the IEP circuit 122 also contains an enhanced digital input/output interface (EDIO). EDIO is similar to a general-purpose input/output (GPIO) interface, but is smarter and better calibrated for Ethernet communication. For example, transmitting a start frame or receiving a start frame can cause an event on EDIO, which in turn can cause an event external to SoC 130. Sync out and lock in as part of time synchronization. It is also possible for the IEP 120 to receive frames and capture analog voltages. In conventional systems, this would require a read operation. But for EDIO, the capture can be event-triggered and/or time-triggered, thus making the capture more precise than in conventional systems. EDIO enables the system 100 to determine precisely when an incoming frame arrives, which in turn enables the system 100 to sample one or more specific values (eg, temperature, voltage, etc.) and when sampling due to the time stamping of the IEP circuit 122 Track precisely. The frame in question can be augmented. When the frame is transmitted by transmit circuitry 118, the frame may contain time-stamped samples without adding overhead or latency. The IEP circuit 122 also includes a watchdog (WD) timer. Certain events should occur under normal operating conditions. When such an event occurs, the PRU 116 will normally clear the WD timer. If the WD timer fires, this means that the PRU 116 did not clear the WD timer in a timely manner, or did not reset the WD timer in a timely manner, indicating that there is an undesired timeout or some type of wait time. The WD timer is therefore used to track errors.

如所述,任务管理器电路111及任务管理器电路121可辨识大量事件。PRU 116为系统100的主要数据引擎。当起始帧时,系统100开始准备并服务于接收电路105。一旦帧 位于传输电路118中,下一包的输入可开始。由于PRU 116为主要处理器,因此PRU 116 需要实时地存取所有事件。与PRU 116相关联的另一操作为加水印。可在接口电路104、 接收电路105、传输电路118及接口电路119处形成水印。不期望在加载或卸载包之前等 待直到FIFO为满的,因为此将为太晚的,且不期望等待直到FIFO为空的,因为此将为太 早的,当达到特定量的空度(emptiness)(或满度)时,任务管理器电路121可激发,且PRU 116将确定是否对所述包加水印。As described, task manager circuit 111 and task manager circuit 121 can recognize a large number of events. PRU 116 is the primary data engine of system 100 . The system 100 begins to prepare and serve the receive circuit 105 when the frame is started. Once the frame is in the transmission circuit 118, the input of the next packet can begin. Since PRU 116 is the main processor, PRU 116 needs to access all events in real time. Another operation associated with PRU 116 is watermarking. Watermarks may be formed at interface circuit 104 , receive circuit 105 , transmit circuit 118 , and interface circuit 119 . It is not expected to wait until the FIFO is full before loading or unloading a packet, as this will be too late, and it is not expected to wait until the FIFO is empty because it will be too early, when a certain amount of emptiness is reached ) (or full scale), the task manager circuit 121 may fire and the PRU 116 will determine whether to watermark the packet.

BS-RAM 117的方面为其使得PRU 116能够在系统100可将上下文及变量保存于BS-RAM 117处的同时窥探所述包,且可在不具有开销成本的情况下对所述上下文及变 量执行操作,这是因为不需要两次移动所述包的数据。在本发明的至少一个实例中,可 将传入数据包移动到存储位置且同时对数据进行操作。此不同于将传入包移动到处理电 路且随后移动到存储位置的常规系统。系统100因此执行单个操作,而常规系统将执行 两个操作。An aspect of the BS-RAM 117 is that it enables the PRU 116 to snoop on the packet while the system 100 can save the context and variables at the BS-RAM 117, and can interpret the context and variables without overhead cost. The operation is performed because there is no need to move the packet's data twice. In at least one example of the invention, incoming data packets can be moved to a storage location while operations are performed on the data. This is different from conventional systems where incoming packets are moved to a processing circuit and then to a storage location. System 100 thus performs a single operation, whereas a conventional system would perform two operations.

如所述,AUX_PRU 112与BS-RAM 101交互。AUX_PRU 112具有任务管理器电路 111,所述任务管理器电路可基于特定事件或上下文交换的发生而抢占PRU 116。 AUX_PRU 112还与传送电路113交互。在至少一个实例中,根据本发明的系统100还包含 八千字节的数据RAM 114及64千字节的共享RAM 115。AUX_PRU 112及传送电路113均 与PRU 116交互。任务管理器电路121基于FIFO水印而输入用于接收及传输处理的实时任 务。PRU 116还耦合到16千字节BS-RAM过滤器数据库117。从PRU 116的输出去往FIFO 传输电路118。继而,从FIFO传输电路118的输出去往实时接口电路119。PRU 116还与 CRC 120交互,所述CRC计算以太网包内部的检查和。在至少一个实例中,系统100包含 IEP/计时器/EDIO/WD电路122。如所述,系统100还可包含中断控制器(INTC)123及eCAP 电路124。AUX_PRU 112 interacts with BS-RAM 101 as described. AUX_PRU 112 has task manager circuitry 111 that can preempt PRU 116 based on the occurrence of certain events or context switches. AUX_PRU 112 also interacts with transmit circuit 113 . In at least one example, the system 100 in accordance with the present invention also includes eight kilobytes of data RAM 114 and 64 kilobytes of shared RAM 115. Both AUX_PRU 112 and transmit circuit 113 interact with PRU 116. The task manager circuit 121 inputs real-time tasks for reception and transmission processing based on the FIFO watermark. PRU 116 is also coupled to a 16 Kbyte BS-RAM filter database 117. The output from PRU 116 goes to FIFO transfer circuit 118 . Then, the output from the FIFO transfer circuit 118 goes to the real-time interface circuit 119 . PRU 116 also interacts with CRC 120, which computes checksums within Ethernet packets. In at least one example, system 100 includes IEP/timer/EDIO/WD circuit 122. As described, the system 100 may also include an interrupt controller (INTC) 123 and an eCAP circuit 124 .

图2A到2C图解说明实例性工业通信子系统(ICSS)(在下文中简称为子系统200)。图 2A到2C图解说明与图1中所展示的许多相同的组件,但呈不同的细节。关于图1所陈述的描述与图2A到2C密切相关,且反之亦然。内部总线248及外部总线247左侧上的slice_0 201与右侧上的slice_1 261对称。(注意,相似字母名称指示相似组件。)对slice_0 201中 的组件的描述适用于其在slice_1 261中的对应物。如图2中所图解说明,子系统200包含 含有一或多个硬件处理器的处理硬件元件,例如辅助可编程实时单元(AUX_PRU_0)205 及PRU_0 219,其中每一硬件处理器可具有一或多个处理器核心。在至少一个实例中, 处理器(例如,AUX_PRU_0 205、PRU_0 219)可包含至少一个共享高速缓冲存储器,所 述至少一个共享高速缓冲存储器存储由处理器(AUX_PRU_0 205、PRU_0 219)的一或多 个其它组件利用的数据(例如,计算指令)。举例来说,共享高速缓冲存储器可为存储于 存储器中以供由构成处理器(AUX_PRU_0 205、PRU_0 219)的处理元件的组件存取的经 本地高速缓存数据。在一些情形中,共享高速缓冲存储器可包含一或多个中层级高速缓 冲存储器,例如层级2高速缓冲存储器、层级3高速缓冲存储器、层级4高速缓冲存储器 或其它层级的高速缓冲存储器、最后层级高速缓冲存储器或者其组合。处理器的实例包 含但不限于CPU微处理器。虽然未在图2中明确图解说明,但构成处理器AUX_PRU_0 205 及处理器PRU_0 219的处理元件还可包含一或多个其它类型的硬件处理组件,例如图形 处理单元、ASIC、FPGAs及/或DSP。PRU_1的另一加速器为BSWAP电路224(294)。 BSWAP电路224(294)可取决于所讨论的包的大小、小字节序及/或大字节序而交换字。BSWAP电路224(294)可取决于字大小而对所述包中的字节进行重新排序。2A-2C illustrate an example Industrial Communication Subsystem (ICSS) (hereinafter referred to simply as subsystem 200). Figures 2A-2C illustrate many of the same components as shown in Figure 1, but in different details. The description set forth in relation to Figure 1 is closely related to Figures 2A-2C, and vice versa. The slice_0 201 on the left side of the internal bus 248 and the external bus 247 is symmetrical with the slice_1 261 on the right side. (Note that similar letter names indicate similar components.) Descriptions of components in slice_0 201 apply to their counterparts in slice_1 261. As illustrated in FIG. 2, subsystem 200 includes processing hardware elements including one or more hardware processors, such as auxiliary programmable real-time unit (AUX_PRU_0) 205 and PRU_0 219, where each hardware processor may have one or more processor cores. In at least one example, a processor (eg, AUX_PRU_0 205, PRU_0 219) may include at least one shared cache that stores one or more of the processors (AUX_PRU_0 205, PRU_0 219) Data utilized by other components (eg, computational instructions). For example, the shared cache may be locally cached data stored in memory for access by the components that make up the processing elements of the processor (AUX_PRU_0 205, PRU_0 219). In some cases, shared caches may include one or more mid-level caches, such as level 2 caches, level 3 caches, level 4 caches, or other levels of caches, last level caches buffer memory or a combination thereof. Examples of processors include, but are not limited to, CPU microprocessors. Although not explicitly illustrated in FIG. 2, the processing elements comprising processors AUX_PRU_0 205 and processors PRU_0 219 may also include one or more other types of hardware processing components, such as graphics processing units, ASICs, FPGAs, and/or DSPs . Another accelerator for PRU_1 is BSWAP circuit 224 (294). BSWAP circuit 224 ( 294 ) may swap words depending on the size, little endian, and/or big endian of the packet in question. BSWAP circuit 224 (294) may reorder the bytes in the packet depending on the word size.

子系统200包含由图2C中的slice_1镜射的slice_0 201。如图2A中可见,slice_0201具 有多个组件。主要组件为辅助PRU(AUX_PRU_0)205、PRU_0 219及MII 228。 AUX_PRU_0 205具有若干个加速器(a/k/a小工具)。AUX_PRU_0 205用作slice_0 201的控 制处理器。贯穿本发明,术语‘控制处理器’、‘AUX_PRU’及‘RTU_PRU’为同义 的且可互换的,除非另有指示或由其出现的上下文指定,但其功能及配置可不同。Subsystem 200 includes slice_0 201 mirrored by slice_1 in Figure 2C. As can be seen in Figure 2A, slice_0201 has multiple components. The main components are auxiliary PRU (AUX_PRU_0) 205 , PRU_0 219 and MII 228 . AUX_PRU_0 205 has several accelerators (a/k/a widgets). AUX_PRU_0 205 is used as the control processor for slice_0 201. Throughout this disclosure, the terms 'control processor', 'AUX_PRU' and 'RTU_PRU' are synonymous and interchangeable unless otherwise indicated or dictated by the context in which they appear, although their function and configuration may vary.

图2A图解说明存储器(例如,204(264))可以操作方式且以通信方式耦合到 AUX_PRU_0 205。存储器204(264)可为经配置以存储各种类型的数据的非暂时性媒体。 举例来说,存储器204(264)可包含一或多个存储装置,所述一或多个存储装置包括易失 性存储器。易失性存储器(例如随机存取存储器(RAM))可为任何适合非永久性存储装置。 在特定实例中,如果经分配RAM不足够大以保持所有工作数据,那么非易失性存储装置 (未展示)可用于存储溢位数据。当加载到RAM中的程序经选择以用于执行时,此非易失 性存储装置还可用于存储此类程序。2A illustrates that a memory (eg, 204 (264)) may be operatively and communicatively coupled to AUX_PRU_0 205. Memory 204 (264) may be a non-transitory medium configured to store various types of data. For example, memory 204 (264) may include one or more storage devices including volatile memory. Volatile memory, such as random access memory (RAM), can be any suitable non-persistent storage device. In a particular example, if the allocated RAM is not large enough to hold all working data, non-volatile storage (not shown) may be used to store overflow data. This non-volatile storage device may also be used to store programs loaded into RAM when such programs are selected for execution.

软件程序可针对多种软件平台及/或操作系统而以多种计算语言被开发、编码及编译 且随后由AUX_PRU_0 205加载及执行。在至少一个实例中,软件程序的编译过程可将以 编程语言写入的程序代码变换成另一计算机语言,使得AUX_PRU_0 205能够执行编程代码。举例来说,软件程序的编译过程可产生可执行程序,所述可执行程序提供经编码指 令(例如,机器代码指令)以使AUX_PRU_0 205实现特定非泛型计算功能。Software programs can be developed, coded and compiled in various computing languages for various software platforms and/or operating systems and then loaded and executed by AUX_PRU_0 205. In at least one example, a compilation process of a software program can transform program code written in a programming language into another computer language, enabling AUX_PRU_0 205 to execute the programming code. For example, a compilation process of a software program may produce an executable program that provides encoded instructions (e.g., machine code instructions) to cause AUX_PRU_0 205 to implement certain non-generic computing functions.

在编译过程之后,可接着将经编码指令作为计算机可执行指令或过程步骤而从存储 装置220(290)、从存储器210加载到AUX_PRU_0 205及/或嵌入于AUX_PRU_0 205内(例如,经由高速缓冲存储器或板上ROM)。在至少一个实例中,AUX_PRU_0 205经配置以 执行所存储指令或过程步骤以执行指令或过程步骤来将子系统200变换成非泛型且专门 经编程机器或设备。所存储数据(例如,由存储装置220(290)存储的数据)可在计算机可 执行指令或过程步骤的执行期间由AUX_PRU_0 205存取以指示子系统200内的一或多个 组件。Following the compilation process, the encoded instructions may then be loaded from storage 220 ( 290 ), from memory 210 into AUX_PRU_0 205 , and/or embedded within AUX_PRU_0 205 as computer-executable instructions or process steps (eg, via cache memory) or on-board ROM). In at least one example, AUX_PRU_0 205 is configured to execute stored instructions or process steps to perform instructions or process steps to transform subsystem 200 into a non-generic and specially programmed machine or device. Stored data (e.g., data stored by storage device 220 (290)) may be accessed by AUX_PRU_0 205 during execution of computer-executable instructions or process steps to indicate one or more components within subsystem 200.

图2B图解说明由图2A的slice_0与图2C的slice_1共享的组件及资源。图2C包括与图 2A相同的硬件。slice_0 201与slice_1 261关于图2B对称。本发明内涉及图2A的描述加以 必要的变更适用于图2C。子系统200包含子系统200还包含在slice_0 201处以及在slice_1 261上的对应端口276。存在第三端口(参见图2B)、主机端口245,主机端口245将子系统 200连接到主机246,子系统200可为所述主机的组件。端口253及端口276均可连接到以 太网。子系统200可因此用作三端口交换机。主机246可为本地源/同步或SoC(130)。尽管子系统200选项本身可为SoC(130),但在一些实施方案中,子系统200将为较大SoC (130)的子组件。在一些实例中,主机246将为来自英国英格兰剑桥(Cambridge,England,UK)的ARM控股公司(ARM Holdings PLC)的CPU。在至少一个实例中,主机246包括数个 CPU。存在多种CPU。小CPU的实例为Arm Cortex-R5-CPU。大CPU的实例为Arm Cortex-A57-CPU。在至少一个实例中,子系统200可由另一此CPU控制。2B illustrates components and resources shared by slice_0 of FIG. 2A and slice_1 of FIG. 2C. Figure 2C includes the same hardware as Figure 2A. slice_0 201 and slice_1 261 are symmetrical with respect to FIG. 2B. The description within the present invention relating to Fig. 2A applies mutatis mutandis to Fig. 2C. Subsystem 200 includes Subsystem 200 also includes corresponding ports 276 at slice_0 201 and on slice_1 261 . There is a third port (see Figure 2B), host port 245, which connects subsystem 200 to host 246, which may be a component of said host. Both port 253 and port 276 can be connected to Ethernet. Subsystem 200 can thus function as a three-port switch. Host 246 may be a local source/sync or SoC (130). Although the subsystem 200 option itself may be the SoC (130), in some implementations the subsystem 200 will be a subcomponent of the larger SoC (130). In some instances, host 246 will be a CPU from ARM Holdings PLC of Cambridge, England, UK. In at least one instance, host 246 includes several CPUs. There are various types of CPUs. An example of a small CPU is the Arm Cortex-R5-CPU. An example of a large CPU is the Arm Cortex-A57-CPU. In at least one example, subsystem 200 may be controlled by another such CPU.

如所展示,子系统200包含与内部可配置总线阵列子系统(CBASS)248(图2B)交互的 XFR2TR电路202(图2A)。XFR2TR电路202(280)中的‘XFR’代表传送。XFR2TR电路 202(280)具有宽边接口。XFR2TR电路202(280)经由XFR2TR电路202(280)的宽边接口而 邻接到AUX_PRU_0 205。将AUX_PRU_0 205的内部寄存器集公开给加速器MAC 206、 CRC 207(267)、SUM32电路208(268)、字节交换(BSWAP)电路203(263)及BS-RAM 204 (264)。在本发明的至少一个实例性子系统200中,将AUX_PRU_0 205的内部寄存器集直 接公开给例如上文所提及的加速器,此不同于常规系统的架构。在常规系统中,将需要 对所述结构进行加载-存储操作以使AUX_PRU_0 205存取加速器。然而,在图2中所展示 的实例中,加速器实际上为AUX_PRU_0 205的数据路径的一部分。AUX_PRU_0 205可 基于给定寄存器的宽边ID而将其寄存器文件导入及导出到给定加速器(a/k/a‘小工具’)。 举例来说,为DMA的一部分的XFR2TR电路202(280)可执行传送请求。传送请求(TR)可 以起始地址开始以起始数据移动、指定待移动的数据量(举例来说,200个字节)。XFR2TR 电路202(280)可执行对含有预定传送请求(TR)的列表的SMEM 235的简单DMA存储器复 制。在AUX_PRU_0 205上运行的软件知晓SMEM 235的先前存在TR的列表。在操作中, AUX_PRU_0 205将指令发送到DMA引擎以移动数据。由于传送指令可为极其繁复及/或 复杂的,因此预定义指令驻存于存储在SMEM 235中的‘工作命令池(work order pool)’ 内。基于所讨论的包的类型,AUX_PRU_0 205确定应使用哪些‘工作命令’及以何种序 列来致使将所述包发送到正确目的地。XFR2TR电路202(280)可如由AUX_PRU_0 205所 指导而创建工作命令列表,且一旦创建工作命令列表,XFR2TR电路202(280)便将通知 DMA引擎(未展示)。DMA引擎将接着从SMEM 235拉取经指定工作命令且执行经拉取工 作命令。因此,XFR2TR 202(280)使构建DMA列表(如同链路列表)所必需的计算开销及 传送最小化,以执行数据移动。TR代表传送请求。As shown, subsystem 200 includes XFR2TR circuitry 202 (FIG. 2A) that interacts with internal configurable bus array subsystem (CBASS) 248 (FIG. 2B). 'XFR' in XFR2TR circuit 202 (280) stands for transfer. The XFR2TR circuit 202 (280) has a broadside interface. XFR2TR circuit 202 (280) is adjoined to AUX_PRU_0 205 via the broadside interface of XFR2TR circuit 202 (280). The internal register set of AUX_PRU_0 205 is exposed to accelerator MAC 206, CRC 207 (267), SUM32 circuit 208 (268), byte swapping (BSWAP) circuit 203 (263), and BS-RAM 204 (264). In at least one example subsystem 200 of the present invention, the internal register set of AUX_PRU_0 205 is directly exposed to accelerators such as those mentioned above, unlike the architecture of conventional systems. In conventional systems, a load-store operation on the structure would be required for AUX_PRU_0 205 to access the accelerator. However, in the example shown in Figure 2, the accelerator is actually part of the data path of AUX_PRU_0 205. AUX_PRU_0 205 may import and export its register file to a given accelerator (a/k/a 'gadget') based on the broadside ID of the given register. For example, XFR2TR circuit 202 (280), which is part of DMA, may perform a transfer request. A transfer request (TR) may start with a starting address to move with starting data, specifying the amount of data to be moved (for example, 200 bytes). XFR2TR circuit 202 (280) may perform a simple DMA memory copy to SMEM 235 containing a list of predetermined transfer requests (TR). The software running on AUX_PRU_0 205 is aware of the list of preexisting TRs for SMEM 235 . In operation, AUX_PRU_0 205 sends instructions to the DMA engine to move data. Since transferring instructions can be extremely complex and/or complex, predefined instructions reside within a 'work order pool' stored in SMEM 235. Based on the type of packet in question, AUX_PRU_0 205 determines which 'work commands' should be used and in what sequence to cause the packet to be sent to the correct destination. XFR2TR circuit 202 (280) may create a work order list as directed by AUX_PRU_0 205, and once the work order list is created, XFR2TR circuit 202 (280) will notify a DMA engine (not shown). The DMA engine will then pull the specified work order from SMEM 235 and execute the pulled work order. Thus, XFR2TR 202 (280) minimizes the computational overhead and transfers necessary to construct a DMA list (like a link list) to perform data movement. TR stands for transfer request.

AUX_PRU_0的另一加速器为BSWAP电路203(263)。BSWAP电路203(263)可取决于 所讨论的包的大小、小字节序及/或大字节序而交换字。BSWAP电路203(263)可取决于 字大小而对包中的字节进行重新排序。BSWAP电路203(263)因此为将自动执行此类交换 的加速器。BS-RAM 204(264)对应于关于图1所论述的BS-RAM 101。BS-RAM 204(264) 紧密耦合到AUX_PRU_0 205。当AUX_PRU_0 205将数据元素推送到BS-RAM 204(264) 时,可由CRC 207(267)同时计算针对所述元件的CRC或由检查和电路208同时计算针对 所述数据元素的检查和。基于数据包的ID,AUX_PRU_0 205将同时窥探必要的交易(举 例来说,检查和、乘法、累加等),此意指将数据元素推送到BS-RAM 204(264)及执行加 速构成单个交易而非双重交易。此操作同时性由BS-RAM 204(264)实现,这是因为 BS-RAM 204(264)可在数据正被传送到物理RAM(举例来说,图1中所展示的数据RAM 114及共享RAM 115)的同时启用及/或停用小工具的功能。Another accelerator for AUX_PRU_0 is the BSWAP circuit 203 (263). BSWAP circuit 203 (263) may swap words depending on the size of the packet in question, little endian and/or big endian. The BSWAP circuit 203 (263) may reorder the bytes in the packet depending on the word size. BSWAP circuit 203 (263) is thus an accelerator that will automatically perform such swaps. BS-RAM 204 ( 264 ) corresponds to BS-RAM 101 discussed with respect to FIG. 1 . BS-RAM 204 ( 264 ) is tightly coupled to AUX_PRU_0 205 . When AUX_PRU_0 205 pushes a data element to BS-RAM 204 (264), the CRC for that element may be computed simultaneously by CRC 207 (267) or the checksum for that data element may be computed simultaneously by checksum circuit 208. Based on the ID of the packet, AUX_PRU_0 205 will simultaneously snoop for necessary transactions (eg, checksum, multiply, accumulate, etc.), which means that pushing data elements to BS-RAM 204 (264) and performing acceleration constitute a single transaction while Non-Dual Transaction. This operational simultaneity is achieved by BS-RAM 204 ( 264 ) because BS-RAM 204 ( 264 ) can be used while data is being transferred to physical RAM (eg, data RAM 114 and shared RAM shown in FIG. 1 ) 115) while enabling and/or disabling the functionality of the widget.

尽管出于解释目的将外围装置BSWAP 203(263)、XFR2TR电路202(280)、MAC 206(266)、CRC 207(267)及SUM32 208图解说明为在BS-RAM 204(264)外部,但所述外围装 置在大多数操作条件下将嵌入于BS-RAM 204(264)内。乘法器-累加器(MAC)206(266) 为包括32位乘32位乘法器及64位累加器的简单加速器。循环冗余检查(CRC)电路207 (267)循环地执行冗余检查。CRC电路207(267)支持不同多项式。检查和电路208如同CRC 电路207(267)一样,只是检查和电路208在对AUX_PRU_0 205处的有效负载执行检查和 之前使用散列运算来确定所述有效负载的完整性除外。Although peripherals BSWAP 203 ( 263 ), XFR2TR circuit 202 ( 280 ), MAC 206 ( 266 ), CRC 207 ( 267 ), and SUM32 208 are illustrated as being external to BS-RAM 204 ( 264 ) for purposes of explanation, all The peripherals will be embedded within BS-RAM 204 (264) under most operating conditions. Multiplier-Accumulator (MAC) 206 (266) is a simple accelerator that includes a 32-bit by 32-bit multiplier and a 64-bit accumulator. Cyclic Redundancy Check (CRC) circuit 207 (267) performs redundancy checks cyclically. CRC circuit 207 (267) supports different polynomials. Checksum circuit 208 is like CRC circuit 207 (267), except that checksum circuit 208 uses a hash operation to determine the integrity of the payload at AUX_PRU_0 205 before performing a checksum on the payload.

任务管理器电路209为AUX_PRU_0 205的关键部分。任务管理器电路可基于检测到196个事件中的哪一事件而提示AUX_PRU_0 205执行给定功能。Task manager circuit 209 is a critical part of AUX_PRU_0 205 . The task manager circuit may prompt AUX_PRU_0 205 to perform a given function based on which of the 196 events is detected.

存在可使数据移动到子系统200中及从所述子系统移出以及移动到SoC 130存储器 及从所述SoC存储器移动及/或移动到外部装置的两种途径。一种途径是通过包流式传输 接口(PSI)211(281),所述PSI提供将数据推送到主机(例如,246)及从主机(例如,246)拉取数据的能力。PSI 211(281)的此动作不同于读取请求。而是,PSI 211(281)的主(写 入器)组件附接到AUX_PRU_0 205。存在所接收包到目的地的映射。在正常操作条件下, 目的地将准备好接收所述包。出于所述原因,PSI 211(281)并不读取数据,而是将数据 传输到目的地端点。PSI 211(281)从导航子系统(NAVSS)210接收数据且将数据发送到所 述NAVSS。NAVSS 210实现复杂数据移动。NAVSS 210具有DMA引擎及称作重新引擎 的高级TR。NAVSS 210支持PSI 211(281)且可将PSI 211(281)映射到其它装置(例如,经 由外围组件互连高速)。使用PSI 211(281),数据可直接从ICSS去往外围组件互连高速同 时绕过主机及/或主要DMA引擎,从而使得数据能够从一个以太网接口(举例来说,接口 电路225(295))流式传输到另一接口,例如通用串行总线或外围组件互连高速。There are two ways that data can be moved into and out of subsystem 200 and to SoC 130 memory and from the SoC memory and/or to external devices. One way is through the Packet Streaming Interface (PSI) 211 (281), which provides the ability to push data to and pull data from the host (e.g., 246). This action of PSI 211 (281) is different from a read request. Instead, the main (writer) component of PSI 211 (281) is attached to AUX_PRU_0 205. There is a mapping of received packets to destinations. Under normal operating conditions, the destination will be ready to receive the packet. For this reason, the PSI 211 (281) does not read the data, but transmits the data to the destination endpoint. PSI 211 (281) receives data from Navigation Subsystem (NAVSS) 210 and sends data to the NAVSS. NAVSS 210 enables complex data movement. NAVSS 210 has a DMA engine and an advanced TR called a reengine. NAVSS 210 supports PSI 211 (281) and can map PSI 211 (281) to other devices (e.g., via Peripheral Component Interconnect Express). Using PSI 211(281), data can go directly from the ICSS to the peripheral component interconnect at high speed while bypassing the host and/or the main DMA engine, thereby enabling data to pass from an Ethernet interface (eg, interface circuit 225(295) ) to another interface, such as Universal Serial Bus or Peripheral Component Interconnect High Speed.

AUX_PRU_0 205与处理器间通信暂存器(IPC SPAD)212(282)进行通信,所述IPCSPAD还又与PRU_0 219进行通信。IPC SPAD 212(282)并非是由单个CPU拥有的暂时 SPAD。至少出于目的,IPC SPAD 212(282)能够跨越AUX_PRU_0 205及PRU_0 219传送 数据或完整控制器状态。传送到虚拟总线电路(XFR2VBUS)电路213(或简单地‘传送电 路213’)对应于图1中所展示的传送电路113且以与传送电路113相同的方式操作。传送电 路213(283)附接到BS-RAM 214(284)。传送电路213(283)具有与外部CBASS 247、内部 CBASS 248及自旋锁电路249的宽边接口。传送电路213可请求从存储器(例如,204、214) 到宽边及从宽边到存储器的读取及写入。此读取/写入功能不同于例如专用存储器 (DMEM0)233处的读取/写入操作。常规DMA复制操作将SoC(130)存储器中的信息移动 到DMEM0 233或共享存储器SMEM235。内部CBASS 248为子系统200的芯片上网络 (network-on-chip)。AUX_PRU_0 205 communicates with Inter-Processor Communication Pad (IPC SPAD) 212 ( 282 ), which in turn communicates with PRU_0 219 . IPC SPAD 212 (282) is not a temporary SPAD owned by a single CPU. For at least the purpose, IPC SPAD 212 (282) is capable of transferring data or full controller state across AUX_PRU_0 205 and PRU_0 219. The transfer to virtual bus circuit (XFR2VBUS) circuit 213 (or simply 'transfer circuit 213') corresponds to and operates in the same manner as transfer circuit 113 shown in Figure 1 . The transfer circuit 213 (283) is attached to the BS-RAM 214 (284). Transfer circuit 213 (283) has broadside interfaces to external CBASS 247, internal CBASS 248, and spinlock circuit 249. Transfer circuitry 213 may request reads and writes from memory (eg, 204, 214) to broadside and from broadside to memory. This read/write function differs from read/write operations at, for example, dedicated memory (DMEM0) 233 . Conventional DMA copy operations move information in SoC (130) memory to DMEM0 233 or shared memory SMEM 235. Internal CBASS 248 is the network-on-chip of subsystem 200 .

内部CBASS 248为4字节宽。在至少一个实例中,为存取内部CBASS 248,必须执行加载及存储操作,其为高等待时间低吞吐量操作。然而,使用紧密耦合且更直接的传送 电路213(283)减少等待时间及开销,同时还由于传送电路213(283)的宽边宽度而提供较 大带宽。因此,传送电路213(283)可充当从寄存器文件到子系统200存储器(例如,233) 的直接映射。中间存储器位置被绕过且传送电路213(283)直接去往寄存器文件,此减少 等待时间。Internal CBASS 248 is 4 bytes wide. In at least one example, to access the internal CBASS 248, load and store operations must be performed, which are high latency low throughput operations. However, using a tightly coupled and more direct transfer circuit 213 (283) reduces latency and overhead, while also providing greater bandwidth due to the broadside of the transfer circuit 213 (283). Thus, transfer circuit 213 (283) may act as a direct mapping from the register file to subsystem 200 memory (eg, 233). The intermediate memory locations are bypassed and the transfer circuit 213 (283) goes directly to the register file, which reduces latency.

如所述,如同AUX_PRU_0 205一样,PRU_0 219也具有加速器。PRU_0 219对应于 图1的PRU 116。与PRU 116一样,PRU_0 219具有任务管理器电路223。AUX_PRU_0 205 与PRU_0219之间的主要差异是PRU_0 219与接口电路104、接收电路105、传输电路118 及接口电路119(参见图1)(其在图2A到2C中共同地展示为接口电路225(295))交互。接口 电路225(295)包含接收电路270,所述接收电路包含层级一FIFO传输层(TX_L1)226 (296)及层级二传输层(TX_L2)262(256)(参见图1,118)。传输电路271包含层级一接收 层(RX_L1)及层级二接收层(RX_L2)272(257)(参见105,图1)。As mentioned, like AUX_PRU_0 205, PRU_0 219 also has accelerators. PRU_0 219 corresponds to PRU 116 of FIG. 1 . Like PRU 116, PRU_0 219 has a task manager circuit 223. The main difference between AUX_PRU_0 205 and PRU_0 219 is that PRU_0 219 and interface circuit 104, receive circuit 105, transmit circuit 118, and interface circuit 119 (see FIG. 1) (which are collectively shown in FIGS. 2A-2C as interface circuit 225 (295) )) interaction. Interface circuit 225 (295) includes receive circuit 270, which includes a level one FIFO transport layer (TX_L1) 226 (296) and a level two transport layer (TX_L2) 262 (256) (see Figure 1, 118). The transmission circuit 271 includes a level one receive layer (RX_L1) and a level two receive layer (RX_L2) 272 (257) (see 105, Fig. 1).

AUX_PRU 205的PRU_0219的BS-RAM 214(284)与BS-RAM 204(264)相同。通用输入/输出(GPIO)电路215(285)使得子系统200能够存取SoC(例如,130、246)的额外硬线。Σ-Δ电路216(286)为与一或多个外部传感器(未展示)交互的模/数转换器。Σ-Δ电路216(286)将来自传感器的模拟数据流转换为数字数据流。Σ-Δ电路216(286)为过滤器。来自传感器的数据流对应于外部装置(例如电机)处的电压或温度。Σ-Δ电路216(286)向PRU_0219告知特定事件(举例来说,如果存在电流尖峰、电压尖峰或温度尖峰)。PRU_0 219确 定由于所述尖峰而需要采取什么动作(如果存在)。The BS-RAM 214 (284) of the PRU_0 219 of the AUX_PRU 205 is the same as the BS-RAM 204 (264). General purpose input/output (GPIO) circuitry 215 (285) enables subsystem 200 to access additional hardwired SoCs (eg, 130, 246). Sigma-delta circuit 216 (286) is an analog-to-digital converter that interacts with one or more external sensors (not shown). A sigma-delta circuit 216 (286) converts the analog data stream from the sensor to a digital data stream. Sigma-delta circuit 216 (286) is a filter. The data stream from the sensor corresponds to the voltage or temperature at an external device such as a motor. The sigma-delta circuit 216 ( 286 ) informs the PRU_0 219 of certain events (eg, if there is a current spike, voltage spike, or temperature spike). PRU_0 219 determines what action (if any) needs to be taken due to the spike.

外围接口217(287)用于在子系统200(例如电机或机器人关节)的控制下检测装置的 位置或定向。举例来说,外围接口217(287)使用协议来确定臂的精确径向位置。Σ-Δ电路216(286)及外围接口217(287)因此用于装置控制,例如机器人控制。Σ-Δ电路216(286)及外围接口217(287)紧密耦合到PRU_0 219,此使得子系统200能够在工业情境中有用。The peripheral interface 217 (287) is used to detect the position or orientation of the device under the control of the subsystem 200 (e.g., motors or robotic joints). For example, the peripheral interface 217 (287) uses a protocol to determine the precise radial position of the arm. The sigma-delta circuit 216 ( 286 ) and the peripheral interface 217 ( 287 ) are thus used for device control, such as robot control. Sigma-delta circuitry 216 (286) and peripheral interface 217 (287) are tightly coupled to PRU_0 219, which enables subsystem 200 to be useful in industrial contexts.

219的包流式传输接口PSI 218(288)如同205PSI的PSI 211(281)。211(281)及PSI218 (288)与导航子系统(NAVSS)PSI 210交互。然而,尽管PSI 211(281)具有四个接收(RX)输入及一个传输(TX)输出,但PSI 218(288)具有单个传输(TX)输出。如所述,PRU_0 219 可将PRU_0 219的寄存器文件直接移动到以太网线(端口)253。因此,数据包通过接收电 路271的层级一接收层(RX_L1)227及接收电路271的层级二接收层(RX_L2)272(257)进 入;无需读取存储器或通过DMA。替代地,可在单个数据循环中将数据包立即弹出(推 送)到PRU_0219。如果需要,那么可在下一时钟循环中将数据包推送到层级一传输层 (TX_L1)226(296)或层级二传输层(TX_L2)262(256),此可称作‘跨层桥接 (bridge-to-layer-cut-through)’操作。在至少一个实例中,跨层桥接操作比存储及转发操 作快。可在经由PRU_0219及端口245将数据包推送到主机246(举例来说,SoC 130)或 slice_1 261(视情况而定)的同时执行跨层桥接操作。The packet streaming interface PSI 218 (288) of 219 is like PSI 211 (281) of 205 PSI. 211 ( 281 ) and PSI 218 ( 288 ) interact with Navigation Subsystem (NAVSS) PSI 210 . However, while PSI 211 (281) has four receive (RX) inputs and one transmit (TX) output, PSI 218 (288) has a single transmit (TX) output. As described, PRU_0 219 may move the register file of PRU_0 219 directly to Ethernet wire (port) 253 . Thus, data packets enter through the level one receive layer (RX_L1) 227 of the receive circuit 271 and the level two receive layer (RX_L2) 272 of the receive circuit 271 (RX_L2) 272 (257); no memory read or DMA is required. Alternatively, packets can be popped (pushed) to PRU_0219 immediately in a single data loop. If desired, the packet may be pushed to the tier one transport layer (TX_L1) 226 (296) or the tier two transport layer (TX_L2) 262 (256) in the next clock cycle, which may be referred to as a 'bridge- to-layer-cut-through)' operation. In at least one example, cross-layer bridging operations are faster than store-and-forward operations. The cross-layer bridging operation may be performed while the packet is being pushed to host 246 (eg, SoC 130) or slice_1 261 (as appropriate) via PRU_0 219 and port 245.

PRU_0 219为RISC CPU,所述RISC CPU的寄存器文件可以在不需要存取或通过其它存储器的情况下存取以太网缓冲器。接口228(298)、接口229(299)及接口230(258)为 物理媒体接口且包含至少一个RGMII。实时媒体独立接口228(298)为4位接口。接口229 (299)为千兆位宽。接口229(299)为精简千兆位媒体接口(RGMII)。接口230(258)为串行 千兆位媒体独立接口(SGMII)。在一或多个实例中,这些所识别接口实时地执行。PRU_0 219 is a RISC CPU whose register file can access the Ethernet buffer without requiring access or through other memory. Interface 228 (298), interface 229 (299), and interface 230 (258) are physical media interfaces and include at least one RGMII. Real-time media independent interface 228 (298) is a 4-bit interface. Interface 229 (299) is gigabit wide. Interface 229 (299) is a Reduced Gigabit Media Interface (RGMII). Interface 230 (258) is a Serial Gigabit Media Independent Interface (SGMII). In one or more instances, these identified interfaces execute in real-time.

以太网接口电路225(295)包含采用速率数据(107)及过滤器数据(106)以及其它数据 的接收(RX)分类器电路232(108),且基于预定义映射函数(例如时间函数),分类器电路 232(108)根据此映射函数而对若干包进行分类。包的分类将确定所述包的优先级,所述优先级将指定将所述包放置到哪一队列(高优先级队列、低优先级队列等)中。225(295) 的端口253本质上为专用于以太网接口电路225(295)的线。端口253处于OSI模型的零级 处。接口252(255)为PRU_0 219与以太网接口电路225(295)之间的接口。如所述,270 (273)及271(274)为FIFO配置的电路。FIFO传输电路270(273)对应于图1的传输电路118, 且FIFO接收电路271(274)对应于图1中的电路105。在将数据推送到FIFO电路270(273) 中的同时,分类器电路232对所述数据进行操作。Ethernet interface circuit 225 (295) includes receive (RX) classifier circuit 232 (108) that employs rate data (107) and filter data (106) and other data, and is based on a predefined mapping function (eg, a time function), Classifier circuit 232 (108) classifies packets according to this mapping function. The classification of a packet will determine the priority of the packet, which will specify which queue (high priority queue, low priority queue, etc.) the packet is placed in. Port 253 of 225(295) is essentially a wire dedicated to Ethernet interface circuit 225(295). Port 253 is at level zero of the OSI model. Interface 252 (255) is the interface between PRU_0 219 and Ethernet interface circuit 225 (295). As mentioned, 270 (273) and 271 (274) are FIFO configured circuits. The FIFO transmission circuit 270 ( 273 ) corresponds to the transmission circuit 118 of FIG. 1 , and the FIFO reception circuit 271 ( 274 ) corresponds to the circuit 105 of FIG. 1 . While the data is being pushed into the FIFO circuit 270 (273), the classifier circuit 232 operates on the data.

Slice_0 201与slice_1 261共享若干个资源301,例如图2B中所图解说明。Slice_0 201 与slice_1 261经由内部CBASS 248而彼此耦合。内部CBASS 248耦合到中断控制器236。 中断控制器236为聚合若干事件实例(回顾存在196个可能事件)的聚合器。所述事件中的 一些事件可来自主机(130)246,但大多数事件在子系统200内部。由于存在大量可能事 件,因此必须将事件聚合或合并成较小数目个超级包以供与来自主机(例如,246)的大量 数据共享。在PRU_0 219上运行的软件确定源到输出目的地的映射。Slice_0 201 shares several resources 301 with slice_1 261, such as illustrated in Figure 2B. Slice_0 201 and slice_1 261 are coupled to each other via internal CBASS 248 . Internal CBASS 248 is coupled to interrupt controller 236 . The interrupt controller 236 is an aggregator that aggregates several event instances (recall that there are 196 possible events). Some of the events may come from the host (130) 246, but most events are internal to the subsystem 200. Because of the large number of possible events, events must be aggregated or merged into a smaller number of superpackages for sharing with large amounts of data from hosts (e.g., 246). Software running on PRU_0 219 determines the mapping of sources to output destinations.

如所述,子系统200包含内部可配置总线阵列子系统(CBASS)248作为共享资源。内部CBASS 248经由32位从属端口而从外部CBASS 247接收数据。内部CBASS 248与专用 存储器_0 233、专用存储器_1 234及共享存储器(SMEM)235(115)进行通信。SMEM 235 为通用存储器。SMEM 235可用于针对DMA指令集进行直接存储器存取(DMA)操作,以 及其它功能。DMA如同暂存器(126、127)一样,且可含有控制及状态信息。内部CBASS 248还与经增强捕获模块(eCAP)237进行通信,所述eCAP还与外部可配置总线阵列子系 统(CBASS)247进行通信。经增强捕获模块237为用于外部装置(例如电机)的时间管理的 计时器。As described, subsystem 200 includes an internal configurable bus array subsystem (CBASS) 248 as a shared resource. Internal CBASS 248 receives data from external CBASS 247 via a 32-bit slave port. Internal CBASS 248 communicates with private memory_0 233, private memory_1 234 and shared memory (SMEM) 235 (115). SMEM 235 is general purpose memory. SMEM 235 may be used for direct memory access (DMA) operations for the DMA instruction set, among other functions. DMAs are like registers (126, 127) and may contain control and status information. The internal CBASS 248 also communicates with an enhanced capture module (eCAP) 237, which also communicates with an external configurable bus array subsystem (CBASS) 247. The enhanced capture module 237 is a timer for time management of external devices such as motors.

在至少一个实例中,子系统200具有不同操作模式。AUX_PRU_0 205及PRU_0 219各自具有存储器映射的寄存器。主机246将信息写入到配置管理器电路238。举例来说, 如果主机246需要启用RGMII模式,那么配置管理器238将启用RGMII 229(299),所述 RGMII为配置寄存器的实例。In at least one instance, subsystem 200 has different modes of operation. AUX_PRU_0 205 and PRU_0 219 each have memory mapped registers. Host 246 writes the information to configuration manager circuit 238 . For example, if host 246 needs to enable RGMII mode, configuration manager 238 will enable RGMII 229 (299), which is an instance of a configuration register.

通用异步接收器-传输器(UART)239为用于异步串行通信的硬件装置,在所述异步串行通信中,数据格式及传输速度为可配置的。电信令电平及方法由在UART 239外部 的驱动器电路处置。UART必须以特定波特速率(bod-rate)进行操作,此需要固定时钟速 率。异步桥接件(AVBUSP2P)240与内部CBASS 248及UART 239进行通信。UART 239 又与外部CBASS247进行通信。AVBUSP2P 240为允许UART 239的独立计时的桥接件。 外部CBASS 247耦合到工业以太网外围装置_0(IEP0)241A及工业以太网外围装置_1 (IEP1)241B。IEP0 241及IEP1 273各自包含计时器、EDIO及WD(122)。IEP0 241A及IEP1 241B共同地使得两个时域管理能够同时运行。针对IEP0及IIP2的计时器的相似AP 237计 时器搜索必须在给定频率(举例来说,200兆赫)上操作,但PRU可与这些解耦。同样,如 果需要,那么AVBUSP2P 240、AVBUSP2P 242及AVBUSP2P 243为允许UART 239、IEP0 241A及IEP1 241B以不同频率进行操作的耦合器。The Universal Asynchronous Receiver-Transmitter (UART) 239 is a hardware device for asynchronous serial communication in which the data format and transmission speed are configurable. Electrical signaling levels and methods are handled by driver circuits external to UART 239. The UART must operate at a specific bod-rate, which requires a fixed clock rate. Asynchronous bridge (AVBUSP2P) 240 communicates with internal CBASS 248 and UART 239. The UART 239 in turn communicates with the external CBASS 247. AVBUSP2P 240 is a bridge that allows independent timing of UART 239 . External CBASS 247 is coupled to Industrial Ethernet Peripheral_0 (IEP0) 241A and Industrial Ethernet Peripheral_1 (IEP1) 241B. IEP0 241 and IEP1 273 each include a timer, EDIO and WD(122). IEP0 241A and IEP1 241B collectively enable two time domain managers to run simultaneously. Similar AP 237 timer searches for timers for IEP0 and IIP2 must operate on a given frequency (eg, 200 MHz), but the PRU can be decoupled from these. Likewise, AVBUSP2P 240, AVBUSP2P 242, and AVBUSP2P 243 are couplers that allow UART 239, IEP0 241A, and IEP1 241B to operate at different frequencies, if desired.

如图2B中所展示,存在以通信方式插置于IEP0 241A与内部可配置总线阵列子系统 (CBASS)248之间的第二AVBUSP2P电路242。还存在以通信方式插置于IEP1 241B与内 部CBASS 248之间的第三AVBUSP2P 243。子系统200还包含以通信方式插置于内部 CBASS 248与外部组件之间的脉冲宽度调制器(PWM)244。As shown in FIG. 2B , there is a second AVBUSP2P circuit 242 communicatively interposed between the IEP0 241A and the Internal Configurable Bus Array Subsystem (CBASS) 248. There is also a third AVBUSP2P 243 communicatively interposed between the IEP1 241B and the internal CBASS 248. Subsystem 200 also includes a pulse width modulator (PWM) 244 communicatively interposed between internal CBASS 248 and external components.

组件236、237、238、239、241A、241B及244各自连接到特定SoC线。也就是说, 其各自与主机246的IO进行通信。Components 236, 237, 238, 239, 241A, 241B, and 244 are each connected to a particular SoC line. That is, they each communicate with the IO of the host 246 .

图2B还展示子系统200可包含自旋锁249、AUX_SPAD 275及PRU_SPAD 250。自旋 锁249为提供子系统200的各种核心(举例来说,205、219)与主机246之间的同步的硬件机 制。常规地,自旋锁为一种锁,其致使试图以原子方式获取其的线程在环路(“自旋”) 中简单地等待,同时重复地检查所述锁是否为可用的。由于所述线程保持活动但并未执 行有用任务,因此使用此锁是一种忙绿等待。一旦被获取,自旋锁便通常将被保持直到 其明确地被释放为止,但在一些实施方案中,如果正在等待的线程(保持所述锁的线程) 阻塞或“进入睡眠”,那么可自动释放所述自旋锁。锁为用于强制限制对其中存在许多 执行线程的环境中的资源的存取的同步机制。锁强制实施互斥并发控制策略。基于此原 理,自旋锁249提供子系统200组件的操作的自动性。举例来说,自旋锁249使得子系统 的核心中的每一者(例如,AUX_PRU_0 205)能够存取共享数据结构(例如存储于SMEM 235中的数据结构),此确保同时更新各种核心。通过自旋锁249将各种核心的存取串行化。FIG. 2B also shows that subsystem 200 may include spinlock 249 , AUX_SPAD 275 , and PRU_SPAD 250 . Spinlock 249 is a hardware mechanism that provides synchronization between the various cores (eg, 205, 219) of subsystem 200 and host 246. Conventionally, a spinlock is a lock that causes a thread attempting to acquire it atomically to simply wait in a loop ("spin") while repeatedly checking whether the lock is available. Using this lock is a busy-green wait since the thread remains active but not performing useful tasks. Once acquired, a spinlock will typically be held until it is explicitly released, but in some embodiments, if the waiting thread (the thread holding the lock) blocks or "goes to sleep", it can be automatically Release the spinlock. Locks are synchronization mechanisms used to enforce restricted access to resources in environments where many threads of execution exist. Locks enforce a mutually exclusive concurrency control strategy. Based on this principle, spinlock 249 provides automation of the operation of the components of subsystem 200. For example, spinlock 249 enables each of the cores of the subsystem (e.g., AUX_PRU_0 205) to access shared data structures (e.g., data structures stored in SMEM 235), which ensures that the various cores are updated simultaneously. Access to the various cores is serialized through spinlocks 249 .

如实例性子系统200中所展示,辅助暂存器(PRU SPAD)250及AUX SPAD 275各自保持三组的三十个32位寄存器。子系统200还包含过滤器数据库(FDB)251(109)(其包括两 个8千字节组)及过滤器数据库控制电路。FDB 251为由AUX_PRU_0 205及PRU_0 219存 取的宽边RAM。FDB 251还可由硬件引擎Σ-Δ216(286)及外围接口217(287)存取。接收 电路271(其包含层级一接收层(RX_L1)227(297)及层级二接收层(RX_L2)272(257))也 可存取FDB251。FDB 251为相对于AUX_PRU_0 205及PRU_0 219的宽边RAM以读取及 写入条目,但硬件还使用FDB 251来提供通过端口253而到达的包的加速压缩视图。硬件 将使用散列机制来咨询FDB 251的存储器且将结果连同包一起递送到PRU_0 219。确定包 接下来将去往哪里是路由功能。AUX_PRU_0 205及PRU_0 219经由FDB 251的宽边接口 而存取FDB 251以添加信息及删除信息。接收硬件225(295)也可存取FDB 251。As shown in example subsystem 200, auxiliary scratchpad (PRU SPAD) 250 and AUX SPAD 275 each hold three sets of thirty 32-bit registers. Subsystem 200 also includes a filter database (FDB) 251 (109) (which includes two 8-kilobyte groups) and filter database control circuitry. FDB 251 is broadside RAM accessed by AUX_PRU_0 205 and PRU_0 219. FDB 251 is also accessible by hardware engine sigma-delta 216 (286) and peripheral interface 217 (287). FDB 251 is also accessible by receive circuitry 271, which includes a level one receive layer (RX_L1) 227 (297) and a level two receive layer (RX_L2) 272 (257). FDB 251 is broadside RAM relative to AUX_PRU_0 205 and PRU_0 219 to read and write entries, but hardware also uses FDB 251 to provide an accelerated compressed view of packets arriving through port 253. The hardware will consult the memory of FDB 251 using a hashing mechanism and deliver the result to PRU_0 219 along with the packet. Determining where the packet will go next is the routing function. AUX_PRU_0 205 and PRU_0 219 access FDB 251 via the broadside interface of FDB 251 to add and delete information. FDB 251 may also be accessed by receiving hardware 225 (295).

子系统200还可包含可以通信方式耦合到处理器205的通信接口225(295),例如可包 含有线通信组件及/或无线通信组件的网络通信电路。网络通信电路225可利用多种专有 或标准化网络协议(例如以太网、TCP/IP,仅举许多协议中的几例)中的任一者来实现装置之间的通信。网络通信电路还可包括一或多个收发器,所述一或多个收发器利用以太网、电力线通信Wi-Fi、蜂窝式及/或其它通信方法。Subsystem 200 may also include a communication interface 225 (295) that may be communicatively coupled to processor 205, such as network communication circuitry that may include wired communication components and/or wireless communication components. Network communication circuitry 225 may utilize any of a variety of proprietary or standardized network protocols (eg, Ethernet, TCP/IP, to name a few of the many protocols) to enable communication between devices. The network communication circuitry may also include one or more transceivers utilizing Ethernet, powerline Wi-Fi, cellular, and/or other communication methods.

如所述,在本发明的实例中,以实时确定性方式处理数据包,此不同于常规以太网或IEEE以太网处理,所述常规以太网或IEEE以太网处理更多地定义‘尽力而为(bestefforts)’业务系统,其中包丢失取决于给定网络的负载而发生。尽管常规以太网管理对于许多应用(例如视频流式传输)来说为可接受的,但在工业环境(举例来说,机器人组装线)中,准确地且根据预定调度递送所发送数据包(在理想条件下)。在工业界中,包必须 根据严格的调度而到达。当然,包丢失可在工业环境中发生,但在各层(高于本发明的实 例所涉及的层级0、层级1及层级2)中存在用以照顾包丢失的不同方法。As mentioned, in an example of the present invention, data packets are processed in a real-time deterministic manner, as opposed to conventional Ethernet or IEEE Ethernet processing, which defines more of a 'best effort' (bestefforts)' business systems where packet loss occurs depending on the load on a given network. While conventional Ethernet management is acceptable for many applications (eg, video streaming), in industrial environments (eg, robotic assembly lines), sent data packets are delivered accurately and according to a predetermined schedule (at under ideal conditions). In industry, packets must arrive according to a strict schedule. Of course, packet loss can occur in an industrial environment, but there are different methods to take care of packet loss at various layers (above the tier 0, tier 1 and tier 2 to which the examples of the present invention are concerned).

当在层级一接收层(RX_L1)227及/或层级二接收层(RX_L2)272(257)处从物理层(未展示)接收包时,包分类器232(108)分析所述包且识别所述包的哪一部分为内容(a/k/a‘有效负载’)。包分类器(a/k/a‘包分类引擎’)232接着做出关于对所述包做什么的即 时决策。以太网桥接件225(295)做出关于(经由接收电路271及/或入口253)所接收的每一 包的转发与接收决策。在常规IEEE以太网桥接件中,以‘存储与转发方式’执行此类转 发与接收操作,其中在第一步骤中接收传入数据包,且一旦已接收到数据包,便接着在 第二步骤中审查内容。在常规IEEE以太网桥接件中,一旦完全接收到包且审查内容,便 做出第三步骤转发与接收确定。在做出转发与接收确定之后,接着将数据包提供到机械 传输层(例如经由传输元件226(296))。在本发明的至少一个实例中,以使等待时间及抖 动最小化的方式来简化这些步骤。在至少一个实例中,分类引擎232(260)经配置而以重 叠方式执行常规IEEE以太网桥接件的程序,借此到已在271(272)处完整接收包时,分类 引擎232(260)已确定关于所述包需要做什么、需要将所述包发送到什么目的地及通过什 么来进行路由。When a packet is received from the physical layer (not shown) at the layer one receive layer (RX_L1) 227 and/or the layer two receive layer (RX_L2) 272 (257), the packet classifier 232 (108) analyzes the packet and identifies all Which part of the packet is the content (a/k/a 'payload'). A packet classifier (a/k/a 'packet classification engine') 232 then makes an immediate decision about what to do with the packet. Ethernet bridge 225 (295) makes forwarding and receiving decisions regarding each packet received (via receive circuit 271 and/or ingress 253). In conventional IEEE Ethernet bridges, such forwarding and receiving operations are performed in a 'store and forward fashion', where incoming data packets are received in a first step, and once the data packets have been received, then in a second step review content. In conventional IEEE Ethernet bridges, once the packet is fully received and the content reviewed, a third step forward and receive determination is made. After forwarding and receiving determinations are made, the data packets are then provided to the mechanical transport layer (e.g., via transport element 226 (296)). In at least one example of the present invention, these steps are simplified in a manner that minimizes latency and jitter. In at least one example, classification engine 232 ( 260 ) is configured to execute the procedures of a conventional IEEE Ethernet bridge in an overlapping manner, whereby classification engine 232 ( 260 ) has received the packet in its entirety at 271 ( 272 ). Determining what needs to be done about the packet, where the packet needs to be sent, and through what routing.

在本发明的实例中,桥接延迟是在当数据包到达端口253时与在另一端口276上离开 之间的时间量。在数据包进入与数据包传出之间的时间期间,如所述,子系统200做出切换决策(确定)且接着执行传输功能。在标准以太网IEEE界中,使用存储与转发架构来 执行切换功能,此必定具有可变等待时间。在可变等待时间条件下,无法保证当在传入 端口253(104、105)上于时间零处接收到数据包时,所述数据包将在不同端口(例如,276、 245)上于固定(先验已知)时间处离开。子系统200的至少一个益处是分类引擎232使得可 知晓如果在时间零处接收到数据包,那么将在预定(确定性)周期内通过另一端口(例如, 245)而将所述包发送出。在至少一个实例中,此周期为1微秒。在至少一个实例中,当组 件(例如slice_0 201)具有此短切换时间时,所述组件被视为实时组件、能够‘实时地’执 行其经指派功能。在本发明的实例中,实时计算(RTC)描述经受“实时约束”的硬件及 软件系统(举例来说,从事件到系统响应)。举例来说,实时程序必须保证在经指定时间 约束(a/k/a‘截止时间’)内做出响应。在本发明内的一些实例中,实时响应为大约数毫 秒。在本发明内的一些实例中,实时响应为大约数微秒。In an example of the present invention, the bridging delay is the amount of time between when a packet arrives at port 253 and leaves on another port 276. During the time between the incoming of the data packet and the outgoing of the data packet, as described, the subsystem 200 makes a switching decision (determination) and then performs the transmission function. In the standard Ethernet IEEE community, a store-and-forward architecture is used to perform the handover function, which necessarily has variable latency. Under variable latency conditions, there is no guarantee that when a packet is received at time zero on incoming port 253 (104, 105), the packet will be fixed on a different port (eg, 276, 245) leave at a (known a priori) time. At least one benefit of the subsystem 200 is that the classification engine 232 makes it known that if a packet is received at time zero, the packet will be sent out through another port (eg, 245) within a predetermined (deterministic) period . In at least one example, this period is 1 microsecond. In at least one instance, when a component (e.g., slice_0 201) has this short switching time, the component is considered a real-time component, capable of performing its assigned function 'in real-time'. In an example of the present invention, real-time computing (RTC) describes hardware and software systems that are subject to "real-time constraints" (eg, from events to system responses). For example, a real-time program must guarantee a response within a specified time constraint (a/k/a 'deadline'). In some examples within the present invention, the real-time response is on the order of milliseconds. In some examples within the present invention, the real-time response is on the order of microseconds.

本发明的实例涉及在实时系统中操作的通信桥接件。通信桥接件为其中输入数据与 输出数据以确定性方式交换的实时控制系统。本发明的实例包含控制装置(例如,217(287)、244)以及实时地消耗来自控制装置217(287)、244的输入/输出数据的多个从属装置(未展示)或装置(未展示)。实时系统100、200具有通信桥接件255实时能力。因此,用 以转发包的时间量为确定性的,具有最少抖动及等待时间。在至少一个实例中,由硬件 计时器(未展示)使抖动及等待时间最小化(达到几纳秒的范围),所述硬件计时器界定包离 开物理端口253、252(255)时的时间。子系统200的实时可操作性不同于标准以太网,在 所述标准以太网中,至少数十微秒的抖动为常见的。在此类常规系统中,用以做出转发 /路由确定所花费的时间量根据包何时到达、接收数据包的速率及所述包的内容而变化。 在本发明的实时系统(例如,200)中,存在切换功能的循环执行。举例来说,可在子系统 200中每31微秒交换新数据。预定交换速率(例如31微秒)用作时间参考。取决于包何时进 入(举例来说,经由端口253),以确定性等待时间(在此实例中,31微秒)转发所述包,或 替代地根据存储与转发方式处置数据包,如同上文针对常规系统所描述。因此,包到达 时间可为针对将由子系统200如何处理给定数据包的鉴别者。由接收(RX)分类器232在确 定关于传入包做什么时所考虑的另一因素是通常与所讨论的包的类型相关联的数据(传 输)速率。举例来说,如果所接收包的平均数据速率超过特定数据速率阈值,那么系统可 丢弃(较不重要的)数据包以帮助确保对于较高优先权包存在足够带宽。在至少一个实例 中,分类器232至少部分地基于给定数据包的有效负载而确定所述包的重要性。Examples of the present invention relate to communication bridges operating in real-time systems. A communication bridge is a real-time control system in which input data and output data are exchanged in a deterministic manner. Examples of this disclosure include control devices (eg, 217 ( 287 ), 244 ) and multiple slave devices (not shown) or devices (not shown) that consume input/output data from control devices 217 ( 287 ), 244 in real-time . The real-time systems 100, 200 have a communication bridge 255 real-time capability. Therefore, the amount of time to forward packets is deterministic, with minimal jitter and latency. In at least one example, jitter and latency are minimized (to the range of a few nanoseconds) by a hardware timer (not shown) that defines the time when a packet leaves physical ports 253, 252 (255). The real-time operability of subsystem 200 differs from standard Ethernet where jitters of at least tens of microseconds are common. In such conventional systems, the amount of time it takes to make forwarding/routing determinations varies depending on when packets arrive, the rate at which data packets are received, and the contents of the packets. In the real-time system (eg, 200) of the present invention, there is a cyclic execution of the switching function. For example, new data may be exchanged in subsystem 200 every 31 microseconds. A predetermined exchange rate (eg, 31 microseconds) is used as a time reference. Depending on when a packet comes in (eg, via port 253), forward the packet with a deterministic latency (31 microseconds in this example), or alternatively handle the packet according to a store-and-forward approach, as above The text is described for conventional systems. Thus, the packet arrival time can be a discriminator of how a given data packet will be processed by subsystem 200. Another factor considered by the receive (RX) classifier 232 in determining what to do with incoming packets is the data (transmission) rate typically associated with the type of packet in question. For example, if the average data rate of received packets exceeds a certain data rate threshold, the system may drop (less important) packets to help ensure sufficient bandwidth exists for higher priority packets. In at least one example, classifier 232 determines the importance of a given packet based at least in part on the payload of the packet.

在至少一个实例中,分类器232通过首先存取包中的位置(例如包的以太网媒体存取 控制(MAC)地址)而审查包内容。装置的MAC地址为被指派给网络接口控制器(NIC)以用于网络分段的数据链路层处的通信的唯一识别符。MAC地址用作用于大多数IEEE 802 网络技术(包含以太网、Wi-Fi及蓝牙)的网络地址。在至少一个实例中,MAC地址用于子 系统200的媒体存取控制协议子层中。根据本发明,MAC地址可辨识为由连字符、冒号 或使用其它符号系统分离的六组的两个十六进制数字。In at least one example, classifier 232 examines packet content by first accessing a location in the packet, such as the packet's Ethernet Media Access Control (MAC) address. A device's MAC address is a unique identifier assigned to a network interface controller (NIC) for communication at the data link layer of a network segment. MAC addresses are used as network addresses for most IEEE 802 network technologies, including Ethernet, Wi-Fi, and Bluetooth. In at least one example, the MAC address is used in the medium access control protocol sublayer of subsystem 200. In accordance with the present invention, a MAC address is recognizable as six groups of two hexadecimal digits separated by hyphens, colons, or using other symbology.

可由过滤器106基于数据包的经指定递送地址(未展示)而对所述数据包进行过滤。数 据包包含六字节源及目的地地址。在至少一个实例中,接口电路225(295)基于所述信息 而过滤(106)包。举例来说,接口电路225(295)可读取包的网络地址且确定是接受所述包、 转发所述包还是丢弃所述包。在至少一个实例中,接受-转发-丢弃决策可基于所述包的 MAC标头。在至少一个实例中,在做出接受-转发-丢弃确定时,接口电路可进一步进入到包中、到达有效负载,且基于有效负载中的名称而进行过滤106确定。在SoC 200的一 些实施方案中,在有效负载中连接装置名称,且接着内容过滤器106查看有效负载。The packets may be filtered by filter 106 based on their designated delivery addresses (not shown). The packet contains six-byte source and destination addresses. In at least one example, interface circuitry 225 (295) filters (106) the packets based on the information. For example, interface circuitry 225 (295) may read the network address of the packet and determine whether to accept the packet, forward the packet, or discard the packet. In at least one example, the accept-forward-drop decision can be based on the MAC header of the packet. In at least one example, upon making the accept-forward-discard determination, the interface circuit can go further into the packet, into the payload, and filter 106 the determination based on the name in the payload. In some implementations of SoC 200, the device name is concatenated in the payload, and then content filter 106 looks at the payload.

在本发明的实施方案中,数据包将通常含有多个数据报。此数据报多重性需要将包 或其一部分传递到多个地址。换句话说,可在以太网包中存在多个子包。由于子包可各自具有其自身的地址,因此必须剖析地址。在其中在一个包中存在多个地址的情形中, 子系统200将在每当检测到子地址时重新起始剖析。因此,接口电路225(295)将针对过 滤器106具有可变起始偏移以使得接口电路225(295)能够将多个子包放置于单个以太网 包中。在至少一个实例中,这意味着将从单个数据包导出的子包发送到不同装置(例如, 通过外围接口217(287));在本发明的实例中,单个以太网包可含有子包,所述子包中的 一或多者打算用于(被寻址到)不同装置。除非另外指示,否则本发明的通信(包交换)并非 点对点通信。本发明的通信是基于主装置到从属装置架构。在本发明的实施方案中,单 个主装置(例如,主机246)控制数十个、数百个或甚至数千个从属装置。In embodiments of the present invention, a data packet will typically contain multiple datagrams. This datagram multiplicity requires delivery of the packet or part of it to multiple addresses. In other words, there can be multiple sub-packets in an Ethernet packet. Since subpackets can each have their own address, the address must be parsed. In situations where there are multiple addresses in a packet, subsystem 200 will restart parsing each time a subaddress is detected. Therefore, interface circuit 225 (295) will have a variable starting offset for filter 106 to enable interface circuit 225 (295) to place multiple sub-packets into a single Ethernet packet. In at least one instance, this means that sub-packets derived from a single data packet are sent to different devices (eg, via peripheral interface 217 (287)); in an example of the invention, a single Ethernet packet may contain sub-packets, One or more of the subpackages are intended for (addressed to) different devices. Unless otherwise indicated, the communications (packet switching) of the present invention are not point-to-point communications. The communication of the present invention is based on a master-to-slave architecture. In embodiments of the present invention, a single master device (e.g., master 246) controls tens, hundreds, or even thousands of slave devices.

由于主装置与从属装置(1到N,其中N可为极大数字)之间的此不对称关系以及对通 信实时地发生的要求,因此提供包含入口过滤器硬件106的接口电路225(295)。入口过滤器106(及其伴随的逻辑)结合入口分类器232实现针对实时转发与处理的硬件决策。在本发明的实例中,为使关于包的转发与接收确定发生而必须读取的所有信息位于所述包中的前32个字节中。一旦读取所述包的前32个字节,PRU_0 219便可取决于所述包符合 的协议而查找标头及额外标头。可实时地(例如在过滤器数据库251中)查找标头。因此, 一旦接口电路225(295)已接收到所述包的前32个字节,接口电路225(295)便具有充足的 信息来确定是否转发所述包或是否接收所述包,如上文所描述。应注意,所描述的32字 节标头大小为实例性标头大小。本发明的系统100、200可经配置以与具有其它标头大小 的包一起工作。Due to this asymmetric relationship between the master and slave devices (1 to N, where N can be a very large number) and the requirement for the communication to occur in real time, an interface circuit 225 that includes the ingress filter hardware 106 is provided (295) . Ingress filter 106 (and its accompanying logic), in conjunction with ingress classifier 232, enables hardware decisions for real-time forwarding and processing. In an example of the present invention, all information that must be read in order for the forwarding and receiving determination regarding a packet to occur is located in the first 32 bytes in the packet. Once the first 32 bytes of the packet are read, PRU_0 219 can look for headers and additional headers depending on the protocol the packet conforms to. The headers can be looked up in real-time (eg, in the filter database 251). Thus, once interface circuit 225 (295) has received the first 32 bytes of the packet, interface circuit 225 (295) has sufficient information to determine whether to forward the packet or whether to receive the packet, as described above describe. It should be noted that the depicted 32-byte header size is an example header size. The systems 100, 200 of the present invention may be configured to work with packets having other header sizes.

如所述,实时地完成(包)接收处理。在本发明的实施方案中,AUX_PRU_0 205、PRU_0 219及接口电路225(295)为可编程的,且经配置使得所有包处理为完全确定性的。以64千兆位/秒的速度在接口电路225(295)中完成接收32个字节的标头信息,此使得接口电路225(295)能够向前发送32个字节的信息或接收32个字节的信息。本发明的过滤器 106为非常灵活的,只要所述过滤器可经移动以对包的特定部分进行过滤。如果存在多 个子包,那么可视需要通过接口电路225(295)对过滤器106进行重新加载。另外,接口 电路225(295)可应用掩码以设定包范围或包及/或子包中的地址。通过使用大于及小于操 作将包分组,接口电路225(295)可(举例来说)确定当包具有从15到29的地址编号时,将 接收所述包。在一些实例中,可应用二元掩码,使得转发具有以偶数开始的地址(如8-7) 的子包,不转发(至少不立即转发)具有以奇数开始的地址的子包。因此,针对子包地址 分类而具有大于/小于操作可为有利的。在一些实例中,不同过滤器(例如106及107)可与 其它组件(例如MAC 206(266)、220(290))以操作方式组合以通过包的MAC地址而进一步 处理所述包。As described, the (packet) reception process is done in real time. In an implementation of the invention, AUX_PRU_0 205, PRU_0 219, and interface circuit 225 (295) are programmable and configured such that all packet processing is fully deterministic. Reception of 32 bytes of header information is done in interface circuit 225 (295) at 64 gigabits per second, which enables interface circuit 225 (295) to send 32 bytes of information forward or receive 32 bytes of information. The filter 106 of the present invention is very flexible, as long as the filter can be moved to filter specific parts of the packet. If there are multiple subpackets, filter 106 may be reloaded via interface circuit 225 (295) as needed. Additionally, interface circuitry 225 (295) may apply masks to set packet ranges or addresses within packets and/or sub-packets. By grouping packets using greater than and less than operations, interface circuitry 225 (295) can, for example, determine that packets will be received when they have address numbers from 15 to 29. In some examples, a binary mask may be applied such that subpackets with addresses starting with even numbers (eg, 8-7) are forwarded and subpackets with addresses starting with odd numbers are not forwarded (at least not immediately). Therefore, it may be advantageous to have greater/less than operation for sub-packet address classification. In some examples, different filters (e.g., 106 and 107) may be operatively combined with other components (e.g., MAC 206(266), 220(290)) to further process packets by their MAC addresses.

如所述,多个过滤器可经组合以使接口电路225(295)做出切换确定。还可应用额外 逻辑。举例来说,分类器232可对包进行分类,且应用分类相依逻辑,如‘针对包类型A,如果条件一、二及三为真实的,那么将接收所述包’。作为另一实例,在包被分类为类 型B的情况下,如果条件一为真实的且条件二为假的,那么将丢弃所述包。子系统200 可经配置使得条件还可包含在其中接收包的时间窗。举例来说,接口电路225(295)可确 定在特定时间点,接口电路225(295)将仅允许转发非常重要(较高优先级)的输入/输出数 据。接口电路225(295)可经配置使得在经指定周期期间(例如在预定事件已发生之后), 将应用一组过滤器组合,而在其它时间期间,可允许所有类型的数据业务。此所描述可 编程性在工业环境中为有利的,这是因为工业通信基于硬时间窗而操作(举例来说,与电 信会议形成对比)。As described, multiple filters may be combined to cause interface circuit 225 (295) to make switching determinations. Additional logic may also be applied. For example, classifier 232 may classify the packet and apply classification-dependent logic, such as 'for packet type A, if conditions one, two, and three are true, the packet will be received'. As another example, where a packet is classified as type B, if condition one is true and condition two is false, then the packet will be discarded. Subsystem 200 may be configured such that conditions may also include a time window in which packets are received. For example, interface circuit 225 (295) may determine that at a certain point in time, interface circuit 225 (295) will only allow very important (higher priority) input/output data to be forwarded. Interface circuitry 225 (295) may be configured such that during specified periods (eg, after a predetermined event has occurred), a set of filter combinations will be applied, while during other times, all types of data traffic may be allowed. This described programmability is advantageous in an industrial environment because industrial communications operate based on hard time windows (as opposed to teleconferencing, for example).

在本发明的实例中,多个硬件过滤器可与速率过滤器107组合,使得还可根据速率而对数据包进行归类。可渐增地执行所使用的过滤器106、107及硬件220(290)操作。可 使用内容、时间与速率(全部为实时地)的任何组合对包进行过滤。可针对包多次重新起 始给定过滤器106。过滤器106可具有起始地址,至少部分地基于给定包/子包的内容及/ 或内容类型而确定所述起始地址的值。In an example of the present invention, multiple hardware filters may be combined with rate filter 107 so that packets may also be classified according to rate. The filter 106, 107 and hardware 220 (290) operations used may be performed incrementally. Packets can be filtered using any combination of content, time and rate (all in real time). A given filter 106 may be restarted multiple times for a packet. Filter 106 may have a starting address whose value is determined based at least in part on the content and/or content type of a given packet/sub-packet.

在本发明的至少一个实例中,接口电路225(295)经配置以自动检测包是否含有虚拟 局域网(VLAN)标签。一些以太网包在包的中间或尾随MAC地址处具有用于标签字节的标签。可发生:如果将过滤器应用于尾随MAC地址的数据,那么所述MAC地址将被不 期望地移位四个字节。本发明的实例性接口电路225(295)通过以下操作而解决此问题: 自动检测包是否具有VLAN标签,且如果所述包确实含有VLAN标签,那么使用VLAN标 签的位置作为起始地址而重新起始相关过滤器106。此后,接口电路225(295)使用组合 逻辑来做出确定(例如是接收还是丢弃包),所述组合逻辑可涉及AND、OR与过滤器旗标 的任何适当组合。在本发明的一或多个实例中,可为硬件速率计数器的速率计数器107 取决于所讨论的业务的类型及针对包的类型的预定时间窗而确定速率。因此,可存在用 于高优先级包的特定时间及用于非实时包的不同时间,且可取决于情形而应用不同过滤 器。在一些实例中,在接收时间(即时)处理期间产生立即结果的过滤器106将会转发所讨 论的包,而不管所述包的长度如何。此操作能力与常规以太网形成鲜明对比,在所述常 规以太网中,首先接收包、咨询一或多个查找表且接着最终做出切换决策。在本发明的 一些实例中,包大小为预定的且每包以固定速率发生通信。在其它实例中,关于包长度 的信息含于所述包的标头内。在任一情形中,即时硬实时地确定包长度。In at least one example of the present invention, interface circuitry 225 (295) is configured to automatically detect whether a packet contains a virtual local area network (VLAN) tag. Some Ethernet packets have labels for the label bytes in the middle of the packet or at the trailing MAC address. It can happen that if a filter is applied to the data trailing the MAC address, the MAC address will be undesirably shifted by four bytes. The exemplary interface circuit 225 (295) of the present invention solves this problem by: automatically detecting whether a packet has a VLAN tag, and if the packet does contain a VLAN tag, restarting using the location of the VLAN tag as the starting address Start correlation filter 106. Thereafter, interface circuit 225 (295) makes a determination (e.g., whether to receive or discard the packet) using combinatorial logic, which may involve any suitable combination of AND, OR, and filter flags. In one or more examples of the invention, the rate counter 107, which may be a hardware rate counter, determines the rate depending on the type of traffic in question and a predetermined time window for the type of packet. Thus, there may be specific times for high priority packets and different times for non-real-time packets, and different filters may be applied depending on the situation. In some instances, filters 106 that produce immediate results during receive time (instant) processing will forward the packet in question regardless of the length of the packet. This operational capability is in stark contrast to conventional Ethernet, where packets are first received, one or more lookup tables are consulted, and then handover decisions are finally made. In some examples of the invention, the packet size is predetermined and communications occur at a fixed rate per packet. In other instances, information about the packet length is contained within the packet's header. In either case, the packet length is determined on-the-fly in hard real-time.

本发明中所描述的架构的至少一个技术益处是所述架构使得能够在单微秒内完成 切换/转发确定,即时对于具有多达十二微秒的长度的包。接口电路225(295)的基于时间 及数据速率的组合逻辑使得分类引擎232能够以稳健方式执行。子系统200重新起始过滤 器106以在包中多次应用过滤器106的能力增强了子系统200实时地做出包切换决策的能 力。在实例性实施方案中,过滤器106的长度受限制。如果包长于过滤器,那么过滤器106将需要被重新加载。如果以太网包含有子包,那么过滤器106可重新用于具有单个包 的多个位置。在一些实例中,子包将各自具有其自身的地址。举例来说,如果包含有三 个子包,那么地址过滤器106可被加载三次以将同一地址过滤器106应用于每一子包。 PRU_0219经由接口252(255)将数据写入到TX_L2,且所述数据接着沿着通信路径253离 开slice_0 201。所描述的实时处理支持下文所描述的资源可用性及分配管理。At least one technical benefit of the architecture described in this invention is that the architecture enables handover/forwarding determinations to be completed in a single microsecond, even for packets having a length of up to twelve microseconds. The time and data rate based combinatorial logic of interface circuit 225 (295) enables classification engine 232 to perform in a robust manner. The ability of subsystem 200 to restart filter 106 to apply filter 106 multiple times in a packet enhances the ability of subsystem 200 to make packet switching decisions in real time. In an exemplary embodiment, the length of the filter 106 is limited. If the packet is longer than the filter, then the filter 106 will need to be reloaded. If the Ethernet contains subpackets, the filter 106 can be reused for multiple locations with a single packet. In some instances, the subpackets will each have their own address. For example, if three subpackets are included, the address filter 106 may be loaded three times to apply the same address filter 106 to each subpacket. PRU_0 219 writes data to TX_L2 via interface 252 (255), and the data then leaves slice_0 201 along communication path 253. The described real-time processing supports the resource availability and allocation management described below.

如所述,本发明的方面及ICSS 200的组件涉及电机控制。可使用应用位点通信来传 递电机控制信号。在工业环境中,装置及组件可根据一或多个以太网协议而在彼此之间传递输入/输出数据。在电机驱动及电机控制的情形中,总是存在此输入/输出数据的应 用侧。电机可由多个经脉冲宽度调制信号驱动。脉冲宽度调制用于控制如机器人、机器 工具及输送带等背景中的电机应用。对如同这些的机械装置的恰当脉冲宽度调制为在维 持如工厂及工作位点等地方中的安全操作时的重要因素。安全的一个方面为装置错误减 轻。安全的另一方面为装置错误最小化。减轻及最小化装置错误的一种方式是了解过去 错误的原因及影响。本发明的一或多个实例针对于识别及跟踪错误(有时称作‘瞬发性波 动’)的源且跟踪瞬发性波动何时发生。本发明的实例包含用于在存在瞬发性波动的情况 下安全地控制脉冲宽度调制驱动的装置(例如电机)、借此减轻可由此类瞬发性波动引起 的任何伤害的系统及方法。As noted, aspects of the present invention and components of ICSS 200 relate to motor control. Motor control signals can be communicated using application site communications. In an industrial environment, devices and components may communicate input/output data between each other according to one or more Ethernet protocols. In the case of motor drive and motor control, there is always the application side of this input/output data. The motor may be driven by a plurality of pulse width modulated signals. Pulse width modulation is used to control motor applications in the context of robotics, machine tools, and conveyor belts. Proper pulse width modulation of mechanical devices like these is an important factor in maintaining safe operation in places such as factories and work sites. One aspect of safety is device error mitigation. Another aspect of safety is the minimization of device errors. One way to mitigate and minimize installation errors is to understand the causes and effects of past errors. One or more examples of the present disclosure are directed to identifying and tracking the sources of errors (sometimes referred to as 'transient fluctuations') and tracking when transient fluctuations occur. Examples of the invention include systems and methods for safely controlling a pulse width modulated driven device, such as a motor, in the presence of transient fluctuations, thereby mitigating any damage that may be caused by such transient fluctuations.

如所述,脉冲宽度调制器(例如图2B中的PWM 244)控制电机。在本发明的实例中,PWM通过使用经脉冲宽度调制信号而控制电机来以特定速度及特定扭矩驱动电机。在工 业应用中,通常存在六个脉冲宽度调制信号用于驱动三相电机器(例如三相电机)。另外, 存在称作跳闸信号的信号,将所述信号发送到PWM以致使PWM关闭电机电力级。如先 前所解释,将脉冲宽度调制信号转变为高电力信号以驱动高电力电机。跳闸信号可从控 制单元到达电力单元,例如PWM。As described, a pulse width modulator (eg, PWM 244 in Figure 2B) controls the motor. In an example of the present invention, PWM drives the motor at a specific speed and a specific torque by controlling the motor using a pulse width modulated signal. In industrial applications, there are typically six pulse width modulated signals used to drive a three-phase electrical machine (eg, a three-phase motor). Additionally, there is a signal called a trip signal that is sent to the PWM to cause the PWM to shut down the motor power stage. As previously explained, the pulse width modulated signal is converted to a high power signal to drive a high power motor. The trip signal can go from the control unit to the power unit, eg PWM.

用以增强涉及工业应用(例如机器人、服务器驱动、计算机数字控制(CNC))的环境中的安全的一种方式是能够迅速地(且安全地)关断此类应用的电力级。本发明内的电力级的实例为金属氧化物场效应变压器(MOSFET)、绝缘栅极双极晶体管(IGBT)及驱动电 机的其它电子器件。One way to enhance safety in environments involving industrial applications such as robotics, server drives, computer numerical controls (CNC) is to be able to quickly (and safely) shut down the power stage of such applications. Examples of power stages within the present invention are metal oxide field effect transformers (MOSFETs), insulated gate bipolar transistors (IGBTs) and other electronic devices that drive motors.

工作循环或电力循环为一个周期(T)中的其中信号或系统为活动的部分。周期为信号 完成通断循环所花费的时间。工作循环(D)为脉冲宽度(PW)(脉冲活动时间)与周期(T)的 比率。可根据如下公式定义工作循环(D):D=PW/T。PWM的工作循环的本质意指针对三相电机,那些脉冲宽度调制信号中的多达六个脉冲宽度调制信号对于控制为必要的。 在本发明内,跳闸信号为由脉冲宽度调制器244发送以在错误状况的情形中切断电力级 的信号。A duty cycle or power cycle is the portion of a period (T) in which a signal or system is active. The period is the time it takes for the signal to complete an on-off cycle. Duty cycle (D) is the ratio of pulse width (PW) (pulse active time) to period (T). The duty cycle (D) can be defined according to the following formula: D=PW/T. The nature of the duty cycle of the PWM is intended for three-phase motors, for which up to six of those pulse width modulated signals are necessary for control. Within the present invention, a trip signal is a signal sent by the pulse width modulator 244 to cut off the power level in the event of an error condition.

存在其中可有必要停止电力产生硬件的许多状况。跳闸信号指示此状况存在。举例 来说,可在电力级自身中存在故障状况,例如短路。可发出跳闸信号,这是因为组件中的温度为过高温度,或存在过多电流流动。可发出跳闸信号,这是因为一或多个电机处 于不正确位置中,或因为电机正以错误速度运行。There are many situations where it may be necessary to stop the power generating hardware. A trip signal indicates that this condition exists. For example, a fault condition, such as a short circuit, may exist in the power stage itself. A trip can be signaled because the temperature in the component is too high, or there is too much current flowing. A trip can be signaled because one or more motors are in an incorrect position, or because the motors are running at the wrong speed.

在一些工业环境中,可存在大量电磁干扰,其可影响电子器件的信号输出。信号输出的变更可被解释为指示在信号输出所来自的组件中存在瞬发性波动及错误。有时,此 可在错误检测中引起误报。此外,未必所有的错误检测均需要电力级关闭。如下文将更 详细地描述,本发明的实例包含用于过滤瞬发性波动指示信号的系统及方法。在一些实 例中,由一或多个逻辑块执行瞬发性波动过滤,所述一或多个逻辑块经配置以在需要电 力级关闭的PTOS与不需要电力级关闭的PTOS之间进行区分。在一些实例中,将多个 PTOS组合成单个PTOS为瞬发性波动过滤的方面。In some industrial environments, there can be significant amounts of electromagnetic interference that can affect the signal output of electronic devices. Changes in the signal output can be interpreted as indicating transient fluctuations and errors in the component from which the signal output came. Sometimes this can cause false positives in false detections. Furthermore, not all error detections require power stage shutdown. As will be described in more detail below, examples of the present invention include systems and methods for filtering transient fluctuation indicative signals. In some examples, transient fluctuation filtering is performed by one or more logic blocks configured to differentiate between PTOS that require power stage shutdown and PTOS that do not require power stage shutdown. In some instances, combining multiple PTOSs into a single PTOS is an aspect of instantaneous fluctuation filtering.

本发明的方面涉及出于诊断目的而捕获数据。举例来说,如果针对组件一次检测到 故障状况(瞬发性波动),那么忽略所述故障状况可为适当的,而如果紧接地三次检测到同一故障状况,那么调查瞬发性波动的原因可为适当的。在本发明的一或多个实例中, 记录并总结PTOS。以此方式将来自不同信息源的PTOS数据馈送到瞬发性波动过滤器(其 可为状态机)以便随时间改进瞬发性波动过滤器的操作准确度。在一些实例中,可基于所 描述瞬发性波动分析而对过滤器逻辑进行重新编程。在一些实例中,实时地将瞬发性波 动数据分析并反馈到瞬发性波动过滤器。Aspects of the invention relate to capturing data for diagnostic purposes. For example, if a fault condition is detected once for a component (instant fluctuation), it may be appropriate to ignore the fault condition, whereas if the same fault condition is detected three times in close proximity, investigating the cause of the transient fluctuation may be as appropriate. In one or more instances of the invention, the PTOS is recorded and summarized. In this way, PTOS data from different information sources is fed to a transient filter (which may be a state machine) in order to improve the accuracy of the operation of the transient filter over time. In some instances, the filter logic can be reprogrammed based on the described transient fluctuation analysis. In some instances, the transient fluctuation data is analyzed in real-time and fed back to the transient fluctuation filter.

PWM与由所述PWM驱动的电机之间的信号为电机侧通信。根据并非是以太网协议的电机侧通信协议而完成电机侧通信。电机侧通信为基于串行的,但其为位置数据到控 制单元及接着电机电流的实时通信,这些是通常来自使用Δ-Σ方法216的模/数计算机的位流,其中关于电流值的数据含于位流内。一些电机侧通信为基于协议的通信(如同位置反馈信号),而其它电机侧通信(如同电机电流)在位流中发送。脉冲宽度调制信号为数字控制信号的实例。The signal between the PWM and the motor driven by the PWM is the motor side communication. The motor-side communication is performed according to the motor-side communication protocol that is not the Ethernet protocol. Motor side communication is serial based, but it is real time communication of position data to the control unit and then motor current, these are bit streams typically from an analog/digital computer using the delta-sigma method 216 with data on the current value contained in the bitstream. Some motor-side communications are protocol-based communications (like position feedback signals), while other motor-side communications (like motor currents) are sent in the bit stream. A pulse width modulated signal is an example of a digital control signal.

在本发明的至少一个实例中,过滤器状态机接收到指示一或多个事件已发生的信号。过滤器状态机可具有静态跳闸配置或动态跳闸配置。以静态配置(或模式)进行操作 的过滤器将在特定事件(例如瞬发性波动)被检测到时发布跳闸信号。以动态模式进行操 作的过滤器状态机可检测事件的型式。举例来说,如果在特定周期中多次(取决于错误的 严重性)检测到同一错误,那么动态配置的过滤器可发布跳闸信号。In at least one example of the invention, a filter state machine receives a signal indicating that one or more events have occurred. The filter state machine can have a static trip configuration or a dynamic trip configuration. A filter that operates in a static configuration (or mode) will issue a trip signal when certain events (eg, transient fluctuations) are detected. A filter state machine operating in dynamic mode detects patterns of events. For example, a dynamically configured filter may issue a trip signal if the same error is detected multiple times (depending on the severity of the error) in a particular period.

在本发明的至少一个实例中,瞬发性波动过滤器可经编程以取决于所述过滤器接收 到何种事件信号而发布跳闸事件指示信号(TEIS)。通过逻辑块(414)或放大器(417A)或者 其它组件而被输入到瞬发性波动过滤器(412、417)的信号(412A、422)可经受脉冲噪声,其中信号从一个状态短暂切换到另一状态且接着返回。举例来说,从非活动到活动,且 接着迅速返回到非活动。瞬发性波动过滤器(412、417)将移除非活动输入信号(举例来说,低)中的短期状态改变且确保来自过滤器的输出信号保持非活动(不切换到传入状态),假定活动输入信号在预定义瞬发性波动宽度内。In at least one example of the present invention, a transient fluctuation filter can be programmed to issue a trip event indication signal (TEIS) depending on what event signal the filter receives. Signals (412A, 422) input to transient fluctuation filters (412, 417) through logic block (414) or amplifier (417A) or other components may experience impulse noise, where the signal briefly switches from one state to another a state and then return. For example, going from inactive to active, and then quickly back to inactive. The transient fluctuation filter (412, 417) will remove short-term state changes in the inactive input signal (eg, low) and ensure that the output signal from the filter remains inactive (does not switch to the incoming state), The active input signal is assumed to be within a predefined instantaneous fluctuation width.

在一或多个实例中,瞬发性波动过滤器具有活动状态及复位状态。当将ICSS 200通 电时,ICSS的组件需要进入到经定义复位状态中。在复位状态之后,组件(例如电机应用)可进入活动状态。复位状态的时序由状态机控制。状态机(421)可经编程以用于单次 检测。当经编程以用于单次检测时,一旦状态机(421)确定值得跳闸信号的事件或事件组 合已发生(只要状态机接收有效且未经掩蔽(活动)跳闸输入(411到420)),且作为结果而输出跳闸信号(变为预定义值,变为活动),输出信号(408)便将保持活动(还称为‘锁存’), 即使输入跳闸信号返回到非活动状态。In one or more examples, the burst filter has an active state and a reset state. When the ICSS 200 is powered up, the components of the ICSS need to go into a defined reset state. After the reset state, a component (eg, a motor application) can enter an active state. The timing of the reset state is controlled by the state machine. The state machine (421) can be programmed for a single detection. When programmed for single-shot detection, once the state machine (421) determines that an event or combination of events worthy of a trip signal has occurred (as long as the state machine receives a valid and unmasked (active) trip input (411 to 420)), And as a result the trip signal is output (becomes a predefined value, becomes active), the output signal (408) will remain active (also referred to as 'latching') even if the input trip signal returns to an inactive state.

状态机可经编程使得检测及跳闸输出设置随着电机控制循环的周期的循环时间而 复位。在此逐循环模式中,当输入(411到420)消失时,跳闸信号(408)将结束且PWM(244)将恢复正常操作。单次检测帮助确保电力级完全被关断且电机电流变为零(直到在外部复位为止,尽管为手动地)。单次检测较适合于如同短路检测或位置错误故障等关键故障状况。注意在一些实例中,状态机(421)可经配置而以单次方式处置一些跳闸输入,而针对 其它跳闸输入,当这些其它输入在下一循环中变为非活动时,状态机将停止发布跳闸信 号(408)。因此,可根据用户的需要而裁适ICSS。在一些实施例中,状态机可在31.25微 秒的一或多倍之内扫描瞬发性波动信号。在至少一个实施例中,瞬发性波动过滤器以60 千赫的速率扫描瞬发性波动信号。在至少一个实施例中,瞬发性波动过滤器以80千赫的 速率扫描瞬发性波动信号。The state machine can be programmed so that the detection and trip output settings are reset with the cycle time of the cycle of the motor control loop. In this cycle-by-cycle mode, when the inputs (411 to 420) disappear, the trip signal (408) will end and the PWM (244) will resume normal operation. A single detection helps ensure that the power stage is completely shut down and the motor current goes to zero (until reset externally, albeit manually). Single detection is more suitable for critical fault conditions such as short circuit detection or position error faults. Note that in some examples, the state machine ( 421 ) may be configured to handle some trip inputs in a single shot, while for other trip inputs, the state machine will stop issuing trips when these other inputs become inactive in the next cycle signal (408). Therefore, the ICSS can be tailored according to the user's needs. In some embodiments, the state machine may scan for transient fluctuations in one or more multiples of 31.25 microseconds. In at least one embodiment, the transient fluctuation filter scans the transient fluctuation signal at a rate of 60 kilohertz. In at least one embodiment, the transient fluctuation filter scans the transient fluctuation signal at a rate of 80 kilohertz.

不同于常规系统中,ICSS 200管理保护源以及经脉冲宽度调制电力控制的所有方面。 在一或多个实施例中,ICSS 200的瞬发性波动过滤器组件为高度可定制的,这是因为所 述瞬发性波动过滤器组件为可编程的且可配置以在变化的环境中进行操作。尽管瞬发性 波动过滤器具有多功能性及可编程性,但瞬发性波动过滤器还具有低等待时间。在一或多个实例中,以五纳秒间隔使信息移动穿过ICSS 200。在一些实例中,通过一或多个通 信接口(举例来说,图2B中的270、271及272)而传递位置信息(关于外部装置,例如电机)。 此位置信息可为实时信息。在一些实例中,由于实时地接收位置信息,因此如果所述位 置信息指示存在错误,那么将关于定位错误的信息传输到硬件状态机。如果硬件状态机 经配置(举例来说)以对位置错误进行触发,那么硬件状态机将立即输出跳闸信号。在ICSS 200的至少一个实例中,存在硬件状态机与计算逻辑的组合,所述组合驻存于ICSS 200 的实时处理及通信域中。此布置不同于常规解决方案,在所述常规解决方案中,由外部 ASIC或SPGA控制关于控制功能的通信且通过接口而将关于控制功能的信息传递到控制 PRU。Unlike in conventional systems, the ICSS 200 manages all aspects of protection source and pulse width modulated power control. In one or more embodiments, the transient fluctuation filter component of ICSS 200 is highly customizable in that the transient fluctuation filter component is programmable and configurable to to operate. Despite the versatility and programmability of the instant fluctuation filter, the instant fluctuation filter also has a low latency. In one or more examples, information is moved through ICSS 200 at five nanosecond intervals. In some examples, positional information (with respect to external devices, such as motors) is communicated through one or more communication interfaces (eg, 270, 271, and 272 in Figure 2B). This location information can be real-time information. In some instances, since the location information is received in real-time, if the location information indicates that there is an error, information about the positioning error is transmitted to the hardware state machine. If the hardware state machine is configured (for example) to trigger on a position error, the hardware state machine will immediately output a trip signal. In at least one instance of ICSS 200 , there is a combination of hardware state machines and computational logic that resides in the real-time processing and communication domains of ICSS 200 . This arrangement differs from conventional solutions in which the communication on the control function is controlled by an external ASIC or SPGA and the information on the control function is passed to the controlling PRU through the interface.

在本发明的至少一个实例中,通过将所有跳闸输入集成到一个硬件装置中而增强ICSS 200中的低等待时间。对所有跳闸输入的管理发生在单个硬件状态机(421)中。In at least one example of the present invention, low latency in ICSS 200 is enhanced by integrating all trip inputs into one hardware device. Management of all trip inputs occurs in a single hardware state machine (421).

图3图解说明根据本发明的实例的脉冲宽度产生301的方面。在图3中所展示的实例 中,将九个互补脉冲宽度调制输出与三个电机311匹配。脉冲宽度调制信号308及脉冲宽度调制信号309由脉冲宽度调制器(PWM)244产生。举例来说,‘PWMx’指示符(308) 及‘/PWMx’指示符(309)中的‘x’后缀反映以下事实:使用多于一对脉冲宽度调制信 号(272)来驱动三相电机。控制信号305及比较器信号306由IEP0 241产生。控制信号305 及比较器信号306去往PWM 244。还展示跳闸输出信号307(425),其在特定类型的事件 发生时去往PWM244,如将在图4A及图4B的论述中更详细地解释。控制信号305及脉冲 宽度调制信号308以及脉冲宽度调制信号309由PWM 244产生。位置事件指示符302为错 误事件已发生的指示。位置事件指示符303为另一错误事件已发生的指示。PRU 219及外 围接口217形成反馈系统,当检测到位置错误时,所述反馈系统跟踪电机的位置数据且 产生五号跳闸事件指示信号(420)。从compare0寄存器(402)输出锯齿信号305。还在图3 中展示信号305的周期304。跳闸事件指示符307指示外部输出引脚432已发送指示跳闸事 件-2已发生的信号(TEIS-2)。引脚432连接到PWM 244。Δ-Σ电流测量312由图2的Σ-Δ216 及PRU产生。3 illustrates aspects of pulse width generation 301 in accordance with an example of the present disclosure. In the example shown in Figure 3, nine complementary pulse width modulated outputs are matched to three motors 311. Pulse width modulated signal 308 and pulse width modulated signal 309 are generated by pulse width modulator (PWM) 244 . For example, the 'x' suffix in the 'PWMx' indicator (308) and the '/PWMx' indicator (309) reflects the fact that more than one pair of pulse width modulated signals (272) are used to drive a three-phase motor. Control signal 305 and comparator signal 306 are generated by IEP0 241 . Control signal 305 and comparator signal 306 go to PWM 244 . Also shown is the trip output signal 307 (425), which goes to the PWM 244 when certain types of events occur, as will be explained in more detail in the discussion of Figures 4A and 4B. Control signal 305 and pulse width modulated signal 308 and pulse width modulated signal 309 are generated by PWM 244. Location event indicator 302 is an indication that an error event has occurred. Location event indicator 303 is an indication that another error event has occurred. PRU 219 and peripheral interface 217 form a feedback system that tracks the motor's position data and generates a trip event number five indication signal (420) when a position error is detected. The sawtooth signal 305 is output from the compare0 register (402). Period 304 of signal 305 is also shown in FIG. 3 . Trip event indicator 307 indicates that external output pin 432 has sent a signal (TEIS-2) indicating that trip event-2 has occurred. Pin 432 is connected to PWM 244. The delta-sigma current measurement 312 is produced by the sigma-delta 216 of FIG. 2 and the PRU.

图4A图解说明实例性ICSS(200)的脉冲宽度调制监视器及控制器的逻辑配置400。图 4B图解说明ICSS(200)的与逻辑配置400交互的跳闸信号逻辑电路421。如图4B中所展示且如上文所论述,每一跳闸信号逻辑电路421可产生单个跳闸输出信号425。选择器信号426的值指定跳闸信号逻辑电路421是以单次模式进行操作还是替代地以逐循环模式进 行操作,如上文所解释。在图4B中所图解说明的实例中,跳闸信号逻辑电路421经配置 以跟踪各自对应于跳闸事件的五个跳闸输入信号。4A illustrates a logical configuration 400 of a pulse width modulation monitor and controller of an example ICSS (200). FIG. 4B illustrates the trip signal logic circuit 421 of the ICSS (200) interacting with the logic configuration 400. As shown in FIG. 4B and as discussed above, each trip signal logic circuit 421 may generate a single trip output signal 425 . The value of selector signal 426 specifies whether trip signal logic circuit 421 operates in a one-shot mode or alternatively in a cycle-by-cycle mode, as explained above. In the example illustrated in Figure 4B, trip signal logic 421 is configured to track five trip input signals each corresponding to a trip event.

图4A中所展示的门414监视PWM端子430的PWM输出信号308及PWM端子431的 PWM输出信号309。如果信号308及信号309均为活动的(高的),那么门414将一号事件指 示信号(EIS-1)412A输出到瞬发性波动过滤器412。取决于瞬发性波动过滤器如何配置, 当瞬发性波动过滤器412接收到EIS-1 412A时,瞬发性波动过滤器412将一号跳闸事件指 示信号(TEIS-1)411发送到跳闸信号逻辑电路421。如所述,PWM(244)针对每一分组的 三个电机产生九个互补脉冲宽度调制输出。基于来自门414的EIS 412A,TEIS-1 411监视 由PWM(244)产生的脉冲宽度调制信号以确保脉冲宽度调制信号308、309彼此互补(为同 相的、不会同时激活两个晶体管等)。瞬发性波动过滤器412可使用配置存储器映射寄存 器413来配置以过滤或阻挡来自门414的EIS-1 412A(其不满足特定阈值,例如当跳闸信 号为太短暂时)。例如这些的瞬发性波动反映在1或0的小峰值中,其通常由外部电磁干扰 引起。The gate 414 shown in FIG. 4A monitors the PWM output signal 308 of the PWM terminal 430 and the PWM output signal 309 of the PWM terminal 431. If both signal 308 and signal 309 are active (high), gate 414 outputs event indicator signal number one (EIS-1) 412A to transient filter 412. Depending on how the transient fluctuation filter is configured, when transient fluctuation filter 412 receives EIS-1 412A, transient fluctuation filter 412 sends Trip Event Indication Signal No. 1 (TEIS-1) 411 to TRIP Signal logic circuit 421 . As noted, PWM (244) produces nine complementary pulse width modulated outputs for each group of three motors. Based on EIS 412A from gate 414, TEIS-1 411 monitors the pulse width modulated signal generated by PWM (244) to ensure that pulse width modulated signals 308, 309 are complementary to each other (in phase, not activating both transistors at the same time, etc.). The transient surge filter 412 may be configured using the configuration memory map register 413 to filter or block EIS-1 412A from the gate 414 that does not meet a certain threshold, such as when the trip signal is too brief. Momentary fluctuations such as these are reflected in small peaks of 1 or 0, which are usually caused by external electromagnetic interference.

二号事件指示信号(EIS-2)432A(图4A中所展示)对应于来自外部源432的信号。举例 来说,外部电力板可经配置以在所述电力板的温度超过特定阈值的情况下发送EIS-2432A。如针对TEIS-1 411的情形,瞬发性波动过滤器417插置于外部源432与TEIS-2 415 的输入415A(对应于跳闸事件-2)之间,所述瞬发性波动过滤器可配置416以过滤指示误 报的错误信号(例如EIS-2 432A)。如果来自外部源432的EIS-2 432A满足特定可定制准则, 那么瞬发性波动过滤器417仅将跳闸事件指示信号(TEIS-2)415发送到跳闸信号逻辑电 路421。在实践中,将基于ICSS(200)在其中进行操作的环境的需要而对过滤器412及417 进行编程。举例来说,如果正在使用机器人臂来喷漆时发生例如抖动或振铃等信号错误, 那么此类信号错误比其在焊接环境(其中电磁干扰并不罕见)中发生的情况下更可能指示 真实故障。过滤器412、417的可编程性允许精细地调谐ICSS中的错误检测的敏感度。三 号跳闸事件指示信号418指示Σ-Δ(216)已检测到短路。四号跳闸事件指示信号419指示已 在(举例来说)由ICSS(200)控制的一或多个电机中检测到过电流。五号跳闸事件指示信号(TEIS-5)420是基于由PRU 219接收(使用基于串行的协议)的反馈。如果PRU确定由ICSS(200)控制的外部组件处于不正确位置中,那么PRU 219将TEIS-5 420发送到跳闸信号逻辑电路421。跳闸信号逻辑电路421可配置427以掩蔽一或多个跳闸输入信号,此意指跳 闸信号逻辑电路421可经配置以发送跳闸输出信号425,例如将致使电机关闭(仅针对所要 跳闸事件组合)。Event indication signal number two (EIS-2) 432A (shown in FIG. 4A ) corresponds to a signal from external source 432 . For example, an external power board can be configured to transmit EIS-2432A if the temperature of the power board exceeds a certain threshold. As in the case of TEIS-1 411, a transient surge filter 417 is interposed between the external source 432 and the input 415A of the TEIS-2 415 (corresponding to trip event-2), which may 416 is configured to filter error signals indicating false positives (eg, EIS-2 432A). The transient fluctuation filter 417 only sends the trip event indication signal (TEIS-2) 415 to the trip signal logic circuit 421 if the EIS-2 432A from the external source 432 meets certain customizable criteria. In practice, the filters 412 and 417 will be programmed based on the needs of the environment in which the ICSS (200) operates. For example, if a signal error such as jittering or ringing occurs while the robotic arm is being used to paint, then such signal error is more likely to indicate a real fault than if it occurs in a welding environment (where electromagnetic interference is not uncommon) . The programmability of the filters 412, 417 allows fine tuning of the sensitivity of error detection in the ICSS. Trip event number three indicating signal 418 indicates that the sigma-delta (216) has detected a short circuit. Trip event number four indication signal 419 indicates that an overcurrent has been detected in, for example, one or more motors controlled by the ICSS (200). Trip Event Indication Signal Number Five (TEIS-5) 420 is based on feedback received by the PRU 219 (using a serial-based protocol). If the PRU determines that an external component controlled by the ICSS ( 200 ) is in an incorrect position, the PRU 219 sends the TEIS-5 420 to the trip signal logic circuit 421 . The trip signal logic 421 may be configured 427 to mask one or more trip input signals, which means that the trip signal logic 421 may be configured to send a trip output signal 425, e.g., to cause the motor to shut down (only for the desired combination of trip events).

图4A中所图解说明的跳闸捕获块401、比较器0 403、计数器403、漂移补偿输入404、 比较器1 405及比较器2 409为IEP0(241)的组件。将命中信号405A从IEP0 241的比较器 405发送到PWM 244的输入PWM1。输出缓冲器407插置于IEP0与PWM 244之间。缓冲器 触发器406、输出缓冲器407、缓冲器410、瞬发性波动过滤器412、配置输入413、门414、 跳闸事件二输入415A、瞬发性波动过滤器配置输入416、缓冲器417及跳闸信号逻辑电路421为PWM244的组件。输出引脚430及输出引脚431为PWM 244的输出引脚。信号308 从输出引脚430发出且信号309从输出引脚431发出。比较器1 405将其经编程值(cmp_1) 与计数器403中的值(IEP_counter)进行比较。如果比较器1 405中的值等于计数器403中的 值,那么比较器1将发布命中信号405A。The trip capture block 401, comparator 0 403, counter 403, drift compensation input 404, comparator 1 405, and comparator 2 409 illustrated in Figure 4A are components of IEP0 (241). The hit signal 405A is sent from the comparator 405 of the IEP0 241 to the input PWM1 of the PWM 244. Output buffer 407 is interposed between IEP0 and PWM 244 . Buffer flip-flop 406, output buffer 407, buffer 410, glitch filter 412, configuration input 413, gate 414, trip event two input 415A, glitch filter configuration input 416, buffer 417 and Trip signal logic 421 is a component of PWM 244 . The output pin 430 and the output pin 431 are the output pins of the PWM 244 . Signal 308 is sent from output pin 430 and signal 309 is sent from output pin 431 . Comparator 1 405 compares its programmed value (cmp_1) with the value in counter 403 (IEP_counter). If the value in comparator 1 405 is equal to the value in counter 403, then comparator 1 will issue a hit signal 405A.

在至少一个实施例中,当比较器1 405将命中信号405A(参见图3的306)发送到PWM244时,所述命中信号在信号308中形成上升边缘。类似地,当比较器2 409将命中信号 409A发送到PWM 244时,所述命中信号在信号309中形成上升边缘。IEP计数器403对错 误进行计数且所检测的错误数目由锯齿波形305的上升边缘表示。如同比较器1 405,比 较器2 409将其经编程周期值(cmp_0)与IEP计数器403中的值(iep_counter)进行比较。当 IEP计数器403中的错误数目达到比较器402中的值时,IEP计数器403复位到零。(如果比 较器2 409及IEP计数器403中的值为相同的,那么IEP计数器403的值复位到零。)In at least one embodiment, when comparator 1 405 sends hit signal 405A (see 306 of FIG. 3 ) to PWM 244 , the hit signal forms a rising edge in signal 308 . Similarly, when comparator 2 409 sends hit signal 409A to PWM 244, the hit signal forms a rising edge in signal 309. IEP counter 403 counts errors and the number of errors detected is represented by the rising edge of sawtooth waveform 305. Like comparator 1 405, comparator 2 409 compares its programmed period value (cmp_0) with the value in IEP counter 403 (iep_counter). When the number of errors in the IEP counter 403 reaches the value in the comparator 402, the IEP counter 403 is reset to zero. (If the values in comparator 2 409 and IEP counter 403 are the same, then the value of IEP counter 403 is reset to zero.)

在本发明的至少一个实例中,使来自PWM 244的脉冲宽度调制信号与其它周期(例如通信循环)同步可为有益的。如图4A中所展示,漂移补偿404用于将来自PWM 244的输 出信号308、309移位以使所述输出信号保持与其它组件(例如外部时钟)同相。PWM 244 具有活动模式406A及初始化模式406B;输入406选择PWM 244的操作模式406A、406B。 在初始化模式406B期间,将脉冲宽度调制输出信号272设定到高阻抗H或低阻抗L。如果 当PWM 244处于活动模式406A中时,PWM 244在输入缓冲器407处接收到命中信号 405A,那么PWM 244将输出272高阻抗信号H或低阻抗信号L或者将输出430(272)从一个 (当前)输出信号(H或L)双态切换到另一输出信号,此取决于如何对输入缓冲器407进行编 程。在一或多个实例中,可根据用户及/或ICSS 200在其中进行操作的环境的需要而容易 地对输入缓冲器407进行重新编程。跳闸信号408由跳闸信号逻辑电路421发射(当跳闸状 况由跳闸信号逻辑电路421确定时)且进入输入缓冲器407,如所展示。当PWM 244处于 活动模式406A中时,跳闸信号408将致使PWM 244的输出430为高阻抗(Z)、高(H)或低(L), 此取决于如何配置缓冲器407。跳闸信号408将否决命中信号405A。比较器-2 409具有与 比较器-1相同的功能,但是用于经否定脉冲宽度调制信号309。IEP0 241的比较器-2 409 在被批准时将命中信号409A发送到过滤器410,过滤器410取决于所述过滤器的设置,经 由信号410A而将命中信号409A输出到PWM 244的输出431。信号410A还去往门414。如 果信号410A及407A两者均为活动的,那么门414将在412处产生EIS,所述EIS将在瞬发 性波动过滤器412处触发TEIS 411,所述TEIS将致使跳闸逻辑421发布跳闸信号408,所 述跳闸信号将又使PWM(244)进入非活动状态。(互补)PWM信号PWM1及/PWM1两者均 为活动的状况为灾难性的,这是因为此将接通电力级中的高侧及低侧开关两者且在其中 产生短路。此状况称作击穿(shoot-through),由于可因电力级中的短路导致的可能损坏或 伤害而应避免所述击穿。In at least one example of the present invention, it may be beneficial to synchronize the pulse width modulated signal from PWM 244 with other cycles (eg, communication cycles). As shown in Figure 4A, drift compensation 404 is used to shift the output signals 308, 309 from the PWM 244 to keep the output signals in phase with other components, such as an external clock. The PWM 244 has an active mode 406A and an initialization mode 406B; an input 406 selects the operating modes 406A, 406B of the PWM 244 . During initialization mode 406B, the pulse width modulated output signal 272 is set to high impedance H or low impedance L. If PWM 244 receives hit signal 405A at input buffer 407 when PWM 244 is in active mode 406A, then PWM 244 will output 272 a high impedance signal H or a low impedance signal L or will output 430 ( 272 ) from a ( The current) output signal (H or L) toggles to the other output signal, depending on how the input buffer 407 is programmed. In one or more examples, input buffer 407 can be easily reprogrammed according to the needs of the user and/or the environment in which ICSS 200 operates. Trip signal 408 is transmitted by trip signal logic circuit 421 (when the trip condition is determined by trip signal logic circuit 421) and enters input buffer 407, as shown. When PWM 244 is in active mode 406A, trip signal 408 will cause output 430 of PWM 244 to be high impedance (Z), high (H) or low (L), depending on how buffer 407 is configured. Trip signal 408 will override hit signal 405A. Comparator-2 409 has the same function as Comparator-1, but for the negated pulse width modulated signal 309. Comparator-2 409 of IEP0 241, when asserted, sends hit signal 409A to filter 410, which, depending on the setting of the filter, outputs hit signal 409A to output 431 of PWM 244 via signal 410A. Signal 410A also goes to gate 414 . If both signals 410A and 407A are active, gate 414 will generate an EIS at 412 which will trigger TEIS 411 at transient filter 412 which will cause trip logic 421 to issue a trip signal 408, the trip signal will again make the PWM (244) inactive. A situation where both the (complementary) PWM signals PWM1 and /PWM1 are active is catastrophic because this would turn on and create a short circuit in both the high-side and low-side switches in the power stage. This condition is called shoot-through, which should be avoided due to possible damage or injury that can be caused by a short circuit in the power stage.

过滤器410由状态机(421)控制,如下文将更详细地解释。在过滤器410的第一状态(初 始化)期间,信号410A为初始化信号,在第二(活动)状态期间,信号410A对应于命中信号409A,且在第三(错误)状态期间,信号410A根据跳闸信号408而被设定。Filter 410 is controlled by a state machine (421), as will be explained in more detail below. During the first state (initialization) of filter 410, signal 410A is the initialization signal, during the second (active) state, signal 410A corresponds to hit signal 409A, and during the third (error) state, signal 410A is tripped according to signal 408 is set.

TEIS-1 411对应于错误状况,在所述错误状况中,来自PWM 244端子430的输出信号 308及来自PWM 244的输出信号309均为活动的(高的)。如果来自PWM 244端子430的输出信号308及来自PWM 244的输出信号309均处于活动状态中(举例来说,均为高的),那 么正由PWM 244驱动的电机的电力级可被损坏(由于短路)。门414监视PWM输出端子430 及PWM输出端子431。如果门414确定PWM输出端子430及PWM输出端子431具有相同高 输出,此意味着跳闸事件一已发生,那么在此情形中,门414将EIS-1 412A发送到瞬发性 波动过滤器412。(当信号308及信号309均为低时,并非是错误状况。)如果瞬发性波动 过滤器412确定EIS-1 412A对应于真实错误或故障状况而非瞬发性波动,那么图4A的瞬 发性波动过滤器412将TEIS-1 411发送到图4B的跳闸信号逻辑电路421。TEIS-1 411 corresponds to an error condition in which output signal 308 from PWM 244 terminal 430 and output signal 309 from PWM 244 are both active (high). If both output signal 308 from PWM 244 terminal 430 and output signal 309 from PWM 244 are in an active state (eg, both are high), the power stage of the motor being driven by PWM 244 may be damaged (due to short circuit). Gate 414 monitors PWM output terminal 430 and PWM output terminal 431 . If gate 414 determines that PWM output terminal 430 and PWM output terminal 431 have the same high output, which means that a trip event has occurred, gate 414 sends EIS-1 412A to transient ripple filter 412 in this case. (When both signal 308 and signal 309 are low, it is not an error condition.) If transient fluctuation filter 412 determines that EIS-1 412A corresponds to a true error or fault condition rather than transient fluctuation, then the transient fluctuation of FIG. 4A The burst filter 412 sends the TEIS-1 411 to the trip signal logic circuit 421 of Figure 4B.

过滤器412可经配置(举例来说)以在EIS-1 412A下降到低于阈值时忽略EIS-1412A。 举例来说,在机器人及机器环境中,如果存在极小跳闸,那么可归因于环境中的电磁干 扰(瞬发性波动),而非真实错误状况,所述真实错误状况批准关断正由PWM 244驱动的装置的电力级。再次,可通过配置瞬发性波动过滤器412(及瞬发性波动过滤器417)而调 整PWM 244对瞬发性波动的敏感度。瞬发性波动过滤器412可配置413以掩蔽(或屏蔽)比 阈值周期短的EIS-1 412A;阈值周期可被设定为10纳秒或100纳秒,以及介于10纳秒与100 纳秒之间的任何周期。配置存储器映射寄存器存储针对瞬发性波动过滤器412的阈值。 瞬发性波动过滤器417可使用配置存储器映射寄存器416来配置以掩蔽(或屏蔽)比阈值周 期短的事件指示信号(例如EIS-2 432A);阈值周期可被设定为10纳秒或100纳秒,以及介 于10纳秒与100纳秒之间的任何周期。配置存储器映射寄存器416存储针对瞬发性波动过 滤器417的阈值。Filter 412 may be configured, for example, to ignore EIS-1 412A when EIS-1 412A falls below a threshold. For example, in robotics and machine environments, if there is minimal tripping, it can be attributable to electromagnetic disturbances in the environment (momentary fluctuations), rather than a true error condition that authorizes the shutdown to be caused by Power stage for PWM 244 driven devices. Again, the sensitivity of PWM 244 to transient fluctuations can be adjusted by configuring transient fluctuation filter 412 (and transient fluctuation filter 417). Instantaneous fluctuation filter 412 may be configured 413 to mask (or mask) EIS-1 412A shorter than a threshold period; the threshold period may be set to 10 nanoseconds or 100 nanoseconds, and between 10 nanoseconds and 100 nanoseconds any period between seconds. The configuration memory mapped register stores the thresholds for the transient fluctuation filter 412 . The transient fluctuation filter 417 can be configured using the configuration memory map register 416 to mask (or mask) event indication signals shorter than a threshold period (eg, EIS-2 432A); the threshold period can be set to 10 nanoseconds or 100 nanoseconds, and any period between 10 nanoseconds and 100 nanoseconds. The configuration memory map register 416 stores the threshold value for the transient fluctuation filter 417.

在至少一个实例中,跳闸信号逻辑电路421可接收五个跳闸信号。TEIS-1 411来自瞬 发性波动过滤器412且指示PWM 244的输出端子430、431同时为高的。跳闸事件-1输入411a带有标记‘[2..0]’,这是因为三相电机由三对脉冲宽度调制信号308、309、430、 431驱动。二号跳闸事件指示信号415指示在外部组件432中存在故障。三号跳闸事件指 示信号418来自PRU 219及Σ-Δ加速器216且指示在SoC 246中存在短路,ICSS 200为所述 SoC的组件。四号跳闸事件指示信号419来自PRU 219及Σ-Δ加速器216且指示在SoC 246 中存在过电流,ICSS 200为所述SoC的组件。跳闸事件指示信号五420来自PRU 219及外 围接口217且可指示正由ICSS 200控制的装置处于不正确位置中。掩码输入427及 compare-0输入426用于配置跳闸信号逻辑电路421。In at least one example, trip signal logic 421 may receive five trip signals. TEIS-1 411 comes from the transient fluctuation filter 412 and indicates that the output terminals 430, 431 of the PWM 244 are high at the same time. The trip event-1 input 411a is marked '[2..0]' because the three-phase motor is driven by three pairs of pulse width modulated signals 308, 309, 430, 431. Trip event number two indicating signal 415 indicates a fault in external component 432 . Trip event number three indication signal 418 is from PRU 219 and sigma-delta accelerator 216 and indicates that there is a short circuit in SoC 246, of which ICSS 200 is a component. Trip event number four indication signal 419 is from PRU 219 and sigma-delta accelerator 216 and indicates that there is an overcurrent in SoC 246, of which ICSS 200 is a component. Trip event indication signal five 420 is from PRU 219 and peripheral interface 217 and may indicate that the device being controlled by ICSS 200 is in an incorrect position. Mask input 427 and compare-0 input 426 are used to configure trip signal logic circuit 421 .

图5图解说明方面根据本发明的实例的系统500。块501突出显示图2A到2C的方面。控制PRU-1 502对应于图2A的PRU 215。接口PRU-1 503对应于图2A的PRU 219。控制 PRU-2504对应于图2C的PRU 265。接口PRU-2 503对应于图2C的PRU 289。IEP计时器-1 506对应于图2B的IEP0 241。IEP计时器-2对应于图2B的IEP1 273。系统500(200)包含四 个乘法单元508。系统500包含宽边随机存取存储器与三角查找表的组合509。任务管理 器510对应于图2A的任务管理器209及223以及图2C的任务管理器269及293。中断控制器 511对应于图2B的中断控制器236。PWM块-1 512及PWM块-2 513图解说明以下事实: ICSS 200包括如同图2B的PWM 244的多个脉冲宽度调制器。Δ-Σ块514图解说明以下事 实:PRU 219及加速器216能够产生九个Σ-Δ信号(418、419)。Δ-Σ块513图解说明以下事 实:图2A的PRU 219及加速器216各自能够产生九个Σ-Δ错误信号(418、419)。Δ-Σ块514 图解说明以下事实:图2C的PRU 265及加速器286也各自能够产生九个Σ-Δ错误信号(418、 419)。编码器块516图解说明外围接口217利用三个编码器来进行电机位置测量。同样, 编码器块517图解说明外围接口287利用三个编码器来进行电机位置测量。FIG. 5 illustrates a system 500 according to an example of this disclosure. Block 501 highlights aspects of Figures 2A-2C. Controlling PRU-1 502 corresponds to PRU 215 of Figure 2A. Interface PRU-1 503 corresponds to PRU 219 of Figure 2A. Control PRU-2504 corresponds to PRU 265 of Figure 2C. Interface PRU-2 503 corresponds to PRU 289 of Figure 2C. IEP Timer-1 506 corresponds to IEP0 241 of Figure 2B. IEP Timer-2 corresponds to IEP1 273 of Figure 2B. System 500 ( 200 ) includes four multiplying units 508 . System 500 includes a combination 509 of broadside random access memory and triangular lookup table. Task manager 510 corresponds to task managers 209 and 223 of FIG. 2A and task managers 269 and 293 of FIG. 2C. The interrupt controller 511 corresponds to the interrupt controller 236 of Fig. 2B. PWM Block-1 512 and PWM Block-2 513 illustrate the fact that ICSS 200 includes multiple pulse width modulators like PWM 244 of Figure 2B. The delta-sigma block 514 illustrates the fact that the PRU 219 and accelerator 216 are capable of producing nine sigma-delta signals (418, 419). The delta-sigma block 513 illustrates the fact that the PRU 219 and accelerator 216 of Figure 2A are each capable of generating nine sigma-delta error signals (418, 419). The delta-sigma block 514 illustrates the fact that the PRU 265 and accelerator 286 of Figure 2C are also each capable of generating nine sigma-delta error signals (418, 419). The encoder block 516 illustrates that the peripheral interface 217 utilizes three encoders for motor position measurement. Likewise, the encoder block 517 illustrates that the peripheral interface 287 utilizes three encoders for motor position measurement.

图6是展示图4A的缓冲器407的可能状态的关系的状态图600。在通电后,缓冲器407 即刻进入初始化状态601中。当缓冲器407处于初始化状态601中时,缓冲器407的输出407A可为高阻抗(Z)、高(H)或低(L)。在缓冲器407的初始化601完成之后,缓冲器407可 进入活动(操作)状态602。当缓冲器407处于活动状态602中时,如果缓冲器407接收到命 中信号405A,那么命中信号405A将致使缓冲器407的输出407A为高(H)、低(L),或命中 信号405A将致使输出信号407A的值被双态切换(如果输出407A为高,那么输出407A将切 换到低;如果输出407A为低,那么输出407A将切换到高)。无论缓冲器407是处于初始化 状态601中还是处于活动状态602中,当缓冲器407接收到跳闸信号408时,所述缓冲器将 被置于安全模式603中。在安全模式中,取决于如何对缓冲器407进行编程,输出信号407A 的值将为高阻抗(Z)、高(H)或低(L)。再次注意,可基于用户的需要而重新配置缓冲器407。6 is a state diagram 600 showing the relationship of the possible states of the buffer 407 of FIG. 4A. Upon power up, buffer 407 enters initialization state 601 . When the buffer 407 is in the initialization state 601, the output 407A of the buffer 407 may be high impedance (Z), high (H), or low (L). After initialization 601 of buffer 407 is complete, buffer 407 may enter an active (operational) state 602. When buffer 407 is in active state 602, if buffer 407 receives hit signal 405A, then hit signal 405A will cause output 407A of buffer 407 to be high (H), low (L), or hit signal 405A will cause The value of output signal 407A is toggled (if output 407A is high then output 407A will toggle low; if output 407A is low then output 407A will toggle high). Regardless of whether the buffer 407 is in the initialization state 601 or the active state 602, when the buffer 407 receives the trip signal 408, the buffer will be placed in the safe mode 603. In safe mode, depending on how buffer 407 is programmed, the value of output signal 407A will be high impedance (Z), high (H), or low (L). Note again that buffer 407 can be reconfigured based on the needs of the user.

图7为根据本发明的实例的状态机700(421)的框图。在图7中,块701表示状态机(421) 的输入(411到420),跳闸输入由状态机700分析且致使状态机700将跳闸信号703发送到输 入-输出端口702,所述输入-输出端口包含缓冲器407以及PWM 244的输出端子430。块704 图解说明状态机700的可配置逻辑,所述可配置逻辑确定状态机700将如何取决于状态机 700是处于单次模式中还是逐循环模式中而处理现有跳闸信号703,如先前所描述。7 is a block diagram of a state machine 700 (421) according to an example of the present invention. In Figure 7, block 701 represents the inputs (411 to 420) of the state machine (421), the trip input is analyzed by the state machine 700 and causes the state machine 700 to send a trip signal 703 to the input-output port 702, which input-output The port includes buffer 407 and output terminal 430 of PWM 244 . Block 704 illustrates the configurable logic of state machine 700 that determines how state machine 700 will process existing trip signals 703 depending on whether state machine 700 is in one-shot mode or cycle-by-cycle mode, as previously described. describe.

尽管贯穿以上揭示内容主要使用SoC作为实例性类型的芯片,但将了解,本文中所描述的技术可应用于设计其它类型的IC芯片。举例来说,此类IC芯片可包含基于x86、 RISC或其它架构的通用或专用(ASIC)处理器、现场可编程门阵列(FPGA)、图形处理器 (GPU)、数字信号处理器(DSP)、单芯片系统(SoC)处理器、微控制器及/或相关芯片集。Although an SoC is primarily used as an example type of chip throughout the above disclosure, it will be appreciated that the techniques described herein may be applied to design other types of IC chips. Such IC chips may include, for example, general-purpose or special-purpose (ASIC) processors, field programmable gate arrays (FPGAs), graphics processors (GPUs), digital signal processors (DSPs) based on x86, RISC, or other architectures , System-on-a-Chip (SoC) processors, microcontrollers and/or related chipsets.

贯穿本说明及权利要求书使用特定术语来指代特定系统组件。如所属领域的技术人 员应了解,不同部分可以不同名称指代一组件。本文件并不打算区别在名称上不同但在功能上相同的组件。在本发明及权利要求书中,术语“包含(including)”及“包括(comprising)”是以开放式方式使用的,且因此应解释为意指“包含但不限于…”。而且, 术语“耦合(couple或couples)”打算意指间接或直接有线或无线连接。因此,如果第一 装置耦合到第二装置,那么所述连接可通过直接连接或通过经由其它装置及连接的间接 连接。叙述“基于”打算意指“至少部分地基于”。因此,如果X基于Y,那么X可依据 Y及任何数目个其它因子。Throughout this specification and the claims, specific terms are used to refer to specific system components. As will be appreciated by those skilled in the art, different parts may refer to a component by different names. This document does not intend to distinguish between components that differ in name but are functionally identical. In this disclosure and the claims, the terms "including" and "comprising" are used in an open-ended fashion, and should therefore be interpreted to mean "including but not limited to...". Moreover, the terms "couples or couples" are intended to mean indirect or direct wired or wireless connections. Thus, if a first device is coupled to a second device, the connection can be through a direct connection or through an indirect connection through other devices and connections. The statement "based on" is intended to mean "based at least in part on." Thus, if X is based on Y, then X can be based on Y and any number of other factors.

以上论述意欲说明本发明的原理及各种实施方式。一旦完全了解以上揭示内容,所 属领域的技术人员便将明了众多变化及修改。打算将所附权利要求书解释为囊括所有此 类变化及修改。The foregoing discussion is intended to explain the principles and various embodiments of the present invention. Numerous changes and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. The appended claims are intended to be construed to cover all such changes and modifications.

Claims (20)

1.一种控制系统,其包括:1. A control system comprising: 电力级;power level; 脉冲宽度调制器,其耦合到所述电力级,所述脉冲宽度调制器经配置以在所述脉冲宽度调制器接收到跳闸信号时切断所述电力级;a pulse width modulator coupled to the power stage, the pulse width modulator configured to switch off the power stage when the pulse width modulator receives a trip signal; 处理器,其耦合到所述脉冲宽度调制器;a processor coupled to the pulse width modulator; 逻辑电路,其耦合到所述脉冲宽度调制器及所述处理器,所述逻辑电路包括:a logic circuit coupled to the pulse width modulator and the processor, the logic circuit comprising: 第一接口,其包括多个输入,其中所述多个输入包括:A first interface that includes a plurality of inputs, wherein the plurality of inputs include: 第一输入,其经配置以接收源自于所述脉冲宽度调制器处的第一跳闸事件指示信号;a first input configured to receive a first trip event indication signal derived from the pulse width modulator; 第二输入,其可配置以接收源自于电子装置处的第二跳闸事件指示信号,所述电子装置在连接端口处以可释放方式耦合到所述第二输入;及a second input configurable to receive a second trip event indication signal originating at an electronic device releasably coupled to the second input at a connection port; and 第三输入,其经配置以接收来自所述处理器的第三跳闸事件指示信号;以及a third input configured to receive a third trip event indication signal from the processor; and 第二接口,其包括:The second interface, which includes: 第一选择输入,其经配置以接收第一选择;及a first selection input configured to receive the first selection; and 第二选择输入,其经配置以接收第二选择,a second selection input configured to receive the second selection, 其中所述逻辑电路经配置以在所述逻辑电路接收到所述三个跳闸事件指示信号中的至少一者时将所述跳闸信号发送到所述脉冲宽度调制器。wherein the logic circuit is configured to send the trip signal to the pulse width modulator when the logic circuit receives at least one of the three trip event indication signals. 2.根据权利要求1所述的控制系统,其中所述多个输入进一步包括:2. The control system of claim 1, wherein the plurality of inputs further comprises: 第四输入,其经配置以接收来自所述处理器的第四跳闸事件指示信号;及a fourth input configured to receive a fourth trip event indication signal from the processor; and 第五输入,其经配置以接收来自所述处理器的第五跳闸事件指示信号。A fifth input configured to receive a fifth trip event indication signal from the processor. 3.根据权利要求2所述的控制系统,其中:3. The control system of claim 2, wherein: 所述第三跳闸事件指示信号对应于由所述处理器确定的短路状况;且the third trip event indication signal corresponds to a short circuit condition determined by the processor; and 所述第四跳闸事件指示信号对应于由所述处理器确定的过电流状况。The fourth trip event indication signal corresponds to an overcurrent condition determined by the processor. 4.根据权利要求3所述的控制系统,其中所述第五跳闸事件指示信号对应于由所述处理器确定的位置错误状况,所述位置错误状况指示所述电力级处于不正确位置中。4. The control system of claim 3, wherein the fifth trip event indication signal corresponds to a position error condition determined by the processor, the position error condition indicating that the power stage is in an incorrect position. 5.根据权利要求1所述的控制系统,其进一步包括耦合于所述脉冲宽度调制器与所述第一输入之间的第一过滤器,其中所述第一过滤器经配置以:5. The control system of claim 1, further comprising a first filter coupled between the pulse width modulator and the first input, wherein the first filter is configured to: 接收来自所述脉冲宽度调制器的第一错误信号,所述第一错误信号具有持续时间;receiving a first error signal from the pulse width modulator, the first error signal having a duration; 确定所述第一跳闸事件指示信号的所述持续时间超过第一阈值;determining that the duration of the first trip event indication signal exceeds a first threshold; 响应于所述第一跳闸事件指示信号的所述持续时间超过所述第一阈值的所述确定而将所述第一跳闸事件指示信号发送到所述逻辑电路。The first trip event indicator signal is sent to the logic circuit in response to the determination that the duration of the first trip event indicator signal exceeds the first threshold. 6.根据权利要求5所述的控制系统,其中所述脉冲宽度调制器使用三对脉冲宽度调制端子来驱动所述电力级,且所述第一错误信号指示其中所述三对脉冲宽度调制端子中的至少一对的两个端子同时发射高信号的错误状况。6. The control system of claim 5, wherein the pulse width modulator uses three pairs of pulse width modulation terminals to drive the power stage, and the first error signal indicates wherein the three pairs of pulse width modulation terminals An error condition in which at least one pair of two terminals transmits a high signal at the same time. 7.根据权利要求6所述的控制系统,其进一步包括耦合于所述连接端口与所述第二输入之间的第二过滤器,其中所述第二过滤器经配置以:7. The control system of claim 6, further comprising a second filter coupled between the connection port and the second input, wherein the second filter is configured to: 接收来自连接端口的第二错误信号,所述第二错误信号具有持续时间;receiving a second error signal from the connection port, the second error signal having a duration; 确定所述第二跳闸事件指示信号的所述持续时间超过第二阈值;determining that the duration of the second trip event indication signal exceeds a second threshold; 响应于所述第二跳闸事件指示信号超过所述第二阈值的所述确定而将所述第二跳闸事件指示信号发送到所述逻辑电路。The second trip event indication signal is sent to the logic circuit in response to the determination that the second trip event indication signal exceeds the second threshold. 8.根据权利要求7所述的控制系统,其中所述第一阈值为大于或等于10纳秒且小于或等于100纳秒的第一时间长度,且所述第二阈值为大于或等于10纳秒且小于或等于100纳秒的第二时间长度。8. The control system of claim 7, wherein the first threshold is a first length of time greater than or equal to 10 nanoseconds and less than or equal to 100 nanoseconds, and the second threshold is greater than or equal to 10 nanoseconds second and less than or equal to 100 nanoseconds for a second length of time. 9.根据权利要求1所述的控制系统,其中所述控制系统为单芯片系统的组件。9. The control system of claim 1, wherein the control system is a component of a system-on-a-chip. 10.一种耦合到脉冲宽度调制器的逻辑电路,所述逻辑电路经配置以接收多个输入,所述多个输入包括:10. A logic circuit coupled to a pulse width modulator, the logic circuit configured to receive a plurality of inputs, the plurality of inputs comprising: 第一输入,其对应于源自于所述脉冲宽度调制器处的第一信号;a first input corresponding to a first signal originating at the pulse width modulator; 第二输入,其对应于源自于电子装置处的第二信号;及a second input corresponding to a second signal originating at the electronic device; and 第三输入,其对应于源自于一或多个处理器处的第三信号;a third input corresponding to a third signal originating at the one or more processors; 其中所述逻辑电路经配置以可控制地选择所述多个输入中的哪一者来输出到脉冲宽度调制器作为跳闸信号以致使所述脉冲宽度调制器关闭由所述脉冲宽度调制器驱动的电力级。wherein the logic circuit is configured to controllably select which of the plurality of inputs to output to a pulse width modulator as a trip signal to cause the pulse width modulator to turn off a signal driven by the pulse width modulator power level. 11.根据权利要求10所述的逻辑电路,其中所述多个输入进一步包括:11. The logic circuit of claim 10, wherein the plurality of inputs further comprises: 第四输入,其对应于源自于所述处理器处的第四信号;及a fourth input corresponding to a fourth signal originating at the processor; and 第五输入,其对应于源自于所述处理器处的第五信号。A fifth input corresponding to a fifth signal originating at the processor. 12.根据权利要求11所述的逻辑电路,其中:12. The logic circuit of claim 11, wherein: 所述第三信号对应于由所述处理器确定的短路状况;且the third signal corresponds to a short circuit condition determined by the processor; and 所述第四信号对应于由所述处理器确定的过电流状况。The fourth signal corresponds to an overcurrent condition determined by the processor. 13.根据权利要求12所述的逻辑电路,其中所述第五信号对应于由所述处理器确定的位置错误状况,所述位置错误状况指示所述电力级处于不正确位置中。13. The logic circuit of claim 12, wherein the fifth signal corresponds to a position error condition determined by the processor, the position error condition indicating that the power stage is in an incorrect position. 14.一种用于管理用于脉冲宽度调制器的跳闸信号的方法,所述方法包括:14. A method for managing a trip signal for a pulse width modulator, the method comprising: 使用脉冲宽度调制器来驱动电力级;Use a pulse width modulator to drive the power stage; 在逻辑电路处接收第一输入,所述第一输入对应于源自于所述脉冲宽度调制器处的第一跳闸事件指示信号;receiving a first input at a logic circuit, the first input corresponding to a first trip event indication signal originating at the pulse width modulator; 在所述逻辑电路处接收第二输入,所述第二输入对应于源自于电子装置处的第二跳闸事件指示信号,所述电子装置在端口处以可释放方式耦合到所述逻辑电路;receiving a second input at the logic circuit, the second input corresponding to a second trip event indication signal originating at an electronic device releasably coupled to the logic circuit at a port; 接收第三输入,所述第三输入对应于来自处理器的第三跳闸事件指示信号;receiving a third input, the third input corresponding to a third trip event indication signal from the processor; 由所述逻辑电路选择哪一输入来输出到所述脉冲宽度调制器作为跳闸信号以致使所述脉冲宽度调制器关闭由所述脉冲宽度调制器驱动的电力级,其中选择包括从包括所述第一输入、所述第二输入及所述第三输入的多个输入进行选择;及Which input is selected by the logic circuit to output to the pulse width modulator as a trip signal to cause the pulse width modulator to turn off a power stage driven by the pulse width modulator, wherein selecting includes selecting from an input, a plurality of inputs of the second input and the third input to select; and 从所述逻辑电路输出所述所选择输入。The selected input is output from the logic circuit. 15.根据权利要求14所述的方法,所述方法进一步包括:15. The method of claim 14, further comprising: 在所述逻辑电路处接收第四输入,所述第四输入对应于来自所述处理器的第四跳闸事件指示信号;及receiving a fourth input at the logic circuit, the fourth input corresponding to a fourth trip event indication signal from the processor; and 在所述逻辑电路处接收第五输入,所述第五输入经配置以接收来自所述处理器的第五跳闸事件指示信号,receiving a fifth input at the logic circuit, the fifth input configured to receive a fifth trip event indication signal from the processor, 其中在所述逻辑电路处选择哪一输入来输出到所述脉冲宽度调制器作为跳闸信号以致使所述脉冲宽度调制器关闭由所述脉冲宽度调制器驱动的电力级进一步包括从多个输入进行选择,其中所述多个输入包括所述第一输入、所述第二输入、所述第三输入及所述第四输入。wherein selecting at the logic circuit which input to output to the pulse width modulator as a trip signal to cause the pulse width modulator to turn off the power stage driven by the pulse width modulator further comprises performing from a plurality of inputs Select, wherein the plurality of inputs include the first input, the second input, the third input, and the fourth input. 16.根据权利要求15所述的方法,其进一步包括:16. The method of claim 15, further comprising: 使用所述处理器来确定短路状况存在;及using the processor to determine that a short circuit condition exists; and 使用所述处理器来确定过电流状况存在,using the processor to determine that an overcurrent condition exists, 其中所述第三输入对应于由所述处理器确定的所述短路状况;且wherein the third input corresponds to the short circuit condition determined by the processor; and 所述第四输入对应于由所述处理器确定的所述过电流状况。The fourth input corresponds to the overcurrent condition determined by the processor. 17.根据权利要求16所述的方法,其进一步包括:17. The method of claim 16, further comprising: 使用所述处理器来确定位置错误状况,且using the processor to determine a position error condition, and 其中所述第五跳闸事件指示信号对应于由所述处理器确定的所述位置错误状况,所述位置错误状况指示所述电力级处于不正确位置中。wherein the fifth trip event indication signal corresponds to the position error condition determined by the processor, the position error condition indicating that the power stage is in an incorrect position. 18.根据权利要求14所述的方法,其进一步包括:18. The method of claim 14, further comprising: 在第一过滤器处接收来自所述脉冲宽度调制器的第一错误信号,所述第一错误信号具有持续时间;receiving a first error signal from the pulse width modulator at a first filter, the first error signal having a duration; 在所述过滤器处确定所述第一错误信号的所述持续时间超过第一阈值;determining, at the filter, that the duration of the first error signal exceeds a first threshold; 响应于所述第一跳闸事件指示信号的所述持续时间超过所述第一阈值的所述确定而将所述第一错误信号从所述第一过滤器发送到所述逻辑电路。The first error signal is sent from the first filter to the logic circuit in response to the determination that the duration of the first trip event indication signal exceeds the first threshold. 19.根据权利要求18所述的方法,其中驱动所述电力级进一步包括使用三对脉冲宽度调制端子来驱动所述电力级,且其中所述第一错误信号指示其中所述三对脉冲宽度调制端子中的至少一对的两个端子同时发射高信号的错误状况。19. The method of claim 18, wherein driving the power stage further comprises driving the power stage using three pairs of pulse width modulation terminals, and wherein the first error signal indicates wherein the three pairs of pulse width modulation An error condition in which two terminals of at least one pair of terminals emit a high signal at the same time. 20.根据权利要求17所述的方法,其进一步包括:20. The method of claim 17, further comprising: 在第二过滤器处接收来自所述端口的第二跳闸事件指示信号,所述第二跳闸事件指示信号具有持续时间;receiving a second trip event indication signal from the port at a second filter, the second trip event indication signal having a duration; 在所述第二过滤器处确定所述第二跳闸事件指示信号的所述持续时间超过第二阈值;及determining, at the second filter, that the duration of the second trip event indication signal exceeds a second threshold; and 响应于所述第二跳闸事件指示信号超过所述第二阈值的所述确定而从逻辑电路到所述脉冲宽度调制器将所述第二跳闸事件指示信号发送到所述逻辑电路。The second trip event indication signal is sent to the logic circuit from the logic circuit to the pulse width modulator in response to the determination that the second trip event indication signal exceeds the second threshold.
CN201911380322.2A 2018-12-30 2019-12-27 Managing pulse width modulated trip signals from multiple sources Active CN111552205B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411498939.5A CN119376307A (en) 2018-12-30 2019-12-27 Manages pulse width modulated trip signals from multiple sources

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862786477P 2018-12-30 2018-12-30
US62/786,477 2018-12-30
US16/424,862 2019-05-29
US16/424,862 US10812060B2 (en) 2018-05-30 2019-05-29 Managing pulse-width modulation trip signals from multiple sources

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202411498939.5A Division CN119376307A (en) 2018-12-30 2019-12-27 Manages pulse width modulated trip signals from multiple sources

Publications (2)

Publication Number Publication Date
CN111552205A true CN111552205A (en) 2020-08-18
CN111552205B CN111552205B (en) 2024-11-01

Family

ID=72002877

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911380322.2A Active CN111552205B (en) 2018-12-30 2019-12-27 Managing pulse width modulated trip signals from multiple sources
CN202411498939.5A Pending CN119376307A (en) 2018-12-30 2019-12-27 Manages pulse width modulated trip signals from multiple sources

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202411498939.5A Pending CN119376307A (en) 2018-12-30 2019-12-27 Manages pulse width modulated trip signals from multiple sources

Country Status (1)

Country Link
CN (2) CN111552205B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835465A (en) * 2021-09-28 2021-12-24 北京维普无限智能技术有限公司 System and method for generating PWM signal and corresponding electronic equipment
CN113934173A (en) * 2021-10-22 2022-01-14 重庆邮电大学 Group Consistency Control Method of Multi-Agent System Based on Impulse Control

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996646A (en) * 1988-03-31 1991-02-26 Square D Company Microprocessor-controlled circuit breaker and system
US5126944A (en) * 1988-11-17 1992-06-30 Nec Corporation Data processing apparatus for producing in sequence pulses having variable width at output ports
US20030074498A1 (en) * 2001-10-16 2003-04-17 Gareis Ronald E. Method and circuitry for a programmable controller system
US20100073832A1 (en) * 2007-04-13 2010-03-25 Tae Young Chung Power cutoff device automatically operated upon occurrence of spark on electric wire
US20100156493A1 (en) * 2008-12-18 2010-06-24 Silicon Laboratories, Inc. Circuit device to produce an output signal including dither
KR20100138004A (en) * 2009-06-24 2010-12-31 대동전자(주) Circuit breaker improves the breaker break time when instantaneous current occurs
CN102104242A (en) * 2009-12-17 2011-06-22 施耐德电器工业公司 Differential protection device and method thereof, and electric device with the same
CN102243480A (en) * 2010-05-10 2011-11-16 三菱电机株式会社 Electronic control apparatus
CN102460947A (en) * 2009-04-04 2012-05-16 戴森技术有限公司 Current controller for an electric machine
CN202305715U (en) * 2011-08-13 2012-07-04 武汉长海电气科技开发有限公司 Rapid failure identification device
CN202840920U (en) * 2012-04-11 2013-03-27 深圳市英威腾交通技术有限公司 IGBT (insulated gate bipolar transistor) drive circuit
US20130335045A1 (en) * 2011-02-25 2013-12-19 University Of Electronic Science And Technology Of China Power converter with the function of digital error correction

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996646A (en) * 1988-03-31 1991-02-26 Square D Company Microprocessor-controlled circuit breaker and system
US5126944A (en) * 1988-11-17 1992-06-30 Nec Corporation Data processing apparatus for producing in sequence pulses having variable width at output ports
US20030074498A1 (en) * 2001-10-16 2003-04-17 Gareis Ronald E. Method and circuitry for a programmable controller system
US20100073832A1 (en) * 2007-04-13 2010-03-25 Tae Young Chung Power cutoff device automatically operated upon occurrence of spark on electric wire
US20100156493A1 (en) * 2008-12-18 2010-06-24 Silicon Laboratories, Inc. Circuit device to produce an output signal including dither
CN102460947A (en) * 2009-04-04 2012-05-16 戴森技术有限公司 Current controller for an electric machine
KR20100138004A (en) * 2009-06-24 2010-12-31 대동전자(주) Circuit breaker improves the breaker break time when instantaneous current occurs
CN102104242A (en) * 2009-12-17 2011-06-22 施耐德电器工业公司 Differential protection device and method thereof, and electric device with the same
CN102243480A (en) * 2010-05-10 2011-11-16 三菱电机株式会社 Electronic control apparatus
US20130335045A1 (en) * 2011-02-25 2013-12-19 University Of Electronic Science And Technology Of China Power converter with the function of digital error correction
CN202305715U (en) * 2011-08-13 2012-07-04 武汉长海电气科技开发有限公司 Rapid failure identification device
CN202840920U (en) * 2012-04-11 2013-03-27 深圳市英威腾交通技术有限公司 IGBT (insulated gate bipolar transistor) drive circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835465A (en) * 2021-09-28 2021-12-24 北京维普无限智能技术有限公司 System and method for generating PWM signal and corresponding electronic equipment
CN113835465B (en) * 2021-09-28 2024-02-02 北京维普无限智能技术有限公司 System and method for generating PWM (pulse Width modulation) signals and corresponding electronic equipment
CN113934173A (en) * 2021-10-22 2022-01-14 重庆邮电大学 Group Consistency Control Method of Multi-Agent System Based on Impulse Control

Also Published As

Publication number Publication date
CN119376307A (en) 2025-01-28
CN111552205B (en) 2024-11-01

Similar Documents

Publication Publication Date Title
US11290099B2 (en) Managing pulse-width modulation trip signals from multiple sources
US11704154B2 (en) High-speed broadside communications and control system
US10848442B2 (en) Heterogeneous packet-based transport
US7620057B1 (en) Cache line replacement with zero latency
US20220286412A1 (en) Real-time, time aware, dynamic, context aware and reconfigurable ethernet packet classification
US20100312941A1 (en) Network interface device with flow-oriented bus interface
US11579877B2 (en) Broadside random access memory for low cycle memory access and additional functions
CN111552205B (en) Managing pulse width modulated trip signals from multiple sources
CN111385222B (en) Real-time, time-aware, dynamic, context-aware and reconfigurable Ethernet packet classification
US20230388251A1 (en) Tightly-Coupled, Loosely Connected Heterogeneous Packet Based Transport
CN111382091A (en) Broadside random access memory for low cycle memory access and additional functions
Siqi Design of ARINC664 switch based on FPGA
Haynie et al. IBM system z10 open systems adapter ethernet data router
Lian et al. Design and FPGA verification of a novel reliable real-time data transfer system
Dufey et al. Event building in an intelligent network interface card for the LHCb DAQ system
CN118250162A (en) Information processing method and related equipment

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
GR01 Patent grant
GR01 Patent grant