(57)【要約】【課題】搭載されるメモリ素子の数の増大を抑制し得る車載中継装置、制御プログラム及びメモリ共有方法を提供する。【解決手段】本実施の形態に係る車載中継装置は、車両に搭載された複数の通信線が接続され、前記複数の通信線間の通信を中継する処理を行う車載中継装置において、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得する取得部、及び、該取得部が取得した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行う更新処理部を有するプロセッサと、通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行う通信ＩＣと、前記プロセッサ及び前記通信ＩＣがアクセス可能な共有メモリとを備え、前記共有メモリは、前記プロセッサの取得部が取得した更新用プログラムを記憶すると共に、前記通信ＩＣが実行する通信プログラムを記憶する。【選択図】図２
2018190223.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された複数の通信線が接続され、前記複数の通信線間の通信を中継する処理を行う車載中継装置において、
前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得する取得部、及び、該取得部が取得した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行う更新処理部を有するプロセッサと、
通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行う通信ＩＣ（Integrated Circuit）と、
前記プロセッサ及び前記通信ＩＣがアクセス可能な共有メモリと
を備え、
前記共有メモリは、前記プロセッサの取得部が取得した更新用プログラムを記憶すると共に、前記通信ＩＣが実行する通信プログラムを記憶すること
を特徴とする車載中継装置。
【請求項２】
前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ＩＣから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部を備え、
前記プロセッサは、前記経路選択部による経路の選択を制御すること
を特徴とする請求項１に記載の車載中継装置。
【請求項３】
前記プロセッサは、
前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ＩＣから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行い、
前記通信ＩＣが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行うこと
を特徴とする請求項２に記載の車載中継装置。
【請求項４】
前記共有メモリは、前記通信プログラムを記憶するための記憶領域が複数設けられると共に、いずれの記憶領域に記憶された前記通信プログラムを前記通信ＩＣが読み出すべきかを示す領域情報を記憶しており、
前記通信ＩＣは、前記領域情報にて示された前記共有メモリの記憶領域から前記通信プログラムを読み出すこと
を特徴とする請求項１乃至請求項３のいずれか１つに記載の車載中継装置。
【請求項５】
前記プロセッサは、前記取得部にて前記通信ＩＣのための更新用プログラムを取得して前記共有メモリのいずれかの記憶領域に記憶し、前記領域情報を更新すること
を特徴とする請求項４に記載の車載中継装置。
【請求項６】
車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサに、
前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得させ、
通信プログラムを実行して前記複数の通信線を介した通信に係る処理を行う通信ＩＣがアクセス可能な共有メモリに、取得した更新用プログラムを記憶する処理を行わせ、
前記共有メモリに記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行わせ、
前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ＩＣから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部による経路の選択を制御させること
を特徴とする制御プログラム。
【請求項７】
前記プロセッサに、
前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ＩＣから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせ、
前記通信ＩＣが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせること
を特徴とする請求項６に記載の制御プログラム。
【請求項８】
車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサ及び通信ＩＣがメモリを共有するメモリ共有方法であって、
前記プロセッサが、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得し、取得した更新用プログラムを共有メモリに記憶し、記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行い、
前記通信ＩＣが、前記共有メモリに記憶された通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行うこと
を特徴とするメモリ共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された複数の通信線が接続され、複数の通信線間の通信を中継する車載中継装置、制御プログラム及びメモリ共有方法に関する。
【背景技術】
【０００２】
従来、車両には多数のＥＣＵ（Electronic Control Unit）などの車載機器が搭載されている。これら複数の車載機器は、車両内に配された通信線を介して接続され、通信により種々の情報を交換することによって、協調動作を行っている。車載機器による通信のプロトコルには、例えばＣＡＮ（Controller Area Network）又はイーサネット（登録商標）等のプロトコルが採用されている。ＣＡＮの通信プロトコルでは、共通の通信線（ＣＡＮバス）に対して複数の車載機器が接続されるネットワーク構成が採用されるが、１つの通信線に接続可能な装置数には制限があるため、車両内に複数の通信線を設けて通信線間の通信を車載中継装置、いわゆるゲートウェイが中継する構成とされることが多い。またイーサネットの通信プロトコルでは、スター型のネットワーク構成が採用されており、１つの車載中継装置に複数の車載機器がそれぞれ通信線を介して接続され、車載中継装置が車載機器間の通信を中継する。
【０００３】
また近年では、車載機器においてプロセッサが実行するプログラムの更新を、無線通信を利用して遠隔で行う技術、いわゆるリモートリプログラミングが研究及び開発されている。この技術では、車両が携帯電話通信網又は無線ＬＡＮ（Local Area Network）等の無線通信にてサーバ装置との通信を行い、更新用プログラムをサーバ装置からダウンロードして取得し、取得した更新用プログラムを用いて更新対象の車載機器のプログラムを更新する。サーバ装置からの更新用プログラムの取得、及び、更新用プログラムの車載機器への送信等の処理を行う装置として、複数の通信線が接続された車載中継装置が好適である。
【０００４】
車載機器のプログラムを更新する技術として、例えば特許文献１においては、プログラムの更新に必要な蓄電器の蓄電必要量と蓄電器の蓄電残量とに基づいてプログラムの更新の可否を判定し、更新が可能であると判定した場合に更新対象の車載機器にプログラムの更新を開始させる車載中継装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１２７４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
車載機器のプログラムの更新に係る処理を車載中継装置が行う構成とした場合、車載中継装置にはサーバ装置から取得した更新用プログラムを一時的に記憶しておくための記憶装置が必要となる。このような記憶装置としては、例えばフラッシュメモリのような比較的に容量が大きく、データ書換可能な不揮発性のメモリ素子が採用され得る。
【０００７】
一方、車載中継装置は、例えばプロセッサ及びメモリ等のＩＣ（Integrated Circuit）が回路基板に多数搭載されて構成されている。近年では、車載中継装置の高機能化に伴って、搭載されるＩＣの増加又は高機能化が行われる。これにより、メモリに記憶されたプログラムを読み出して処理を行うという構成のＩＣが、車載中継装置の主のプロセッサ以外にも搭載されることがある。このようなＩＣは、プログラムを記憶しておくためのＲＯＭ（Read Only Memory）又はフラッシュメモリ等の不揮発性のメモリ素子を必要とするため、車載中継装置の回路基板に搭載されるメモリ素子の数を増大させる虞がある。
【０００８】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、搭載されるメモリ素子の数の増大を抑制し得る車載中継装置、制御プログラム及びメモリ共有方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る車載中継装置は、車両に搭載された複数の通信線が接続され、前記複数の通信線間の通信を中継する処理を行う車載中継装置において、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得する取得部、及び、該取得部が取得した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行う更新処理部を有するプロセッサと、通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行う通信ＩＣ（Integrated Circuit）と、前記プロセッサ及び前記通信ＩＣがアクセス可能な共有メモリとを備え、前記共有メモリは、前記プロセッサの取得部が取得した更新用プログラムを記憶すると共に、前記通信ＩＣが実行する通信プログラムを記憶することを特徴とする。
【００１０】
また、本発明に係る車載中継装置は、前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ＩＣから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部を備え、前記プロセッサは、前記経路選択部による経路の選択を制御することを特徴とする。
【００１１】
また、本発明に係る車載中継装置は、前記プロセッサが、前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ＩＣから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行い、前記通信ＩＣが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行うことを特徴とする。
【００１２】
また、本発明に係る車載中継装置は、前記共有メモリが、前記通信プログラムを記憶するための記憶領域が複数設けられると共に、いずれの記憶領域に記憶された前記通信プログラムを前記通信ＩＣが読み出すべきかを示す領域情報を記憶しており、前記通信ＩＣは、前記領域情報にて示された前記共有メモリの記憶領域から前記通信プログラムを読み出すことを特徴とする。
【００１３】
また、本発明に係る車載中継装置は、前記プロセッサが、前記取得部にて前記通信ＩＣのための更新用プログラムを取得して前記共有メモリのいずれかの記憶領域に記憶し、前記領域情報を更新することを特徴とする。
【００１４】
また、本発明に係る制御プログラムは、車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサに、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得させ、通信プログラムを実行して前記複数の通信線を介した通信に係る処理を行う通信ＩＣがアクセス可能な共有メモリに、取得した更新用プログラムを記憶する処理を行わせ、前記共有メモリに記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行わせ、前記プロセッサから前記共有メモリへのアクセス経路、又は、前記通信ＩＣから前記共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部による経路の選択を制御させることを特徴とする。
【００１５】
また、本発明に係る制御プログラムは、前記プロセッサに、前記車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合、前記通信ＩＣから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせ、前記通信ＩＣが前記共有メモリに記憶された前記通信プログラムを読み出した後、前記プロセッサから前記共有メモリへのアクセス経路を有効化するよう前記経路選択部による経路の選択を行わせることを特徴とする。
【００１６】
また、本発明に係るメモリ共有方法は、車両に搭載された複数の通信線間の通信を中継する処理を行う車載中継装置が備えるプロセッサ及び通信ＩＣがメモリを共有するメモリ共有方法であって、前記プロセッサが、前記通信線に接続された車載機器が実行するプログラムを更新するための更新用プログラムを取得し、取得した更新用プログラムを共有メモリに記憶し、記憶した更新用プログラムを前記車載機器へ送信することによりプログラムを更新させる処理を行い、前記通信ＩＣが、前記共有メモリに記憶された通信プログラムを実行して、前記複数の通信線を介した通信に係る処理を行うことを特徴とする。
【００１７】
本発明においては、車載中継装置が車載機器の更新用プログラムを取得し、取得した更新用プログラムを更新対象の車載機器へ送信することにより、この車載機器のプログラムを更新する。車載中継装置は、車載機器の更新処理を含む種々の処理を行うプロセッサと、通信に係る処理を行う通信ＩＣとを備える。通信ＩＣは、通信プログラムを実行することによって通信に係る処理を行う。
この構成において本発明に係る車載中継装置は、プロセッサ及び通信ＩＣが共にアクセス可能な共有メモリを備える。共有メモリには、プロセッサが取得した更新用プログラムを記憶すると共に、通信ＩＣが実行する通信プログラムを記憶する。これにより、プロセッサが更新用プログラムを記憶しておくためのメモリ素子と、通信ＩＣの通信プログラムを記憶しておくためのメモリ素子とを個別に備える必要がなく、車載中継装置が備えるメモリ素子数を低減できる。
【００１８】
また本発明において車載中継装置は、プロセッサから共有メモリへのアクセス経路、又は、通信ＩＣから共有メモリへのアクセス経路のいずれか一方を選択的に有効化する経路選択部を備え、プロセッサが経路選択部の選択を制御する。
例えばプロセッサは、車両のイグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられた場合に、通信ＩＣから共有メモリへのアクセス経路を有効化するよう経路選択部の選択を制御する。これにより、イグニッションスイッチ又はアクセサリスイッチがオフ状態からオン状態へ切り替えられ車載中継装置が動作を開始した際に、通信ＩＣが共有メモリから通信プログラムを読み出して通信に係る処理を開始することができる。またプロセッサは、通信ＩＣが共有メモリから通信プログラムを読み出した後、プロセッサから供給メモリへのアクセス経路を有効化するよう経路選択部の選択を制御する。これによりプロセッサは、更新用プログラムを取得した際に、この更新用プログラムを共有メモリに記憶することができる。
通信ＩＣによる通信プログラムの読み出しは、装置の起動後に一度行われればよい。このため、装置の起動直後は通信ＩＣが共有メモリにアクセスし、その後はプロセッサが共有メモリにアクセスする構成とすることができ、プロセッサ及び通信ＩＣによる共有メモリへのアクセスが衝突することなく、メモリの共有化を実現できる。
【００１９】
また本発明においては、通信ＩＣが実行する通信プログラムを更新することを可能とする。このために、共有メモリには通信プログラムを記憶することができる記憶領域を複数設けると共に、いずれの記憶領域に記憶された通信プログラムを通信ＩＣが読み出すべきかを示す領域情報を記憶する。通信ＩＣは、領域情報に示された記憶領域から通信プログラムを読み出す。これにより、領域情報に示されていない記憶領域には、通信ＩＣの動作に影響を与えることなく、通信ＩＣの更新用プログラムを記憶することができる。プロセッサは、取得した通信ＩＣのための更新用プログラムを、領域情報に示されていない共有メモリの記憶領域に記憶した後、この記憶領域から通信ＩＣが通信プログラムを読み出すよう領域情報を更新する。これにより、次に通信ＩＣが通信プログラムを読み出す際には、プロセッサが取得して共有メモリに記憶した更新用プログラムを通信ＩＣが通信プログラムとして読み出すこととなり、通信プログラムを更新することができる。
【発明の効果】
【００２０】
本発明による場合は、プロセッサが取得した更新用プログラムを記憶するメモリと、通信ＩＣが読み出す通信プログラムを記憶するメモリとを共通化することによって、車載中継装置が備えるメモリ素子数を低減できる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係る通信システムの構成を示す模式図である。
【図２】本実施の形態に係るゲートウェイの構成を示すブロック図である。
【図３】フラッシュメモリの記憶内容の一例を示す模式図である。
【図４】バススイッチの構成を示す回路図である。
【図５】ゲートウェイのプロセッサが行うバススイッチの切替制御処理の手順を示すフローチャートである。
【図６】ゲートウェイのプロセッサが行うＥＣＵの更新処理の手順を示すフローチャートである。
【図７】ゲートウェイのプロセッサが行うＥＳＷの更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
＜システム構成＞
図１は、本実施の形態に係る通信システムの構成を示す模式図である。本実施の形態に係る通信システムは、車両１に搭載された複数のＥＣＵ３がそれぞれ通信線を介してゲートウェイ２に接続された構成、いわゆるスター型のネットワーク構成である。また本実施の形態においては、ゲートウェイ２及びＥＣＵ３はイーサネットの通信プロトコルに従って通信を行うものとする。ただし通信プロトコルはイーサネットに限るものではなく、例えばＣＡＮ又はＦｌｅｘＲａｙ等の種々の通信プロトコルを採用し得る。
【００２３】
ゲートウェイ２は、例えば一のＥＣＵ３からメッセージを受信した場合に、このメッセージを一又は複数の他のＥＣＵ３へ送信することによって、複数のＥＣＵ３間のメッセージの送受信を中継する処理を行う。ＥＣＵ３は、例えば車両１のエンジンの動作を制御するＥＣＵ、車両１のボディ系装備の動作を制御するボディＥＣＵ、エアバッグの動作を制御するＥＣＵ、又は、ＡＢＳ（Antilock Brake System）の制御を行うＥＣＵ等のように、種々のＥＣＵであってよい。
【００２４】
またゲートウェイ２には、通信線を介して無線通信装置４が接続されている。無線通信装置４は、例えば携帯電話通信網又は無線ＬＡＮ等の無線ネットワークを利用することによって、車両１の外部に存在する種々の装置との間で通信を行うことができる。これにより、車両１に搭載されたゲートウェイ２及びＥＣＵ３は、無線通信装置４を介して、車両１外の装置との通信を行うことができる。本実施の形態においては、ゲートウェイ２が無線通信装置４を介して車両１の外部に設置されたサーバ装置５との間で通信を行う。
【００２５】
本実施の形態に係るゲートウェイ２は、ＥＣＵ３間のメッセージを中継する処理に加えて、ＥＣＵ３にて実行されるプログラムを更新する処理を行う。例えばゲートウェイ２は、車両１のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に無線通信装置４を介してサーバ装置５との間で通信を行い、車両１に搭載されたＥＣＵ３についてプログラムの更新を行う必要があるか否かを問い合わせる。サーバ装置５は、例えば車両１の製造会社又は販売会社等が運営する装置であり、車両１に搭載されたＥＣＵ３のプログラムのバージョン管理などを行うと共に、更新用プログラムを車両１へ配信する処理を行う。
【００２６】
プログラムの更新が必要であることがサーバ装置５から通知された場合、ゲートウェイ２は、サーバ装置５から更新用プログラムをダウンロードして取得し、取得した更新用プログラムを自身のメモリに記憶する。その後、ゲートウェイ２は、車両１のイグニッションスイッチがオフ状態へ切り替えられた後に、記憶しておいた更新用プログラムを、更新対象のＥＣＵ３へ送信する。ゲートウェイ２から更新用プログラムを受信したＥＣＵ３は、自身のメモリに記憶されているプログラムを受信した更新用プログラムに置き換えることによって、プログラムの更新を行う。
【００２７】
＜装置構成＞
図２は、本実施の形態に係るゲートウェイ２の構成を示すブロック図である。本実施の形態に係るゲートウェイ２は、プロセッサ２１、ＥＳＷ（イーサネットスイッチ）２２、フラッシュメモリ２３及びバススイッチ２４等を備えて構成されている。プロセッサ２１は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を有するＩＣであり、所定の制御プログラムを読み出して実行することによって通信の中継処理及びＥＣＵ３のプログラムの更新処理等の種々の処理を行う。本実施の形態においてプロセッサ２１は、自身が実行する制御プログラムを記憶した記憶部２１ａを内蔵しているものとするが、例えばプロセッサ２１が実行する制御プログラムを記憶したＲＯＭなどをゲートウェイ２が備えていてもよく、また例えば制御プログラムをフラッシュメモリ２３に記憶しておく構成としてもよい。プロセッサ２１が実行する制御プログラムは、例えばゲートウェイ２の製造工程などにおいて回路基板に搭載される前にプロセッサ２１の記憶部２１ａに対して直接的に書き込まれてもよく、ゲートウェイ２の通信機能を利用して書き込まれてもよい。また例えば制御プログラムは、メモリカード又は光ディスク等の記録媒体に記録されて提供され、ゲートウェイ２又は車両１に設けられたメモリカードスロット又は光ディスクドライブ等の装置にて記録媒体から制御プログラムを読み出してプロセッサ２１に記憶部２１ａに書き込まれる構成であってもよい。
【００２８】
本実施の形態においてプロセッサ２１は、車両１のイグニッションスイッチの状態を示すＩＧ信号又はアクセサリスイッチの状態を示すＡＣＣ信号が入力されており、ＩＧ信号又はＡＣＣ信号に応じて処理を行うことができる。またプロセッサ２１は、ＥＳＷ２２及びバススイッチ２４の動作を制御すると共に、フラッシュメモリ２３に対するデータの読み出し及び書き込みを行うことができる。プロセッサ２１は、ＥＣＵ３の更新処理に用いる更新用プログラムをサーバ装置５から取得してフラッシュメモリ２３に記憶する。
【００２９】
ＥＳＷ２２は、ゲートウェイ２に接続された複数の通信線を介して、これらの通信線に接続されたＥＣＵ３又は無線通信装置４との間でメッセージ（フレーム）の送受信を行う。ＥＳＷ２２は、いずれかの通信線にてＥＣＵ３又は無線通信装置４からのメッセージを受信した場合に、このメッセージに含まれるＭＡＣアドレスなどに基づいて中継先を判断し、中継先のＥＣＵ３又は無線通信装置４が接続された通信線からメッセージを送信することでメッセージを中継する。ＥＳＷ２２は、ＣＰＵ又はＭＰＵ等の演算処理装置を内蔵しており、この演算処理装置がフラッシュメモリ２３に記憶された通信プログラムを読み出して実行することにより、上記のような通信の中継処理を行う。
【００３０】
フラッシュメモリ２３は、電気的にデータの書き込み及び消去を行うことが可能な不揮発性のメモリ素子である。本実施の形態に係るゲートウェイ２では、フラッシュメモリ２３をプロセッサ２１及びＥＳＷ２３が共有している。フラッシュメモリ２３は、プロセッサ２１から与えられる更新用プログラムを記憶すると共に、ＥＳＷ２２が実行する通信プログラムを記憶している。
【００３１】
図３は、フラッシュメモリ２３の記憶内容の一例を示す模式図である。本実施の形態においてフラッシュメモリ２３には、読み込みフラグを記憶する領域と、第１の通信プログラム記憶領域と、第２の通信プログラム記憶領域と、更新用プログラム記憶領域とが設けられている。フラッシュメモリ２３の第１の通信プログラム記憶領域及び第２の通信プログラム記憶領域は、共にＥＳＷ２２が読み出して実行する通信プログラムを記憶するための領域である。フラッシュメモリ２３に記憶された読み込みフラグは、ＥＳＷ２２が第１の通信プログラム記憶領域又は第２の通信プログラム記憶領域のいずれから通信プログラムを読み出すべきかを示すフラグである。例えばＥＳＷ２２は、読み込みフラグの値が”０”である場合に第１の通信プログラム記憶領域から通信プログラムを読み出して実行し、読み込みフラグの値が”１”である場合に第２の通信プログラム記憶領域から通信プログラムを読み出して実行する。
【００３２】
即ち、フラッシュメモリ２３の第１の通信プログラム記憶領域及び第２の通信プログラム記憶領域は、一方がその時点でＥＳＷ２２により実行される通信プログラムが記憶された記憶領域であり、他方が予備の記憶領域である。この予備の記憶領域は、ＥＳＷ２２の通信プログラムを更新する際に用いられる。ＥＳＷ２２の通信プログラムの更新が必要となった場合、ゲートウェイ２のプロセッサ２１は、無線通信装置４による無線通信を利用してサーバ装置５から更新用プログラムを取得する。プロセッサ２１は、取得した更新用プログラムを、フラッシュメモリ２３の読み込みフラグにて指定されていない方の記憶領域に書き込む。更新用プログラムの書き込みが完了した後、プロセッサ２１は、更新用プログラムが記憶された方の記憶領域を読み出すべき記憶領域として指定するように、読み込みフラグの値を変更する。これによりＥＳＷ２２は、次回の起動時に更新された通信プログラムを読み出して実行することができる。
【００３３】
フラッシュメモリ２３の更新用プログラム記憶領域は、車両１のＥＣＵ３にて実行されるプログラムを更新するための更新用プログラムを記憶する領域である。ＥＣＵ３のプログラムの更新が必要となった場合、ゲートウェイ２のプロセッサ２１は、無線通信装置４による無線通信を利用してサーバ装置５からＥＣＵ３の更新用プログラムを取得する。プロセッサ２１は、取得した更新用プログラムを、フラッシュメモリ２３の更新用プログラム記憶領域に記憶する。その後、例えば車両１のイグニッションスイッチがオフ状態へ切り替えられた場合などの適宜のタイミングで、プロセッサ２１は、フラッシュメモリ２３の更新用プログラム記憶領域から更新用プログラムを読み出し、更新対象のＥＣＵ３へ送信する。ゲートウェイ２から更新用プログラムを受信したＥＣＵ３は、自身のメモリに記憶されているプログラムを受信した更新用プログラムに置き換えることによって、プログラムの更新を行う。
【００３４】
上述のようにゲートウェイ２のフラッシュメモリ２３は、プロセッサ２１及びＥＳＷ２２が共有する共有メモリである。ただし、プロセッサ２１及びＥＳＷ２２が同時にフラッシュメモリ２３へのアクセスを行うことはできない。このため、プロセッサ２１及びＥＳＷ２２とフラッシュメモリ２３との間にバススイッチ２４を設け、バススイッチ２４による選択を切り替えることによって、プロセッサ２１及びＥＳＷ２２のいずれか一方のみをフラッシュメモリ２３へのアクセスを可能とし、他方のフラッシュメモリ２３へのアクセスを禁止する。バススイッチ２４によるプロセッサ２１又はＥＳＷ２２の選択は、プロセッサ２１から与えられる制御信号により切り替えられる。
【００３５】
図４は、バススイッチ２４の構成を示す回路図である。なお図示の例では、フラッシュメモリ２３には４つの信号線Ｃ１〜Ｃ４が接続され、これらの信号線Ｃ１〜Ｃ４を介してフラッシュメモリ２３に対するデータの読み出し、書き込み及び消去等の制御を行うことができるものとする。このためフラッシュメモリ２３との信号の授受を行う信号線として、プロセッサ２１には４つの信号線Ａ１〜Ａ４が接続され、ＥＳＷ２２には４つの信号線Ｂ１〜Ｂ４が接続されている。バススイッチ２４には、これらの信号線Ａ１〜Ａ４，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４が接続されている。
【００３６】
バススイッチ２４は、プロセッサ２１に接続された信号線Ａ１〜Ａ４及びＥＳＷ２２に接続された信号線Ｂ１〜Ｂ４のいずれか一方を、選択的に信号線Ｃ１〜Ｃ４へ接続する。またバススイッチ２４の動作は、プロセッサ２１から出力される選択信号Ｓ及びイネーブル信号ＯＥＢの２つの制御信号によって制御される。バススイッチ２４は、選択信号Ｓの値が”０”（ローレベル）である場合に信号線Ａ１〜Ａ４を信号線Ｃ１〜Ｃ４に接続し、選択信号Ｓの値が”１”（ハイレベル）である場合に信号線Ｂ１〜Ｂ４を信号線Ｃ１〜Ｃ４に接続する。またバススイッチ２４は、イネーブル信号ＯＥＢの値が”０”である場合に、上記のような選択信号Ｓに応じた信号線の接続を行う。イネーブル信号ＯＥＢの値が”１”である場合には、バススイッチ２４は、信号線Ａ１〜Ａ４及び信号線Ｂ１〜Ｂ４のいずれも信号線Ｃ１〜Ｃ４に接続せず、プロセッサ２１及びＥＳＷ２２が共にフラッシュメモリ２３へアクセス不可能な状態とする。
【００３７】
例えばバススイッチ２４は、４つのスイッチＳＷＡ１〜ＳＷＡ４、４つのスイッチＳＷＢ１〜ＳＷＢ４、２入力１出力の２つの論理積演算素子２４ａ，２４ｂ、１つのバッファ素子２４ｃ、及び、２つの論理反転素子２４ｄ，２４ｅを用いて構成することができる。スイッチＳＷＡ１は信号線Ａ１及び信号線Ｃ１の接続／遮断を切り替えるスイッチであり、スイッチＳＷＡ２は信号線Ａ２及び信号線Ｃ２の接続／遮断を切り替えるスイッチであり、スイッチＳＷＡ３は信号線Ａ３及び信号線Ｃ３の接続／遮断を切り替えるスイッチであり、スイッチＳＷＡ４は信号線Ａ４及び信号線Ｃ４の接続／遮断を切り替えるスイッチである。スイッチＳＷＡ１〜ＳＷＡ４は、論理積演算素子２４ａの出力信号によって接続／遮断の状態が切り替えられる。
【００３８】
同様に、スイッチＳＷＢ１は信号線Ｂ１及び信号線Ｃ１の接続／遮断を切り替えるスイッチであり、スイッチＳＷＢ２は信号線Ｂ２及び信号線Ｃ２の接続／遮断を切り替えるスイッチであり、スイッチＳＷＢ３は信号線Ｂ３及び信号線Ｃ３の接続／遮断を切り替えるスイッチであり、スイッチＳＷＢ４は信号線Ｂ４及び信号線Ｃ４の接続／遮断を切り替えるスイッチである。スイッチＳＷＢ１〜ＳＷＢ４は、論理積演算素子２４ｂの出力信号によって接続／遮断の状態が切り替えられる。
【００３９】
プロセッサ２１が出力する選択信号Ｓは、バススイッチ２４のバッファ素子２４ｃへ入力される。バッファ素子２４ｃの出力信号は、論理反転素子２４ｅと、論理積演算素子２４ｂとに入力される。論理反転素子２４ｅの出力信号は、論理積演算素子２４ａに入力される。またプロセッサ２１が出力するイネーブル信号ＯＥＢは、バススイッチ２４の論理反転素子２４ｄへ入力される。論理反転素子２４ｄの出力信号は、論理積演算素子２４ａ及び２４ｄへそれぞれ入力される。
【００４０】
これにより、イネーブル信号ＯＥＢの値が”１”である場合、論理反転素子２４ｄの出力は”０”となり、論理積演算素子２４ａ及び２４ｂの一方の入力には”０”が入力されるため、論理積演算素子２４ａ及び２４ｂの出力は共に”０”となる。論理積演算素子２４ａ及び２４ｂの出力が”０”である場合、スイッチＳＷＡ１〜ＳＷＡ４及びスイッチＳＷＢ１〜ＳＷＢ４は遮断状態となり、信号線Ａ１〜Ａ４及び信号線Ｂ１〜Ｂ４が共に信号線Ｃ１〜Ｃ４に接続されない状態となる。
【００４１】
イネーブル信号ＯＥＢの値が”０”である場合、論理積演算素子２４ａ及び２４ｂの一方の入力には”１”が入力されるため、論理積演算素子２４ａ及び２４ｂの出力信号は、他方の入力の値により定まる。選択信号Ｓの値が”０”である場合、バッファ素子２４ｃの出力信号の値も”０”であり、論理反転素子２４ｅの出力信号の値”１”が論理積演算素子２４ａへ入力されると共に、バッファ素子２４ｃの出力信号の値”０”が論理積演算素子２４ｂへ入力される。これにより論理積演算素子２４ａの出力は”１”となりスイッチＳＷＡ１〜ＳＷＡ４が接続状態となり、論理積演算素子２４ｂの出力は”０”となりスイッチＳＷＢ１〜ＳＷＢ４が遮断状態となる。これに対して選択信号Ｓの値が”１”である場合、バッファ素子２４ｃの出力信号の値も”１”であり、論理反転素子２４ｅの出力信号の値”０”が論理積演算素子２４ａへ入力されると共に、バッファ素子２４ｃの出力信号の値”１”が論理積演算素子２４ｂへ入力される。これにより論理積演算素子２４ａの出力は”０”となりスイッチＳＷＡ１〜ＳＷＡ４が遮断状態となり、論理積演算素子２４ｂの出力は”１”となりスイッチＳＷＢ１〜ＳＷＢ４が接続状態となる。
【００４２】
このように、バススイッチ２４の２つの論理積演算素子２４ａ及び２４ｂは出力信号の値が共に”１”となることはなく、スイッチＳＷＡ１〜ＳＷＡ４及びスイッチＳＷＢ１〜ＳＷＢ４が共に遮断状態となることはないため、信号線Ａ１〜Ａ４及び信号線Ｂ１〜Ｂ４が同時に信号線Ｃ１〜Ｃ４に接続されることはない。
【００４３】
＜メモリ共有方法＞
本実施の形態に係るゲートウェイ２のプロセッサ２１は、車両１のＩＧ信号又はＡＣＣ信号のオン／オフ状態の切り替えに応じて、バススイッチ２４による通信線の選択の切替制御を行う。なお以下の例では、プロセッサ２１がＩＧ信号に応じてバススイッチ２４の制御を行うものとするが、ＡＣＣ信号に応じて制御を行ってもよい。プロセッサ２１がいずれの信号に応じて制御を行うかは、ＥＳＷ２２の起動がいずれの信号に応じて行われるかによる。本例では、ＩＧ信号がオン状態である場合にＥＳＷ２２が起動し、オフ状態である場合にＥＳＷ２２はスリープ又はスタンバイ等の待機状態となるものとする。更には、プロセッサ２１がＩＧ信号及びＡＣＣ信号以外の条件に応じてバススイッチ２４の切替制御を行う構成としてもよい。
【００４４】
ＩＧ信号がオフ状態である場合、プロセッサ２１は、例えばイネーブル信号ＯＥＢを”１”として、フラッシュメモリ２３へアクセスを行うことができない状態を維持する。ＩＧ信号がオフ状態からオン状態へ切り替えられた場合、プロセッサ２１は、イネーブル信号ＯＥＢを”０”とし、且つ、選択信号Ｓを”１”として、ＥＳＷ２２の信号線Ｂ１〜Ｂ４とフラッシュメモリ２３の信号線Ｃ１〜Ｃ４とを接続する。これによりＥＳＷ２２は、フラッシュメモリ２３へアクセスすることが可能となる。
【００４５】
ＥＳＷ２２は、ＩＧ信号がオフ状態からオン状態へ切り替えられることにより起動し、フラッシュメモリ２３に記憶された通信プログラムの読み出しを開始する。まずＥＳＷ２２は、フラッシュメモリ２３に対して読出命令を与えることにより、フラッシュメモリ２３に記憶された読み込みフラグの値を読み出す。次いでＥＳＷ２２は、読み出した読み込みフラグにて指定された第１の通信プログラム記憶領域又は第２の通信プログラム記憶領域のいずれかの記憶領域から、通信プログラムを読み出す。なおＥＳＷ２２が読み出した通信プログラムはＥＳＷ２２内に備えられたメモリに記憶され、ＥＳＷ２２内のＣＰＵなどがメモリに記憶された通信プログラムを実行する。
【００４６】
その後、ＥＳＷ２２は、フラッシュメモリ２３からの通信プログラムの読み出しを終えた場合に、読出完了をプロセッサ２１へ通知する。ＥＳＷ２２からの通知を受けたプロセッサ２１は、選択信号Ｓを”１”から”０”へ切り替えることによって、バススイッチ２４による信号線の選択を切り替える。これによりプロセッサ２１の信号線Ａ１〜Ａ４とフラッシュメモリ２３の信号線Ｃ１〜Ｃ４とが接続され、プロセッサ２１は、フラッシュメモリ２３へアクセスすることが可能となる。プロセッサ２１は、フラッシュメモリ２３の更新用プログラム記憶領域を利用してサーバ装置５から取得した更新用プログラムを一時的に記憶し、ＥＣＵ３のプログラムの更新処理を行う。
【００４７】
その後、プロセッサ２１は、ＩＧ信号がオン状態からオフ状態へ切り替えられた場合に、イネーブル信号ＯＥＢを”１”に変化させ、フラッシュメモリ２３へアクセスを行うことができない状態となるよう、バススイッチ２４の切り替えを行う。ただし、ＩＧ信号がオフになった後でＥＣＵ３のプログラムの更新処理を行う場合には、プロセッサ２１は、ＩＧ信号がオフ状態へ切り替えられた後もイネーブル信号ＯＥＢを”０”で維持し、フラッシュメモリ２３の更新用プログラム記憶領域に記憶された更新用プログラムの読み出しを行い、更新処理の終了後にイネーブル信号ＯＥＢを”１”に変化させる。
【００４８】
図５は、ゲートウェイ２のプロセッサ２１が行うバススイッチ２４の切替制御処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ２のプロセッサ２１は、車両１のＩＧスイッチがオフ状態からオン状態へ切り替えられたか否かを判定する（ステップＳ１）。ＩＧスイッチがオン状態へ切り替えられていない場合（Ｓ１：ＮＯ）、プロセッサ２１は、ＩＧスイッチがオン状態へ切り替えられるまで待機する。ＩＧスイッチがオン状態へ切り替えられた場合（Ｓ１：ＹＥＳ）、プロセッサ２１は、イネーブル信号ＯＥＢを”０”とし、選択信号Ｓを”１”とすることにより、フラッシュメモリ２３にアクセスする相手としてＥＳＷ２２を選択するようバススイッチ２４による選択を切り替える（ステップＳ２）。
【００４９】
次いでプロセッサ２１は、ＥＳＷ２２からの通知の有無に基づいて、ＥＳＷ２２によるフラッシュメモリ２３からの通信プログラムの読み出しが終了し、ＥＳＷ２２の起動が完了したか否かを判定する（ステップＳ３）。ＥＳＷ２２の起動が完了していない場合（Ｓ３：ＮＯ）、プロセッサ２１は、ＥＳＷ２２の起動が完了するまで待機する。ＥＳＷ２２の起動が完了した場合（Ｓ３：ＹＥＳ）、プロセッサ２１は、選択信号Ｓを”０”とすることにより、フラッシュメモリ２３にアクセスする相手としてプロセッサ２１を選択するようバススイッチ２４による選択を切り替えて（ステップＳ４）、処理を終了する。
【００５０】
図６は、ゲートウェイ２のプロセッサ２１が行うＥＣＵ３の更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ２のプロセッサ２１は、例えば車両１のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合などの所定のタイミングで、車両１に搭載されたＥＣＵ３のプログラムの更新の有無を、無線通信装置４による無線通信を利用してサーバ装置５に確認する（ステップＳ１１）。サーバ装置５からの応答に基づいてプロセッサ２１は、ＥＣＵ３のプログラムの更新の有無を判定する（ステップＳ１２）。ＥＣＵ３のプログラムの更新がない場合（Ｓ１２：ＮＯ）、プロセッサ２１は、処理を終了する。
【００５１】
ＥＣＵ３のプログラムの更新がある場合（Ｓ１２：ＹＥＳ）、プロセッサ２１は、無線通信装置４による無線通信を利用してサーバ装置５からＥＣＵ３の更新用プログラムを取得する（ステップＳ１３）。プロセッサ２１は、サーバ装置５から取得した更新用プログラムを、フラッシュメモリ２３の更新用プログラム記憶領域に記憶する（ステップＳ１４）。その後、プロセッサ２１は、車両１のＩＧスイッチがオフ状態へ切り替えられたか否かを判定する（ステップＳ１５）。ＩＧスイッチがオフ状態へ切り替えられていない場合（Ｓ１５：ＮＯ）、プロセッサ２１は、ＩＧスイッチがオフ状態へ切り替えられるまで待機する。ＩＧスイッチがオフ状態へ切り替えられた場合（Ｓ１５：ＹＥＳ）、プロセッサ２１は、フラッシュメモリ２３に記憶した更新用プログラムを読み出し、読み出した更新用プログラムを更新対象のＥＣＵ３へ送信することによって更新処理を行い（ステップＳ１６）、処理を終了する。
【００５２】
図７は、ゲートウェイ２のプロセッサ２１が行うＥＳＷ２２の更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ２のプロセッサ２１は、例えば車両１のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合などの所定のタイミングで、ＥＳＷ２２の通信プログラムの更新の有無を、無線通信装置４による無線通信を利用してサーバ装置５に確認する（ステップＳ２１）。サーバ装置５からの応答に基づいてプロセッサ２１は、ＥＳＷ２２の通信プログラムの更新の有無を判定する（ステップＳ２２）。ＥＳＷ２２の通信プログラムの更新がない場合（Ｓ２２：ＮＯ）、プロセッサ２１は、処理を終了する。
【００５３】
ＥＳＷ２２の通信プログラムの更新がある場合（Ｓ２２：ＹＥＳ）、プロセッサ２１は、フラッシュメモリ２３に記憶された読み込みフラグの値を読み出して、読み込みフラグの値を確認する（ステップＳ２３）。またプロセッサ２１は、無線通信装置４による無線通信を利用してサーバ装置５からＥＳＷ２２の更新用プログラムを取得する（ステップＳ２４）。プロセッサ２１は、ステップＳ２３での確認結果に基づいて、読み込みフラグにより指定された記憶領域以外の記憶領域に対して、ステップＳ２４にて取得した更新用プログラムを記憶する（ステップＳ２５）。更新用プログラムの記憶を終えた後、プロセッサ２１は、フラッシュメモリ２３に記憶された読み込みフラグの値を、更新用プログラムを記憶した記憶領域を指定する値に更新して（ステップＳ２６）、処理を終了する。
【００５４】
＜まとめ＞
以上の構成の本実施の形態に係る通信システムは、ゲートウェイ２がＥＣＵ３の更新用プログラムをサーバ装置５から取得し、取得した更新用プログラムを更新対象のＥＣＵ３へ送信することにより、このＥＣＵ３のプログラムを更新する。ゲートウェイ２は、ＥＣＵ３の更新処理を含む種々の処理を行うプロセッサ２１と、車両１内の通信線を介した通信に係る処理を行うＥＳＷ２２とを備える。ＥＳＷ２２は、フラッシュメモリ２３に記憶された通信プログラムを読み出して実行することにより、通信に係る種々の処理を行う。
【００５５】
この構成において本実施の形態に係るゲートウェイ２は、プロセッサ２１及びＥＳＷ２２が共にアクセス可能な共有メモリとして、フラッシュメモリ２３を備える。フラッシュメモリ２３には、プロセッサ２１が更新処理のためにサーバ装置５から取得した更新用プログラムを記憶すると共に、ＥＳＷ２２が実行する通信プログラムを記憶する。これにより、プロセッサ２１が更新用プログラムを記憶しておくためのメモリ素子と、ＥＳＷ２２が実行する通信プログラムを記憶しておくためのメモリ素子とを個別に備える必要がなく、ゲートウェイ２が備えるメモリ素子数を低減できる。
【００５６】
またゲートウェイ２は、プロセッサ２１からフラッシュメモリ２３へのアクセス経路（信号線Ａ１〜Ａ４及び信号線Ｃ１〜Ｃ４）、又は、ＥＳＷ２２からフラッシュメモリ２３へのアクセス経路（信号線Ｂ１〜Ｂ４及び信号線Ｃ１〜Ｃ４）のいずれか一方を選択的に有効化するバススイッチ２４を備え、プロセッサ２１がバススイッチ２４の選択を制御する。
【００５７】
プロセッサ２１は、車両１のＩＧスイッチがオフ状態からオン状態へ切り替えられた場合に、ＥＳＷ２２からフラッシュメモリ２３のアクセス経路を有効化するようバススイッチ２４の選択を制御する。これにより、ＩＧスイッチがオフ状態からオン状態へ切り替えられてゲートウェイ２が動作を開始した際に、ＥＳＷ２２がフラッシュメモリ２３から通信プログラムを読み出して通信に係る処理を開始することができる。またプロセッサ２１は、ＥＳＷ２２がフラッシュメモリ２３から通信プログラムを読み出した後、プロセッサ２１からフラッシュメモリ２３へのアクセス経路を有効化するようにバススイッチ２４の選択を切り替える。これによりプロセッサ２１は、サーバ装置５から更新用プログラムを取得した際に、この更新用プログラムをフラッシュメモリ２３に記憶することができる。
【００５８】
ＥＳＷ２２による通信プログラムの読み出しは、装置の起動後に一度行われればよい。このため、起動直後はＥＳＷ２２がフラッシュメモリ２３にアクセスし、その後はプロセッサ２１がフラッシュメモリ２３にアクセスする構成とすることができ、プロセッサ２１及びＥＳＷ２２によるフラッシュメモリ２３へのアクセスが衝突することなく、フラッシュメモリ２３の共有化を実現できる。
【００５９】
またゲートウェイ２では、ＥＳＷ２２が実行する通信プログラムを更新することができる。フラッシュメモリ２３には通信プログラムを記憶することができる第１の通信プログラム記憶領域及び第２の通信プログラム記憶領域を設け、いずれの記憶領域に記憶された通信プログラムをＥＳＷ２２が読み出すべきかを示す読み込みフラグを記憶する。ＥＳＷ２２は、読み込みフラグに示された記憶領域から通信プログラムを読み出して実行する。これにより、読み込みフラグに示されていない記憶領域には、ＥＳＷ２２の動作に影響を与えることなく、ＥＳＷ２２の更新用プログラムを記憶することができる。
【００６０】
プロセッサ２１は、サーバ装置５から取得したＥＳＷ２２の更新用プログラムを、読み込みフラグに示されていない記憶領域に記憶した後、この記憶領域からＥＳＷ２２が通信プログラムを読み出すよう読み込みフラグを更新する。これにより、次にＥＳＷ２２が通信プログラムを読み出す際には、プロセッサ２１が取得してフラッシュメモリ２３に記憶した更新用プログラムを通信プログラムとして読み出すこととなり、通信プログラムを更新することができる。
【００６１】
なお本実施の形態においては、プロセッサ２１及びＥＳＷ２２が共有するメモリをフラッシュメモリ２３としたが、これに限るものではなく、例えばＥＥＰＲＯＭなどのメモリ素子を用いたものであってよい。またメモリを共有するＩＣをプロセッサ２１及びＥＳＷ２２としたが、これに限るものではなく、これ以外の種々のＩＣがメモリを共有する構成としてよい。また図４に示したバススイッチ２４の回路構成は一例であり、これに限るものではない。
【符号の説明】
【００６２】
１  車両
２  ゲートウェイ（車載中継装置）
３  ＥＣＵ
４  無線通信装置
５  サーバ装置
２１  プロセッサ（取得部、更新処理部）
２２  ＥＳＷ（通信ＩＣ）
２３  フラッシュメモリ（共有メモリ）
２４  バススイッチ（経路選択部）
２４ａ，２４ｂ  論理積演算素子
２４ｃ  バッファ素子
２４ｄ，２４ｅ  論理反転素子
Ａ１〜Ａ４，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４  信号線
ＳＷＡ１〜ＳＷＡ４，ＳＷＢ１〜ＳＷＢ４  スイッチ
【図１】
2018190223.tif 000003
【図２】
2018190223.tif 000004
【図３】
2018190223.tif 000005
【図４】
2018190223.tif 000006
【図５】
2018190223.tif 000007
【図６】
2018190223.tif 000008
【図７】
2018190223.tif 000009