(57)【要約】【課題】通信途絶を防止すること。【解決手段】実施形態に係る通信処理装置は、通信部と、割り込みコントローラと、検出部と、割り込み処理部とを備える。通信部は、外部装置との間でシリアル通信により通信する。割り込みコントローラは、通信部によって受信されたデータの記憶領域への転送が完了した場合、または、通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する。検出部は、シリアル通信の通信状態を示す第１情報、および、シリアル通信の受信有効データの状態を示す第２情報に基づいて、割り込みコントローラにおける割り込み要求の上書きの発生を検出する。割り込み処理部は、検出部によって上記上書きの発生が検出された場合に、割り込み要求の出力に応じて強制的にシリアル通信の完了を通知する。【選択図】図２Ｂ
2019191700.tif 000002
【特許請求の範囲】
【請求項１】
外部装置との間でシリアル通信により通信する通信部と、
前記通信部によって受信されたデータの記憶領域への転送が完了した場合、または、前記通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する割り込みコントローラと、
前記シリアル通信の通信状態を示す第１情報、および、該シリアル通信の受信有効データの状態を示す第２情報に基づいて、前記割り込みコントローラにおける前記割り込み要求の上書きの発生を検出する検出部と、
前記検出部によって前記上書きの発生が検出された場合に、前記割り込み要求の出力に応じて強制的に前記シリアル通信の完了を通知する割り込み処理部と
を備えることを特徴とする通信処理装置。
【請求項２】
前記検出部は、
前記第１情報が通信完了であることを示し、かつ、前記第２情報が前記受信有効データが有ることを示す場合に、前記上書きが発生したと判定する
ことを特徴とする請求項１に記載の通信処理装置。
【請求項３】
前記割り込み処理部は、
前記検出部によって前記上書きが発生したと判定された場合に、前記通信部により受信されたデータのうち、前記記憶領域への未転送分を該記憶領域へ転送する
ことを特徴とする請求項１または２に記載の通信処理装置。
【請求項４】
前記外部装置は、蓄電池を監視する監視装置であって、
前記監視装置から前記シリアル通信により前記蓄電池の監視結果を取得し、該監視結果に基づいて前記蓄電池を充放電制御する充放電制御部
を備えることを特徴とする請求項１、２または３に記載の通信処理装置。
【請求項５】
外部装置との間でシリアル通信により通信する通信部と、前記通信部によって受信されたデータの記憶領域への転送が完了した場合、または、前記通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する割り込みコントローラとを備える通信処理装置を用いた通信処理方法であって、
前記シリアル通信の通信状態を示す第１情報、および、該シリアル通信の受信有効データの状態を示す第２情報に基づいて、前記割り込みコントローラにおける前記割り込み要求の上書きの発生を検出する検出工程と、
前記検出工程によって前記上書きの発生が検出された場合に、前記割り込み要求の出力に応じて強制的に前記シリアル通信の完了を通知する割り込み処理工程と
を含むことを特徴とする通信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、通信処理装置および通信処理方法に関する。
【背景技術】
【０００２】
従来、ＨＥＶ（Hybrid  Electric  Vehicle）やＥＶ（Electric  Vehicle）に搭載されるリチウムイオン二次電池（ＬＩＢ：Lithium-Ion  rechargeable  Battery）等のセル電圧を監視する監視ＩＣ（Integrated  Circuit）と、マイクロコントローラ（以下、「マイコン」と記載する）との間でシリアル通信による通信処理を行い、ＬＩＢの状態を監視する装置が知られている（たとえば、特許文献１参照）。
【０００３】
このような通信処理を行う装置では一般に、マイコンが高負荷になることにより、シリアル通信完了割り込みに抜けが発生して、通信途絶が発生する場合がある。かかる場合に対応する手段としては、たとえばタイマ割り込みにより定期的に実行されるソフトウェア処理タスクによって通信途絶を監視し、通信途絶が発生した場合には、監視ＩＣとの通信をやり直すことによって通信途絶から復帰する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−０７２２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術は、マイコンが高負荷になることにより通信途絶が発生した場合に、通信途絶から復帰させるものに過ぎず、通信途絶の機会そのものを減らすものではない。
【０００６】
実施形態の一態様は、上記に鑑みてなされたものであって、通信途絶を防止することができる通信処理装置および通信処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一態様に係る通信処理装置は、通信部と、割り込みコントローラと、検出部と、割り込み処理部とを備える。前記通信部は、外部装置との間でシリアル通信により通信する。前記割り込みコントローラは、前記通信部によって受信されたデータの記憶領域への転送が完了した場合、または、前記通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する。前記検出部は、前記シリアル通信の通信状態を示す第１情報、および、該シリアル通信の受信有効データの状態を示す第２情報に基づいて、前記割り込みコントローラにおける前記割り込み要求の上書きの発生を検出する。前記割り込み処理部は、前記検出部によって前記上書きの発生が検出された場合に、前記割り込み要求の出力に応じて強制的に前記シリアル通信の完了を通知する。
【発明の効果】
【０００８】
実施形態の一態様によれば、通信途絶を防止することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、車載システムの概要説明図である。
【図１Ｂ】図１Ｂは、実施形態に係るバッテリ管理ＥＣＵの構成の概要説明図である。
【図１Ｃ】図１Ｃは、比較例となる従来構成の概要説明図（その１）である。
【図１Ｄ】図１Ｄは、比較例となる従来構成の概要説明図（その２）である。
【図１Ｅ】図１Ｅは、実施形態に係る通信処理方法の概要説明図である。
【図２Ａ】図２Ａは、実施形態に係るバッテリ管理ＥＣＵのブロック図である。
【図２Ｂ】図２Ｂは、実施形態に係るマイコンの詳細ブロック図である。
【図３Ａ】図３Ａは、比較例となる従来構成における正常時のタイミングチャートである。
【図３Ｂ】図３Ｂは、比較例となる従来構成における異常時のタイミングチャートである。
【図４】図４は、実施形態に係るバッテリ管理ＥＣＵの割り込み処理部が実行する処理手順を示すフローチャートである。
【図５Ａ】図５Ａは、実施形態に係るバッテリ管理ＥＣＵにおける上書き発生時のタイミングチャートである。
【図５Ｂ】図５Ｂは、実施形態に係るバッテリ管理ＥＣＵにおける上書き未発生時のタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示する通信処理装置および通信処理方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１１】
また、以下では、本実施形態に係る通信処理方法の概要について図１Ａ〜図１Ｅを用いて説明した後に、本実施形態に係る通信処理方法を適用したバッテリ管理ＥＣＵ（Electronic  Control  Unit）１０の具体的な構成例について、図２Ａ〜図５Ｂを用いて説明することとする。
【００１２】
まず、本実施形態に係る通信処理方法の概要について図１Ａ〜図１Ｅを用いて説明する。図１Ａは、車載システム１の概要説明図である。また、図１Ｂは、本実施形態に係るバッテリ管理ＥＣＵ１０の概要説明図である。また、図１Ｃおよび図１Ｄは、比較例となる従来構成の概要説明図（その１）および（その２）である。また、図１Ｅは、本実施形態に係る通信処理方法の概要説明図である。なお、図１Ｃおよび図１Ｄでは、本実施形態との区別のために、構成要素の符号に「’」を付す。
【００１３】
図１Ａに示すように、車両１００は、車載システム１を備える。車載システム１は、図示略の複数のＥＣＵを備える。ＥＣＵは、ＣＡＮ（Controller  Area  Network）等のネットワークＮにより相互通信可能に接続され、それぞれ制御プログラムを実行することによって、それぞれに対応する制御対象を電子制御する。
【００１４】
そのＥＣＵのうちの１つであるバッテリ管理ＥＣＵ１０は、制御対象としてＬＩＢ２０を電子制御する。また、上位ＥＣＵ３０は、バッテリ管理ＥＣＵ１０の上位のＥＣＵであり、たとえば走行する車両１００の車両状況を随時取得して、かかる車両状況に応じてバッテリ管理ＥＣＵ１０を制御する。
【００１５】
図１Ｂに示すように、バッテリ管理ＥＣＵ１０は、セルモニタＩＣ１１と、マイコン１２とを備える。セルモニタＩＣ１１は、「ＬＩＢ２０を監視」する。マイコン１２は、上位ＥＣＵ３０から取得した車両状況と「セルモニタＩＣ１１の監視結果に基づく充放電制御」を実行する。セルモニタＩＣ１１およびマイコン１２間では、データは、ＳＰＩ（Serial  Peripheral  Interface）によるシリアル通信によりやり取りされる。
【００１６】
ここで、比較例となる従来構成に係るマイコン１２’の基本的な構成について説明しておく。図１Ｃに示すように、マイコン１２’は、ＳＰＩ通信部１２ａ’と、ＤＭＡ（Direct  Memory  Access）１２ｂ’と、ＲＡＭ（Random  Access  Memory）１２ｃ’と、ＩＮＴＣ（Interrupt  Controller）１２ｄ’と、割り込み処理部１２ｅ’と、充放電制御部１２ｆ’とを備える。
【００１７】
ＳＰＩ通信部１２ａ’は、ＤＭＡ１２ｂ’およびＲＡＭ１２ｃ’を用いつつ、セルモニタＩＣ１１’との間でデータを送受信する。そして、１回の通信コマンド送受信ごとで、ＤＭＡ１２ｂ’は、ＩＮＴＣ１２ｄ’へ「ＤＭＡ転送完了」（以下、「＃１」と言う場合がある）を通知し、ＳＰＩ通信部１２ａ’は、ＩＮＴＣ１２ｄ’へ「ＳＰＩ通信受信完了」（以下、「＃２」と言う場合がある）を通知する。
【００１８】
ＩＮＴＣ１２ｄ’は、内部に備える割り込み要求の格納レジスタへ「＃１」および「＃２」をＯＲゲートを介して書き込む。割り込み要求としてレジスタへ格納された「＃１」および「＃２」は、順次割り込み処理部１２ｅ’へ出力される（図中の「割り込み出力×２」参照）。
【００１９】
そして、割り込み処理部１２ｅ’は、２個目の割り込み要求を受け付けたことをトリガとして、シリアル通信完了割り込みを生成し、たとえば製品ソフトウェアの１つに対応する充放電制御部１２ｆ’へ通知する（図中の「シリアル通信完了割り込み通知」参照）。
【００２０】
充放電制御部１２ｆ’は、通知されたシリアル通信完了割り込みに対応する処理を実行する（図中の「対応処理実行」参照）。なお、１回の通信コマンド送受信に対応する通信処理のより具体的な例については、図２Ｂ等を用いた説明で後述する。
【００２１】
ところが、図１Ｄに示すように、マイコン１２’でたとえば他に高優先度のソフトウェアが実行されるなどして、マイコン１２’が「高負荷時」となると、ＩＮＴＣ１２ｄ’の格納レジスタに格納された最初の割り込み要求を出力する前に、次の割り込み要求が格納レジスタに格納されてしまい、すなわち「割り込み要求に上書きが発生」してしまい、先行した割り込み要求（たとえば「＃１」）については出力されずに、「＃２」のみが割り込み処理部１２ｅ’へ出力されてしまう（図中の「割り込み出力×１」参照）。
【００２２】
すると、割り込み処理部１２ｅ’は、２個目の割り込み要求を受け付けたことをトリガとするため「待機状態」となってしまい、「シリアル通信完了割り込み」を生成せずに、「シリアル通信完了割り込み」の抜けが発生する。すなわち、「抜け＝通信途絶が発生」することとなる。通信途絶が発生した場合、通信を初めからやり直すことによって復帰させることはできるが、復帰するまでの期間は、ＬＩＢ２０のセル電圧監視も充放電制御も実行することができない。
【００２３】
なお、ＩＮＴＣ１２ｄ’の割り込み要求の格納レジスタは、通常のＩＮＴＣの特性として、１個分の割り込み要求しか格納できないという制限がある。
【００２４】
そこで、図１Ｅに示すように、本実施形態に係る通信処理方法では、割り込み処理部１２ｅに、ＳＰＩにおける「ＳＰＩ通信状態１２ｇとＳＰＩ受信有効データ状態１２ｈとに基づいて上書き発生を検出」させることとした。そして、「上書きが発生している場合に、強制的にシリアル通信完了割り込みを生成して通知」することとした。
【００２５】
なお、「ＳＰＩ通信状態１２ｇ」と「ＳＰＩ受信有効データ状態１２ｈ」とは、ＳＰＩの状態を示す情報が格納されるレジスタの所定のビットに予め割り当てられておくことで参照することが可能となる。
【００２６】
これにより、比較例のように、割り込み処理部１２ｅが待機状態となるのを防ぐことができるので、そもそものシリアル通信完了割り込みの抜けを防止することができる。したがって、本実施形態に係る通信処理方法によれば、通信途絶を防止することができる。
【００２７】
以下、上述した通信処理方法を適用したバッテリ管理ＥＣＵ１０について、さらに具体的に説明する。
【００２８】
図２Ａは、本実施形態に係るバッテリ管理ＥＣＵ１０のブロック図である。また、図２Ｂは、本実施形態に係るマイコン１２の詳細ブロック図である。なお、図２Ａおよび図２Ｂでは、本実施形態の特徴を説明するために必要な構成要素のみを表しており、一般的な構成要素についての記載を省略している。
【００２９】
換言すれば、図２Ａおよび図２Ｂに図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【００３０】
また、図２Ａおよび図２Ｂは、既に示した図１Ｃ〜図１Ｅに対応しており、同一の構成要素には同一の符号を付している（図１Ｃおよび図１Ｄからは「’」を排した符号に対応）。また、以下では、既に説明済みの構成要素については、説明を簡略化するか省略する場合がある。
【００３１】
図２Ａに示すように、バッテリ管理ＥＣＵ１０は、セルモニタＩＣ１１と、マイコン１２と、ＣＡＮ通信部１３とを備える。セルモニタＩＣ１１は、ＳＰＩ通信部１１ａと、計測部１１ｂと、ＡＤＣ（Analog-to-digital  converter）１１ｃとを備える。
【００３２】
セルモニタＩＣ１１は、ＬＩＢ２０のセル電圧を監視する。ＡＤＣ１１ｃは、ＬＩＢ２０からのモニタ信号をアナログ−デジタル変換する。計測部１１ｂは、シャント抵抗等を介し、電流値を計測する。ＳＰＩ通信部１１ａは、マイコン１２のＳＰＩ通信部１２ａとの間でシリアル通信によりデータのやり取りを行う。
【００３３】
ＣＡＮ通信部１３は、ＣＡＮを介してマイコン１２と上位ＥＣＵ３０との間でデータのやり取りを行わせる。
【００３４】
マイコン１２についてより具体的に説明する。図２Ｂに示すように、マイコン１２のＳＰＩ通信部１２ａは、送信データレジスタ１２ａａと、受信データレジスタ１２ａｂとを有する。
【００３５】
ＳＰＩ通信部１２ａは、送信データレジスタ１２ａａに書き込まれたデータをセルモニタＩＣ１１へシリアル通信により送信する。また、ＳＰＩ通信部１２ａは、セルモニタＩＣ１１からシリアル通信により受信したデータを受信データレジスタ１２ａｂに書き込む。
【００３６】
ＤＭＡ１２ｂ−１は、ＲＡＭ１２ｃに格納された送信データを、１データずつＳＰＩ通信部１２ａの送信データレジスタ１２ａａへ転送する。なお、ＤＭＡ１２ｂ−１は、１回の通信コマンド送受信において２個目に送信するデータ以降を、ＲＡＭ１２ｃから送信データレジスタ１２ａａへ転送する。１個目に送信するデータは、ＤＭＡ１２ｂ−１を介さずに、ＲＡＭ１２ｃから送信データレジスタ１２ａａへソフトウェア的に直接転送される。
【００３７】
ＤＭＡ１２ｂ−２は、ＳＰＩ通信部１２ａが受信した受信データを１データずつ受信データレジスタ１２ａｂからＲＡＭ１２ｃへ転送する。なお、ＤＭＡ１２ｂ−２は、「受信データ数−１」回分の転送が可能であり、最後の１データは、ＤＭＡ１２ｂ−２を介さずに、受信データレジスタ１２ａｂからＲＡＭ１２ｃへソフトウェア的に直接転送される。
【００３８】
また、ＤＭＡ１２ｂ−２は、「受信データ数−１」個目の受信データの転送を完了すると、ＩＮＴＣ１２ｄへ「ＤＭＡ転送完了」を通知する。また、ＳＰＩ通信部１２ａは、「受信データ数」個目の最後のデータを受信データレジスタ１２ａｂに書き込むと、ＩＮＴＣ１２ｄへ「ＳＰＩ通信受信完了」を通知する。
【００３９】
ＩＮＴＣ１２ｄは、ＯＲゲート１２ｄａと、割り込み要求の格納レジスタであるレジスタ１２ｄｂとを有する。ＯＲゲート１２ｄａは、ＤＭＡ１２ｂ−２から通知された「ＤＭＡ転送完了」またはＳＰＩ通信部１２ａから通知された「ＳＰＩ通信受信完了」をレジスタ１２ｄｂへ書き込む。
【００４０】
また、ＩＮＴＣ１２ｄは、マイコン１２で他の高優先度処理が実行される等により保留状態とならなければ、レジスタ１２ｄｂに書き込まれた＃１，＃２を順次割り込み処理部１２ｅへ出力する。
【００４１】
また、割り込み処理部１２ｅは、上書き検出部１２ｅａと、割り込み生成部１２ｅｂとを有する。上書き検出部１２ｅａは、ＳＰＩ通信状態１２ｇと、ＳＰＩ受信有効データ状態１２ｈとに基づいて、レジスタ１２ｄｂに上書きが生じたか否かを検出する。
【００４２】
また、上書き検出部１２ｅａは、上書きを検出した場合に、割り込み生成部１２ｅｂに対し、強制的にシリアル通信完了割り込みを生成させ、これを通知させる。
【００４３】
また、割り込み処理部１２ｅは、上書きを検出しなかった場合には、所定の処理により、割り込み生成部１２ｅｂに対し、シリアル通信完了割り込みを生成させ、これを通知させる。これらの点については、図４以降を用いた説明で後述する。
【００４４】
ここで、比較例と本実施形態との違いについて理解を深めるために、図１Ｃおよび図１Ｄに示した比較例となる従来構成の場合における「正常時（通信途絶なし）」、「異常時（通信途絶あり）」それぞれのタイミングチャートについて、図３Ａおよび図３Ｂを用いて説明しておく。
【００４５】
図３Ａは、比較例となる従来構成における正常時のタイミングチャートである。また、図３Ｂは、比較例となる従来構成における異常時のタイミングチャートである。なお、図３Ａおよび図３Ｂでは、１回の通信コマンド送受信において５つのデータが送信または受信されるものとする。
【００４６】
まず、図３Ａに示すように、たとえばユーザソフトウェアの定刻タスク処理によって、同じくユーザソフトウェアのＳＰＩ通信開始処理が実行され、「初回コマンド送受信」が開始される。
【００４７】
なお、ＳＰＩ通信開始処理は、図中のＭ１部に示すように、１個目に送信されるデータを、ソフトウェア転送処理によりＲＡＭ１２ｃ’から送信データレジスタ１２ａａ’へ直接転送させる。２〜５個目に送信される各データは、ＤＭＡ１２ｂ−１’によるＤＭＡ転送により、送信データレジスタ１２ａａ’へ転送される。そして、送信データレジスタ１２ａａ’へ転送された各データは、ＳＰＩ通信部１２ａ’により順次セルモニタＩＣ１１’へ向けて送信される。
【００４８】
一方、セルモニタＩＣ１１’からの受信データは、ＳＰＩ通信部１２ａ’により順次受信データレジスタ１２ａｂ’へ書き込まれて、１〜４個目までの各データは、ＤＭＡ１２ｂ−２’によるＤＭＡ転送により、ＲＡＭ１２ｃ’へ転送される。
【００４９】
また、４個目のデータがＤＭＡ転送されると、ＤＭＡ１２ｂ−２’が、ＩＮＴＣ１２ｄ’に対し、ＤＭＡ転送完了（図中の＃１参照）を通知し、＃１は、ＩＮＴＣ１２ｄ’の割り込み要求を格納するレジスタ１２ｄｂ’へ書き込まれる。ここで、他の高優先度処理等が実行されておらず、マイコン１２’が高負荷状態になければ、＃１はＩＮＴＣ１２ｄ’から割り込み出力され、割り込み処理部１２ｅ’がこれを受け付ける。
【００５０】
また、受信データのうち、最後の５個目のデータが受信データレジスタ１２ａｂ’へ書き込まれると、ＳＰＩ通信部１２ａ’は、ＩＮＴＣ１２ｄ’に対し、ＳＰＩ通信受信完了（図中の＃２参照）を通知し、＃２は、ＩＮＴＣ１２ｄ’の割り込み要求を格納するレジスタ１２ｄｂ’へ書き込まれる。
【００５１】
ここで、他の高優先度処理等が実行されておらず、マイコン１２’が高負荷状態になければ、＃２はＩＮＴＣ１２ｄ’から割り込み出力され、割り込み処理部１２ｅ’がこれを受け付ける。
【００５２】
そして、割り込み処理部１２ｅ’は、かかる「２回目の割り込みを通知」されると、ソフトウェア転送処理により、受信データのうちの最後の５個目のデータを、受信データレジスタ１２ａｂ’からＲＡＭ１２ｃ’へ直接転送させる（図中のＭ２部参照）。また、割り込み処理部１２ｅ’は、「シリアル通信完了割り込みを通知」する。
【００５３】
その後、「次回の通信コマンド送受信」が開始され、同様の通信処理が繰り返されることとなる。
【００５４】
次に、図３Ｂに示すように、他の高優先度処理が実行中であるものとする（図中のＭ３部参照）。かかる場合、図３Ａと同様の手順を経て、受信データの４個目のデータがＤＭＡ転送されると、ＤＭＡ１２ｂ−２’が、ＩＮＴＣ１２ｄ’に対し、ＤＭＡ転送完了（図中の＃１参照）を通知し、＃１は、ＩＮＴＣ１２ｄ’のレジスタ１２ｄｂ’へ書き込まれる。ただし、ここで高優先度処理が実行中であると、「高優先度処理の終了待ち」となり、＃１のＩＮＴＣ１２ｄ’からの割り込み出力は「保留」される。
【００５５】
そして、この「保留」の間に、受信データのうちの最後の５個目のデータが受信データレジスタ１２ａｂ’へ書き込まれると、ＳＰＩ通信部１２ａ’は、ＩＮＴＣ１２ｄ’に対し、ＳＰＩ通信受信完了（図中の＃２参照）を通知し、＃２は、ＩＮＴＣ１２ｄ’のレジスタ１２ｄｂ’へ「上書き」される。
【００５６】
かかる状態で、高優先度処理が終了すると、レジスタ１２ｄｂ’へ格納されている割り込み要求が出力されるが、図中に示すように、「上書きされたため、割り込みは１度だけ」となる。このため、割り込み処理部１２ｅ’は「待機状態となり、次回の通信コマンド送受信が行われない」事態、すなわち、通信途絶が発生することとなる。
【００５７】
そこで、本実施形態に係るバッテリ管理ＥＣＵ１０は、既に述べたように、ＳＰＩ通信状態１２ｇとＳＰＩ受信有効データ状態１２ｈとに基づいて、上書き発生を検出することとした。そして、上書き発生を検出した場合に、所定の処理を実行することで強制的にシリアル通信完了割り込みを生成してユーザソフトウェアへ通知することとした。
【００５８】
図４は、実施形態に係るバッテリ管理ＥＣＵ１０の割り込み処理部１２ｅが実行する処理手順を示すフローチャートである。図４に示すように、割り込み処理部１２ｅは、まず、ＳＰＩ通信状態１２ｇが「完了」であるか否かを判定する（ステップＳ１０１）。
【００５９】
ここで、ＳＰＩ通信状態１２ｇが「完了」である場合（ステップＳ１０１，Ｙｅｓ）、つづいて割り込み処理部１２ｅは、ＳＰＩ受信有効データ状態１２ｈが「有」であるか否かを判定する（ステップＳ１０２）。
【００６０】
ここで、ＳＰＩ受信有効データ状態１２ｈが「有」である場合（ステップＳ１０２，Ｙｅｓ）、割り込み処理部１２ｅは、上書き発生ありと判定し、ステップＳ１０３の転送処理、ステップＳ１０４の割り込み要求クリア処理、ステップＳ１０５の割り込み通知処理を順に実行し、処理を終了する。
【００６１】
また、ステップＳ１０１またはステップＳ１０２のいずれかで判定条件を満たさなかった場合（ステップＳ１０１，Ｎｏ／ステップＳ１０２，Ｎｏ）、割り込み処理部１２ｅは、上書き発生なしと判定し、処理を終了する。
【００６２】
なお、ステップＳ１０３の転送処理は、受信データレジスタ１２ａｂからＲＡＭ１２ｃへデータを直接転送する処理である。
【００６３】
また、ステップＳ１０４の割り込み要求クリア処理は、ＩＮＴＣ１２ｄのレジスタ１２ｄｂをクリアする処理である。これは１回目の＃１の割り込みに対する割り込み処理実行中に、＃２のＳＰＩ通信受信完了要求が発生した、すなわち受信データのうちの最後のデータが受信データレジスタ１２ａｂへ書き込まれた場合に、シリアル通信完了割り込みがユーザソフトウェアへ２度通知されてしまうことを防ぐものである。
【００６４】
仮に２度通知されてしまっても、２個目の通知は不要なだけであるので、ユーザソフトウェアの処理に与える影響は少ないが、割り込み要求クリア処理を実行することで、不要な割り込みを通知させないようにすることができるので、処理負荷の軽減に資することができる。
【００６５】
また、ステップＳ１０５の割り込み通知処理は、シリアル通信完了割り込みを生成してユーザソフトウェアへ通知する処理である。
【００６６】
なお、以下では、図４に示すように、ステップＳ１０１およびステップＳ１０２の処理を「処理Ａ」、ステップＳ１０３の転送処理を「処理Ｂ」、ステップＳ１０４の割り込み要求クリア処理を「処理Ｃ」、ステップＳ１０５の割り込み通知処理を「処理Ｄ」と言う場合がある。
【００６７】
次に、これまで説明した本実施形態に係るバッテリ管理ＥＣＵ１０における「上書き発生時」、「上書き未発生時」それぞれのタイミンチャートについて、図５Ａおよび図５Ｂを用いて説明する。
【００６８】
図５Ａは、本実施形態に係るバッテリ管理ＥＣＵ１０における上書き発生時のタイミングチャートである。また、図５Ｂは、本実施形態に係るバッテリ管理ＥＣＵ１０における上書き未発生時のタイミングチャートである。
【００６９】
なお、図５Ａは図３Ｂに、図５Ｂは図３Ａに、それぞれ対応しているため、ここでの説明は主に異なる点について述べる。
【００７０】
図５Ａに示すように、本実施形態に係るバッテリ管理ＥＣＵ１０は、ＳＰＩ通信状態１２ｇと、ＳＰＩ受信有効データ状態１２ｈとを参照する。ＳＰＩ通信状態１２ｇは、ＳＰＩ波形が出力される受信中の間は「通信中」となり、それ以外は「完了」となる。また、ＳＰＩ受信有効データ状態１２ｈは、受信データレジスタ１２ａｂへデータが書き込まれ、ＤＭＡ１２ｂ−２によってＤＭＡ転送されるまでの間は「有」となり、それ以外は「無」となる。
【００７１】
ここで、４個目のデータを受信するに先立って、高優先度処理が実行中であるものとする（図中のＭ４部参照）。かかる場合、図３Ｂと同様の手順を経て、受信データの４個目のデータがＤＭＡ転送されると、ＤＭＡ１２ｂ−２が、ＩＮＴＣ１２ｄに対し、ＤＭＡ転送完了（図中の＃１参照）を通知し、＃１は、ＩＮＴＣ１２ｄのレジスタ１２ｄｂへ書き込まれる。
【００７２】
ただし、ここで高優先度処理が実行中であるため、高優先度処理の終了待ちとなり、＃１のＩＮＴＣ１２ｄからの割り込み出力は保留される。
【００７３】
そして、この「保留」の間に、最後の５個目のデータが受信データレジスタ１２ａｂへ書き込まれると、ＳＰＩ通信部１２ａは、ＩＮＴＣ１２ｄに対し、ＳＰＩ通信受信完了（図中の＃２参照）を通知し、＃２は、ＩＮＴＣ１２ｄのレジスタ１２ｄｂへ「上書き」される。
【００７４】
かかる状態で、高優先度処理が終了すると、レジスタ１２ｄｂへ格納されている＃２の割り込みが出力され、割り込み処理部１２ｅが、これに応じて割り込み処理を実行する。すなわち、割り込み処理部１２ｅは、まず「処理Ａ」を実行する。
【００７５】
かかるタイミングにおいて、図５Ａに示すように、ＳＰＩ通信状態１２ｇは「完了」であり、ＳＰＩ受信有効データ状態１２ｈは「有」である（図中のＭ５部参照）。したがって、割り込み処理部１２ｅは、上書きが発生したと判定し、つづいて「処理Ｂ」を実行する。
【００７６】
「処理Ｂ」が実行されることにより、受信データレジスタ１２ａｂへ書き込まれたままとなっていた５個目のデータが、受信データレジスタ１２ａｂからＲＡＭ１２ｃへ転送される（図中のＭ６部参照）。これにより、ＳＰＩ受信有効データ状態１２ｈは「無」となる。
【００７７】
つづいて、割り込み処理部１２ｅは、「処理Ｃ」を実行してレジスタ１２ｄｂをクリアするとともに、「処理Ｄ」を実行してシリアル通信完了割り込みを生成し、ユーザソフトウェアへ通知する。
【００７８】
これにより、マイコン１２が高負荷状態にあり、前述の上書きが発生した場合であっても、シリアル通信完了割り込みの抜け、すなわち通信途絶を発生させることなく、処理を継続させることができる。すなわち、バッテリ管理ＥＣＵ１０にあっては、ＬＩＢ２０の監視や充放電制御を、通信途絶からの復帰に時間を割くことなく継続して行うことができる。
【００７９】
一方、図５Ｂに示すように、４個目および最後の５個目のデータを受信するに際して、高優先度処理は実行されていないものとする。かかる場合、図３Ａと同様の手順を経て、受信データの４個目のデータがＤＭＡ転送されると、ＤＭＡ１２ｂ−２が、ＩＮＴＣ１２ｄに対し、ＤＭＡ転送完了（図中の＃１参照）を通知し、＃１は、ＩＮＴＣ１２ｄのレジスタ１２ｄｂへ書き込まれる。
【００８０】
ここで、高優先度処理は実行されておらず、マイコン１２は高負荷状態にないので、＃１はＩＮＴＣ１２ｄから割り込み出力され、割り込み処理部１２ｅがこれを受け付ける。そして、割り込み処理部１２ｅは、割り込み処理を実行する。すなわち、割り込み処理部１２ｅは、「処理Ａ」を実行する。
【００８１】
かかるタイミングにおいて、図５Ｂに示すように、ＳＰＩ通信状態１２ｇは「完了」ではあるが、ＳＰＩ受信有効データ状態１２ｈは「無」である（図中のＭ７部参照）。したがって、割り込み処理部１２ｅは、上書きが未発生であると判定し、「処理Ｂ」〜「処理Ｄ」は実行しない。
【００８２】
また、受信データのうち、最後の５個目のデータが受信データレジスタ１２ａｂへ書き込まれると、ＳＰＩ通信部１２ａは、ＩＮＴＣ１２ｄに対し、ＳＰＩ通信受信完了（図中の＃２参照）を通知し、＃２は、レジスタ１２ｄｂへ書き込まれる。
【００８３】
ここで、高優先度処理は実行されておらず、マイコン１２は高負荷状態にないので、＃２はＩＮＴＣ１２ｄから割り込み出力され、割り込み処理部１２ｅがこれを受け付ける。そして、割り込み処理部１２ｅは、割り込み処理を実行する。すなわち、割り込み処理部１２ｅは、まず「処理Ａ」を実行する。
【００８４】
かかるタイミングにおいて、図５Ｂに示すように、ＳＰＩ通信状態１２ｇは「完了」であり、ＳＰＩ受信有効データ状態１２ｈは「有」である（図中のＭ８部参照）。したがって、割り込み処理部１２ｅは、つづいて「処理Ｂ」を実行する。
【００８５】
「処理Ｂ」が実行されることにより、受信データレジスタ１２ａｂへ書き込まれたままとなっていた５個目のデータが、受信データレジスタ１２ａｂからＲＡＭ１２ｃへ転送される（図中のＭ９部参照）。これにより、ＳＰＩ受信有効データ状態１２ｈは「無」となる。
【００８６】
つづいて、割り込み処理部１２ｅは、「処理Ｃ」を実行してレジスタ１２ｄｂをクリアするとともに、「処理Ｄ」を実行してシリアル通信完了割り込みを生成し、ユーザソフトウェアへ通知する。
【００８７】
これにより、マイコン１２が高負荷状態になく、前述の上書きが未発生である場合であっても、シリアル通信完了割り込みの抜け、すなわち通信途絶を発生させることなく、処理を継続させることができる。すなわち、バッテリ管理ＥＣＵ１０にあっては、ＬＩＢ２０の監視や充放電制御を、通信途絶からの復帰に時間を割くことなく継続して行うことができる。
【００８８】
上述してきたように、本実施形態に係るマイコン１２（「通信処理装置」の一例に相当）は、ＳＰＩ通信部１２ａ（「通信部」の一例に相当）と、ＩＮＴＣ１２ｄ（「割り込みコントローラ」の一例に相当）と、上書き検出部１２ｅａ（「検出部」の一例に相当）と、割り込み処理部１２ｅとを備える。
【００８９】
ＳＰＩ通信部１２ａは、外部装置との間でシリアル通信により通信する。ＩＮＴＣ１２ｄは、ＳＰＩ通信部１２ａによって受信されたデータのＲＡＭ１２ｃ（「記憶領域」の一例に相当）への転送が完了した場合、または、ＳＰＩ通信部１２ａによるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する。
【００９０】
上書き検出部１２ｅａは、シリアル通信の通信状態を示すＳＰＩ通信状態１２ｇ（「第１情報」の一例に相当）、および、シリアル通信の受信有効データの状態を示すＳＰＩ受信有効データ状態１２ｈ（「第２情報」の一例に相当）に基づいて、ＩＮＴＣ１２ｄにおける割り込み要求の上書きの発生を検出する。
【００９１】
割り込み処理部１２ｅは、上書き検出部１２ｅａによって上記上書きの発生が検出された場合に、割り込み要求の出力に応じて強制的にシリアル通信完了割り込み（「シリアル通信の完了」の一例に相当）を通知する。
【００９２】
したがって、本実施形態に係るマイコン１２によれば、通信途絶を防止することができる。
【００９３】
また、上書き検出部１２ｅａは、ＳＰＩ通信状態１２ｇが通信完了であることを示し、かつ、ＳＰＩ受信有効データ状態１２ｈが受信有効データが有ることを示す場合に、上記上書きが発生したと判定する。
【００９４】
したがって、本実施形態に係るマイコン１２によれば、高負荷時に上記上書きが発生したことを通信途絶が起こる前に検出することができ、通信途絶を事前に防止することができる。
【００９５】
また、割り込み処理部１２ｅは、上書き検出部１２ｅａによって上記上書きが発生したと判定された場合に、ＳＰＩ通信部１２ａにより受信されたデータのうち、ＲＡＭ１２ｃへの未転送分をＲＡＭ１２ｃへ転送する。
【００９６】
したがって、本実施形態に係るマイコン１２によれば、強制的にシリアル通信完了割り込みを通知する前に、ＲＡＭ１２ｃへの未転送分をＲＡＭ１２ｃへ転送するので、データの不整合が生じるのを防ぐことができる。
【００９７】
また、外部装置は、ＬＩＢ２０（「蓄電池」の一例に相当）を監視するセルモニタＩＣ１１（「監視装置」の一例に相当）であって、マイコン１２は、セルモニタＩＣ１１からシリアル通信によりＬＩＢ２０の監視結果を取得し、かかる監視結果に基づいてＬＩＢ２０を充放電制御する充放電制御部１２ｆをさらに備える。
【００９８】
したがって、本実施形態に係るマイコン１２によれば、従来、通信途絶が発生することによって必要となっていた通信途絶からの復帰時間も不要となるので、かかる復帰時間に相当する時間についてもＬＩＢ２０のセル電圧監視や、充放電制御を行うことができる。
【００９９】
なお、上述した実施形態では、マイコン１２が、バッテリ管理ＥＣＵ１０に搭載される場合を例に挙げたが、マイコン１２の搭載箇所を限定するものではない。基本的に、マイコン１２は、外部装置との間でＳＰＩによりシリアル通信を行うのであれば、何を外部装置としてもよい。
【０１００】
また、上述した実施形態では、マイコン１２は車両１００に設けられることとしたが、車両１００に限られるものではなく、たとえば船舶や航空機等に設けられてもよい。また、このような移動する機械だけでなく、一定の場所に設置されて運用される機械の通信処理装置として設けられてもよい。
【０１０１】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１０２】
１    車載システム
１０    バッテリ管理ＥＣＵ
１１    セルモニタＩＣ
１２    マイコン
１２ａ  ＳＰＩ通信部
１２ａａ  送信データレジスタ
１２ａｂ  受信データレジスタ
１２ｃ  ＲＡＭ
１２ｄａ  ＯＲゲート
１２ｄｂ  レジスタ
１２ｅ  割り込み処理部
１２ｅａ  上書き検出部
１２ｅｂ  割り込み生成部
１２ｆ  充放電制御部
１２ｇ  ＳＰＩ通信状態
１２ｈ  ＳＰＩ受信有効データ状態
３０    上位ＥＣＵ
１００    車両
【図１Ａ】
2019191700.tif 000003
【図１Ｂ】
2019191700.tif 000004
【図１Ｃ】
2019191700.tif 000005
【図１Ｄ】
2019191700.tif 000006
【図１Ｅ】
2019191700.tif 000007
【図２Ａ】
2019191700.tif 000008
【図２Ｂ】
2019191700.tif 000009
【図３Ａ】
2019191700.tif 000010
【図３Ｂ】
2019191700.tif 000011
【図４】
2019191700.tif 000012
【図５Ａ】
2019191700.tif 000013
【図５Ｂ】
2019191700.tif 000014