CN114647601A - 控制系统中的实时处理系统同步 - Google Patents
控制系统中的实时处理系统同步 Download PDFInfo
- Publication number
- CN114647601A CN114647601A CN202110957633.1A CN202110957633A CN114647601A CN 114647601 A CN114647601 A CN 114647601A CN 202110957633 A CN202110957633 A CN 202110957633A CN 114647601 A CN114647601 A CN 114647601A
- Authority
- CN
- China
- Prior art keywords
- synchronization
- processing system
- interrupt
- communication interface
- processor core
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 82
- 230000015654 memory Effects 0.000 claims abstract description 81
- 230000006854 communication Effects 0.000 claims abstract description 65
- 238000004891 communication Methods 0.000 claims abstract description 65
- 239000000872 buffer Substances 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 22
- 238000004904 shortening Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 229910000831 Steel Inorganic materials 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000010959 steel Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Multi Processors (AREA)
Abstract
一种系统包括:存储器系统;以及第一处理系统的处理器,所述处理器包括处理器核、直接存储器存取控制器和通信接口。处理器核配置成执行多个指令,以便:在经过通信接口向第二处理系统传送第一同步消息时将直接存储器存取控制器配置成触发发射器中断;在从第二处理系统接收第二同步消息时将直接存储器存取控制器配置成触发接收器中断;确定发射器中断与接收器中断的触发之间的时间差;以及基于该时间差来调整实时调度器的同步偏斜,以调节第一处理系统与第二处理系统之间的实时同步。
Description
技术领域
示范实施例涉及控制系统领域,以及更特别涉及控制系统中的实时处理系统同步。
背景技术
控制系统能够包括多个处理系统,所述多个处理系统进行实时判定以控制一个或多个操纵装置(effector)。处理系统可需要紧密同步,以进行控制判定,并且在系统故障的情况下提供冗余度。能够通过各种技术来实现同步。共享实时时钟是一种同步方式,所述同步方式能够提供紧密同步,但是可要求专用信号通路,并且如果共享实时时钟遭遇故障,则有对多个系统的单事件扰乱的风险。用于同步的另一种方式是多个处理系统之间的握手和确认消息的交换。这种方式能够引起忙等待,因为处理系统在等待响应的同时连续轮询接收器寄存器。
发明内容
所公开的是一种系统,该系统包括:存储器系统;以及第一处理系统的处理器,该处理器包括处理器核、直接存储器存取控制器和通信接口。处理器核配置成执行多个指令,以便:在经过通信接口向第二处理系统传送第一同步消息时将直接存储器存取控制器配置成触发发射器中断;在从第二处理系统接收第二同步消息时将直接存储器存取控制器配置成触发接收器中断;确定发射器中断与接收器中断的触发之间的时间差;以及基于该时间差来调整实时调度器的同步偏斜(skew),以调节(tune)第一处理系统与第二处理系统之间的实时同步。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中直接存储器存取控制器配置成将第一同步消息从存储器系统的发射缓冲器传递给通信接口而没有通过处理器核的干预(absent intervention by the processor core)。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中在直接存储器存取控制器将第一同步消息从存储器系统的发射缓冲器传递给通信接口的同时,处理器核可操作以执行一个或多个其他任务。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中直接存储器存取控制器配置成将第二同步消息从通信接口传递给存储器系统的接收缓冲器而没有通过处理器核的干预。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中在直接存储器存取控制器将第二同步消息从通信接口传递给存储器系统的接收缓冲器的同时,处理器核可操作以执行一个或多个其他任务。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中处理器核配置成基于确定时间差超过同步阈值并且发射器中断在接收器中断之后发生来缩短执行帧时间。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中处理器核配置成基于确定时间差超过同步阈值并且接收器中断在发射器中断之后发生来延长执行帧时间。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中通信接口包括通用异步接收器/发射器。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中第一处理系统和/或第二处理系统是控制系统的实时控制器的组成部分。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括其中控制系统是电梯系统的控制器。
还公开的是一种方法,该方法包括在经过通信接口将第一同步消息从第一处理系统传送给第二处理系统时将直接存储器存取控制器配置成触发发射器中断。直接存储器存取控制器配置成当在第一处理系统处从第二处理系统接收第二同步消息时触发接收器中断。确定发射器中断与接收器中断的触发之间的时间差。基于时间差来调整实时调度器的同步偏斜,以调节第一处理系统与第二处理系统之间的实时同步。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括由直接存储器存取控制器将第一同步消息从存储器系统的发射缓冲器传递给通信接口而没有通过第一处理系统的处理器核的干预。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括在直接存储器存取控制器将第一同步消息从存储器系统的发射缓冲器传递给通信接口的同时,由处理器核执行一个或多个其他任务。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括由直接存储器存取控制器将第二同步消息从通信接口传递给存储器系统的接收缓冲器而没有通过处理器核的干预。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括在直接存储器存取控制器将第二同步消息从通信接口传递给存储器系统的接收缓冲器的同时,由处理器核执行一个或多个其他任务。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括基于确定时间差超过同步阈值并且发射器中断在接收器中断之后发生来缩短执行帧时间。
除本文描述的特征中的一个或多个特征外或作为备选方案,另外的实施例可包括基于确定时间差超过同步阈值并且接收器中断在发射器中断之后发生来延长执行帧时间。
附图说明
以下描述无论如何都不应当被理解为进行限制。参照附图,相似元件相似地被编号:
图1是按照本公开的实施例的电梯系统的示意图;
图2描绘按照本公开的实施例的具有多个同步处理系统的系统;
图3描绘按照本公开的实施例的用于同步多个处理系统的存储器系统配置;
图4描绘按照本公开的实施例的用于同步多个控制系统通道的时序图;以及
图5是图示按照本公开的实施例的过程的流程图。
具体实施方式
本文参照附图通过例示而不是限制的方式来提供所公开设备和方法的一个或多个实施例的详细描述。
图1是电梯系统101的透视图,所述电梯系统101包括电梯轿厢103、配重105、受拉构件107、导轨109、机器111、位置参考系统113和控制器115。电梯轿厢103和配重105通过受拉构件107彼此连接。受拉构件107可包括或被配置为例如绳、钢缆和/或涂层钢带。配重105被配置成平衡电梯轿厢103的负载并且被配置成促进电梯轿厢103在电梯井117内并沿着导轨109相对于配重105同时地并且在相反方向上的移动。
受拉构件107接合机器111,所述机器111是电梯系统101的架空(overhead)结构的部分。机器111被配置成控制电梯轿厢103和配重105之间的移动。位置参考系统113可被安装在电梯井117顶部处的固定部分上,例如在支撑物或导轨上,并且该位置参考系统113可被配置成提供与电梯轿厢103在电梯井117内的位置有关的位置信号。在其它实施例中,位置参考系统113可被直接安装到机器111的移动组件,或者可位于如本领域已知的其它位置和/或配置中。位置参考系统113可以是如本领域已知的用于监测电梯轿厢和/或配重的位置的任何装置或机构。例如,在不受限制的情况下,位置参考系统113可以是编码器、传感器或其它系统并且可包括速度感测、绝对位置感测等,如将由本领域技术人员所领会的。
如所示的,控制器115位于电梯井117的控制器室121中,并且被配置成控制电梯系统101、并且尤其是电梯轿厢103的操作。例如,控制器115可向机器111提供驱动信号以控制电梯轿厢103的加速、减速、调平、停止等。控制器115还可被配置成从位置参考系统113或任何其它预期的位置参考装置接收位置信号。当在电梯井117内沿导轨109向上或向下移动时,电梯轿厢103可如由控制器115所控制的那样在一个或多个层站125处停止。尽管在控制器室121中示出,但是本领域技术人员将领会,控制器115可位于和/或被配置在电梯系统101内的其它位点或位置中。在一个实施例中,控制器可被远程定位或定位在云中。
机器111可包括马达或类似的驱动机构。根据本公开的实施例,机器111被配置成包括电驱动的马达。对于马达的电源可以是任何功率源(包括电网),其(与其它组件结合)被供应给马达。机器111可包括曳引轮,所述曳引轮将力传授给受拉构件107以在电梯井117内移动电梯轿厢103。
虽然采用包括受拉构件107的挂绳系统来示出和描述,但是采用移动电梯井内的电梯轿厢的其他方法和机制的电梯系统可采用本公开的实施例。例如,可在使用线性马达使电梯轿厢运动的无绳电梯系统中采用实施例。还可在使用液压升降机使电梯轿厢运动的无绳电梯系统中采用实施例。实施例还可用于使用自推进电梯轿厢(例如配备有摩擦轮或牵引轮的电梯轿厢)的电梯系统中。其他实施例能够包括自动扶梯、自动人行道或者其他运输系统。另外的实施例能够包括配置用于实时同步操作的任何多处理系统。图1仅仅是出于说明性和解释性目的而提出的非限制性示例。
现在来看图2,示出按照一个或多个实施例的用于同步实时控制的示范系统200。系统200可包括至少两个处理系统202A、202B。处理系统202A、202B中的每个能够是实时控制器(例如图1的控制器115)的组件。例如,处理系统202A、202B能够是控制器115的冗余控制通道,以增强控制器115的可靠性,使得处理系统202A、202B中的一个处理系统能够在另一处理系统中的故障的情况下接管图1的电梯系统101的操作。虽然针对图1的控制器115来描述,但是将会理解,系统200能够在任何类型的实时同步多通道系统中实现。如本文所使用的,术语“通道”表示处理系统202A或202B及关联支持电路系统的独立实例。此外,本文所述的同步能够扩展到包括多个同步组件的的更大规模系统。
处理系统202A、202B能够分别包括处理器204A、204B和存储器系统205A、205B,所述存储器系统205A、205B能够包括经过存储器总线208A、208B所耦合的外部存储器206A、206B。处理器204A、204B能够分别包括:处理器核210A、210B;存储器控制器212A、212B;直接存储器存取(DMA)控制器214A、214B;中断控制器216A、216B;内部存储器218A、218B;时钟220A、220B;以及具有发射器224A、224B和接收器226A、226B的通信接口222A、222B。存储器系统205A、205B还能够包括存储器控制器212A、212B和内部存储器218A、218B。
通信接口222A、222B能够各自包括通用异步接收器/发射器(UART),其用来管理处理系统202A、202B之间的状态和数据的递增(例如逐位)传输。通信接口222A的发射器224A配置成经过第一通信链路228与通信接口222B的接收器226B进行通信。通信接口222B的发射器224B配置成经过第二通信链路230与通信接口222A的接收器226A进行通信。通信链路228、230能够是单向或双向通信路径,所述通信路径支持处理系统202A、202B之间的交叉通道(cross-channel)通信。处理器204A、204B还能够分别包括输入/输出(I/O)接口,所述输入/输出(I/O)接口配置成经过I/O链路234A、234B与各种I/O装置(例如图1的机器111)进行通信。虽然图1的机器111是一个示例,但是I/O链路234A、234B能够与各种类型的I/O装置(例如实时控制系统的传感器和操纵装置)进行接口对接。
处理器核210A、210B包括处理电路系统,所述处理电路系统可配置成执行多个指令,所述指令可采取非暂时形式来存储在外部存储器206A、206B和/或内部存储器218A、218B中。外部存储器206A、206B和/或内部存储器218A、218B能够包括由存储器控制器212A、212B所控制的易失性和非易失性存储器的组合。DMA控制器214A、214B能够配置成管理通信接口222A、222B与存储器系统205A、205B之间的数据的移动而无需处理器核210A、210B主动直接来往于通信接口222A、222B将消息写入和读取。这在消息由DMA控制器214A、214B加载到通信接口222A、222B以供交叉通道传输的同时使处理器核210A、210B自由以执行其他指令。类似地,当通信接口222A、222B接收消息时,DMA控制器214A、214B能够将消息写到存储器系统205A、205B,而无需通过处理器核210A、210B的主动干预。
中断控制器216A、216B能够配置成在完成DMA发射或接收序列时分别对处理器核210A、210B触发中断。例如,当DMA控制器214A完成向通信接口222A发送具有预定大小的消息以供传输给处理系统202B时,处理器核210A能够将中断控制器216A配置成触发DMA发射中断。处理器核210A还能够为DMA控制器214A提供外部存储器206A或内部存储器218A中的发射缓冲器位置,以便被读取以供传递给通信接口222A。在消息的内容被加载到发射缓冲器之后,DMA控制器214A能够配置成将内容传递给通信接口222A,其中中断控制器216A在完成传递时触发对处理器核210A的中断。取决于消息大小、通信链路228的吞吐量和其他因素,消息的传输能够花费可变时间量。处理器核210A在消息被传送的同时自由执行一个或多个其他任务。例如,能够执行没有直接涉及通信接口222A的应用任务、诊断任务或其他这类任务,同时DMA控制器214A主动来往于通信接口222A传递数据。能够采取类似方式,以用于接收通信链路230上的消息,将消息路由到处理系统202A的接收缓冲器,并且在由DMA控制器214A接收和传递预定量的消息数据时触发对处理器核210A的中断。此外,能够由处理系统202B遵循类似过程。虽然单独描绘,但是DMA控制器214A和中断控制器216A能够相组合。类似地,DMA控制器214B和中断控制器216B能够相组合。
在实施例中,时钟220A、220B可能不是工作在正好相同的频率,并且能够在某个时间段内能够遭遇漂移。为了保持处理系统202A、202B之间的同步,处理系统202A、202B能够周期地交换同步消息,以调整时钟220A、220B的任一个或两者,以便通过延长或减少同步循环的执行时帧来调节实时同步。例如,时钟漂移差可在纳秒或微秒级(scale)发生,但是周期同步调整能够将同步保持在毫秒级。取决于能力和同步精度要求,可以以预定间隔(例如每10毫秒、每100毫秒、每1000毫秒等)执行同步操作。
图3描绘按照实施例的同步系统300的示例。同步系统300包括图2的处理系统202A的存储器系统配置302A和图2的处理系统202B的存储器系统配置302B。存储器系统配置302A、302B指示图2的存储器系统205A、205B的部分的示例配置,以例如使用图2的外部存储器206A、206B和/或内部存储器218A、218B的任何组合来支持实时同步。存储器系统配置302A、302B能够分别包括:实时调度器304A、304B;应用306A、306B;DMA发射缓冲器308A、308B;DMA接收缓冲器310A、310B;以及中断定时器312A、312B。实时调度器304A、304B能够配置成调度应用306A、306B的低级任务和高级任务的任务执行。实时调度器304A、304B还能够建立图2的处理系统202A、202B之间的实时同步,以周期地调整同步偏斜,使得对更长期操作保持同步。应用306A、306B能够配置成基于来自图2的I/O接口232A、232B的传感器数据执行应用级处理,并且确定经过图2的I/O接口232A、232B来控制操纵装置(例如控制图1的机器111)的一个或多个命令。
作为一个示例,实时调度器304A能够包括由图2的处理器核210A可执行的指令,以便为DMA发射缓冲器308A加载同步消息A-B 314。应用306A可为DMA发射缓冲器308A加载用于图2的处理系统202B的应用消息316。图2的DMA控制器214A能够配置成经过图2的通信接口222A将同步消息A-B 314从DMA发射缓冲器308A传递给DMA接收缓冲器310B。在完成同步消息A-B 314的传递时,能够对图2的处理器核210A触发发射器中断318A。在DMA控制器214B完成将同步消息A-B 314从图2的通信接口222B传递到DMA接收缓冲器310B中时,能够对图2的处理器核210B触发接收器中断320B。DMA控制器214A能够在同步消息A-B 314被传递之后继续将应用消息316传递给图2的通信接口222A。
DMA控制器214B能够经过图2的通信接口222B将同步消息B-A 315从DMA发射缓冲器308B传递给DMA接收缓冲器310A。在完成同步消息B-A 315的传递时,能够对图2的处理器核210B触发发射器中断318B。在DMA控制器214A完成将同步消息B-A 315从图2的通信接口222A传递到DMA接收缓冲器310A中时,能够对图2的处理器核210A触发接收器中断320A。中断定时器312A能够用来跟踪发射器中断318A与接收器中断320A之间的时间差。类似地,中断定时器312B能够用来跟踪发射器中断318B与接收器中断320B之间的时间差。
图4描绘用于同步多个控制系统通道的时序图400的示例。通道A时间线402指示图2的处理系统202A相对于图2的处理系统202B的通道B时间线412的示例定时,例如,如在图3的存储器系统配置302A、302B中配置。在图4的示例中,发射A DMA开始事件404指示相对时间点,其中DMA控制器214A开始将同步消息A-B 314从DMA发射缓冲器308A传递给通信接口222A,以供传输给图2的通信接口222B。发射A DMA完成事件406指示相对时间点,其中DMA控制器214A完成将同步消息A-B 314从DMA发射缓冲器308A传递给通信接口222A,从而产生图3的发射器中断318A。
发射B DMA开始事件414指示相对时间点,其中图2的DMA控制器214B开始将图3的同步消息B-A 315从DMA发射缓冲器308B传递给通信接口222B,以供传送给图2的通信接口222A。发射B DMA完成事件416指示相对时间点,其中DMA控制器214B完成将同步消息B-A315从DMA发射缓冲器308B传递给通信接口222B,从而产生图3的发射器中断318B。接收ADMA完成事件408指示DMA控制器214A完成在图3的DMA接收缓冲器310A中接收同步消息B-A315的时间,从而使图3的接收器中断320A在图2的处理器核210A处被触发。类似地,接收BDMA完成事件418指示DMA控制器214B完成在图3的DMA接收缓冲器310A中接收同步消息A-B314的时间,从而使图3的接收器中断320A在图2的处理器核210A处被触发。
同步定时偏斜420表示发射A DMA开始事件404与发射B DMA开始事件414的发生之间的时间差。当发射A DMA开始事件404和发射B DMA开始事件414发生时,同步定时偏斜420的值可能为未知。中断定时器312A能够用来确定多少时间在发射A DMA完成事件406与接收A DMA完成事件408之间经过,如通过检测发射器中断318A和接收器中断320A所表征,这能够根据发射A DMA开始事件404超前还是滞后发射B DMA开始事件414按照任何顺序进行。发射器中断318A和接收器中断320A的相对顺序以及时间差422能够指示处理系统202A相对于处理系统202B不同步的程度。类似地,发射B DMA完成事件416与接收B DMA完成事件418之间的时间差424能够指示处理系统202B相对于处理系统202A不同步的程度。
用来缩短执行帧时间或延长执行帧时间的校正动作能够由处理系统202A、202B的任一个或两者执行。例如,在主/从配置中,用作备用控制的控制通道能够被调整,以保持与主控制通道的同步。在主/主配置中,在处理系统202A、202B均主动执行控制任务的情况下,定时调整可划分成使得每个控制通道进行定时调整,使得净效应在同步容差之内重新同步控制通道。
在继续参照图1-5的情况下,现在参照图5,图5描绘按照本公开的实施例的方法500的流程图。方法500能够例如由图2的系统执行。
在框502处,处理器核210A能够在将第一同步消息(例如同步消息A-B 314)从第一处理系统202A传送给第二处理系统202B时将DMA控制器214A配置成触发发射器中断318A。
在框504处,处理器核210A能够当在第一处理系统202A处从第二处理系统202B接收第二同步消息(例如同步消息B-A 315)时将DMA控制器214A配置成触发接收器中断320A。
在框506处,处理器204A能够例如使用中断定时器312A来确定发射器中断318A与接收器中断320A的触发之间的时间差。
在框508处,处理器204A能够基于时间差来调整实时调度器304A的同步偏斜,以调节第一处理系统202A与第二处理系统202B之间的实时同步。调整能够相对时钟220A或者处理系统202A的其他参数来执行。方法500还能够由处理系统202B或者设法被动态重新同步的其他处理系统来执行。
在一些实施例中,DMA控制器214A能够在处理器核210A配置和启用DMA控制器214A之后将第一同步消息从存储器系统205A的发射缓冲器(例如DMA发射缓冲器308A)传递给通信接口222A而没有通过第一处理系统202A的处理器核210A的干预。在DMA控制器214A将第一同步消息从存储器系统205A的DMA发射缓冲器308A传递给通信接口222A的同时,处理器核210A能够执行一个或多个其他任务。DMA控制器214A还能够配置成在处理器核210A配置和启用DMA控制器214A之后将第二同步消息从通信接口222A传递给存储器系统205A的接收缓冲器(例如DMA接收缓冲器310A)而没有通过处理器核210A的干预。在DMA控制器214A将第二同步消息从通信接口222A传递给存储器系统205A的接收缓冲器的同时,处理器核210A可操作以执行一个或多个其他任务。
在一些实施例中,处理器核210A能够配置成基于确定时间差超过同步阈值并且发射器中断318A在接收器中断320A之后发生来缩短执行帧时间。例如,下一个100毫秒执行帧可减少为99.99毫秒,以便将执行帧缩短10微秒。处理器核210A能够配置成基于确定时间差超过同步阈值并且接收器中断320A在发射器中断318A之后发生来延长执行帧时间。例如,下一个100毫秒执行帧可延长为100.01毫秒,以便将执行帧延长10微秒。处理器核210B能够类似地相对于发射器中断318B和接收器中断320B来配置。指示特定时间值的示例为了说明的目的而提供,而不是要被理解为局限于特定时间间隔。
虽然以上描述按照特定顺序描述了图5的流程过程,但是应当领会,除非所附权利要求书中另有特定地要求,否则可改变步骤的排序。
如上面所述,实施例可采用处理器实现的过程和用于实践那些过程的装置(诸如处理器)的形式。实施例还可采用含有体现在有形介质(诸如网络云存储、SD卡,闪存驱动器、软盘、CD ROM、硬驱动器或任何其它计算机可读存储介质)中的指令的计算机程序代码的形式,其中,当计算机程序代码被加载到计算机中并由计算机运行时,计算机变成用于实践实施例的装置。实施例还可采用例如下列的形式:无论是存储在存储介质中、加载到计算机中和/或由计算机运行的计算机程序代码,还是通过一些传输介质(诸如通过电线或电缆、通过光纤(fiber optics)、或经由电磁辐射)传送的计算机程序代码,其中,当计算机程序代码被加载到计算机中并由计算机执行时,计算机变成用于实践实施例的装置。当在通用微处理器上实现时,计算机程序代码段配置微处理器以创建特定的逻辑电路。
术语“大约”旨在包括与基于提交申请时可用的设备的特定量的测量相关联的误差程度。
本文中使用的术语仅用于描述特定实施例的目的,并不旨在成为本公开的限制。如本文中所使用的,单数形式“一(a/an)”和“该(the)”旨在也包括复数形式,除非上下文另有清楚地指示。将进一步理解的是,术语“包括(comprises和/或comprising)”当在本说明书中使用时规定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件组件和/或其群组的存在或添加。
虽然参照一个或多个示范实施例描述了本公开,但是本领域中的技术人员将会理解,可进行各种改变,并且等效方案可代替其元件,而没有背离本公开的范围。另外,可进行多种修改以使特定状况或材料适合本公开的教导,而没有背离其实质范围。因此,预计本公开并不局限于作为执行本公开所考虑的最佳模式所公开的特定实施例,本公开而是将包括落入权利要求书的范围之内的全部实施例。
Claims (20)
1.一种系统,包括:
存储器系统;以及
第一处理系统的处理器,所述处理器包括处理器核、直接存储器存取控制器和通信接口,所述处理器核配置成执行多个指令,以便:
在经过所述通信接口将第一同步消息传送给第二处理系统时将所述直接存储器存取控制器配置成触发发射器中断;
在从所述第二处理系统接收第二同步消息时将所述直接存储器存取控制器配置成触发接收器中断;
确定所述发射器中断与所述接收器中断的触发之间的时间差;以及
基于所述时间差来调整实时调度器的同步偏斜,以调节所述第一处理系统与所述第二处理系统之间的实时同步。
2.如权利要求1所述的系统,其中,所述直接存储器存取控制器配置成将所述第一同步消息从所述存储器系统的发射缓冲器传递给所述通信接口而没有通过所述处理器核的干预。
3.如权利要求2所述的系统,其中,在所述直接存储器存取控制器将所述第一同步消息从所述存储器系统的所述发射缓冲器传递给所述通信接口的同时,所述处理器核可操作以执行一个或多个其他任务。
4.如权利要求1所述的系统,其中,所述直接存储器存取控制器配置成将所述第二同步消息从所述通信接口传递给所述存储器系统的接收缓冲器而没有通过所述处理器核的干预。
5.如权利要求4所述的系统,其中,在所述直接存储器存取控制器将所述第二同步消息从所述通信接口传递给所述存储器系统的所述接收缓冲器的同时,所述处理器核可操作以执行一个或多个其他任务。
6.如权利要求1所述的系统,其中,所述处理器核配置成基于确定所述时间差超过同步阈值并且所述发射器中断在所述接收器中断之后发生来缩短执行帧时间。
7.如权利要求1所述的系统,其中,所述处理器核配置成基于确定所述时间差超过同步阈值并且所述接收器中断在所述发射器中断之后发生来延长执行帧时间。
8.如权利要求1所述的系统,其中,所述通信接口包括通用异步接收器/发射器。
9.如权利要求1所述的系统,其中,所述第一处理系统和所述第二处理系统包括控制系统的实时控制器。
10.如权利要求9所述的系统,其中,所述控制系统是电梯系统的控制器。
11.一种方法,包括:
在经过通信接口将第一同步消息从第一处理系统传送给第二处理系统时将直接存储器存取控制器配置成触发发射器中断;
当在所述第一处理系统处从所述第二处理系统接收第二同步消息时将所述直接存储器存取控制器配置成触发接收器中断;
确定所述发射器中断与所述接收器中断的触发之间的时间差;以及
基于所述时间差来调整实时调度器的同步偏斜,以调节所述第一处理系统与所述第二处理系统之间的实时同步。
12.如权利要求11所述的方法,进一步包括:
由所述直接存储器存取控制器将所述第一同步消息从所述存储器系统的发射缓冲器传递给所述通信接口而没有通过所述第一处理系统的处理器核的干预。
13.如权利要求12所述的方法,进一步包括:
在所述直接存储器存取控制器将所述第一同步消息从所述存储器系统的所述发射缓冲器传递给所述通信接口的同时,由所述处理器核执行一个或多个其他任务。
14.如权利要求11所述的方法,进一步包括:
由所述直接存储器存取控制器将所述第二同步消息从所述通信接口传递给所述存储器系统的接收缓冲器而没有通过所述处理器核的干预。
15.如权利要求14所述的方法,进一步包括:
在所述直接存储器存取控制器将所述第二同步消息从所述通信接口传递给所述存储器系统的所述接收缓冲器的同时,由所述处理器核执行一个或多个其他任务。
16.如权利要求11所述的方法,进一步包括:
基于确定所述时间差超过同步阈值并且所述发射器中断在所述接收器中断之后发生来缩短执行帧时间。
17.如权利要求11所述的方法,进一步包括:
基于确定所述时间差超过同步阈值并且所述接收器中断在所述发射器中断之后发生来延长执行帧时间。
18.如权利要求11所述的方法,其中,所述通信接口包括通用异步接收器/发射器。
19.如权利要求11所述的方法,其中,所述第一处理系统和所述第二处理系统包括控制系统的实时控制器。
20.如权利要求19所述的方法,其中,所述控制系统是电梯系统的控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/128,725 US11360918B1 (en) | 2020-12-21 | 2020-12-21 | Real-time processing system synchronization in a control system |
US17/128725 | 2020-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647601A true CN114647601A (zh) | 2022-06-21 |
Family
ID=78676314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110957633.1A Pending CN114647601A (zh) | 2020-12-21 | 2021-08-19 | 控制系统中的实时处理系统同步 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11360918B1 (zh) |
EP (1) | EP4016302A1 (zh) |
CN (1) | CN114647601A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116722962A (zh) * | 2022-09-05 | 2023-09-08 | 荣耀终端有限公司 | 中断处理方法、通信装置、通信设备及芯片系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240104033A1 (en) * | 2022-09-27 | 2024-03-28 | Htc Corporation | Signal transceiving device and signal transceiving method thereof |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000013078A (ko) * | 1998-08-04 | 2000-03-06 | 윤종용 | 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법 |
US20060294593A1 (en) * | 2005-06-22 | 2006-12-28 | Intel Corporation | Protected clock management based upon a non-trusted persistent time source |
CN101872314A (zh) * | 2009-04-24 | 2010-10-27 | 勒斯塔尔技术有限责任公司 | 用于多处理器的动态调度中断控制器 |
JP2011186591A (ja) * | 2010-03-05 | 2011-09-22 | Renesas Electronics Corp | プロセッサ及びその制御方法 |
CN102257572A (zh) * | 2009-01-12 | 2011-11-23 | 拉姆伯斯公司 | 具有内核时钟同步的均步信号传输系统 |
CN102571317A (zh) * | 2012-01-06 | 2012-07-11 | 江海 | 软件无线电系统中基于pci总线的数据同步方法及系统 |
US20120210198A1 (en) * | 2011-02-16 | 2012-08-16 | Invensys Systems Inc. | System and Method for Fault Tolerant Computing Using Generic Hardware |
CN102866971A (zh) * | 2012-08-28 | 2013-01-09 | 华为技术有限公司 | 传输数据的装置、系统及方法 |
KR101468677B1 (ko) * | 2013-12-27 | 2014-12-05 | (주)실리콘화일 | 아비터를 이용한 메모리의 억세스 제어회로 |
EP3054384A1 (en) * | 2015-02-04 | 2016-08-10 | Huawei Technologies Co., Ltd. | System and method for memory synchronization of a multi-core system |
CN107402534A (zh) * | 2017-07-21 | 2017-11-28 | 上海新时达机器人有限公司 | 调节方法、EtherCAT主站及计算机可读存储介质 |
CN109189717A (zh) * | 2018-09-07 | 2019-01-11 | 郑州信大先进技术研究院 | 一种多源数据同步采集系统 |
CN109633318A (zh) * | 2018-12-21 | 2019-04-16 | 国网北京市电力公司 | 电信号与通信信号同步的方法及装置、存储介质和处理器 |
CN109819512A (zh) * | 2019-03-18 | 2019-05-28 | 云南航天工程物探检测股份有限公司 | 工程ct无线分布式多路adc高精度同步系统及方法 |
CN110543437A (zh) * | 2018-05-29 | 2019-12-06 | 赛灵思公司 | 跨时钟域的延迟同步 |
CN110597744A (zh) * | 2019-08-30 | 2019-12-20 | 深圳震有科技股份有限公司 | 一种数据同步传输方法、系统和计算机设备 |
CN110636603A (zh) * | 2019-10-22 | 2019-12-31 | 深圳市道通智能航空技术有限公司 | 飞行器时间同步系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790776A (en) | 1992-12-17 | 1998-08-04 | Tandem Computers Incorporated | Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US8194146B2 (en) * | 2008-01-11 | 2012-06-05 | Mediatek Inc. | Apparatuses for capturing and storing real-time images |
US8886474B2 (en) * | 2010-09-06 | 2014-11-11 | Psiber Data Pte Ltd | System and apparatus for testing cable |
US20170041897A1 (en) | 2013-11-12 | 2017-02-09 | Qualcomm Incorporated | Apparatus and methods for synchronizing a controller and sensors |
FR3026869B1 (fr) * | 2014-10-07 | 2016-10-28 | Sagem Defense Securite | Systeme embarque sur puce a haute surete de fonctionnement |
US10991194B2 (en) * | 2018-10-05 | 2021-04-27 | Aristocrat Technologies Australia Pty Limited | Systems and methods for synchronously illuminating lighting components of an electronic gaming machine |
-
2020
- 2020-12-21 US US17/128,725 patent/US11360918B1/en active Active
-
2021
- 2021-08-19 CN CN202110957633.1A patent/CN114647601A/zh active Pending
- 2021-11-16 EP EP21208447.9A patent/EP4016302A1/en active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000013078A (ko) * | 1998-08-04 | 2000-03-06 | 윤종용 | 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법 |
US20060294593A1 (en) * | 2005-06-22 | 2006-12-28 | Intel Corporation | Protected clock management based upon a non-trusted persistent time source |
CN102257572A (zh) * | 2009-01-12 | 2011-11-23 | 拉姆伯斯公司 | 具有内核时钟同步的均步信号传输系统 |
CN101872314A (zh) * | 2009-04-24 | 2010-10-27 | 勒斯塔尔技术有限责任公司 | 用于多处理器的动态调度中断控制器 |
JP2011186591A (ja) * | 2010-03-05 | 2011-09-22 | Renesas Electronics Corp | プロセッサ及びその制御方法 |
US20120210198A1 (en) * | 2011-02-16 | 2012-08-16 | Invensys Systems Inc. | System and Method for Fault Tolerant Computing Using Generic Hardware |
CN102571317A (zh) * | 2012-01-06 | 2012-07-11 | 江海 | 软件无线电系统中基于pci总线的数据同步方法及系统 |
CN102866971A (zh) * | 2012-08-28 | 2013-01-09 | 华为技术有限公司 | 传输数据的装置、系统及方法 |
KR101468677B1 (ko) * | 2013-12-27 | 2014-12-05 | (주)실리콘화일 | 아비터를 이용한 메모리의 억세스 제어회로 |
EP3054384A1 (en) * | 2015-02-04 | 2016-08-10 | Huawei Technologies Co., Ltd. | System and method for memory synchronization of a multi-core system |
CN107402534A (zh) * | 2017-07-21 | 2017-11-28 | 上海新时达机器人有限公司 | 调节方法、EtherCAT主站及计算机可读存储介质 |
CN110543437A (zh) * | 2018-05-29 | 2019-12-06 | 赛灵思公司 | 跨时钟域的延迟同步 |
CN109189717A (zh) * | 2018-09-07 | 2019-01-11 | 郑州信大先进技术研究院 | 一种多源数据同步采集系统 |
CN109633318A (zh) * | 2018-12-21 | 2019-04-16 | 国网北京市电力公司 | 电信号与通信信号同步的方法及装置、存储介质和处理器 |
CN109819512A (zh) * | 2019-03-18 | 2019-05-28 | 云南航天工程物探检测股份有限公司 | 工程ct无线分布式多路adc高精度同步系统及方法 |
CN110597744A (zh) * | 2019-08-30 | 2019-12-20 | 深圳震有科技股份有限公司 | 一种数据同步传输方法、系统和计算机设备 |
CN110636603A (zh) * | 2019-10-22 | 2019-12-31 | 深圳市道通智能航空技术有限公司 | 飞行器时间同步系统及方法 |
Non-Patent Citations (1)
Title |
---|
郭建军;戴葵;王志英;: "基于指令Cache作废的多核处理器同步技术", 计算机工程与应用, no. 04, 1 February 2009 (2009-02-01) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116722962A (zh) * | 2022-09-05 | 2023-09-08 | 荣耀终端有限公司 | 中断处理方法、通信装置、通信设备及芯片系统 |
Also Published As
Publication number | Publication date |
---|---|
US11360918B1 (en) | 2022-06-14 |
EP4016302A1 (en) | 2022-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9505560B2 (en) | System and method for controlling a moving element in a linear motor conveyor | |
JP4468224B2 (ja) | エレベータの位置検出システム及び方法 | |
US7228943B2 (en) | Elevator apparatus with position correction for overspeed detection | |
US8135496B2 (en) | Travel control system and control method for traveling vehicles | |
CN103079981B (zh) | 电梯安全系统和方法 | |
EP2943844B1 (en) | A control system for vehicle in a guideway network | |
JP3168104B2 (ja) | エレベータまたはホイストのケージの減速および停止指令を制御し自動補正する方法ならびに装置 | |
EP1972590A1 (en) | Device for managing elevator in evacuation | |
EP4016302A1 (en) | Real-time processing system synchronization in a control system | |
CN110642107B (zh) | 具有先进的建筑物范围分配逻辑的超级群组架构 | |
CN110775743A (zh) | 部分重叠电梯群组之间的容量转移 | |
JP2003095555A (ja) | エレベータの制御装置 | |
CN101205031B (zh) | 带楼层间调整功能的电梯 | |
US20190292013A1 (en) | Service tool with capture and replay | |
EP1710190A1 (en) | Elevator controller | |
US20100114370A1 (en) | Conveyance apparatus | |
CN114074865B (zh) | 用于多轿厢井道中的轿厢间协调的系统和方法 | |
EP3626665A1 (en) | Conveyance system data transfer | |
CN114074881B (zh) | 基于电池荷电状态来提供智能控制的电梯轿厢移动器 | |
JP2006206245A (ja) | エレベータ装置の信号伝送方法及びその方法を用いたエレベータ装置 | |
CN112678468B (zh) | 滚床及滚床的定位方法 | |
KR20180052203A (ko) | 다중 카 엘리베이터의 통신 시스템 | |
JP2008054028A (ja) | 制御情報伝送システム | |
CN111699078A (zh) | 机器人的运行 | |
CN101844718B (zh) | 电梯装置 |
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 |