IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 田淵電機株式会社の特許一覧

<>
  • 特開-プログラム修復システム 図1
  • 特開-プログラム修復システム 図2
  • 特開-プログラム修復システム 図3
  • 特開-プログラム修復システム 図4
  • 特開-プログラム修復システム 図5
  • 特開-プログラム修復システム 図6
  • 特開-プログラム修復システム 図7
  • 特開-プログラム修復システム 図8
  • 特開-プログラム修復システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024083137
(43)【公開日】2024-06-20
(54)【発明の名称】プログラム修復システム
(51)【国際特許分類】
   G06F 8/654 20180101AFI20240613BHJP
   B60R 16/02 20060101ALI20240613BHJP
   B60L 1/00 20060101ALI20240613BHJP
   B60L 3/00 20190101ALI20240613BHJP
【FI】
G06F8/654
B60R16/02 660U
B60L1/00 L
B60L3/00 H
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022197485
(22)【出願日】2022-12-09
(71)【出願人】
【識別番号】000217491
【氏名又は名称】ダイヤゼブラ電機株式会社
(74)【代理人】
【識別番号】100087941
【弁理士】
【氏名又は名称】杉本 修司
(74)【代理人】
【識別番号】100112829
【弁理士】
【氏名又は名称】堤 健郎
(74)【代理人】
【識別番号】100155963
【弁理士】
【氏名又は名称】金子 大輔
(74)【代理人】
【識別番号】100142608
【弁理士】
【氏名又は名称】小林 由佳
(74)【代理人】
【識別番号】100154771
【弁理士】
【氏名又は名称】中田 健一
(74)【代理人】
【識別番号】100167977
【弁理士】
【氏名又は名称】大友 昭男
(72)【発明者】
【氏名】石田 忠雄
【テーマコード(参考)】
5B376
5H125
【Fターム(参考)】
5B376CA55
5B376CA56
5B376GA08
5H125AA01
5H125CC04
5H125CD00
5H125EE70
(57)【要約】
【課題】プログラムデータ書き換えの通信中に異常が発生しても、容易かつ確実にプログラムデータ異常の修復が可能なプログラム修復システムを提供する。
【解決手段】マスタマイクロコンピュータ2と通信可能なスレーブマイクロコンピュータ3は、2面のメモリ10、20に同一または相異なるプログラムデータを順次記憶して順次書き込むもので、その2面のメモリ10、20両方から起動可能になっており、そのうち1面のメモリ10でプログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、当該プログラムデータの同一性を照合して異常の発生を判定するものであり、当該1面のメモリ10のプログラムデータを、他の1面のメモリ20に記憶された当該書き換え前のプログラムデータに書き戻しが可能となっている。
【選択図】図8
【特許請求の範囲】
【請求項1】
電気自動車の車両制御におけるプログラムデータ処理に使用されて、マスタマイクロコンピュータと、プログラムデータを記憶する2面のメモリをもつスレーブマイクロコンピュータとが通信可能に構成される、プログラム修復システムであって、
前記スレーブマイクロコンピュータは、前記2面のメモリに同一または相異なるプログラムデータを順次記憶して順次書き込むもので、その2面のメモリ両方から起動可能になっており、そのうち1面のメモリでプログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、当該プログラムデータの同一性を照合して異常の発生を判定するものであり、当該1面のメモリのプログラムデータを、他の1面のメモリに記憶された当該書き換え前のプログラムデータに書き戻すことが可能なプログラム修復システム。
【請求項2】
電気自動車の車両制御におけるプログラムデータ処理に使用されて、マスタマイクロコンピュータと、プログラムデータを記憶する2面のメモリをもつスレーブマイクロコンピュータとが通信可能に構成される、プログラム修復システムであって、
前記スレーブマイクロコンピュータは、前記2面のメモリに同一または相異なるプログラムデータを順次記憶して順次書き込むもので、その2面のうちいずれか一方から起動可能になっており、当該起動された1面のメモリでプログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、当該プログラムデータの同一性を照合して異常の発生を判定するものであり、当該1面のメモリのプログラムデータを、他の1面のメモリに記憶された当該書き換え前のプログラムデータに書き戻しが可能なプログラム修復システム。
【請求項3】
請求項1または2において、
前記マスタマイクロコンピュータから直接書き込まれた前記スレーブマイクロコンピュータのメモリの1面から起動可能になっている、プログラム修復システム。
【請求項4】
請求項1または2において、
前記マスタマイクロコンピュータからの書き換えプログラムデータを前記スレーブマイクロコンピュータが受信する第1のステップ、
前記スレーブマイクロコンピュータが受信した書き換えプログラムデータをその第1面のメモリに格納する第2のステップ、
前記第1面のメモリに格納された書き換えプログラムデータに異常が発生していないかチェックする第3のステップ、
異常が発生していない場合、前記スレーブマイクロコンピュータの第2面のメモリに当該書き換えプログラムデータをコピーし、異常が発生した場合、前記第2面のメモリに保持していた書き換え前プログラムデータにより前記第1面のメモリの書き換えプログラムデータを書き戻す第4のステップを有する、プログラム修復システム。
【請求項5】
請求項1または2において、
前記プログラムデータの書き戻しを、前記スレーブマイクロコンピュータのメモリ内部のミラー領域を用いて実行する、プログラム修復システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電気自動車の車両制御におけるプログラムデータ処理に使用されて、通信中のプログラムデータ異常を修復する、プログラム修復システムに関する。
【背景技術】
【0002】
近年、電気自動車(EV)における車両制御(ECU(Engine Control Unit))において、マスタマイクロコンピュータ(マスタMCU)とスレーブマイクロコンピュータ(スレーブMCU)とが通信可能に構成されて、プログラムデータ処理に使用されるシステムが増加している。このとき、電気自動車に搭載された制御基板が電気ノイズなどの影響を受けて、プログラムデータ書き換えの通信中にノイズが発生し、当該プログラムデータに異常が発生する場合がある。
【0003】
その一方、従来から、プライマリ/バックアップ複製機能を実行するプロセッサと、プライマリプロセスの状態情報とバックアッププロセスの状態情報を同期化するように構成されて出力バッファを保持するメモリとを含み、プライマリプロセスとバックアッププロセス間における遅延の影響を受けにくくする技術が知られている(例えば、特許文献1)。
【0004】
また、プロセッサがアクセスする一面のメモリに障害が発生した場合に、プロセッサによりメモリ内に記憶されているモニタプログラムを実行して、システムプログラムを起動することでこれを復旧させて、システムを稼働する技術も知られている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2015-508537号公報
【特許文献2】特開2005-276013号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1は、プログラムデータ書き換えの通信中に、ノイズでプログラムデータに異常が発生した場合に、当該プログラムデータ異常を修復するものではない。また、特許文献2のように、スレーブMCUが1面しかメモリを持たない場合、プログラムデータ書き換えの際、ノイズで当該メモリのプログラムデータが破壊されてしまい修復が困難となる場合がある。
【0007】
通常、スレーブMCUが2面のメモリのプログラムデータ構成を持っていても、両面からではなく片方の面からしか起動できず、また1面のプログラムデータと2面のプログラムデータに関連性がないとき、いずれか一方の面のプログラムデータを有効に活用できない場合がある。
【0008】
さらに、無線通信でのプログラムデータの書き換え(OTA)中にプログラムデータが一旦NGになったときに、当該システム部分を修復しないかぎり、再度通信で当該プログラムデータを受け取ることはできず、次の書き換えが発生した場合、新たなプログラムデータも受け取ることができないことが生じ得る。
【0009】
本発明は、プログラムデータ書き換えの通信中に異常が発生しても、容易にプログラムデータ異常の修復が可能なプログラム修復システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明に係るプログラム修復システムは、電気自動車の車両制御におけるプログラムデータ処理に使用されて、マスタマイクロコンピュータと、プログラムデータを記憶する2面のメモリをもつスレーブマイクロコンピュータとが通信可能に構成される。
前記スレーブマイクロコンピュータは、前記2面のメモリに同一または相異なるプログラムデータを順次記憶して順次書き込むもので、その2面のメモリ両方から起動可能になっており、そのうち1面のメモリで、またはその2面のうちいずれか一方から起動可能になっており、当該起動された1面のメモリで、プログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、当該プログラムデータの同一性を照合して異常の発生を判定するものであり、当該1面のメモリのプログラムデータを、他の1面のメモリに記憶された当該書き換え前のプログラムデータに書き戻すことができる。
【0011】
この構成によれば、スレーブマイクロコンピュータは、2面のメモリのうち1面のメモリでプログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、その1面のメモリのプログラムデータを、他の1面のメモリに記憶された当該書き換え前のプログラムデータに書き戻すことができるので、プログラムデータ書き換えの通信中に異常が発生しても、容易かつ確実にプログラムデータ異常の修復が可能となる。
【0012】
好ましくは、前記マスタマイクロコンピュータから直接書き込まれた前記スレーブマイクロコンピュータのメモリの1面から起動可能になっている。この場合、プログラムデータ書き換えの通信中に異常が発生しても、より容易かつ確実にプログラムデータ異常の修復が可能となる。
【0013】
好ましくは、前記マスタマイクロコンピュータからの書き換えプログラムデータを前記スレーブマイクロコンピュータが受信する第1のステップ、前記スレーブマイクロコンピュータが受信した書き換えプログラムデータをその第1面のメモリに格納する第2のステップ、前記第1面のメモリに格納された書き換えプログラムデータに異常が発生していないかチェックする第3のステップ、異常が発生していない場合、前記スレーブマイクロコンピュータの第2面のメモリに当該書き換えプログラムデータをコピーし、異常が発生した場合、前記第2面のメモリに保持していた書き換え前プログラムデータにより、前記第1面のメモリの書き換えプログラムデータを書き戻す第4のステップを有する。したがって、プログラムデータ書き換えの通信中に異常が発生しても、より容易かつ確実にプログラムデータ異常の修復が可能となる。
【0014】
また好ましくは、前記プログラムデータの書き戻しを前記スレーブマイクロコンピュータのメモリ内部のミラー領域を用いて実行する。この場合、プログラムデータの書き戻しが簡単な構成でより容易となる。
【発明の効果】
【0015】
本発明では、スレーブマイクロコンピュータは、2面のメモリのうち1面のメモリでプログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、その1面のメモリのプログラムデータを、他の1面のメモリに記憶された当該書き換え前のプログラムデータに書き戻すことができるので、プログラムデータ書き換えの通信中に異常が発生しても、容易かつ確実にプログラムデータ異常の修復が可能となる。
【図面の簡単な説明】
【0016】
図1】本発明の一実施形態に係るプログラム修復システムを示すブロック図である。
図2】本システムのプログラムデータ書き換え動作の詳細を示すブロック図である。
図3】同データ書き換え動作の詳細を示すブロック図である。
図4】同データ書き換え動作の詳細を示すブロック図である。
図5】同データ書き換え動作の詳細を示すブロック図である。
図6】同データ書き換え動作の詳細を示すブロック図である。
図7】同データ書き換え動作の詳細を示すブロック図である。
図8】(A)、(B)は本システムの書き戻し動作を示す模式図である。
図9】本システムの動作を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を図面にしたがって説明する。図1は本発明の一実施形態に係るプログラム修復システム1を示すブロック図である。このプログラム修復システム1は、プログラムデータの書き換え(リプログラミング)システムを形成する。
【0018】
電気自動車(EV)の車両制御を行うECU(Electronic Control Unit)4、リモートコントロール用ソフトウエアであるNETIMPRESS5、およびネットワーク通信の解析等を実行するソフトウエアツールであるCANAlyzer6が、CAN-BUS7を介してマスタマイクロコンピュータ(マスタMCU)2およびスレーブマイクロコンピュータ(スレーブMCU)3に通信可能に接続されている。マスタMCU2とスレーブMCU3間はLIN-BUS8で接続されている。スレーブMCU3は、1面と2面のメモリ(RAM)10、20を有している。CAN-BUS7は車両内の機器間でデータ通信を行うController Area Network バスである。LIN-BUS8は電気自動車の車両制御に使用される通信プロトコルであるLocal Interconnected Network バスである。
【0019】
図2図7は、本システムにおけるプログラムデータの書き換え(リプログラミング)動作の詳細を示すブロック図である。この例では、EV(電気自動車)に、マスタMCU2に対しスレーブMCU3の16台が接続された状態で搭載されている。
【0020】
まず、図2のように、NETIMPRESS5を使用して、マスタMCU2にマスタMCU2のプログラムデータとスレーブMCU3のプログラムデータの両方が書き込まれて、マスタMCU2のリプログラミングが完了される。つぎに図3のように、CANAlyzer6を使用して、マスタMCU2に対し、各スレーブMCU3の書き換え(リプログラミング)が開始される。
【0021】
そして、図4のように、マスタMCU2から各スレーブMCU3のRAM領域にWCP(ROM書き換えプログラム)データが送信されて、全スレーブMCU3のRAM領域へのWCPデータ送信が完了される。このリプログラミング中、スレーブMCUのROM領域は不定となるため、このRAM領域のWCPがROM書き換えを行う。
【0022】
図5のように、スレーブMCU3のRAM領域のWCPによりスレーブMCU3のROM領域が消去(イレーズ)される。そして、図6のように、マスタMCU2のリプログラミングで書き込んだプログラムデータが各スレーブMCU3の第1面、第2面のメモリ10、20に順次送信されて、全スレーブMCU3へのプログラムデータ送信が完了される。送信されたプログラムデータは各メモリ10、20に格納される。
【0023】
つぎに、図7のように、各スレーブMCU3の第1面、第2面のメモリ10、20について送信されたプグラムデータの同一性の照合確認がなされる。全スレーブMCU3の照合OKの場合、スレーブMCUのリプログラミングが完了される。
【0024】
図8(A)、(B)は、本システムの書き戻し動作を示す模式図である。スレーブMCU3は、1面と2面のメモリ(RAM)10、20を有しており、この2面のメモリ10、20に同一または相異なるプログラムデータを順次記憶して順次書き込むもので、その2面10、20の両方から起動可能になっている。
【0025】
図8(A)のように、マスタMCU2からスレーブMCU3の第1面のメモリ10へ新たな書き換えプログラムデータ(New Data)の送信中に(New Data×Old Dataは途中まで書き込んでいる状態を表示)に、ノイズ(Noise)が発生した場合に、図8(B)のように、第1面のメモリ10のデータ(New Data×Old Data)を、第2面のメモリ20の書き換え前プログラムデータ(Old Data)に書き戻している。
【0026】
すなわち、スレーブMCU3が第1面、第2面のメモリ10、20をもち、起動できる面を変えずに、ストックとして第2面のメモリ20に元のプログラムデータを置くことにより、確実に元のプログラムデータに戻し、固定のアドレスから動作が可能となっている。これにより、プログラムデータ書き換えの通信中に異常が発生しても、安定してプログラムデータを起動でき、容易かつ確実にプログラムデータ異常の修復を行うことができる。
【0027】
本発明では、スレーブMCU3の第1面のメモリ10、第2面のメモリ20におけるプログラムデータの書き戻しは、例えばスレーブMCUのメモリ内部のミラー領域(アドレス空間における実メモリ領域の他に存在するアドレス領域)を利用して実行される。書き換えプログラムデータまたは書き換え前プログラムデータがミラー領域のアドレスにアクセスされて読み出され、第1面のメモリ10と第2面のメモリ20の間で両プログラムデータが書き戻される。
【0028】
なお、前記プログラムデータの書き戻しを、NETIMPRESSからスレーブMCUの1面、2面のメモリ10、20に書き換えプログラムデータまたは書き換え前プログラムデータを順次送信することにより実現してもよい。
【0029】
図9は本システムの動作を示すフローチャートである。まず、リプログラミング開始指令発行・マスタMCU2と全スレーブMCU3の応答確認が行われる(ステップS1)。CANAlyzer6からCAN-BUS7を介してリプログラミング開始指令が発行され、これに基づいてマスタMCU2と2面のメモリを有するスレーブMCU3の間でLIN-BUS8を介してリプログラミング開始指令が送受信される。この際、例えばリプログラミング開始のACK(肯定応答/確認応答)が用いられる。
【0030】
つぎに、WCP(ROM書き換えプログラム)データ転送フェーズが実行される(ステップS2)。マスタMCU2とスレーブMCU3の間でWCPデータが送受信され、この際、両者の間で例えばWCPチェックサムにより初期化状態がチェックされる。これにより、マスタMCU2からスレーブMCU3の第1面、第2面のRAM領域にWCPデータが送信される。そして、イレーズフェーズ(ステップS3)では、スレーブMCUのRAM領域のWCP(ROM書き換えプログラム)によりスレーブMCUのROM領域が消去される。
【0031】
つぎに、プログラムフェーズ(ステップS4)では、マスタMCU2のリプログラミングで書き込んだプログラムデータが各スレーブMCU3の第1面、第2面のメモリ10、20に順次送信されて、当該メモリ10、20に格納される。この際、両者の間で例えばプログラムチェックサムにより送受信状態がチェックされる。このステップS4により、本発明におけるマスタMCU2からの書き換えプログラムデータをスレーブMCU3が受信する、第1のステップと、スレーブMCU3が受信した書き換えプログラムデータを第1面のメモリ10に格納する、第2のステップとが実行される。
【0032】
つぎに、ベリファイフェーズ(ステップS5)では、全スレーブMCU3の第1面、第2面のメモリ10、20について送信されたプログラムデータの同一性の照合確認がなされる。このステップS5により、スレーブMCU3の第1面のメモリ10に格納された書き換えプログラムデータに異常が発生していないかのチェックを実施する第3のステップが実行される。
【0033】
そして、ステップS5の照合確認において、スレーブMCU3の第1面のメモリ10の書き換えプログラムデータに異常が発生しているか否かが確認される(ステップS6)。この場合、当該プログラムデータの同一性を照合して異常の発生が判定される。異常が発生していない場合、スレーブMCU3の第2面のメモリ20に、スレーブMCU3の第1面のメモリ10のデータが格納される(ステップS7)。このとき、第1面のメモリ10に書き換えプログラムデータ(New Data)、第2面のメモリ20に書き換え前プログラムデータ(Old Data)が格納されている。
【0034】
ステップS6で異常が発生した場合、スレーブMCU3の第1面のメモリ10の異常プログラムデータが、スレーブMCU3の第2面のメモリ20に保持していた書き換え前のプログラムデータに書き戻される(ステップS8)。このとき、図8(B)のように、第1面のメモリ10と第2面のメモリ20の両方に書き換え前プログラムデータ(Old Data)が格納されている。このステップS6~ステップS8により、本発明の第4のステップが実行される。
【0035】
こうして、スレーブMCU3は、2面のメモリ10、20のうち1面のメモリ10でプログラムデータ書き換えの通信中にノイズによる異常が発生した場合に、当該1面のメモリ10のプログラムデータを、他の1面のメモリ20に記憶された当該書き換え前のプログラムデータに書き戻すことができるので、プログラムデータ書き換えの通信中に異常が発生しても、容易かつ確実にプログラムデータ異常の修復が可能となる。
【0036】
本発明は、以上の実施形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で、種々の追加、変更または削除が可能である。したがって、そのようなものも本発明の範囲内に含まれる。
【符号の説明】
【0037】
1:プログラム修復システム
2:マスタマイクロコンピュータ(マスタMCU)
3:スレーブマイクロコンピュータ(スレーブMCU)
4:EV(電気自動車)のECU
5:NETIMPRESS
6:CANAlyzer
7:CAN-BUS
8:LIN-BUS8
10:第1面のメモリ
20:第2面のメモリ
EV:電気自動車
図1
図2
図3
図4
図5
図6
図7
図8
図9