JP2013192092A - 車載装置 - Google Patents
車載装置 Download PDFInfo
- Publication number
- JP2013192092A JP2013192092A JP2012057560A JP2012057560A JP2013192092A JP 2013192092 A JP2013192092 A JP 2013192092A JP 2012057560 A JP2012057560 A JP 2012057560A JP 2012057560 A JP2012057560 A JP 2012057560A JP 2013192092 A JP2013192092 A JP 2013192092A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- program
- frame
- ecu
- protocol
- 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
Abstract
【課題】リプログの中断等によってプログラムの一部が破壊された場合でもプログラムの書き換えを実施可能な車載装置を提供することを目的とする。
【解決手段】リプログの対象外となるブロックAに簡易通信プログラムを格納し、リプログの対象となるブロックB,Cに正規通信プログラムを格納する。通常時には、正規通信プログラムに基づく正規通信を利用し、リプログ手順を実行する時には、簡易プログラムに基づく簡易通信を利用する。リプログ処理中の電源断等により正規通信プログラムが破壊された場合でも、簡易通信プログラムが破壊されることはないため、簡易通信によってリプログ処理を実行することができる。しかも、簡易通信プログラムは、正規通信プログラムと比較して、プログラムサイズが小さい(例えば1/4程度)ため、小容量ECU2メモリサイズを小さく抑えることができる。
【選択図】図3
【解決手段】リプログの対象外となるブロックAに簡易通信プログラムを格納し、リプログの対象となるブロックB,Cに正規通信プログラムを格納する。通常時には、正規通信プログラムに基づく正規通信を利用し、リプログ手順を実行する時には、簡易プログラムに基づく簡易通信を利用する。リプログ処理中の電源断等により正規通信プログラムが破壊された場合でも、簡易通信プログラムが破壊されることはないため、簡易通信によってリプログ処理を実行することができる。しかも、簡易通信プログラムは、正規通信プログラムと比較して、プログラムサイズが小さい(例えば1/4程度)ため、小容量ECU2メモリサイズを小さく抑えることができる。
【選択図】図3
Description
本発明は、車載ネットワークを介してプログラムを書き換え可能な車載装置に関する。
車載装置である電子制御装置(Electronic Control Unit ;以下、ECUとも称する。)では、制御プログラム等を記憶するメモリとして、プログラムのバージョンアップ等に対応して記憶内容の書き換えが可能なフラッシュメモリ等が使用されている。フラッシュメモリの記憶領域は、複数のブロック(セクタともいう)に分割されており、そのブロック毎にデータの書き換えを実行するように構成されている。
また、ECUのプログラムの書き換え(以下「リプログ」という)は、車両に備えられたコネクタにテスタを接続し、このテスタが車載ネットワークを介してECUと通信を行うことによって実行される。
そして、リプログの対象には、通常、車載ネットワークを介した通信を実行するための通信プログラム自体も含まれているため、電源断によってリプログ処理が中断される等して通信プログラムが破壊されてしまうと、リプログ処理を実行することができなくなってしまう。これに対して、複数ブロックに、同一の通信プログラムを格納し、リプログ時には、書き換え対象のブロックとは異なるブロックに格納された通信プログラムを用いて通信を実行することにより、いずれかのプログラムが破壊されたとしても、直ちに通信不能となることがないようにする技術が提案されている(例えば、特許文献1参照)。
ところで、近年、診断装置やリプログ装置等のテスタとECUとの通信にイーサネット(登録商標)を使用することが検討されており、その際に使用する通信プロトコルとして、TCP(Transmission Control Protocol )/IP(Internet Protocol )を前提とした規格(つまり、TCPデータの内容を規定する規格)であるDoIP(Diagnostics on Internet Protocol)を採用することが考えられている。
しかし、TCP/IPは汎用的なプロトコルであり様々な機能を有しているため、そのプログラムの規模は、車載ネットワークで多用されているCANプロトコル等と比較して非常に大きなもの(2〜4倍程度)となる。
つまり、CANプロトコルを用いた通信プログラムでは、フラッシュメモリの一つのブロックを専有するだけで済んでいたものが、TCP/IPを用いた通信プログラムでは、2〜4個ものブロックを専有してしまうことになる。従って、DoIPのようなプロトコルが採用された車載ネットワークでは、ECUのメモリ容量に制約のある場合、特許文献1に記載の技術を適用することが困難になるという問題があった。
本発明は、上記問題点を解決するために、リプログの中断等によってプログラムの一部が破壊された場合でもプログラムの書き換えを実施可能な車載装置を提供することを目的とする。
本発明の車載装置では、フレーム送受信手段が、送信元の物理アドレス、宛先の物理アドレス、上位プロトコルの種類を指定するための領域を少なくとも有した通信フレームを、車載ネットワークを介して送受信する。
また、記憶手段は、ブロック単位で記憶内容の書き換えが実行されるように構成されていると共に、正規通信プログラム及び簡易通信プログラムが互いに異なったブロックに記憶されている。但し、正規通信プログラムとは、フレーム送受信手段が送受信する通信フレームを用いて、TCP/IPを前提として構成された第1のプロトコルに従う正規通信を実現するためのプログラムであり、また、簡易通信プログラムとは、フレーム送受信手段が送受信する通信フレームを用いて、TCP/IPを省略して構成された第2のプロトコルに従う簡易通信を実現するためのプログラムである。
そして、リプログ実行手段は、記憶手段に記憶されたプログラムを書き換えるリプログ処理を、簡易通信を利用して実行する。
なお、簡易通信プログラムは、正規通信プログラムと比較して、TCP/IPが省略されている分、プログラムサイズが小さくなり、また、プログラムの書き換え専用に使用することによって、バージョンアップ等の必要がない簡易なものとすることができる。
なお、簡易通信プログラムは、正規通信プログラムと比較して、TCP/IPが省略されている分、プログラムサイズが小さくなり、また、プログラムの書き換え専用に使用することによって、バージョンアップ等の必要がない簡易なものとすることができる。
つまり、本発明によれば、正規通信プログラム書き換え中の電源断等により正規通信プログラムが破壊されたとしても、簡易通信プログラムが破壊されることがないため、簡易通信によってプログラムの書き換えを実行することができ、しかも、正規通信プログラムを二つ備える場合と比較して、プログラムサイズが抑制されるため、メモリ容量に制約がある場合でも適用することができる。
以下に本発明の実施形態を図面と共に説明する。
[第1実施形態]
<全体構成>
本発明が適用された車載通信システム1は、図1に示すように、車両の各部に設置された車載装置である複数の電子制御ユニット(ECU)2と、ECU2を相互に接続して車載ネットワークを構成する基幹バス3と、ECU2を介した車両の状態の診断や、ECU2のプログラムの書き換え(リプログ)等を実行するテスタ7を接続するためのコネクタ4とを備えている。
[第1実施形態]
<全体構成>
本発明が適用された車載通信システム1は、図1に示すように、車両の各部に設置された車載装置である複数の電子制御ユニット(ECU)2と、ECU2を相互に接続して車載ネットワークを構成する基幹バス3と、ECU2を介した車両の状態の診断や、ECU2のプログラムの書き換え(リプログ)等を実行するテスタ7を接続するためのコネクタ4とを備えている。
なお、基幹バス3はイーサネットからなり、基幹バス3上では、図2に示すように、ノードとなる装置(ここではECU2やテスタ7)の物理アドレスを示す宛先MAC(Media Access Control)アドレス,送信元MACアドレス、及び上位プロトコルの種類を示すフレームタイプによって構成されたヘッダ部を有する周知のイーサネットフレームを用いてデータが送受信される。
<ECU>
図1に戻り、ECU2は、基幹バス3を介してイーサネットフレームを送受信するトランシーバ21と、トランシーバ21を介して送受信されるイーサネットフレームのイーサネットデータ部に示された情報に基づいて各種処理を実行する処理実行部22とを備えている。
図1に戻り、ECU2は、基幹バス3を介してイーサネットフレームを送受信するトランシーバ21と、トランシーバ21を介して送受信されるイーサネットフレームのイーサネットデータ部に示された情報に基づいて各種処理を実行する処理実行部22とを備えている。
処理実行部22は、CPU,メモリを少なくとも備えた周知のマイクロコンピュータからなる。そして、プログラムを格納するためのメモリとして、データの書き換えが可能なフラッシュメモリを少なくとも備えている。このフラッシュメモリは、データ(プログラム)の書き換えを、所定データサイズ(例えば64Kバイト)からなるブロック単位で実行するように構成された周知のものである。
なお、ECU2には、割り当てられた機能が少なくアプリケーションプログラムの格納エリアが1ブロックに収まるような場合には、小容量のフラッシュメモリ(例えば256kバイト)が設けられ、割り当てられた機能が多くアプリケーションプログラムの格納エリアとして複数ブロックが必要である場合には、大容量のフラッシュメモリ(例えば512kバイト以上)が設けられる。
以下では、小容量のフラッシュメモリを搭載するECU2を、小容量ECU2a、大容量のフラッシュメモリを搭載するECU2を大容量ECU2bとも称する。
そして、小容量ECU2aに搭載されたフラッシュメモリは、図3(a)に示すように、例えば、4個のブロックA〜Dで構成されている。このうち、ブロックAには、当該ECU2を起動するためのブートプログラム、及びイーサネットフレームを使用する簡易プロトコルに従った通信(以下「簡易通信」という)を実現するためのプログラムである簡易通信プログラムが格納されている。また、ブロックB,Cには、イーサネットフレームを使用する周知のTCP(Transmission Control Protocol )/IP(Internet Protocol )及びTCP/IPを前提として構成されたDoIP(Diagnostics on Internet Protocol)に従った通信(以下「正規通信」という)を実現するためのプログラムである正規通信プログラムが格納されている。更に、ブロックDには、診断処理,リプログ処理を含む各種処理を実現するためのアプリケーションプログラムが格納されている。
そして、小容量ECU2aに搭載されたフラッシュメモリは、図3(a)に示すように、例えば、4個のブロックA〜Dで構成されている。このうち、ブロックAには、当該ECU2を起動するためのブートプログラム、及びイーサネットフレームを使用する簡易プロトコルに従った通信(以下「簡易通信」という)を実現するためのプログラムである簡易通信プログラムが格納されている。また、ブロックB,Cには、イーサネットフレームを使用する周知のTCP(Transmission Control Protocol )/IP(Internet Protocol )及びTCP/IPを前提として構成されたDoIP(Diagnostics on Internet Protocol)に従った通信(以下「正規通信」という)を実現するためのプログラムである正規通信プログラムが格納されている。更に、ブロックDには、診断処理,リプログ処理を含む各種処理を実現するためのアプリケーションプログラムが格納されている。
一方、大容量ECU2bに搭載されたフラッシュメモリは、図3(b)に示すように、例えば、8個のブロックA〜Hで構成されている。このうち、ブロックAには、ブートプログラム、及び後述する二つの通信プログラムのいずれを使用するかを判定するためのプログラムが格納される。また、ブロックB,Cには、正規通信を実現するための第1通信プログラム、ブロックD,Eには、ブロックB,Cと全く同じ内容の第2通信プログラム、ブロックF〜Hには、アプリケーションプログラムが格納されている。
そして、いずれのECU2も、ブロックAはリプログ処理の対象外となるように設定されている。
つまり、図1に示すように、小容量ECU2aの処理実行部22は、イーサネットフレーム上で正規通信を実現するための処理を実行する正規通信処理部221と、同じくイーサネットフレーム上で簡易通信を実現するための処理を実行する簡易通信処理部222と、いずれかの通信処理部221,222を用いて各種アプリケーションを実現するための処理を実行するアプリケーション実行部223とで構成され、一方、大容量ECU2bの処理実行部は、正規通信処理部221とアプリケーション実行部223とで構成される。但し、正規通信プログラム,第1通信プログラム,第2通信プログラムが、CPUを正規通信処理部221としてCPUを機能させるプログラムとなり、簡易通信プログラムが、CPUを簡易通信処理部222として機能させるプログラムとなり、アプリケーションプログラムが、CPUをアプリケーション実行部223として機能させるプログラムとなる。
つまり、図1に示すように、小容量ECU2aの処理実行部22は、イーサネットフレーム上で正規通信を実現するための処理を実行する正規通信処理部221と、同じくイーサネットフレーム上で簡易通信を実現するための処理を実行する簡易通信処理部222と、いずれかの通信処理部221,222を用いて各種アプリケーションを実現するための処理を実行するアプリケーション実行部223とで構成され、一方、大容量ECU2bの処理実行部は、正規通信処理部221とアプリケーション実行部223とで構成される。但し、正規通信プログラム,第1通信プログラム,第2通信プログラムが、CPUを正規通信処理部221としてCPUを機能させるプログラムとなり、簡易通信プログラムが、CPUを簡易通信処理部222として機能させるプログラムとなり、アプリケーションプログラムが、CPUをアプリケーション実行部223として機能させるプログラムとなる。
また、小容量ECU2aでは、通信に使用するプロトコルによって通信モードが切り替わり、以下では、TCP/IP(DoIP)を使用する通信モードを正規通信モード、簡易プロトコルを使用する通信モードを簡易通信モードと称する。
<<TCP/IP(DoIP)概要>>
正規通信で使用する通信フレームは、図2(a)に示すように、周知のTCP/IPフレームを前提として、TCPデータ部に、DoIPは、故障診断に用いられる通信プロトコルであるDoIP(ISO13400規格)のフレームが挿入された構造を有している。
正規通信で使用する通信フレームは、図2(a)に示すように、周知のTCP/IPフレームを前提として、TCPデータ部に、DoIPは、故障診断に用いられる通信プロトコルであるDoIP(ISO13400規格)のフレームが挿入された構造を有している。
DoIPフレームは、DoIPヘッダ部と、DoIPデータ部からなる。このうち、DoIPヘッダ部では、DoIPデータ部の種類を指定するペイロードタイプからなり、DoIPデータ部は、ロジカルアドレスによって送信元アドレス及び宛先アドレスを設定するためのロジカルアドレス情報と、要求メッセージ又は応答メッセージのいずれかからなるダイアグメッセージデータとで構成されている。
つまり、DoIPでは、送信元及び宛先をロジカルアドレスによって指定し、他のノードに対する指令を、要求メッセージを用いて送信し、要求メッセージを受信したノードは、要求メッセージの内容に応じた応答メッセージを返送するように構成されている。
<<簡易プロトコル概要>>
簡易通信で使用する通信フレーム(簡易フレーム)は、図2(b)に示すように、TCP/IPに関わるIPヘッダ部、TCPヘッダ部、DoIPヘッダ部、ロジカルアドレス情報(即ち、図2(a)中斜線で示した部分)を省略し、DoIPフレームのロジカルアドレスをMACアドレスと1対1に対応づけ、DoIPデータ部のダイアグメッセージデータに相当する内容を、イーサネットデータ部に挿入した構成を有している。
簡易通信で使用する通信フレーム(簡易フレーム)は、図2(b)に示すように、TCP/IPに関わるIPヘッダ部、TCPヘッダ部、DoIPヘッダ部、ロジカルアドレス情報(即ち、図2(a)中斜線で示した部分)を省略し、DoIPフレームのロジカルアドレスをMACアドレスと1対1に対応づけ、DoIPデータ部のダイアグメッセージデータに相当する内容を、イーサネットデータ部に挿入した構成を有している。
つまり、簡易プロトコルでは、送信元及び宛先をロジカルアドレスに対応づけられたMACアドレスによって指定し、DoIPと同様の要求メッセージ、応答メッセージによって通信を行うように構成されている。
<テスタ>
テスタ7は、図1に示すように、コネクタ4を介して車載ネットワーク(基幹バス3)に接続され、イーサネットフレームを送受信するトランシーバ71と、ECU2のプログラムの書き換え時に用いるリプログデータを記憶するリプログデータ記憶部72と、ユーザが各種指令を入力する操作をしたり、トランシーバ71を介して取得した情報や、ユーザが行うべき操作手順等をユーザに提示したりするための入出力部73と、CPU,メモリを少なくとも備えた周知のマイクロコンピュータからなり、入出力部73から入力される指令に従い、トランシーバ71を介して送受信されるデータに基づいて診断処理やリプログ処理等を実行する処理実行部74を備えている。
テスタ7は、図1に示すように、コネクタ4を介して車載ネットワーク(基幹バス3)に接続され、イーサネットフレームを送受信するトランシーバ71と、ECU2のプログラムの書き換え時に用いるリプログデータを記憶するリプログデータ記憶部72と、ユーザが各種指令を入力する操作をしたり、トランシーバ71を介して取得した情報や、ユーザが行うべき操作手順等をユーザに提示したりするための入出力部73と、CPU,メモリを少なくとも備えた周知のマイクロコンピュータからなり、入出力部73から入力される指令に従い、トランシーバ71を介して送受信されるデータに基づいて診断処理やリプログ処理等を実行する処理実行部74を備えている。
なお、処理実行部74のメモリには、故障診断やリプログ処理を実行するためのプログラムの他、図4に示すように、DoIPで使用するロジカルアドレスと、ロジカルアドレスから特定されるECU2に割り当てられた物理アドレス(MACアドレス)や、そのECU2に対してリプログ処理を実行する時に使用する通信プロトコルとの対応関係を示すリプログ情報テーブルが少なくとも格納されている。
<テスタ側リプログ処理>
ここで、テスタ7の処理実行部74が実行するリプログ処理の内容を、図5に示すフローチャートに沿って説明する。
ここで、テスタ7の処理実行部74が実行するリプログ処理の内容を、図5に示すフローチャートに沿って説明する。
なお、本処理は、リプログデータ記憶部72にリプログデータが格納された状態で、入出力部73を介して、リプログ処理の実行を要求する指令が入力されると起動する。
本処理が起動すると、リプログ処理の対象となるECU2(以下「対象ECU」という)やフラッシュメモリのブロック(以下「対象ブロック」という)を指定する指定情報や、使用するリプログデータのファイル名等、リプログ処理に必要な指示や情報を受け付ける処理を実行する(S110)。
本処理が起動すると、リプログ処理の対象となるECU2(以下「対象ECU」という)やフラッシュメモリのブロック(以下「対象ブロック」という)を指定する指定情報や、使用するリプログデータのファイル名等、リプログ処理に必要な指示や情報を受け付ける処理を実行する(S110)。
指示や情報を受け付けると、リプログ情報テーブルに基づき、受け付けた対象ECUに適用する通信プロトコルを特定し(S120)、特定された通信プロトコルは簡易プロトコルであるか否かを判断する(S130)。
特定されたプロトコルが簡易プロトコルであれば、簡易プロトコルによるリプログ手順(後述する)を実行して(S140)、本処理を終了し、一方、特定されたプロトコルがTCP/IPであれば、TCP/IPによるリプログ手順(後述する)を実行して(S150)、本処理を終了する。
<ECU受信処理>
小容量ECU2aの処理実行部22が実行するECU受信処理の内容を、図6に示すフローチャートによって説明する。
小容量ECU2aの処理実行部22が実行するECU受信処理の内容を、図6に示すフローチャートによって説明する。
本処理は、トランシーバ21にて自ECU宛のイーサネットフレームが受信されると起動する。なお、初期状態ではECU2aの通信モードは正規通信モードに設定されているものとする。
本処理が起動すると、ECU2aの通信モードが簡易通信モードであるか否かを判断する(S210)。
通信モードが簡易通信モードではなく正規通信モードであれば、受信したフレームがIPフレームであるか否かを、イーサネットヘッダ部のフレームタイプの設定に従って判断し(S220)、受信したフレームがIPフレームであれば、TCP/IPに従った通信制御を行うと共に、TCPデータ部に示された内容(コマンドやデータ)に従った処理を実行して(S230)、本処理を終了する。なお、S230で実行する処理には、DoIP要求メッセージ,DoIP応答メッセージを扱う処理が少なくとも含まれており、通信モードを正規通信モードから簡易通信モードに切り換える処理等も含まれている。
通信モードが簡易通信モードではなく正規通信モードであれば、受信したフレームがIPフレームであるか否かを、イーサネットヘッダ部のフレームタイプの設定に従って判断し(S220)、受信したフレームがIPフレームであれば、TCP/IPに従った通信制御を行うと共に、TCPデータ部に示された内容(コマンドやデータ)に従った処理を実行して(S230)、本処理を終了する。なお、S230で実行する処理には、DoIP要求メッセージ,DoIP応答メッセージを扱う処理が少なくとも含まれており、通信モードを正規通信モードから簡易通信モードに切り換える処理等も含まれている。
一方、ECU2aの通信モードが簡易通信モードであれば、受信したフレームが簡易フレームであるか否かを判断し(S240)、受信したフレームが簡易フレームであれば、簡易プロトコルに従った通信制御を行うと共に、イーサネットデータ部に示された内容に従った処理を実行して(S250)本処理を終了する。なお、S250にて実行する処理には、通信モードを簡易通信モードから正規通信モードに切り換える処理、及び、簡易通信によりリプログデータを受信する処理等が少なくとも含まれている。
また、通信モードが正規通信モードの時に簡易フレームを受信した場合(S220−NO)又は通信モードが簡易通信モードの時にIPフレームを受信した場合(S240−NO)は、その受信したフレームを破棄して(S260)本処理を終了する。
なお、大容量ECU2bでは、簡易通信モードが存在しないため、S220,S230,S260の処理のみを実行する。但し、この場合のS220で実行する処理には、S250での処理に相当する処理を、DoIP要求フレーム、DoIP応答フレームを用いて実行する処理も含まれることになる。
<動作>
このように構成された車載通信システム1では、コネクタ4に接続されたテスタ7において、リプログ処理に必要な指示や情報が入力されると、入力情報の一つである対象ECU2のロジカルアドレスに基づき、対象ECU2のMACアドレスとリプログ処理に使用するプロトコル(即ち、対象ECU2が小容量ECU2aであるか大容量ECU2bであるか)が、リプログ情報テーブルを用いて特定される。
このように構成された車載通信システム1では、コネクタ4に接続されたテスタ7において、リプログ処理に必要な指示や情報が入力されると、入力情報の一つである対象ECU2のロジカルアドレスに基づき、対象ECU2のMACアドレスとリプログ処理に使用するプロトコル(即ち、対象ECU2が小容量ECU2aであるか大容量ECU2bであるか)が、リプログ情報テーブルを用いて特定される。
<<小容量ECUに対するリプログ手順>>
ここで、対象ECU2が小容量ECU2aである場合のリプログ手順を、図7に示すシーケンス図に従って説明する。
ここで、対象ECU2が小容量ECU2aである場合のリプログ手順を、図7に示すシーケンス図に従って説明する。
まず、テスタ7は、対象ECU2に対して、フラッシュメモリの内容を書き換えるために用意されたセッションであるプログラミングセッションへの移行を要求するDoIP要求メッセージを送信する。これを受信した対象ECU2は、プログラミングセッションに移行すると共に、テスタ7に対して要求を受け付けたことを示すDoIP応答メッセージを返送する。
これに続けて、テスタ7は、対象ECU2に対してセキュリティ解除を要求するDoIP要求メッセージを送信する。これを受信した対象ECU2は、要求メッセージに示された内容(例えば、IDコードやパスワード等)に従って、認証処理等を実行し、認証に成功した場合には、テスタ7に対して要求を受け付けたことを示すDoIP応答メッセージを返送する。
セキュリティ解除を確認したテスタは、通信プロトコルをTCP/IPから簡易プロトコルへ移行させることを要求するDoIP要求メッセージを送信する。これを受信した対象ECU2は、通信モードを簡易通信モードに移行させると共に、テスタ7に対して要求を受け付けたことを示すDoIP応答メッセージを返送する。
以後、テスタ7と対象ECU2との間で簡易プロトコルによる通信(簡易フレームの送受信)により、リプログデータの転送、転送されたリプログデータによるフラッシュメモリの書き換え指示、簡易プロトコルから正規プロトコルへの復帰要求等が実行される。なお、対象ECU2は、書き換え指示を受けると、リプログルーチンを起動して、対象ブロックの消去及び受信したリプログデータの書き込みを実行する。
通信モードが正規通信モードに復帰すると、図示しないが、DoIP要求メッセージ/応答メッセージを用いて、セキュリティの回復、プログラミングセッションの終了を実行する。
なお、ここでは、書き換え指示を簡易通信の中で行うものとしたが、正規通信に復帰してから行うようにしてもよい。
<<大容量ECUに対するリプログ手順>>
次に、対象ECU2が大容量ECU2bである場合の手順を、図8に示すシーケンス図に従って説明する。
<<大容量ECUに対するリプログ手順>>
次に、対象ECU2が大容量ECU2bである場合の手順を、図8に示すシーケンス図に従って説明する。
まず、先に説明した小容量ECU2aの場合と同様の手順で、プログラミングセッションへの移行、セキュリティ解除を実行する。
これに続けて、テスタ7は、対象ECU2に対して、ダウンロードの開始を要求するDoIPメッセージを送信する。これを受信した対象ECU2は、転送されてくるリプログデータを一時的に格納しておくメモリ領域を確保すると共に、要求を受け付けたことを示すDoIP応答メッセージを返送する。
これに続けて、テスタ7は、対象ECU2に対して、ダウンロードの開始を要求するDoIPメッセージを送信する。これを受信した対象ECU2は、転送されてくるリプログデータを一時的に格納しておくメモリ領域を確保すると共に、要求を受け付けたことを示すDoIP応答メッセージを返送する。
その後、テスタ7が転送データ(リプログデータ)を載せたDoIP要求メッセージを送信し、対象ECU2が正常に受信したことを示すDoIP応答メッセージを返送する手順を、全てのデータを転送するのに必要な回数だけ繰り返す(図では1回だけ示す)。
全データの転送が終了すると、テスタ7は、対象ECU2に対しダウンロードを終了することを示すDoIP要求メッセージを送信し、これに対して対象ECUは、DoIP応答メッセージを返送する。
そして、テスタ7は、フラッシュメモリ書き換えの実行を指示するDoIP要求メッセージを送信する。これを受信した対象ECU2は、要求を受け付けたことを示すDoIP応答メッセージを返送すると共に、リプログルーチンを起動して、対象ブロックの消去及びリプログデータの書き込みを実行する。
その後、先に説明した小容量ECU2aの場合と同様に、DoIP要求メッセージ/応答メッセージを用いて、セキュリティの回復、プログラミングセッションの終了を実行する。
<効果>
以上説明したように、小容量ECU2aでは、リプログ処理の対象外となるブロックAに格納された簡易通信プログラムを用いて、テスタ7との間のリプログ手順を実行しているため、リプログ処理中の電源断等により正規通信プログラムが破壊された場合でも、簡易通信によってリプログ手順を実行することができる。
以上説明したように、小容量ECU2aでは、リプログ処理の対象外となるブロックAに格納された簡易通信プログラムを用いて、テスタ7との間のリプログ手順を実行しているため、リプログ処理中の電源断等により正規通信プログラムが破壊された場合でも、簡易通信によってリプログ手順を実行することができる。
しかも、簡易通信プログラムは、正規通信プログラムと比較して、プログラムサイズが小さい(例えば1/4程度)ため、小容量ECU2aのプログラムを格納するフラッシュメモリのメモリサイズを小さく抑えることができる。
また、簡易通信に使用する通信フレームでは、正規通信に使用する通信フレームと比較してヘッダ情報が大幅に省略されるため、リプログデータを効率良く転送することができ、リプログ処理に要する時間を短縮することができる。
[第2実施形態]
第2実施形態について説明する。
<構成>
本実施形態の車載通信システム1は、図9(a)に示すように、コネクタ4が代理サーバ5を介して基幹バス3(車載ネットワーク)に接続されている点が異なっている。
第2実施形態について説明する。
<構成>
本実施形態の車載通信システム1は、図9(a)に示すように、コネクタ4が代理サーバ5を介して基幹バス3(車載ネットワーク)に接続されている点が異なっている。
また、テスタ7は、コネクタ4に直接接続してもよいが、ここでは、TCP/IPを用いる外部ネットワーク(例えば、インターネット)8を介して接続されている。
なお、ECU2及びテスタ7の装置構成は第1実施形態と同様であるため説明を省略する。
なお、ECU2及びテスタ7の装置構成は第1実施形態と同様であるため説明を省略する。
<代理サーバ>
代理サーバ5は、図9(b)に示すように、コネクタ4を介してイーサネットフレームを送受信するトランシーバ51と、基幹バス3を介してイーサネットフレームを送受信するトランシーバ52と、トランシーバ51,52により送受信されるデータに基づいて各種処理を実行する処理実行部53とを備えている。
代理サーバ5は、図9(b)に示すように、コネクタ4を介してイーサネットフレームを送受信するトランシーバ51と、基幹バス3を介してイーサネットフレームを送受信するトランシーバ52と、トランシーバ51,52により送受信されるデータに基づいて各種処理を実行する処理実行部53とを備えている。
処理実行部53は、トランシーバ51を介して送受信されるイーサネットフレーム上で正規通信を実行する正規通信処理部531と、トランシーバ52を介して送受信されるイーサネットフレーム上で正規通信を実行する正規通信処理部532と、トランシーバ52を介して送受信されるイーサネットフレーム上で簡易通信を実行する簡易通信処理部533と、通信処理部531〜533を用いて各種アプリケーションを実行するアプリケーション実行部534とで構成されている。但し、処理実行部53は、CPU,メモリを少なくとも備えた周知のマイクロコンピュータからなり、処理実行部53を構成する各部は、CPUが実行する処理によって実現される。
<ツール側リプログ処理>
テスタ7の処理実行部74が実行するリプログ処理の内容を、図10に示すフローチャートに沿って説明する。
テスタ7の処理実行部74が実行するリプログ処理の内容を、図10に示すフローチャートに沿って説明する。
但し、図5を用いて先に説明した処理と比較して、S140の処理がS160に置き換わっている点が異なるだけであるため、この相違する部分を中心に説明する。
即ち、対象ECUに適用するプロトコルが簡易プロトコルであると判断された場合(S130−YES)、TCP/IPによる代理リプログ手順(後述する)を実行して(S160)、本処理を終了する。
即ち、対象ECUに適用するプロトコルが簡易プロトコルであると判断された場合(S130−YES)、TCP/IPによる代理リプログ手順(後述する)を実行して(S160)、本処理を終了する。
<代理サーバ受信処理>
次に、代理サーバ5の処理実行部53が実行する外部フレーム受信処理の内容を、図11に示すフローチャートに沿って説明する。
次に、代理サーバ5の処理実行部53が実行する外部フレーム受信処理の内容を、図11に示すフローチャートに沿って説明する。
本処理は、トランシーバ51がコネクタ4を介して外部からTCP/IPフレームを受信すると起動する。
本処理が起動すると、受信フレームのIPアドレスが自ノード(代理サーバ5)宛であるか否かを判断する(S310)。
本処理が起動すると、受信フレームのIPアドレスが自ノード(代理サーバ5)宛であるか否かを判断する(S310)。
受信フレームのIPアドレスが自ノード宛ではなくECU2宛であれば、受信フレームを中継(即ち、正規通信によりトランシーバ52を介して送信)して(S320)、本処理を終了する。
一方、受信フレームのIPアドレスが自ノード宛であれば、テスタとの間で、TCPデータ部の内容に基づき、TCP/IPに従った処理を実行して(S330)、本処理を終了する。
なお、S330で実行する処理には、DoIP要求メッセージ,DoIP応答メッセージを扱う処理、特に、テスタ7からの要求に従って、対象ECU2aとの間で簡易プロトコルによるリプログ手順を実行する処理が少なくとも含まれている。
また、トランシーバ52がECU2からのイーサネットフレームを受信した場合は、MACアドレスが自ノードを含む車載通信システム1を構成するノード宛ではなく、且つフレームタイプがIPフレームであれば、受信フレームを中継し、MACアドレスが自ノード宛である場合は、イーサネットデータ部の内容に従った処理を実行する。
<動作>
このように構成された車載通信システム1では、コネクタ4に接続された外部ネットワーク8を介して接続されたテスタ7において、リプログ処理に必要な指示や情報が入力されると、入力情報の一つである対象ECUのロジカルアドレスに基づき、対象ECUのMACアドレスとリプログ処理に使用するプロトコル(即ち、対象ECUが小容量ECU2aであるか大容量ECU2bであるか)が、リプログ情報テーブルを用いて特定される。
このように構成された車載通信システム1では、コネクタ4に接続された外部ネットワーク8を介して接続されたテスタ7において、リプログ処理に必要な指示や情報が入力されると、入力情報の一つである対象ECUのロジカルアドレスに基づき、対象ECUのMACアドレスとリプログ処理に使用するプロトコル(即ち、対象ECUが小容量ECU2aであるか大容量ECU2bであるか)が、リプログ情報テーブルを用いて特定される。
<<小容量ECUに対する代理リプログ手順>>
ここで、対象ECU2が小容量ECU2aである場合の手順(代理リプログ手順)を、図12に示すシーケンス図に従って説明する。
ここで、対象ECU2が小容量ECU2aである場合の手順(代理リプログ手順)を、図12に示すシーケンス図に従って説明する。
まず、テスタ7は、代理サーバ5に対して、ダウンロードの開始を要求するDoIPメッセージを送信する。これを受信した代理サーバ5は、転送されてくるリプログデータを一時的に格納するためのメモリ領域を確保すると共に、要求を受け付けたことを示すDoIP応答メッセージを返送する。
その後、テスタ7が転送データ(リプログデータ)を載せたDoIP要求メッセージを送信し、代理サーバ5が正常に受信したことを示すDoIP応答メッセージを返送する手順を、全データを転送するのに必要な回数だけ繰り返す(図では1回だけ示す)。
全データの転送が終了すると、テスタ7は、ダウンロードを終了することを示すDoIP要求メッセージを代理サーバ5に対して送信し、これに対して代理サーバ5は、DoIP応答メッセージを返送する。
そして、テスタ7は、フラッシュメモリ書き換えの実行を要求するDoIP要求メッセージを送信する。このメッセージには、対象ECU2のMACアドレスや対象ブロックの情報等も含まれている。これを受信した代理サーバ5は、要求を受け付けたことを示すDoIP応答メッセージを返送すると共に、簡易プロトコルによるリプログ手順を、ECUとの間で実行する。
なお、この簡易プロトコルによるリプログ手順は、テスタ7が代理サーバ5に置き換わる以外は、図7を用いて先に説明した内容と同様であるため、説明を省略する。
<<大容量ECUに対するリプログ手順>>
対象ECU2が大容量ECU2bである場合は、図8を用いて先に説明した内容と同様であるため説明を省略する。但し、この場合、代理サーバ5は、テスタと対象ECUとの間で送受信されるTCP/IPフレームを中継する処理を実行する。
<<大容量ECUに対するリプログ手順>>
対象ECU2が大容量ECU2bである場合は、図8を用いて先に説明した内容と同様であるため説明を省略する。但し、この場合、代理サーバ5は、テスタと対象ECUとの間で送受信されるTCP/IPフレームを中継する処理を実行する。
<効果>
以上説明したように、車載通信システム1によれば、代理サーバ5を備えており、外部ネットワーク8を介して接続されたテスタ7によって、小容量ECU2aに対するリプログ処理を実行する場合、小容量ECU2aに対しては、代理サーバ5との間で簡易プロトコルによるリプログ手順を適用するようにしているため、第1実施形態の場合と同様の効果を得ることができる。
以上説明したように、車載通信システム1によれば、代理サーバ5を備えており、外部ネットワーク8を介して接続されたテスタ7によって、小容量ECU2aに対するリプログ処理を実行する場合、小容量ECU2aに対しては、代理サーバ5との間で簡易プロトコルによるリプログ手順を適用するようにしているため、第1実施形態の場合と同様の効果を得ることができる。
[他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、様々な態様にて実施することが可能である。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、様々な態様にて実施することが可能である。
例えば、上記実施形態では、ECU2のプログラムを格納するメモリとしてフラッシュメモリを用いているが、これに限るものではなく、データをブロック単位で書き換えるように構成されたメモリであればよい。
1…車載通信システム 2…電子制御装置(ECU) 3…基幹バス 4…コネクタ 5…代理サーバ 7…テスタ 8…外部ネットワーク 21,51,52,71…トランシーバ 22,53,74…処理実行部 72…リプログデータ記憶部 73…入出力部 221,531,532…正規通信処理部 222,533…簡易通信処理部 223,534…アプリケーション実行部
Claims (4)
- 送信元の物理アドレス、宛先の物理アドレス、上位プロトコルの種類を指定するための領域を少なくとも有した通信フレームを、車載ネットワークを介して送受信するフレーム送受信手段(21)と、
予め設定されたブロック単位で記憶内容の書き換えが実行されると共に、前記フレーム送受信手段が送受信する通信フレームを用いて、TCP(Transmission Control Protocol )/IP(Internet Protocol )を前提として構成された第1のプロトコルに従った正規通信を実現するためのプログラムである正規通信プログラム、及び前記フレーム送受信手段が送受信する通信フレームを用いて、TCP/IPを省略して構成された第2のプロトコルに従う簡易通信を実現するためのプログラムである簡易通信プログラムが、互いに異なった前記ブロックに記憶される記憶手段(22)と、
前記記憶手段に記憶されたプログラムを書き換えるリプログ処理を、前記簡易通信を利用して実行するリプログ実行手段(22,S210〜S250)と、
を備えることを特徴とする車載装置。 - 前記簡易通信プログラムは、前記リプログ処理の対象外となるブロックに記憶されていることを特徴とする車載装置。
- 前記リプログ実行手段は、前記正規通信により他装置からの指令を受信することによって起動することを特徴とする請求項1又は請求項2に記載の車載装置。
- 前記通信フレームは、イーサネット(登録商標)フレームであることを特徴とする請求項1乃至請求項3のいずれか1項に記載の車載装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057560A JP2013192092A (ja) | 2012-03-14 | 2012-03-14 | 車載装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012057560A JP2013192092A (ja) | 2012-03-14 | 2012-03-14 | 車載装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013192092A true JP2013192092A (ja) | 2013-09-26 |
Family
ID=49391924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012057560A Pending JP2013192092A (ja) | 2012-03-14 | 2012-03-14 | 車載装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013192092A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015178323A (ja) * | 2014-03-19 | 2015-10-08 | マツダ株式会社 | 車両制御装置及び車両用パスワード設定方法 |
US10684932B2 (en) | 2016-12-06 | 2020-06-16 | Autonetworks Technologies, Ltd. | Program update system, distribution device, and program update method |
US11886855B2 (en) | 2018-03-07 | 2024-01-30 | Autonetworks Technologies, Ltd. | Processing apparatus and processing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004210183A (ja) * | 2003-01-07 | 2004-07-29 | Komatsu Ltd | 車載プログラムの書き換え制御装置 |
JP2005064709A (ja) * | 2003-08-08 | 2005-03-10 | Hitachi Cable Ltd | 通信装置 |
JP2007316800A (ja) * | 2006-05-24 | 2007-12-06 | Mitsubishi Electric Corp | 車載プログラム書換え制御装置 |
-
2012
- 2012-03-14 JP JP2012057560A patent/JP2013192092A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004210183A (ja) * | 2003-01-07 | 2004-07-29 | Komatsu Ltd | 車載プログラムの書き換え制御装置 |
JP2005064709A (ja) * | 2003-08-08 | 2005-03-10 | Hitachi Cable Ltd | 通信装置 |
JP2007316800A (ja) * | 2006-05-24 | 2007-12-06 | Mitsubishi Electric Corp | 車載プログラム書換え制御装置 |
Non-Patent Citations (1)
Title |
---|
BURKHARD TRIESS: "オープンなECUインターフェース", REALTIMES, vol. 1.2009号, JPN6015010384, 2009, ISSN: 0003030091 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015178323A (ja) * | 2014-03-19 | 2015-10-08 | マツダ株式会社 | 車両制御装置及び車両用パスワード設定方法 |
US10684932B2 (en) | 2016-12-06 | 2020-06-16 | Autonetworks Technologies, Ltd. | Program update system, distribution device, and program update method |
US11886855B2 (en) | 2018-03-07 | 2024-01-30 | Autonetworks Technologies, Ltd. | Processing apparatus and processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6889296B2 (ja) | ゲートウェイ装置、システム及びファームウェア更新方法 | |
JP5353545B2 (ja) | 車載ネットワーク装置 | |
JP7280412B2 (ja) | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 | |
JP6060782B2 (ja) | 中継装置 | |
US11126422B2 (en) | Program update system, control system, mobile body, program update method, recording medium | |
CN111722864A (zh) | 一种ecu数据刷写方法及相关装置 | |
JP6915569B2 (ja) | 保存装置、通信システム、保存方法及びコンピュータプログラム | |
JP2013192092A (ja) | 車載装置 | |
US20170187567A1 (en) | Electronic control apparatus | |
JP2018160207A (ja) | 車載制御装置、及び、プログラム更新ソフトウェア | |
JP7224472B2 (ja) | 車両制御装置、更新プログラム、プログラム更新システム、及び書込み装置 | |
US10300923B2 (en) | Device for storing data in a motor vehicle | |
JP7087334B2 (ja) | 電子制御装置 | |
JP3247074B2 (ja) | アドレス設定方法、及びこのアドレス設定方法が適用される通信システム | |
JP2019199122A (ja) | 車載中継装置、通信システム、バス決定方法及びコンピュータプログラム | |
WO2013061396A1 (ja) | 通信装置、通信システム及び通信方法 | |
JP7210943B2 (ja) | 電子制御装置 | |
JP6935694B2 (ja) | 電子制御装置 | |
CN108494677B (zh) | 链路的捆绑方法及装置 | |
JP2020141195A (ja) | 電子制御装置、及び車載通信システム | |
KR20230168963A (ko) | 차량용 전자 회로 | |
JP4546960B2 (ja) | 分散された複数の局のネットワークのためのネットワーク加入者局及び該ネットワーク加入者局を操作するための方法 | |
JP2004246576A (ja) | プログラム書換方法及び半導体装置 | |
JP2021124829A (ja) | 電子制御装置 | |
JP2019149682A (ja) | 通信システム、マスタ装置及びスレーブ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150317 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150714 |