(57)【要約】【課題】バス負荷を低下できるようにした通信システムを構成する電子制御装置を提供する。【解決手段】ＥＣＵ３は、送信フレーム１０１〜１０３に本来のデータを割り当てた領域を除く空領域に他のデータαを分割して割り当て、本来のデータ及び割り当てられた分割データα８〜α５、α４〜α３、α２〜α０を送信フレーム１０１〜１０３として送信する。ＥＣＵ４のマイコン１０は、受信フレーム１０１〜１０３の中から本来のデータと他のデータαの分割データα８〜α５、α４〜α３、α２〜α０とを識別し、分割データα８〜α５、α４〜α３、α２〜α０から割当先情報に基づいて復元データαＺを生成する。【選択図】図９
2018046547.tif 000002
【特許請求の範囲】
【請求項１】
送信ノード（３）が予め規定されるフォーマットの送信フレーム内に第１データを格納してネットワーク（２）に送信し、受信ノード（４）が前記第１データをネットワークを通じて受信フレームとして受信する通信システム（１）であり、前記送信ノードを構成する電子制御装置（３）であって、
前記送信フレームに第１データを割り当てた領域を除く空領域に他の第２データを分割して割り当てる割当部（１３）と、
前記割当部により割り当てられた分割データ及び第１データを送信フレームとして送信する送信部（１２）と、を備える電子制御装置（３）。
【請求項２】
送信ノード（３）が予め規定されるフォーマットの送信フレーム内に第１データを格納してネットワーク（２）に送信し、受信ノード（４）が前記第１データをネットワークを通じて受信フレームとして受信する通信システム（１）であり、前記受信ノードを構成する電子制御装置（４）であって、
前記送信ノードが、前記送信フレームに第１データを割り当てた領域を除く空領域に他の第２データを分割して割り当てる割当部（１３）と、前記割当部により割り当てられた分割データ及び第１データを送信フレームとして送信する送信部（１２）と、を備えるときに、
前記受信フレームの中から前記第１データと前記第２データの分割データとを識別する識別部（１９）と、
前記分割データから割当先情報に基づいて復元データ（αＺ、βＺ）を生成する復元部（２０）と、を備える電子制御装置（４）。
【請求項３】
請求項１または２記載の電子制御装置（３、４）において、
前記第１データは識別番号毎に送受信されるデータであって、
前記送信フレームの空領域と分割データの割当先は識別番号毎に予め定められており、
前記送信フレーム内における空領域の情報及び前記第１データ及び前記第２データの分割データの割当先情報は、前記送信ノードと前記受信ノードとの間で管理テーブル（１４，１１４，３１４，４１４）により共有化されている電子制御装置。
【請求項４】
請求項１から３の何れか一項に記載の電子制御装置（３、４）において、
前記第２データは複数のビットにより構成され、
前記割当部は、前記分割データを１ビット以上とした状態で前記送信フレームの空領域に割り当てる電子制御装置。
【請求項５】
請求項１から４の何れか一項に記載の電子制御装置（３、４）において、
前記割当部は、１つの前記送信フレームの内に空領域が離間して複数存在する場合には前記第２データを前記１つの送信フレームの内に離間して割り当てる電子制御装置。
【請求項６】
請求項１から５の何れか一項に記載の電子制御装置（３、４）において、
前記送信フレームは複数備えられると共に、前記複数の送信フレームはそれぞれ空領域を備え、
前記割当部は、前記複数の送信フレームの空領域に１つの前記第２データを分割して割り当てる電子制御装置。
【請求項７】
請求項１から６の何れか一項に記載の電子制御装置（３、４）において、
前記割当部は、前記１つの送信フレームにシリアルナンバーと共に当該シリアルナンバー毎に規定された空領域に第２データを分割して割り当て、
前記送信部は、前記シリアルナンバーを変更した前記１つの送信フレームを複数回送信する電子制御装置。
【請求項８】
請求項１または２記載の電子制御装置（３、４）において、
前記分割される第２データが複数存在し、
前記送信部が、複数の送信フレームを用いて複数の第２データを送信するときには、
前記割当部は、前記複数の第２データの分割データを前記複数の送信フレームの空領域にそれぞれ分けて割り当てる電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
例えばＣＡＮ（Controller Area Network：登録商標）は、自動車内のパワートレイン系やボディ系など様々な部分に使用される車載ネットワークであり、複数の電子制御装置をバス接続することによって互いに通信できるようになる（例えば、特許文献１参照）。この特許文献１には、ＣＡＮ通信方法の基本的処理が記載されており、特に複数のノードのうち特定のノード間におけるデータ通信を同期化させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２６４５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載のように、ＣＡＮ通信処理を適用した場合には、ＣＡＮのデータフレームに空領域を生じることがある。近年、複数のノード間で送受信すべきデータ量が増加する傾向にあり、バス負荷が高負荷となりつつある。このため、バス負荷を低減できるようにした通信システムの構築が望まれている。
【０００５】
本発明の目的は、バス負荷を低減できるようにした通信システムを構成する電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、送信ノードが予め規定されるフォーマットの送信フレーム内に第１データを格納してネットワークに送信し、受信ノードが第１データをネットワークを通じて受信フレームとして受信する通信システムを対象としている。請求項１記載の送信ノードを構成する電子制御装置は、送信フレームに第１データを割り当てた領域を除く空領域に他の第２データを分割して割り当てる割当部と、割当部により割り当てられた分割データ及び第１データを送信フレームとして送信する送信部と、を備える。
【０００７】
割当部は第１データを割り当てた領域を除く空領域に他の第２データを分割して割り当てるため、予め規定されるフォーマットの領域内の空領域を活用することができる。このため、空領域を有効活用できるようになる。第２データを別途送信フレームとして送信する必要がなくなり、バス負荷を低減できる。
【０００８】
また、請求項２記載の発明によれば、識別部が、受信フレームの中から前記第１データと前記第２データの分割データとを識別し、分割データから割当先情報に基づいて復元データを生成する。これにより、データを復元できる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態における通信システムの構成例
【図２】電子制御装置の電気的構成図
【図３Ａ】送信ノードとなる電子制御装置の電気的構成を機能的に示す図
【図３Ｂ】受信ノードとなる電子制御装置の電気的構成を機能的に示す図
【図４】ＣＡＮに用いられるデータフレームの通信データフォーマットの一部を示す図
【図５】管理テーブルの内容を示す図
【図６】他のデータ例
【図７】送信ノードの処理を概略的に示すフローチャート
【図８】受信ノードの処理を概略的に示すフローチャート
【図９】送受信処理のイメージを概略的に示す図
【図１０】データの復元結果を示す図
【図１１】第２実施形態における他のデータ例
【図１２】送受信処理のイメージを概略的に示す図
【図１３】データの復元結果を示す図
【図１４】第３実施形態における管理テーブルの内容を示す図
【図１５】他のデータ例
【図１６】送信ノードの処理を概略的に示すフローチャート
【図１７】受信ノードの処理を概略的に示すフローチャート
【図１８】送受信処理のイメージを概略的に示す図
【図１９】データの復元結果を示す図
【図２０】他のデータ例
【図２１】管理テーブルの内容を示す図
【図２２】送信ノードの処理を概略的に示すフローチャート
【図２３】受信ノードの処理を概略的に示すフローチャート
【図２４】送受信処理のイメージを概略的に示す図
【図２５】データの復元結果を示す図
【発明を実施するための形態】
【００１０】
図１から図１０は第１実施形態の説明図を示している。図１に通信システム１の構成例を示す。車載ネットワーク（以下ネットワークと略す）２には、例えばＣＡＮ（Controller Area Network：登録商標）のプロトコルが採用されている。ＣＡＮは、相互接続された機器間のデータ伝送に用いられる通信プロトコルを採用した閉じられた車載ネットワークである。このネットワーク２には様々な電子制御装置（ＥＣＵ：Electronic Control Unit）、すなわち、ＥＣＵ＿Ａ３、ＥＣＵ＿Ｂ４、ＥＣＵ＿Ｃ５（以下ＥＣＵ３、４、５と略す）が接続されている。これらのＥＣＵ３〜５は、ネットワーク２に接続されており相互に通信可能である。これらの多数のＥＣＵ３〜５は、他のＥＣＵと連携動作することで車両内の様々な制御を行う。ネットワーク２には、悪意を持った第三者が不正に機器を接続することも想定されるため、図１には不正機器６を破線を用いて図示している。
【００１１】
図２に示すように、ＥＣＵ３〜５は、ＣＰＵ７、ＲＯＭ８、ＲＡＭ９、その他のメモリ（例えばバックアップＲＡＭ、ＥＥＰＲＯＭ等：図示せず）を有するマイクロコンピュータ（以下マイコン）１０と、ＣＡＮによる通信コントローラ１１と、を備える。以下、ＲＯＭ８、ＲＡＭ９、その他のメモリ（例えばバックアップＲＡＭ、ＥＥＰＲＯＭ）をメモリと総称して説明を行う。通信コントローラ１１は、例えばＣＡＮによりネットワーク２との通信接続を行う。ＥＣＵ（例えば３）のマイコン１０は、通信コントローラ１１と接続し、ネットワーク２に接続される他のＥＣＵ（例えば４又は５）との間で通信接続する。
【００１２】
図３Ａは、ＥＣＵ３を送信ノードとして考慮した場合を機能的に図示しているものである。ＣＰＵ７はメモリに記憶されたプログラムを実行することで、送信部１２、割当部１３としての機能を備えており、メモリ内にＣＡＮフォーマットの管理テーブル１４の記憶領域を備える。また、図３Ｂは、ＥＣＵ４を受信ノードとして考慮した場合を機能的に図示しているものであり、ＣＰＵ７はメモリに記憶されたプログラムを実行することで、識別部１９及び復元部２０、としての機能を備え、メモリ内にＣＡＮフォーマットの管理テーブル１４の記憶領域を備える。
【００１３】
図４は、ＣＡＮに用いられるデータフレームのフォーマットを示す。データフレーム１５は、アービトレーションフィールド１６、データを格納するデータフィールド１７、を含むフォーマット領域に分けられている。例えば、データフレーム１５は、その他のフィールドも備えるが、その説明は割愛する。
【００１４】
アービトレーションフィールド１６は、データの種類と優先順位を表すフィールドであり、通常１１ビットのＩＤ（識別番号相当：所謂ＣＡＮＩＤ）を格納するフィールドとなっている。データフィールド１７は、実際に送受信するデータを格納するフィールドであり、実質的にはＤＬＣの設定によって８ビット単位で最大６４ビットで規定される。このように、データは、ＣＡＮＩＤ、すなわち識別番号毎に送受信するデータとなっており、データフィールド１７は８ビット単位でデータを送信可能とされている。
【００１５】
また、ＣＡＮのプロトコルにおいて、データフレーム１５の内部ビット情報はＣＡＮＩＤ毎に決定されている。このため、図５に示すように、ＣＡＮの管理テーブル１４が各ＥＣＵ３〜５に用意されている。この図５に示す例を説明する。ＣＡＮＩＤが１０１の場合、１バイト中の上位４ビットは、使用ビット、すなわち使用領域として規定され、本来のＣＡＮＩＤ１０１のデータ（第１データ相当）の格納領域として規定されている。また、ＣＡＮＩＤが１０１の場合、下位４ビットは空きビット、すなわち空領域として規定されている。
【００１６】
ＣＡＮＩＤが１０２の場合、１バイト中の上位６ビットは使用ビットとして本来のＣＡＮＩＤ１０２のデータの格納領域として規定されるものの、下位２ビットは空きビットとして規定されることを示している。また、ＣＡＮＩＤが１０３の場合、１バイト中の上位２ビット及び下位３ビットは使用ビットとして本来のＣＡＮＩＤ１０３のデータの格納領域として規定されるものの、中位３ビットは空きビットとして規定されることを示している。以下では、このようにＣＡＮＩＤの１０１〜１０３が割り当てられたフレームをフレーム１０１〜１０３と称して説明を行う。
【００１７】
本実施形態は、他のデータ（第２データ相当）αを空きビット、すなわちフレーム１０１〜１０３の空きビットに設定するところを特徴としている。図６は他のデータαの例を示している。他のデータαは、例えば９ビットで用意されている例を示すが、情報量はこれに限定されるものではない。以下では、従来技術を用いるとデータフレーム１０４として送信すべき９ビットのデータαを、ＥＣＵ３のマイコン１０がフレーム１０１〜１０３の空きビットに設定し、ＥＣＵ４のマイコン１０がこの空きビットに設定されたデータαを復元する処理の形態を示す。
【００１８】
図５に示す管理テーブル１４において、各フレーム１０１〜１０３の空きビットには他のデータαのビットα８〜α０がそれぞれ割当てられている。例えば、ＣＡＮＩＤが１０１の場合には、下位４ビットの空きビットにデータαの上位４ビットα８〜α５が割当てられている。またＣＡＮＩＤが１０２の場合には、下位２ビットの空きビットにデータαの中位２ビットα４〜α３が割当てられている。さらにＣＡＮＩＤが１０３の場合には、中位３ビットの空きビットにデータαの下位３ビットα２〜α０が割当てられている。各ＥＣＵ３〜５は、このＣＡＮの管理テーブル１４を保持することで、ネットワーク２の通信上の規則を確立している。
【００１９】
以下の説明では、送信側のＥＣＵ３をデータフレームの送信ノードとし、受信側のＥＣＵ４をデータフレームの受信ノードとして説明を行う。図７は送信側のＥＣＵ３、すなわち送信ノードの送信処理を示し、図８は受信側のＥＣＵ４、すなわち受信ノードの受信処理を示している。
【００２０】
図７に示すように、ＥＣＵ３のマイコン１０は、Ｔ１においてフレーム１０１〜１０３を作成する。ここでは、マイコン１０は管理テーブル１４を参照し、当該管理テーブル１４に「使用」と定められたフレーム１０１〜１０３の各ビットへデータを設定することでフレーム１０１〜１０３をそれぞれ作成する。
【００２１】
その後、ＥＣＵ３のマイコン１０は、Ｔ２においてフレーム１０４の更新周期時間を経過したか否かを判定する。そして、ＥＣＵ３のマイコン１０は、更新周期時間を経過していなければＴ２でＮＯと判定し、Ｔ３において更新周期カウンタをカウントアップしてＴ４においてフレーム１０１〜１０３を送信する。
【００２２】
ＥＣＵ３のマイコン１０は、Ｔ２においてフレーム１０４の更新周期時間が経過するとＴ２でＹＥＳと判定し、Ｔ５においてフレーム１０４のデータを更新する。このとき、図６に示すフレーム１０４として９ビットの他のデータαを得る。その後、ＥＣＵ３のマイコン１０は、管理テーブル１４を参照し、Ｔ６〜Ｔ８において当該管理テーブル１４に空きビットと定められた各ビットへデータを設定する。例えば、ＥＣＵ３のマイコン１０は、Ｔ６においてフレーム１０１の空き４ビットにフレーム１０４の上位４ビットを設定する。また、例えば、ＥＣＵ３のマイコン１０は、Ｔ７においてフレーム１０２の空き２ビットにフレーム１０４の中位２ビットを設定する。
【００２３】
また、例えば、ＥＣＵ３のマイコン１０は、Ｔ８においてフレーム１０３の空き３ビットにフレーム１０４の下位３ビットを設定する。そして、ＥＣＵ３のマイコン１０はＴ９においてフレーム１０４の更新周期カウンタをクリアする。そしてＥＣＵ３のマイコン１０は、Ｔ４においてフレーム１０１〜１０３をネットワーク２に出力することで送信する。これにより、他のデータαをフレーム１０４としてネットワーク２に出力することなく他のデータαを送信できる。
【００２４】
他方、図８に示すように、受信ノードとなるＥＣＵ４のマイコン１０は、Ｒ１〜Ｒ３においてネットワーク２からフレーム１０１〜１０３を受信待機する。ＥＣＵ４のマイコン１０がフレーム１０１を受信したときにはＲ１でＹＥＳと判定し、管理テーブル１４を参照し、Ｒ４ａにおいてフレーム１０１のうちの使用ビットについてＣＡＮＩＤ１０１のデータとして受付け、Ｒ４ｂにおいてフレーム１０１のデータフィールドの下位４ビット、すなわちビットbit3〜bit0を復元データαＺの記憶領域の上位４ビットに設定する。これにより、受信フレーム１０１の中から本来のＣＡＮＩＤ１０１のデータと他のデータαの分割データα８〜α５とを識別することができる。そして、ＥＣＵ４のマイコン１０は、Ｒ５においてフレーム１０１を受信済みとするフラグを設定する。
【００２５】
また、マイコン１０がフレーム１０２を受信したときにはＲ２でＹＥＳと判定し、管理テーブル１４を参照し、Ｒ６ａにおいてフレーム１０２内の使用ビットについてＣＡＮＩＤ１０２のデータとして受け付け、Ｒ６ｂにおいてフレーム１０２のデータフィールドの下位２ビット、すなわちビットbit1,bit0を復元データαＺの記憶領域の中位２ビットに設定する。これにより、受信フレーム１０２の中から本来のＣＡＮＩＤ１０２のデータと他のデータαの分割データα４，α３とを識別することができる。そして、ＥＣＵ４のマイコン１０は、Ｒ７においてフレーム１０２を受信済みとするフラグを設定する。
【００２６】
また、マイコン１０がフレーム１０３を受信したときにはＲ３でＹＥＳと判定し、管理テーブル１４を参照し、Ｒ８ａにおいてフレーム１０３内の使用ビットについて本来のＣＡＮＩＤ１０３のデータとして受付け、Ｒ８ｂにおいてフレーム１０３のデータフィールドの中位３ビット、すなわちビットbit5〜3を復元データαＺの記憶領域の下位３ビットに設定する。これにより、受信フレーム１０３の中から本来のＣＡＮＩＤ１０３のデータと他のデータαの分割データα２〜α０とを識別することができる。ＥＣＵ４のマイコン１０は、Ｒ８ａ，Ｒ８ｂの処理を行った後、Ｒ９において全てのフレーム１０１〜１０２を受信済みであるか否かを判定し、全てのフレーム１０１〜１０２を受信済であるときに限り、Ｒ１０において復元データαＺを作成する。
【００２７】
Ｒ９において、ＥＣＵ４のマイコン１０は全てのフレーム１０１〜１０２を受信済みでない場合には、Ｒ９でＮＯと判定し、さらにフレーム１０１〜１０３を待機し再度Ｒ３においてフレーム１０３を受信したときにフレーム１０１〜１０２を全て受信済であるか否かを判定し、フレーム１０１〜１０２を全て受信済みとしたときにＲ１０において復元データαＺを作成する。
【００２８】
ＥＣＵ４のマイコン１０は、Ｒ１０においてフレーム１０１で受信した上位４ビットとフレーム１０２で受信した中位２ビットとフレーム１０３で受信した下位３ビットを合成して復元データαＺを作成する。そしてＥＣＵ４のマイコン１０は、フレーム１０１〜１０２の受信データを無とする、このとき、Ｒ５及びＲ７にて受信済みとして設定されたフラグをクリアする。これにより、復元データαＺを生成できる。
【００２９】
図９は送受信処理のイメージを示している。図９に示すように、ＥＣＵ３が送信フレームとしてフレーム１０１〜１０３をネットワーク２に出力し、ＥＣＵ４が受信フレームとしてフレーム１０１〜１０３を全て受信する。前述したように、フレーム１０１〜１０３の各空きビットはデータαの各ビットに対応するように予め管理テーブル１４に定められている。このため、送信側のＥＣＵ３のマイコン１０は管理テーブル１４を参照することで何れの空きビットに他のデータαの各ビットデータα８〜α０を挿入するべきか把握でき、また、受信側のＥＣＵ４のマイコン１０は、管理テーブル１４を参照することで何れの空きビットに他のデータαの各ビットデータα８〜α０が挿入されているか判定でき、これにより図１０に示すように復元データαＺを生成できる。この結果、データαを別のフレーム１０４としてネットワーク２に出力する必要がなくなるため、バス負荷を低減できる。
【００３０】
また、例えば、図１に示すように、不正機器６がネットワーク２に接続されていることを想定する。不正機器６は悪意の第三者などにより不正に接続された機器である。不正機器６がネットワーク２に接続されると、このネットワーク２に流れるデータフレームを読取ることができる。しかし、不正機器６がデータフレームを受信したとしても、データフィールド中の何れのビットが真のデータであるか判断し難くなる。不正機器６が例えばフレーム１０１のデータフィールドを読み取ったとしても、フレーム１０１のデータと共に合成して読み取るべき分割データα８〜α５を内包しているため、これらのデータを本来のデータと見做すように仕向けることができる。これにより、不正機器６が、他のデータαの分割データα８〜α５をフレーム１０１のデータの一部と認識することで、データのデータ長を誤認させる可能性を高めることができる。他のフレーム１０２、１０３も同様である。
【００３１】
以下、本実施形態の特徴を概念的にまとめる。ＥＣＵ３のマイコン１０は、送信フレーム１０１〜１０３に本来のデータを割り当てた領域を除く空きビットに他のデータαを分割して割り当て、本来のデータ及び割り当てられた分割データα８〜α５、α４〜α３、α２〜α０をそれぞれ送信フレーム１０１〜１０３として送信するようにした。この結果、予め規定されるフォーマットの送信フレーム１０１〜１０３の中の空きビットを活用できることになるため、ネットワーク２の通信情報量が特別に増加することもなくなり、バス負荷を低減できる。ネットワーク２の通信量の増加を防止できる。
【００３２】
また、例えば不正機器６がネットワーク２に接続されており、当該ネットワーク２に流れるデータを読取ったとしても、ある１つの送信フレーム（例えば１０１）のデータと共に他のフレーム１０４のデータαの一部の分割データα８〜α５を読取ることになり、どのデータが通常データであるか解析しにくくなり、データを簡単に解析することができなくなる。
【００３３】
他方、受信側のＥＣＵ４のマイコン１０は、例えば受信フレーム１０１〜１０３の中から本来のデータと他のデータαの分割データα８〜α５、α４〜α３、α２〜α０とを識別し、分割データα８〜α５、α４〜α３、α２〜α０から割当先情報に基づいて復元データαＺを生成するようにしている。この結果、送信側のＥＣＵ３により送信された他のデータαを復元できる。
【００３４】
また、管理テーブル１４がＥＣＵ３とＥＣＵ４との間で共有化されており、フレーム１０１〜１０３の使用ビット、空きビットの情報、及び、他のデータαの割当先情報は、この管理テーブル１４の中にＣＡＮＩＤ、すなわち識別番号毎に予め定められている。このため、受信側のＥＣＵ４のマイコン１０は、ビットデータ（例えばα８〜α５）が空きビットに格納されていたときに、他のデータαを分割した分割データα８〜α５であることを認識でき、この空きビットに格納されたビットデータを、他のデータαの分割データα８〜α５として復元できる。
【００３５】
また本実施形態に示したように、分割データα８〜α５、α４〜α３、α２〜α０を１ビット以上とした状態で送信フレーム１０１〜１０３に割り当てることが望ましく、そして複数の送信フレーム１０１〜１０３の空きビットに他のデータαを分割した分割データα８〜α５、α４〜α３、α２〜α０を割り当てることが望ましい。
【００３６】
（第２実施形態）
図１１から図１３は第２実施形態の追加説明図を示す。第２実施形態では、１つの送信フレーム内に空きビットが離間して複数存在する場合には他のデータαを１つの送信フレーム内で分割して割り当てることを特徴としている。
【００３７】
図１１は、フレーム２０１、２０２とは別に送信する他のデータαの例を示しており、この他のデータαは例えば４ビットで用意されている。本実施形態では、従来技術を用いると、ＥＣＵ３がデータフレーム２０３として送信すべき４ビットのデータαをＥＣＵ４が復元する処理の形態を示す。
【００３８】
図１２は、ＥＣＵ３、４に共有される管理テーブル１１４の内容を示すと共に、送受信処理のイメージを合わせて示している。図１２に示すように、管理テーブル１１４には、１つのフレーム２０１の全空きビットの４ビットのうち上位２ビットに他のデータαのビットα３〜α２が割当てられることが記憶されている。また、１つのフレーム２０２の全空きビットの３ビットのうち一部に他のデータαのビットα１〜α０が割当てられることが記憶されている。すなわち、空きビットが１つのフレーム２０２の中に離間して複数存在しており、このフレーム２０２の中に他のデータαのビットα３〜α２、α１〜α０を離間して割り当てている。なお、図１２中に示す「空」は、他のデータαを挿入しても空きビットとなることを示している。
【００３９】
図１２に示すように、ＥＣＵ３が送信フレームとしてフレーム２０１〜２０２をネットワーク２に出力し、ＥＣＵ４が受信フレームとしてフレーム２０１、２０２を全て受信する。
【００４０】
受信ノードとなるＥＣＵ４のマイコン１０は、使用ビットを各ＣＡＮＩＤのデータとして受け付け、管理テーブル１１４を参照し、フレーム２０１のデータフィールドの中位２ビット、すなわちビットbit3〜bit2を復元データαＺの記憶領域の上位２ビットに設定する。そしてＥＣＵ４のマイコン１０は、フレーム２０２のデータフィールドの中位１ビット、すなわちビットbit5を復元データαＺの記憶領域の中位ビットbit1に設定し、同様に、フレーム２０２のデータフィールドの下位１ビット、すなわちビットbit0を復元データαＺの記憶領域の下位ビットbit0に設定する。すると、図１３に示すように、ＥＣＵ４のマイコン１０は、他のデータαを復元データαＺとして復元できる。
【００４１】
本実施形態に示したように、１つの送信フレーム２０２内に連続する空きビットが複数存在する場合、他のデータαを分割してビットデータα１、α０として送信フレーム２０２内に離間して割り当てている。このため、連続ビットとして送受信するデータを前述実施形態に比較して少なくすることができ、前述実施形態に比較してもセキュリティを強化できる。
【００４２】
（第３実施形態）
図１４から図１８は第３実施形態の追加説明図を示す。第３実施形態では、割当部は、１つの送信フレームにシリアルナンバーと共に当該シリアルナンバー毎に規定された空きビットに第２データを分割して割り当て、送信部は、シリアルナンバーを変更した１つの送信フレームを複数回送信することを特徴としている。
【００４３】
図１４は管理テーブル３１４の例を示している。この管理テーブル３１４には、ＣＡＮＩＤが３０１のときの内部ビット情報が示されている。この図１４に示すように、フレーム３０１の上位４ビットは使用ビットとして規定されているものの、その下位の２ビットbit3,bit2はシリアルナンバーの設定領域として割当てられている。また、その下位２ビットbit1,bit0はシリアルナンバーに応じた他のビットβを割り当てる領域として規定されている。例えば、シリアルナンバーが「０」「０」であるときには、下位２ビットbit1,bit0には他のビットβの上位２ビットβ２、β１を割り当てることを示している。例えば、シリアルナンバーが「０」「１」であるときには、下位２ビットbit1,bit0には、空ビットと、他のビットβの下位１ビットβ０とを割り当てていることを示している。このような情報が記憶された管理テーブル３１４が各ＥＣＵ３〜５の間で共有されている。
【００４４】
図１５は他のデータβの例を示している。この他のデータβは例えば３ビットの情報量で用意されている。以下では、従来技術を用いると、ＥＣＵ３がデータフレーム３０２として送信すべき３ビットの他のデータβをフレーム３０１の空きビットに設定し、ＥＣＵ４がこの他のデータαを復元する処理の形態を示す。
【００４５】
図１６は送信側のＥＣＵ３の送信処理を示し、図１７は受信側のＥＣＵ４の受信処理を示している。図１６に示すように、ＥＣＵ３のマイコン１０は、Ｔ３１においてフレーム３０１を作成する。ここでは、ＥＣＵ３のマイコン１０は管理テーブル３１４を参照し、当該管理テーブル３１４に「使用」と定められたデータフィールドのビットbit7〜bit4へデータを設定することでフレーム３０１を作成する。
【００４６】
その後、ＥＣＵ３のマイコン１０は、Ｔ３２においてフレーム３０１のシリアルナンバー設定ビットbit3,2にそれぞれシリアルナンバーを示すNo.「０」「０」を設定し、Ｔ３３においてフレーム３０１の空きビットbit1,bit0に他のデータβのビットbit2,bit1をそれぞれ設定する。そして、ＥＣＵ３はＴ３４においてフレーム３０１を送信する。
【００４７】
また、その後、ＥＣＵ３のマイコン１０は、Ｔ３５においてフレーム３０１のシリアルナンバー設定ビットbit3,2にそれぞれシリアルナンバーを示すNo.「０」「１」を設定し、Ｔ３６においてフレーム３０１の空きビットbit0に他のデータβの下位ビットbit0を設定する。そしてＥＣＵ３は、Ｔ３７においてフレーム３０１を送信する。すなわち、ＥＣＵ３はシリアルナンバーを変更してフレーム３０１を２回送信する。
【００４８】
他方、図１７に示すように、ＥＣＵ４のマイコン１０は、Ｒ３１においてフレーム３０１を受信すると、Ｒ３２及びＲ３３において、このフレーム３０１のシリアルナンバーを確認し、当該シリアルナンバーが「０」「０」又は「０」「１」であるか否かを判定する。ＥＣＵ４のマイコン１０は、これ以外のシリアルナンバーを受け付けたときには、このフレーム３０１を破棄する。
【００４９】
そして例えば、フレーム３０１のシリアルナンバーが「０」「０」であったときにはＲ３２においてＹＥＳと判定し、Ｒ３４ａにおいてフレーム３０１内の使用ビットをＣＡＮＩＤ３０１のデータとして受付け、Ｒ３４ｂにおいてフレーム３０１のビットbit1,bit0を復元データβＺの上位２ビットbit2,bit1にそれぞれ設定する。さらに、シリアルナンバーNo.「０」「０」を受信済みにする、すなわち、シリアルナンバー「０」「０」に対応したフレーム３０１を受信済みとするフラグを設定する。
【００５０】
また、例えば、フレーム３０１のシリアルナンバーが「０」「１」であったときには、Ｒ３３においてＹＥＳと判定し、Ｒ３６ａにおいてフレーム３０１内の使用ビットをＣＡＮＩＤ３０１のデータとして受付け、Ｒ３６ｂにおいてフレーム３０１のビットbit0を復元データβＺの下位１ビットbit0に設定する。ここで、ＥＣＵ４のマイコン１０は、シリアルナンバーNo.「０」「０」を受信済みであるか否かを判定する。ＥＣＵ４のマイコン１０は、フラグが設定されているか否かを判定することで受信済みであるか否かを判定し、受信済みでなければＲ３７においてＮＯと判定し、この処理を抜けてフレーム３０１のシリアルNo.「０」「０」を受信するまでＲ３１から処理を繰り返す。
【００５１】
逆に、Ｒ３７において、ＥＣＵ４のマイコン１０は、シリアルナンバーNo.「０」「０」を受信済みであるときに限り、Ｒ３８においてシリアルナンバーNo.「０」「０」で受信した上位２ビットとシリアルナンバーNo.「０」「１」で受信した下位１ビットを合成して３ビットの復元データβＺを作成する。そして、ＥＣＵ４のマイコン１０は、Ｒ３９においてシリアルナンバーNo.「０」「０」を受信無、すなわち、シリアルナンバー「０」「０」に対応してフレーム３０１を受信済みとしたフラグをクリアする。
【００５２】
図１８は送受信処理のイメージを示している。図１８に示すように、ＥＣＵ３が送信フレームとしてシリアルナンバーの互いに異なるフレーム３０１を順次ネットワーク２に出力して送信し、ＥＣＵ４が受信フレームとしてこれらのフレーム３０１を全て受信する。フレーム３０１の中位２ビットbit3,bit2はシリアルナンバーを示しており、その下位２ビットbit1,bit0はシリアルナンバーに対応したデータとして管理テーブル３１４に予め定められている。
【００５３】
このため送信側のＥＣＵ３は、管理テーブル３１４を参照することで、何れの空きビットに他のデータβを挿入するべきか把握でき、また、受信側のＥＣＵ４のマイコン１０は、管理テーブル３１４を参照することで何れの空きビットに他のデータβが挿入されているか判定できる。受信側のＥＣＵ４は、管理テーブル３１４を参照することで、フレーム３０１のシリアルナンバー「０」「０」のビットbit1を最上位ビットbit2として復元でき、フレーム３０１のシリアルナンバー「０」「０」のビットbit0を中位ビットbit1として復元できる。また、フレーム３０１のシリアルナンバー「０」「１」のビットbit0を最下位ビットbit0として復元できる。
【００５４】
これにより図１９に示すように他のデータβから復元データβＺを生成でき、他のデータβを別のフレーム３０２としてネットワーク２に送信する必要がなくなるため、バス負荷を低減できる。なお、ＥＣＵ３は、ｎ（但しｎ≧１）回目の送信データとｎ＋１回目の送信データ、と交互に送信すると良く、これによりＥＣＵ４はこれらのデータを交互に受信することができる。
【００５５】
本実施形態によれば、１つの送信フレーム３０１にシリアルナンバーを割当てると共に当該シリアルナンバー毎に規定された空きビットに他のデータβを分割して割当て、シリアルナンバーを変更した１つの送信フレーム３０１を複数回送信するようにしている。このため、１つの送信フレーム３０１を用いて他のデータβを分割して複数回に分けて送信できる。しかも、受信側のＥＣＵ４では、この複数回の送信フレーム３０１を受信すると、これらの分割データから管理テーブル３１４の割当先情報を参照して復元データβＺを復元できる。
なお、２回に分けてフレーム３０１を送信する形態を示したが、３以上の複数回に分けてフレーム３０１を送信するようにしても良い。
【００５６】
（第４実施形態）
図２０から図２５は第４実施形態の追加説明図を示す。第１〜第３実施形態は、１つの他のデータα又はβを分割してフレームのデータフィールドの空きビットに設定した形態を示しているが、第４実施形態では複数の他のデータα及びβをそれぞれ分割して送信フレーム４０１〜４０４のデータフィールドの空きビットに設定する形態を示す。特に、送信側のＥＣＵ３のマイコン１０は、複数の他のデータα及びβの分割データを複数の送信フレーム４０１〜４０４の空きビットにそれぞれ分けて割り当てるところに特徴を備える。
【００５７】
図２０は他のデータα、βの例を示している。この他のデータα、βはそれぞれ例えば３ビット、７ビットで用意されている。以下では、従来技術を用いると、ＥＣＵ３がそれぞれデータフレーム４０５、４０６として送信すべき３ビットのデータα、７ビットのデータβを、送信側のＥＣＵ３がフレーム４０１〜４０４の空きビットに設定し、これらのデータα，βを受信側のＥＣＵ４が復元する形態を示す。
【００５８】
図２１は管理テーブル４１４の例を示している。この管理テーブル４１４にはＣＡＮＩＤが４０１〜４０４のときの内部ビット情報が記憶されている。この図２１に示すように、フレーム４０１の上位４ビットbit7〜bit4は、使用ビットとして規定されているものの、その下位の中位２ビットbit3,bit2は、他のデータαの上位２ビットα２、α１として割り当てられている。また最下位ビットbit0は、他のデータβの最下位ビットβ０として割り当てられている。
【００５９】
また、フレーム４０２の上位６ビットbit7〜2は使用ビットとして規定されているものの、その下位の中位１ビットbit1は、他のデータαの最下位ビットα０として割当てられている。また最下位ビットbit0は他のデータβの中位ビットβ１として割当てられている。
【００６０】
さらに、フレーム４０３の上位２ビットbit7〜6、及び、下位３ビットbit2〜bit0は、使用ビットして規定されているものの、その中間の中位ビットbit4,3は、他のデータβの中位ビットβ３、β２として割り当てられている。フレーム４０３の中位ビットbit5は空きビットとして規定されている。さらに、フレーム４０４の上位１ビットbit7、及び、下位４ビットbit3〜bit0は、使用ビットとして規定されているものの、その中間の中位ビットbit6〜bit4は、他のデータβの中位ビットβ４，β５，β６として割当てられている。このような情報を記憶する管理テーブル４１４が、各ＥＣＵ３〜５の間で共有されている。
【００６１】
図２２は送信側のＥＣＵ３の送信処理を示し、図２３は受信側のＥＣＵ４の受信処理を示している。図２２に示すように、ＥＣＵ３のマイコン１０は、Ｔ４１においてフレーム４０１〜４０４を作成する。ここでは、ＥＣＵ３のマイコン１０は管理テーブル４１４を参照し、当該管理テーブル４１４に「使用」と定められたデータフィールドのビットへデータを設定することでフレーム４０１〜４０４を作成する。
【００６２】
その後、ＥＣＵ３のマイコン１０は、Ｔ４２においてフレーム４０１の空きビットbit3,bit2に他のデータαのビットbit2,bit1をそれぞれ設定し、フレーム４０１の空きビットbit0に他のデータβのビットbit0を設定する。そしてＥＣＵ３のマイコン１０は、Ｔ４３においてフレーム４０１をネットワーク２に出力して送信する。
【００６３】
さらに、ＥＣＵ３のマイコン１０は、Ｔ４４においてフレーム４０２の空きビットbit1に他のデータαのビットbit0を設定し、フレーム４０２の空きビットbit0に他のデータβのビットbit1を設定する。そしてＥＣＵ３のマイコン１０は、Ｔ４５においてフレーム４０２をネットワーク２に出力して送信する。さらに、ＥＣＵ３のマイコン１０は、Ｔ４６においてフレーム４０３の空きビットbit4,bit3に他のデータβのビットbit2,bit１を設定し、Ｔ４７においてフレーム４０３をネットワーク２に出力して送信する。
【００６４】
さらにＥＣＵ３のマイコン１０は、Ｔ４８においてフレーム４０４の空きビットbit6に他のデータβのビットbit4を設定し、フレーム４０４の空きビットbit5に他のデータβのビットbit5を設定し、フレーム４０４の空きビットbit4に他のデータβのビットbit6を設定する。そしてＥＣＵ３のマイコン１０は、Ｔ４９においてフレーム４０４をネットワーク２に出力して送信する。
【００６５】
他方、図２３に示すように、ＥＣＵ４のマイコン１０は、Ｒ４１〜Ｒ４４においてフレーム４０１〜４０４の受信を待機する。このときＥＣＵ４のマイコン１０が、Ｒ４１においてフレーム４０１を受信したときには、管理テーブル４１４を参照し、Ｒ４５ａにおいてフレーム４０１内の使用ビットについてＣＡＮＩＤ４０１のデータとして受付け、Ｒ４５ｂにおいてフレーム４０１のデータフィールドのビットbit3,bit2を復元データαＺの記憶領域の上位２ビット、すなわちビットbit2,bit1に設定する。これにより、受信フレーム４０１の中から本来のＣＡＮＩＤ４０１のデータと他のデータα，βの分割データα２〜α１，β０とを識別することができる。そして、Ｒ４６においてフレーム４０１を受信済みとするフラグを設定する。
【００６６】
またＥＣＵ４のマイコン１０が、フレーム４０２を受信したときには、管理テーブル４１４を参照し、Ｒ４７ａにおいてフレーム４０２内の使用ビットについてＣＡＮＩＤ４０２のデータとして受付け、Ｒ４７ｂにおいてフレーム４０２のデータフィールドの中位ビットbit1を復元データαＺの最下位ビットbit0に設定し、フレーム４０２のデータフィールドの最下位ビットbit0を復元データβＺの中位ビットbit1に設定する。これにより、受信フレーム４０２の中から本来のＣＡＮＩＤ４０２のデータと他のデータα，βの分割データα０，β０とを識別することができる。そして、ＥＣＵ４のマイコン１０はＲ４８においてフレーム４０２を受信済みとするフラグを設定する。
【００６７】
また、ＥＣＵ４のマイコン１０がフレーム４０３を受信したときには、管理テーブル４１４を参照し、Ｒ４９ａにおいてフレーム４０３内の使用ビットについてＣＡＮＩＤ４０３のデータとして受け付け、Ｒ４９ｂにおいてフレーム４０３のデータフィールドの中位ビットbit4,bit3を復元データβＺの中位ビットbit2,bit1に設定する。これにより、受信フレーム４０３の中から本来のＣＡＮＩＤ４０３のデータと他のデータβの分割データβ３，β２とを識別することができる。そしてＥＣＵ４のマイコン１０は、Ｒ５０においてフレーム４０３を受信済みとしたフラグを設定する。
【００６８】
またＥＣＵ４のマイコン１０が、フレーム４０４を受信したときには、管理テーブル４１４を参照し、Ｒ５１ａにおいてフレーム４０４の内の使用ビットについてＣＡＮＩＤ４０４のデータとして受付け、Ｒ５１ｂにおいてフレーム４０４のデータフィールドの中位ビットbit6を復元データβＺの中位ビットbit4に設定し、フレーム４０４のデータフィールドの中位ビットbit5を復元データβＺの中位ビットbit5に設定し、フレーム４０４のデータフィールドの中位ビットbit4を復元データβＺの中位ビットbit6に設定する。これにより、受信フレーム４０４の中から本来のＣＡＮＩＤ４０４のデータと他のデータβの分割データβ６〜β４とを識別することができる。
【００６９】
ＥＣＵ４のマイコン１０は、Ｒ５１の処理を行った後、Ｒ５２において他の全てのフレーム４０１〜４０３を受信済みであるか否かを判定し、全てのフレーム４０１〜４０４を受信済みであるときに限り、Ｒ５３において各受信フレームデータに基づいてデータα，βを復元する。すなわち、全てのデータを合成して復元データαＺ、βＺをそれぞれ作成する。そして、ＥＣＵ４のマイコン１０は、Ｒ５４においてフレーム４０１〜４０３を受信データ無とする、すなわちＲ４６、Ｒ４８、Ｒ５０にて受信済みとして設定されたフラグをクリアする。これにより復元データαＺ，βＺを生成できる。
【００７０】
図２４は送受信処理のイメージを示している。図２４に示すように、ＥＣＵ３が送信フレームとしてフレーム４０１〜４０４をネットワーク２に出力し、ＥＣＵ４が受信フレームとしてフレーム４０１〜４０４を全て受信する。フレーム４０１〜４０４の各空きビットはデータα及びβの各ビットに対応するように予め管理テーブル４１４に定められている。このため、送信側のＥＣＵ３のマイコン１０は管理テーブル４１４を参照することで何れの空きビットに他のデータα，βの各ビットを挿入するべきか把握でき、また、受信側のＥＣＵ４のマイコン１０は管理テーブル４１４を参照することで何れの空きビットに他のデータα，βが挿入されているか判定でき、これにより図２５に示すように復元データαＺ，βＺを生成できる。これによりデータα，βを別のフレーム４０５、４０６としてネットワーク２に送信する必要がなくなるため、バス負荷を低減できる。
【００７１】
（他の実施形態）
本発明は、前述した実施形態に限定されるものではなく、種々変形して実施することができ、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。例えば以下に示す変形又は拡張が可能である。
【００７２】
例えば第１実施形態では、受信側のＥＣＵ４が、ネットワーク２に出力されたフレーム１０１〜１０３の確認を、フレーム１０１、１０２、１０３の昇順に行った形態を示したが、この順序は降順でも良く、さらにその他の順序に入れ替えても良い。これは第２実施形態以降の各実施形態でも同様であり、フレームの確認の順序を入れ替えても良い。また、前述実施形態では、それぞれフローチャートを参照して説明を行ったが、これらのフローチャートに示した処理の順序はあくまでも一例であり、これらのフローチャートに示した順序で処理を実行しなくても良い。すなわち、前述実施形態と同一又は類似の目的を達成可能であれば、処理順序を入れ替えても良く、処理を必要に応じて変更しても良いし必要に応じて一部を省略しても良い。
【００７３】
前述の実施形態では、ビット単位で空領域を考慮し、連続する空きビットを「空領域」として説明したが、ビット単位で考慮しなくても良くバイト単位でも良い。
通信コントローラ１１はマイコン１０に組み込まれていても良い。ＣＡＮに限定されるものではなく、空領域を備えるフォーマットを備えるプロトコルを用いた通信システムであれば適用できる。
【００７４】
各ＥＣＵ３〜５が管理テーブル１４，１１４，３１４，４１４をそれぞれ備えて共有する形態を示したが、ネットワーク２に接続されている他のＥＣＵ等に管理テーブル１４，１１４，３１４，４１４を記憶させておき、各ＥＣＵ３〜５が、ネットワーク２を通じて管理テーブル１４，１１４，３１４，４１４を参照するようにしても良い。
【００７５】
各ＥＣＵ３〜５のマイコン１０が実行する機能の一部または全部を、一つあるいは複数のＩＣによりハードウェア的に構成しても良い。前述した複数の実施形態を組み合わせて構成しても良い。なお、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として前述する実施形態に記載の具体的手段との対応関係の一例を示すものであって、本発明の技術的範囲を限定するものではない。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において、考え得るあらゆる態様も実施形態と見做すことが可能である。
【００７６】
本開示は、前述した実施形態に準拠して記述したが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【００７７】
図面中、１は通信システム、２は車載ネットワーク（ネットワーク）、３〜５はＥＣＵ（電子制御装置：３は送信ノード、４は受信ノード）、６は不正機器、１０はマイコン（ＥＣＵ３の１０は割当部、送信部：ＥＣＵ４の１０は識別部、復元部）、１２は送信部、１３は割当部、１４，１１４，３１４，４１４は管理テーブル、を示す。
【図１】
2018046547.tif 000003
【図２】
2018046547.tif 000004
【図３Ａ】
2018046547.tif 000005
【図３Ｂ】
2018046547.tif 000006
【図４】
2018046547.tif 000007
【図５】
2018046547.tif 000008
【図６】
2018046547.tif 000009
【図７】
2018046547.tif 000010
【図８】
2018046547.tif 000011
【図９】
2018046547.tif 000012
【図１０】
2018046547.tif 000013
【図１１】
2018046547.tif 000014
【図１２】
2018046547.tif 000015
【図１３】
2018046547.tif 000016
【図１４】
2018046547.tif 000017
【図１５】
2018046547.tif 000018
【図１６】
2018046547.tif 000019
【図１７】
2018046547.tif 000020
【図１８】
2018046547.tif 000021
【図１９】
2018046547.tif 000022
【図２０】
2018046547.tif 000023
【図２１】
2018046547.tif 000024
【図２２】
2018046547.tif 000025
【図２３】
2018046547.tif 000026
【図２４】
2018046547.tif 000027
【図２５】
2018046547.tif 000028