JP2019191700A - 通信処理装置および通信処理方法 - Google Patents
通信処理装置および通信処理方法 Download PDFInfo
- Publication number
- JP2019191700A JP2019191700A JP2018080807A JP2018080807A JP2019191700A JP 2019191700 A JP2019191700 A JP 2019191700A JP 2018080807 A JP2018080807 A JP 2018080807A JP 2018080807 A JP2018080807 A JP 2018080807A JP 2019191700 A JP2019191700 A JP 2019191700A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- interrupt
- unit
- data
- overwriting
- 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
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/10—Energy storage using batteries
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
- Secondary Cells (AREA)
Abstract
【課題】通信途絶を防止すること。【解決手段】実施形態に係る通信処理装置は、通信部と、割り込みコントローラと、検出部と、割り込み処理部とを備える。通信部は、外部装置との間でシリアル通信により通信する。割り込みコントローラは、通信部によって受信されたデータの記憶領域への転送が完了した場合、または、通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する。検出部は、シリアル通信の通信状態を示す第1情報、および、シリアル通信の受信有効データの状態を示す第2情報に基づいて、割り込みコントローラにおける割り込み要求の上書きの発生を検出する。割り込み処理部は、検出部によって上記上書きの発生が検出された場合に、割り込み要求の出力に応じて強制的にシリアル通信の完了を通知する。【選択図】図2B
Description
開示の実施形態は、通信処理装置および通信処理方法に関する。
従来、HEV(Hybrid Electric Vehicle)やEV(Electric Vehicle)に搭載されるリチウムイオン二次電池(LIB:Lithium-Ion rechargeable Battery)等のセル電圧を監視する監視IC(Integrated Circuit)と、マイクロコントローラ(以下、「マイコン」と記載する)との間でシリアル通信による通信処理を行い、LIBの状態を監視する装置が知られている(たとえば、特許文献1参照)。
このような通信処理を行う装置では一般に、マイコンが高負荷になることにより、シリアル通信完了割り込みに抜けが発生して、通信途絶が発生する場合がある。かかる場合に対応する手段としては、たとえばタイマ割り込みにより定期的に実行されるソフトウェア処理タスクによって通信途絶を監視し、通信途絶が発生した場合には、監視ICとの通信をやり直すことによって通信途絶から復帰する技術が知られている。
しかしながら、上述した従来技術は、マイコンが高負荷になることにより通信途絶が発生した場合に、通信途絶から復帰させるものに過ぎず、通信途絶の機会そのものを減らすものではない。
実施形態の一態様は、上記に鑑みてなされたものであって、通信途絶を防止することができる通信処理装置および通信処理方法を提供することを目的とする。
実施形態の一態様に係る通信処理装置は、通信部と、割り込みコントローラと、検出部と、割り込み処理部とを備える。前記通信部は、外部装置との間でシリアル通信により通信する。前記割り込みコントローラは、前記通信部によって受信されたデータの記憶領域への転送が完了した場合、または、前記通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する。前記検出部は、前記シリアル通信の通信状態を示す第1情報、および、該シリアル通信の受信有効データの状態を示す第2情報に基づいて、前記割り込みコントローラにおける前記割り込み要求の上書きの発生を検出する。前記割り込み処理部は、前記検出部によって前記上書きの発生が検出された場合に、前記割り込み要求の出力に応じて強制的に前記シリアル通信の完了を通知する。
実施形態の一態様によれば、通信途絶を防止することができる。
以下、添付図面を参照して、本願の開示する通信処理装置および通信処理方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
また、以下では、本実施形態に係る通信処理方法の概要について図1A〜図1Eを用いて説明した後に、本実施形態に係る通信処理方法を適用したバッテリ管理ECU(Electronic Control Unit)10の具体的な構成例について、図2A〜図5Bを用いて説明することとする。
まず、本実施形態に係る通信処理方法の概要について図1A〜図1Eを用いて説明する。図1Aは、車載システム1の概要説明図である。また、図1Bは、本実施形態に係るバッテリ管理ECU10の概要説明図である。また、図1Cおよび図1Dは、比較例となる従来構成の概要説明図(その1)および(その2)である。また、図1Eは、本実施形態に係る通信処理方法の概要説明図である。なお、図1Cおよび図1Dでは、本実施形態との区別のために、構成要素の符号に「’」を付す。
図1Aに示すように、車両100は、車載システム1を備える。車載システム1は、図示略の複数のECUを備える。ECUは、CAN(Controller Area Network)等のネットワークNにより相互通信可能に接続され、それぞれ制御プログラムを実行することによって、それぞれに対応する制御対象を電子制御する。
そのECUのうちの1つであるバッテリ管理ECU10は、制御対象としてLIB20を電子制御する。また、上位ECU30は、バッテリ管理ECU10の上位のECUであり、たとえば走行する車両100の車両状況を随時取得して、かかる車両状況に応じてバッテリ管理ECU10を制御する。
図1Bに示すように、バッテリ管理ECU10は、セルモニタIC11と、マイコン12とを備える。セルモニタIC11は、「LIB20を監視」する。マイコン12は、上位ECU30から取得した車両状況と「セルモニタIC11の監視結果に基づく充放電制御」を実行する。セルモニタIC11およびマイコン12間では、データは、SPI(Serial Peripheral Interface)によるシリアル通信によりやり取りされる。
ここで、比較例となる従来構成に係るマイコン12’の基本的な構成について説明しておく。図1Cに示すように、マイコン12’は、SPI通信部12a’と、DMA(Direct Memory Access)12b’と、RAM(Random Access Memory)12c’と、INTC(Interrupt Controller)12d’と、割り込み処理部12e’と、充放電制御部12f’とを備える。
SPI通信部12a’は、DMA12b’およびRAM12c’を用いつつ、セルモニタIC11’との間でデータを送受信する。そして、1回の通信コマンド送受信ごとで、DMA12b’は、INTC12d’へ「DMA転送完了」(以下、「#1」と言う場合がある)を通知し、SPI通信部12a’は、INTC12d’へ「SPI通信受信完了」(以下、「#2」と言う場合がある)を通知する。
INTC12d’は、内部に備える割り込み要求の格納レジスタへ「#1」および「#2」をORゲートを介して書き込む。割り込み要求としてレジスタへ格納された「#1」および「#2」は、順次割り込み処理部12e’へ出力される(図中の「割り込み出力×2」参照)。
そして、割り込み処理部12e’は、2個目の割り込み要求を受け付けたことをトリガとして、シリアル通信完了割り込みを生成し、たとえば製品ソフトウェアの1つに対応する充放電制御部12f’へ通知する(図中の「シリアル通信完了割り込み通知」参照)。
充放電制御部12f’は、通知されたシリアル通信完了割り込みに対応する処理を実行する(図中の「対応処理実行」参照)。なお、1回の通信コマンド送受信に対応する通信処理のより具体的な例については、図2B等を用いた説明で後述する。
ところが、図1Dに示すように、マイコン12’でたとえば他に高優先度のソフトウェアが実行されるなどして、マイコン12’が「高負荷時」となると、INTC12d’の格納レジスタに格納された最初の割り込み要求を出力する前に、次の割り込み要求が格納レジスタに格納されてしまい、すなわち「割り込み要求に上書きが発生」してしまい、先行した割り込み要求(たとえば「#1」)については出力されずに、「#2」のみが割り込み処理部12e’へ出力されてしまう(図中の「割り込み出力×1」参照)。
すると、割り込み処理部12e’は、2個目の割り込み要求を受け付けたことをトリガとするため「待機状態」となってしまい、「シリアル通信完了割り込み」を生成せずに、「シリアル通信完了割り込み」の抜けが発生する。すなわち、「抜け=通信途絶が発生」することとなる。通信途絶が発生した場合、通信を初めからやり直すことによって復帰させることはできるが、復帰するまでの期間は、LIB20のセル電圧監視も充放電制御も実行することができない。
なお、INTC12d’の割り込み要求の格納レジスタは、通常のINTCの特性として、1個分の割り込み要求しか格納できないという制限がある。
そこで、図1Eに示すように、本実施形態に係る通信処理方法では、割り込み処理部12eに、SPIにおける「SPI通信状態12gとSPI受信有効データ状態12hとに基づいて上書き発生を検出」させることとした。そして、「上書きが発生している場合に、強制的にシリアル通信完了割り込みを生成して通知」することとした。
なお、「SPI通信状態12g」と「SPI受信有効データ状態12h」とは、SPIの状態を示す情報が格納されるレジスタの所定のビットに予め割り当てられておくことで参照することが可能となる。
これにより、比較例のように、割り込み処理部12eが待機状態となるのを防ぐことができるので、そもそものシリアル通信完了割り込みの抜けを防止することができる。したがって、本実施形態に係る通信処理方法によれば、通信途絶を防止することができる。
以下、上述した通信処理方法を適用したバッテリ管理ECU10について、さらに具体的に説明する。
図2Aは、本実施形態に係るバッテリ管理ECU10のブロック図である。また、図2Bは、本実施形態に係るマイコン12の詳細ブロック図である。なお、図2Aおよび図2Bでは、本実施形態の特徴を説明するために必要な構成要素のみを表しており、一般的な構成要素についての記載を省略している。
換言すれば、図2Aおよび図2Bに図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
また、図2Aおよび図2Bは、既に示した図1C〜図1Eに対応しており、同一の構成要素には同一の符号を付している(図1Cおよび図1Dからは「’」を排した符号に対応)。また、以下では、既に説明済みの構成要素については、説明を簡略化するか省略する場合がある。
図2Aに示すように、バッテリ管理ECU10は、セルモニタIC11と、マイコン12と、CAN通信部13とを備える。セルモニタIC11は、SPI通信部11aと、計測部11bと、ADC(Analog-to-digital converter)11cとを備える。
セルモニタIC11は、LIB20のセル電圧を監視する。ADC11cは、LIB20からのモニタ信号をアナログ−デジタル変換する。計測部11bは、シャント抵抗等を介し、電流値を計測する。SPI通信部11aは、マイコン12のSPI通信部12aとの間でシリアル通信によりデータのやり取りを行う。
CAN通信部13は、CANを介してマイコン12と上位ECU30との間でデータのやり取りを行わせる。
マイコン12についてより具体的に説明する。図2Bに示すように、マイコン12のSPI通信部12aは、送信データレジスタ12aaと、受信データレジスタ12abとを有する。
SPI通信部12aは、送信データレジスタ12aaに書き込まれたデータをセルモニタIC11へシリアル通信により送信する。また、SPI通信部12aは、セルモニタIC11からシリアル通信により受信したデータを受信データレジスタ12abに書き込む。
DMA12b−1は、RAM12cに格納された送信データを、1データずつSPI通信部12aの送信データレジスタ12aaへ転送する。なお、DMA12b−1は、1回の通信コマンド送受信において2個目に送信するデータ以降を、RAM12cから送信データレジスタ12aaへ転送する。1個目に送信するデータは、DMA12b−1を介さずに、RAM12cから送信データレジスタ12aaへソフトウェア的に直接転送される。
DMA12b−2は、SPI通信部12aが受信した受信データを1データずつ受信データレジスタ12abからRAM12cへ転送する。なお、DMA12b−2は、「受信データ数−1」回分の転送が可能であり、最後の1データは、DMA12b−2を介さずに、受信データレジスタ12abからRAM12cへソフトウェア的に直接転送される。
また、DMA12b−2は、「受信データ数−1」個目の受信データの転送を完了すると、INTC12dへ「DMA転送完了」を通知する。また、SPI通信部12aは、「受信データ数」個目の最後のデータを受信データレジスタ12abに書き込むと、INTC12dへ「SPI通信受信完了」を通知する。
INTC12dは、ORゲート12daと、割り込み要求の格納レジスタであるレジスタ12dbとを有する。ORゲート12daは、DMA12b−2から通知された「DMA転送完了」またはSPI通信部12aから通知された「SPI通信受信完了」をレジスタ12dbへ書き込む。
また、INTC12dは、マイコン12で他の高優先度処理が実行される等により保留状態とならなければ、レジスタ12dbに書き込まれた#1,#2を順次割り込み処理部12eへ出力する。
また、割り込み処理部12eは、上書き検出部12eaと、割り込み生成部12ebとを有する。上書き検出部12eaは、SPI通信状態12gと、SPI受信有効データ状態12hとに基づいて、レジスタ12dbに上書きが生じたか否かを検出する。
また、上書き検出部12eaは、上書きを検出した場合に、割り込み生成部12ebに対し、強制的にシリアル通信完了割り込みを生成させ、これを通知させる。
また、割り込み処理部12eは、上書きを検出しなかった場合には、所定の処理により、割り込み生成部12ebに対し、シリアル通信完了割り込みを生成させ、これを通知させる。これらの点については、図4以降を用いた説明で後述する。
ここで、比較例と本実施形態との違いについて理解を深めるために、図1Cおよび図1Dに示した比較例となる従来構成の場合における「正常時(通信途絶なし)」、「異常時(通信途絶あり)」それぞれのタイミングチャートについて、図3Aおよび図3Bを用いて説明しておく。
図3Aは、比較例となる従来構成における正常時のタイミングチャートである。また、図3Bは、比較例となる従来構成における異常時のタイミングチャートである。なお、図3Aおよび図3Bでは、1回の通信コマンド送受信において5つのデータが送信または受信されるものとする。
まず、図3Aに示すように、たとえばユーザソフトウェアの定刻タスク処理によって、同じくユーザソフトウェアのSPI通信開始処理が実行され、「初回コマンド送受信」が開始される。
なお、SPI通信開始処理は、図中のM1部に示すように、1個目に送信されるデータを、ソフトウェア転送処理によりRAM12c’から送信データレジスタ12aa’へ直接転送させる。2〜5個目に送信される各データは、DMA12b−1’によるDMA転送により、送信データレジスタ12aa’へ転送される。そして、送信データレジスタ12aa’へ転送された各データは、SPI通信部12a’により順次セルモニタIC11’へ向けて送信される。
一方、セルモニタIC11’からの受信データは、SPI通信部12a’により順次受信データレジスタ12ab’へ書き込まれて、1〜4個目までの各データは、DMA12b−2’によるDMA転送により、RAM12c’へ転送される。
また、4個目のデータがDMA転送されると、DMA12b−2’が、INTC12d’に対し、DMA転送完了(図中の#1参照)を通知し、#1は、INTC12d’の割り込み要求を格納するレジスタ12db’へ書き込まれる。ここで、他の高優先度処理等が実行されておらず、マイコン12’が高負荷状態になければ、#1はINTC12d’から割り込み出力され、割り込み処理部12e’がこれを受け付ける。
また、受信データのうち、最後の5個目のデータが受信データレジスタ12ab’へ書き込まれると、SPI通信部12a’は、INTC12d’に対し、SPI通信受信完了(図中の#2参照)を通知し、#2は、INTC12d’の割り込み要求を格納するレジスタ12db’へ書き込まれる。
ここで、他の高優先度処理等が実行されておらず、マイコン12’が高負荷状態になければ、#2はINTC12d’から割り込み出力され、割り込み処理部12e’がこれを受け付ける。
そして、割り込み処理部12e’は、かかる「2回目の割り込みを通知」されると、ソフトウェア転送処理により、受信データのうちの最後の5個目のデータを、受信データレジスタ12ab’からRAM12c’へ直接転送させる(図中のM2部参照)。また、割り込み処理部12e’は、「シリアル通信完了割り込みを通知」する。
その後、「次回の通信コマンド送受信」が開始され、同様の通信処理が繰り返されることとなる。
次に、図3Bに示すように、他の高優先度処理が実行中であるものとする(図中のM3部参照)。かかる場合、図3Aと同様の手順を経て、受信データの4個目のデータがDMA転送されると、DMA12b−2’が、INTC12d’に対し、DMA転送完了(図中の#1参照)を通知し、#1は、INTC12d’のレジスタ12db’へ書き込まれる。ただし、ここで高優先度処理が実行中であると、「高優先度処理の終了待ち」となり、#1のINTC12d’からの割り込み出力は「保留」される。
そして、この「保留」の間に、受信データのうちの最後の5個目のデータが受信データレジスタ12ab’へ書き込まれると、SPI通信部12a’は、INTC12d’に対し、SPI通信受信完了(図中の#2参照)を通知し、#2は、INTC12d’のレジスタ12db’へ「上書き」される。
かかる状態で、高優先度処理が終了すると、レジスタ12db’へ格納されている割り込み要求が出力されるが、図中に示すように、「上書きされたため、割り込みは1度だけ」となる。このため、割り込み処理部12e’は「待機状態となり、次回の通信コマンド送受信が行われない」事態、すなわち、通信途絶が発生することとなる。
そこで、本実施形態に係るバッテリ管理ECU10は、既に述べたように、SPI通信状態12gとSPI受信有効データ状態12hとに基づいて、上書き発生を検出することとした。そして、上書き発生を検出した場合に、所定の処理を実行することで強制的にシリアル通信完了割り込みを生成してユーザソフトウェアへ通知することとした。
図4は、実施形態に係るバッテリ管理ECU10の割り込み処理部12eが実行する処理手順を示すフローチャートである。図4に示すように、割り込み処理部12eは、まず、SPI通信状態12gが「完了」であるか否かを判定する(ステップS101)。
ここで、SPI通信状態12gが「完了」である場合(ステップS101,Yes)、つづいて割り込み処理部12eは、SPI受信有効データ状態12hが「有」であるか否かを判定する(ステップS102)。
ここで、SPI受信有効データ状態12hが「有」である場合(ステップS102,Yes)、割り込み処理部12eは、上書き発生ありと判定し、ステップS103の転送処理、ステップS104の割り込み要求クリア処理、ステップS105の割り込み通知処理を順に実行し、処理を終了する。
また、ステップS101またはステップS102のいずれかで判定条件を満たさなかった場合(ステップS101,No/ステップS102,No)、割り込み処理部12eは、上書き発生なしと判定し、処理を終了する。
なお、ステップS103の転送処理は、受信データレジスタ12abからRAM12cへデータを直接転送する処理である。
また、ステップS104の割り込み要求クリア処理は、INTC12dのレジスタ12dbをクリアする処理である。これは1回目の#1の割り込みに対する割り込み処理実行中に、#2のSPI通信受信完了要求が発生した、すなわち受信データのうちの最後のデータが受信データレジスタ12abへ書き込まれた場合に、シリアル通信完了割り込みがユーザソフトウェアへ2度通知されてしまうことを防ぐものである。
仮に2度通知されてしまっても、2個目の通知は不要なだけであるので、ユーザソフトウェアの処理に与える影響は少ないが、割り込み要求クリア処理を実行することで、不要な割り込みを通知させないようにすることができるので、処理負荷の軽減に資することができる。
また、ステップS105の割り込み通知処理は、シリアル通信完了割り込みを生成してユーザソフトウェアへ通知する処理である。
なお、以下では、図4に示すように、ステップS101およびステップS102の処理を「処理A」、ステップS103の転送処理を「処理B」、ステップS104の割り込み要求クリア処理を「処理C」、ステップS105の割り込み通知処理を「処理D」と言う場合がある。
次に、これまで説明した本実施形態に係るバッテリ管理ECU10における「上書き発生時」、「上書き未発生時」それぞれのタイミンチャートについて、図5Aおよび図5Bを用いて説明する。
図5Aは、本実施形態に係るバッテリ管理ECU10における上書き発生時のタイミングチャートである。また、図5Bは、本実施形態に係るバッテリ管理ECU10における上書き未発生時のタイミングチャートである。
なお、図5Aは図3Bに、図5Bは図3Aに、それぞれ対応しているため、ここでの説明は主に異なる点について述べる。
図5Aに示すように、本実施形態に係るバッテリ管理ECU10は、SPI通信状態12gと、SPI受信有効データ状態12hとを参照する。SPI通信状態12gは、SPI波形が出力される受信中の間は「通信中」となり、それ以外は「完了」となる。また、SPI受信有効データ状態12hは、受信データレジスタ12abへデータが書き込まれ、DMA12b−2によってDMA転送されるまでの間は「有」となり、それ以外は「無」となる。
ここで、4個目のデータを受信するに先立って、高優先度処理が実行中であるものとする(図中のM4部参照)。かかる場合、図3Bと同様の手順を経て、受信データの4個目のデータがDMA転送されると、DMA12b−2が、INTC12dに対し、DMA転送完了(図中の#1参照)を通知し、#1は、INTC12dのレジスタ12dbへ書き込まれる。
ただし、ここで高優先度処理が実行中であるため、高優先度処理の終了待ちとなり、#1のINTC12dからの割り込み出力は保留される。
そして、この「保留」の間に、最後の5個目のデータが受信データレジスタ12abへ書き込まれると、SPI通信部12aは、INTC12dに対し、SPI通信受信完了(図中の#2参照)を通知し、#2は、INTC12dのレジスタ12dbへ「上書き」される。
かかる状態で、高優先度処理が終了すると、レジスタ12dbへ格納されている#2の割り込みが出力され、割り込み処理部12eが、これに応じて割り込み処理を実行する。すなわち、割り込み処理部12eは、まず「処理A」を実行する。
かかるタイミングにおいて、図5Aに示すように、SPI通信状態12gは「完了」であり、SPI受信有効データ状態12hは「有」である(図中のM5部参照)。したがって、割り込み処理部12eは、上書きが発生したと判定し、つづいて「処理B」を実行する。
「処理B」が実行されることにより、受信データレジスタ12abへ書き込まれたままとなっていた5個目のデータが、受信データレジスタ12abからRAM12cへ転送される(図中のM6部参照)。これにより、SPI受信有効データ状態12hは「無」となる。
つづいて、割り込み処理部12eは、「処理C」を実行してレジスタ12dbをクリアするとともに、「処理D」を実行してシリアル通信完了割り込みを生成し、ユーザソフトウェアへ通知する。
これにより、マイコン12が高負荷状態にあり、前述の上書きが発生した場合であっても、シリアル通信完了割り込みの抜け、すなわち通信途絶を発生させることなく、処理を継続させることができる。すなわち、バッテリ管理ECU10にあっては、LIB20の監視や充放電制御を、通信途絶からの復帰に時間を割くことなく継続して行うことができる。
一方、図5Bに示すように、4個目および最後の5個目のデータを受信するに際して、高優先度処理は実行されていないものとする。かかる場合、図3Aと同様の手順を経て、受信データの4個目のデータがDMA転送されると、DMA12b−2が、INTC12dに対し、DMA転送完了(図中の#1参照)を通知し、#1は、INTC12dのレジスタ12dbへ書き込まれる。
ここで、高優先度処理は実行されておらず、マイコン12は高負荷状態にないので、#1はINTC12dから割り込み出力され、割り込み処理部12eがこれを受け付ける。そして、割り込み処理部12eは、割り込み処理を実行する。すなわち、割り込み処理部12eは、「処理A」を実行する。
かかるタイミングにおいて、図5Bに示すように、SPI通信状態12gは「完了」ではあるが、SPI受信有効データ状態12hは「無」である(図中のM7部参照)。したがって、割り込み処理部12eは、上書きが未発生であると判定し、「処理B」〜「処理D」は実行しない。
また、受信データのうち、最後の5個目のデータが受信データレジスタ12abへ書き込まれると、SPI通信部12aは、INTC12dに対し、SPI通信受信完了(図中の#2参照)を通知し、#2は、レジスタ12dbへ書き込まれる。
ここで、高優先度処理は実行されておらず、マイコン12は高負荷状態にないので、#2はINTC12dから割り込み出力され、割り込み処理部12eがこれを受け付ける。そして、割り込み処理部12eは、割り込み処理を実行する。すなわち、割り込み処理部12eは、まず「処理A」を実行する。
かかるタイミングにおいて、図5Bに示すように、SPI通信状態12gは「完了」であり、SPI受信有効データ状態12hは「有」である(図中のM8部参照)。したがって、割り込み処理部12eは、つづいて「処理B」を実行する。
「処理B」が実行されることにより、受信データレジスタ12abへ書き込まれたままとなっていた5個目のデータが、受信データレジスタ12abからRAM12cへ転送される(図中のM9部参照)。これにより、SPI受信有効データ状態12hは「無」となる。
つづいて、割り込み処理部12eは、「処理C」を実行してレジスタ12dbをクリアするとともに、「処理D」を実行してシリアル通信完了割り込みを生成し、ユーザソフトウェアへ通知する。
これにより、マイコン12が高負荷状態になく、前述の上書きが未発生である場合であっても、シリアル通信完了割り込みの抜け、すなわち通信途絶を発生させることなく、処理を継続させることができる。すなわち、バッテリ管理ECU10にあっては、LIB20の監視や充放電制御を、通信途絶からの復帰に時間を割くことなく継続して行うことができる。
上述してきたように、本実施形態に係るマイコン12(「通信処理装置」の一例に相当)は、SPI通信部12a(「通信部」の一例に相当)と、INTC12d(「割り込みコントローラ」の一例に相当)と、上書き検出部12ea(「検出部」の一例に相当)と、割り込み処理部12eとを備える。
SPI通信部12aは、外部装置との間でシリアル通信により通信する。INTC12dは、SPI通信部12aによって受信されたデータのRAM12c(「記憶領域」の一例に相当)への転送が完了した場合、または、SPI通信部12aによるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する。
上書き検出部12eaは、シリアル通信の通信状態を示すSPI通信状態12g(「第1情報」の一例に相当)、および、シリアル通信の受信有効データの状態を示すSPI受信有効データ状態12h(「第2情報」の一例に相当)に基づいて、INTC12dにおける割り込み要求の上書きの発生を検出する。
割り込み処理部12eは、上書き検出部12eaによって上記上書きの発生が検出された場合に、割り込み要求の出力に応じて強制的にシリアル通信完了割り込み(「シリアル通信の完了」の一例に相当)を通知する。
したがって、本実施形態に係るマイコン12によれば、通信途絶を防止することができる。
また、上書き検出部12eaは、SPI通信状態12gが通信完了であることを示し、かつ、SPI受信有効データ状態12hが受信有効データが有ることを示す場合に、上記上書きが発生したと判定する。
したがって、本実施形態に係るマイコン12によれば、高負荷時に上記上書きが発生したことを通信途絶が起こる前に検出することができ、通信途絶を事前に防止することができる。
また、割り込み処理部12eは、上書き検出部12eaによって上記上書きが発生したと判定された場合に、SPI通信部12aにより受信されたデータのうち、RAM12cへの未転送分をRAM12cへ転送する。
したがって、本実施形態に係るマイコン12によれば、強制的にシリアル通信完了割り込みを通知する前に、RAM12cへの未転送分をRAM12cへ転送するので、データの不整合が生じるのを防ぐことができる。
また、外部装置は、LIB20(「蓄電池」の一例に相当)を監視するセルモニタIC11(「監視装置」の一例に相当)であって、マイコン12は、セルモニタIC11からシリアル通信によりLIB20の監視結果を取得し、かかる監視結果に基づいてLIB20を充放電制御する充放電制御部12fをさらに備える。
したがって、本実施形態に係るマイコン12によれば、従来、通信途絶が発生することによって必要となっていた通信途絶からの復帰時間も不要となるので、かかる復帰時間に相当する時間についてもLIB20のセル電圧監視や、充放電制御を行うことができる。
なお、上述した実施形態では、マイコン12が、バッテリ管理ECU10に搭載される場合を例に挙げたが、マイコン12の搭載箇所を限定するものではない。基本的に、マイコン12は、外部装置との間でSPIによりシリアル通信を行うのであれば、何を外部装置としてもよい。
また、上述した実施形態では、マイコン12は車両100に設けられることとしたが、車両100に限られるものではなく、たとえば船舶や航空機等に設けられてもよい。また、このような移動する機械だけでなく、一定の場所に設置されて運用される機械の通信処理装置として設けられてもよい。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 車載システム
10 バッテリ管理ECU
11 セルモニタIC
12 マイコン
12a SPI通信部
12aa 送信データレジスタ
12ab 受信データレジスタ
12c RAM
12da ORゲート
12db レジスタ
12e 割り込み処理部
12ea 上書き検出部
12eb 割り込み生成部
12f 充放電制御部
12g SPI通信状態
12h SPI受信有効データ状態
30 上位ECU
100 車両
10 バッテリ管理ECU
11 セルモニタIC
12 マイコン
12a SPI通信部
12aa 送信データレジスタ
12ab 受信データレジスタ
12c RAM
12da ORゲート
12db レジスタ
12e 割り込み処理部
12ea 上書き検出部
12eb 割り込み生成部
12f 充放電制御部
12g SPI通信状態
12h SPI受信有効データ状態
30 上位ECU
100 車両
Claims (5)
- 外部装置との間でシリアル通信により通信する通信部と、
前記通信部によって受信されたデータの記憶領域への転送が完了した場合、または、前記通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する割り込みコントローラと、
前記シリアル通信の通信状態を示す第1情報、および、該シリアル通信の受信有効データの状態を示す第2情報に基づいて、前記割り込みコントローラにおける前記割り込み要求の上書きの発生を検出する検出部と、
前記検出部によって前記上書きの発生が検出された場合に、前記割り込み要求の出力に応じて強制的に前記シリアル通信の完了を通知する割り込み処理部と
を備えることを特徴とする通信処理装置。 - 前記検出部は、
前記第1情報が通信完了であることを示し、かつ、前記第2情報が前記受信有効データが有ることを示す場合に、前記上書きが発生したと判定する
ことを特徴とする請求項1に記載の通信処理装置。 - 前記割り込み処理部は、
前記検出部によって前記上書きが発生したと判定された場合に、前記通信部により受信されたデータのうち、前記記憶領域への未転送分を該記憶領域へ転送する
ことを特徴とする請求項1または2に記載の通信処理装置。 - 前記外部装置は、蓄電池を監視する監視装置であって、
前記監視装置から前記シリアル通信により前記蓄電池の監視結果を取得し、該監視結果に基づいて前記蓄電池を充放電制御する充放電制御部
を備えることを特徴とする請求項1、2または3に記載の通信処理装置。 - 外部装置との間でシリアル通信により通信する通信部と、前記通信部によって受信されたデータの記憶領域への転送が完了した場合、または、前記通信部によるデータ受信が完了した場合のそれぞれについて割り込み要求を出力する割り込みコントローラとを備える通信処理装置を用いた通信処理方法であって、
前記シリアル通信の通信状態を示す第1情報、および、該シリアル通信の受信有効データの状態を示す第2情報に基づいて、前記割り込みコントローラにおける前記割り込み要求の上書きの発生を検出する検出工程と、
前記検出工程によって前記上書きの発生が検出された場合に、前記割り込み要求の出力に応じて強制的に前記シリアル通信の完了を通知する割り込み処理工程と
を含むことを特徴とする通信処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018080807A JP2019191700A (ja) | 2018-04-19 | 2018-04-19 | 通信処理装置および通信処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018080807A JP2019191700A (ja) | 2018-04-19 | 2018-04-19 | 通信処理装置および通信処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019191700A true JP2019191700A (ja) | 2019-10-31 |
Family
ID=68390337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018080807A Pending JP2019191700A (ja) | 2018-04-19 | 2018-04-19 | 通信処理装置および通信処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019191700A (ja) |
-
2018
- 2018-04-19 JP JP2018080807A patent/JP2019191700A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6954422B2 (ja) | 並行処理装置、並行処理方法及び並行処理システム | |
WO2018096755A1 (ja) | 並行処理装置及び並行処理プログラム | |
US20120243426A1 (en) | Communication apparatus and communication system | |
US10764372B2 (en) | Vehicular communication device | |
US20130067287A1 (en) | Electronic control device | |
EP3629176B1 (en) | Fault detection circuit with progress register and status register | |
US9889762B2 (en) | Control system for charging vehicle battery in response to an unstable state | |
JP2012103911A (ja) | 情報記録装置 | |
CN111439224B (zh) | 车载系统、无线通信装置以及控制方法 | |
KR102421368B1 (ko) | 전류 센서 에러 진단 장치 및 방법 | |
JP3939961B2 (ja) | 車両用電子制御装置 | |
JP5671390B2 (ja) | 通信装置および通信システム | |
JP5671389B2 (ja) | 通信装置および通信システム | |
JP5723189B2 (ja) | 通信装置および通信システム | |
JP2012160033A (ja) | 移動体の電子制御装置 | |
JP2019191700A (ja) | 通信処理装置および通信処理方法 | |
JP6557157B2 (ja) | 電源制御システム | |
KR102224076B1 (ko) | 배터리의 예약 충전 기능 진단 장치 및 방법 | |
US10269194B2 (en) | Multiprocessor system and vehicle control system | |
CN116010158A (zh) | 配置寄存器的校验装置、校验系统和芯片设备 | |
US10528467B2 (en) | Information processing device and information processing method | |
JP4820679B2 (ja) | 車両用電子制御装置 | |
JP2020102771A (ja) | 電子制御装置、電子制御装置の制御方法及びプログラム | |
JP2009251700A (ja) | 制御装置及び割り込み信号発生方法 | |
JP7291541B2 (ja) | 制御装置および監視方法 |