【実施例】
【0019】
まず、本実施例に係る制御システムの構成例について
図2を用いて説明する。
図2は、本実施例に係る制御システム100の構成を示すブロック図である。
【0020】
制御システム100は、たとえば、プラグインハイブリッド車に搭載される制御システムである。プラグインハイブリッド車とは、車両の外部に設けられた電源、例えば、家に設けられた家庭用電源や充電施設に設けられた急速充電器等のコンセントからの充電が可能なハイブリッド車のことである。また、制御システム100は、「充電モード」および「走行モード」の2つの動作モードを備える。「充電モード」は、主に外部電源から充電池への充電処理を行う際に実行される動作モードである。また、「走行モード」は、主に車両の走行中に実行される動作モードである。
【0021】
図2に示すように、制御システム100は、PLG−ECU1と、PM−ECU2と、補機バッテリ3と、IGPリレー4と、IG2リレー5と、IGCTリレー6と、充電器7と、充電池8と、システムメインリレー9とを含む。
【0022】
PLG−ECU1は、サブCPU11と、メインCPU12と、DMA(Direct Memory Access)通信線13と、OR回路14とを備える。また、PM−ECU2は、サブCPU21と、メインCPU22と、DMA通信線23と、OR回路24と、電源統合IC(Integrated Circuit)25とを備える。
【0023】
PLG−ECU1は、主に、充電モードの開始を検知してPM−ECU2へ通知するECUである。サブCPU11は、充電用のプラグ(以下、「充電プラグ」と記載する)がコンセントへ挿入された場合に、スリープ状態(省電力動作状態)から通常の動作状態に復帰して、充電モードの開始をPM−ECU2へ通知する処理等を実行する。
【0024】
なお、サブCPU11は、充電プラグから入力される信号である「SW1」および「PLT」に基づき、充電プラグの挿抜状態を判定する。「SW1」は、充電プラグの挿抜状態(充電プラグがコンセントへ挿入された状態またはコンセントから抜かれた状態)を示す信号である。また、「PLT」は、接続先の外部電源の電圧や位相等の情報を示すパイロット信号である。
【0025】
また、サブCPU11は、メインCPU12への電源供給ラインへ設けられるIGPリレー4をオンすることによって停止状態のメインCPU12を起動させ、メインCPU12による充電処理を実行させる。
【0026】
具体的には、サブCPU11は、充電モードの開始を検知すると、OR回路14に対して信号「MRL_S」を出力する。「MRL_S」がOR回路14へ入力されると、OR回路14からIGPリレー4に対して信号「MRL」が出力され、IGPリレー4がオンされる。これにより、停止状態のメインCPU12に対して補機バッテリ3から電源が供給され、メインCPU12が起動する。なお、IGPリレー4がオンされると、PM−ECU2に対して信号「PIM」が入力される。
【0027】
メインCPU12は、充電モードが開始された場合に、充電器7を制御して充電池8への充電を行う充電処理を実行する。また、メインCPU12は、充電処理が終了した場合に、PM−ECU2のメインCPU22と協働して、充電モード終了処理等を実行したりもする。PLG−ECU1のサブCPU11およびメインCPU12の具体的な動作については、後述する。
【0028】
DMA通信線13は、サブCPU11およびメインCPU12間での通信に用いられる通信線である。なお、サブCPU11およびメインCPU12は、DMA通信線13以外の通信線であってもよい。すなわち、サブCPU11およびメインCPU12間のデータ転送は、必ずしもDMA転送であることを要しない。
【0029】
OR回路14は、サブCPU11からの出力信号である「MRL_S」またはメインCPU12からの出力信号である「MRL_M」のいずれか一方が入力された場合に、IGPリレー4に対して信号「MRL」を出力する論理回路である。
【0030】
PM−ECU2は、PLG−ECU1と共に充電モードや走行モードにおける充電処理等を実行するECUである。PM−ECU2のサブCPU21は、「PIM」がオン状態にされることで、PLG−ECU1から充電モードの開始が通知された場合に、スリープ状態から通常の動作状態に復帰するとともに、停止状態のメインCPU22を起動させて、メインCPU22に対して充電処理等の処理を実行させる。
【0031】
具体的には、サブCPU21は、補機バッテリ3からIGPリレー4経由で「PIM」が入力されると、OR回路24に対して信号「PIMD」を出力する。「PIMD」がOR回路24へ入力されると、OR回路24からIGCTリレー6に対して信号「MRL」が出力され、IGCTリレー6がオンされる。これにより、停止状態のメインCPU22に対して補機バッテリ3から電源が供給され、メインCPU22が起動する。
【0032】
なお、サブCPU21は、たとえばイグニッションスイッチ等の電源スイッチが操作された場合(すなわち、ユーザが車両に乗り込んで電源をオンにした場合であり、主に、ユーザが車両の走行を開始しようとしている場合)に出力される信号「SW2」が入力されると、電源統合IC25に対して信号「IG2D」を出力する。
【0033】
メインCPU22は、PLG−ECU1とともに充電処理や充電終了処理等を実行するCPUである。たとえば、メインCPU22は、充電モードが開始された場合に、充電器7と充電池8との間に設けられたシステムメインリレー9をオンすることによって、充電池8への充電が可能な状態にする。
【0034】
また、メインCPU22は、充電池8の充電状況を監視し、充電が完了した場合には、PLG−ECU1のメインCPU12に対して充電モード終了処理の開始を指示したりもする。PM−ECU2が備えるサブCPU21およびメインCPU22の具体的な動作については、後述する。
【0035】
DMA通信線23は、サブCPU21およびメインCPU22間での通信に用いられる通信線である。なお、PLG−ECU1の場合と同様、サブCPU21およびメインCPU22は、DMA通信線23以外の通信線であってもよい。
【0036】
OR回路24は、サブCPU21からの信号「PIMD」、メインCPU22からの信号「MRL_M」またはIG2リレー5からの信号「IG2」のいずれかが入力された場合に、IG2リレー5に対して信号「MRL」を出力する論理回路である。
【0037】
電源統合IC25は、サブCPU21から「IG2D」が入力された場合に、IG2リレー5に対して信号「IG2D」を出力して、IG2リレー5をオンするICである。IG2リレー5がオンされることによって、OR回路24に対して信号「IG2」が入力される。OR回路24に対して信号「IG2」が入力されると、OR回路24からIGCTリレー6に対して信号「MRL」が出力され、IGCTリレー6がオンされる。
【0038】
PLG−ECU1のメインCPU12およびPM−ECU2のメインCPU22は、ローカルバス51で相互に接続されており、このローカルバス51を用いて充電モード処理、充電モード終了処理、電源供給停止処理等に必要な情報の送受信を行う。このローカルバス51は、たとえば、CANバスである。
【0039】
なお、PLG−ECU1およびPM−ECU2は、CANバス52によっても相互に接続される。CANバス52は、イグニッション系のECU同士を接続するCANバスである。また、PM−ECU2は、CANバス53やローカルバス54等によって他のECUと接続される。
【0040】
補機バッテリ3は、主に車両に搭載される補機類を駆動させるために用いられるバッテリであり、車両の走行等に用いるメインバッテリである充電池8とは別に設けられ、充電池8よりも低電圧のバッテリである。補機バッテリ3からの電源は、PLG−ECU1のサブCPU11およびPM−ECU2のサブCPU21に対して常時供給される。
【0041】
一方、補機バッテリ3からの電源は、PLG−ECU1のメインCPU12およびPM−ECU2のメインCPU22に対しては、それぞれIGPリレー4およびIGCTリレー6を介して供給される。すなわち、PLG−ECU1のメインCPU12およびPM−ECU2のメインCPU22は、それぞれIGPリレー4およびIGCTリレー6がオンされることによって起動する。
【0042】
IGPリレー4は、PLG−ECU1のメインCPU12と補機バッテリ3との間に設けられたリレー回路である。このIGPリレー4は、PLG−ECU1のOR回路14から「MRL」が入力されることでオンされる。
【0043】
IG2リレー5は、PM−ECU2のメインCPU22と補機バッテリ3との間に設けられたリレー回路である。このIG2リレー5は、SW2がオン状態となると、サブCPU21から電源統合IC25を経由して「IG2D」が入力されることでオンされる。なお、IG2リレー5は、主に、ユーザが車両に乗り込んで電源をオンした場合に接続されるリレーである。
【0044】
IG2リレー5と同様、IGCTリレー6も、PM−ECU2のメインCPU22と補機バッテリ3との間に設けられたリレー回路である。このIGCTリレー6は、PM−ECU2のOR回路24から「MRL」が入力されることでオンされる。
【0045】
充電器7は、充電池8への充電を行うための充電器である。充電池8は、充電器7およびシステムメインリレー9を介して外部電源から供給される電気を蓄える電池(バッテリ)である。システムメインリレー9は、充電器7と充電池8との間に設けられたリレー回路であり、PM−ECU2のメインCPU22によってオン・オフが制御される。
【0046】
次に、PLG−ECU1およびPM−ECU2の構成について説明する。
図3は、PLG−ECU1およびPM−ECU2の構成を示すブロック図である。
【0047】
図3に示すように、PLG−ECU1のサブCPU11は、モード制御部11aを備え、メインCPU12は、停止制御部12cを備える。また、停止制御部12cは、終了処理部12aおよび電源停止処理部12bを備える。
【0048】
一方、PM−ECU2のサブCPU21は、モード制御部21aを備え、メインCPU22は、停止制御部22cを備える。また、停止制御部22cは、終了処理部22aおよび電源停止処理部22bを備える。
【0049】
PLG−ECU1のモード制御部11aは、リセットからの復帰時にモード不確定状態とし、かかるモード不確定状態にあるときに動作モードに移行する所定の移行条件が成立した場合に、移行条件が成立した動作モードに動作モードを移行させる処理部である。具体的には、モード制御部11aは、充電モード終了処理の開始をPM−ECU2のメインCPU22から指示された場合に、充電モードの動作時に接続していたIGPリレー4をオフするための「IGP信号」をオフする処理部である。
【0050】
PLG−ECU1の停止制御部12cは、所定の動作モードにあるときに、当該動作モードの終了条件が成立すると、他方の制御装置であるPM−ECU2との間でやり取りを行いながら制御システムを低消費電力状態にする停止制御を行う処理部であり、終了処理部12aおよび電源停止処理部12bを備える。
【0051】
終了処理部12aは、PM−ECU2の終了処理部22aと協働して充電モード終了処理を実行する処理部である。終了処理部12aは、充電モード終了処理に含まれる各手順のうちの充電終了処理まで完了した場合に、充電終了処理が完了した旨を示す完了通知「PLG側電源保持要求」オフをPM−ECU2へ送信する。PM−ECU2は、「PLG側電源保持要求」オフを受信することで、PLG−ECU1が充電処理を完了させたことを認識することができる。なお、充電モード終了処理の具体的な手順については、
図4Aを用いて後述する。
【0052】
PLG−ECU1の電源停止処理部12bは、PM−ECU2の電源停止処理部22bから電源供給の停止が許可された場合に、自装置への電源供給を停止する電源停止処理を行う処理部である。具体的には、電源停止処理部12bは、PM−ECU2の電源停止処理部22bから後述する「MRL保持集約結果」オフを受信した場合に、電源停止処理を行う。
【0053】
PM−ECU2のモード制御部21aも、PLG−ECU1のモード制御部11aと同様に、リセットからの復帰時にモード不確定状態とし、かかるモード不確定状態にあるときに動作モードに移行する所定の移行条件が成立した場合に、移行条件が成立した動作モードに動作モードを移行させる処理部である。かかるモード制御部21aは、充電モード時にあるときにPLG−ECU1に対する電源供給を行うIGPリレー4(第1の電源経路)の接続状態を制御する信号であるIGP信号(第1電源信号)が、接続状態にすることを要求するオン状態にあることを検出した場合に、動作モードを充電モードに移行させるようになっている。
【0054】
PM−ECU2の停止制御部22cは、所定の動作モードにあるときに、当該動作モードの終了条件が成立すると、他方の制御装置であるPLG−ECU1との間でやり取りを行いながら制御システムを低消費電力状態にする停止制御を行う処理部であり、終了処理部22aおよび電源停止処理部22bを備える。
【0055】
終了処理部22aは、PLG−ECU1の終了処理部12aとの間で充電モード終了処理を実行する処理部である。電源停止処理部22bは、充電モード終了処理の各手順のうち充電終了処理まで完了し、かつ、PLG−ECU1から「PLG側電源保持要求」オフを受け取った場合に、PLG−ECU1に対して電源供給の停止を許可する電源停止処理を行う処理部である。
【0056】
特に、PM−ECU2の電源停止処理部22bは、充電モードに対応するモード信号である「IGP信号」および走行モードに対応するモード信号である「IG2」の全てがオフされた状態が所定時間継続した場合、電源停止処理を強制的に行う。かかる点については、
図6を用いて後述する。
【0057】
次に、充電モード終了処理が正常に行われた場合の例について
図4Aを用いて説明する。
図4Aは、充電モード終了処理が正常に行われた場合の例を示すシーケンス図である。
【0058】
なお、充電モード終了処理の開始時において、PLG−ECU1のメインCPU12およびPM−ECU2のメインCPU22は、ともに起動した状態(低消費電力状態よりも消費電力が大きい状態)である。すなわち、PLG−ECU1のサブCPU11およびメインCPU12からOR回路14へそれぞれ「MRL_S」および「MRL_M」がオン出力され、IGPリレー4がオンされた状態となっている。また、PM−ECU2のサブCPU21およびメインCPU22からOR回路24へそれぞれ「PIMD」および「MRL_M」がオン出力され、IGCTリレー6がオンされた状態となっている。なお、IG2リレー5についてはオフする制御状態にあることとする。
【0059】
図4Aに示すように、PM−ECU2のメインCPU22は、充電池8への充電が終了したと判定すると(ステップS11)、「IGPオフ要求」をオンする(ステップS12)。このように、停止制御部22cは、停止制御を行っている際に、IGPリレー4を非接続状態にすることを要求するオフ状態にする。また、PM−ECU2のメインCPU22は、「IGPオフ要求」オンを、ローカルバス51を介してPLG−ECU1のメインCPU12へ送信する(ステップS13)。
【0060】
つづいて、PLG−ECU1のメインCPU12は、ローカルバス51を介してPM−ECU2から「IGPオフ要求」オンを受け取ると、「IGPオフ要求」オンをDMA通信線13を介してサブCPU11へ送信する(ステップS14)。PLG−ECU1のサブCPU11は、「IGPオフ要求」オンを受信すると、充電モードに対応するモード信号である「IGP信号」をオフするとともに(ステップS15)、「MRL_S」をオフする(ステップS16)。また、サブCPU11は、「IGP信号」オフをメインCPU12へ送信する(ステップS17)。
【0061】
なお、
図2に示すように、「MRL_S」がオフされても、PLG−ECU1のOR回路14にはメインCPU12から「MRL_M」がオン入力されているため、この時点ではIGPリレー4はオフされない。
【0062】
サブCPU11から「IGP信号」オフを受信すると、PLG−ECU1のメインCPU12は、「IGP信号」オフをローカルバス51を介してPM−ECU2のメインCPU22へ送信する(ステップS18)。
【0063】
PM−ECU2のメインCPU22は、PLG−ECU1のメインCPU12から「IGP信号」オフを受信すると、充電終了処理を開始する(ステップS19)。また、PLG−ECU1のメインCPU12も、「IGP信号」オフをPM−ECU2のメインCPU22へ送信した後、充電終了処理を開始する(ステップS20)。
【0064】
つづいて、PM−ECU2のメインCPU22は、充電終了処理が完了すると、「PM側電源保持要求」をオフする(ステップS21)。また、PLG−ECU1のメインCPU12は、充電終了処理が完了すると、「PLG側電源保持要求」をオフした後(ステップS22)、「PLG側電源保持要求」オフをPM−ECU2のメインCPU22へ送信する(ステップS23)。そして、PM−ECU2のメインCPU22は、「PM側電源保持要求」がオフされ、かつ、PLG−ECU1から「PLG側電源保持要求」オフを受信すると、「MRL保持集約結果」をオフする(ステップS24)。この「MRL保持集約結果」がオフされることによって、電源供給停止処理への移行が可能な状態となる。
【0065】
なお、ここでは、PM−ECU2のメインCPU22が、「PM側電源保持要求」をオフした後に、PLG−ECU1から「PLG側電源保持要求」オフを受信する場合の例を示したが、これに限ったものではない。すなわち、PM−ECU2のメインCPU22は、「PM側電源保持要求」をオフする前に、PLG−ECU1から「PLG側電源保持要求」オフを受信する場合もある。
【0066】
次に、電源供給停止処理が正常に行われた場合の例について
図4Bを用いて説明する。
図4Bは、電源供給停止処理が正常に行われた場合の例を示すシーケンス図である。電源供給停止処理は、
図4Aに示す充電モード終了処理に引き続き実行される。
【0067】
図4Bに示すように、PM−ECU2のメインCPU22は、「MRL保持集約結果」オフをローカルバス51を介してPLG−ECU1のメインCPU12へ送信する(ステップS31)。そして、「MRL保持集約結果」オフを受信すると、PLG−ECU1のメインCPU12は、「MRL_M」をオフする(ステップS32)。
【0068】
PM−ECU2のメインCPU22は、「MRL保持集約結果」オフをPLG−ECU1へ送信した後、ローカルバス51を停止させる(ステップS33)。同様に、PLG−ECU1のメインCPU12も、「MRL_M」をオフした後、ローカルバス51を停止させる(ステップS34)。これにより、PLG−ECU1およびPM−ECU2間の通信が切断された状態となる。
【0069】
また、PLG−ECU1のメインCPU12によって「MRL_M」がオフされると(
図4Bの(1)参照)、「MRL_S」と「MRL_M」がともにオフされた状態となるため、OR回路14からの信号「MRL」がオフされ、IGPリレー4がオフされる。この結果、PLG−ECU1のメインCPU12への電源供給量が低下することとなる(
図4Bの(2)参照)。そして、PLG−ECU1のメインCPU12への電源供給が停止すると、メインCPU12は停止状態となる(
図4Bの(3)参照)。また、IGPリレー4を介する経路の電圧低下を検出する等の方法で、メインCPU12が停止したと判定すると、サブCPU11は、スリープ状態(低消費電力状態)へ移行する(ステップS35)。
【0070】
一方、IGPリレー4がオフされ、PLG−ECU1のメインCPU12への電源供給が停止すると、「PIM」がオフされる(
図4Bの(4)参照)。「PIM」がオフされたことを検出すると、PM−ECU2のサブCPU21は「PIMD」をオフし(ステップS36)、メインCPU22は「MRL_M」をオフする(ステップS37)。
【0071】
「PIMD」および「MRL_M」がともにオフされると、「IG2」はもともとオフ状態であるので、OR回路24からの「MRL」がオフされ、IGCTリレー6がオフされる。この結果、PM−ECU2のメインCPU22への電源供給量が低下することとなる(
図4Bの(5)参照)。PM−ECU2のメインCPU22への電源供給が停止すると、メインCPU22は停止状態となる(
図4Bの(6)参照)。また、IGCTリレー6を介する経路の電圧低下を検出する等の方法で、メインCPU22が停止したと判断すると、サブCPU21は、スリープ状態へ移行する(ステップS38)。
【0072】
このように、PLG−ECU1およびPM−ECU2は、充電モード終了処理および電源供給停止処理を協働して行うことにより、電源オフのタイミングの同期を取ることとしている。これは、たとえば、一方のECUが独自の判断で電源供給を停止させると、他方のECUが、ローカルバス51に異常が発生したと誤認識してしまうおそれがあるためである。また、たとえば、2つのECUが同期を取らずに電源オフすると、一方のECUが電源オフ状態となった後に、他方のECUから起動要求があったと誤判断して起動を始めてしまうことを繰り返すことで、電源オフ状態に移行できない現象が生じるおそれがあるためである。
【0073】
ところが、従来技術では、いずれかのECUにおいてリセットが発生すると、同期をとって進めていた処理に不具合が生じ、その結果、電源をオフすることができない状態に陥る可能性があった。ここでは、一例として、充電モード終了処理中にPM−ECUでリセットが発生した場合の従来例について
図5を用いて説明する。
図5は、充電モード終了処理中にPM−ECUでリセットが発生した場合の従来例を示すシーケンス図である。
【0074】
図5に示すように、たとえば、「IGPオフ要求」オンをPLG−ECUのメインCPUへ送信した後に(ステップS13)、PM−ECUのメインCPUでリセットが発生したとする(
図5の(1)参照)。かかる場合、PM−ECUのメインCPUは、ローカルバスを停止させる(ステップS25)。ローカルバスが停止することで、PLG−ECUのメインCPUは、PM−ECUからのデータを受信できなくなり、通信異常を誤判定してしまうこととなる(
図5の(2)参照)。
【0075】
その後、PM−ECUのメインCPUは、リセットから復帰し、ローカルバスを再開させる(
図5の(3)参照)。このとき、PLG−ECUのサブCPUによって「IGP信号」がオフされており(ステップS15)、走行モードに対応するモード信号である「IG2」もオフされた状態である。このため、PM−ECUのメインCPUは、現在の動作モードが充電モードまたは走行モードのどちらであるかが不確定な状態すなわちモード不確定状態となり、その後に行うべき充電終了処理へ移行することができなくなる(
図5の(4)参照)。
【0076】
これにより、PM−ECUのメインCPUは、「PM側電源保持要求」をオフできなくなるため、PLG−ECUのメインCPUから「PLG側電源保持要求」オフを受信しても、「MRL保持集約結果」オンを送信し続けることとなる(
図5の(5)参照)。また、これに伴い、PLG−ECUのメインCPUは、PM−ECUのメインCPUから「MRL保持集約結果」オフを送信されるのを待ち続けることとなる(
図5の(6)参照)。この結果、PLG−ECUおよびPM−ECUは、電源をオフすることができず、補機バッテリのバッテリ上がりに陥る可能性がある(
図5の(7)参照)。
【0077】
このように、従来技術では、充電モード終了処理中にPM−ECUでリセットが発生した場合、電源をオフすることができない状態に陥る可能性があった。
【0078】
なお、CPU(ここでは、PM−ECU2のメインCPU22)のリセット復帰時のデフォルトのモードはモード不定(モード不確定状態)が設定されるように構成されており、リセット復帰後、このモード不確定状態から所定の動作モード(充電モードと走行モード)に移行する条件が成立しないことも、モード不確定状態が続く要因として挙げられる。同様に、モード不確定状態が続く要因として、一度、所定の動作モード(充電モードと走行モード)に移行した後でなければ(モード不確定状態にあると)、電源オフ状態(スリープ状態)に移行するための終了処理(充電終了処理)に移行できないように構成されていたことも挙げられる。
【0079】
なお、充電モードへの移行条件は、「IGP信号オンを受信」、または、「IGPオンを検出」であり、走行モードへの移行条件は、「IG2信号オンを受信」、または、「IG2オンを検出」である。IGP信号は、主に充電プラグが接続された場合(SW1の入力が接続状態になった場合)にオン状態になり、IG2信号は、主にIGスイッチがオン状態になった場合(SW2の入力がオン状態になった場合)にオン状態になる。
【0080】
また、IGP信号がオフの状態が続く(IGP信号オンを受信しない)要因として、たとえば、PM−ECU2のメインCPU22のリセット復帰後、PLG−ECU1は終了処理中でIGP信号をオフにしていることから、PLG-ECU1のメインCPU21からCAN通信を介してIGP信号オフが送信されてくることが挙げられる。
【0081】
そこで、本実施例に係る制御システム100では、充電モード終了処理と電源供給停止処理との間にタイムアウト処理を設けることで、電源をオフすることができない状態に陥ることを回避することとした。かかるタイムアウト処理について
図6を用いて具体的に説明する。
図6は、本実施例に係る制御システム100において充電モード終了処理中にPM−ECU2でリセットが発生した場合の例を示すシーケンス図である。
【0082】
図6には、
図5と同様に、「IGPオフ要求」オンをPLG−ECU1のメインCPU12へ送信した後に(ステップS13)、PM−ECU2のメインCPU22でリセットが発生した場合の例について示している(
図6の(1)参照)。
【0083】
図6に示すように、PM−ECU2のメインCPU22は、リセットから復帰し、ローカルバス51を再開させると(
図6の(2)参照)、モード不確定状態の継続時間の計測を開始する(ステップS26)。具体的には、モード不確定状態の継続時間とは、充電モードに対応するモード信号「IGP信号」および走行モードに対応する「IG2」の両方がオフされた状態の継続時間のことである。ここでは、計測開始のタイミングを、ローカルバス51を再開させた直後とするが、リセットから復帰した直後であってもよい。
【0084】
そして、PM−ECU2の停止制御部22cは、モード不確定状態が所定時間継続すると、「PM側電源保持要求」がオフされていなくとも、「MRL保持集約結果」を強制的にオフする(ステップS27)。この結果、「MRL保持集約結果」オンを送信し続ける状態(
図5の(5)参照)および「MRL保持集約結果」オフを待ち続ける状態(
図5の(6)参照)が解消される。これにより、PLG−ECU1およびPM−ECU2は、
図4Bに示す電源供給停止処理へ移行することが可能となる。
【0085】
なお、本実施例においてPM−ECU2のメインCPU22は、PLG−ECU1のメインCPU12から「PLG側電源保持要求」オフを受信したか否かにかかわらず、「MRL保持集約結果」をオフすることとするが、これに限ったものではない。
【0086】
たとえば、PM−ECU2のメインCPU22は、「IGP信号」および「IG2」のオフ状態が所定時間継続し、かつ、PLG−ECU1のメインCPU12から「PLG側電源保持要求」オフを受け取った場合に、「MRL保持集約結果」をオフしてもよい。このようにすれば、万一、電源をオフすべきではない状況であるにもかかわらず、電源をオフしてしまうといった状況を回避することができる。
【0087】
次に、PM−ECU2のサブCPU21の具体的動作について
図7を用いて説明する。
図7は、PM−ECU2のサブCPU21が実行する処理手順を示すフローチャートである。
【0088】
図7に示すように、サブCPU21は、電源オフ状態、もしくは、スリープ状態にあるときに、起動要求を受けたか否かを判定し(ステップS101)、起動要求を受けたと判定すると(ステップS101,Yes)、初期化処理を実行する(ステップS102)。
【0089】
ここで、起動要求を受けたか否かの判定は、たとえば、「SW2」または「PIM」がオンされたか否かに基づいて行われる。「SW2」は、たとえばイグニッションボタンが押下された場合に出力される信号である。また、「PIM」は、補機バッテリ3からIGPリレー4経由でサブCPU21へ入力される信号、すなわち、PLG−ECU1が起動した場合に入力される信号である。
【0090】
サブCPU21は、「SW2」または「PIM」のどちらかがオンされた場合に、起動要求を受けたと判定する。なお、サブCPU21は、起動要求がない場合には(ステップS101,No)、起動要求を受けるまでステップS101の判定処理を繰り返す。
【0091】
初期化処理を終えると、サブCPU21は、「SW2」がオンされたか否かを判定し(ステップS103)、「SW2」がオンされたと判定すると(ステップS103,Yes)、「IG2D」をオンする(ステップS104)。この「IG2D」は、電源統合IC25に対して出力される。
【0092】
なお、「IG2D」が電源統合IC25へ入力されると、電源統合IC25は、IG2リレー5をオンする。これにより、「IG2」がOR回路24へ入力され、OR回路24が「MRL」を出力することによってIGCTリレー6がオンされる。
【0093】
つづいて、サブCPU21は、補機バッテリ3からIGCTリレー6経由で供給される電源が所定量まで上昇したか否かを判定する(ステップS105)。そして、サブCPU21は、電源供給量が所定量まで上昇したと判定すると(ステップS105,Yes)、電源統合IC25に対して「PCTL」を出力することで、メインCPU22への電源供給開始を電源統合IC25に対して要求する(ステップS106)。これにより、メインCPU22への電源供給が開始される。なお、サブCPU21は、電源供給量が所定量まで上昇していない場合は(ステップS105,No)、所定量に上昇するまでステップS105の判定処理を繰り返す。
【0094】
つづいて、サブCPU21は、電源管理やメインCPU22の監視といった定常処理を実行する(ステップS107)。また、サブCPU21は、「SW2」がオフされたか否かを判定し(ステップS108)、「SW2」がオフされていない場合には(ステップS108,No)、ステップS107の定常処理を繰り返す。そして、「SW2」がオフされたと判定すると(ステップS108,Yes)、サブCPU21は、「IG2D」をオフする(ステップS109)。
【0095】
なお、「IG2D」がオフされると、電源統合IC25がIG2リレー5に対する「IG2D」の出力をオフし、これにより、IG2リレー5がオフされる。
【0096】
一方、ステップS103において「SW2」がオンされていない場合(ステップS103,No)、サブCPU21は、「PIM」がオンされたか否かを判定する(ステップS110)。そして、「PIM」がオンされたと判定すると(ステップS110,Yes)、サブCPU21は、「PIMD」をオンする(ステップS111)。
【0097】
「PIMD」がオンされると、OR回路24によってIGCTリレー6がオンされる。なお、ステップS110において「PIM」がオンされていない場合(ステップS110,No)、サブCPU21は、処理をステップS101へ戻し、ステップS101〜S110までの処理を繰り返す。
【0098】
「PIMD」をオンすると、サブCPU21は、補機バッテリ3からIGCTリレー6経由で供給される電源が所定量まで上昇したか否かを判定する(ステップS112)。そして、サブCPU21は、電源供給量が所定量まで上昇したと判定すると(ステップS112,Yes)、電源統合IC25に対して「PCTL」を出力することで、メインCPU22への電源供給開始を電源統合IC25に対して要求する(ステップS113)。これにより、メインCPU22への電源供給が開始される。なお、サブCPU21は、電源供給量が所定量まで上昇していない場合は(ステップS112,No)、所定量に上昇するまでステップS112の判定処理を繰り返す。
【0099】
つづいて、サブCPU21は、電源管理やメインCPU22の監視といった定常処理を実行する(ステップS114)。また、サブCPU21は、「PIM」がオフされたか否かを判定し(ステップS115)、「PIM」がオフされていない場合には(ステップS115,No)、ステップS114の定常処理を繰り返す。そして、「PIM」がオフされたと判定すると(ステップS115,Yes)、サブCPU21は、「PIMD」をオフする(ステップS116)。
【0100】
ステップS109またはステップS116の処理を終えると、サブCPU21は、補機バッテリ3からIGCTリレー6経由で供給される電源が所定量まで低下したか否かを判定する(ステップS117)。そして、サブCPU21は、電源供給量が所定量まで低下したと判定すると(ステップS117,Yes)、電源統合IC25に対する「PCTL」の出力をオフすることで、メインCPU22への電源供給停止を電源統合IC25に対して要求する(ステップS118)。これにより、メインCPU22への電源供給が停止される。なお、サブCPU21は、電源供給量が所定量まで低下していない場合は(ステップS117,No)、所定量に低下するまでステップS117の判定処理を繰り返す。
【0101】
メインCPU22への電源供給停止を要求すると、サブCPU21は、スリープ状態へ移行して(ステップS119)、処理を終える。
【0102】
次に、PM−ECU2のメインCPU22の具体的動作について
図8を用いて説明する。
図8は、PM−ECU2のメインCPU22が実行する処理手順を示すフローチャートである。
【0103】
図8に示すように、メインCPU22は、電源供給があったか否かを判定し(ステップS201)、電源供給があった場合には(ステップS201,Yes)、初期化処理を実行する(ステップS202)。なお、メインCPU22は、電源供給がない場合には(ステップS201,No)、電源供給があるまでステップS201の処理を繰り返す。
【0104】
初期化処理を終えると、メインCPU22は、モード不確定状態の継続時間の計測を開始する(ステップS203)。
【0105】
つづいて、メインCPU22は、「MRL_M」をオンする(ステップS204)。「MRL_M」がオンされることによって、「PIMD」または「IG2」がオフされてもIGCTリレー6のオン状態が維持される。このように、「MRL_M」は、メインCPU22への電源供給を自己保持するための信号である。
【0106】
つづいて、メインCPU22は、モード不確定状態の継続時間の計測開始から所定時間が経過しかた否かを判定する(ステップS205)。このとき、計測開始から所定時間が経過していなければ(ステップS205,No)、メインCPU22は、「IGP信号」がオンされたか否かを判定する(ステップS206)。「IGP信号」は、充電モードに対応するモード信号であり、PLG−ECU1のサブCPU11のモード制御部11aによってオン・オフが制御される。
【0107】
ステップS206において「IGP信号」がオンされたと判定すると(ステップS206,Yes)、メインCPU22は、充電モード処理を実行する(ステップS207)。この充電モード処理の具体的な内容については
図9Aを用いて後述する。
【0108】
一方、ステップS206において「IGP信号」がオンされていない場合(ステップS206,No)、メインCPU22は、「IG2」がオンされたか否かを判定する(ステップS208)。「IG2」は、走行モードに対応するモード信号である。
【0109】
ステップS208において「IG2」がオンされたと判定すると(ステップS208,Yes)、メインCPU22は、走行モード処理を実行する(ステップS209)。この走行モード処理の具体的な内容については
図9Bを用いて後述する。
【0110】
充電モード処理または走行モード処理を終えると、メインCPU22は、「PM側電源保持要求」をオフし(ステップS210)、PLG−ECU1から「PLG側電源保持要求」オフを受信したか否かを判定する(ステップS211)。メインCPU22は、「PLG側電源保持要求」オフを受信していない場合には(ステップS211,No)、ステップS211の判定処理を繰り返す。
【0111】
そして、メインCPU22は、「PLG側電源保持要求」オフを受信したと判定すると(ステップS211,Yes)、「MRL保持集約結果」をオフし(ステップS212)、電源停止処理を実行して(ステップS213)、処理を終了する。この電源停止処理の具体的な内容については、
図9Cを用いて後述する。
【0112】
一方、ステップS208において「IG2」がオンされていない場合(ステップS208,No)、メインCPU22は、処理をステップS205へ戻し、ステップS205〜S208の処理を繰り返す。
【0113】
ここで、たとえば充電モード終了処理中にメインCPU22でリセットが発生した場合、リセットから復帰したメインCPU22は、ステップS202の初期化処理から処理を再開する。このとき、PLG−ECU1のサブCPU11によって「IGP信号」がオフされた状態となっているため(
図4AのステップS15参照)、メインCPU22は、ステップS205〜S208の処理を繰り返すこととなる。従来技術では、この状態に陥ると、電源をオフすることができず、バッテリ上がりに陥るおそれがあった。
【0114】
しかし、本実施例では、ステップS205〜S208の処理を繰り返しているうちに、モード不確定状態の継続時間が所定時間を経過することとなる。メインCPU22は、モード不確定状態の継続時間が所定時間を経過したと判定すると(ステップS205,Yes)、処理をステップS212へ移行し、「MRL保持集約結果」をオフする。
【0115】
このように、メインCPU22は、モード不確定状態となった場合であっても、タイムアウト処理によって強制的に「MRL保持集約結果」をオフすることとした。これにより、電源をオフすることができない状態に陥ることを回避することができる。
【0116】
次に、充電モード処理の処理手順について
図9Aを用いて説明する。
図9Aは、PM−ECU2のメインCPU22が実行する充電モード処理の処理手順を示すフローチャートである。
【0117】
図9Aに示すように、メインCPU22は、充電モード処理を開始すると、充電モード設定を行い(ステップS301)、充電処理を開始する(ステップS302)。つづいて、メインCPU22は、「充電終了要求」を受けたか否かを判定する(ステップS303)。メインCPU22は、たとえば、充電池8への充電が完了した場合、あるいは、PLG−ECU1から充電処理を終了すべき旨の要求を受けた場合に、「充電終了要求」を受けたと判定する。
【0118】
メインCPU22は、「充電終了要求」を受けたと判定すると(ステップS303,Yes)、「IGPオフ要求」をオンし、「IGPオフ要求」オンをPLG−ECU1へ送信する(ステップS304)。なお、ステップS303において「充電終了要求」を受けていない場合(ステップS303,No)、メインCPU22は、処理をステップS302へ戻し、「充電終了要求」を受けるまで充電処理を行う。
【0119】
ステップS304の処理を終えると、メインCPU22は、PLG−ECU1から「IGP信号」オフを受信したか否かを判定する(ステップS305)。そして、メインCPU22は、「IGP信号」オフを受信したと判定すると(ステップS305,Yes)、充電終了処理を行い(ステップS306)、処理を終える。なお、メインCPU22は、「IGP信号」オフを受信していない場合には(ステップS305,No)、「IGP信号」オフを受信するまでステップS305の判定処理を繰り返す。
【0120】
次に、走行モード処理の処理手順について
図9Bを用いて説明する。
図9Bは、PM−ECU2のメインCPU22が実行する走行モード処理の処理手順を示すフローチャートである。
【0121】
図9Bに示すように、メインCPU22は、走行モード処理を開始すると、走行モード設定を行い(ステップS401)、走行処理を開始する(ステップS402)。
【0122】
つづいて、メインCPU22は、「IG2」がオフされたか否かを判定し(ステップS403)、「IG2」がオフされたと判定すると(ステップS403,Yes)、走行終了処理を行い(ステップS404)、処理を終える。なお、メインCPU22は、「IG2」がオフされていない場合には(ステップS403,No)、処理をステップS402へ戻し、「IG2」がオフされるまでステップS402およびステップS403の処理を繰り返す。
【0123】
次に、電源停止処理の具体的な内容について
図9Cを用いて説明する。
図9Cは、PM−ECU2のメインCPU22が実行する電源停止処理の処理手順を示すフローチャートである。
【0124】
図9Cに示すように、メインCPU22は、電源停止処理を開始すると、「MRL保持集約結果」オフをPLG−ECU1へ送信し(ステップS501)、ローカルバス51を停止する(ステップS502)。そして、メインCPU22は、「MRL_M」をオフした後(ステップS503)、CPU停止状態へ移行して(ステップS504)、処理を終える。
【0125】
このように、本実施例では、PLG−ECUとPM−ECUの少なくとも一方の制御装置が、停止制御部とモード制御部とを備える。停止制御部は、所定の動作モードにあるときに、当該動作モードの終了条件が成立すると、他方の制御装置との間でやり取りを行いながら制御システムを低消費電力状態にする停止制御を行う。モード制御部は、リセットからの復帰時に動作モードが不定な状態であるモード不確定状態とし、当該モード不確定状態にあるときに動作モードに移行する所定の移行条件が成立すると、移行条件が成立した動作モードに動作モードを移行させる。そして、停止制御部は、モード不確定状態が所定時間継続した場合にも停止制御を行うこととした。
【0126】
具体的には、本実施例では、PLG−ECU1が、モード制御部11aと、停止制御部12cとを備える。モード制御部11aは、充電モード終了処理の開始をPM−ECU2から指示された場合に、現在の動作モードが充電モードであることを示すモード信号「IGP信号」をオフする。また、停止制御部12cの終了処理部12aは、充電モード終了処理が所定の手順(充電処理)まで完了した場合に、充電処理まで完了した旨を示す完了通知「PLG側電源保持要求」オフをPM−ECU2へ送信する。
【0127】
また、本実施例では、PM−ECU2が、停止制御部22cを備える。停止制御部22cの電源停止処理部22bは、充電モード終了処理が所定の手順(充電処理)まで完了し、かつ、PLG−ECU1から「PLG側電源保持要求」オフを受け取った場合に、PLG−ECU1に対して電源供給の停止を許可する電源停止処理を行う。
【0128】
そして、本実施例では、電源停止処理部22bが、充電モードに対応するモード信号「IGP信号」および走行モードに対応するモード信号「IG2」の全てがオフされた状態が所定時間継続した場合に、強制的に電源停止処理を行うこととした。具体的には、電源停止処理部22bは、電源投入直後の状態である初期状態へ移行してからの経過時間を計測し、経過時間が所定時間を越えるまでの間、「IGP信号」および「IG2」の両方がオフされた状態が継続した場合に、強制的に電源停止処理を行う。
【0129】
したがって、本実施例によれば、電源をオフできない状態に陥ることを回避することができる。
【0130】
ところで、これまでは、充電モード終了処理中にPM−ECU2でリセットが発生した場合の例について説明してきた。しかし、本実施例に係る制御システム100では、電源供給停止処理中にPLG−ECU1でリセットが発生した場合であっても、電源をオフできない状態に陥ることを回避することができる。以下では、電源供給停止処理中にPLG−ECU1でリセットが発生した場合の例について説明する。
【0131】
まず、電源供給停止処理中にPLG−ECUでリセットが発生した場合の従来例について
図10を用いて説明する。
図10は、電源供給停止処理中にPLG−ECUでリセットが発生した場合の従来例を示すシーケンス図である。
【0132】
図10に示すように、たとえば、電源供給停止処理開始直後、具体的には、「PLG側電源保持要求」オフをPM−ECUへ送信した後に、PLG−ECUのメインCPUでリセットが発生したとする(
図10の(1)参照)。
【0133】
かかる場合、PLG−ECUのメインCPUは、ローカルバスを停止させる(ステップS40)。その後、PM−ECUから「MRL保持集約結果」オフが送信されるが(ステップS31)、PLG−ECUのメインCPUは、ローカルバスが停止中のため「MRL保持集約結果」オフを受信することができない(
図10の(2)参照)
【0134】
さらにその後、PLG−ECUのメインCPUは、リセットから復帰し、ローカルバスを再開させる(
図10の(3)参照)。このとき、充電モードに対応する「IGP信号」および走行モードに対応する「IG2」がともにオフされた状態であるため、PLG−ECUのメインCPUは、モード不確定状態となる。これにより、PLG−ECUのメインCPUは、電源供給停止処理へ移行することができず、「MRL_M」をオフすることができなくなる(
図10の(4)参照)。
【0135】
「MRL_M」がオフされなければ、PLG−ECUのOR回路からIGPリレーへの「MRL」の出力もオフされない。したがって、補機バッテリからIGPリレー経由で供給されるPLG−ECUのメインCPUへの電源供給は停止されない。また、IGPリレーがオフされなければ、PM−ECUのサブCPUへ入力される「PIM」もオフされないため、PM−ECUのサブCPUは、「PIM」のオフを待ち続ける(
図10の(5)参照)。
【0136】
このように、従来技術では、電源供給停止処理中にPLG−ECUでリセットが発生した場合にも、電源をオフすることができない状態に陥る可能性があった。
【0137】
なお、CPU(ここでは、PLG−ECU1のメインCPU12)のリセット復帰時のデフォルトのモードはモード不定(モード不確定状態)が設定されるように構成されており、リセット復帰後、このモード不確定状態から所定の動作モード(充電モードと走行モード)に移行する条件が成立しないことも、モード不確定状態が続く要因として挙げられる。同様に、モード不確定状態が続く要因として、一度、所定の動作モード(充電モードと走行モード)に移行した後でなければ(モード不確定状態にあると)、電源オフ状態(スリープ状態)に移行するための終了処理(充電終了処理)に移行できないように構成されていたことも挙げられる。
【0138】
また、IGP信号がオフの状態が続く(IGP信号オンを受信しない)要因としては、たとえば、リセット復帰時における、PLG−ECU1のメインCPU12のIGP信号(メモリに記憶した値)の初期状態がオフ状態となるように構成されており、リセット復帰後、PLG−ECU1のサブCPU11は終了処理中でIGP信号をオフにしていることから、PLG−ECU1のサブCPU11からDMA通信を介してIGP信号オンが送信されてこないことが挙げられる。また、PM−ECUのメインCPUからもCAN通信を介してIGP信号オンが送信されてこないことも挙げられる。
【0139】
また、IGP信号がオフの状態が続く(IGP信号オンを受信しない)要因として、サブCPUとメインCPUとの間のDMA通信は、所定のデータ項目について所定時間毎に送受信を行う(前回送信したデータ内容から変化がなくても、所定のデータ項目についての送信を行う)ように構成されており、PLG−ECU1のメインCPU12のリセット復帰時、PLG−ECU1のサブCPU11は終了処理中でIGP信号をオフにしていることから、PLG−ECU1のサブCPU11からDMA通信を介してIGP信号オフが送信されてくることも挙げられる。
【0140】
次に、本実施例に係る制御システム100において電源供給停止処理中にPLG−ECU1でリセットが発生した場合の例について
図11を用いて説明する。
図11は、本実施例に係る制御システム100において電源供給停止処理中にPLG−ECU1でリセットが発生した場合の例を示すシーケンス図である。
【0141】
図11には、
図10と同様に、電源供給停止処理開始直後にPLG−ECU1のメインCPU12でリセットが発生した場合の例を示している(
図11の(1)参照)。
【0142】
図11に示すように、PLG−ECU1のメインCPU12は、リセットから復帰し、ローカルバス51を再開させると(
図11の(2)参照)、モード不確定状態の継続時間の計測を開始する(ステップS42)。ここでは、計測開始のタイミングを、ローカルバス51を再開させた直後とするが、リセットから復帰した直後であってもよい。
【0143】
そして、PLG−ECU1のメインCPU12は、モード不確定状態が所定時間継続すると、「MRL_M」を強制的にオフする(ステップS43)。この結果、「MRL_M」をオフできない状態(
図10の(4)参照)および「PIM」オフを待ち続ける状態(
図10の(5)参照)が解消される。これにより、PLG−ECU1およびPM−ECU2は、
図4Bに示す電源供給停止処理を完了させることが可能となる。
【0144】
次に、PLG−ECU1のサブCPU11の具体的動作について
図12を用いて説明する。
図12は、PLG−ECU1のサブCPU11が実行する処理手順を示すフローチャートである。
【0145】
図12に示すように、サブCPU11は、電源オフ状態、もしくは、スリープ状態にあるときに、起動要求を受けたか否かを判定し(ステップS601)、起動要求を受けたと判定すると(ステップS601,Yes)、初期化処理を実行する(ステップS602)。ここで、起動要求を受けたか否かの判定は、たとえば、充電プラグから入力される信号「SW1」または「PLT」に基づいて行われる。すなわち、サブCPU11は、充電プラグがコンセントに差し込まれた場合に、起動要求を受けたと判定する。なお、サブCPU11は、起動要求がない場合には(ステップS601,No)、起動要求を受けるまでステップS601の判定処理を繰り返す。
【0146】
初期化処理を終えると、サブCPU11は、「MRL_S」をオンする(ステップS603)。つづいて、サブCPU11は、「充電モード起動要求」を受けたか否かを判定する(ステップS604)。「充電モード起動要求」を受けたか否かの判定はIGPの接続要求があるかで判断され、たとえば、充電プラグから入力される信号「SW1」または「PLT」が、充電プラグが接続された状態にある入力状態になった場合にIGPの接続要求が発生するようになっている。
【0147】
なお、本実施例は、有線での充電(充電ケーブルを介しての充電)を行う場合の例を示しているが、本願の開示する制御システムは、無線での充電(非接触充電)を行う充電システムにも適用可能である。非接触充電を行う場合、SW1の入力は、たとえば、充電可能な範囲に外部電源があることを示す信号の入力や、ユーザによる充電開始のスイッチ入力である。
【0148】
ステップS604において「充電モード起動要求」を受けたと判定すると(ステップS604,Yes)、サブCPU11は、充電モードに対応するモード信号である「IGP信号」をオンする(ステップS605)。
【0149】
つづいて、サブCPU11は、タイマ充電管理等の定常処理を実行する(ステップS606)。また、サブCPU11は、「IGPオフ要求」オンを受信したか否かを判定し(ステップS607)、「IGPオフ要求」オンを受信してない場合には(ステップS607,No)、ステップS606の定常処理を繰り返す。そして、「IGPオフ要求」オンを受信したと判定すると(ステップS607,Yes)、サブCPU11は、「IGP信号」をオフする(ステップS608)。
【0150】
一方、ステップS604において「充電モード起動要求」を受けていない場合(ステップS604,No)、サブCPU11は、走行起動要求を受けたか否かを判断する。具体的には、サブCPU11は、「IG2」がオンされたか否かを判定する(ステップS609)。「IG2」は、補機バッテリ3からIG2リレー5経由でサブCPU11へ入力される信号、すなわち、IGスイッチがオン状態になることで、PM−ECU2が起動した場合に入力される信号であり、走行モードに対応するモード信号である(
図2参照)。
【0151】
「IG2」がオンされたと判定すると(ステップS609,Yes)、サブCPU11は、タイマ充電管理等の定常処理を実行する(ステップS610)。また、サブCPU11は、「SW2」(例えば、IGスイッチ)がオフされたか否かを判定し(ステップS611)、「SW2」がオフされていない場合には(ステップS611,No)、ステップS610の定常処理を繰り返す。なお、ステップS609において「IG2」がオンされていない場合(ステップS609,No)、サブCPU11は、処理をステップS601へ移行する。
【0152】
ステップS608の処理を終えたとき、あるいは、「SW2」がオフされたと判定したとき(ステップS611,Yes)、サブCPU11は、「MRL_S」をオフする(ステップS612)。
【0153】
「MRL_S」をオフすると、サブCPU11は、メインCPU12が停止したか否かを判定し(ステップS613)、メインCPU12が停止したと判定すると(ステップS613,Yes)、スリープ状態へ移行して(ステップS614)、処理を終える。なお、サブCPU11は、メインCPU12が停止していない場合には(ステップS613,No)、メインCPU12が停止するまでステップS613の判定処理を繰り返す。
【0154】
次に、PLG−ECU1のメインCPU12の具体的動作について
図13を用いて説明する。
図13は、PLG−ECU1のメインCPU12が実行する処理手順を示すフローチャートである。
【0155】
図13に示すように、メインCPU12は、電源供給量が所定量まで上昇したか否かを判定し(ステップS701)、所定量まで上昇すると(ステップS701,Yes)、初期化処理を実行する(ステップS702)。なお、メインCPU12は、電源供給が所定量まで上昇していない場合には(ステップS701,No)、電源供給が所定量に上昇するまでステップS701の判定処理を繰り返す。
【0156】
初期化処理を終えると、メインCPU12は、モード不確定状態の継続時間の計測を開始する(ステップS703)。
【0157】
つづいて、メインCPU12は、「MRL_M」をオンする(ステップS704)。「MRL_M」がオンされることによって、「MRL_S」がオフされてもIGPリレー4のオン状態が維持される。このように、「MRL_M」は、メインCPU12への電源供給を自己保持するための信号である。
【0158】
つづいて、メインCPU12は、モード不確定状態の継続時間の計測開始から所定時間が経過しかた否かを判定する(ステップS705)。このとき、計測開始から所定時間が経過していなければ(ステップS705,No)、メインCPU12は、「IGP信号」オンを受信したか否かを判定する(ステップS706)。
【0159】
ステップS706において「IGP信号」オンを受信したと判定すると(ステップS706,Yes)、メインCPU12は、充電モード処理を実行する(ステップS707)。この充電モード処理の具体的な内容については
図14Aを用いて後述する。
【0160】
一方、ステップS706において「IGP信号」オンを受信していない場合(ステップS706,No)、メインCPU12は、「IG2」がオンされたか否かを判定する(ステップS708)。そして、「IG2」がオンされたと判定すると(ステップS708,Yes)、メインCPU12は、走行モード処理を実行する(ステップS709)。この走行モード処理の具体的な内容については
図14Bを用いて後述する。
【0161】
充電モード処理または走行モード処理を終えると、メインCPU12は、「PLG側電源保持要求」をオフし(ステップS710)、「PLG側電源保持要求」オフをPM−ECU2へ送信する。
【0162】
つづいて、メインCPU12は、PM−ECU2から「MRL保持集約結果」オフを受信したか否かを判定する(ステップS711)。メインCPU12は、「MRL保持集約結果」オフを受信していない場合には(ステップS711,No)、「MRL保持集約結果」オフを受信するまでステップS711の判定処理を繰り返す。
【0163】
そして、メインCPU12は、「MRL保持集約結果」オフを受信したと判定すると(ステップS711,Yes)、「MRL_M」をオフし(ステップS712)、電源停止処理を実行して(ステップS713)、処理を終了する。電源停止処理の具体的な内容については、
図14Cを用いて後述する。
【0164】
一方、ステップS708において「IG2」がオンされていない場合(ステップS708,No)、メインCPU12は、処理をステップS705へ戻し、ステップS705〜S708の処理を繰り返す。
【0165】
ここで、たとえば電源供給停止処理中にメインCPU12でリセットが発生した場合、リセットから復帰したメインCPU12は、ステップS702の初期化処理から処理を再開する。このとき、「IGP信号」および「IG2」の両方がオフされた状態となっているため、メインCPU12は、ステップS705〜S708の処理を繰り返すこととなる。従来技術では、この状態に陥ると、電源をオフすることができず、バッテリ上がりに陥るおそれがあった。
【0166】
しかし、本実施例では、ステップS705〜S708の処理を繰り返しているうちに、モード不確定状態の継続時間が所定時間を経過することとなる。メインCPU12は、モード不確定状態の継続時間が所定時間を経過したと判定すると(ステップS705,Yes)、処理をステップS712へ移行し、「MRL_M」をオフする。
【0167】
このように、メインCPU12は、モード不確定状態となった場合であっても、タイムアウト処理によって強制的に「MRL_M」をオフすることとした。これにより、電源をオフすることができない状態に陥ることを回避することができる。
【0168】
次に、充電モード処理の処理手順について
図14Aを用いて説明する。
図14Aは、PLG−ECU1のメインCPU12が実行する充電モード処理の処理手順を示すフローチャートである。
【0169】
図14Aに示すように、メインCPU12は、充電モード処理を開始すると、充電モード設定を行い(ステップS801)、充電処理を開始する(ステップS802)。つづいて、メインCPU12は、PM−ECU2から「IGPオフ要求」オンを受信したか否かを判定する(ステップS803)。
【0170】
メインCPU12は、「IGPオフ要求」オンを受信したと判定すると(ステップS803,Yes)、「IGPオフ要求」オンをサブCPU11へ送信する(ステップS804)。なお、ステップS803において「IGPオフ要求」オンを受信していない場合(ステップS803,No)、メインCPU12は、処理をステップS802へ戻し、「IGPオフ要求」オンを受信するまで充電処理を行う。
【0171】
ステップS804の処理を終えると、メインCPU12は、サブCPU11から「IGP信号」オフを受信したか否かを判定し(ステップS805)、「IGP信号」オフを受信したと判定すると(ステップS805,Yes)、充電終了処理を行い(ステップS806)、処理を終える。なお、メインCPU12は、「IGP信号」オフを受信していない場合には(ステップS805,No)、「IGP信号」オフを受信するまでステップS805の判定処理を繰り返す。
【0172】
次に、走行モード処理の処理手順について
図14Bを用いて説明する。
図14Bは、PLG−ECU1のメインCPU12が実行する走行モード処理の処理手順を示すフローチャートである。
【0173】
図14Bに示すように、メインCPU12は、走行モード処理を開始すると、走行モード設定を行い(ステップS901)、走行処理を開始する(ステップS902)。
【0174】
つづいて、メインCPU12は、「IG2」がオフされたか否かを判定し(ステップS903)、「IG2」がオフされたと判定すると(ステップS903,Yes)、走行終了処理を行い(ステップS904)、処理を終える。なお、メインCPU12は、「IG2」がオフされていない場合には(ステップS903,No)、処理をステップS902へ戻し、「IG2」がオフされるまでステップS902およびステップS903の処理を繰り返す。
【0175】
次に、電源停止処理の具体的な内容について
図14Cを用いて説明する。
図14Cは、PLG−ECU1のメインCPU12が実行する電源停止処理の処理手順を示すフローチャートである。
【0176】
図14Cに示すように、メインCPU12は、電源停止処理を開始すると、ローカルバス51を停止し(ステップS1001)、電源供給量が所定量まで低下したか否かを判定する(ステップS1002)。そして、メインCPU12は、電源供給量が所定量まで低下したと判定すると(ステップS1002,Yes)、CPU停止状態へ移行して(ステップS1003)、処理を終える。なお、メインCPU12は、電源供給量が所定量まで低下していない場合(ステップS1002,No)、所定量に低下するまでステップS1002の判定処理を繰り返す。
【0177】
このように、PLG−ECU1は、モード制御部11aと、終了処理部12aと、電源停止処理部12bとを備える。モード制御部11aは、充電モード終了処理の開始をPM−ECU2から指示された場合に、現在の動作モードが充電モードであることを示すモード信号「IGP信号」をオフする。また、終了処理部12aは、充電モード終了処理が所定の手順(充電処理)まで完了した場合に、充電処理まで完了した旨を示す完了通知「PLG側電源保持要求」オフをPM−ECU2へ送信する。
【0178】
また、電源停止処理部12bは、PM−ECU2の電源停止処理部22bから電源供給の停止が許可された場合、すなわち、「MRL保持集約結果」オフを受信した場合に、自装置への電源供給を停止する電源停止処理(第2の電源停止処理に相当)を行う。具体的には、電源停止処理部12bは、「MRL保持集約結果」オフを受信した場合に、「MRL_M」をオフする。
【0179】
そして、電源停止処理部12bは、充電モードに対応するモード信号「IGP信号」および走行モードに対応するモード信号「IG2」の全てがオフされた状態が所定時間継続した場合に、強制的に電源停止処理を行うこととした。具体的には、電源停止処理部12bは、電源投入直後の状態である初期状態へ移行してからの経過時間を計測し、経過時間が所定時間を越えるまでの間、「IGP信号」および「IG2」の両方がオフされた状態が継続した場合に、強制的に電源停止処理を行う。
【0180】
したがって、本実施例によれば、電源をオフできない状態に陥ることを回避することができる。
【0181】
上述してきたように、本実施例では、PLG−ECUおよびPM−ECUが、モード不確定状態が所定時間継続した場合に、電源供給停止処理へ強制的に移行することとしたため、電源をオフすることができない状態に陥ることを回避することができる。
【0182】
なお、上述してきた実施例では、PLG−ECUおよびPM−ECUが協働して充電モード処理を行う場合の例について説明してきた。しかし、第1の制御装置および第2の制御装置は、PLG−ECUおよびPM−ECU以外の制御装置であってもよい。また、第1の制御装置および第2の制御装置間で実行される所定の動作モードは、充電モード以外の動作モードであってもよい。
【0183】
以上、本願に係る制御システムの実施例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。