(57)【要約】【課題】シグナルと指定条件との比較処理などの点においてＣＰＵの負担を軽減する。【解決手段】メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルの情報をＲＡＭへ転送し、前記シグナルの指定条件との一致又は前記シグナルの指定条件との許可された不一致を起因とする割り込みを要求する。物理層はＲＡＭに格納したシグナルの情報を、割り込みを要求してそのまま上位層に処理させることができる。上位層はＲＡＭに格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。【選択図】図１
2014134907.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ、ＲＡＭ、割り込みコントローラ、ネットワークプロトコルコントロール部及び判定コントロール部を有するデータプロセッサであって、
前記ネットワークプロトコルコントロール部はメッセージボックスに対して通信フレーム単位で送信又は受信のための処理を行い、
前記判定コントロール部は、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルをＲＡＭへ転送し、前記シグナルの指定条件との一致又は前記シグナルの指定条件との許可された不一致を起因とする割り込みを要求する、データプロセッサ。
【請求項２】
請求項１において、前記判定コントロール部は、割り込みによる分岐先を取得するためのオフセット情報を前記指定条件に一致したときのシグナル単位及び不一致に係るシグナル単位で保有するオフセット情報レジスタ回路を有し、前記割り込み要求において対応する前記オフセット情報を前記割り込みコントローラにより参照可能にする、データプロセッサ。
【請求項３】
請求項２において、前記判定コントロール部は更に、前記シグナルの指定条件との一致及び前記シグナルの指定条件との許可された不一致に対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリに優先順位順に格納する順序判定回路を有し、
前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出し、
前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する、データプロセッサ。
【請求項４】
請求項３において、前記判定コントロール部は更に、前記指定条件と一致するか否かの前記通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされる一致信号及び不一致とされることによりアクティブにされる許可された不一致信号の数を計数するカウンタと、前記指定条件と一致するか否かの前記シグナル単位の判別で一致によりアクティブにされる一致信号及び不一致によりアクティブにされる許可された不一致信号の論理和信号を割り込み要求として出力する論理和回路と、前記アクティブな一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路にオフセット情報を供給する一致信号毎の一致選択ゲートと、前記許可されたアクティブな不一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路に対応するオフセット情報を供給する不一致信号毎の不一致選択ゲートと、を有し、
前記順序判定回路は、前記一致選択ゲート及び不一致選択ゲートから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリに格納し、
前記割り込みコントローラは、指定条件との一致判定動作でカウンタにより計数された値に一致する回数に達するまで優先順位順にオフセット情報の読み出しを繰返す、データプロセッサ。
【請求項５】
請求項４において、前記ネットワークプロトコルコントロール部はＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御を行う、データプロセッサ。
【請求項６】
ＣＰＵ、ＲＡＭ、割り込みコントローラ、ネットワークプロトコルコントロール部及び判定コントロール部を有するデータプロセッサであって、
前記ネットワークプロトコルコントロール部はメッセージボックスに対して通信フレーム単位で送信又は受信のための処理を行い、
前記判定コントロール部は、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルをＲＡＭへ転送し、前記シグナルの指定条件との一致を起因とする割り込みを要求する、データプロセッサ。
【請求項７】
請求項６において、前記判定コントロール部は、割り込みによる分岐先を取得するためのオフセット情報を前記指定条件に一致したときのシグナル単位で保有するオフセット情報レジスタ回路を有し、前記割り込み要求において対応する前記オフセット情報を前記割り込みコントローラにより参照可能にする、データプロセッサ。
【請求項８】
請求項７において、前記判定コントロール部は更に、前記シグナルの指定条件との一致に対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリに優先順位順に格納する順序判定回路を有し、
前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出し、
前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する、データプロセッサ。
【請求項９】
請求項８において、前記判定コントロール部は更に、前記指定条件と一致するか否かの前記通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされる一致信号の数を計数するカウンタと、前記指定条件と一致するか否かの前記シグナル単位の判別で一致によりアクティブにされる一致信号の論理和信号を割り込み要求として出力する論理和回路と、前記アクティブな一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路にオフセット情報を供給する一致信号毎の選択ゲートと、を有し、
前記順序判定回路は、前記選択ゲートから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリに格納し、
前記割り込みコントローラは、指定条件との一致判定動作でカウンタにより計数された値に一致する回数に達するまで優先順位順にオフセット情報の読み出しを繰返す、データプロセッサ。
【請求項１０】
請求項９において、前記ネットワークプロトコルコントロール部はＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御を行う、データプロセッサ。
【請求項１１】
ＣＰＵ、ＲＡＭ、割り込みコントローラ、ネットワークプロトコルコントロール部及び判定コントロール部を有するデータプロセッサであって、
前記ネットワークプロトコルコントロール部はメッセージボックスに対して通信フレーム単位で送信又は受信のための処理を行い、
前記判定コントロール部は、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルをＲＡＭへ転送し、前記シグナルの指定条件との一致又は前記シグナルの指定条件との不一致を起因とする割り込みを要求する、データプロセッサ。
【請求項１２】
請求項１１において、前記判定コントロール部は、割り込みによる分岐先を取得するためのオフセット情報を前記指定条件に一致するシグナル単位及び不一致に係るシグナル単位で保有するオフセット情報レジスタ回路を有し、前記割り込み要求において対応する前記オフセット情報を前記割り込みコントローラにより参照可能にする、データプロセッサ。
【請求項１３】
請求項１２において、前記判定コントロール部は更に、前記シグナルの指定条件との一致及び前記シグナルの指定条件との不一致に対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリに優先順位順に格納する順序判定回路を有し、
前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出し、
前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する、データプロセッサ。
【請求項１４】
請求項１３において、前記判定コントロール部は更に、前記指定条件と一致するか否かの前記通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされる一致信号及び不一致とされることによりアクティブにされる不一致信号の数を計数するカウンタと、前記指定条件と一致するか否かの前記シグナル単位の判別で一致によりアクティブにされる一致信号及び不一致によりアクティブにされる不一致信号の論理和信号を割り込み要求として出力する論理和回路と、前記アクティブな一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路にオフセット情報を供給する一致信号毎の一致選択ゲートと、前記アクティブな不一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路に対応するオフセット情報を供給する不一致信号毎の不一致選択ゲートと、を有し、
前記順序判定回路は、前記一致選択ゲート及び不一致選択ゲートから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリに格納し、
前記割り込みコントローラは、指定条件との一致判定動作でカウンタにより計数された値に一致する回数に達するまで優先順位順にオフセット情報の読み出しを繰返す、データプロセッサ。
【請求項１５】
請求項１４において、前記ネットワークプロトコルコントロール部はＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御を行う、データプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＮ（Controller Area Network）通信制御機能を有するデータプロセッサ、特に、その受信処理に関し、例えばＣＡＮのＡＵＴＯＳＡＲ（AUTomotive Open System ARchitecture）に準拠した通信制御における受信処理に適用して有効な技術に関する。
【背景技術】
【０００２】
ＣＡＮにおけるPDU（Protocol Data Unit）であるフレームのフォーマットは、ＳＯＦ（start Of Frame）を先頭にフレーム識別子（ＩＤ）としてのフレームＩＤ、データ長などを示すＤＬＣ（Data Length Code）、メッセージとしてのＣＡＮデータが配置されるデータフィールド、ＣＲＣシーケンスフィールド、およびＥＯＦ（End Of Frame）などを有する。ＡＵＴＯＳＡＲではデータフィールドには複数のシグナル（signal）を格納する領域が含まれる。
【０００３】
ＡＵＴＯＳＡＲのＣＡＮ受信処理は、物理層処理であるキャン・ドライバ処理 (CAN driver：Can)、キャン・インタフェース処理（CAN interface：ＣａｎＩｆ）、及びプロトコルデータユニット・ルータ処理（PDU router：ＰｄｕＲ）、更に論理層処理であるコミュニケーション処理（Communication：ＣＯＭ）の順に処理される。ＣａｎＤｒｖでは新しいメッセージが受信されたメッセージボックス（BOX）をサーチする。ＣａｎＩｆでは受信したデータ長（DLC）が正しいかを確認する。ＰｄｕＲでは受信したフレーム識別子ＩＤをチェックし、シグナル（Signal）の割り振り先を決める。ＣＯＭはアップデートビット（Up date bit：シグナルに含まれる送信側が新しいデータに更新した事を示すステータスビット)のチェックとシグナルの値全体も期待値であるか確認する。また、ＣＯＭでは、アップデートビット（Up date bit）が“1”(送信側が新しいデータに更新した)、且つシグナル値全体が期待値と一致していれば、ＲＡＭにシグナルを格納する処理も行う。格納場所はフレーム識別子ＩＤ、シグナル番号（Signal No）毎に決められている。アップデートビット（Up date bit）が“0”(送信側が新しいデータに更新していない)、もしくはシグナルの値全体が不一致の場合は、シグナルをＲＡＭ（Random Access Memory）格納せずにユーザプログラムに戻る。
【０００４】
ＲＡＭ格納したシグナルは上位層（例えばユーザプログラム）から要求があった場合は、要求されたシグナルを渡し、上位層にてシグナルに応じた処理を行う。このとき、ＲＡＭに最新データが格納されていない場合には、前回のシグナルや、初期値が上位層に渡されるため、上位層では、ＲＡＭから返された信号が期待値であるか否かを独自に判定しなければならない。
【０００５】
特許文献１にはネットワークらメッセージを受信してフィルタリングを通過したメッセージのみキューに格納する割り込みサービスルーチンを用いることについて記載がある。要するに、割り込みを用いて処理すべきメッセージを抽出することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−８６１４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明者はＡＵＴＯＳＡＲのＣＡＮ受信処理におけるシグナルと期待値との比較処理について検討した。そのような比較処理を物理層だけでなく上位相でも独自に行わなければならないとすると、以下の問題点のあることが明らかになった。すなわち、アップデートビット（Up date bit）を含めたシグナルの内容に関わらず、ＣＯＭでのアップデートビット（Up date bit）のチェック、もしくはシグナル全体の判定処理までは必ず物理層で実施される。特に、ＣＯＭの処理は、アップデートビット(Up date bit)やシグナルの内容により異なる処理が行われ、各処理に分岐するための複雑な判定処理が行われる。さらに、上位層は、シグナルに応じた処理を行うため、上位層はＣＯＭで得られたシグナルを要求する処理も必要となる。自動車のボディー制御などでは通信相手が多く、複数チャネルのＣＡＮを使用するため、受信頻度が高くなる。その際、都度複雑な判定処理、多くのソフトウェア処理を行う必要があり、ＣＰＵ（中央処理装置）はＣＡＮの処理に専念する必要がある。そのため、消費電流削減に向けてスリープモード(ＣＰＵクロックの停止)に遷移しても、短期間のみしかスリープ状態に入ることができず、実質的に低消費電力を実現することができないという問題点のあることが本発明者によって見出された。特許文献１ではそのような点について着眼されていない。
【０００８】
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルの情報をＲＡＭへ転送し、前記シグナルの指定条件との一致又は前記シグナルの指定条件との許可された不一致を起因とする割り込みを要求する。
【００１１】
これによれば、物理層はＲＡＭに格納したシグナルの情報を、割り込みを要求してそのまま上位層に処理させることができる。上位層はＲＡＭに格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。指定条件に不一致のシグナルについても許可されたものに対しては割り込みを要求して上位層にエラー処理等をさせることができる。
【発明の効果】
【００１２】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１３】
すなわち、シグナルと指定条件との比較処理などの点においてＣＰＵの負担を軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】図１はデータプロセッサのハードウェア構成を例示するブロック図である。
【図２】図２はＣＡＮのデータフレームフォーマットを例示するフォーマット図である。
【図３】図３は判定コントロール部の詳細な構成を例示するブロック図である。
【図４】図４はベースアドレス及びオフセットを用いて特定される割り込み処理プログラムのメモリ配置を例示するマッピング図である。
【図５】図５は図４の割り込み処理プログラム配置を一例とした場合における判定コントロール部からの割り込み処理要求に応ずる割り込み処理動作を例示するフローチャートである。
【図６】図６は期待値と一致するシグナルに対して上位層であるユーザプログラムによる受信処理を行う場合のＣＰＵ２によるソフトウェア処理を例示するフローチャートである。
【図７】図７は判定コントロール部を用いない場合にその処理をＣＰＵがソフトウェアプログラムを実行して行うときフローチャートである。
【図８】図８は物理層処理及び論理層処理の具体例を示すフローチャートである。
【図９】図９はＣＰＵがスリープ状態から動作可能状態に復帰してステップＳ２０の処理を行う場合の処理ループを例示するフローチャートである。
【図１０】図１０はＣＰＵがスリープ状態から動作可能状態に復帰してステップＳ３１〜Ｓ３３の処理を行う場合の処理ループを例示するフローチャートである。
【発明を実施するための形態】
【００１５】
１．実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１６】
〔１〕＜指定条件に一致及び許可された不一致に係るアップデートシグナルを処理するための割り込み要求発生＞
データプロセッサ（１）は、ＣＰＵ（２）、ＲＡＭ（４）、割り込みコントローラ（５）、ネットワークプロトコルコントロール部（６）及び判定コントロール部（７）を有する。前記ネットワークプロトコルコントロール部はメッセージボックス（ＭＢＸ０〜ＭＢＸｎ）に対して通信フレーム単位で送信又は受信のための処理を行う。前記判定コントロール部は、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル（ＳＩＧ０〜ＳＩＧｍ）単位に指定条件（期待値）と一致するか否かを判別し、一致に係るシグナルの情報をＲＡＭへ転送し、前記シグナルの指定条件との一致又は前記シグナルの指定条件との許可された不一致を起因とする割り込みを要求する（ＩＲＱ，ＶＣＴＲ）。
【００１７】
これによれば、物理層はＲＡＭに格納したシグナルの情報を、割り込みを要求してそのまま上位層に処理させることができる。上位層はＲＡＭに格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。したがって、シグナルと指定条件との比較処理などの点においてＣＰＵの負担を軽減することができ、低消費電力に寄与することができる。指定条件との不一致の要因に対しても割り込みを要求して上位層にエラー処理等をさせることができる。低消費電力を最優先にする場合には、指定条件に不一致のシグナルについて一切許可しなければよい。
【００１８】
〔２〕＜割り込み要求機構＞
項１において、前記判定コントロール部は、割り込みによる分岐先を取得するためのオフセット情報（ＴＯＳｓｉｇ０〜ＴＯＳｓｉｇｍ，ＦＯＳｄｌｃ，ＦＯＳｓｉｇ０〜ＦＯＳｓｉｇｍ）を前記指定条件に一致したときのシグナル単位及び不一致に係るシグナル単位で保有するオフセット情報レジスタ回路（ＯＳＲ０〜ＯＳＲｎ）を有し、前記割り込み要求において対応する前記オフセット情報を前記割り込みコントローラにより参照可能にする。
【００１９】
これによれば、指定条件との一致及び不一致の要因に応じた割り込み処理への分岐先をオフセット情報の設定内容に従って柔軟に制御可能になる。
【００２０】
〔３〕＜割り込み優先順位の指定＞
項２において、前記判定コントロール部は更に、前記シグナルの指定条件との一致及び前記シグナルの指定条件との許可された不一致に対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリ（ＢＭＲＹ）に優先順位順に格納する順序判定回路（ＴＲＯＤＲ）を有する。前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出す。前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する。
【００２１】
これによれば、単一フレームに含まれる複数のシグナルに対する判別が並列的に行われて指定条件との一致及び不一致に係る割り込み要因の発生が競合してもその優先順位に従ってＣＰＵに割り込み処理を実行させることが可能になる。
【００２２】
〔４〕＜カウンタで計数した条件一致回数を用いたオフセット情報の読み出し制御＞
項３において、前記判定コントロール部は更に、前記指定条件と一致するか否かの前記通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされる一致信号（ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍ）及び不一致とされることによりアクティブにされる許可された不一致信号（ＦＲＴｂｌｃ，ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍ）の数を計数するカウンタ（ＣＯＵＮＴ）を有する。更に、前記指定条件と一致するか否かの前記シグナル単位の判別で一致によりアクティブにされる一致信号及び不一致によりアクティブにされる許可された不一致信号の論理和信号を割り込み要求として出力する論理和回路（ＯＲ）と、前記アクティブな一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路にオフセット情報を供給する一致信号毎の一致選択ゲート（Ｇｔｏｓ）とを有する。更に、前記許可されたアクティブな不一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路に対応するオフセット情報を供給する不一致信号毎の不一致選択ゲート（Ｇｆｏｓ）と、を有する。前記順序判定回路は、前記一致選択ゲート及び不一致選択ゲートから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリに格納する。前記割り込みコントローラは、指定条件との一致判定動作でカウンタにより計数された値に一致する回数に達するまで優先順位順にオフセット情報の読み出しを繰返す。
【００２３】
これによれば、前記ＣＰＵは順次読み出されたオフセット情報を参照しながら割り込み処理に分岐する処理を繰返すことによって、一つの通信フレームにおいて指定条件に一致及び許可された不一致に係る全ての要因に対して割り込みにより所要の処理を一連に実行することができる。
【００２４】
〔５〕＜ＣＡＮのＡＵＴＯＳＡＲに対応＞
項４において、前記ネットワークプロトコルコントロール部はＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御を行う。
【００２５】
これによれば、エンジン停止状態で電力を消費する自動車ボディー系のＥＣＵ（Electronic Control Unit）などにおける低電力化に好適である。
【００２６】
〔６〕＜指定条件に一致するアップデートシグナルを処理するための割り込み要求発生＞
データプロセッサは、ＣＰＵ、ＲＡＭ、割り込みコントローラ、ネットワークプロトコルコントロール部及び判定コントロール部を有する。前記ネットワークプロトコルコントロール部はメッセージボックスに対して通信フレーム単位で送信又は受信のための処理を行う。前記判定コントロール部は、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルの情報をＲＡＭへ転送し、前記シグナルの指定条件との一致を起因とする割り込みを要求する。項１との相違は、シグナルの指定条件との不一致に係る割り込み要求を要求しない、という点である。
【００２７】
これによれば、物理層はＲＡＭに格納したシグナルの情報を、割り込みを要求してそのまま上位層に処理させることができる。上位層はＲＡＭに格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。したがって、シグナルと指定条件との比較処理などの点においてＣＰＵの負担を軽減することができ、低消費電力に寄与することができる。
【００２８】
〔７〕＜割り込み要求機構＞
項６において、前記判定コントロール部は、割り込みによる分岐先を取得するためのオフセット情報を前記指定条件に一致したときのシグナル単位で保有するオフセット情報レジスタ回路を有し、前記割り込み要求において対応する前記オフセット情報を前記割り込みコントローラにより参照可能にする。項２との相違はオフセット情報レジスタ回路が保有するオフセット情報は指定条件に一致したときのシグナル単位係るものであって、不一致に係るシグナル単位のオフセット情報については関知しない点である。
【００２９】
これによれば、指定条件との一致係るシグナル毎の割り込み要因に応じた割り込み処理への分岐先をオフセット情報の設定内容に従って柔軟に制御可能になる。
【００３０】
〔８〕＜割り込み優先順位の指定＞
項７において、前記判定コントロール部は更に、前記シグナルの指定条件との一致に対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリに優先順位順に格納する順序判定回路を有する。前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出す。前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する、データプロセッサ。前記判定コントロール部は更に、前記指定条件に一致するシグナルに対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリに優先順位順に格納する順序判定回路を有する。前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出する。前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する。項３との相違は、指定条件との不一致に係る割り込み処理への分岐には関与しない点である。
【００３１】
これによれば、単一フレームに含まれる複数のシグナルに対する判別が並列的に行われて指定条件との一致に係る割り込み要因の発生が競合してもその優先順位に従ってＣＰＵに割り込み処理を実行させることが可能になる。
【００３２】
〔９〕＜カウンタで計数した条件一致回数を用いたオフセット情報の読み出し制御＞
項８において、前記判定コントロール部は更に、前記指定条件と一致するか否かの前記通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされる一致信号の数を計数するカウンタを有する。更に、前記指定条件と一致するか否かの前記シグナル単位の判別で一致によりアクティブにされる一致信号の論理和信号を割り込み要求として出力する論理和回路と、前記アクティブな一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路にオフセット情報を供給する一致信号毎の選択ゲートと、を有する。前記順序判定回路は、前記選択ゲートから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリに格納する。前記割り込みコントローラは、指定条件との一致判定動作でカウンタにより計数された値に一致する回数に達するまで優先順位順にオフセット情報の読み出しを繰返す。項４との相違は、指定条件との不一致に係るオフセット情報及びそれを用いる割り込み処理への分岐には関与しない点である。
【００３３】
これによれば、前記ＣＰＵは順次読み出されたオフセット情報を参照しながら割り込み処理に分岐する処理を繰返すことによって、一つの通信フレームにおいて指定条件に一致する全てのシグナルに対して割り込みにより所要の処理を一連に実行することができる。
【００３４】
〔１０〕＜ＣＡＮのＡＵＴＯＳＡＲに対応＞
項９において、前記ネットワークプロトコルコントロール部はＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御を行う。
【００３５】
これによれば、項５と同様に自動車ボディー系のＥＣＵなどにおける低電力化に好適である。
【００３６】
〔１１〕＜指定条件に一致及び不一致の双方に係るアップデートシグナルを処理するための割り込み要求発生＞
データプロセッサは、ＣＰＵ、ＲＡＭ、割り込みコントローラ、ネットワークプロトコルコントロール部及び判定コントロール部を有する。前記ネットワークプロトコルコントロール部はメッセージボックスに対して通信フレーム単位で送信又は受信のための処理を行う。前記判定コントロール部は、メッセージボックスに書き込まれた一つの通信フレームに係る受信信号のシグナル単位に指定条件と一致するか否かを判別し、一致に係るシグナルの情報をＲＡＭへ転送し、前記シグナルの指定条件との一致又は前記シグナルの指定条件との不一致を起因とする割り込みを要求する。項１との相違は指定条件との不一致に係るシグナルについて一部を割込み要求の対象から除外せず、許可されたものに限定しない、という点である。
【００３７】
これによれば、物理層はＲＡＭに格納したシグナルを、割り込みを要求してそのまま上位層に処理させることができる。上位層はＲＡＭに格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。したがって、シグナルと指定条件との比較処理などの点においてＣＰＵの負担を軽減することができ、低消費電力に寄与することができる。指定条件との不一致についても割り込みを要求して上位層にエラー処理等をさせることができる。
【００３８】
〔１２〕＜割り込み要求機構＞
項１１において、前記判定コントロール部は、割り込みによる分岐先を取得するためのオフセット情報を前記指定条件に一致するシグナル単位及び不一致に係るシグナル単位で保有するオフセット情報レジスタ回路を有し、前記割り込み要求において対応する前記オフセット情報を前記割り込みコントローラにより参照可能にする。項２との相違は指定条件との不一致に係るシグナルについて一部を割込み要求の対象から除外せず、許可されたものに限定しない、という点である。
【００３９】
これによれば、指定条件との一致及び不一致に係る割り込み要因毎に応じた割り込み処理への分岐先をオフセット情報の設定内容に従って柔軟に制御可能になる。
【００４０】
〔１３〕＜割り込み優先順位の指定＞
項１２において、前記判定コントロール部は更に、前記シグナルの指定条件との一致及び前記シグナルの指定条件との不一致に対応して前記オフセット情報レジスタ回路から出力される複数のオフセット情報をバッファメモリに優先順位順に格納する順序判定回路を有する。前記割り込みコントローラは割り込み要求による割り込み処理サイクル単位で前記バッファメモリから優先順位順に一つずつオフセット情報を読み出す。前記ＣＰＵは読み出されたオフセット情報を参照して割り込み処理に分岐する。項３との相違は指定条件との不一致に係るシグナルについて一部を割込み要求の対象から除外せず、許可されたものに限定しない、という点である。
【００４１】
これによれば、単一フレームに含まれる複数のシグナルに対する判別が並列的に行われて指定条件との一致及び不一致に係る割り込み要因の発生が競合してもその優先順位に従ってＣＰＵに割り込み処理を実行させることが可能になる。
【００４２】
〔１４〕＜カウンタで計数した条件一致回数を用いたオフセット情報の読み出し制御＞
項１３において、前記判定コントロール部は更に、前記指定条件と一致するか否かの前記通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされる一致信号及び不一致とされることによりアクティブにされる不一致信号の数を計数するカウンタを有する。更に、前記指定条件と一致するか否かの前記シグナル単位の判別で一致によりアクティブにされる一致信号及び不一致によりアクティブにされる不一致信号の論理和信号を割り込み要求として出力する論理和回路と、前記アクティブな一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路にオフセット情報を供給する一致信号毎の一致選択ゲートとを有する。更に、前記アクティブな不一致信号単位で前記オフセット情報レジスタ回路から前記順序判定回路に対応するオフセット情報を供給する不一致信号毎の不一致選択ゲートと、を有する。前記順序判定回路は、前記一致選択ゲート及び不一致選択ゲートから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリに格納する。前記割り込みコントローラは、指定条件との一致判定動作でカウンタにより計数された値に一致する回数に達するまで優先順位順にオフセット情報の読み出しを繰返す。項４との相違は指定条件との不一致に係るシグナルについて一部を割込み要求の対象から除外せず、許可されたものに限定しない、という点である。
【００４３】
これによれば、前記ＣＰＵは順次読み出されたオフセット情報を参照しながら割り込み処理に分岐する処理を繰返すことによって、一つの通信フレームにおいて指定条件に一致及び不一致に係る全ての要因に対して割り込みにより所要の処理を一連に実行することができる。
【００４４】
〔１５〕＜ＣＡＮのＡＵＴＯＳＡＲに対応＞
項１４において、前記ネットワークプロトコルコントロール部はＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御を行う。
【００４５】
これによれば、項５と同様に自動車ボディー系のＥＣＵなどにおける低電力化に好適である。
【００４６】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００４７】
図１には一実施の形態に係るデータプロセッサ１のハードウェア構成が例示される。同図に示されるデータプロセッサ１は、特に制限されないが、ＣＭＯＳ集積回路製造技術によって単結晶シリコンのような１個の半導体基板に形成されている。
【００４８】
データプロセッサ１は、代表的に示されたＣＰＵ（中央処理装置）２、ＲＯＭ（Read Only Memory）３、ＲＡＭ４、割り込みコントローラ５、ＣＡＮプロトコルコントロール部６、判定コントロール部７及び図示を省略するその他周辺回路を有する。
【００４９】
ＣＰＵ２はＲＯＭ３に格納されているプログラムから順次命令をフェッチして実行する。ＲＯＭ３はプログラムのほかにパラメータデータや制御データを有する。ＲＯＭ３はマスクＲＯＭ又は電気的に書き換え可能なフラッシュメモリなどで実現される。ＲＡＭ４はＣＰＵ２のワーク領域又はバッファ領域などに用いられる。割り込みコントローラ５は判定コントロール部７及び図示を省略する周辺回路が出力する割り込み要求信号、さらにはデータプロセッサ１の外部で発生される割込み要求信号を入力し、例えば、競合する割り込み要求に対する割り込み優先制御と割り込み処理への分岐先を取得するためのベクタなどを取得する制御を行う。
【００５０】
ＣＡＮプロトコルコントロール部６はＣＡＮ、特にＡＵＴＯＳＡＲプロトコルに準拠した制御を行う。ＣＡＮプロトコルコントロール部６は、ＣＰＵ２からの送信指示にしたがって送信データの通信フレームを生成し、ＣＡＮ出力端子Ｐｔｘから外部の図示を省略するバストランスミッタに出力する。また、ＣＡＮプロトコルコントロール部６は、外部の図示を省略するバスレシーバで受信した通信フレームをＣＡＮ入力端子Ｐｒｘから入力し、入力した通信フレームの種別に従って受信情報を処理する。
【００５１】
ＣＡＮのデータフレームフォーマットは例えば図２に例示されるように、最初にフレームの先頭を表すためのＳＯＦ（Start Of Frame）が配置され、その後に、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、及びＡＣＫフィールドが続き、最後にフレームの終わりを示すＥＯＦ（End Of Frame）が設けられる。アービトレーションフィールドには、データ内容や送信ノードを識別するためのＩＤ（識別子：Identifier）及びＲＴＲ（Remote Transmission Requestが配置される。コントロールフィールドは、ＲＴＲ、拡張ＩＤ（ＩＤＥ）、予約ビットｒ０、及びデータ長コードＤＬＣ（Data Length Code）から構成される。データフィールドは例えばｍ個のシグナル(Signal)ＳＩＧ０〜ＳＩＧｍが配置され、シグナルＳＩＧ０〜ＳＩＧｍのそれぞれはアップデートビット（up date bit）を含んだデータとされる。データフィールドのデータ長（例えばバイト数）はデータ長コードＤＬＣが示す。ＣＲＣフィールドは、ＣＲＣ（Cyclic Redundancy Check）シーケンスを有する。ＣＲＣシーケンスは、送信ノードがＳＯＦ、ＩＤ、コントロールフィールド、データフィールドの送信値より演算した伝送誤り制御用のチェックコードである。受信ノードは送信ノードと同様にＳＯＦ、ＩＤ、コントロールフィールド、データフィールドの受信値から演算して、その結果を比較することで正常に受信できたかどうかの判断を行う。ＣＲＣデリミタはＣＲＣシーケンスの終了を表す区切り記号である。ＡＣＫフィールドは、ＡＣＫ（Acknowledgement）スロットとＡＣＫデリミタを有する。ＡＣＫスロットは送信ノードから送信されたデータフレーム（ＣＲＣフィールドまでの部分）を正常に受信できたノードが存在することを意味するものである。ＡＣＫデリミタはＡＣＫスロットの終了を表す区切り記号である。
【００５２】
図１においてＣＡＮプロトコルコントロール部６には、複数のメッセージボックスＭＢＸ０〜ＭＢＸｎ、及び夫々のメッセージボックスに対応する受信完了フラグＲＣＦ０〜ＲＣＦｎのレジスタ（受信完了フラグレジスタ）ＲＥＧｒｃｆが代表的に図示されている。ＣＡＮプロトコルコントロール部６は通信フレームを受信すると、ＣＲＣチェック等を行って、メッセージボックスＭＢＸ０〜ＭＢＸｎに通信フレーム単位で受信情報を一時的に蓄積（バッファリング）する。蓄積する情報は例えばＩＤ，ＤＬＣ，ＳＩＧ０〜ＳＩＧｍ等とされる。ＣＡＮプロトコルコントロール部６はメッセージボックスＭＢＸｉ（ｉ＝０〜ｎ）に受信情報の一時的蓄積を完了すると、完了したメッセージボックスに対応する受信完了フラグＲＣＥｉをセットして判定コントロール部７に通知する。
【００５３】
前記判定コントロール部７は、受信完了フラグＲＣＥｉのセット状態に応答して、対応するメッセージボックスＭＢＸｉに書き込まれたデータフィールドのデータ長コードＤＬＣが其れに対応した指定条件としての期待値と一致するか否かの判別を行うと共に、シグナルＳＩＧ０〜ＳＩＧｍのそれぞれが其れに対応した指定条件としての期待値と一致するか否かの判別を行う。判定コントロール部７は、前記指定条件との一致に係るシグナルシグナルＳＩＧｊ（ｊ＝０〜ｍ）をＲＡＭ４へ転送すると共に、前記シグナルの指定条件との一致又は前記シグナルの指定条件との許可された不一致を要因とする割り込みを要求する。この割り込みの要求は、判定コントロール部７から割り込みコントローラ５に対する割り込み要求信号ＩＲＱの活性化、及び、前記シグナルの指定条件との一致又は前記シグナルの指定条件との許可された不一致の夫々の要因に応ずる割り込みのためのオフセット情報を優先順位順に割込みオフセットＩＯＳとして割り込みコントローラ５に参照可能にすることにより、行われる。この詳細は以下で説明する。
【００５４】
図３には判定コントロール部７の詳細な構成が例示される。判定コントロール部７はメッセージボックスＭＢＸ０〜ＭＢＸｎのそれぞれに対応して期待値判定回路ＣＭＰ０〜ＣＭＰｎと期待値レジスタ回路ＥＶＲ０〜ＥＶＲｎを有する。期待値レジスタ回路ＥＶＲｉには例えばＣＰＵ２によってデータ長コードＤＬＣの期待値ＥＶｄｌｃ、及びシグナルＳＩＧ０〜ＳＩＧｍの期待値ＥＶｓｉｇ０〜ＥＶｓｉｇｍが設定される。期待値判定回路ＣＭＰ０〜ＣＭＰｎは受信完了フラグＲＣＥ０〜ＲＣＦｎのセット状態に応答して、データ長コードＤＬＣをその期待値ＥＶｄｌｃと比較し、シグナルＳＩＧ０〜ＳＩＧｍをその期待値ＥＶｓｉｇ０〜ＥＶｓｉｇｍと比較する。期待値判定回路ＣＭＰ０〜ＣＭＰｎ毎に得られる比較結果は以下の信号である。第１は、シグナル単位の判別で一致とされることによりアクティブ（例えばハイレベル）にされる一致信号ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍである。第2は、シグナル単位の判別で不一致とされることによりアクティブ（例えばハイレベル）にされ不一致信号ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍである。第3は、データ長コードＤＬＣの判別で不一致とされることによりアクティブ（例えばハイレベル）にされ不一致信号ＦＲＴｄｌｃである。
【００５５】
シグナル単位の判別で一致に係るルシグナルＳＩＧｊの情報、例えば当該シグナルＳＩＧｊの期待値ＥＶｓｉｇｊは、アクティブな一致信号ＴＲＴｓｉｇｊで通過可能にされるゲートＧｓｉｇｊを介してＲＡＭ４に書き込まれる。
【００５６】
期待値判定回路ＣＭＰ０〜ＣＭＰｎのそれぞれで生成される不一致信号ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍはセレクタＳＷＧ０〜ＳＷＧｎで選択されたものだけが後段への伝達が可能にされる。要するに、ＣＰＵ２などによるレジスタ設定にしたがって生成される選択信号ＳＬ０〜ＳＬｎで選択されたものだけが、不一致信号ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍの内で許可された不一致信号とされて、後段への伝達が許可される。
【００５７】
一致信号ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍ、及び不一致信号ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍ，ＦＲＴｄｌｃは、上記一致及び不一致を要因とする割込み要求の生成に用いられる。
【００５８】
その割り込み要求のための割り込み要求信号ＩＲＱは、一致信号ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍ、及び許可された不一致信号ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍ，ＦＲＴｄｌｃを入力して論理和を生成する論理和ゲートＯＲから割り込みコントローラ５に出力する。更に、カウンタＣＯＵＮＴが一致信号ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍ、及び許可された不一致信号ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍ，ＦＲＴｄｌｃを入力して、それら信号の内でアクティブにされている信号の数を計数する。この計数値はＣＰＵ２が参照する。その計数値は、一つの信号フレームに対して全ての比較回路ＣＭＰ０〜ＣＭＰｎによる一致及び許可された不一致のアクティブな信号の数に対応され、その数は、一致及び許可された不一致のアクティブな個々の信号毎に発生した割り込み要因の総数になる。この数分だけ、夫々の要因に応じた割り込み処理を一連に行うようにするために、割込み要因毎に割込み処理への分岐先アドレスの生成に用いるオフセット情報を保持するオフセット情報レジスタ回路ＯＳＲ０〜ＯＳＲｎを有する。
【００５９】
夫々のオフセット情報レジスタ回路ＯＳＲｉは、ＣＰＵ２により書き換え可能に、以下の情報を保有する。第1は、シグナルの一致イベントに対応するシグナル一致イベント用オフセット情報ＴＯＳｓｉｇ０〜ＴＯＳｓｉｇｍである。第2は、データ長コードＤＬＣの不一致イベントに対応するデータ長コード不一致イベント用オフセット情報ＦＯＳｄｌｃである。第3は、シグナルの不一致イベントに対応するシグナル不一致イベント用オフセット情報ＦＯＳｓｉｇ０〜ＦＯＳｓｉｇｍである。
【００６０】
オフセット情報レジスタ回路ＯＳＲ０〜ＯＳＲｎに設定されたオフセット情報は、アクティブな一致信号ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍで通過可能にされる複数の一致選択ゲートＧｔｏｓを介して転送順序判定回路ＴＲＯＤＲに供給されると共に、アクティブな不一致信号ＦＲＴｄｌｃ，ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍで通過可能にされる複数の不一致選択ゲートＧｆｏｓを介して転送順序判定回路ＴＲＯＤＲに供給される。
【００６１】
転送順序判定回路ＴＲＯＤＲは、前記一致選択ゲートＧｔｏｓ及び不一致選択ゲートＧｆｏｓから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリＢＭＲＹに格納する。バッファメモリＢＭＲＹはＦＩＦＯ（First-In First-Out）として機能され、例えば優先順位の高いオフセット情報からレジスタＱ０，Ｑ１，Ｑ２，Ｑ３，…の順に書き込まれる。レジスタＱ０，Ｑ１，Ｑ２，Ｑ３，…は読み出し毎にレジスタ単位で記憶情報が前段（高優先順位側）に向けてシフトされるシフトレジスタ回路を構成する。したがって、レジスタＱ０，Ｑ１，Ｑ２，Ｑ３，…に書き込まれた割り込み要因毎のオフセット情報は優先度の高いものから順番にレジスタＱ０からの読み出し可能にされる。
【００６２】
割り込みコントローラ５は、割り込み要求信号ＩＲＱが活性化されると、多重割り込みを許可する場合には現在処理中の割り込みの優先度よりの今回の割り込み優先度が高い場合にはＣＰＵ２に割り込み信号ＩＮＴを出力すると共に、当該割り込み要求信号ＩＲＱに応ずるベクタ番号ＶＣＴＮとオフセット情報ＩＯＳをＣＰＵ２が参照できるようにする。ＣＰＵはそのベクタ番号ＶＣＴＮを用いてベクタテーブルを参照し、参照したベースアドレスにオフセット情報のオフセットを加算して、分岐すべき割り込み処理アドレスを取得する。ＣＰＵは取得した割り込み処理アドレスに格納されている割り込み処理プログラムを実行して割り込み処理を行う。特に制限されないが、最初の割り込み処理はレジスタＱ０に当初設定された第１優先順位に係るオフセット情報で特定される。この処理が終るとＣＰＵ２はカウンタＣＯＵＮＴの計数値を−１した値が初期値になっていなければ、割り込みコントローラ５を介して次のオフセット情報（当初レジスタＱ１に設定された第２優先順に係るオフセット情報）を参照し、当該オフセット情報を用いて次の割り込み処理の実行に移行する。このように、割り込みコントローラ５は、指定条件との一致判定動作でカウンタＣＯＵＮＴにより計数された値に一致する回数に達するまで優先順位順にバッファメモリＢＭＲＹからオフセット情報の読み出しを繰返す。ＣＰＵ２がこれを順次参照して、通信フレーム単位で、期待値に一致するシグナルに対するデータ処理及び期待値との不一致に対するエラー処理などの一連の割り込み処理を実行することができる。尚、図３の例では割り込みコントローラ５はＣＰＵ２によってデクリメントされたカウンタＣＯＵＮＴの計数値を参照し、計数値が初期値になるまでの間、デクリメント毎にバッファメモリＢＭＲＹのレジスタＱ０，Ｑ１，Ｑ２，Ｑ３，…に対する上位側へのシフト動作を行って、必要なオフセット情報をＣＰＵ２が参照できるようにする。
【００６３】
図４にはベースアドレス及びオフセットを用いて特定される割り込み処理プログラムのメモリ配置が例示される。ベースアドレスＢＡＤＲはベクタ番号ＶＣＴＮを用いてベクタテーブル（図示を省略）から参照される。ここではベースアドレスＢＡＤＲを先頭に比較回路ＣＭＰ０で判別されたシグナルＳＩＧ０の一致に係る割り込み処理プログラム（ＣＭＰ０のＳＩＧ０一致に対する関数）が格納されている。この場合のオフセットは０とされる。ベースアドレスＢＡＤＲにオフセットｉｉを加算したアドレス（ＢＡＤＲ＋ｉｉ）には比較回路ＣＭＰｎで判別されたシグナルＳＩＧｍの一致に係る割り込み処理プログラム（ＣＭＰｎのＳＩＧｍ一致に対する関数）が格納されている。別のオフセットｊｊ、ｋｋについても別の割り込み処理プログラムが格納されている。
【００６４】
図５には図４の割り込み処理プログラム配置を一例とした場合における判定コントロール部７からの割り込み処理要求に応ずる割り込み処理動作フローが例示される。図５においてオフセットの優先順位はｊｊを第１優先順位、ｋｋを第２優先順位とする。割り込み要求信号ＩＲＱが活性化されて割り込みコントローラ５から割り込み信号ＩＮＴがＣＰＵ２に出力されると、ＣＰＵ２は最初に第１優先順位のオフセットｊｊを用いてＰＣ＝ＢＡＤＲ＋ｊｊのアドレスに配置された割り込み処理プログラムを実行して期待値に一致するシグナルに対するデータ処理を行う（Ｓ１０）。ＰＣはＣＰＵ２のプログラムカウンタである。次に、カウンタＣＯＵＮＴを−１デクリメントし（Ｓ１１）、カウンタＣＯＵＮＴの値が初期値例えば０になったか否かを判別する（Ｓ１２）。ゼロであれば割り込み処理から復帰する（ＲＥＩＴ）。ゼロでなければ、割り込みコントローラ５を介してレジスタＱ０から第２優先順位のオフセットｋｋを参照し、ＰＣ＝ＢＡＤＲ＋ｋｋのアドレスに配置された割り込み処理プログラムを実行して（Ｓ１３）、期待値に一致する対象のシグナルに対するデータ処理を行う（Ｓ１４）。次に、カウンタＣＯＵＮＴを−１デクリメントし（Ｓ１５）、カウンタＣＯＵＮＴの値が初期値例えば０になったか否かを判別する（Ｓ１６）。ゼロであれば割り込み処理から復帰する（ＲＥＩＴ）。ゼロでなければ、割り込みコントローラ５を介して次の優先順位のオフセット…をレジスタＱ０から参照し、ＰＣ＝ＢＡＤＲ＋…のアドレスに配置された割り込み処理プログラムを実行する（Ｓ１７）。以下、カウンタＣＯＵＮＴの値が初期値０になるまで同様の処理が繰返される。
【００６５】
図６には期待値と一致するシグナルに対して上位層であるユーザプログラムによる受信処理を行う場合のＣＰＵ２によるソフトウェア処理フローが例示される。ここでは、ＩＤ＝Ｂのメッセージボックスに格納されたシグナルＳＩＧ０が期待値と一致する場合の処理を一例とする。図３に基づいて説明したように、判定コントロール部７はメッセージボックスに格納されたシグナルなどに対して期待値と一致するか否かの判別をハードウェアで行い、判別結果に従って一致に係るシグナルをＲＡＭに格納する。更に、判定コントロール部７は、上記一致判別による一致を起因とする割り込みオフセットだけでなく、一致判別による不一致を起因とする割り込みオフセットを参照可能にしてＣＰＵ２に割り込み処理を要求することができる。したがって、受信処理を行うユーザプログラムはその割り込み処理の要求に応答してＣＰＵ２で実行可能になる（Ｓ２０）。
【００６６】
これに対し、判定コントロール部７を用いない方法ではその処理をＣＰＵ２がソフトウェアプログラムを実行して行わなければならない。そのソフトウェア処理は図７に例示される物理層処理及び論理層処理Ｓ３０、並びに其れに続くユーザプログラムによる上位層処理Ｓ３１〜Ｓ３３に亘る。
【００６７】
物理層処理及び論理層処理Ｓ３０の具体例は図８に例示される。例えば、ＡＵＴＯＳＡＲのＣＡＮ受信処理は、物理層処理であるキャン・ドライバ処理（CAN driver：Ｃａｎ、キャン・インタフェース処理（CAN interface：ＣａｎＩｆ）、及びプロトコルデータユニット・ルータ処理（PDU router：ＰｄｕＲ）、更に論理層処理であるコミュニケーション処理（Communication：ＣＯＭ）の順に処理される。ＣａｎＤｒｖでは新しいメッセージが受信されたメッセージボックス（BOX）をサーチする（Ｓ４０）。ＣａｎＩｆでは受信したデータ長（DLC）が正しいかを確認する（Ｓ４１）。ＰｄｕＲでは受信したフレーム識別子ＩＤをチェックし、シグナル（Signal）の割り振り先を決める（Ｓ４２）。ＣＯＭは受信したＩＤ毎に、アップデートビット（Up date bit：シグナルに含まれる送信側が新しいデータに更新した事を示すステータスビット)のチェックとシグナルの値全体も期待値であるか確認する（Ｓ４３，Ｓ４４，Ｓ４６，Ｓ４７）。ＣＯＭでは、アップデートビット（Up date bit）が“1”(送信側が新しいデータに更新した)、且つシグナル値全体が期待値と一致していれば、ＲＡＭにシグナルを格納する処理を行う（Ｓ４５，Ｓ４８）。格納場所はフレーム識別子ＩＤ、シグナル番号（Signal No）毎に決められている。アップデートビット（Up date bit）が“0”(送信側が新しいデータに更新していない)、もしくはシグナルの値全体が不一致の場合は、シグナルをＲＡＭ（Random Access Memory）格納せずにユーザプログラムに進む。
【００６８】
シグナルに対して上位層（例えばユーザプログラム）から処理要求があると（Ｓ３１）、ユーザプログラムにしたがってＲＡＭから対象のシグナルをフェッチするが、これが期待値に一致するデータである保証はない。即ち。シグナルの種類によってはＲＡＭに前回のシグナルや、初期値が格納されている場合もあり、物理層処理及び論理層処理Ｓ３０でＲＡＭ４に格納されたどのシグナルが期待値に一致しているかの情報は上位層に渡されていない。したがって、上位層では、ＲＡＭから返された信号が期待値であるか否かを独自に判定しなければならない（Ｓ３２）。この処理はＣＯＭの処理と一部重複することになる。期待値に一致することが確認されて始めて、例えばＩＤ＝ＢのシグナルＳＩＧ０に対して受信の処理を行う事ができる（Ｓ３３）。図７のステップＳ３３の処理は図６のステップＳ２０の処理に対応される。図７の処理ステップと比べれば明らかなように、判定コントロール部７を用いる場合にはＣＰＵ２の負担を著しく軽減することができる。
【００６９】
図９にはＣＰＵがスリープ状態から動作可能状態に復帰してステップＳ２０の処理を行う場合の処理ループが例示される。ここでは、ＩＤ＝Ｂのメッセージボックスに格納されたシグナルＳＩＧ０が期待値と一致する場合の処理を一例とする。ＣＰＵ２は例えばスリープ命令を実行することによってクロック又は電源を遮断する処理を行って（Ｓ５０）、スリープ状態（低電力状態）にされる（Ｓ５１）。スリープ状態では割り込みコントローラ５、ＣＡＮプロトコルコントロール部６、及び判定コントロール部７は動作可能にされ、その他の周辺回路はＣＰＵと同様に電源遮断されてよい。この状態で、ＣＡＮプロトコルコントロール部６が通信フレームを受信して判定コントロール部７が動作されると、判定コントロール部７から割り込みコントローラ５に割り込み要求ＩＲＱがある。これに応答して電源及びクロックの供給を再開してＣＰＵ２が動作可能にされ、割り込みコントローラ５はＣＰＵ２に割り込み信号ＩＮＴを出力し、ベクタ番号ＶＣＴＮとオフセットＩＯＳを参照可能にすることによって、ＣＰＵ２の割り込み処理（判定機割り込み）を要求する（Ｓ５２）。これによって、ＣＰＵ２はその割り込み要求に応答して、期待値に一致することが保証されているＩＤ＝ＢのシグナルＳＩＧ０に対する受信処理を行う事ができる（Ｓ２０）。ステップＳ２０の処理を完了すると割り込み処理からメインフローに復帰し（ＲＥＩＴ）、再びスリープモード遷移処理（Ｓ５０）を行ってスリープ状態に遷移し（Ｓ５１）、次の判定機割り込み要求を待つ。
【００７０】
図１０にはＣＰＵがスリープ状態から動作可能状態に復帰してステップＳ３１〜Ｓ３３の処理を行う場合の処理ループが例示される。ここでは、ＩＤ＝Ｂのメッセージボックスに格納されたシグナルＳＩＧ０を処理対象とする場合について説明する。図１０の場合にはステップＳ５１のスリープ状態で、割り込みコントローラに通信フレームの受信に起因してＣＡＮ受信割り込みが要求されると（Ｓ５３）、これに応答してＣＰＵは、図７と同様にソフトウェアプログラムを実行することによってステップＳ３０，Ｓ３１，Ｓ３２，及びＳ３３の処理を行う。ステップＳ３３の処理を完了すると割り込み処理からメインフローに復帰し（ＲＥＩＴ）、再びスリープモード遷移処理（Ｓ５０）を行ってスリープ状態に遷移し（Ｓ５１）、次のＣＡＮ受信割り込み要求を待つ。
【００７１】
図９の場合には図１０のステップＳ３０〜Ｓ３３の処理に対してステップＳ２０のＩＤ＝ＢのシグナルＳＩＧ０に応じた処理以外の処理を判定コントロール部７によるハードウェア処理で実現される。その場合に、シグナル毎に異なる関数（割り込み処理プログラム）に分岐できるため、割り込み関数内の処理を簡素化することができる。また、ユーザ処理が必要なときのみ割り込み発生するため、割り込み発生頻を大幅に削減することができる。したがって、スリープモード状態の期間が長くなり低電力に資することができる。
【００７２】
上記データプロセッサ１によれば以下の作用効果を奏することができる。
【００７３】
（１）判定コントロール部７は、メッセージボックスＭＢＸ０〜ＭＢＸｎに書き込まれた一つの通信フレームに係る受信信号のシグナルＳＩＧｊ単位にＥＶｓｉｇｍなどの期待値と一致するか否かを判別し、一致に係るシグナルＳＩＧｊの情報をＲＡＭ４へ転送し、シグナルＳＩＧｊの期待値との一致又はシグナルの指定条件との許可された不一致を起因とする割り込みを要求する。したがって、ＲＡＭ４に格納したシグナルＳＩＧｊの情報を、割り込みを要求してそのまま上位層であるユーザプログラムに処理させることができる。上位層はＲＡＭ４に格納されたシグナルＳＩＧｊが期待値に一致するか否かの判別を改めて行うことを要しない。したがって、シグナルＳＩＧｊと期待値との比較処理などの点においてＣＰＵ２の負担を軽減することができ、低消費電力に寄与することができる。期待値との不一致の要因に対しても割り込みを要求して上位層にエラー処理等をさせることができる。低消費電力を最優先にする場合には、期待値に不一致のシグナルについて一切許可しなければよい。
【００７４】
（２）判定コントロール部７は、割り込みによる分岐先を取得するためのＴＯＳｓｉｇｍなどのオフセット情報を前記期待値に一致したときのシグナル単位及び不一致に係るシグナル単位で保有するオフセット情報レジスタ回路ＯＳＲ０〜ＯＳＲｎを有し、割り込み要求ＩＲＱにおいて対応するオフセット情報を割り込みコントローラ５により参照可能にする。これによれば、期待値との一致及び不一致の要因に応じた割り込み処理への分岐先をＴＯＳｓｉｇｍなどのオフセット情報の設定内容に従って柔軟に制御可能になる。
【００７５】
（３）判定コントロール部７は、シグナルＳＩＧｊの期待値との一致及びシグナルＳＩＧｊの期待値との許可された不一致に対応してオフセット情報レジスタ回路ＯＳＲ０〜ＯＳＲｎから出力される複数のオフセット情報をバッファメモリＢＭＲＹに優先順位順に格納する順序判定回路ＴＲＯＤＲを有する。割り込みコントローラ５は割り込み要求ＩＲＱによる割り込み処理サイクル単位でバッファメモリＢＭＲＹから優先順位順に一つづつオフセット情報を読み出す。ＣＰＵ２は読み出されたオフセット情報を参照して割り込み処理に分岐するようになっている。したがって、単一の通信フレームに含まれる複数のシグナルＳＩＧｊに対する判別が並列的に行われて期待値との一致及び不一致に係る割り込み要因の発生が競合してもその優先順位に従ってＣＰＵ２に割り込み処理を実行させることができる。
【００７６】
（４）更に詳しくは、判定コントロール部７は、期待値と一致するか否かの通信フレーム毎の前記シグナル単位の判別で一致とされることによりアクティブにされるＴＲＴｓｉｇｍ等の一致信号及び不一致とされることによりアクティブにされる許可されたＦＲＴｓｉｇｍ等の不一致信号の数をカウンタＣＯＵＮＴで計数する。ＴＲＴｓｉｇｍなどの一致信号及びＦＲＴｓｉｇｍ等の不一致信号の論理和信号を割り込み要求ＩＲＱとして出力する論理和回路ＯＲが設けられる。更にアクティブな一致信号単位でオフセット情報レジスタ回路ＯＳＲ０〜ＯＳＲｎから順序判定回路ＴＲＯＤＲにＴＯＳｓｉｇｍなどのオフセット情報を供給する一致信号毎の一致選択ゲートＧｔｏｓが設けられる。更に、許可されたアクティブな不一致信号単位で前記オフセット情報レジスタ回路ＯＳＲ０〜ＯＳＲｎから順序判定回路ＴＲＯＤＲに対応するＦＯＳｓｉｇｍなどのオフセット情報を供給する不一致信号毎の不一致選択ゲートＧｆｏｓとが設けられる。順序判定回路ＴＲＯＤＲは、一致選択ゲートＧｔｏｓ及び不一致選択ゲートＧｆｏｓから供給されたオフセット情報に対して優先順位順に当該オフセット情報をバッファメモリＢＭＲＹに格納する。割り込みコントローラ５は、期待値との一致判定動作でカウンタＣＯＵＮＴにより計数された値に一致する回数に達するまで優先順位順にバッファメモリＢＭＲＹからオフセット情報の読み出しを繰返す。これによれば、前記ＣＰＵ２は順次読み出されたオフセット情報を参照しながら割り込み処理に分岐する処理を繰返すことによって、一つの通信フレームにおいて期待値に対して一致及び許可された不一致に係る全ての要因について割り込みにより所要の処理を一連に実行することができる。
【００７７】
（５）データプロセッサ１を例えばＣＡＮのＡＵＴＯＳＡＲプロトコルに準拠した制御などに適用する場合、特に、エンジン停止状態で電力を消費する自動車ボディー系のＥＣＵ（Electronic Control Unit）などにおける低電力化に好適である。
【００７８】
（６）以上のように、ＣＡＮにおける、CAN driver (Can)、CAN interface (CanIf)、PDU router(PduR)の処理に加えCommunication (COM)での複雑な判定処理、シグナル毎に必要な処理、ユーザ指定の条件（期待値）に一致するシグナルのＲＡＭ４への格納処理までを判定コントロール部7に代表される専用ハードウェアで行う。これにより、ＣＰＵ2が実行すべきソフトウェアを簡素化することができる。また、オフセット情報をＦＩＦＯ形式で保持するバッファメモリＢＭＲＹを活用し、割り込み要求を介してＣＰＵ２のプログラムカウンタを書き換えることによってシグナルの内容に応じた処理のみを行う関数（割り込み処理プログラム）へ直接分岐できるため、上位層（ユーザプログラム）で必要であったソフトウェア処理も簡素化することができる。さらに、ＤＬＣもしくはシグナルＳＩＧ０〜ＳＩＧｍが期待値と一致しない場合は、スイッチ回路ＳＷＧ０〜ＳＷＧｎの設定次第でそれを要因とする割り込みを発生させないようにすることも可能であるから、ソフトウェアの簡素化はもとよりソフトウェア処理時間の削減を更に図ることも可能になる。したがって、図１０で説明したスリープモードの期間を大幅に長くすることも可能になり、データプロセッサ１更にはＥＣＵにおける更なる低電力化に資することができる。ＤＬＣやシグナルＳＩＧｊが期待値に一致しない場合は、スイッチ回路ＳＷＧ０〜ＳＷＧｎの設定次第でそれを要因とする割り込みを発生させることも選択可能であるから、その場合にはユーザプログラムのエラー処理専用関数に分岐させて、ＤＬＣエラー処理、受信データ異常処理などを行うこともでき、システムの要求に柔軟に対処することができる。
【００７９】
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８０】
例えば、上記実施の形態では、シグナルの指定条件との不一致に係る割り込み要求をスイッチ回路ＳＷＧ０〜ＳＷＧｎの設定次第で要求できるようにしたが、これを一切できないようにする構成を第１の変形例として選択することも可能である。この場合には、図３において、不一致で活性化される不一致信号ＦＲＴｄｌｃ，ＦＴＲｓｉｇ０〜ＦＲＴｓｉｇｍ、それら不一致信号に対応するオフセット情報ＦＯＳｄｌｃ，ＦＯＳｓｉｇ０〜ＦＯＳｓｉｇｍ及び不一致ゲートＧｆｏｓを不要とすればよい。この第１変形例は上記実施の形態に対してシグナルの指定条件との不一致に係る割り込み要求を要求しない、という点が相違するのみである。作用効果もその点に関して相違するだけとなる。基本的に、物理層はＲＡＭ４に格納したシグナルの情報を、割り込みを要求してそのまま上位層としてのユーザプログラムに処理させることができ、上位層はＲＡＭ４に格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。したがって、シグナルと指定条件との比較処理などの点において上記実施の形態と同様に、ＣＰＵ２の負担を軽減することができ、低消費電力に寄与することができる。その他の点については上記実施の形態と同様であるから、その詳細な説明は省略する。
【００８１】
また、上記実施の形態では、シグナルの指定条件との不一致に係る割り込み要求をスイッチ回路ＳＷＧ０〜ＳＷＧｎの設定次第で要求できるようにしたが、スイッチ回路ＳＷＧ０〜ＳＷＧｎを廃止し、指定条件（期待値）に一致及び不一致の双方に係るアップデートシグナルを処理するための割り込み要求を発生させるようにする構成を第２の変形例として選択することも可能である。この場合には、図３において、スイッチ回路ＳＷＧ０〜ＳＷＧｎを廃止すればよい。この第２変形例は上記実施の形態に対して、指定条件との不一致に係るシグナルについて一部を割込み要求の対象から除外せず、許可されたものに限定しない、という点が相違するのみである。作用効果もその点に関して相違するだけである。基本的に、物理層はＲＡＭ４に格納したシグナルを、割り込みを要求してそのまま上位層に処理させることができ、上位層はＲＡＭ４に格納されたシグナルが指定条件に一致するか否かの判別を改めて行うことを要しない。したがって、シグナルと指定条件との比較処理などの点において常時実施の形態と同様に、ＣＰＵ２の負担を軽減することができ、低消費電力に寄与することができる。指定条件との不一致についても割り込みを要求して上位層にエラー処理等をさせることができる。その他の点については上記実施の形態と同様であるから、その詳細な説明は省略する。
【符号の説明】
【００８２】
１  データプロセッサ
２  ＣＰＵ（中央処理装置）
３  ＲＯＭ
４  ＲＡＭ
５  割り込みコントローラ
６  ＣＡＮプロトコルコントロール部
７  判定コントロール部
ＤＬＣ  データ長コード
ＳＩＧ０〜ＳＩＧｍ  シグナル(Signal)
ＭＢＸ０〜ＭＢＸｎ  メッセージボックス
ＲＣＦ０〜ＲＣＦｎ  受信完了フラグ
ＲＥＧｒｃｆ  受信完了フラグレジスタ
ＣＭＰ０〜ＣＭＰｎ  期待値判定回路
ＥＶＲ０〜ＥＶＲｎ  期待値レジスタ回路
ＥＶｄｌｃ  データ長コードＤＬＣの期待値
ＥＶｓｉｇ０〜ＥＶｓｉｇｍ  シグナルＳＩＧ０〜ＳＩＧｍの期待値
ＴＲＴｓｉｇ０〜ＴＲＴｓｉｇｍ  一致信号
ＦＲＴｓｉｇ０〜ＦＲＴｓｉｇｍ  不一致信号
Ｇｓｉｇｊ  ゲート
ＳＷＧ０〜ＳＷＧｎ  セレクタ
ＳＬ０〜ＳＬｎ  選択信号
ＯＲ  論理和ゲート
ＣＯＵＮＴ  カウンタ
ＯＳＲ０〜ＯＳＲｎ  オフセット情報レジスタ回路
ＴＯＳｓｉｇ０〜ＴＯＳｓｉｇｍ  シグナル一致イベント用オフセット情報
ＦＯＳｄｌｃ  データ長コード不一致イベント用オフセット情報
ＦＯＳｓｉｇ０〜ＦＯＳｓｉｇｍ  シグナル不一致イベント用オフセット情報
Ｇｔｏｓ  一致選択ゲート
Ｇｆｏｓ  不一致選択ゲート
ＴＲＯＤＲ  転送順序判定回路
ＭＢＲＹ  バッファメモリ
Ｑ０，Ｑ１，Ｑ２，Ｑ３，…  レジスタ
ＩＲＱ  割り込み要求信号
ＩＮＴ  割り込み信号
ＶＣＴＲ  ベクタ番号
ＩＯＳ  オフセット情報
【図１】
2014134907.tif 000003
【図２】
2014134907.tif 000004
【図３】
2014134907.tif 000005
【図４】
2014134907.tif 000006
【図５】
2014134907.tif 000007
【図６】
2014134907.tif 000008
【図７】
2014134907.tif 000009
【図８】
2014134907.tif 000010
【図９】
2014134907.tif 000011
【図１０】
2014134907.tif 000012