CN1802634A - 实时控制系统 - Google Patents
实时控制系统 Download PDFInfo
- Publication number
- CN1802634A CN1802634A CNA038267322A CN03826732A CN1802634A CN 1802634 A CN1802634 A CN 1802634A CN A038267322 A CNA038267322 A CN A038267322A CN 03826732 A CN03826732 A CN 03826732A CN 1802634 A CN1802634 A CN 1802634A
- Authority
- CN
- China
- Prior art keywords
- task
- processing
- unit
- signal
- real
- 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 claims abstract description 232
- 230000000737 periodic effect Effects 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 8
- 238000009825 accumulation Methods 0.000 abstract description 3
- 230000001934 delay Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 231100000989 no adverse effect Toxicity 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/25227—Polling time is variable for each node, as function of time needed for each node
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Control By Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种实时控制系统,具有:驱动器部,其接收输入信号,输出与各种任务处理对应的中断信号;查询部,其根据该中断信号进行查询;以及任务处理部,其根据所述中断信号进行任务处理。所述查询部,在所述任务结束时,根据所述查询,输出任务处理信号;所述任务处理部,根据任务处理信号进行所述任务处理。通过切实实施周期任务,防止多个额外时间的累积造成处理开始时间的滞后,可进行更细微的应答控制及对多个指令进行迅速而且切实地的应答控制。
Description
技术领域
本发明涉及实时控制系统,特别涉及检出周期性的事件或检出多个信号的事件后进行任务处理的实时控制系统。
背景技术
在汽车的控制器及其它产业机器的控制器中,要求提高在接收来自控制对象的信号之后,直到开始处理为止的应答性能,而且要求在有限的时间内切实实施完毕必要的处理的实时控制性。特别是在将汽车的控制应答性及确保安全性等作为课题、需要实时进行所定处理的操作系统(以下称作“OS”)中,需要支持周期性地起动任务的周期任务,和在事件发生时起动任务的事件任务。
例如:在非专利文献的OSEK/VDX Operating System Specification2.2.1所示的搭载在汽车上的标准的OS,提供称作“时间表服务”的周期性地起动多个任务的功能。实行开始这种时间表服务的系统调用后,注册的任务组,在每个指定的周期起动,在该起动的作用下,实现周期任务。
这种具有OS的实时控制系统,在汽车的发动机控制系统用的控制器中使用,该控制器,大多使用周期任务,以时间驱动进行动作地构筑系统。因为在这种方式中,通过调整任务的实行间隔,易于调节运算负荷,而且使任务的记述简洁。在该方式中,周期任务最初以输入模块的查询,对是否正在发生事件进行判定,发生时,继续进行事件处理。
但是,在特殊的发动机控制中,常常想在OS定义的周期以下,起动任务。这时,不能使用周期任务功能。取而代之的,是在任务内具有定时查询函数,在成为下一个周期时间之前,进行查询。
另外,在非专利文献的Operating System Concepts-FourthEdition-pp.30-32(Abraham Silberschatz著Addison-Wesley Publishingcompany出版)中,还讲述了如下的实时控制系统。该实时控制系统,为了提高控制的应答性,将来自控制对象物的输入,作为中断信号,通知运算器,使其产生中断,使其在实施中中断处理,由中断处理程序起动、实施进行控制对象物的处理的任务。另外,为了保证中断处理实施中的实时性,在该任务的中断中,禁止中断。
另外,在特开2002-189606号公报的说明书中,公布了通过一次停止周期性的周期程序、再重新开始的结构,消除再重新开始时的额外时间(overhead时间)的周期任务控制方法。此外,在特开2000-250764号公报的说明书中,公布了按照各功能将多个任务细化,作为独立任务,从而减少应用程序的切换额外时间的处理实行装置。
这样,在对反复周期性地实施同一个任务的发动机进行控制等时,周期任务的起动周期,最低也是1msec左右,或者使用计时器实施多个任务时,输入间隔是1msec左右。而且,这些时间,对CPU(50~60MHz动作)的处理速度而言,是比较长的时间,所以运算负荷不太大。可是,近来,为了满足适应环境的要求等,需要更细的控制。例如,在使用电控阀的汽车发动机中,要求比现有技术的周期短10倍以上的周期进行控制。另外,实施多个任务时,也要求用间隔更细的时间(数10usec)进行控制。
为了满足这些要求,在实施周期性的任务之类的处理时,需要缩短其处理周期。在现有技术的方法中,由于周期开始之际的中断处理所需的额外时间不能改变,所以进行缩短事件处理的时间的处理。可是,由于定时中断的次数多发,所以这样就使运算负荷增大。另外,不能以比额外时间短的周期实施任务。进而,在这种周期任务方式中,累计各周期产生的额外时间后,事件的检出有可能最大滞后一周期。另外,在现有技术的定时查询方式中,由于不能使起动中的任务以外的任务动作,所以不能进行校准等的控制以外的处理。
另外,在进行多个中断处理时,因为禁止各个处理所重复的中断,所以分别独立地出现上述处理,在各中断中,额外时间就需要数十~数百usec。由于这种额外时间非常大,所以难以满足上述的要求。另外,由于是依次处理多个中断,所以将各中断的额外时间累积后,作为整体的处理时间便很长,越是在后面实行的任务,其开始就越滞后,另外,中断很多时,有时不能对所有的中断都满足其要求。
如上所述,当连接性地或者同时产生多个中断时,减少每个中断时产生的额外时间的有关技术,迄今为止尚未问世。
发明内容
本发明就是针对这种问题研制的,其目的在于提供一种实时控制系统,当发生有周期性的事件时或多个事件同时发生时,通过切实实施周期任务,防止多个额外时间的累积造成处理开始时间的滞后,可进行更细微的应答控制及对多个指令进行迅速而且切实地的应答控制。
为了达到所述目的,本发明涉及的实时控制系统,具有:接收输入信号,输出与各种任务处理对应的中断信号的驱动器部;根据该中断信号,进行查询的查询部;根据所述中断信号,进行任务处理的任务处理部;所述查询部,在所述任务结束时,根据所述查询,输出任务处理信号;所述任务处理部,根据所述任务处理信号,进行任务处理。
采用上述结构的本发明的实时控制系统,用驱动器部进行中断处理,根据中断信号进行任务处理,那以后的中断信号,不用驱动器部进行中断处理,而根据来自查询部的任务处理信号,进行任务处理。就是说,在进行事件处理之际,可以反复从驱动器部接收中断信号,不起动任务,在任务处理连续时,额外时间成为首次的一次。
本发明涉及的实时控制系统,所述任务处理部,由实行事件处理的事件处理单元及判定处理该事件处理的继续性的任务判定单元构成;所述事件处理单元,在所述判定结果是继续时,继续实行所述事件处理。
采用上述结构的本发明的实时控制系统,即使具有与输入信号一致的事件处理单元,也因为在任务处理中连续性地或者同时输入的多个输入信号,进行任务判定处理,所以可以看作一连串的处理的额外时间,成为只有处理开始的一次。另外,拉开间隔输入时,虽然产生额外时间和查询部的处理时间,但由于查询部的处理时间不太费时,所以对作为整体的时间没有影响。
本发明涉及的实时控制系统,所述事件处理单元,进行周期起动的事件处理;按照任务判定单元判定的事件处理的继续或者结束的判定,决定处理的实行。
采用上述结构的本发明的实时控制系统,在进行周期起动之际,在任务内进行事件处理的继续或者结束的判定,决定事件处理单元的事件处理的动作,所以每个周期发生的额外时间,只在周期起动时发生一次。
本发明涉及的实时控制系统,所述查询部,从计时器查询现在的时刻,根据该查询结果,输出成为所述事件处理单元的开始时刻的任务处理信号。
采用上述结构的本发明的实时控制系统,在进行周期起动的任务处理时,任务处理信号可以是成为任务处理的开始时刻的信号,决定该开始时刻的信号,调用本发明的系统的外部的计时器,不经由驱动器部决定开始时刻,所以能够更快地将开始时刻发送给任务内的处理单元。
本发明涉及的实时控制系统,所述任务判定单元,根据所述任务处理的继续次数或所述任务处理中的中断信号的有无,判定所述任务处理的继续性。
采用上述结构的本发明的实时控制系统,能够按照该信号的中断、事件处理的内容等决定事件处理的继续性。
本发明涉及的实时控制系统,具有与所述驱动器部、所述任务处理部及所述查询部通信,伴随着接收中断信号而起动,存放所述判定结果的调度部。
采用上述结构的本发明的实时控制系统,能够在驱动器部、任务及查询部相互进行通信时,将数据暂时存放到调度部中,能够在有效的时刻由调度部传递数据。
本发明涉及的实时控制系统,所述调度部,具有记录与所述事件处理单元对应的周期的周期表格;所述任务判定单元,在所述事件处理完毕时,根据所述周期表格的信号,判定所述事件处理的继续性。
采用上述结构的本发明的实时控制系统,因为在调度部中设置了与处理对应的周期表格,所以根据从前文所示的计时器查询的时刻和周期表格的周期,用查询部求出的对应的任务处理的开始时刻,将这些数据发送给任务处理部。另外,还能根据周期表格判定事件处理单元有无周期性,根据该判定结果,决定是否继续进行事件处理。进而,虽然在调度部内设置周期表格,但也可以在调度部外设置周期表格,调度部接收周期表格的周期。
本发明涉及的实时控制系统,所述调度部,在所述任务判定单元起动的期间,直到存入成为结束的所述判定结果为止,禁止所述中断信号中断所述任务。
采用上述结构的本发明的实时控制系统,因为禁止在事件处理的中途中断中断信号,所以能够在任务处理中不接收中断的影响,切实实行处理。
本发明涉及的实时控制系统,所述查询部,查询在所述任务处理期间发生的所述中断信号,输出与该中断信号对应的实行所述事件处理的所述任务处理信号。
采用上述结构的本发明的实时控制系统,在事件处理中,即使出现下一个事件处理的要求,也因为正在查询,所以禁止这种中断,不需要将输入信号再次发送给驱动器部。因此,不会在各个中断时发生额外时间。
本发明涉及的实时控制系统,所述任务判定单元,根据有无所述任务处理信号,判定所述事件处理的继续性。
采用上述结构的本发明的实时控制系统,中断信号是任务处理信号,没有中断时,能够结束事件处理。
另外,本发明涉及的实时控制系统,同时检出多个所述任务处理信号时,给所述任务处理信号的每一个附加优先等级后读出。另外,本发明涉及的实时控制系统,同时检出多个所述任务处理信号时,所述任务判定单元,在所述检出时,优先读出和与所述事件处理单元进行事件处理的处理对应的所述任务处理信号不同的信号。
采用上述结构的本发明的实时控制系统,实行与各自的输入信号对应的事件处理单元,输入多个输入信号时,可以给其处置顺序附加优先等级,或者设定不连续处理相同信号的条件,这样设定后,能够切实满足与中断要求对应的事件处理。
附图说明
图1是表示本发明的实施方式涉及的实时控制系统的硬件结构的方框图。
图2是表示本发明涉及的实时控制系统的第1实施方式的方框图。
图3是表示任务ID和根据中断要因的事件的对应关系的事件表格。
图4是表示各事件的周期时间的表格。
图5是表示第1实施方式涉及的调度部的处理内容的控制流程图。
图6是表示任务的任务处理内容的控制流程图。
图7是表示计时器查询部的处理的详细内容的控制流程图。
图8是表示现有技术的事件周期型任务的处理的时序图。
图9是表示本实施方式涉及的事件周期型任务的处理的时序图。
图10是表示本发明涉及的实时控制系统的第2实施方式的方框图。
图11是表示第2实施方式相关任务的任务处理内容的控制流程图。
图12是表示图11的查询处理内容的控制流程图。
图13是现有技术的在输入A的处理中输入了输入B时的时序图。
图14是第2实施方式涉及的在输入A的处理中输入了输入B时的时序图。
图15是第2实施方式涉及的在输入A的处理后输入了输入B时的时序图。
具体实施方式
下面,参照附图,讲述本发明涉及的实时控制系统的实施方式。
图1是表示本发明的一种实施方式涉及的实时控制系统(控制器)10的硬件结构的控制方框图。如图1所示,控制器10由CPU11(运算装置)、存储器12、输出模块13及输入模块14构成,这些硬件被总线连接在一起。
输入模块14,是处理输入信号——输入A及输入B的硬件。将输入信号反映到寄存器,如果需要还向CPU11输入中断。而且,该输入模块14,可以接收1个以上的输入信号,每当输入信号时,能够向CPU11输入中断。具体地说,输入模块14具有旨在识别取得了输入信号的出入口的特征位,能够将特征位作为中断要因给予CPU11。
另外,CPU11具有运算器,将来自输入模块14的信号作为中断要因接收,接收该中断要因,从存储器12读出成为指令的信号并执行。此外,CPU11具有计时器15及内置存储器。使用没有内置计时器15的CPU时,也可以使用外置的计时器。该计时器15,是向CPU11表示经过时刻的计时器。在本实施方式中,计时器15为升序计数器,但计时器15为降序计数器时,也可以实施。
另外,存储器12具有非易失性存储器及/或易失性存储器,接收来自CPU11的输入信号,向CPU11发送成为CPU11进行运算的指令的信号。作为非易失性存储器,有EEPROM或快速存储器等,非易失性存储器记录程序及数据的初始值。另一方面,作为易失性存储器,有SRAMS或SDRAM等,易失性存储器记录数据及/或栈。在存储器12中,还记录实施实施方式的实时控制系统的操作系统(以下称作“OS”)。
另外,输出模块13是根据来自CPU的运算结果,处理输出信号的硬件。输出模块13,具有1个以上的输出口。顺便指出,在本实施方式中,也可以没有输出模块13。
图2是表示第1实施方式的实时控制系统的软件的控制方框图。本实施方式的软件,由调度部1、计时器查询部2、周期表格3、驱动器部4、任务处理部(以下称作“任务”)5及CPU11中的计时器15构成。
调度部1、计时器查询部2、驱动器部4及任务5,被OS包含,但也可以作为中间件,在OS之外存在。另外,任务5,按照应用程序的要求,也可以存在两个以上。
首先,驱动器部4由初始设定处于驱动器部4内的中断处理程序、及输入模块14的寄存器,及/或读出及写入的器件驱动器构成。就是说,驱动器部4在刚复位后,将输入模块14及输出模块13的寄存器初始化。另外,在需要进行前文所述的成为输入模块14的中断要因的输入信号的接收中断时,驱动器部4被设定成容许中断来自输入模块14的由输入A或输入B等构成的输入信号。而且,驱动器部4的中断处理程序,在刚产生中断后,从输入模块14读出输入信号,向调度部1发送中断信号。
另外,调度部1接收从输入模块14读出的输入A或输入B的中断信号后,起动驱动器部4的中断处理程序。
图3是表示识别后文讲述的任务5内存在的多个事件处理单元51的任务ID、和根据驱动器部4输入的输入A或输入B的中断要因的事件(事象)的对应关系的事件表,调度部1具有该事件表格。而且,调度部1按照输入A或输入B的事件,从事件表格检索任务ID,将检索的任务ID发送给任务5。顺便指出,调度部1将输入A的中断识别为任务ID=0,将输入B的中断识别为任务ID=1,将任务ID发送给任务5,使任务5起动。另外,调度部1保存着2个任务的数据,但也可以保存3个以上(在本申请文件中“以上”、“以下”均包含本数)的数据。进而,调度部1在发送任务ID后,接收来自任务5的信号——后文讲述的返回值,从周期表格3读取任务周期时间,然后将自变量给予计时器查询部2,其结果,将任务5的下次任务处理开始时刻——任务处理信号发送给任务5。
另外,任务5是实施应用处理的程序,具有进行与任务ID对应的多个事件处理的事件处理单元51和判定继续或结束事件处理的任务判定单元52。而且,为了实施具有任务5的事件处理函数的事件处理单元51,从调度部1的事件表格检索的任务ID,转移到入口地址后,起动任务5,将前文讲述的任务判定单元的判定结果返回调度部1。
此外,实施方式涉及的任务5的事件处理单元51,还可以具有事件任务和事件起动型周期任务,调度部1支持这两种事件处理单元51。在其它的实施方式中,还可以支持周期任务。支持周期任务时,发生周期任务的计时器的中断。在实施事件起动型周期任务的期间发生它后,任务就产生等待时间,往往超过周期时间。为了避免这种情况,调度部1在起动事件起动型周期任务时,作为中断禁止;在结束该事件起动型周期任务时,容许中断。
另外,周期表格3具有图4所示的表示各事件的周期时间的表格。该周期表格3,是接收来自调度部1的任务ID、检索与任务ID对应的各事件的周期时间、向发送调度部1的程序。顺便指出,在该表中,任务ID=0时,表示事件是事件起动型周期任务;任务=1时,表示事件是不具有周期性的事件任务。另外,保存着2个任务的数据,但也可以是3个以上的任务。
计时器查询部2,是在到达目标时间之前查询计时器15,而在到达目标时刻后使作为任务处理的起动时刻的任务处理信号返回调度部1的程序。调度部1直到任务5的下一个起动时刻为止,调用计时器查询部2。调度部1,将任务5的起动型周期任务——事件处理单元51的周期,作为自变量给予计时器查询部2。在本实施方式中,由于输入了输入A或输入B后起动调度部1,所以容许输入A及输入B的中断。
图5是表示第1实施方式涉及的实时控制系统的调度部1的处理内容的控制流程图。调度部1,从驱动器部4接收中断后开始实施。首先,在步骤501中,从驱动器部4读出前文所示的中断信号。该中断信号,是旨在识别是什么样的中断的特征位,在这里是与“输入A”或“输入B”对应的特征位。
在步骤502中,使用图3所示的事件表,检索被中断信号起动的任务5。没有起动的任务5时,结束调度部;有起动的任务5的任务ID时,进入步骤503,使任务5起动。就是说,中断输入A时,给予任务ID=0;中断输入B时,给予任务ID=1。使任务5起动。该任务5的起动,通过跳到任务5的入口地址来实现。另外,需要上下文切换时,完全保存到CPU的寄存器,清除寄存器。在步骤503中,起动任务5,结束事件处理单元51的处理后,进入步骤504。这里所示的步骤503的详细内容,将用后文的图6讲述。
在步骤504中,调度部1从任务5的任务判定单元52中,作为返回值,存放“继续”或“结束”中的某一个信号。返回值是“结束”时,调度部1结束;返回值是“继续”时,进入步骤505。
步骤505,使用前文所示的任务ID,检索图4所示的周期表格3,判定任务5的周期是否为0(是否具有周期)。例如:任务ID=0(事件:输入A)时,周期成为10usec;任务ID=1(事件:输入B)时,周期成为0usec。而且,周期为0(任务ID=0)时,结束调度部1;除此之外(任务ID=2)时,任务5判断是事件起动型周期任务,进入步骤506。
在步骤506中,实行计时器查询部2,直到下一个任务起动时刻为止,等待。将用调度部1检索的周期,作为自变量,给予计时器查询部2。该计时器查询部2实行的详细内容,将用后文的图7讲述。然后,直到来自处于步骤504的任务5的返回值成为“结束”为止,反复实施一连串的步骤503~步骤506。
图6是表示图5所示的步骤503任务处理的控制流程图。首先,在步骤601中,任务5的任务判定单元52进行是“继续”还是“结束”的判定处理。判定处理,例如:设定“是否发生输入A的中断”、“事件发生后,任务5起动,实行事件处理单元51的次数是否达到规定的次数”等判定基准,根据该判定基准,进行处理,进入步骤602。在步骤602中,根据步骤601的任务判定单元52的判定处理,判断判定结果。如果判定结果是“结束”时,进入步骤603,将“结束”作为返回值,返回调度部1,使任务5结束。判定结果是“继续”时,进入步骤604,进行事件处理。在事件处理中,CPU11使用与输入A或输入B对应的事件处理单元51实行。如果有输出,就从输出模块13输出信号。然后,进入步骤605,将“继续”作为返回值,返回调度部1,结束。
图7是表示计时器查询部2的处理的控制流程图。首先,在步骤701中,读出现在时刻Tc(以下称作“Tc”)和上一次查询结束时的查询结束时刻To(以下称作“To”)。Tc是现在时刻的计时器15的值。另外,To是计时器查询部2上一次实行时的保存时的时刻。由于刚发生事件后,以计时器查询部2为首实行,所以在步骤701的实行时,To成为不定。因此,为了避免这个问题,最好在图5的步骤501和步骤502之间,调度部1读出计时器15,作为计时器查询部2的To记录。
接着,在步骤702中,求出预定下一次处理的任务5的事件处理单元51起动时刻Tn(以下称作“Tn”)。Tn根据“To+周期-Tc”求出。在从To到Tc之间,计时器15溢出时、即Tc比To小时,修正该部分后决定Tn。
然后,在步骤703中,再次从计时器15读出Tc。在步骤704中,判定Tc是否比Tn大。在Tc和Tn之间,出现计时器15溢出时、即Tn比To小时,不进行Tn和Tc的比较,直到计时器15成为溢出为止。直到步骤704的结果成为真后为止,反复进行步骤703和步骤704。步骤704成为真后,进入步骤705,在To中保存Tc。
图8及图9是表示事件处理单元51——事件周期型任务的处理的时序图,图8是现有技术的时序图,图9是本实施方式涉及的时序图。
如图8所示,在现有技术的方式中,周期任务最初用输入模块的查询判定是否发生事件,发生时,继续进行事件处理。发生输入A的中断后,在中断处理中,花费额外时间Ti(以下称作“Ti”)。然后,在任务处理中,进行判定处理时,花费判定处理时间Tj(以下称作“Tj”);进行事件处理时,花费事件处理时间Tt(以下称作“Tt”)。因为反复这样,所以本方式的最小任务周期就成为Ti+Tj+Tt。
另一方面,如图9所示,在本实施方式中,输入了输入A后,驱动器部的中断处理程序就被起动。这时,中断处理时间花费Ti。然后,调度部1起动任务5,进行判定处理。如图8所示,和Tj一样,判定处理时间花费Tj。判定处理“继续”时,进行事件处理,在事件处理时间Tt(以下称作“Tt”)之间实行。事件处理结束后,直到下一个周期为止,如果有时间,调度部1就起动计时器查询部2,只等待查询时间Tp(以下称作“Tp”)。以后,直到判断判定处理结束为止,反复进行Tj、Tt、Tp。所以,任务5的周期就成为Tj+Tt+Tp。在Tp=0时,该周期最小值就成为Tj+Tt。在这里,由于Ti是数十usec左右,而Tp在1usec以下,所以能够大幅度缩短任务的周期。
接着,图10是表示本发明的实时控制系统的第2实施方式的控制方框图。本实施方式的实时控制系统的软件,由驱动器部4’、查询部2’及任务处理单元(以下称作“任务”)5’构成。任务5’,按照应用程序的要求,可以存在两个以上。
驱动器部4’是初始设定或读出及写入中断处理程序及输入模块14的寄存器的器件驱动器。驱动器部4’在刚复位后,将输入模块14及输出模块13的寄存器初始化。在需要接收中断时,设定成容许中断来自输入模块14的中断。在本实施方式中,由于利用输入信号——输入A和输入B的中断,起动任务5’。所以驱动器部4’预先容许输入A、输入B的中断。中断处理程序,在刚发生中断后实行。驱动器部4’从输入模块14中读出输入信号,输出中断信号,进行调出任务5’的处理。在本实施方式中,输入是输入A和输入B两个,但也可以是3个以上的输入。
另外,任务5’是实施应用处理的程序。任务5’的入口地址被驱动器部4’记忆,任务5’由一个以上的函数构成,但在本实施方式中,至少具备任务判定单元52’、具有进行输入A的处理的输入A函数的事件处理单元51A和具有进行输入B的处理的输入B函数的事件处理单元51B。
另外查询部2’,是查询与驱动器部4’的输入A或输入B对应的中断信号、向任务5’输出任务处理信号的程序。在任务5’的事件处理单元51A、事件处理单元51B的实行结束时,并不立刻结束任务5’,为了确认有无中断因子,查询部2’输出被任务判定单元52’调用的任务处理信号。
图11是表示第2实施方式涉及的实时控制系统的任务5’的处理内容的控制流程图。首先,在步骤1101中,任务5’在刚被驱动器部4’起动后,读出由驱动器部4’作为自变量给予的中断信号。然后进入步骤1102,在步骤1102中,用任务判定单元52’判定中断要因——中断信号是“输入A”或“输入B”中的某个中断吗。在这里,如果是“输入A”,就进入步骤1103,实行与输入A对应的事件处理单元51A的输入A函数。输入A函数,是在发生输入A的中断时进行的函数。例如:输入A如果是发动机控制器组件的曲柄信号,那么在事件处理单元51A中,就进行点火时刻的计算等。在步骤1102中,中断信号如果是“输入B”,就进入步骤1104,实行输入B函数。如果在步骤1102中,中断信号是“无”,那就结束任务5’。接着,在步骤1105中,任务5的任务判定单元52’调用查询部2’,如果是任务处理信号就接收。然后,再次使用任务处理信号进行步骤1102的判定,直到步骤1102的判定成为“无”为止,反复进行一连串的上述作业。
步骤1102的判定,根据同时存在多个信号时的选择方式,分为两类。第一类是交替选择信号的方式。这是将上次检出的信号,记忆在存储器中,选择除此之外的信号的方式。第二类是以规定的顺序(带优先等级的顺序)选择中断要因的方式。第一方式时,由于交替选择输入A或输入B,所以能够公平地进行处理。适用于在例如输入A、输入B的处理中不存在优先等级那样的系统。第二方式时,由于必须选择输入A,只有在没有输入A时才选择输入B。或者,还可以优选实行输入处理。适用于例如输入A的处理的优先等级比输入B的等级高的系统。在本实施方式中,示出第一方式、第二方式,但也可以按照它们以外的顺序选择输入A、输入B。
另外,步骤1102的判定,还可以根据同一信号被再度检出时的判定方式分为两类。第一类是实行与被再度检出的信号对应的事件处理单元51A或事件处理单元51B的方式。第二类是不理睬被再度检出的信号、选择未检出的信号的方式。第一方式的优点是:有连续的输入时,能够不花费中断处理程序的额外时间地实行多次输入函数。
而且,这样的第一方式,适用于输入A是周期性的输入、而且其周期性与中断处理程序的额外时间相比是极其短的情况。第二方式的优点,是能够定期性地成为容许中断状态。在本实施方式中,任务5’为了确保实时性(优先等级高)而采用禁止中断的方式动作。但任务5’持续动作后,当输入了输入A或输入B以外的中断时,不能处理。因此,通过使用第二方式,进行一次输入A、输入B的处理后,就使任务5’暂时结束,输入其它中断。
图12是表示图11的步骤1105的查询处理内容的控制流程图。首先,在步骤1201中,从驱动器部4’读出中断信号。中断信号被输入模块14、输出模块13中的某一个的寄存器统一或分散地记录着。读出它们中的必要的中断信号。在本实施方式中,由于任务5’进行输入A和输入B的中断处理,所以读出输入A及输入B的中断信号。然后,在步骤1202中,将中断信号作为返回值还给任务5’。输入的数量,如果是32个以内,还能够将各输入的中断要因置换成位图,形成4字节代码,作为函数的返回值返回。如果是32个以上的输入,就可以生成保存中断要因的构造体,使其指针返回。
图13~图15是表示事件处理单元51A及处理单元51B的处理的时序图,图13是现有技术的在输入A的处理中输入了输入B时的时序图,图14是本实施方式涉及的在输入A的处理中输入了输入B时的时序图,图15是本实施方式涉及的在输入A的处理后输入了输入B时的时序图。
如图13所示,在现有技术的方式中,发生输入A的中断后,需要进行中断处理程序的处理的时间——额外时间Ti。然后,在处理时间Tt的期间,实行进行输入A的事件处理单元51A的处理。在事件处理单元51A的处理中,即使发生输入B的中断,也被禁止中断,所以实行事件处理单元51A的处理。然后,在事件处理单元51A的处理结束后,解除禁止中断,由运算器检出输入B的中断。接着,再次调用中断处理程序,在额外时间Ti后实行事件处理单元51B。
如图14所示,在本实施方式中,首先,在输入了输入A的信号后,和现有技术一样,驱动器部4’的中断处理程序,在额外时间Ti的期间进行中断处理。可是,在事件处理单元51A的处理中,发生B的中断后,该信号被存入查询部2’,到函数结束后,只在查询时间Tp中进行查询,实行事件处理单元51B。在这里,也和第1实施方式一样,对于Ti为数十usec左右而言,Tp在1usec以下,所以能够大幅度缩短任务周期。
如图15所示,在输入A和输入B的输入间隔较大时,在各个输入中,需要在额外时间Ti的基础上,再添加查询时间Tp,所以成为只在查询时间Tp中进行无效的处理。但如前所述,该时间极其短,所以不会对性能带来不良影响。
以上,详述了本发明的一种实施方式。但本发明并不局限于所述的实施方式,可以在不违背权利要求书记述的本发明的精神的范围内,进行各种设计变更。
例如:驱动器部、任务、调度部、查询部等,是将其功能集于一身的程序的内容,这些结构即使被统合及进一步分割后,其功能也不变。
另外,将第1实施方式和第2实施方式分别进行讲述,但也可以是复合这些实施方式的实施方式。特别是作为被中断的任务处理信号,使用了输入信号、计时器的信号等,但并不局限于这些信号。
另外,这些实时控制系统,例如可以在汽车的控制器(引擎预防撞座椅、安全带预张紧装置、气囊、离合器、防滑煞车系统、电控阀发动机等的控制器)及一般产业机器的控制器等中应用,只要是被输入中断信号的系统,没有特别的限制。
根据以上的讲述,可知:本发明的实时控制系统,在发生有周期性的事件时或多个事件同时发生时,能够切实实施周期任务,防止多个额外时间的累积造成处理开始时间的滞后,可进行更细微的应答的控制及对多个指令进行迅速而且切实的应答的控制的实时控制系统。
Claims (12)
1、一种实时控制系统,具有:驱动器部,其接收输入信号,输出与各种任务处理对应的中断信号;
查询部,其根据该中断信号进行查询;以及
任务处理部,其根据所述中断信号进行任务处理,
所述查询部,在所述任务结束时,根据所述查询,输出任务处理信号;所述任务处理部,根据任务处理信号进行所述任务处理。
2、根据权利要求1所述的实时控制系统,其特征在于:所述任务处理部,由执行事件处理的事件处理单元、及判定处理该事件处理的继续性的任务判定单元所构成;
所述事件处理单元,在所述判定结果是继续时,继续执行所述事件处理。
3、根据权利要求1或2所述的实时控制系统,其特征在于:所述事件处理单元,进行周期起动的事件处理。
4、根据权利要求1~3中任一项所述的实时控制系统,其特征在于:所述查询部,查询计时器,并输出成为所述任务处理的开始时刻的任务处理信号。
5、根据权利要求2~4中任一项所述的实时控制系统,其特征在于:所述任务判定单元,根据所述任务处理的继续次数、或所述任务处理中的中断信号的有无,判定所述任务处理的继续性。
6、根据权利要求2~5中任一项所述的实时控制系统,其特征在于:具有调度部,其与所述驱动器部、所述任务处理部及所述查询部通信,相应所述中断信号的接收而起动,存放所述判定结果。
7、根据权利要求6所述的实时控制系统,其特征在于:所述调度部,具有记录与所述事件处理单元对应的周期的周期表;
所述任务判定单元,在所述事件处理完毕时,根据所述周期表的信号,判定所述事件处理的继续性。
8、根据权利要求6或7所述的实时控制系统,其特征在于:所述调度部,在所述任务判定单元起动的期间,在存入成为结束的所述判定结果之前,禁止所述中断信号中断所述任务。
9、根据权利要求1或2所述的实时控制系统,其特征在于:所述查询部,查询在所述任务处理期间发生的所述中断信号,输出与该中断信号对应的、执行所述事件处理的所述任务处理信号。
10、根据权利要求9所述的实时控制系统,其特征在于:所述任务判定单元,根据有无所述任务处理信号,判定所述事件处理的继续性。
11、根据权利要求2或10所述的实时控制系统,其特征在于:当同时检出多个所述任务处理信号时,所述任务判定单元,给所述任务处理信号的每一个附加优先等级后读出。
12、根据权利要求2或10所述的实时控制系统,其特征在于:当同时检出多个所述任务处理信号时,所述任务判定单元,在所述检出时,优先读出不同于与所述事件处理单元正在进行事件处理的处理所对应的所述任务处理信号的信号。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/009877 WO2005013130A1 (ja) | 2003-08-04 | 2003-08-04 | リアルタイム制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1802634A true CN1802634A (zh) | 2006-07-12 |
Family
ID=34113486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA038267322A Pending CN1802634A (zh) | 2003-08-04 | 2003-08-04 | 实时控制系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7484214B2 (zh) |
EP (1) | EP1653354A4 (zh) |
JP (1) | JPWO2005013130A1 (zh) |
CN (1) | CN1802634A (zh) |
WO (1) | WO2005013130A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102632308A (zh) * | 2012-03-22 | 2012-08-15 | 江苏省艾格森数控设备制造有限公司 | 电火花成型机的控制方法 |
WO2017091963A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN108521951A (zh) * | 2018-03-28 | 2018-09-14 | 贵州大学 | 一种播种单体减振自动控制方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4856983B2 (ja) * | 2006-03-02 | 2012-01-18 | 株式会社日立製作所 | ストレージシステム及びスケジューリング方法 |
JP5427008B2 (ja) * | 2009-11-27 | 2014-02-26 | 富士通テン株式会社 | 車載表示システム |
JP5659995B2 (ja) * | 2011-10-06 | 2015-01-28 | 株式会社デンソー | 電子制御装置 |
US9507513B2 (en) | 2012-08-17 | 2016-11-29 | Google Inc. | Displaced double tap gesture |
CN104199353A (zh) * | 2014-08-22 | 2014-12-10 | 山东超越数控电子有限公司 | 一种冷备份与热备份组合的双主机指挥控制系统 |
JP6504089B2 (ja) * | 2016-03-10 | 2019-04-24 | 横河電機株式会社 | 工程監視装置、工程監視システム、工程監視方法、工程監視プログラム及び記録媒体 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3913070A (en) * | 1973-02-20 | 1975-10-14 | Memorex Corp | Multi-processor data processing system |
JPS60176145A (ja) * | 1984-02-23 | 1985-09-10 | Fujitsu Ltd | 割込み処理回路 |
JPS62209626A (ja) * | 1986-03-10 | 1987-09-14 | Casio Comput Co Ltd | 割り込み制御方式 |
US5081577A (en) * | 1989-12-22 | 1992-01-14 | Harris Corporation | State controlled device driver for a real time computer control system |
US5201053A (en) * | 1990-08-31 | 1993-04-06 | International Business Machines Corporation | Dynamic polling of devices for nonsynchronous channel connection |
US5153837A (en) * | 1990-10-09 | 1992-10-06 | Sleuth Inc. | Utility consumption monitoring and control system |
FR2677474B1 (fr) * | 1991-06-04 | 1993-09-24 | Sextant Avionique | Dispositif permettant d'accroitre les performances d'un noyau d'executif temps reel associe a une structure multiprocesseur pouvant comprendre un nombre eleve de processeurs. |
US5404536A (en) | 1992-09-15 | 1995-04-04 | Digital Equipment Corp. | Scheduling mechanism for network adapter to minimize latency and guarantee background processing time |
US5440746A (en) * | 1992-11-06 | 1995-08-08 | Seiko Epson Corporation | System and method for synchronizing processors in a parallel processing environment |
US5471618A (en) * | 1992-11-30 | 1995-11-28 | 3Com Corporation | System for classifying input/output events for processes servicing the events |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
US5619409A (en) * | 1995-06-12 | 1997-04-08 | Allen-Bradley Company, Inc. | Program analysis circuitry for multi-tasking industrial controller |
JPH0926887A (ja) * | 1995-07-12 | 1997-01-28 | Mitsubishi Electric Corp | オペレーティングシステム及びこれを用いるデータ処理装置 |
EP0768609B1 (en) | 1995-10-16 | 2003-06-25 | Hitachi, Ltd. | Multimedia data transferring method |
US6154832A (en) * | 1998-12-04 | 2000-11-28 | Advanced Micro Devices, Inc. | Processor employing multiple register sets to eliminate interrupts |
US7257814B1 (en) * | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US6366686B1 (en) | 1999-01-19 | 2002-04-02 | National Instruments Corporation | Video acquisition system including an improved event architecture |
JP2000250764A (ja) | 1999-02-26 | 2000-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 周期タスク制御方法および周期タスク制御プログラムを記憶した記憶媒体 |
US6434708B1 (en) * | 1999-04-09 | 2002-08-13 | Integrated Technology Express, Inc. | Programmable timer & methods for scheduling time slices executed by a controller circuit |
US6633942B1 (en) * | 1999-08-12 | 2003-10-14 | Rockwell Automation Technologies, Inc. | Distributed real-time operating system providing integrated interrupt management |
US6425038B1 (en) * | 1999-09-28 | 2002-07-23 | Rockwell Automation Technologies, Inc. | Conversion of desk-top operating system for real-time control using installable interrupt service routines |
US7058949B1 (en) * | 2000-11-08 | 2006-06-06 | Unisys Corporation | Operating system scheduler/dispatcher with randomized resource allocation and user manipulable weightings |
JP3578082B2 (ja) | 2000-12-20 | 2004-10-20 | 株式会社デンソー | 処理実行装置及び記録媒体 |
US20020165999A1 (en) * | 2001-03-07 | 2002-11-07 | Ajile Systems, Inc. | Apparatus and method for interfacing hardware events with software events |
US20030014474A1 (en) * | 2001-05-30 | 2003-01-16 | Mckaig Ray S. | Alternate zero overhead task change circuit |
JP2003015885A (ja) * | 2001-07-05 | 2003-01-17 | Canon Inc | 割り込み制御手段 |
JP2003036176A (ja) * | 2001-07-24 | 2003-02-07 | Sony Corp | 割り込み処理システム |
US20040049628A1 (en) * | 2002-09-10 | 2004-03-11 | Fong-Long Lin | Multi-tasking non-volatile memory subsystem |
US7313797B2 (en) * | 2002-09-18 | 2007-12-25 | Wind River Systems, Inc. | Uniprocessor operating system design facilitating fast context switching |
US20040088704A1 (en) * | 2002-10-30 | 2004-05-06 | Advanced Simulation Technology, Inc. | Method for running real-time tasks alongside a general purpose operating system |
-
2003
- 2003-08-04 CN CNA038267322A patent/CN1802634A/zh active Pending
- 2003-08-04 EP EP03817783A patent/EP1653354A4/en not_active Withdrawn
- 2003-08-04 WO PCT/JP2003/009877 patent/WO2005013130A1/ja active Application Filing
- 2003-08-04 JP JP2005507400A patent/JPWO2005013130A1/ja active Pending
- 2003-08-04 US US10/566,359 patent/US7484214B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102632308A (zh) * | 2012-03-22 | 2012-08-15 | 江苏省艾格森数控设备制造有限公司 | 电火花成型机的控制方法 |
CN102632308B (zh) * | 2012-03-22 | 2013-08-28 | 江苏省艾格森数控设备制造有限公司 | 电火花成型机的控制方法 |
WO2017091963A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN108292236A (zh) * | 2015-11-30 | 2018-07-17 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN108521951A (zh) * | 2018-03-28 | 2018-09-14 | 贵州大学 | 一种播种单体减振自动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1653354A1 (en) | 2006-05-03 |
US20060242650A1 (en) | 2006-10-26 |
WO2005013130A1 (ja) | 2005-02-10 |
JPWO2005013130A1 (ja) | 2006-09-28 |
US7484214B2 (en) | 2009-01-27 |
EP1653354A4 (en) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7650601B2 (en) | Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment | |
CN1828563A (zh) | 处理器及信息处理方法 | |
US20080140896A1 (en) | Processor and interrupt controlling method | |
CN1802634A (zh) | 实时控制系统 | |
CN101046756A (zh) | 用于解决计算资源死锁的设备、系统以及方法 | |
CN1517867A (zh) | 进程调度装置、进程调度方法、程序以及记录媒体 | |
US20090292846A1 (en) | Method of interrupt scheduling | |
JP4241462B2 (ja) | 制御ユニットおよびマイクロコンピュータ | |
JP4985662B2 (ja) | プログラム、及び制御装置 | |
CN1584840A (zh) | 存储器管理系统以及在多任务系统中的任务控制器 | |
CN1794183A (zh) | Java操作系统中实时任务调度的实现方法 | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及系统 | |
CN1172986A (zh) | 实时控制系统 | |
US20100281485A1 (en) | Method For Changing Over A System Having Multiple Execution Units | |
US9170839B2 (en) | Method for job scheduling with prediction of upcoming job combinations | |
US8555285B2 (en) | Executing a general-purpose operating system as a task under the control of a real-time operating system | |
CN1783016A (zh) | 计算机系统 | |
CN100351793C (zh) | 支持osek标准的嵌入式实时操作系统的任务调度方法 | |
CN107577547B (zh) | 一种高性能集群的紧急作业续算方法以及系统 | |
CN1384431A (zh) | 上下文保存 | |
KR101513505B1 (ko) | 프로세서 및 인터럽트 처리 방법 | |
CN109710390B (zh) | 单线程处理器的多任务处理方法及处理系统 | |
CN1890641A (zh) | 任务管理系统 | |
CN115099666A (zh) | 一种机器人调度方法和装置、电子设备 | |
CN112685147A (zh) | 中断响应方法、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1091286 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20060712 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1091286 Country of ref document: HK |