特許第6798413号(P6798413)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社オートネットワーク技術研究所の特許一覧 ▶ 住友電装株式会社の特許一覧 ▶ 住友電気工業株式会社の特許一覧

特許6798413車載中継装置、制御プログラム及びメモリ共有方法
<>
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000002
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000003
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000004
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000005
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000006
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000007
  • 特許6798413-車載中継装置、制御プログラム及びメモリ共有方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6798413
(24)【登録日】2020年11月24日
(45)【発行日】2020年12月9日
(54)【発明の名称】車載中継装置、制御プログラム及びメモリ共有方法
(51)【国際特許分類】
   G06F 13/00 20060101AFI20201130BHJP
   G06F 8/654 20180101ALI20201130BHJP
【FI】
   G06F13/00 530B
   G06F8/654
【請求項の数】8
【全頁数】16
(21)【出願番号】特願2017-92963(P2017-92963)
(22)【出願日】2017年5月9日
(65)【公開番号】特開2018-190223(P2018-190223A)
(43)【公開日】2018年11月29日
【審査請求日】2019年8月29日
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】岡田 遼
【審査官】 今川 悟
(56)【参考文献】
【文献】 特開2017−059210(JP,A)
【文献】 特開2011−108167(JP,A)
【文献】 特開2013−196321(JP,A)
【文献】 特開2001−229014(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06F 8/654
(57)【特許請求の範囲】
【請求項1】
車両に搭載された複数の通信線が接続され、前記複数の通信線間の通信を中継する処理を行う車載中継装置において、
前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得する取得部、及び、該取得部が取得した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行う更新処理部を有するプロセッサと、
通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行う通信IC(Integrated Circuit)と、
前記プロセッサ及び前記通信ICがアクセス可能な共有メモリと
を備え、
前記共有メモリは、前記プロセッサの取得部が取得した更新用プログラムを記憶すると共に、前記通信ICが実行する通信プログラムを記憶すること
を特徴とする車載中継装置。
【請求項2】
前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ICから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部を備え、
前記プロセッサは、前記経路選択部による経路の選択を制御すること
を特徴とする請求項1に記載の車載中継装置。
【請求項3】
前記プロセッサは、
前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ICから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行い、
前記通信ICが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行うこと
を特徴とする請求項2に記載の車載中継装置。
【請求項4】
前記共有メモリは、前記通信プログラムを記憶するための記憶領域が複数設けられると共に、いずれの記憶領域に記憶された前記通信プログラムを前記通信ICが読み出すべきかを示す領域情報を記憶しており、
前記通信ICは、前記領域情報にて示された前記共有メモリの記憶領域から前記通信プログラムを読み出すこと
を特徴とする請求項1乃至請求項3のいずれか1つに記載の車載中継装置。
【請求項5】
前記プロセッサは、前記取得部にて前記通信ICのための更新用プログラムを取得して前記共有メモリのいずれかの記憶領域に記憶し、前記領域情報を更新すること
を特徴とする請求項4に記載の車載中継装置。
【請求項6】
車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサに、
前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得させ、
通信プログラムを実行して前記複数の通信線を介した通信に係る処理を行う通信ICがアクセス可能な共有メモリに、取得した更新用プログラムを記憶する処理を行わせ、
前記共有メモリに記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行わせ、
前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ICから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部による経路の選択を制御させること
を特徴とする制御プログラム。
【請求項7】
前記プロセッサに、
前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ICから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせ、
前記通信ICが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせること
を特徴とする請求項6に記載の制御プログラム。
【請求項8】
車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサ及び通信ICがメモリを共有するメモリ共有方法であって、
前記プロセッサが、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得し、取得した更新用プログラムを共有メモリに記憶し、記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行い、
前記通信ICが、前記共有メモリに記憶された通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行うこと
を特徴とするメモリ共有方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載された複数の通信線が接続され、複数の通信線間の通信を中継する車載中継装置、制御プログラム及びメモリ共有方法に関する。
【背景技術】
【0002】
従来、車両には多数のECU(Electronic Control Unit)などの車載機器が搭載されている。これら複数の車載機器は、車両内に配された通信線を介して接続され、通信により種々の情報を交換することによって、協調動作を行っている。車載機器による通信のプロトコルには、例えばCAN(Controller Area Network)又はイーサネット(登録商標)等のプロトコルが採用されている。CANの通信プロトコルでは、共通の通信線(CANバス)に対して複数の車載機器が接続されるネットワーク構成が採用されるが、1つの通信線に接続可能な装置数には制限があるため、車両内に複数の通信線を設けて通信線間の通信を車載中継装置、いわゆるゲートウェイが中継する構成とされることが多い。またイーサネットの通信プロトコルでは、スター型のネットワーク構成が採用されており、1つの車載中継装置に複数の車載機器がそれぞれ通信線を介して接続され、車載中継装置が車載機器間の通信を中継する。
【0003】
また近年では、車載機器においてプロセッサが実行するプログラムの更新を、無線通信を利用して遠隔で行う技術、いわゆるリモートリプログラミングが研究及び開発されている。この技術では、車両が携帯電話通信網又は無線LAN(Local Area Network)等の無線通信にてサーバ装置との通信を行い、更新用プログラムをサーバ装置からダウンロードして取得し、取得した更新用プログラムを用いて更新対象の車載機器のプログラムを更新する。サーバ装置からの更新用プログラムの取得、及び、更新用プログラムの車載機器への送信等の処理を行う装置として、複数の通信線が接続された車載中継装置が好適である。
【0004】
車載機器のプログラムを更新する技術として、例えば特許文献1においては、プログラムの更新に必要な蓄電器の蓄電必要量と蓄電器の蓄電残量とに基づいてプログラムの更新の可否を判定し、更新が可能であると判定した場合に更新対象の車載機器にプログラムの更新を開始させる車載中継装置が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2016−127449号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
車載機器のプログラムの更新に係る処理を車載中継装置が行う構成とした場合、車載中継装置にはサーバ装置から取得した更新用プログラムを一時的に記憶しておくための記憶装置が必要となる。このような記憶装置としては、例えばフラッシュメモリのような比較的に容量が大きく、データ書換可能な不揮発性のメモリ素子が採用され得る。
【0007】
一方、車載中継装置は、例えばプロセッサ及びメモリ等のIC(Integrated Circuit)が回路基板に多数搭載されて構成されている。近年では、車載中継装置の高機能化に伴って、搭載されるICの増加又は高機能化が行われる。これにより、メモリに記憶されたプログラムを読み出して処理を行うという構成のICが、車載中継装置の主のプロセッサ以外にも搭載されることがある。このようなICは、プログラムを記憶しておくためのROM(Read Only Memory)又はフラッシュメモリ等の不揮発性のメモリ素子を必要とするため、車載中継装置の回路基板に搭載されるメモリ素子の数を増大させる虞がある。
【0008】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、搭載されるメモリ素子の数の増大を抑制し得る車載中継装置、制御プログラム及びメモリ共有方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明に係る車載中継装置は、車両に搭載された複数の通信線が接続され、前記複数の通信線間の通信を中継する処理を行う車載中継装置において、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得する取得部、及び、該取得部が取得した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行う更新処理部を有するプロセッサと、通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行う通信IC(Integrated Circuit)と、前記プロセッサ及び前記通信ICがアクセス可能な共有メモリとを備え、前記共有メモリは、前記プロセッサの取得部が取得した更新用プログラムを記憶すると共に、前記通信ICが実行する通信プログラムを記憶することを特徴とする。
【0010】
また、本発明に係る車載中継装置は、前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ICから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部を備え、前記プロセッサは、前記経路選択部による経路の選択を制御することを特徴とする。
【0011】
また、本発明に係る車載中継装置は、前記プロセッサが、前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ICから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行い、前記通信ICが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行うことを特徴とする。
【0012】
また、本発明に係る車載中継装置は、前記共有メモリが、前記通信プログラムを記憶するための記憶領域が複数設けられると共に、いずれの記憶領域に記憶された前記通信プログラムを前記通信ICが読み出すべきかを示す領域情報を記憶しており、前記通信ICは、前記領域情報にて示された前記共有メモリの記憶領域から前記通信プログラムを読み出すことを特徴とする。
【0013】
また、本発明に係る車載中継装置は、前記プロセッサが、前記取得部にて前記通信ICのための更新用プログラムを取得して前記共有メモリのいずれかの記憶領域に記憶し、前記領域情報を更新することを特徴とする。
【0014】
また、本発明に係る制御プログラムは、車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサに、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得させ、通信プログラムを実行して前記複数の通信線を介した通信に係る処理を行う通信ICがアクセス可能な共有メモリに、取得した更新用プログラムを記憶する処理を行わせ、前記共有メモリに記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行わせ、前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ICから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部による経路の選択を制御させることを特徴とする。
【0015】
また、本発明に係る制御プログラムは、前記プロセッサに、前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ICから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせ、前記通信ICが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせることを特徴とする。
【0016】
また、本発明に係るメモリ共有方法は、車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサ及び通信ICがメモリを共有するメモリ共有方法であって、前記プロセッサが、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得し、取得した更新用プログラムを共有メモリに記憶し、記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行い、前記通信ICが、前記共有メモリに記憶された通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行うことを特徴とする。
【0017】
本発明においては、車載中継装置が車載機器の更新用プログラムを取得し、取得した更新用プログラムを更新対象の車載機器へ送信することにより、この車載機器のプログラムを更新する。車載中継装置は、車載機器の更新処理を含む種々の処理を行うプロセッサと、通信に係る処理を行う通信ICとを備える。通信ICは、通信プログラムを実行することによって通信に係る処理を行う。
この構成において本発明に係る車載中継装置は、プロセッサ及び通信ICが共にアクセス可能な共有メモリを備える。共有メモリには、プロセッサが取得した更新用プログラムを記憶すると共に、通信ICが実行する通信プログラムを記憶する。これにより、プロセッサが更新用プログラムを記憶しておくためのメモリ素子と、通信ICの通信プログラムを記憶しておくためのメモリ素子とを個別に備える必要がなく、車載中継装置が備えるメモリ素子数を低減できる。
【0018】
また本発明において車載中継装置は、プロセッサから共有メモリへのアクセス経路、又は、通信ICから共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部を備え、プロセッサが経路選択部の選択を制御する。
例えばプロセッサは、車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合に、通信ICから共有メモリへのアクセス経路を有効化するよう経路選択部の選択を制御する。これにより、イグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられ車載中継装置が動作を開始した際に、通信ICが共有メモリから通信プログラムを読み出して通信に係る処理を開始することができる。またプロセッサは、通信ICが共有メモリから通信プログラムを読み出した後、プロセッサから供給メモリへのアクセス経路を有効化するよう経路選択部の選択を制御する。これによりプロセッサは、更新用プログラムを取得した際に、この更新用プログラムを共有メモリに記憶することができる。
通信ICによる通信プログラムの読み出しは、装置の起動後に一度行われればよい。このため、装置の起動直後は通信ICが共有メモリにアクセスし、その後はプロセッサが共有メモリにアクセスする構成とすることができ、プロセッサ及び通信ICによる共有メモリへのアクセスが衝突することなく、メモリの共有化を実現できる。
【0019】
また本発明においては、通信ICが実行する通信プログラムを更新することを可能とする。このために、共有メモリには通信プログラムを記憶することができる記憶領域を複数設けると共に、いずれの記憶領域に記憶された通信プログラムを通信ICが読み出すべきかを示す領域情報を記憶する。通信ICは、領域情報に示された記憶領域から通信プログラムを読み出す。これにより、領域情報に示されていない記憶領域には、通信ICの動作に影響を与えることなく、通信ICの更新用プログラムを記憶することができる。プロセッサは、取得した通信ICのための更新用プログラムを、領域情報に示されていない共有メモリの記憶領域に記憶した後、この記憶領域から通信ICが通信プログラムを読み出すよう領域情報を更新する。これにより、次に通信ICが通信プログラムを読み出す際には、プロセッサが取得して共有メモリに記憶した更新用プログラムを通信ICが通信プログラムとして読み出すこととなり、通信プログラムを更新することができる。
【発明の効果】
【0020】
本発明による場合は、プロセッサが取得した更新用プログラムを記憶するメモリと、通信ICが読み出す通信プログラムを記憶するメモリとを共通化することによって、車載中継装置が備えるメモリ素子数を低減できる。
【図面の簡単な説明】
【0021】
図1】本実施の形態に係る通信システムの構成を示す模式図である。
図2】本実施の形態に係るゲートウェイの構成を示すブロック図である。
図3】フラッシュメモリの記憶内容の一例を示す模式図である。
図4】バススイッチの構成を示す回路図である。
図5】ゲートウェイのプロセッサが行うバススイッチの切替制御処理の手順を示すフローチャートである。
図6】ゲートウェイのプロセッサが行うECUの更新処理の手順を示すフローチャートである。
図7】ゲートウェイのプロセッサが行うESWの更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0022】
<システム構成>
図1は、本実施の形態に係る通信システムの構成を示す模式図である。本実施の形態に係る通信システムは、車両1に搭載された複数のECU3がそれぞれ通信線を介してゲートウェイ2に接続された構成、いわゆるスター型のネットワーク構成である。また本実施の形態においては、ゲートウェイ2及びECU3はイーサネットの通信プロトコルに従って通信を行うものとする。ただし通信プロトコルはイーサネットに限るものではなく、例えばCAN又はFlexRay等の種々の通信プロトコルを採用し得る。
【0023】
ゲートウェイ2は、例えば一のECU3からメッセージを受信した場合に、このメッセージを一又は複数の他のECU3へ送信することによって、複数のECU3間のメッセージの送受信を中継する処理を行う。ECU3は、例えば車両1のエンジンの動作を制御するECU、車両1のボディ系装備の動作を制御するボディECU、エアバッグの動作を制御するECU、又は、ABS(Antilock Brake System)の制御を行うECU等のように、種々のECUであってよい。
【0024】
またゲートウェイ2には、通信線を介して無線通信装置4が接続されている。無線通信装置4は、例えば携帯電話通信網又は無線LAN等の無線ネットワークを利用することによって、車両1の外部に存在する種々の装置との間で通信を行うことができる。これにより、車両1に搭載されたゲートウェイ2及びECU3は、無線通信装置4を介して、車両1外の装置との通信を行うことができる。本実施の形態においては、ゲートウェイ2が無線通信装置4を介して車両1の外部に設置されたサーバ装置5との間で通信を行う。
【0025】
本実施の形態に係るゲートウェイ2は、ECU3間のメッセージを中継する処理に加えて、ECU3にて実行されるプログラムを更新する処理を行う。例えばゲートウェイ2は、車両1のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に無線通信装置4を介してサーバ装置5との間で通信を行い、車両1に搭載されたECU3についてプログラムの更新を行う必要があるか否かを問い合わせる。サーバ装置5は、例えば車両1の製造会社又は販売会社等が運営する装置であり、車両1に搭載されたECU3のプログラムのバージョン管理などを行うと共に、更新用プログラムを車両1へ配信する処理を行う。
【0026】
プログラムの更新が必要であることがサーバ装置5から通知された場合、ゲートウェイ2は、サーバ装置5から更新用プログラムをダウンロードして取得し、取得した更新用プログラムを自身のメモリに記憶する。その後、ゲートウェイ2は、車両1のイグニッションスイッチがオフ状態へ切り替えられた後に、記憶しておいた更新用プログラムを、更新対象のECU3へ送信する。ゲートウェイ2から更新用プログラムを受信したECU3は、自身のメモリに記憶されているプログラムを受信した更新用プログラムに置き換えることによって、プログラムの更新を行う。
【0027】
<装置構成>
図2は、本実施の形態に係るゲートウェイ2の構成を示すブロック図である。本実施の形態に係るゲートウェイ2は、プロセッサ21、ESW(イーサネットスイッチ)22、フラッシュメモリ23及びバススイッチ24等を備えて構成されている。プロセッサ21は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を有するICであり、所定の制御プログラムを読み出して実行することによって通信の中継処理及びECU3のプログラムの更新処理等の種々の処理を行う。本実施の形態においてプロセッサ21は、自身が実行する制御プログラムを記憶した記憶部21aを内蔵しているものとするが、例えばプロセッサ21が実行する制御プログラムを記憶したROMなどをゲートウェイ2が備えていてもよく、また例えば制御プログラムをフラッシュメモリ23に記憶しておく構成としてもよい。プロセッサ21が実行する制御プログラムは、例えばゲートウェイ2の製造工程などにおいて回路基板に搭載される前にプロセッサ21の記憶部21aに対して直接的に書き込まれてもよく、ゲートウェイ2の通信機能を利用して書き込まれてもよい。また例えば制御プログラムは、メモリカード又は光ディスク等の記録媒体に記録されて提供され、ゲートウェイ2又は車両1に設けられたメモリカードスロット又は光ディスクドライブ等の装置にて記録媒体から制御プログラムを読み出してプロセッサ21に記憶部21aに書き込まれる構成であってもよい。
【0028】
本実施の形態においてプロセッサ21は、車両1のイグニッションスイッチの状態を示すIG信号又はアクセサリスイッチの状態を示すACC信号が入力されており、IG信号又はACC信号に応じて処理を行うことができる。またプロセッサ21は、ESW22及びバススイッチ24の動作を制御すると共に、フラッシュメモリ23に対するデータの読み出し及び書き込みを行うことができる。プロセッサ21は、ECU3の更新処理に用いる更新用プログラムをサーバ装置5から取得してフラッシュメモリ23に記憶する。
【0029】
ESW22は、ゲートウェイ2に接続された複数の通信線を介して、これらの通信線に接続されたECU3又は無線通信装置4との間でメッセージ(フレーム)の送受信を行う。ESW22は、いずれかの通信線にてECU3又は無線通信装置4からのメッセージを受信した場合に、このメッセージに含まれるMACアドレスなどに基づいて中継先を判断し、中継先のECU3又は無線通信装置4が接続された通信線からメッセージを送信することでメッセージを中継する。ESW22は、CPU又はMPU等の演算処理装置を内蔵しており、この演算処理装置がフラッシュメモリ23に記憶された通信プログラムを読み出して実行することにより、上記のような通信の中継処理を行う。
【0030】
フラッシュメモリ23は、電気的にデータの書き込み及び消去を行うことが可能な不揮発性のメモリ素子である。本実施の形態に係るゲートウェイ2では、フラッシュメモリ23をプロセッサ21及びESW22が共有している。フラッシュメモリ23は、プロセッサ21から与えられる更新用プログラムを記憶すると共に、ESW22が実行する通信プログラムを記憶している。
【0031】
図3は、フラッシュメモリ23の記憶内容の一例を示す模式図である。本実施の形態においてフラッシュメモリ23には、読み込みフラグを記憶する領域と、第1の通信プログラム記憶領域と、第2の通信プログラム記憶領域と、更新用プログラム記憶領域とが設けられている。フラッシュメモリ23の第1の通信プログラム記憶領域及び第2の通信プログラム記憶領域は、共にESW22が読み出して実行する通信プログラムを記憶するための領域である。フラッシュメモリ23に記憶された読み込みフラグは、ESW22が第1の通信プログラム記憶領域又は第2の通信プログラム記憶領域のいずれから通信プログラムを読み出すべきかを示すフラグである。例えばESW22は、読み込みフラグの値が”0”である場合に第1の通信プログラム記憶領域から通信プログラムを読み出して実行し、読み込みフラグの値が”1”である場合に第2の通信プログラム記憶領域から通信プログラムを読み出して実行する。
【0032】
即ち、フラッシュメモリ23の第1の通信プログラム記憶領域及び第2の通信プログラム記憶領域は、一方がその時点でESW22により実行される通信プログラムが記憶された記憶領域であり、他方が予備の記憶領域である。この予備の記憶領域は、ESW22の通信プログラムを更新する際に用いられる。ESW22の通信プログラムの更新が必要となった場合、ゲートウェイ2のプロセッサ21は、無線通信装置4による無線通信を利用してサーバ装置5から更新用プログラムを取得する。プロセッサ21は、取得した更新用プログラムを、フラッシュメモリ23の読み込みフラグにて指定されていない方の記憶領域に書き込む。更新用プログラムの書き込みが完了した後、プロセッサ21は、更新用プログラムが記憶された方の記憶領域を読み出すべき記憶領域として指定するように、読み込みフラグの値を変更する。これによりESW22は、次回の起動時に更新された通信プログラムを読み出して実行することができる。
【0033】
フラッシュメモリ23の更新用プログラム記憶領域は、車両1のECU3にて実行されるプログラムを更新するための更新用プログラムを記憶する領域である。ECU3のプログラムの更新が必要となった場合、ゲートウェイ2のプロセッサ21は、無線通信装置4による無線通信を利用してサーバ装置5からECU3の更新用プログラムを取得する。プロセッサ21は、取得した更新用プログラムを、フラッシュメモリ23の更新用プログラム記憶領域に記憶する。その後、例えば車両1のイグニッションスイッチがオフ状態へ切り替えられた場合などの適宜のタイミングで、プロセッサ21は、フラッシュメモリ23の更新用プログラム記憶領域から更新用プログラムを読み出し、更新対象のECU3へ送信する。ゲートウェイ2から更新用プログラムを受信したECU3は、自身のメモリに記憶されているプログラムを受信した更新用プログラムに置き換えることによって、プログラムの更新を行う。
【0034】
上述のようにゲートウェイ2のフラッシュメモリ23は、プロセッサ21及びESW22が共有する共有メモリである。ただし、プロセッサ21及びESW22が同時にフラッシュメモリ23へのアクセスを行うことはできない。このため、プロセッサ21及びESW22とフラッシュメモリ23との間にバススイッチ24を設け、バススイッチ24による選択を切り替えることによって、プロセッサ21及びESW22のいずれか一方のみをフラッシュメモリ23へのアクセスを可能とし、他方のフラッシュメモリ23へのアクセスを禁止する。バススイッチ24によるプロセッサ21又はESW22の選択は、プロセッサ21から与えられる制御信号により切り替えられる。
【0035】
図4は、バススイッチ24の構成を示す回路図である。なお図示の例では、フラッシュメモリ23には4つの信号線C1〜C4が接続され、これらの信号線C1〜C4を介してフラッシュメモリ23に対するデータの読み出し、書き込み及び消去等の制御を行うことができるものとする。このためフラッシュメモリ23との信号の授受を行う信号線として、プロセッサ21には4つの信号線A1〜A4が接続され、ESW22には4つの信号線B1〜B4が接続されている。バススイッチ24には、これらの信号線A1〜A4,B1〜B4,C1〜C4が接続されている。
【0036】
バススイッチ24は、プロセッサ21に接続された信号線A1〜A4及びESW22に接続された信号線B1〜B4のいずれか一方を、選択的に信号線C1〜C4へ接続する。またバススイッチ24の動作は、プロセッサ21から出力される選択信号S及びイネーブル信号OEBの2つの制御信号によって制御される。バススイッチ24は、選択信号Sの値が”0”(ローレベル)である場合に信号線A1〜A4を信号線C1〜C4に接続し、選択信号Sの値が”1”(ハイレベル)である場合に信号線B1〜B4を信号線C1〜C4に接続する。またバススイッチ24は、イネーブル信号OEBの値が”0”である場合に、上記のような選択信号Sに応じた信号線の接続を行う。イネーブル信号OEBの値が”1”である場合には、バススイッチ24は、信号線A1〜A4及び信号線B1〜B4のいずれも信号線C1〜C4に接続せず、プロセッサ21及びESW22が共にフラッシュメモリ23へアクセス不可能な状態とする。
【0037】
例えばバススイッチ24は、4つのスイッチSWA1〜SWA4、4つのスイッチSWB1〜SWB4、2入力1出力の2つの論理積演算素子24a,24b、1つのバッファ素子24c、及び、2つの論理反転素子24d,24eを用いて構成することができる。スイッチSWA1は信号線A1及び信号線C1の接続/遮断を切り替えるスイッチであり、スイッチSWA2は信号線A2及び信号線C2の接続/遮断を切り替えるスイッチであり、スイッチSWA3は信号線A3及び信号線C3の接続/遮断を切り替えるスイッチであり、スイッチSWA4は信号線A4及び信号線C4の接続/遮断を切り替えるスイッチである。スイッチSWA1〜SWA4は、論理積演算素子24aの出力信号によって接続/遮断の状態が切り替えられる。
【0038】
同様に、スイッチSWB1は信号線B1及び信号線C1の接続/遮断を切り替えるスイッチであり、スイッチSWB2は信号線B2及び信号線C2の接続/遮断を切り替えるスイッチであり、スイッチSWB3は信号線B3及び信号線C3の接続/遮断を切り替えるスイッチであり、スイッチSWB4は信号線B4及び信号線C4の接続/遮断を切り替えるスイッチである。スイッチSWB1〜SWB4は、論理積演算素子24bの出力信号によって接続/遮断の状態が切り替えられる。
【0039】
プロセッサ21が出力する選択信号Sは、バススイッチ24のバッファ素子24cへ入力される。バッファ素子24cの出力信号は、論理反転素子24eと、論理積演算素子24bとに入力される。論理反転素子24eの出力信号は、論理積演算素子24aに入力される。またプロセッサ21が出力するイネーブル信号OEBは、バススイッチ24の論理反転素子24dへ入力される。論理反転素子24dの出力信号は、論理積演算素子24a及び24bへそれぞれ入力される。
【0040】
これにより、イネーブル信号OEBの値が”1”である場合、論理反転素子24dの出力は”0”となり、論理積演算素子24a及び24bの一方の入力には”0”が入力されるため、論理積演算素子24a及び24bの出力は共に”0”となる。論理積演算素子24a及び24bの出力が”0”である場合、スイッチSWA1〜SWA4及びスイッチSWB1〜SWB4は遮断状態となり、信号線A1〜A4及び信号線B1〜B4が共に信号線C1〜C4に接続されない状態となる。
【0041】
イネーブル信号OEBの値が”0”である場合、論理積演算素子24a及び24bの一方の入力には”1”が入力されるため、論理積演算素子24a及び24bの出力信号は、他方の入力の値により定まる。選択信号Sの値が”0”である場合、バッファ素子24cの出力信号の値も”0”であり、論理反転素子24eの出力信号の値”1”が論理積演算素子24aへ入力されると共に、バッファ素子24cの出力信号の値”0”が論理積演算素子24bへ入力される。これにより論理積演算素子24aの出力は”1”となりスイッチSWA1〜SWA4が接続状態となり、論理積演算素子24bの出力は”0”となりスイッチSWB1〜SWB4が遮断状態となる。これに対して選択信号Sの値が”1”である場合、バッファ素子24cの出力信号の値も”1”であり、論理反転素子24eの出力信号の値”0”が論理積演算素子24aへ入力されると共に、バッファ素子24cの出力信号の値”1”が論理積演算素子24bへ入力される。これにより論理積演算素子24aの出力は”0”となりスイッチSWA1〜SWA4が遮断状態となり、論理積演算素子24bの出力は”1”となりスイッチSWB1〜SWB4が接続状態となる。
【0042】
このように、バススイッチ24の2つの論理積演算素子24a及び24bは出力信号の値が共に”1”となることはなく、スイッチSWA1〜SWA4及びスイッチSWB1〜SWB4が共に接続状態となることはないため、信号線A1〜A4及び信号線B1〜B4が同時に信号線C1〜C4に接続されることはない。
【0043】
<メモリ共有方法>
本実施の形態に係るゲートウェイ2のプロセッサ21は、車両1のIG信号又はACC信号のオン/オフ状態の切り替えに応じて、バススイッチ24による通信線の選択の切替制御を行う。なお以下の例では、プロセッサ21がIG信号に応じてバススイッチ24の制御を行うものとするが、ACC信号に応じて制御を行ってもよい。プロセッサ21がいずれの信号に応じて制御を行うかは、ESW22の起動がいずれの信号に応じて行われるかによる。本例では、IG信号がオン状態である場合にESW22が起動し、オフ状態である場合にESW22はスリープ又はスタンバイ等の待機状態となるものとする。更には、プロセッサ21がIG信号及びACC信号以外の条件に応じてバススイッチ24の切替制御を行う構成としてもよい。
【0044】
IG信号がオフ状態である場合、プロセッサ21は、例えばイネーブル信号OEBを”1”として、フラッシュメモリ23へアクセスを行うことができない状態を維持する。IG信号がオフ状態からオン状態へ切り替えられた場合、プロセッサ21は、イネーブル信号OEBを”0”とし、且つ、選択信号Sを”1”として、ESW22の信号線B1〜B4とフラッシュメモリ23の信号線C1〜C4とを接続する。これによりESW22は、フラッシュメモリ23へアクセスすることが可能となる。
【0045】
ESW22は、IG信号がオフ状態からオン状態へ切り替えられることにより起動し、フラッシュメモリ23に記憶された通信プログラムの読み出しを開始する。まずESW22は、フラッシュメモリ23に対して読出命令を与えることにより、フラッシュメモリ23に記憶された読み込みフラグの値を読み出す。次いでESW22は、読み出した読み込みフラグにて指定された第1の通信プログラム記憶領域又は第2の通信プログラム記憶領域のいずれかの記憶領域から、通信プログラムを読み出す。なおESW22が読み出した通信プログラムはESW22内に備えられたメモリに記憶され、ESW22内のCPUなどがメモリに記憶された通信プログラムを実行する。
【0046】
その後、ESW22は、フラッシュメモリ23からの通信プログラムの読み出しを終えた場合に、読出完了をプロセッサ21へ通知する。ESW22からの通知を受けたプロセッサ21は、選択信号Sを”1”から”0”へ切り替えることによって、バススイッチ24による信号線の選択を切り替える。これによりプロセッサ21の信号線A1〜A4とフラッシュメモリ23の信号線C1〜C4とが接続され、プロセッサ21は、フラッシュメモリ23へアクセスすることが可能となる。プロセッサ21は、フラッシュメモリ23の更新用プログラム記憶領域を利用してサーバ装置5から取得した更新用プログラムを一時的に記憶し、ECU3のプログラムの更新処理を行う。
【0047】
その後、プロセッサ21は、IG信号がオン状態からオフ状態へ切り替えられた場合に、イネーブル信号OEBを”1”に変化させ、フラッシュメモリ23へアクセスを行うことができない状態となるよう、バススイッチ24の切り替えを行う。ただし、IG信号がオフになった後でECU3のプログラムの更新処理を行う場合には、プロセッサ21は、IG信号がオフ状態へ切り替えられた後もイネーブル信号OEBを”0”で維持し、フラッシュメモリ23の更新用プログラム記憶領域に記憶された更新用プログラムの読み出しを行い、更新処理の終了後にイネーブル信号OEBを”1”に変化させる。
【0048】
図5は、ゲートウェイ2のプロセッサ21が行うバススイッチ24の切替制御処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ2のプロセッサ21は、車両1のIGスイッチがオフ状態からオン状態へ切り替えられたか否かを判定する(ステップS1)。IGスイッチがオン状態へ切り替えられていない場合(S1:NO)、プロセッサ21は、IGスイッチがオン状態へ切り替えられるまで待機する。IGスイッチがオン状態へ切り替えられた場合(S1:YES)、プロセッサ21は、イネーブル信号OEBを”0”とし、選択信号Sを”1”とすることにより、フラッシュメモリ23にアクセスする相手としてESW22を選択するようバススイッチ24による選択を切り替える(ステップS2)。
【0049】
次いでプロセッサ21は、ESW22からの通知の有無に基づいて、ESW22によるフラッシュメモリ23からの通信プログラムの読み出しが終了し、ESW22の起動が完了したか否かを判定する(ステップS3)。ESW22の起動が完了していない場合(S3:NO)、プロセッサ21は、ESW22の起動が完了するまで待機する。ESW22の起動が完了した場合(S3:YES)、プロセッサ21は、選択信号Sを”0”とすることにより、フラッシュメモリ23にアクセスする相手としてプロセッサ21を選択するようバススイッチ24による選択を切り替えて(ステップS4)、処理を終了する。
【0050】
図6は、ゲートウェイ2のプロセッサ21が行うECU3の更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ2のプロセッサ21は、例えば車両1のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合などの所定のタイミングで、車両1に搭載されたECU3のプログラムの更新の有無を、無線通信装置4による無線通信を利用してサーバ装置5に確認する(ステップS11)。サーバ装置5からの応答に基づいてプロセッサ21は、ECU3のプログラムの更新の有無を判定する(ステップS12)。ECU3のプログラムの更新がない場合(S12:NO)、プロセッサ21は、処理を終了する。
【0051】
ECU3のプログラムの更新がある場合(S12:YES)、プロセッサ21は、無線通信装置4による無線通信を利用してサーバ装置5からECU3の更新用プログラムを取得する(ステップS13)。プロセッサ21は、サーバ装置5から取得した更新用プログラムを、フラッシュメモリ23の更新用プログラム記憶領域に記憶する(ステップS14)。その後、プロセッサ21は、車両1のIGスイッチがオフ状態へ切り替えられたか否かを判定する(ステップS15)。IGスイッチがオフ状態へ切り替えられていない場合(S15:NO)、プロセッサ21は、IGスイッチがオフ状態へ切り替えられるまで待機する。IGスイッチがオフ状態へ切り替えられた場合(S15:YES)、プロセッサ21は、フラッシュメモリ23に記憶した更新用プログラムを読み出し、読み出した更新用プログラムを更新対象のECU3へ送信することによって更新処理を行い(ステップS16)、処理を終了する。
【0052】
図7は、ゲートウェイ2のプロセッサ21が行うESW22の更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ2のプロセッサ21は、例えば車両1のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合などの所定のタイミングで、ESW22の通信プログラムの更新の有無を、無線通信装置4による無線通信を利用してサーバ装置5に確認する(ステップS21)。サーバ装置5からの応答に基づいてプロセッサ21は、ESW22の通信プログラムの更新の有無を判定する(ステップS22)。ESW22の通信プログラムの更新がない場合(S22:NO)、プロセッサ21は、処理を終了する。
【0053】
ESW22の通信プログラムの更新がある場合(S22:YES)、プロセッサ21は、フラッシュメモリ23に記憶された読み込みフラグの値を読み出して、読み込みフラグの値を確認する(ステップS23)。またプロセッサ21は、無線通信装置4による無線通信を利用してサーバ装置5からESW22の更新用プログラムを取得する(ステップS24)。プロセッサ21は、ステップS23での確認結果に基づいて、読み込みフラグにより指定された記憶領域以外の記憶領域に対して、ステップS24にて取得した更新用プログラムを記憶する(ステップS25)。更新用プログラムの記憶を終えた後、プロセッサ21は、フラッシュメモリ23に記憶された読み込みフラグの値を、更新用プログラムを記憶した記憶領域を指定する値に更新して(ステップS26)、処理を終了する。
【0054】
<まとめ>
以上の構成の本実施の形態に係る通信システムは、ゲートウェイ2がECU3の更新用プログラムをサーバ装置5から取得し、取得した更新用プログラムを更新対象のECU3へ送信することにより、このECU3のプログラムを更新する。ゲートウェイ2は、ECU3の更新処理を含む種々の処理を行うプロセッサ21と、車両1内の通信線を介した通信に係る処理を行うESW22とを備える。ESW22は、フラッシュメモリ23に記憶された通信プログラムを読み出して実行することにより、通信に係る種々の処理を行う。
【0055】
この構成において本実施の形態に係るゲートウェイ2は、プロセッサ21及びESW22が共にアクセス可能な共有メモリとして、フラッシュメモリ23を備える。フラッシュメモリ23には、プロセッサ21が更新処理のためにサーバ装置5から取得した更新用プログラムを記憶すると共に、ESW22が実行する通信プログラムを記憶する。これにより、プロセッサ21が更新用プログラムを記憶しておくためのメモリ素子と、ESW22が実行する通信プログラムを記憶しておくためのメモリ素子とを個別に備える必要がなく、ゲートウェイ2が備えるメモリ素子数を低減できる。
【0056】
またゲートウェイ2は、プロセッサ21からフラッシュメモリ23へのアクセス経路(信号線A1〜A4及び信号線C1〜C4)、又は、ESW22からフラッシュメモリ23へのアクセス経路(信号線B1〜B4及び信号線C1〜C4)のいずれか一方を選択的に有効化するバススイッチ24を備え、プロセッサ21がバススイッチ24の選択を制御する。
【0057】
プロセッサ21は、車両1のIGスイッチがオフ状態からオン状態へ切り替えられた場合に、ESW22からフラッシュメモリ23のアクセス経路を有効化するようバススイッチ24の選択を制御する。これにより、IGスイッチがオフ状態からオン状態へ切り替えられてゲートウェイ2が動作を開始した際に、ESW22がフラッシュメモリ23から通信プログラムを読み出して通信に係る処理を開始することができる。またプロセッサ21は、ESW22がフラッシュメモリ23から通信プログラムを読み出した後、プロセッサ21からフラッシュメモリ23へのアクセス経路を有効化するようにバススイッチ24の選択を切り替える。これによりプロセッサ21は、サーバ装置5から更新用プログラムを取得した際に、この更新用プログラムをフラッシュメモリ23に記憶することができる。
【0058】
ESW22による通信プログラムの読み出しは、装置の起動後に一度行われればよい。このため、起動直後はESW22がフラッシュメモリ23にアクセスし、その後はプロセッサ21がフラッシュメモリ23にアクセスする構成とすることができ、プロセッサ21及びESW22によるフラッシュメモリ23へのアクセスが衝突することなく、フラッシュメモリ23の共有化を実現できる。
【0059】
またゲートウェイ2では、ESW22が実行する通信プログラムを更新することができる。フラッシュメモリ23には通信プログラムを記憶することができる第1の通信プログラム記憶領域及び第2の通信プログラム記憶領域を設け、いずれの記憶領域に記憶された通信プログラムをESW22が読み出すべきかを示す読み込みフラグを記憶する。ESW22は、読み込みフラグに示された記憶領域から通信プログラムを読み出して実行する。これにより、読み込みフラグに示されていない記憶領域には、ESW22の動作に影響を与えることなく、ESW22の更新用プログラムを記憶することができる。
【0060】
プロセッサ21は、サーバ装置5から取得したESW22の更新用プログラムを、読み込みフラグに示されていない記憶領域に記憶した後、この記憶領域からESW22が通信プログラムを読み出すよう読み込みフラグを更新する。これにより、次にESW22が通信プログラムを読み出す際には、プロセッサ21が取得してフラッシュメモリ23に記憶した更新用プログラムを通信プログラムとして読み出すこととなり、通信プログラムを更新することができる。
【0061】
なお本実施の形態においては、プロセッサ21及びESW22が共有するメモリをフラッシュメモリ23としたが、これに限るものではなく、例えばEEPROMなどのメモリ素子を用いたものであってよい。またメモリを共有するICをプロセッサ21及びESW22としたが、これに限るものではなく、これ以外の種々のICがメモリを共有する構成としてよい。また図4に示したバススイッチ24の回路構成は一例であり、これに限るものではない。
【符号の説明】
【0062】
1 車両
2 ゲートウェイ(車載中継装置)
3 ECU
4 無線通信装置
5 サーバ装置
21 プロセッサ(取得部、更新処理部)
22 ESW(通信IC)
23 フラッシュメモリ(共有メモリ)
24 バススイッチ(経路選択部)
24a,24b 論理積演算素子
24c バッファ素子
24d,24e 論理反転素子
A1〜A4,B1〜B4,C1〜C4 信号線
SWA1〜SWA4,SWB1〜SWB4 スイッチ
図1
図2
図3
図4
図5
図6
図7