(57)【要約】【課題】自動車用ソフトウェアによる抽象化に伴う処理速度の低下を、専用のハードウェア及び自動車用ソフトウェアに特化したアルゴリズムを用いることで、処理速度の向上を図る手段を提供する。【解決手段】ＣＰＵ２−１に並存する形でＣＯＭ−ＡＣＣ（ＣＯＭアクセラレータ）２−５を設ける。該ＣＰＵ２−１で動作するプロトコルスタックはＰＤＵ及びＰＤＵＩＤを抽出する。抽出したＰＤＵ及びＰＤＵＩＤはＣＯＭ−ＡＣＣ２−５に送出された後、ＣＯＭ−ＡＣＣ２−５がＰＤＵの更新判断を行う。【選択図】図３
2012165033.tif 000002
【特許請求の範囲】
【請求項１】
１又は２以上のシグナルを有するプロトコルデータユニットを含むデータフレームを受信する第１のハードウェアと、前記第１のハードウェアを接続し前記データフレームの伝達に用いられる仮想機能バスと、を有する自動車用制御システムであって、
前記第１のハードウェアは、前記仮想機能バス経由で受信した前記データフレームからプロトコルデータユニット及び前記プロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットＩＤを抽出するプロトコルスタックを実行し、
前記プロトコルスタックは、前記１又は２以上のシグナルの更新の有無をプロトコルデータユニットへの一度の処理で実行することを特徴とする自動車用制御システム。
【請求項２】
ＣＰＵと、仮想機能バスインターフェースと、アクセラレータと、を有し、前記仮想機能バスインターフェースを介してプロトコルデータユニットを含むデータフレームを受信する電子制御ユニットであって、
前記ＣＰＵは受信した前記データフレームから前記プロトコルデータユニット及び前記プロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットＩＤを抽出するプロトコルスタックを実行し、
前記プロトコルスタックによるシグナルの更新の有無の判定を行う前記ＣＰＵは、前記プロトコルデータユニット及び前記プロトコルデータユニットＩＤを前記アクセラレータに送信し、前記アクセラレータがシグナルの更新の有無の判定を実行することを特徴とする電子制御ユニット。
【請求項３】
請求項２に記載の電子制御ユニットにおいて、
前記アクセラレータは、
前記プロトコルデータユニットに含まれるアップデートビットの判定と、
前記プロトコルデータユニットの値と前記プロトコルデータユニットに内在する上位モジュールで利用されるデータの最小単位であるシグナル毎に設定されたフィルタ条件に従い判定を実行し前記アップデートビットの判定の結果と、前記プロトコルデータユニットのフィルタ判定の結果から、過去に処理した前記プロトコルデータユニットの値を更新するデータ更新用マスクを作成することを特徴とする電子制御ユニット。
【請求項４】
請求項３に記載の電子制御ユニットにおいて、
前記アクセラレータは、
前記データ更新用マスクからデータの更新があったシグナルを抽出し、
前記プロトコルスタックに前記データの更新があったシグナルを出力することを特徴とする電子制御ユニット。
【請求項５】
請求項４に記載の電子制御ユニットにおいて、
前記プロトコルスタックは、受信した前記データの更新があったシグナルを用いて前記プロトコルデータユニットを更新することを特徴とする電子制御ユニット。
【請求項６】
請求項２に記載の電子制御ユニットにおいて、
前記アクセラレータは通信経路を介して外部に接続される他の電子制御ユニットへ送信するためのデータフレームの生成において使用されることを特徴とする電子制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車用伝送アーキテクチャに関するＡＵＴＯＳＡＲ（登録商標）仕様に準拠した自動車用のソフトウェアコンポーネント、特にハードウェアアクセラレータを併用することで処理負荷の軽減を図る手段に関する。
【背景技術】
【０００２】
ＡＵＴＯＳＡＲ（登録商標）（ＡＵＴｏｍｏｔｉｖｅ  Ｏｐｅｎ  Ｓｙｓｔｅｍ  ＡＲｃｈｉｔｅｃｔｕｒｅ）は自動車用伝送アーキテクチャに関するオープンなデファクトスタンダードの策定及び成立のために協業する自動車製造業者及び自動車サプライヤーのパートナーシップならびに該パートナーシップが策定する仕様群である。ＡＵＴＯＳＡＲ（登録商標）は、各種の自動車用のソフトウェアコンポーネントを各種定義し、またそれらのソフトウェアコンポーネント間で用いるインターフェースを定義することで、自動車用ソフトウェアの再利用性、汎用性を確保することを目的に活動を行っている。
【０００３】
ＡＵＴＯＳＡＲ（登録商標）はＥＣＵ（電子制御ユニット）を単位としてソフトウェアを構成することを基本コンセプトとしている。ＥＣＵ間は抽象的なＶＦＢ（Ｖｉｒｔｕａｌ  Ｆｕｎｃｔｉｏｎａｌ  Ｂａｓ：仮想機能バス）で接続され、実装上のハードウェアと切り離した形でシステムの初期検討が可能なようになっている。実装に際しては、ＶＦＢはＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＦｌｅｘＲａｙといったより具体的なハードウェアを想定して開発を行う。その際にも、ＣＡＮドライバやＦｌｅｘＲａｙドライバといった標準コンポーネントによってハードウェア（特にＣＰＵ）が相違しても上位層の再利用性を確保することが想定されている。従って、ＣＡＮやＦｌｅｘＲａｙと言ったハードウェアを想定した規格と分離した形でデータの送受信を行う必要に迫られる。ＡＵＴＯＳＡＲ（登録商標）においてはＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）がこれに当たる。
【０００４】
ＰＤＵは上位層であるアプリケーションソフトウェアで利用される各種データの最小単位であるシグナルをＥＣＵ間で送受信するための論理的なデータコンテナである。ＰＤＵは８バイト（＝６４ビット）幅のデータである。図１はＥＣＵ間でのＰＤＵの取り扱いを表す概念図である。
【０００５】
この図においては、送信側ＥＣＵ１と受信側ＥＣＵ２がＣＡＮ３を介して通信を行うことを想定する。送信側ＥＣＵ１はＰＤＵに適切なヘッダ、フッダを添付したパケット４をＣＡＮ３経由で受信側ＥＣＵ２に送信する。受信側ＥＣＵ２のＣＡＮＩＰ２−２は受信したパケット４からヘッダ及びフッダを切り離し必要な処理を行う。受信側ＥＣＵ２内のＣＰＵ２−１はヘッダ、フッダを切り離したＰＤＵからシグナルの分離、フィルタ処理を行うこととなる。
【０００６】
ここで、フィルタ処理とは、特定の状態にメッセージの値が合致しないときにメッセージフィルタによって受信したメッセージを無視することをいう。
【０００７】
これらの一連の処理ついてはＡＵＴＯＳＡＲ（登録商標）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  ＣＡＮ  Ｉｎｔｅｒｆａｃｅ（非特許文献１）、ＡＵＴＯＳＡＲ（登録商標）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  ＣＡＮ  Ｄｒｉｖｅｒ（非特許文献２）、Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  ＣＡＮ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（非特許文献３）などで規定されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】ＡＵＴＯＳＡＲ（登録商標）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  ＣＡＮ  Ｉｎｔｅｒｆａｃｅ  ｖ３．０．３
【非特許文献２】ＡＵＴＯＳＡＲ（登録商標）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  ＣＡＮ  Ｄｒｉｖｅｒ  ｖ２．２．３
【非特許文献３】ＡＵＴＯＳＡＲ（登録商標）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  ＣＡＮ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｖ３．０．３
【発明の概要】
【発明が解決しようとする課題】
【０００９】
これらＡＵＴＯＳＡＲ（登録商標）の仕様では、自動車用ソフトウェアの再利用性、汎用性を確保する、という目的から、ハードウェアへの依存は制限されている。
【００１０】
しかし、パーソナルコンピュータの分野でもそうであったように、ソフトウェアによる抽象化は処理工程、処理時間の増大を招かざるを得ない。これに対して、パーソナルコンピュータの分野では、一般的な処理を行うＣＰＵ（中央処理装置）に対して、特定の処理に特化したアクセラレータチップを並存させ、上記のような抽象化された処理を高速に処理する手段が考えられている。
【００１１】
一方、パーソナルコンピュータと異なり、自動車には特有な問題が多く存在する。すなわち、パーソナルコンピュータでは、送受信の対象となるのは、高位のアプリケーション層に位置するアプリケーションで取り扱われるデータがほとんどである。これに対し、自動車用ソフトウェアにおいては、自動車の状態を表す短いデータ長を表すデータがやり取りされることが多い、といった具合である。
【００１２】
本発明の目的は、自動車用ソフトウェアによる抽象化に伴う処理速度の低下を、専用のハードウェア及び自動車用ソフトウェアに特化したアルゴリズムを用いることで、処理速度の向上を図る手段を提供することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１５】
本発明の代表的な実施の形態に関わる自動車用制御システムは、１又は２以上のシグナルを有するプロトコルデータユニットを含むデータフレームを受信する第１のハードウェアと、第１のハードウェアを接続しデータフレームの伝達に用いられる仮想機能バスと、を有し、第１のハードウェアは、仮想機能バス経由で受信したデータフレームからプロトコルデータユニット及びプロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットＩＤを抽出するプロトコルスタックを実行し、プロトコルスタックは、１又は２以上のシグナルの更新の有無の判定をプロトコルデータユニットへの一度の処理で実行することを特徴とする。
【００１６】
本発明の代表的な実施の形態に関わる電子制御ユニットは、ＣＰＵと、仮想機能バスインターフェースと、アクセラレータと、を有し、仮想機能バスインターフェースを介してプロトコルデータユニットを含むデータフレームを受信し、ＣＰＵは受信したデータフレームからプロトコルデータユニット及びプロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットＩＤを抽出するプロトコルスタックを実行し、ＣＰＵは、プロトコルデータユニット及びプロトコルデータユニットＩＤをアクセラレータに送信し、アクセラレータがシグナルの更新の有無の判定及びシグナルの更新を実行することを特徴とする。
【００１７】
この電子制御ユニットにおいて、アクセラレータは、プロトコルデータユニットに含まれるアップデートビットの判定と、プロトコルデータユニット内の各シグナルに設定されたアルゴリズムに従い実行されたフィルタリング処理の判定結果から、過去に処理したプロトコルデータユニットの値を更新するデータ更新用マスクを作成することを特徴としてもよい。
【００１８】
また、この電子制御ユニットにおいて、アクセラレータは、データ更新用マスクを用い、データの更新があったシグナルを抽出し、プロトコルスタックに前記データの更新があったシグナルを出力することを特徴としてもよい。
【００１９】
この電子制御ユニットにおいて、プロトコルスタックは、受信した前記データの更新があったシグナルを用いてプロトコルデータユニットを更新することを特徴としてもよい。
【発明の効果】
【００２０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００２１】
本発明の代表的な実施の形態に関わるＣＯＭアクセラレータ並びにそれに対応するＣＯＭソフトウェアを採用することで、ＡＵＴＯＳＡＲ（登録商標）で規定するＡＵＴＯＳＡＲ（登録商標）ＣＯＭの一定の処理の動作単位をＰＤＵ単位にすることができる。これにより、従来シグナル毎に反復処理を求められたシグナル更新の判定を一度に行うことができるという論理的な処理工数の低減、及びハードウェア処理による処理工数の低減を図ることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】ＥＣＵ間でのＰＤＵの取り扱いを表す概念図である。
【図２】従来のＡＵＴＯＳＡＲ（登録商標）の各種ソフトウェアを動作させるためのハードウェアの構成を表すブロック図である。
【図３】本発明に関わるハードウェアの構成を表すブロック図である。
【図４】一般的なＡＵＴＯＳＡＲ（登録商標）用の通信用プロトコルスタックの構成を表す概念図である。
【図５】ＣＯＭ−ＡＣＣ内のフィルタ回路を８ビット幅で表した概念図である。
【図６】シグナル抽出処理におけるフィルタ処理を説明するためのフローチャートである。
【図７】ＰＤＵ受信時のＣＯＭソフトウェアとＣＯＭ−ＡＣＣとの処理の分担についての概念図である。
【図８】本発明に関わるデータ更新用マスク生成回路の構成を表す概念図である。
【図９】本発明に関わる受信フラグデータの圧縮回路の一部を表す回路図である。
【図１０】図９の圧縮回路の動作を説明するための図である。
【図１１】ＣＯＭ−ＡＣＣ内のシグナル挿入抽出回路におけるこのシグナル抽出処理の手順を表す概念図である。
【図１２】シグナル送信時のＣＯＭソフトウェアとＣＯＭ−ＡＣＣとの処理の分担についての概念図である。
【図１３】シグナル挿入抽出回路でのシグナル挿入処理の手順を表す概念図である。
【図１４】アップデートビットの判定方法及び対応するシグナルへの結果の反映方法の概念図である。
【図１５】ＣＯＭ−ＡＣＣの概略構成を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図を用いて説明する。
【００２４】
（第１の実施の形態）
図２は従来のＡＵＴＯＳＡＲ（登録商標）の各種ソフトウェアを動作させるための受信側ＥＣＵ２の構成を表すブロック図である。図３は本発明に関わる受信側ＥＣＵ２の構成を表すブロック図である。なお、これらは説明用の図面であるので、Ｉ／Ｏ等の回路等は省略している。
【００２５】
従来のＡＵＴＯＳＡＲ（登録商標）用の受信側ＥＣＵ２はＣＰＵ２−１、ＣＡＮＩＰ２−２、ＲＡＭ２−３、ＲＯＭ２−４を含んで構成される。
【００２６】
本発明の実施の形態はＣＡＮによる通信にて構成されているが、他の通信プロトコルであるＦｌｅｘＲａｙ、Ｅａｔｈｅｒ等での利用も想定されている。
【００２７】
ＣＰＵ２−１はＡＵＴＯＳＡＲ（登録商標）の規定する各種仕様に従ったソフトウェアを動作させるためのＣＰＵである。自動車には数多くの制御対象となるハードウェアが存在する。そしてそれらのハードウェアの制御には、それぞれにＣＰＵを用意する必要がある。しかし、自動車のモデルチェンジは４年以上であり、ＣＰＵ等の電子部品の製造期間と相違することが多々ある。また、自動車のマイナーチェンジ時に新たな機能を追加するなどの理由により異なるＣＰＵを利用しなければならなくなった時に、そのＣＰＵの変更に迅速に対応することができるようにするのがＡＵＴＯＳＡＲ（登録商標）の目的である。
【００２８】
ＣＡＮＩＰ２−２は、ＣＡＮバス対応の通信ハードウェアである。ＣＡＮＩＰ２−２とＣＰＵ２−１は図示しないブリッジチップ等を介して接続されている。
【００２９】
ＲＡＭ２−３は、ＣＰＵ２−１が動作する際の一時記憶領域として用いられる記憶媒体である。
【００３０】
ＲＯＭ２−４は、ＣＰＵ２−１で動作させるソフトウェアを記録するための不揮発性の記録媒体である。
【００３１】
ＣＡＮ３はＶＦＢ（仮想機能バス）の一種である。
【００３２】
これに対し、本発明のハードウェアはＣＯＭ−ＡＣＣ２−５が追加されている点が従来の物と相違する。
【００３３】
ＣＯＭ−ＡＣＣ（ＣＯＭアクセラレータ）２−５は、ＣＰＵ２−１で処理すべきＡＵＴＯＳＡＲ  ＣＯＭソフトウェアのうち、所定の処理を専用に担当するためのアクセラレータチップである。このＣＯＭ−ＡＣＣ２−５での処理が本発明の特徴となる。
【００３４】
図４は一般的なＡＵＴＯＳＡＲ（登録商標）用の通信用プロトコルスタックの構成を表す概念図である。
【００３５】
ハードウェアであるＣＡＮＩＰ２−２を除くと、ＣＡＮドライバソフトウェア１０２、ＣＡＮインターフェースソフトウェア１０３、ＰＤＵルータソフトウェア１０４、ＣＯＭソフトウェア１０５を含んで構成される。
【００３６】
ＣＡＮドライバソフトウェア１０２は、ＣＡＮＩＰ２−２を直接制御し、ＰＤＵデータ及びＣＡＮプロトコルで規定されているデータパケット識別用のＩＤをＣＡＮＩＰ２−２が管理するデータ保存領域から取得し、データの取得を上位のＣＡＮインターフェースソフトウェア１０３へ送信するためのソフトウェアである。
【００３７】
ＣＡＮインターフェースソフトウェア１０３は、ＣＡＮドライバソフトウェア１０２によって検出され処理されたイベントが送信される。またＰＤＵルータソフトウェア１０４などの上位層からＣＡＮドライバソフトウェア１０２のサービスへのアクセス手段を提供する。ＣＡＮインターフェースソフトウェア１０３を介することで、上位のモジュール（ＣＯＭソフトウェア１０５など）は複数の異なるＣＡＮハードウェアデバイスの管理に単一のインターフェースを用いることが可能となる。
【００３８】
ＰＤＵルータソフトウェア１０４は、モジュール間での（Ｉ）ＰＤＵユニット（Ｉｎｔｅｒａｃｔｉｏｎ  Ｌａｙｅｒ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ：中間層プロトコルデータユニット）ルーティングサービスを提供するモジュールである。
【００３９】
ＣＯＭソフトウェア１０５は、上位のランタイム環境に対して、ＰＤＵルータソフトウェア１０４から送信されるＰＤＵに対し適切な処置（例えばビッグエンディアンとリトルエンディアンの変換など）を行った後、ＰＤＵ由来のデータ（例えばＰＤＵに内包されるシグナル）を用いるランタイム環境に送信可能なようにするモジュールである。パソコンなどの技術分野では、送られたデータは全て上位層に送られることが多い。しかし自動車の場合は、このＣＯＭソフトウェア１０５で送られたデータに変化があったか否かを判定し、変化があったときもしくは、ＰＤＵに内包されるシグナルの値が特定の条件を満たしている場合のみ図示しない上位のランタイム環境（ＣＯＭソフトウェア１０５経由で信号の送受信を行うソフトウェア）に送信される処理を行う。これによりＣＰＵ２−１の負荷を減少させる。
【００４０】
図１５はＣＯＭ−ＡＣＣ２−５の概略構成を示す。ＣＯＭ−ＡＣＣ２−５は、フィルタ回路、マスク生成回路、受信フラグデータ圧縮回路、シグナル挿入抽出回路、アップデートビット生成検出回路からなる。実線は受信したＰＤＵからのシグナル抽出処理、破線は送信用の新たなＰＤＵの生成処理でのデータの流れを示す。
【００４１】
それぞれの回路で処理されたデータは、ＰＤＵを下位へ送信する場合のモードを決定する送信モードコンディションＴＭＣ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｍｏｄｅ  Ｃｏｎｄｉｔｉｏｎ）、更新されたシグナルを示す受信フラグ、送信用に新たに生成されたＰＤＵに保存する送信ＰＤＵバッファ、更新されたシグナルを保存するシグナルバッファ２−６へ格納される。
【００４２】
ＣＯＭ−ＡＣＣ２−５は、受信したＰＤＵに含まれるシグナルの抽出処理においては、ＣＯＭソフトウェア１０５からＰＤＵと当該ＰＤＵを弁別するためのＰＤＵＩＤが供給され、ＣＯＭソフトウェア１０５からの起動信号によりフィルタリング処理を開始する。ＣＯＭ−ＡＣＣ２−５は、フィルタリング処理によりＣＯＭソフトウェア１０５において処理すべきシグナルをシグナルバッファに格納した後、ＣＰＵ２−１に割り込み等もしくは受信フラグによる通知を行う。
【００４３】
また、ＣＯＭ−ＡＣＣ２−５は他のＥＣＵに送信するためのＰＤＵを生成する。このＰＤＵ生成処理においては、ＣＯＭソフトウェア１０５から他のＥＣＵに送信するためのシグナルと生成するＰＤＵを示すＰＤＵＩＤを供給され、ＣＯＭソフトウェア１０５からの起動信号によりＰＤＵ生成処理を開始する。ＣＯＭ−ＡＣＣ２−５は、生成したＰＤＵをＰＤＵ送信バッファに格納した後、ＣＰＵ２−１に割り込み等による通知を行う。
【００４４】
フィルタ回路、マスク生成回路、受信フラグ回路、シグナル挿入抽出回路、アップデートビット生成検出回路のそれぞれの回路動作については、以下に説明する。
【００４５】
（シグナル抽出処理）
以下、別のＥＣＵから受信したＰＤＵに含まれるシグナルを抽出する処理について説明する。
【００４６】
本実施の形態では、このＣＯＭソフトウェア１０５におけるフィルタ処理にＣＯＭ−ＡＣＣ（ＣＯＭアクセラレータ）２−５を用いることが特徴である。逆を言えば、ＰＤＵルータソフトウェア１０４よりも物理層側のプロトコルスタックはＣＡＮ用のものであってもＦｌｅｘＲａｙ用のものであっても、ＶＦＢに関係なく適用することが可能となる。
【００４７】
加えて、ＲＡＭ２−３の記憶領域の一部として、後述するＯＬＤデータ（図５のＯＬＤデータ１２）を保存するシグナルバッファ２−６を有する。
【００４８】
このＣＯＭ−ＡＣＣ２−５における処理について説明する。
【００４９】
図１でも述べたとおり、ＣＡＮバス上を経由して送信された６４ビット固定長のＰＤＵがＣＯＭソフトウェア１０５に到達する。このＰＤＵ内には１ないし６４ビットの可変長データである「シグナル」が含まれている。１つのＰＤＵ内には、容量の許す限り、複数のシグナルを含めることが可能である。それぞれのシグナルのＰＤＵ内での位置は設定データとして各ＥＣＵが保持している。各シグナルはシグナルＩＤにより区別されている。
【００５０】
シグナルの有意の容量は「シグナルの種別」によって決定される。この「シグナルの種別」及び２以上のシグナルがある場合の「シグナルの順序」はＰＤＵ毎に定義されている。このように1又は２以上のシグナルを検出し、それぞれを抽出する処理をＲｅｃｅｐｔｉｏｎ  Ｆｉｌｔｅｒｉｎｇと仕様上定義されている。
【００５１】
抽出したシグナルに対して、フィルタ処理等のチェックを行う。具体的には、該信号が更新されたかなどを判断の対象とする。このフィルタ処理後、条件をクリアしたシグナルはシグナルバッファへ保存される。
【００５２】
これらの処理を全てのシグナルに対して行い、通知すべきものについては図示しない上位のランタイム環境に通知されることになる。
【００５３】
しかし、この処理には問題がある。
【００５４】
すなわち、ＰＤＵ内のシグナルの数が増えれば、その分１つのＰＤＵの処理に時間を要することである。特に、シグナル長が１ないし６４ビットの可変長であり、シグナル毎にフィルタ処理を行う場合、シグナル毎の処理設定に時間を要する。
【００５５】
本発明は、このフィルタリングの遅延の解消を図るものである。そして、ＣＯＭ−ＡＣＣ２−５はハードウェア的にこれらの処理をＰＤＵ内の前シグナルに対して一括・並行して実行する。
【００５６】
本発明の実施の形態では、新たにシグナル境界情報１０を定義する。これによりＰＤＵ内の全てのフィルタリングを一括して実行することが可能となる。
【００５７】
図５はＣＯＭ−ＡＣＣ２−５内のフィルタ回路を８ビット幅で表した概念図である。このフィルタ回路は、ＣＰＵ２−１から供給されたＰＤＵのＰＤＵＩＤからフィルタリング処理を行う条件と必要な情報を取得し、ＰＤＵの６４ビットに含まれる１以上のシグナルのフィルタリング処理を並列に実行する。
【００５８】
このフィルタ回路の概念図はＰＤＵＩＤから取得するフィルタリング処理の条件と情報を設定するシグナル境界情報１０、ＯＬＤデータ１２、Ｘ／ＭＡＸデータ１３、Ｍａｓｋ／Ｍｉｎデータ１４、フィルタアルゴリズム選択データ１５、フィルタリングの処理の対象となるＰＤＵを格納する元データ格納部１１、フィルタリング処理を行う比較器１６とフィルタアルゴリズム選択回路１７、及びフィルタリング処理結果を格納するフィルタ演算結果出力領域１８を含む。なお、本図の各データにおいては、一番左が第１ビットであり、一番右が第８ビットであるとする。
【００５９】
シグナル境界情報１０は、同一のＰＤＵに含まれる各シグナルの境界点（各シグナルのＭＳＢ）に識別用のデータがセットされた６４ビットのデータである。このシグナル境界情報により、シグナル毎に次のビットに接続する比較結果の制御を行っている。
【００６０】
ＰＤＵ中には複数のシグナルが含まれるのは既述の通りである。シグナル境界情報１０では各シグナルの最上位のビットを「１」にすることで、その境界を表す。
【００６１】
元データ格納部１１は、今回の処理に関わるＰＤＵの値を格納する記憶領域である。
【００６２】
ＯＬＤデータ１２は前回受信処理を行って、シグナルデータを更新したＰＤＵの値をいう。ＯＬＤデータ１２の値はＲＡＭ２−３上のシグナルバッファに記録されているが、ＣＯＭ−ＡＣＣ２−５はフィルタ処理を行う毎にＲＡＭ２−３に対応するＯＬＤデータを読み出しにいき、一連の処理が終わりＯＬＤデータ１２の値を更新する必要があるときには、ＲＡＭ上のシグナルバッファに更新値を書き込む。
【００６３】
Ｘ／ＭＡＸデータ１３は、フィルタ処理時に用いる比較用データである。ＣＯＭソフトウェア１０５におけるフィルタ処理は、ＡＵＴＯＳＡＲ（登録商標）仕様上８つのフィルタが規定されている。Ｘ／ＭＡＸデータ１３はこの８つのフィルタの特定のフィルタで用いるデータ群である。Ｍａｓｋ／Ｍｉｎデータ１４も同様であり、この８つのフィルタの特定のフィルタで用いるデータ群である。なお、ＸとＭＡＸ、ＭａｓｋとＭｉｎは同時に用いることがない。このため、Ｘ／ＭＡＸデータ１３及びＭａｓｋ／Ｍｉｎデータ１４は１つのデータ領域を共用することができる。
【００６４】
フィルタアルゴリズム選択データ１５は上述のＡＵＴＯＳＡＲ（登録商標）仕様の８つのフィルタのいずれを用いるかを決定するデータである。フィルタアルゴリズム選択回路１７は、このフィルタアルゴリズム選択データ１５を用いて動作させるフィルタアルゴリズムを選択する回路である。
【００６５】
このフィルタアルゴリズム選択データ１５はシグナル毎に設定される。また、Ｘ／ＭＡＸデータ１３及びＭａｓｋ／Ｍｉｎデータ１４は対応するシグナルによってデータの意味が相違することに注意する。
【００６６】
比較器１６は上述のＯＬＤデータ１２、Ｘ／ＭＡＸデータ１３、Ｍａｓｋ／Ｍｉｎデータ１４及び各ビットの比較結果を隣接ビットに転送するか否かを表すシグナル境界情報１０によって、元データ格納部１１に格納された値をフィルタ演算するための比較器である。
【００６７】
フィルタ演算結果出力領域１８は、上位層及び次回のフィルタ処理で利用可能なようにフィルタ処理の結果（更新用のＯＬＤデータ）を記録するためのＣＯＭハードウェア内の記憶領域である。
【００６８】
次にこのフィルタ回路の動作について図６を用いて説明する。
【００６９】
図６はシグナル抽出処理におけるフィルタ処理を説明するためのフローチャートである。
【００７０】
まず、ＣＡＮＩＰ２−２がＣＡＮバス経由でＰＤＵを含むパケットを受信する。ＣＡＮＩＰ２−２は、このパケットからヘッダ、フッダを削除した後、ＣＰＵ２−１にヘッダ等削除後のＰＤＵを送信する。
【００７１】
該ＰＤＵを受け取ったＣＰＵ２−１上では図４に示したプロトコルスタックを持つＡＵＴＯＳＡＲ（登録商標）基本ソフトウェアで処理を行う。すなわち、ＣＡＮドライバソフトウェア１０２、ＣＡＮインターフェースソフトウェア１０３、ＰＤＵルータソフトウェア１０４、ＣＯＭソフトウェア１０５の順で処理がなされる。この一連の処理の間に、ＰＤＵ及びＰＤＵＩＤを抽出する。このＰＤＵＩＤはＰＤＵのデータフォーマットを決定する際の識別子となる。また本発明におけるシグナル境界情報１０やアップデートフラグイネイブル情報３１、アップデートフラグビット位置情報３２（全て後述）を決定する際にもＰＤＵＩＤが用いられる。
【００７２】
この抽出したＰＤＵ及びＰＤＵＩＤをＣＰＵ２−１で動作中のＣＯＭソフトウェア１０５がＣＯＭ−ＡＣＣ２−５に対して送信する（ステップＳ１００１）。
【００７３】
ＣＯＭ−ＡＣＣ２−５は受け取ったＰＤＵを元データ格納部１１にセットする。また、ここで渡されたＰＤＵＩＤを検索キーとして、ＯＬＤデータ１２をＲＡＭから読み出す（ステップＳ１００２）。
【００７４】
ＰＤＵＩＤによって、ＰＤＵにいくつのシグナルが含まれているか、各シグナルがどのようなフィルタ処理を行うか判断できる。そこでＣＯＭ−ＡＣＣ２−５のフィルタアルゴリズム選択回路１７はＰＤＵＩＤを元にフィルタアルゴリズム選択データ１５、シグナル境界情報１０の設定を行う（ステップＳ１００３）。さらに、フィルタアルゴリズムに合わせて、Ｘ／ＭＡＸデータ１３、Ｍａｓｋ／Ｍｉｎデータ１４の設定を行う（ステップＳ１００４）。
【００７５】
ここまで終了したところで比較器１６が元データ格納部１１、ＯＬＤデータ１２及び他の設定に基づきフィルタ処理を行う（ステップＳ１００５）。
【００７６】
このフィルタ処理の結果はフィルタ演算結果出力領域１８に格納される。このフィルタ演算結果出力領域１８に格納されたフィルタ処理の結果は次回のフィルタ処理においてＯＬＤデータとして使用される。従って、ＲＡＭ上のシグナルバッファ２−６に存在するＯＬＤデータを更新する（ステップＳ１００６）。
【００７７】
このステップＳ１００６でＲＡＭ上に存在するＯＬＤデータを更新する際、後述する書き込み用の「データ更新用マスク」を用いる。
【００７８】
また、フィルタ演算結果出力領域１８に格納されたフィルタ処理の結果はシグナル単位でＣＯＭソフトウェア１０５に戻される（ステップＳ１００７）。
【００７９】
この一連の処理において、ＣＯＭソフトウェア１０５とＣＯＭ−ＡＣＣ２−５との処理の分担について図７を用いて説明する。図７はＣＯＭソフトウェア１０５とＣＯＭ−ＡＣＣ２−５との処理の分担についての概念図である。
【００８０】
まず、ＰＤＵルータソフトウェア１０４からＣＯＭソフトウェア１０５に対して送信されるＰＤＵ及びＰＤＵＩＤをＣＯＭソフトウェア１０５は受信する（＃１）。ＣＯＭソフトウェアは、ＰＤＵに対して所定の処理を行う。処理後のＰＤＵデータ及びＰＤＵＩＤをＣＯＭソフトウェア１０５はＣＯＭ−ＡＣＣ２−５に対して送信する（＃２（Ｓ１００１））。送信後、ＣＯＭソフトウェア１０５はＣＯＭ−ＡＣＣ２−５に対して動作トリガを発行し（＃３）、ＣＯＭ−ＡＣＣ２−５の処理を開始する。
【００８１】
ＣＯＭ−ＡＣＣ２−５はＲＡＭ２−３上のシグナルバッファからＯＬＤデータを読み出し（＃４（Ｓ１００２））、フィルタ処理に必要なＸ／ＭＡＸデータ１３、Ｍａｓｋ／Ｍｉｎデータ１４、フィルタアルゴリズム選択データ１５をＲＯＭ２−４から読み出し、フィルタ処理を開始する。ＣＯＭ−ＡＣＣ２−５はフィルタ処理、アップデートビットチェック、データ更新用マスク作成、データ更新、シグナル抽出を行う。この際、アップデートビットチェックに用いるアップデートフラグビットイネイブル情報３１とアップデートフラグビット位置情報３２をＲＯＭ２−４などから読み出す（＃５）。
【００８２】
データ更新用マスクを作成した場合、ＣＯＭ−ＡＣＣ２−５はＲＡＭ２−３上のシグナルバッファのＯＬＤデータを更新する（＃６（Ｓ１００６））。
【００８３】
ＣＯＭ−ＡＣＣ２−５はその後、抽出したシグナルデータをＣＯＭソフトウェア１０５に送信する（＃７（Ｓ１００７））。ＣＯＭソフトウェア１０５は受け取ったシグナルデータを上位に通知し、図示していない上位からの問い合わせに応じ上位へ送信する。なお抽出したシグナルデータの受け渡しを、直接インターフェースを通して行うか、アドレスの番地の引渡しで行うかは設計事項である。
【００８４】
次に、マスク生成回路でのデータ更新用マスクの作成方法について図８を用いて説明する。図８は本発明に関わるデータ更新用マスク生成回路の構成を表す概念図である。本図の各データにおいても、一番左が第１ビットであり、一番右が第８ビットであるとする。
【００８５】
このデータ更新用マスク生成回路は、データとして比較結果レジスタ２１、シグナル境界情報１０、書き込み用マスク２２、書き込み用反転マスク２３、元データ格納部１１、ＯＬＤデータ１２、シグナルバッファ入力値２４を取り扱う。
【００８６】
本図においては、図５と共通の入力データとして、書き込みの元になるフィルタ演算結果出力領域１８のデータだけでなく、シグナル境界情報１０、元データ格納部の値１１、ＯＬＤデータ１２も用いられる。
【００８７】
比較結果レジスタ２１はフィルタ演算結果出力領域１８のデータに対してアップデートビットチェック結果（後述）を反映させた値（例えば論理積演算結果）である。このフィルタ演算結果出力領域１８のデータにアップデートビットチェック結果を反映させた値を「受信フラグデータ」と規定する。
【００８８】
この比較結果レジスタ２１の値とシグナル境界情報１０のデータを書き込み用マスク生成器１９で対比する。
【００８９】
既述の通り、シグナル境界情報１０では各シグナルの最上位のビットを「１」にすることで、その境界を表す。書き込み用マスク生成器１９には受信フラグデータとシグナル境界情報１０のデータが入力される。該書き込み用マスク生成器１９はシグナル境界情報１０のシグナルの「区切り」を識別すること、及び、シグナルの対応するビットにフィルタ演算結果出力領域１８に「１」がセットされているとき、出力である書き込み用マスク２２の該当するシグナル（すなわちフィルタ処理をパスしたシグナル）に対応するビット全てを「１」にセットすることを特徴とする。
【００９０】
書き込み用マスク生成器１９は、フィルタ処理をパスしたシグナルのビット全てを「１」に、フィルタ処理をパスしなかったシグナルのビットを全て「０」として書き込み用マスク２２に出力する。図８では比較結果レジスタ２１の第３ビット及び第５ビットで「１」が立っている。従って、書き込み用マスク２２は１６進数表記で「３Ｆ」となる。
【００９１】
書き込み用反転マスク２３は書き込み用マスク２２の出力を反転させたものである。従って、上述の例では書き込み用反転マスク２３は１６進数表記で「Ｅ０」となる。
【００９２】
その後、書き込み用マスク２２と書き込み用反転マスク２３を用いて、シグナルバッファ入力値生成回路２０がシグナルバッファ入力値２４を導出する。
【００９３】
シグナルバッファ入力値生成回路２０は、このシグナルバッファ入力値２４を生成するための論理回路である。すなわち、書き込み用マスク２２と元データ格納部１１の値の論理積で元データ格納部１１の値のうちフィルタをパスしたシグナルデータのみを残し、他のシグナルのビットを全て「０」にする。
【００９４】
また、書き込み用反転マスク２３とＯＬＤデータ１２の論理積でＯＬＤデータ１２のうち上書きされる部分のみを「０」にクリアし、残りのシグナルのビットはそのままの状態に維持する。
【００９５】
そして、書き込み用マスク２２及び書き込み用反転マスク２３に関する上記論理演算の結果の論理和をとることで、シグナルバッファ入力値２４を生成する。このシグナルバッファ入力値２４がデータ更新用マスクであり、図７のＯＬＤデータ更新（＃６）に用いる値である。すなわちＲＡＭ２−３上のシグナルバッファ２−６に、このシグナルバッファ入力値２４が書き込まれることとなる。
【００９６】
次に、この受信フラグデータの格納について検討する。
【００９７】
既述の通り、受信フラグデータはフィルタ演算結果出力領域１８のデータとアップデートビットチェック結果の論理積をとった値である。この受信フラグデータは最大６４ビットのデータであり、ＣＯＭ−ＡＣＣ２−５内で受信フラグデータをこのままの形で取り扱うと、受信フラグデータの取り扱いが複雑となり、メモリを多く消費する。そこで、ＣＯＭ−ＡＣＣ２−５内で必要な受信フラグデータのみを圧縮する必要がある。
【００９８】
この受信フラグデータの圧縮に際して、シグナル境界情報１０を用いる。すなわち、シグナル境界情報１０中で「１」が立っているビットのみが受信フラグデータで変化する可能性のあるビットである。逆を言えば、シグナル境界情報１０中で「１」が立っているビットのみを取り扱いの対象として、他のビットを削除すれば必要な受信フラグデータのみを圧縮することが可能となる。
【００９９】
図９は本発明に関わる受信フラグデータの圧縮回路の一部を表す回路図である。また図１０はこの図９の圧縮回路の動作を説明するための８ビット分の概念図である。図１０であげられている「１０００００１０」という２進数のデータは８ビットの受信フラグデータである。また、この受信フラグデータとの対比の対象となるシグナル境界情報の値は「１００１００１０」である。
【０１００】
図９にあらわす回路を図１０の斜線の升目の様に８段４３個の階段状に構成する。このように構成することで、右端から順にシグナル境界情報の値と受信フラグデータの値のＡＮＤを取って左端を検出する。「１」が埋まっていなければ、一段上の左となりから値を取得し、「１」が埋まっていれば「１」を選択データ分の段数重ねて実行する。このようにすれば、シグナル境界情報のうち１がセットされている数だけ右詰で１が埋まる。
【０１０１】
このビットの動きにフィルタの結果を連動させると、フィルタの結果が右詰でセットされる。
【０１０２】
次にＣＯＭ−ＡＣＣ２−５におけるシグナル抽出処理について説明する。
【０１０３】
図７でも述べたとおり、フィルタ処理後ＣＯＭ−ＡＣＣ２−５は受信フラグデータを得る。ここからシグナルデータを抽出するのがここで述べるシグナル挿入抽出回路でのシグナル抽出処理である。
【０１０４】
図１１はＣＯＭ−ＡＣＣ２−５におけるこのシグナル抽出処理の手順を表す概念図である。
【０１０５】
まず、受信フラグデータ中の取得を欲するシグナルの右端をＰＤＵの右端までシフトさせる（図１１（ａ））。
【０１０６】
その後、ＰＤＵの右端から取得を欲するシグナルのデータ長だけ「１」を挿入し、他のビットを「０」としたマスクデータを作成する（図１１（ｂ））。
【０１０７】
この図１１（ａ）のビットシフト後のＰＤＵデータと、図１１（ｂ）のマスクデータの論理積を取る（図１１（ｃ））。これにより、取得を欲するシグナルのみを得ることが可能になる（図１１（ｄ））。
【０１０８】
これとは逆に、ＣＯＭソフトウェア１０５は、複数のシグナルを内包するＰＤＵデータを構成する場合がある。すなわち、ＣＯＭソフトウェア１０５より物理層に近いモジュール（例えばＰＤＵルータソフトウェア１０４）に送信する場合である。この際、ＣＯＭソフトウェア１０５によるシグナル挿入処理については後述するＰＤＵ生成処理で説明する。
【０１０９】
最後にアップデートビットのチェックについて説明する。
【０１１０】
このアップデートビットのチェックは、マスク作成回路の比較結果レジスタ２１の値を導出するためのアップデートチェック結果を求める回路である。
【０１１１】
アップデートビットはＰＤＵ内の任意の位置に設定可能なシグナルの更新情報である。アップデートビットはＰＤＵの送信元である別のＥＣＵがセットする。
【０１１２】
ＰＤＵ内には送信側で更新したシグナル、更新しなかったシグナルが混在する場合がある。この際、更新されなかったシグナルについては受信側での利用価値が無い。従って、ＣＯＭソフトウェア１０５ではこのような更新されていないシグナルの処理は行わない。
【０１１３】
従来は、ＣＯＭソフトウェア１０５が、反復してＰＤＵデータからシグナルを切り出し、アップデートビットによりその変更の有無を判定し、アップデートビットが変更されていることを示すシグナルに対してフィルタ処理を行っていた。しかし、本実施の形態では、ＰＤＵ単位での一括フィルタ処理を行うため、更新されていないシグナルのフィルタ処理を行わない、という判断はできない。そこで、受信したシグナルは全てフィルタ処理し、フィルタ及びアップデートビットがセットされているシグナルのみＣＯＭソフトウェア１０５で処理を行うために送信する。さらにＣＯＭソフトウェア１０５で処理を行ったシグナルのＯＬＤデータを次のフィルタ処理で用いるために更新するために、各シグナルのフィルタ結果とアップデートビットのチェック結果の論理積を取った情報でマスクを作成し、ＯＬＤデータの更新を行う。
【０１１４】
このアップデートビットは、シグナル毎にアップデートビットを持つか否かを設定できる。従って、全シグナル対応してアップデートビットが設定されているわけではない。また、ＰＤＵ内でのシグナルデータの位置とアップデートビットの位置に関連性が無いため、シグナル境界情報１０では、チェックできない。このため、アップデートフラグイネイブル情報３１とアップデートフラグビット位置情報３２が必要となる。
【０１１５】
アップデートフラグイネイブル情報３１は、ＰＤＵ内の各シグナルのアップデートビット設定情報の有無を表す６４ビットの情報である。該シグナルのシグナル境界情報１０で「１」がセットされているビットに該シグナルのアップデートフラグイネイブル情報３１が格納される。アップデートフラグイネイブル情報３１が「１」のシグナルについては、ＰＤＵ内のいずれかの位置にアップデートフラグが存在する。
【０１１６】
アップデートフラグビット位置情報３２は、ＰＤＵ内の任意の位置に設定できるアップデートビットの設定場所に関する６４ビット情報である。このアップデートフラグイネイブル情報３１で「１」が立っているビットであれば、対応するＰＤＵのビットにアップデートビット自体が存在することとなる。
【０１１７】
まとめると次のようになる。
【０１１８】
アップデートフラグイネイブル情報３１及びシグナル境界情報１０の双方共に「１」が立っているシグナルは、アップデートフラグを有するシグナルに関する情報であると判断する（状況１）。
【０１１９】
一方、シグナル境界情報１０が「１」で、アップデートフラグイネイブル情報３１が「０」のＰＤＵのビットであれば、アップデートフラグを持たないシグナルに関する情報であると判断する（状況２）。
【０１２０】
また、アップデートフラグビット位置情報３２が「１」であるＰＤＵのビットは、いずれかのシグナルのアップデートフラグビットであると認識される。
【０１２１】
なお、いずれのアップデートフラグビットがいずれのシグナルに対応するかを判定する手段については設計事項であり、本明細書では限定しない。例えば、アップデートフラグビットを有するシグナルの並び順と、アップデートフラグビットの並び順をかならず一致させるなどの解決方法が考えられる。
【０１２２】
これらのアップデートフラグイネイブル情報３１及びアップデートフラグビット位置情報３２はＰＤＵＩＤを参照してＣＯＭ−ＡＣＣ２−５がＲＡＭ２−３もしくはＲＯＭ２−４から読み出すこととなる。
【０１２３】
本回路においては、ＰＤＵ内のアップデートフラグビット位置情報３２が指し示す位置のデータが「１」であればアップデートされていると判断する。これらのアップデートビット情報を集め、フィルタの結果と論理積を取るため、アップデートフラグビット位置情報３２をシグナル境界情報１０の位置に反映させたアップデートフラグチェック結果３３を生成する（図１４）。
【０１２４】
その結果、１）フィルタ演算結果（フィルタ演算結果出力領域１８に格納されている値）が「１」かつアップデートビットが設定され（状況１）、該シグナルに対応するアップデートフラグビットが「１」のとき、もしくは２）シグナル境界情報１０が「１」で、アップデートフラグイネイブル情報３１が「０」のとき（状況２）は更新されたシグナルであると判断する。そしてこれらをＯＬＤデータ１２の上書きの対象とし、既述の通り、データ更新用マスク生成回路の前段階で用いられる（比較結果レジスタ２１の説明を参照）。
【０１２５】
以上のような構成を取ることで、ＰＤＵデータ中に含まれるシグナル単位で処理を繰り返すことなく、ＰＤＵデータで一括してフィルタ処理、更新用マスクの作成、及び一時記憶への上書きを行うことが可能となる。
【０１２６】
（ＰＤＵ生成処理）
図１２はＰＤＵ生成処理におけるＣＯＭソフトウェア１０５とＣＯＭ−ＡＣＣ２−５との処理の分担について説明する概念図である。
【０１２７】
まず、ＣＯＭソフトウェア１０５が他のＥＣＵに送信するシグナル（１以上）を上位アプリケーションより受け取る。ＣＯＭソフトウェア１０５は受け取ったシグナルと生成すべきＰＤＵを示すＰＤＵＩＤもしくはＰＤＵＩＤが関連付けされたシグナルＩＤをＣＯＭ−ＡＣＣ２−５に対して送信する（＃８（Ｓ２００１））。送信後、ＣＯＭソフトウェア１０５はＣＯＭ−ＡＣＣ２−５に対して動作トリガを発行し（＃９）、ＣＯＭ−ＡＣＣ２−５の処理を開始する。
【０１２８】
ＣＯＭ−ＡＣＣ２−５はＲＡＭ２−３上のシグナルバッファからＰＤＵＩＤに対応するＯＬＤデータを読み出す（＃１０（Ｓ２００２））。送信用の新たなＰＤＵとして、シグナル挿入抽出回路を用いて、新たに生成されたシグナルが設定されるべき場所に設定する。また、新たに生成されたシグナルのアップデートビットを、アップデートビット生成抽出回路を用いて、送信用の新たなＰＤＵに設定する。送信用の新たなＰＤＵのうち、新たに生成されたシグナルではないシグナルが設定される場所にはＲＡＭ２−３から読み出したＯＬＤデータを設定すればよい。
【０１２９】
新たに生成された送信用のＰＤＵに対して、他のＥＣＵへの送信タイミングを決定する等のフィルタ処理を図５のフィルタ回路を用いて行った後、シグナル・ＰＤＵ送信バッファにフィルタ処理後の送信用のＰＤＵを設定してＣＯＭソフトウェア１０５に送信する（＃１１（Ｓ２００７））。ＣＯＭソフトウェア１０５は生成した送信用のＰＤＵを他のＥＣＵへ送信するために、ＰＤＵルータソフトウェア１０４、ＣＡＮインターフェースソフトウェア１０３、ＣＡＮドライバソフトウェア１０２、ＣＡＮＩＰ２−２を経由してＣＡＮネットワークに出力する（＃１２）。
【０１３０】
図１３はシグナル挿入抽出回路でのシグナル挿入処理の手順を表す概念図である。
【０１３１】
まず、ＣＯＭ−ＡＣＣ２−５から受信したシグナルを所定のＮビットシフトレジスタへ下位詰めで格納する。その際、該受信したシグナル以外のビットには「０」をセットする。その後、そのＮビットシフトレジスタを、該シグナルを挿入する所定のビット数だけ左シフトする（図１３（ａ））。
【０１３２】
次に、図１３（ａ）のシフト後のＮビットシフトレジスタに対応して、シグナルデータ部が「０」で他のビットが「１」のマスクデータを作成する（図１３（ｂ））。
【０１３３】
その後、該受信したシグナルを挿入するＰＤＵとＮビットシフトレジスタを、図１３（ｂ）のマスクデータを用いてマージする（図１３（ｃ））。
【０１３４】
これによりＮビットシフトレジスタに格納された受信したシグナルが挿入されたＰＤＵの作成が完了する（図１３（ｄ））。
【０１３５】
以上、ＰＤＵからのシグナル抽出処理と送信用のＰＤＵの生成処理とにおいて、共通する回路を用いて処理を行うことが可能となる。
【０１３６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。
【産業上の利用可能性】
【０１３７】
本発明は、ＡＵＴＯＳＡＲ（登録商標）のＣＯＭソフトウェア並びに該ＣＯＭソフトウェアを有するＥＣＵの負荷軽減を目的とする。
【符号の説明】
【０１３８】
１…送信側ＥＣＵ、２…受信側ＥＣＵ、
２−１…ＣＰＵ、２−２…ＣＡＮＩＰ、２−３…ＲＡＭ、２−４…ＲＯＭ、
２−５…ＣＯＭ−ＡＣＣ（ＣＯＭアクセラレータ）、２−６…シグナルバッファ、
３…ＣＡＮ、１０…シグナル境界情報、１１…元データ格納部、１２…ＯＬＤデータ、
１３…Ｘ／ＭＡＸデータ、１４…Ｍａｓｋ／Ｍｉｎデータ、
１５…フィルタアルゴリズム選択データ、１６…比較器、
１７…フィルタアルゴリズム選択回路、１８…フィルタ演算結果出力領域、
１９…書き込み用マスク生成器、２０…シグナルバッファ入力値生成回路、
２１…比較結果レジスタ、２２…書き込み用マスク、
２３…書き込み用反転マスク、２４…シグナルバッファ入力値、
１０２…ＣＡＮドライバソフトウェア、
１０３…ＣＡＮインターフェースソフトウェア、
１０４…ＰＤＵルータソフトウェア、１０５…ＣＯＭソフトウェア。
【図１】
2012165033.tif 000003
【図２】
2012165033.tif 000004
【図３】
2012165033.tif 000005
【図４】
2012165033.tif 000006
【図５】
2012165033.tif 000007
【図６】
2012165033.tif 000008
【図７】
2012165033.tif 000009
【図８】
2012165033.tif 000010
【図９】
2012165033.tif 000011
【図１０】
2012165033.tif 000012
【図１２】
2012165033.tif 000013
【図１３】
2012165033.tif 000014
【図１４】
2012165033.tif 000015
【図１５】
2012165033.tif 000016
【図１１】
2012165033.tif 000017