JP2015136259A - イベント管理装置、イベント管理方法およびモータシステム - Google Patents

イベント管理装置、イベント管理方法およびモータシステム Download PDF

Info

Publication number
JP2015136259A
JP2015136259A JP2014007236A JP2014007236A JP2015136259A JP 2015136259 A JP2015136259 A JP 2015136259A JP 2014007236 A JP2014007236 A JP 2014007236A JP 2014007236 A JP2014007236 A JP 2014007236A JP 2015136259 A JP2015136259 A JP 2015136259A
Authority
JP
Japan
Prior art keywords
task
trigger
event management
generated
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014007236A
Other languages
English (en)
Other versions
JP6117120B2 (ja
Inventor
朋之 寺山
Tomoyuki Terayama
朋之 寺山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014007236A priority Critical patent/JP6117120B2/ja
Priority to US14/474,300 priority patent/US20150202969A1/en
Priority to EP14183534.8A priority patent/EP2897048A1/en
Publication of JP2015136259A publication Critical patent/JP2015136259A/ja
Application granted granted Critical
Publication of JP6117120B2 publication Critical patent/JP6117120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L50/00Electric propulsion with power supplied within the vehicle
    • B60L50/10Electric propulsion with power supplied within the vehicle using propulsion power supplied by engine-driven generators, e.g. generators driven by combustion engines
    • B60L50/16Electric propulsion with power supplied within the vehicle using propulsion power supplied by engine-driven generators, e.g. generators driven by combustion engines with provision for separate direct mechanical propulsion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/10Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
    • Y02P80/15On-site combined power, heat or cool generation or distribution, e.g. combined heat and power [CHP] supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

【課題】より高性能なイベント管理装置およびイベント管理方法、ならびに、そのようなイベント管理装置を用いたモータシステムを提供する。【解決手段】実施形態によれば、複数のトリガのそれぞれと、タスク開始ポインタと、が互いに関連付けられたイベントキューレジスタと、前記複数のトリガのうちのいずれかが生成されると、生成されたトリガと関連付けられたタスク開始ポインタに基づいてタスクを実行するタスク実行制御部と、を備え、前記複数のトリガのうちの少なくとも1つは、イベント管理装置内で生成される自己トリガである、イベント管理装置が提供される。【選択図】図6

Description

本発明の実施形態は、イベント管理装置、イベント管理方法およびモータシステムに関する。
一般に、イベント管理装置はCPUのみにより起動制御されることが想定されている。CPUによる起動制御では処理実行のオーバーヘッドなどが発生するため、モータ制御処理などにおける厳しいハードリアルタイム性能要求を満たせないおそれがある。
特開2010−73214号公報
より高性能なイベント管理装置およびイベント管理方法、ならびに、そのようなイベント管理装置を用いたモータシステムを提供する。
実施形態によれば、複数のトリガのそれぞれと、タスク開始ポインタと、が互いに関連付けられたイベントキューレジスタと、前記複数のトリガのうちのいずれかが生成されると、生成されたトリガと関連付けられたタスク開始ポインタに基づいてタスクを実行するタスク実行制御部と、を備え、前記複数のトリガのうちの少なくとも1つは、イベント管理装置内で生成される自己トリガである、イベント管理装置が提供される。
本実施形態に係るイベント管理装置100を用いたモータシステムの概略構成を示すブロック図。 トリガおよびタスクの一例を説明する図。 トリガおよびタスクの別の例を説明する図。 トリガおよびタスクのまた別の例を説明する図。 トリガおよびタスクのまた別の例を説明する図。 イベント管理装置100の概略構成を示すブロック図。 タスクスケジュールテーブル42の構造の一例を示す図。 イベント管理装置100の処理動作の一例を示すフローチャート。 S1後の各レジスタの値を模式的に示す図。 S3後の各レジスタの値を模式的に示す図。 S4後の各レジスタの値を模式的に示す図。 S8後の各レジスタの値を模式的に示す図。 図3に示す自己トリガによるイベント管理装置100の処理動作の具体例を説明する図。 図3に示す自己トリガによるイベント管理装置100の処理動作の別の具体例を説明する図。 イベント管理装置100の処理動作の別の例を示すフローチャート。 S3後の各レジスタの値を模式的に示す図。 S8後の各レジスタの値を模式的に示す図。 多重イベントトリガ要求発生時の各レジスタの値を模式的に示す図。 多重イベント受付状態での各レジスタの値を模式的に示す図。
以下、実施形態について、図面を参照しながら具体的に説明する。本実施形態に係るイベント管理装置100は、一例としてモータを制御するために用いられる。
図1は、本実施形態に係るイベント管理装置100を用いたモータシステムの概略を示すブロック図である。モータシステムは、CPU(Central Processing Unit)2と、イベント管理装置100と、PMD(Programmable Motor Driver)3と、インバータ4と、モータ5と、電流センサ6aと、ADC(Analog to Digital Converter)6bと、回転角センサ7aと、角度変換器7bと、を備えている。CPU2、イベント管理装置100、PMD3、ADC6bおよび角度変換器7bは、MCU(Micro Control Unit)1上に搭載されてもよい。
CPU2はイベント管理装置100を制御する。図示していないが、CPU2が複数のイベント管理装置100を制御してもよい。イベント管理装置100はベクトルエンジンとも呼ばれ、起動イベントトリガ(以下単にトリガという)に同期してタスクを実行する。PMD3は、イベント管理装置100の制御に応じて、インバータ4を制御するための制御信号を生成する。インバータ4は制御信号に応じてモータ5を駆動する。電流・電圧センサ6aはモータ5におけるアナログ値(例えばモータ5に流れる電流や各部の電圧)を検出する。ADC6bは検出されたアナログ値に対してAD変換を行ってデジタル信号を得る。回転角センサ7aはモータ5の回転角を検出する。角度変換器7bは検出された回転角を角度に変換する。なお、PMD3およびインバータ4はモータ5を制御するものであるため、両者を合わせてモータ制御部とも呼ぶ。
イベント管理装置100には複数種類のトリガが入力される。トリガの1つはCPU2によって生成されるCPUトリガであってもよい。また、トリガの1つはイベント管理装置100自身が生成する自己トリガであってもよい。さらに、トリガの1つは、CPU2およびイベント管理装置100以外のユニットが生成する外部トリガであってもよい。外部トリガは、例えば、PMD3を周期的に動作させるためのキャリア信号(三角波信号、鋸波信号)に基づくトリガ、AD変換処理が完了したことに同期してADC6bが生成するADCトリガ、回転角センサ7aにより検出されたモータ5の回転角に基づいて角度変換器7bが生成する回転角トリガなどがある。
仮にCPU2しかトリガを生成できないとすると、ハードリアルタイム性能要求が厳しいモータ5の制御において、処理実行のオーバーヘッドにより性能要求を満たせなかったり、CPU2からのオフロード処理において自走制御が困難であったりする。そこで本実施形態では、CPUトリガだけでなく、自己トリガや外部トリガに同期してタスクを実行可能なイベント管理装置100を用いる。
以下、トリガおよびタスクの具体例を説明する。
図2は、CPUトリガおよびタスクの例を説明する図である。同図は「ベクトル制御」と呼ばれるモータ制御に適用される。CPU2は、CPUトリガとして、起動コマンドをイベント管理装置100に発行する。このCPUトリガに応じて、イベント管理装置100は予め定めた出力スケジュールの結果に基づいてPMD3にデータをセットする。そして、PMD3は、インバータ4を介してモータ5を駆動するとともに、ADC6bにPMDトリガを発行する。
このPMDトリガに応じて、電流・電圧センサ6aおよびADC6bは、モータ5におけるアナログ値をデジタル信号に変換する。このAD変換処理が完了すると、ADC6bはイベント管理装置100にADCトリガ(ADC割込み)を発行する。このADCトリガに応じて、イベント管理装置100は予め定めた入力スケジュールに基づいてデジタル信号を取得し、割込みとしてCPUに転送する。このような処理が繰り返される。
図3は、自己トリガおよびタスクの例を説明する図である。図3では、イベント管理装置100自身が生成する自己トリガについて説明している。自己トリガは、例えば分割されたタスクスケジュールの制御に用いられる。自己トリガによる具体的な動作例については後述する。
図4は、外部トリガおよびタスクの例を説明する図である。同図は、モータ5の回転角に基づくトリガにおける処理を示しており、「矩形波駆動」と呼ばれるモータ制御に適用される。回転角センサ7aおよび角度変換器7bは、例えばモータ回転角60度ごとに、回転角トリガをイベント管理装置100に発行する。この回転角トリガに応じて、イベント管理装置100は、例えばADC6bからAD変換データを直接取り込んで、タスクスケジュール制御処理を行う。
図5は、外部トリガおよびタスクの例を説明する図である。同図は、PMD3を周期的に動作させるためのキャリア信号に基づくトリガにおける処理を示しており、「三角波/過変調駆動」と呼ばれるモータ制御に適用される。イベント管理装置100はPMD3に所定周期の三角波(PWM波形)をキャリア信号として供給する。そして、PMD3は三角波に同期して(例えば三角波の山(ピーク)と谷(ボトム)の半周期ごとに)、イベント管理装置100にトリガを発行する。このトリガに応じて、イベント管理装置100は、例えばADC6bからAD変換データを、回転角センサ7aおよび角度変換器7bからモータ5の回転角情報をそれぞれ直接取り込んで、タスクスケジュール制御処理を行う。
続いて、イベント管理装置100について説明する。図6は、イベント管理装置100の概略を示すブロック図である。イベント管理装置100は、CPUトリガレジスタ(CPU TRG)11と、自己トリガレジスタ(SELF TRG)12と、イベントコントローラ13と、タスクスケジューラ14と、タスク実行制御部15と、命令メモリ16とを備えている。
なお、図6の周辺モジュール8は、図1のPMD3、ADC6bおよび回転角センサ7aなどイベント管理装置100に接続されているモジュールの総称であり、外部トリガを生成可能な任意のモジュールである。以下では、トリガとして10種類のトリガTRG0〜TRG9が生成される例を説明する。ここでは、トリガTRG0がCPUトリガであり、トリガTRG1が自己トリガであり、トリガTRG2〜9が外部トリガとする。
命令メモリ16には、スケジュール実行の最小単位であるタスクが、タスクコードとして格納されている。本実施形態では、32個のタスクコードTASK0〜TASK31が命令メモリ16に格納されているとする。これらタスクコードの少なくとも1つが、自己トリガを生成するタスクであってもよい。
CPUトリガレジスタ11には、CPUトリガが設定される。 自己トリガレジスタ12には、自己トリガが設定される。
イベントコントローラ13は、どのトリガが生成されたかに応じて、実行すべきタスクを指定する。イベントコントローラ13は、起動イベント選択部20と、イベントキュー30とを有する。
起動イベント選択部20は、選択レジスタ(SEL)21と、マルチプレクサ22とを有する。選択レジスタ21には、複数のトリガが同時に生成された場合に、いずれのトリガを優先して処理すべきかを示す値が設定される。マルチプレクサ22は、複数のトリガが同時に生成された場合に、選択レジスタ21に設定された値に基づき、トリガを1つずつ順に選択する。なお、起動イベント選択部20は省略してもよい。
イベントキュー30は、イベントキューレジスタ(EVTQ)31と、マルチプレクサ32と、制御レジスタ(CNT)33と、原因レジスタ(CAUSE)34と、状態レジスタ(STATUS)35と、イベント制御部36とを有する。
イベントキューレジスタ31には、複数のトリガTRG0〜TRG9のそれぞれと、タスク開始ポインタPTRとが互いに関連付けられている。本実施形態のイベントキューレジスタ31には、10種類のトリガに関連付けられた10個のタスク開始ポインタPTRが設定される。タスク開始ポインタPTRは、タスクコードTASK0〜TASK31とそれぞれ対応する0〜31のいずれかの値に設定される。以下では、トリガTRGk(k=0〜9)にタスク開始ポインタPTRkが関連付けられているものとする。
マルチプレクサ32は、イベント制御部36の制御に基づいて、タスク開始ポインタPTR0〜PTR9のうちの1つを選択する。選択されたタスク開始ポインタはタスクスケジューラ14に出力される。
制御レジスタ33は各トリガに対応して設けられ、イネーブル信号が設定される。例えば、制御レジスタ33が“0”に設定されていれば、対応するトリガTRGkが生成されてもタスクの実行が禁止されることを示す。一方、制御レジスタ33が“1”に設定されていれば、対応するトリガTRGkが生成された場合にタスクの実行が許可されることを示す。
原因レジスタ34は各トリガに対応して設けられ、多重イベントトリガ要求の有無が設定される。多重イベントトリガ要求とは、あるトリガに応じてタスクが実行されている最中に、さらに同一のトリガが生成された状態をいう。例えば、原因レジスタ34が“0”に設定されていれば、対応するトリガTRGkについて多重イベントトリガ要求がないことを示す。一方、原因レジスタ34が“1”に設定されていれば、対応するトリガTRGkについて多重イベントトリガ要求が発生したことを示す。このような多重イベントトリガ要求は本来禁止されているが、発生することもあり得る。そこで、原因レジスタ34を設けることで、多重イベントトリガの発生を検出できる。原因レジスタ34に設定された値はフェールセーフ情報として利用できる。
状態レジスタ35は各トリガに対応して設けられ、受付状態レジスタ(RCV)35aと、実行状態レジスタ(VLD)35bとを含む。
受付状態レジスタ35aには、トリガが生成されたか否かを示す値が設定される。例えば、受付状態レジスタ35aが“0”に設定されていれば、対応するトリガTRGkが生成されていないことを示す。一方、受付状態レジスタ35aが“1”に設定されていれば、対応するトリガTRGkが生成されたことを示す。
実行状態レジスタ35bには、トリガに応じたタスクが実行中であるか否かを示す値が設定される。例えば、実行状態レジスタ35bが“0”に設定されていれば、対応するトリガTRGkに応じたタスクが実行中でないことを示す。一方、実行状態レジスタ35bが“1”に設定されていれば、対応するトリガTRGkに応じたタスクが実行中であることを示す。
イベント制御部36は、制御レジスタ33、原因レジスタ34および状態レジスタ35への書き込みおよび読み出しを行う。また、イベント制御部36は、これらのレジスタから読み出した値に基づく制御を行う。例えば、イベント制御部36は、状態レジスタ35から読み出した値に基づいて、マルチプレクサ32がいずれのタスク開始ポインタを選択すべきかを設定する。また、イベント制御部36は、状態レジスタ35から読み出した値に基づいて、タスクスケジューラ14にタスクスケジューラ動作を指示する。さらに、イベント制御部36はタスクが終了した旨の通知をタスクスケジューラ14から受信し、これに応じて状態レジスタ35を書き換える。
タスクスケジューラ14はイベントコントローラ13からの制御に応じてタスクスケジューラ動作を行う。より具体的には、タスクスケジューラ14は、イベントコントローラ13から出力されるタスク開始ポインタに応じて、実行されるべきタスクを制御する。タスクスケジューラ14は、タスク開始ポインタレジスタ41(TSKINITP)と、タスクスケジュールテーブル42と、タスクスケジュール制御部43と、タスク起動制御部44とを有する。
タスク開始ポインタレジスタ41には、マルチプレクサ32によって選択されたタスク開始ポインタPTRが設定される。タスクスケジュールテーブル42には、タスクスケジュール(例えば、図2の出力スケジュールや入力スケジュール)として、タスク開始ポインタレジスタ41に設定されたタスク開始ポインタPTRと、実行されるべきタスクとの関係が予め設定されている。
図7は、タスクスケジュールテーブル42の構造の一例を示す図である。タスクスケジュールテーブル42には、タスク開始ポインタPTR、実行タスクコード、ENDビットおよびADCビットが互いに関連付けられている。ENDビットおよびADCビットは、制御ビットとも呼ばれる。
実行タスクコードは、関連付けられたタスク開始ポインタPTRに応じて、初めに実行されるべきタスクを示す。
ENDビットは“0”または“1”に設定される。ENDビットが“0”に設定されていれば、関連付けられた実行タスクコードが示すタスクの実行後、タスクスケジュールテーブル42において後続のタスクを実行すべきことを示す。ENDビットが“1”に設定されていれば、関連付けられた実行タスクコードが示すタスクの実行後、タスクスケジューラ動作を完了すべきことを示す。
ADCビットは“0”または“1”に設定される。ADCビットが“1”に設定されていれば、関連付けられた実行タスクコードが示すタスクの実行後、ADCトリガが生成されるまで「待ち状態」とすべきことを示す。つまり、ADCビットが“1”に設定されている場合、ADCトリガの生成によって、後続のタスクが実行される。
図7の例では、タスク開始ポインタレジスタ41にタスク開始ポインタPTR0が設定された場合、まずTASK5で示されるタスクが実行され、続いて、TASK6で示されるタスクが実行される。その後、イベント管理装置100はADCトリガが生成されるのを待つ。ADCトリガが生成されると、TASK9で示されるタスクが実行される。続いて、TASK7で示されるタスクが実行された後、タスクスケジューラ動作が完了する。
タスクスケジュール制御部43は、イベント制御部36からタスク制御の指示を受けると、タスクスケジュールテーブル42に基づいてタスクスケジューラ動作を行う。より具体的には、タスクスケジュール制御部43は、タスクスケジュールテーブル42から制御ビットを読み出し、タスク起動制御部44に通知する。
タスク起動制御部44は、タスク開始ポインタPTRに応じてタスクスケジュールテーブル42から実行タスクコードを読み出し、これをタスク実行制御部15に通知する。
タスク実行制御部15は、通知されたタスクコードを命令メモリ16から読み出し、これを実行する。また、タスク実行制御部15はタスクの実行が完了すると、その旨をタスク起動制御部44を介してタスクスケジュール制御部43に通知する。この通知に応じて、タスクスケジュール制御部43は、タスクスケジュールテーブル42から制御ビットを読み出す。タスク起動制御部44は読み出された制御ビットに応じた処理(例えば、後続のタスクを実行したり、ADCタスクが実行されるのを待ったり)を行う。
図8は、イベント管理装置100の処理の一例を示すフローチャートである。なお、図8は、1つのトリガTRGが生成された場合の処理を示している。
まず、各レジスタが初期設定される(S1)。図9は、S1後の各レジスタの値を模式的に示す図である。例えば、制御レジスタ33には、各トリガTRGに応じてタスクの実行を許可する“1”が設定される。原因レジスタ34、状態レジスタ35における受付状態レジスタ35aおよび実行状態レジスタ35bには、“0”が初期値として設定される。また、所定のタスク開始コードPTRがイベントキューレジスタ31に設定される。なお、この段階では、タスク開始ポインタレジスタ41には何も設定されない。
イベント管理装置100はトリガTRGが生成されるのを待つ(S2)。トリガTRGが生成されると(S2のYES)、イベント制御部36は生成されたトリガTRGに対応する受付状態レジスタ35aを“1”に設定する(S3)。以下、トリガTRG0が生成された場合を例に取って説明を続ける。
図10は、S3後の各レジスタの値を模式的に示す図である。図示のように、トリガTRG0に対応する受付状態レジスタ35aが“1”に設定される。他の受付状態レジスタ35aは“0”のままである。
S3の後、タスク開始ポインタレジスタ41には、トリガTRG0に関連付けられたタスク開始ポインタPTR0が設定される。さらに、イベント制御部36は、トリガTRG0に対応する受付状態レジスタ35aおよび実行状態レジスタ35bを、それぞれ“0”,“1”に設定する(S4)。これにより、タスクスケジューラ14が起動する。
図11は、S4後の各レジスタの値を模式的に示す図である。タスク開始ポインタレジスタ(TSKINITP)41にタスク開始ポインタPTR0が設定され、かつ、トリガTRG0に対応する受付状態レジスタ35aおよび実行状態レジスタ35bが、それぞれ“0”,“1”に設定される。
次に、タスクスケジュール制御部43は、タスク開始ポインタPTR0に関連付けられた制御ビットをタスクスケジュールテーブル42から読み出し、タスク起動制御部44に通知する(S5)。タスク起動制御部44はタスク開始ポインタPTR0に関連付けられた実行タスクコードをタスクスケジュールテーブル42から読み出す。読み出された実行タスクコードはタスク実行制御部15に通知される。これにより、タスク実行制御部15は通知されたタスクコードを実行する(S6)。
図7に例示するタスクスケジュールテーブル42によると、タスク開始ポインタPTR0が設定された場合、タスクコードTASK5,TASK6,TASK9およびTASK7が順に実行される。最後のタスクコードTASK7が実行されすべてのタスクコードの実行が完了すると(S7のYES)、タスクスケジューラ14の動作が完了し、その旨がタスクスケジューラ14からイベント制御部36へ通知される。これに応じて、イベント制御部36はトリガTRG0に対応する実行状態レジスタ35bを“0”に設定する(S8)。そして、イベント管理装置100は次のトリガTRGが生成されるのを待つ(S2)。
図12は、S8後の各レジスタの値を模式的に示す図である。図示のように、すべての受付状態レジスタ35aおよび実行状態レジスタ35bが“0”に設定され、次のトリガTRGを受付可能な状態となる。
図13は、図3に示す自己トリガによるイベント管理装置100の処理の具体例を説明する図である。図13(a)はイベントキューレジスタ31であり、図13(b)はタスクスケジュールテーブル42であり、図示するように設定されていたとする。ここで、トリガTRG0は外部トリガであり、トリガTRG1,TRG2は自己トリガであるとする。より具体的には、トリガTRG1はタスクTASK3を実行することによって生成され、トリガTRG2はタスク12を実行することにより生成される。
トリガTRG0が生成されると、タスク開始ポインタPTR0およびタスクスケジュールテーブル42に基づいて、タスクTASK1,TASK2,TASK3が順に実行される。TASK3が実行されることで、自己トリガTRG1が生成される。
トリガTRG1が生成されると、タスク開始ポインタPTR3およびタスクスケジュールテーブル42に基づいて、タスクTASK11,TASK12が順に実行される。TASK12が実行されることで、自己トリガTRG2が生成される。
トリガTRG2が生成されると、タスク開始ポインタPTR5およびタスクスケジュールテーブル42に基づいて、タスクTASK21,TASK22,TASK23,TASK24が順に実行され、タスクスケジュール動作は完了する。
図14は、図3に示す自己トリガによるイベント管理装置100の処理の別の具体例を説明する図である。図14(a)に示すようにイベントキューレジスタ31が設定され、図14(b)に示すようにタスクスケジュールテーブル42が設定されていたとする。ここで、トリガTRG0,TRG1は外部トリガであり、トリガTRG2は自己トリガであるとする。より具体的には、トリガTRG2はタスクTASK3を実行することによって生成される。
また、タスクTASK1〜TASK7のまとまりを、便宜上スケジュール1と呼ぶ。そして、タスクTASK11,TASK12のまとまりを、スケジュール2と呼ぶ。図14(b)に示すように、スケジュール1は、タスクTASK1〜TASK3と、タスクTASK4〜TASK7に分割されている。
イベント管理装置100では、外部トリガTRG0が生成された後に外部トリガTRG1が生成された場合、スケジュール1を中断してスケジュール2を実行できる。以下、詳細に説明する。
トリガTRG0が生成されると、タスク開始ポインタPTR0およびタスクスケジュールテーブル42に基づいて、タスクTASK1,TASK2が順に実行される。
さらにタスクTASK3の実行中に、トリガTRG1が生成されたとする。この場合、まずタスクTASK3の実行を完了し、自己トリガTRG2が生成される。この自己トリガTRG2は受付状態レジスタ35aにキューイングされる。
そして、トリガTRG1に対応するタスク開始ポインタPTR3およびタスクスケジュールテーブル42に基づいて、タスクTASK11,TASK12が順に実行される。これにより、スケジュール2が完了する。
続いて、キューイングされた自己トリガTRG2に対応するタスク開始ポインタPTR5およびタスクスケジュールテーブル42に基づいて、タスクTASK4,TASK5,TASK6,TASK7が順に実行される。以上により、タスクスケジュール動作は完了する。このように、本実施形態では自己トリガを用いるため、スケジュール1を、タスクTASK1〜TASK3と、タスクTASK4〜TASK7に分割して実行できる。
図15は、イベント管理装置100の処理の別の例を示すフローチャートである。なお、図8とは異なり、図15は複数のトリガTRGが同時に生成された場合の処理を示している。以下、図8との相違点を中心に説明する。
複数のトリガTRGが生成された場合(S2のYES)、イベント制御部36は生成されたすべてのトリガTRGに対応する受付状態レジスタ35aを“1”に設定する(S3)。以下、トリガTRG0,TRG1が生成された場合の例を説明する。
図16は、S3後の各レジスタの値を模式的に示す図である。トリガTRG0,TRG1に対応する2つの受付状態レジスタ35aが“1”に設定される。そして、タスクスケジューラ14およびタスク実行制御部15により、予め定めた優先順位が高い順にタスクが実行される。ここでは、トリガTRG0〜TRG9の順に優先順位が高いものとする。この場合、トリガTRG0に対応するタスクが先に実行される(S4〜S6)。そして、トリガTRG0に対応するタスクの終了後(S7のYES)、トリガTRG0に対応する実行状態レジスタ35bが“0”に設定される(S8)。
図17は、S8後の各レジスタの値を模式的に示す図である。トリガTRG0に対応する受付状態レジスタ35aおよび実行状態レジスタ35bは“0”に設定される。一方、トリガTRG1に対応する受付状態レジスタ35aは“1”のままである。
このように、“1”に設定された受付状態レジスタ35aが残っている場合(S9のYES)、後続のタスクが実行される。すなわち、トリガTRG1に対応するタスクが実行される(S4〜S6)。以降の処理は図8と同様であるので、説明を省略する。
続いて、多重イベントトリガ要求について説明する。例えば、トリガTRG0が生成され、トリガTRG0に対応するタスクが実行されているときに、さらにトリガTRG0が生成されたとする。この場合、イベント制御部36はトリガTRG0に対応する受付状態レジスタ35aを“1”に設定する。各レジスタの値は図18のようになる。
このような場合でも、タスクスケジューラ14は実行中のスケジュールを継続して実行する。一方、イベント制御部36はトリガTRG0に対応するタスクの実行中にトリガTRG0が生成されたとして、原因レジスタ34を“1”に設定する。これにより、各レジスタの値は図19のようになり、イベント管理装置100は多重イベント受付状態となる。
このように、本実施形態では、イベントキューレジスタ31に、複数のトリガと、タスク開始ポインタとを関連付けて設定する。このトリガには、イベント管理装置100自身が生成する自己トリガを含んでいる。そのため、スケジュールを分割して実行することが可能となり、高性能なタスクスケジュール制御を実現できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
2 CPU
3 PMD
4 インバータ
5 モータ
6a 電流・電圧センサ
6b ADC
7a 回転角センサ
7b 角度変換器
15 タスク実行制御部
20 起動イベント選択部
31 イベントキューレジスタ
100 イベント管理装置

Claims (5)

  1. 複数のトリガのそれぞれと、タスク開始ポインタと、が互いに関連付けられたイベントキューレジスタと、
    前記複数のトリガのうちのいずれかが生成されると、生成されたトリガと関連付けられたタスク開始ポインタに基づいてタスクを実行するタスク実行制御部と、を備え、
    前記複数のトリガのうちの少なくとも1つは、イベント管理装置内で生成される自己トリガである、イベント管理装置。
  2. 前記タスク実行制御部が第1のタスクを実行することにより、前記自己トリガが生成される、請求項1に記載のイベント管理装置。
  3. 前記複数のトリガのうちの第1のトリガに関連付けられたタスク開始ポインタに基づいてタスクが実行されている際に、さらに前記第1のトリガが生成されると、多重イベントが発生したことを示す値が設定される原因レジスタを備える、請求項1に記載のイベント管理装置。
  4. モータと、
    イベント管理装置と、
    前記イベント管理装置の制御に応じてモータを制御するモータ制御部と、を備え、
    前記イベント管理装置は、
    複数のトリガのそれぞれと、タスク開始ポインタと、が互いに関連付けられたイベントキューレジスタと、
    前記複数のトリガのうちのいずれかが生成されると、生成されたトリガと関連付けられたタスク開始ポインタに基づいてタスクを実行するタスク実行制御部と、を有し、
    前記複数のトリガのうちの少なくとも1つは、前記イベント管理装置内で生成される自己トリガである、モータシステム。
  5. 複数のトリガのそれぞれと、タスク開始ポインタと、が互いに関連付けられたイベントキューレジスタを備えるイベント管理装置におけるイベント管理方法であって、
    前記複数のトリガのうちのいずれかが生成されると、生成されたトリガと関連付けられたタスク開始ポインタに基づいてタスクを実行するステップを備え、
    前記複数のトリガのうちの少なくとも1つは、前記イベント管理装置内で生成される自己トリガである、イベント管理方法。
JP2014007236A 2014-01-17 2014-01-17 イベント管理装置、イベント管理方法およびモータシステム Active JP6117120B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014007236A JP6117120B2 (ja) 2014-01-17 2014-01-17 イベント管理装置、イベント管理方法およびモータシステム
US14/474,300 US20150202969A1 (en) 2014-01-17 2014-09-02 Event management apparatus, event management method, and motor system
EP14183534.8A EP2897048A1 (en) 2014-01-17 2014-09-04 Event management apparatus, event management method, and motor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007236A JP6117120B2 (ja) 2014-01-17 2014-01-17 イベント管理装置、イベント管理方法およびモータシステム

Publications (2)

Publication Number Publication Date
JP2015136259A true JP2015136259A (ja) 2015-07-27
JP6117120B2 JP6117120B2 (ja) 2017-04-19

Family

ID=51492845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007236A Active JP6117120B2 (ja) 2014-01-17 2014-01-17 イベント管理装置、イベント管理方法およびモータシステム

Country Status (3)

Country Link
US (1) US20150202969A1 (ja)
EP (1) EP2897048A1 (ja)
JP (1) JP6117120B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020501253A (ja) * 2016-11-28 2020-01-16 アマゾン テクノロジーズ インコーポレイテッド 局所化されたデバイスコーディネータにおけるオンデマンドコード実行
JP6896195B1 (ja) * 2020-08-28 2021-06-30 三菱電機株式会社 制御装置及び画像記録方法
US11200331B1 (en) 2018-11-21 2021-12-14 Amazon Technologies, Inc. Management of protected data in a localized device coordinator
US11372654B1 (en) 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
US11461154B2 (en) 2016-11-28 2022-10-04 Amazon Technologies, Inc. Localized device coordinator with mutable routing information

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018207175A1 (de) * 2018-05-08 2019-11-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktivieren von Tasks in einem Betriebssystem
US11106496B2 (en) * 2019-05-28 2021-08-31 Microsoft Technology Licensing, Llc. Memory-efficient dynamic deferral of scheduled tasks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073214A (ja) * 2009-11-13 2010-04-02 Oki Electric Ind Co Ltd マルチ呼処理スレッド処理方法及び呼処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0627100T3 (da) * 1992-12-23 2000-06-26 Ebauchesfabrik Eta Ag Laveffekt-multitaskkontroller
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
JP4560078B2 (ja) * 2007-12-06 2010-10-13 本田技研工業株式会社 コミュニケーションロボット
US8898124B2 (en) * 2010-12-16 2014-11-25 International Business Machines Corporation Controlling database trigger execution with trigger return data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073214A (ja) * 2009-11-13 2010-04-02 Oki Electric Ind Co Ltd マルチ呼処理スレッド処理方法及び呼処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020501253A (ja) * 2016-11-28 2020-01-16 アマゾン テクノロジーズ インコーポレイテッド 局所化されたデバイスコーディネータにおけるオンデマンドコード実行
US11461154B2 (en) 2016-11-28 2022-10-04 Amazon Technologies, Inc. Localized device coordinator with mutable routing information
US11200331B1 (en) 2018-11-21 2021-12-14 Amazon Technologies, Inc. Management of protected data in a localized device coordinator
US11372654B1 (en) 2019-03-25 2022-06-28 Amazon Technologies, Inc. Remote filesystem permissions management for on-demand code execution
JP6896195B1 (ja) * 2020-08-28 2021-06-30 三菱電機株式会社 制御装置及び画像記録方法
WO2022044279A1 (ja) * 2020-08-28 2022-03-03 三菱電機株式会社 制御装置及び画像記録方法

Also Published As

Publication number Publication date
EP2897048A1 (en) 2015-07-22
JP6117120B2 (ja) 2017-04-19
US20150202969A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
JP6117120B2 (ja) イベント管理装置、イベント管理方法およびモータシステム
US10274936B2 (en) Control apparatus
JP6017260B2 (ja) マルチスレッドプロセッサ
US10162673B2 (en) Controller preventing communication collisions between parallel control programs
CN108334407B (zh) 在硬件线程调度程序上调度基于并行块的数据处理任务
JP2010086131A (ja) マルチスレッドプロセッサ及びその割り込み処理方法
US20140244981A1 (en) Processor and control method for processor
JP2010086129A (ja) マルチスレッドプロセッサ
US20180203722A1 (en) Method for reducing interrupt latency in embedded systems
CN111176806B (zh) 一种业务处理方法、装置及计算机可读存储介质
JP5195408B2 (ja) マルチコアシステム
US8806078B2 (en) Information processing device and program product
JP2005190195A (ja) マイクロコントローラ
JP2011186658A (ja) 情報処理装置
JP2009163531A (ja) 割り込み管理機構およびマイクロコンピュータ
JP2012079241A (ja) シミュレーション装置、方法、及びプログラム
JP2017016250A (ja) バリア同期装置、バリア同期方法及びプログラム
JP2013242816A (ja) Dspカード及びデータ転送方法
JP2017139876A (ja) 制御装置
JP2011159290A (ja) 処理装置
JP2018061350A (ja) 半導体装置、モータ制御システム、及び半導体装置の制御方法
JP5838237B2 (ja) マルチスレッドプロセッサ
JP2016051417A (ja) データ転送装置データ転送システム
JP2006146641A (ja) マルチスレッドプロセッサ及びマルチスレッドプロセッサの割込み方法
JP5441185B2 (ja) 割り込みコントローラ及び時分割割り込み発生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170322

R151 Written notification of patent or utility model registration

Ref document number: 6117120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151