(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】制御装置
(51)【国際特許分類】
G06F 9/48 20060101AFI20240305BHJP
【FI】
G06F9/48 300Z
(21)【出願番号】P 2020193537
(22)【出願日】2020-11-20
【審査請求日】2023-02-15
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】村西 悠
(72)【発明者】
【氏名】松岡 英治
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2019-161944(JP,A)
【文献】特開2011-061512(JP,A)
【文献】特開2010-288420(JP,A)
【文献】特開2006-217507(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
(57)【特許請求の範囲】
【請求項1】
一つ以上のマイコン(20、40)を備える制御装置(10)であって、
前記マイコンは、
異なる実行タイミングを規定する複数のPWM信号をそれぞれ生成するタイマ(24、26、28、44、46、48)と、
前記PWM信号のデューティと、前記PWM信号の周期として、基準となる同期信号の周期の倍数または約数を前記タイマに設定し、異なる前記実行タイミングを規定する複数の前記PWM信号をそれぞれの前記タイマに生成させるように構成された信号設定部(22、42)と、
前記タイマが生成する前記PWM信号の周期と前記PWM信号により規定される前記実行タイミングとに基づいて周期処理を実行するように構成された周期処理部(22、30、32、34、42、50、52、54)と、
を備
え、
前記信号設定部は、少なくとも一つ前記PWM信号のデューティを所定のタイミングで0%に設定して対応する前記周期処理の実行を停止するように構成されている、
制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記信号設定部は、少なくとも1つの前記PWM信号のデューティを所定のタイミングで0%に設定して対応する前記周期処理の実行を停止することにより、対応する前記周期処理の実行の順番を変更するように構成されている、
制御装置。
【請求項3】
請求項1
または請求項2に記載の制御装置であって、
複数の前記マイコンを備え、
複数の前記マイコンのうちの一つの前記信号設定部は、前記同期信号を生成して他の前記マイコンに送信するように構成されており、
他の前記マイコンの前記信号設定部は、受信する前記同期信号の周期に基づいて前記PWM信号の周期を設定するように構成されている、
制御装置。
【請求項4】
請求項1
から3のいずれか1項に記載の制御装置であって、
前記信号設定部は、複数の前記タイマのそれぞれに、同じ周期と異なるデューティとを設定するように構成されている、
制御装置。
【請求項5】
請求項1から
4のいずれか1項に記載の制御装置であって、
前記信号設定部は、少なくとも一つの前記PWM信号のデューティを動的に変更するように構成されている、
制御装置。
【請求項6】
請求項1から
5のいずれか1項に記載の制御装置であって、
前記周期処理部は、前記PWM信号の立ち上がりタイミングまたは立ち下がりタイミングを前記周期処理の前記実行タイミングとするように構成されている、
制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、実行タイミングの異なる複数の周期処理を実行する技術に関する。
【背景技術】
【0002】
実行タイミングの異なる複数の周期処理を実行する技術が知られている。例えば、下記特許文献1には、一方のマイコンが他のマイコンから受信する200μs周期の同期信号に基づいて、異なるタイミングで周期処理を実行する技術が記載されている。
【0003】
特許文献1に記載されている技術では、200μs周期用タイマと400μs周期用タイマとを動作させ、それぞれのタイマと所定の基準値とのコンペアマッチにより、200μs周期処理の実行タイミングと400μs周期処理の実行タイミングとを決定している。200μs周期用タイマと400μs周期用タイマとは、200μs周期の同期信号に基づいて、それぞれ200μs周期毎、400μs周期毎にリセットされる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、発明者の詳細な検討の結果、特許文献1のように、基準値とのコンペアマッチにより周期処理の実行タイミングを決定し、基準となる同期信号に基づいてタイマをリセットする技術では、実行タイミングと実行周期とを設定する自由度が低いという課題が見出された。
【0006】
本開示の一つの局面は、実行タイミングの異なる複数の周期処理の周期と実行タイミングとを設定する自由度が高い技術を提供することが望ましい。
【課題を解決するための手段】
【0007】
本開示の一つの態様による制御装置(10)は、一つ以上のマイコン(20、40)を備える。マイコンは、タイマ(24、26、28、44、46、48)と、信号設定部(22、42)と、周期処理部(22、30、32、34、42、50、52、54)と、を備える。
【0008】
タイマは、異なる実行タイミングを規定する複数のPWM信号をそれぞれ生成する。信号設定部は、PWM信号のデューティと、PWM信号の周期として、基準となる同期信号の周期の倍数または約数をタイマに設定し、異なる実行タイミングを規定する複数のPWM信号をそれぞれのタイマに生成させる。周期処理部は、タイマが生成するPWM信号の周期とPWM信号により規定される実行タイミングとに基づいて周期処理を実行する。
【0009】
このような構成によれば、PWM信号を生成するタイマに周期とデューティとを設定することにより、周期処理の周期と実行タイミングとを容易に設定できる。したがって、周期処理の周期と実行タイミングとを設定する自由度が高い。
【図面の簡単な説明】
【0010】
【
図2】マイコンのPWM処理を示すフローチャート。
【
図4】マイコンの他の周期処理を示すタイムチャート。
【
図5】マイコンの他の周期処理を示すタイムチャート。
【
図6】第2実施形態のマイコンの処理を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、図を参照しながら、本開示の実施形態を説明する。
[1.第1実施形態]
[1-1.構成]
図1に示す制御装置10は、2個のマイコン20、40を備える。制御装置10は、インバータ2を制御し、ASIC4と通信する。ASICは、Application Specific Integrated Circuitの略である。インバータ2は、例えばPWM制御によりモータの回転数等を制御する。
【0012】
マイコン20は、CPU22と、タイマ24、26、28と、A/D変換器30と、DMA32と、SENT通信部34と、を備えている。SENTは、Single Edge Nibble Transmissionの略である。マイコン40は、CPU42と、タイマ44、46、48と、A/D変換器50と、DMA52と、SENT通信部54と、を備えている。
【0013】
マイコン40の構成はマイコン20と実質的に同一であるから、以下、主にマイコン20の構成および処理について説明する。
CPU22は、タイマ24、26、28が生成するPWM信号の周期とデューティとを設定する。
図1では、マイコン20は3個のタイマ24、26、28を備えているが、タイマの数は3個に限るものではなく、複数であれば何個でもよい。
【0014】
タイマ24、26、28は、PWMタイマであり、CPU22により設定された周期とデューティとにより規定されるPWM信号を生成して出力する。
タイマ24、26、28が生成するPWM信号により規定される周期およびタイミングに応じて、CPU22においてソフトウェアによる周期処理が実行される。また、タイマ24、26、28が生成するPWM信号により規定される周期およびタイミングに応じて、A/D変換器50とDMA52とSENT通信部54とにおいてハードウェアによる周期処理が実行される。
【0015】
また、タイマ24、26、28が生成するPWM信号のいずれかが、モータに対するインバータ2によるPWM制御の制御信号として使用される。
[1-2.処理]
第1実施形態において、マイコン20が実行する処理について、
図2のフローチャートを用いて説明する。マイコン20は、起動されると
図2の処理の実行を開始する。マイコン40でも同様の処理が実行される。
【0016】
S400においてCPU22は、タイマ24、26、28に対してPWMの設定、つまり周期とデューティとを設定済みか否かを判定する。S400の判定がYesである、つまりタイマ24、26、28に対してPWMを設定済みであれば、処理はS408に移行する。
【0017】
S400の判定がNoである、つまりタイマ24、26、28に対してPWMを未設定であれば、S402においてCPU22は、タイマ24、26、28の周期とデューティとを設定する。
【0018】
図3では、CPU22は、タイマ24、26、28のうち2個のタイマに対して、PWM信号の周期として同じ200μsを設定する。マイコン40のCPU42も、タイマ44、46、48のうち2個のタイマに対して、PWM信号の周期として同じ200μsを設定する。
【0019】
マイコン20、40において、
図3に示す200μs周期処理A、200μs周期処理BのPWM信号のデューティは、200μs周期処理A、200μs周期処理Bの実行タイミングに応じて、予め決められている。
【0020】
S404においてCPU22は、タイマ24、26、28の実行を開始するタイミングであるか否かを判定する。CPU22は、マイコン20の内部または外部から
図3に示すトリガ信号を受信すると、タイマ24、26、28の実行を開始するタイミングであると判定する。
【0021】
S404の判定がYesである、つまりタイマ24、26、28の実行を開始するタイミングの場合、S406においてCPU22は、200μs周期の同期信号を生成し、タイマ24、26、28の実行を開始する。例えば、CPU22は、内部またか外部からトリガ信号を受信すると、タイマ24、26、28の実行を開始するタイミングであると判定する。CPU22は、S406の処理を実行すると、処理をS400に移行する。
【0022】
マイコン40のCPU42は、マイコン20から送信された同期信号を受信すると、タイマ44、46、48の実行を開始するタイミングであると判定する。
S408において、タイマ24、26、28に設定したデューティにより、いずれかのタイマ24、26、28のPWM信号が立ち下がるタイミングであるか否かが判定される。S408の判定がYesである、つまりいずれかのタイマ24、26、28のPWM信号が立ち下がると、S410において、該当する200μs周期の周期処理が、CPU22、A/D変換器30、DMA34、SENT通信部34のいずれかで実行される。
【0023】
周期処理として、CPU22によるソフトウェア処理、あるいはA/D変換器30、DMA34、SENT通信部34等の起動とハードウェア処理とが実行される。該当する周期処理の実行が終了すると、処理はS400に移行する。
【0024】
図3に示すように、マイコン20、40のそれぞれにおいて、同じ200μs周期の周期処理であっても、タイマに設定されるデューティによって、周期処理の実行タイミングは異なる。
【0025】
また、
図4に示すように、例えばマイコン20において、タイマ24、26、28に設定する周期を、200μs周期の同期信号の倍数または約数である1倍、2倍、1/2倍にし、各周期に対応する24、26、28のデューティを設定する。これにより、400μs周期、200μs周期、100μs周期の異なる周期の周期処理を異なるタイミングで実行できる。
【0026】
また、
図5に示す200μs周期処理のように、200μs周期処理のPWM信号の立ち上がりタイミングで周期処理が実行されてもよい。
尚、第1実施形態では、各周期で1回周期処理が実行されるので、異なる周期の周期処理であれば、周期の短い周期処理から実行が開始される。また、同じ周期の周期処理であれば、デューティの小さい周期処理から実行が開始される。
【0027】
[1-3.効果]
以上説明した第1実施形態によれば、以下の効果を奏する。
(1a)タイマに周期とデューティとを設定することにより、高い自由度で容易に周期処理の周期と実行タイミングとを設定できる。
【0028】
尚、前述した第1実施形態では、CPU22、42が周期処理部と信号設定部とに対応し、A/D変換器30、50とDMA32、52とSENT通信部34、54とが周期処理部に対応する。
[2.第2実施形態]
[2-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0029】
前述した第1実施形態では、異なる周期の周期処理であれば、周期の短い周期処理から実行が開始された。これに対し、第2実施形態では、異なる周期の周期処理の実行順序を変更できる点で、第1実施形態と相違する。
【0030】
[2-2.処理]
第2実施形態において、マイコン20が、第1実施形態の
図2に示す処理に代えて実行する処理について、
図6のフローチャートを用いて説明する。なお、
図6におけるS420~S426、S430、S432の処理は、
図2におけるS400~S410の処理と同様であるため、説明を一部簡略化している。
【0031】
S420の判定がNoである、つまりタイマ24、26、28のPWMを未設定であれば、CPU22はS422~S426の処理を実行し、処理をS420に移行する。
S420の判定がYesである、つまりタイマ24、26、28のPWMを設定済みであれば、S428においてCPU22は、周期処理の実行タイミングの順番を変更するか否かを判定する。S428の判定がNoである、つまり周期処理の実行タイミングを変更しない場合、CPU22はS430、S432の処理を実行し、処理をS420に移行する。
【0032】
S428の判定がYesである、つまり周期処理の実行タイミングを変更する場合は、例えば、マイコン20の内部または外部から第1実施形態の
図3に示すトリガ信号を受信した場合である。この場合、第2実施形態では、1回目の200μs周期処理Aを実行しない。
【0033】
例えば、
図7において、周期が同じ200μs周期処理A、B、Cにおいて、200μs周期処理Cがインバータ制御を実行し、200μs周期処理Bが200μs周期処理Cのインバータ制御の実行結果に基づいてフィードバック処理を実行する。そして、200μs周期処理Aに200μs周期処理Bのフィードバック制御の結果を反映させることがある。
【0034】
ここで、200μs周期処理AのPWM信号のデューティは、200μs周期処理B、CのPWM信号のデューティよりも小さい。したがって、同じタイミングで200μs周期処理A、B、CのPWM信号の周期とデューティとを設定すると、
図7の点線で示す1回目の200μs周期処理Aの前には200μs周期処理B、Cが実行されていない。
【0035】
その結果、1回目の200μs周期処理Aを実行するときに、200μs周期処理Bのフィードバック制御の結果を反映させることができない。
したがって、CPU22は、200μs周期の同期信号の1回目の立ち上がりタイミングで200μs周期処理A、B、CのPWM信号の周期とデューティとを設定する場合、S428の判定はYesであると判定する。つまり、CPU22は、200μs周期処理Aの実行タイミングを変更して停止するタイミングであると判定し、処理をS434に移行する。
【0036】
S434においてCPU22は、周期処理の実行タイミングの順番を変更できるタイミングであるか否かを判定する。S434の判定がYesである、つまり周期処理の実行タイミングを変更できるタイミングである場合、S436においてCPU22は、周期処理に対応するタイマのPWMを設定し周期処理の実行タイミングを変更する。
【0037】
S436で周期処理の実行タイミングを変更すること、例えば、
図7において200μs周期処理Aに対応するタイマのデューティを0%に設定することにより、1回目の200μs周期処理Aの実行を停止できる。
【0038】
そして、
図7において、2回目の200μs周期の同期信号の立ち上がりタイミングでは、200μs周期処理Aについて、S428の判定はYesになる。この場合、CPU22は、200μs周期処理AのPMW信号に、200μ周期と0%以外の所定のデューティとを設定する。これにより、2回目の200μs周期の同期信号の立ち上がりタイミングに同期して、1回目の200μs周期処理Aが実行される。
【0039】
これにより、200μs周期処理Bが200μs周期処理Cのインバータ制御の実行結果に基づいてフィードバック処理を実行してから、1回目の200μs周期処理Aに、200μs周期処理Bのフィードバック制御の結果を反映させることができる。
【0040】
[2-3.効果]
以上詳述した第2実施形態によれば、前述した第1実施形態の効果(1a)に加え、以下の効果を得ることができる。
【0041】
(2a)周期処理の実行タイミングの順番を変更したいときに対応するタイマのPWMを設定することにより、適切なタイミングで周期処理の実行タイミングを動的に変更できる。
[3.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は前述の実施形態に限定されることなく、種々変形して実施することができる。
【0042】
(3a)上記実施形態では、制御装置10は2個のマイコン20、40を備えているが、これに限定されるものではない。例えば、制御装置10は1個または3個以上のマイコンを備えてもよい。
【0043】
(3b)上記実施形態では、
図7に示すように、複数の周期処理のうち、1個の周期処理について、1回目のPWM信号のデューティを動的に0%にして、該当する周期処理の実行を停止した。これに対し、1回目に限らず、所定のタイミングでPWM信号のデューティを動的に0%にして、該当する周期処理の実行を停止してもよい。また、所定のタイミングで動的にデューティを0%以外の値に設定して、該当する周期処理の実行タイミングをずらしてもよい。
【0044】
(3c)本開示に記載の制御装置10およびその手法は、コンピュータプログラムにより具体化された一つまたは複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御装置10およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御装置10およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。制御装置10に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0045】
(3d)上記実施形態における一つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、一つの構成要素が有する一つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、一つの構成要素によって実現したり、複数の構成要素によって実現される一つの機能を、一つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
【0046】
(3e)前述した制御装置の他、当該制御装置を構成要素とするシステム、当該制御装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、制御方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0047】
10:制御装置、20、40:マイコン、22、42:CPU(周期処理部、信号設定部)、24、26、28、44、46、48:タイマ、30、50:A/D変換器(周期処理部)、32、52:DMA(周期処理部)、34、54:SENT通信部(周期処理部)