CN111552205A - Manage PWM trip signals from multiple sources - Google Patents
Manage PWM trip signals from multiple sources Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/08—Duration or width modulation ; Duty cycle modulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
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)的操作期间在需要进行关闭的真实错误与可忽略的瞬发性波动之间进行区分。
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).
Description
相关申请案交叉参考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
具体实施方式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,
本发明的至少一个实例为将多个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.,
本发明内的至少一个实例是一种系统,所述系统包含位置反馈接口、电机电流及电 压接口、脉冲宽度调制器(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
如图1中所图解说明,将通过接口电路104(其为实时接口)而进入的数据传递到FIFO 接收电路105。当数据通过接收电路105时,将分类器108应用于此传入数据。将过滤器106、速率计数器107以及分类引擎108的组合逻辑应用于所接收数据包。As illustrated in FIG. 1 , incoming data through
管理数据输入/输出(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)
如所述,系统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,
MDIO电路102根据开放系统互连(OSI)模型而控制与系统的外部物理层(未展示)的 交互。物理层将链路层装置(例如媒体存取控制器(MAC)(参见图2A的206(266)及220(290),以及图2C的266及290))连接到主机(例如,246)装置/系统的物理媒体,子系统200为所述主机装置/系统的组件或子系统200耦合到所述主机装置/系统。物理层包含物理编码子层(PCS)功能性及物理媒体相依(PMD)层功能性两者。存在在SoC 130外部的收发器,系统100嵌入于所述收发器中。MDIO电路102配置一或多个外部物理层(未展示)且使 ICSS的等待时间最小化。The
每个中央处理单元(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,
在至少一个实例性子系统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
传输电路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字节宽度)。
接口电路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签名且在计算所述签名之后,将结果与附加到 包的签名进行比较以检验所述包的完整性。
系统100还包含中断控制器(INTC)123。INTC 123将CPU(例如,AUX_PRU 112、PRU116)级事件聚合到主机(例如,130、146)事件。举例来说,可存在十个主机事件。INTC 123确定应将一组给定从属级事件聚合、映射并分类到单个实体。单个实体可被路由到PRU 116或任务管理器电路121且由所述PRU或任务管理器电路使用以引起主机(130、146)的 事件。在那种意义上,INTC 123既为聚合器又为路由器。The
经增强/外部捕获(eCAP)电路124为计时器,所述计时器使得PRU 116能够基于与工 业以太网外围(IEP)电路122的时间匹配而产生输出响应,且捕获系统100外部的事件的事 件时间。Enhanced/External Capture (eCAP)
IEP电路122具有两组独立计时器,所述两组独立计时器实现针对从系统100的数据 传出的时间同步、时间戳记及服务质量。存在与IEP电路122相关联的数个独立捕获电路。 举例来说,如果存在接收(RX)起始帧事件且在特定时间将所述帧推送到主机为重要的, 那么IEP电路122可对所述事件进行时间戳记以指示所述特定时间。如果事件是用于出口 电路118的时间触发的发送,且如果期望在精确时间(在2纳秒到3纳秒内)传送包,那么独 立于PRU 116而在计时器期满时开始进行包的传输。因此,包的传送有效地与PRU 116解耦。The
除了所描述的计时器之外,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
如所述,任务管理器电路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,
BS-RAM 117的方面为其使得PRU 116能够在系统100可将上下文及变量保存于BS-RAM 117处的同时窥探所述包,且可在不具有开销成本的情况下对所述上下文及变 量执行操作,这是因为不需要两次移动所述包的数据。在本发明的至少一个实例中,可 将传入数据包移动到存储位置且同时对数据进行操作。此不同于将传入包移动到处理电 路且随后移动到存储位置的常规系统。系统100因此执行单个操作,而常规系统将执行 两个操作。An aspect of the BS-
如所述,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。
图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
子系统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’为同义 的且可互换的,除非另有指示或由其出现的上下文指定,但其功能及配置可不同。
图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加载及执行。在至少一个实例中,软件程序的编译过程可将以 编程语言写入的程序代码变换成另一计算机语言,使得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
在编译过程之后,可接着将经编码指令作为计算机可执行指令或过程步骤而从存储 装置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
图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
如所展示,子系统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,
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-
尽管出于解释目的将外围装置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
任务管理器电路209为AUX_PRU_0 205的关键部分。任务管理器电路可基于检测到196个事件中的哪一事件而提示AUX_PRU_0 205执行给定功能。Task manager circuit 209 is a critical part of
存在可使数据移动到子系统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
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)。
内部CBASS 248为4字节宽。在至少一个实例中,为存取内部CBASS 248,必须执行加载及存储操作,其为高等待时间低吞吐量操作。然而,使用紧密耦合且更直接的传送 电路213(283)减少等待时间及开销,同时还由于传送电路213(283)的宽边宽度而提供较 大带宽。因此,传送电路213(283)可充当从寄存器文件到子系统200存储器(例如,233) 的直接映射。中间存储器位置被绕过且传送电路213(283)直接去往寄存器文件,此减少 等待时间。
如所述,如同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 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
外围接口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
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)
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)。在一或多个实例中,这些所识别接口实时地执行。
以太网接口电路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.
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上运行的软件确定源到输出目的地的映射。
如所述,子系统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,
在至少一个实例中,子系统200具有不同操作模式。AUX_PRU_0 205及PRU_0 219各自具有存储器映射的寄存器。主机246将信息写入到配置管理器电路238。举例来说, 如果主机246需要启用RGMII模式,那么配置管理器238将启用RGMII 229(299),所述 RGMII为配置寄存器的实例。In at least one instance,
通用异步接收器-传输器(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
如图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
组件236、237、238、239、241A、241B及244各自连接到特定SoC线。也就是说, 其各自与主机246的IO进行通信。
图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
如实例性子系统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
子系统200还可包含可以通信方式耦合到处理器205的通信接口225(295),例如可包 含有线通信组件及/或无线通信组件的网络通信电路。网络通信电路225可利用多种专有 或标准化网络协议(例如以太网、TCP/IP,仅举许多协议中的几例)中的任一者来实现装置之间的通信。网络通信电路还可包括一或多个收发器,所述一或多个收发器利用以太网、电力线通信Wi-Fi、蜂窝式及/或其它通信方法。
如所述,在本发明的实例中,以实时确定性方式处理数据包,此不同于常规以太网或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
当在层级一接收层(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
在本发明的实例中,桥接延迟是在当数据包到达端口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
本发明的实例涉及在实时系统中操作的通信桥接件。通信桥接件为其中输入数据与 输出数据以确定性方式交换的实时控制系统。本发明的实例包含控制装置(例如,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-
在至少一个实例中,分类器232通过首先存取包中的位置(例如包的以太网媒体存取 控制(MAC)地址)而审查包内容。装置的MAC地址为被指派给网络接口控制器(NIC)以用于网络分段的数据链路层处的通信的唯一识别符。MAC地址用作用于大多数IEEE 802 网络技术(包含以太网、Wi-Fi及蓝牙)的网络地址。在至少一个实例中,MAC地址用于子 系统200的媒体存取控制协议子层中。根据本发明,MAC地址可辨识为由连字符、冒号 或使用其它符号系统分离的六组的两个十六进制数字。In at least one example,
可由过滤器106基于数据包的经指定递送地址(未展示)而对所述数据包进行过滤。数 据包包含六字节源及目的地地址。在至少一个实例中,接口电路225(295)基于所述信息 而过滤(106)包。举例来说,接口电路225(295)可读取包的网络地址且确定是接受所述包、 转发所述包还是丢弃所述包。在至少一个实例中,接受-转发-丢弃决策可基于所述包的 MAC标头。在至少一个实例中,在做出接受-转发-丢弃确定时,接口电路可进一步进入到包中、到达有效负载,且基于有效负载中的名称而进行过滤106确定。在SoC 200的一 些实施方案中,在有效负载中连接装置名称,且接着内容过滤器106查看有效负载。The packets may be filtered by
在本发明的实施方案中,数据包将通常含有多个数据报。此数据报多重性需要将包 或其一部分传递到多个地址。换句话说,可在以太网包中存在多个子包。由于子包可各自具有其自身的地址,因此必须剖析地址。在其中在一个包中存在多个地址的情形中, 子系统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,
由于主装置与从属装置(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
如所述,实时地完成(包)接收处理。在本发明的实施方案中,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,
如所述,多个过滤器可经组合以使接口电路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,
在本发明的实例中,多个硬件过滤器可与速率过滤器107组合,使得还可根据速率而对数据包进行归类。可渐增地执行所使用的过滤器106、107及硬件220(290)操作。可 使用内容、时间与速率(全部为实时地)的任何组合对包进行过滤。可针对包多次重新起 始给定过滤器106。过滤器106可具有起始地址,至少部分地基于给定包/子包的内容及/ 或内容类型而确定所述起始地址的值。In an example of the present invention, multiple hardware filters may be combined with
在本发明的至少一个实例中,接口电路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
本发明中所描述的架构的至少一个技术益处是所述架构使得能够在单微秒内完成 切换/转发确定,即时对于具有多达十二微秒的长度的包。接口电路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
如所述,本发明的方面及ICSS 200的组件涉及电机控制。可使用应用位点通信来传 递电机控制信号。在工业环境中,装置及组件可根据一或多个以太网协议而在彼此之间传递输入/输出数据。在电机驱动及电机控制的情形中,总是存在此输入/输出数据的应 用侧。电机可由多个经脉冲宽度调制信号驱动。脉冲宽度调制用于控制如机器人、机器 工具及输送带等背景中的电机应用。对如同这些的机械装置的恰当脉冲宽度调制为在维 持如工厂及工作位点等地方中的安全操作时的重要因素。安全的一个方面为装置错误减 轻。安全的另一方面为装置错误最小化。减轻及最小化装置错误的一种方式是了解过去 错误的原因及影响。本发明的一或多个实例针对于识别及跟踪错误(有时称作‘瞬发性波 动’)的源且跟踪瞬发性波动何时发生。本发明的实例包含用于在存在瞬发性波动的情况 下安全地控制脉冲宽度调制驱动的装置(例如电机)、借此减轻可由此类瞬发性波动引起 的任何伤害的系统及方法。As noted, aspects of the present invention and components of
如所述,脉冲宽度调制器(例如图2B中的PWM 244)控制电机。在本发明的实例中,PWM通过使用经脉冲宽度调制信号而控制电机来以特定速度及特定扭矩驱动电机。在工 业应用中,通常存在六个脉冲宽度调制信号用于驱动三相电机器(例如三相电机)。另外, 存在称作跳闸信号的信号,将所述信号发送到PWM以致使PWM关闭电机电力级。如先 前所解释,将脉冲宽度调制信号转变为高电力信号以驱动高电力电机。跳闸信号可从控 制单元到达电力单元,例如PWM。As described, a pulse width modulator (eg,
用以增强涉及工业应用(例如机器人、服务器驱动、计算机数字控制(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
存在其中可有必要停止电力产生硬件的许多状况。跳闸信号指示此状况存在。举例 来说,可在电力级自身中存在故障状况,例如短路。可发出跳闸信号,这是因为组件中的温度为过高温度,或存在过多电流流动。可发出跳闸信号,这是因为一或多个电机处 于不正确位置中,或因为电机正以错误速度运行。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-
在本发明的至少一个实例中,过滤器状态机接收到指示一或多个事件已发生的信号。过滤器状态机可具有静态跳闸配置或动态跳闸配置。以静态配置(或模式)进行操作 的过滤器将在特定事件(例如瞬发性波动)被检测到时发布跳闸信号。以动态模式进行操 作的过滤器状态机可检测事件的型式。举例来说,如果在特定周期中多次(取决于错误的 严重性)检测到同一错误,那么动态配置的过滤器可发布跳闸信号。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
状态机可经编程使得检测及跳闸输出设置随着电机控制循环的周期的循环时间而 复位。在此逐循环模式中,当输入(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中的低等待时间。对所有跳闸输入的管理发生在单个硬件状态机(421)中。In at least one example of the present invention, low latency in
图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
图4A图解说明实例性ICSS(200)的脉冲宽度调制监视器及控制器的逻辑配置400。图 4B图解说明ICSS(200)的与逻辑配置400交互的跳闸信号逻辑电路421。如图4B中所展示且如上文所论述,每一跳闸信号逻辑电路421可产生单个跳闸输出信号425。选择器信号426的值指定跳闸信号逻辑电路421是以单次模式进行操作还是替代地以逐循环模式进 行操作,如上文所解释。在图4B中所图解说明的实例中,跳闸信号逻辑电路421经配置 以跟踪各自对应于跳闸事件的五个跳闸输入信号。4A illustrates a
图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
二号事件指示信号(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
图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
在至少一个实施例中,当比较器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
在本发明的至少一个实例中,使来自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
过滤器410由状态机(421)控制,如下文将更详细地解释。在过滤器410的第一状态(初 始化)期间,信号410A为初始化信号,在第二(活动)状态期间,信号410A对应于命中信号409A,且在第三(错误)状态期间,信号410A根据跳闸信号408而被设定。
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
过滤器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的阈值。
在至少一个实例中,跳闸信号逻辑电路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,
图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
图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
图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
尽管贯穿以上揭示内容主要使用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)
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)
| 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)
| 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 |
-
2019
- 2019-12-27 CN CN201911380322.2A patent/CN111552205B/en active Active
- 2019-12-27 CN CN202411498939.5A patent/CN119376307A/en active Pending
Patent Citations (12)
| 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)
| 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 |