(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、車載装置がバッファリングする車両データが多様化しており、これらの車両データの全てをそのままサーバーに送信すると、通信負荷が増大してしまう虞がある。
【0005】
そこで、本発明は、車載装置がバッファリングする車両データをサーバーに送信する際の通信負荷を低減することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一局面によれば、車両に搭載される車載通信装置であって、
車内通信ネットワークに流れる複数種類の車両データをバッファリングするバッファ部と、
サーバーから受信する情報に基づいて、予めサーバ
ーによって規定された選別対象のCANデータのCAN−IDと、前記選別対象のCANデータの圧縮方法と
して、前記CANデータのうちの必要なデータ部分に対応した箇所を規定した
シフトテーブルを作成するテーブル作成部と、
前記テーブル作成部により作成された前記
シフトテーブルに基づいて、前記バッファ部によりバッファリングされた複数種類の前記車両データのうちから、前記選別対象のCANデータを選別し且つ選別した前記CANデータを
ニブル単位で削除及びシフトすることにより圧縮する送信データ生成部と、
前記送信データ生成部により圧縮された前記CANデータを、前記サーバーに送信する送信部とを含む、車載通信装置が提供される。
【発明の効果】
【0007】
本発明によれば、車載装置がバッファリングする車両データをサーバーに送信する際の通信負荷を低減できる。
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【0010】
図1は、情報収集システム1の一例を示す図である。
図2は、CANデータ及びシフトテーブル並びに圧縮処理後のデータの各一例を示す図である。情報収集システム1は、車載器21と、サーバー41とを含む。
【0011】
車載器21は、データ通信モジュール(DCM:Data Communication Module)211と、ECU(Electronic Control Unit)212とを含む。ECU212は、CAN(controller area network)90を介して、車両内の各種の電子部品(車速センサのようなセンサや、各種ECU)に接続される。
【0012】
データ通信モジュール211は、サーバー41と通信する。車載器21は、データ通信モジュール211を介してサーバー41と各種情報のやり取りを行う。
【0013】
ECU212は、バッファ部213と、テーブル作成部214と、送信データ生成部215と、送信部216とを含む。
【0014】
バッファ部213は、CAN90に流れる複数種類のCANデータをデータバッファ内にバッファリング(蓄積)する。データバッファは、例えば、RAM(Read Only Memory)により形成できるリングバッファ等である。バッファリング対象のCANデータは、例えば、予め規定された種類のCANデータである。バッファリング対象のCANデータは、例えば、ブレーキ制御に関するCANデータや、エンジン制御に関するCANデータや、各種車両支援制御に関するCANデータ等のような制御に関するデータを含んでよい。バッファリング対象のCANデータは、その他、ダイアグデータ、各種装置の状態に関するデータ、車両の挙動(速度、加速度等)に関するデータ等を含んでもよい。
【0015】
尚、CANプロトコルの標準フォーマットにおけるCANフレーム(データフレーム)は、図示しないが、SOF(Start Of Frame、1ビット)、ID(11ビット)、RTR(1ビット)、コントロールフィールド(6ビット)、データフィールド(0〜64ビット)、CRCシーケンス(15ビット)、CRCデリミタ(1ビット)、ACKスロット(1ビット)、ACKデリミタ(1ビット)、EOF(End Of Frame、7ビット)から構成される。CANフレームにより送信されるCANデータ(以下、「CANデータ本文」ともいう)は、データフィールドに含まれ、CANフレームは、1バイト単位で最大8バイトのデータまで送信できる。CANフレームに含まれるCANデータの長さは、コントロールフィールド内の4ビットのDLC(Data Length Code)により0〜8の間で設定される。
【0016】
テーブル作成部214は、サーバー41から受信するマスク情報に基づいて、シフトテーブル101(
図2参照)を作成する。シフトテーブル101は、
図2に示すように、収集対象(選別対象)のCANデータのCAN−ID(Identification)と、シフト態様(圧縮方法)を示す"0"と"1"の列を含む。尚、サーバー41からのマスク情報には、シフトテーブル101を生成するために必要な全ての情報が含まれる。例えば、マスク情報は、実質的にシフトテーブル101そのものであってもよい。シフトテーブル101は、EEPROM(Electrically Erasable Programmable Read−Only Memory)等のような、車載器21内の不揮発メモリ(図示せず)に記憶される。
【0017】
送信データ生成部215は、シフトテーブル101に基づいて、バッファ部213によりバッファリングされた複数種類のCANデータのうちから、収集対象の種類のCANデータを選別し、該選別したCANデータを圧縮する。より具体的には、送信データ生成部215は、バッファ部213によりバッファリングされた複数種類のCANデータのうちから、シフトテーブル101に規定されたCAN−IDを持つCANデータを選別して抽出する。そして、送信データ生成部215は、抽出したCANデータを、シフトテーブル101に規定されたシフト態様に従って圧縮する。送信データ生成部215は、圧縮したCANデータを出力バッファに送信する。
【0018】
例えば、
図2には、バッファ部213によりバッファリングされた複数種類のCANデータ102(本例では、時刻396ms〜408msまでの期間分)が示されている。
図2では、CANデータ102は、各時刻で、1つのCAN−IDに係るデータ(CANデータ本文)を有しているが、実際には、各時刻で、多数のCAN−IDに係るデータ(CANデータ本文)を有しうる。
図2に示す例では、シフトテーブル101に示すように、CANデータ102の全てのCANデータは、選別対象である。CANデータ102に係るCANデータ本文を、シフトテーブル101に従って圧縮すると、圧縮処理後のデータ103が得られる。
図2では、ニブル(十六進表記の1桁)単位で圧縮が実行されている。具体的には、シフトテーブル101の"0"が記載されている個所はニブル単位で削除/シフトされる。例えば、CAN−ID"0x024"は、シフトテーブル101に記述されており、選別対象である。このとき、CAN−ID"0x024"のCANデータ本文"02 5F 01 B0 61 F4 00 00"(十六進表記)は、シフトテーブル101に記述されたシフト態様"01 11 01 11 11 11 00 00"に従って、"0"が記載されている個所のデータ部分はニブル単位で削除し、残されたデータ部分が、削除されたデータ部分の位置へシフトされる(上位へシフトされる)。この結果、データ103に示すように、"25 F1 B0 61 F4"に圧縮される。尚、圧縮した際、最終バイトが4ビット端数になった場合、上位4ビットに格納して下位4ビットを0詰めする。即ち、データ103における
図2における時刻400msに係るデータ部は、最下位及びその次の下位4ビットのそれぞれに"0"が割り当てられる(P参照)。
【0019】
送信部216は、送信データ生成部215により圧縮されたCANデータ(出力バッファ内のCANデータ)を、データ通信モジュール211を介してサーバー41に送信する。
【0020】
図3は、ECU212により実行される処理の一例を示すフローチャートである。
【0021】
図3に示す処理が開始されると、タイマが起動される(ステップS300)。タイマの起動が成功しない場合は、ステップS304でリトライ回数が所定回数(例えば3回)になるまでリトライする。リトライ回数が所定回数になると(ステップS304のYES)、異常終了となる。
【0022】
タイマの起動が成功したときは、ステップS306に進み、タイマが所定値(例えば、100ms〜500msの間の任意の値)の整数倍を超えるのを待機する状態となる。タイマが所定値を超えると(ステップS306のYES)、データバッファ内に蓄積されたCANデータを1フレーム分取得する(ステップS308)。このとき、データバッファ内の取得されたフレームはクリアする(ステップS310)。そして、取得したフレームのCAN−IDを抽出し(ステップS312)、抽出したCAN−IDがシフトテーブル(
図2参照)に規定されているか否かを判定する。抽出したCAN−IDがシフトテーブル(
図2参照)に規定されていないときは(ステップS314のNO)、ステップS328に進む。
【0023】
抽出したCAN−IDがシフトテーブル(
図2参照)に規定されているときは(ステップS314のYES)、シフトテーブルに従って、ステップS308で取得したCANデータを圧縮する(ステップS316〜ステップS324)。具体的には、1ニブル単位で、シフトテーブルと照合し(ステップS316)、シフトテーブルのニブルが"0"のとき(ステップS318のYES)、CANデータの当該ニブルを削除し(ステップS320)、1ニブル分のデータをシフトする(ステップS322)。このようにして、シフトテーブルの全ニブルの照合が完了したとき(ステップS324のYES)、ステップS308で取得したCANデータの圧縮が完了し、ステップS326に進む。
【0024】
ステップS308で取得したCANデータの圧縮が完了すると、ステップS308で取得した1フレーム分のCANデータが出力バッファに送信される(ステップS326)。以上のステップS306〜ステップS326はデータバッファに蓄積されるCANデータが無くなるまで(ステップS328のYES)実行される。
【0025】
本実施例によれば、とりわけ、以下のような効果が奏される。
【0026】
本実施例によれば、バッファ部213により蓄積された各種のCANデータは、上述のように、全てがそのままサーバー41に送信されるのではなく、シフトテーブルに基づいて選別され且つ圧縮されてからサーバー41に送信される。これにより、バッファ部213により蓄積された各種のCANデータが全てそのままサーバー41に送信される比較例に比べて、通信負荷を低減できる。また、これに伴い、車載器21における情報収集システム1用のストレージ容量やサーバー41における情報収集システム1用のストレージ容量を低減できる。また、比較例とは異なり、車載器21から送られてくる多様なCANデータの中から所望のCANデータを選別する選別処理がサーバー41側で不要となるので、サーバー41側の処理負荷を低減できる。また、CANデータは所定の圧縮方法(シフトテーブルに規定の圧縮方法)に従って圧縮されるので、平文でCANデータがサーバーに送られる比較例に比べて、送信データの秘匿性を高めることができる。これは、特に高い秘匿性が求められるCANデータ(制御データを含みうるので)に対して有用な効果となる。尚、サーバー41では、シフトテーブルの元データであるマスク情報に基づいて、受信したCANデータを復号(解凍)できる。また、シフトテーブルは、収集対象のCANデータのうちの、必要なデータ部分に対応した箇所が"1"となるように作成できるので、サーバー41では、必要な情報を過不足なく取得できる。
【0027】
また、本実施例によれば、シフトテーブルは上述のようにサーバー41からの情報に基づいて作成されるので、シフトテーブルの中身を容易に変更(追加、削除等)することができる。これにより、収集対象のCANデータの変更等に機動的に対応できる。
【0028】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。