(57)【要約】      （修正有）【課題】保持するインタフェースの数を減らして、フレキシブルな使用が可能な方法および装置を提供する。【解決手段】マイクロコントロ―ラ１０１は、インタフェース固有の入力モジュール１１１と、インタフェース固有の出力モジュール１１４と、ルーティングユニット１１２と、インタフェース固有の情報を処理するための演算ユニット１１３を備え、固定的なハードウェアで実現される複数の直列インタフェースと、複数の汎用インタフェースを有する。マイクロコントローラの様々な用途において、異なるインタフェースを汎用インタフェースとしてソフトウェアで設定することが可能であるため、特定のインタフェース形態における最小数の必要なインタフェースが実現される。【選択図】図１
2014239432.tif 000002
【特許請求の範囲】
【請求項１】
制御装置内の少なくとも１つの汎用インタフェースを提供する方法であって、前記制御装置は、マイクロコントローラ（１０１）を有し、前記マイクロコントローラ（１０１）は、中央処理ユニット（ＣＰＵ）と、インタフェース固有の少なくとも１つの入力モジュール（１１１）と、インタフェース固有の少なくとも１つの出力モジュール（１１４）と、少なくとも１つのルーティングユニット（１１２）と、インタフェース固有の情報を処理するための少なくとも１つの演算ユニット（１１３）と、を有し、前記少なくとも１つの汎用インタフェースは、設定に応じて、複数の直列インタフェースのうちの１つに対応する機能を提供するために設定可能である、前記方法において、
前記方法は、以下の工程、即ち、
‐前記複数の直列インタフェースのうちの前記１つの直列インタフェースのプロトコルに対応する入力データが、前記インタフェース固有の少なくとも１つの入力モジュール（１１１）を介して受信され、
−前記入力データは、前記ルーティングユニット（１１２）を介して前記少なくとも１つの演算ユニット（１１３）へと伝送され、
−前記少なくとも１つの演算ユニット（１１３）によって、第１のユーザデータが、前記入力データから抽出され、
−前記第１のユーザデータは、前記中央処理ユニット（ＣＰＵ）に提供され、
−前記中央処理ユニット（ＣＰＵ）の第２のユーザデータが、前記少なくとも１つの演算ユニット（１１３）によって受信され、
−前記少なくとも１つの演算ユニット（１１３）によって、出力データが、前記第２のユーザデータから生成され、
−前記出力データは、前記ルーティングユニット（１１２）を介して、前記インタフェース固有の少なくとも１つの出力モジュール（１１４）へと伝送され、
−前記複数の直列インタフェースのうちの前記１つの直列インタフェースのプロトコルに対応する前記出力データが、前記インタフェース固有の少なくとも１つの出力モジュール（１１４）を介して送信される、ことを特徴とする、方法。
【請求項２】
前記演算ユニット（１１３）は、第１のメモリへのアクセス権を有し、前記第１のメモリには、前記プロトコルの仕様が格納される、請求項１に記載の方法。
【請求項３】
前記プロトコルの仕様が、開始ビット、停止ビット、パリティ情報、制御ビット、及び、充填ビットのうちの１つについての情報である、請求項２に記載の方法。
【請求項４】
前記プロトコルの仕様は、前記中央処理ユニット（ＣＰＵ）によって前記第１のメモリに格納される、請求項２又は３に記載の方法。
【請求項５】
前記インタフェース固有の少なくとも１つの入力モジュール（１１１）と、前記インタフェース固有の少なくとも１つの出力モジュール（１１４）とは、前記設定によって、前記複数の直列インタフェースのうちの前記１つに固定的に割り当てられる、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記演算ユニット（１１３）は、より高次のプロトコル層の演算も行う、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記高次のプロトコル層の演算は、複数のＵＡＲＴメッセージフレームをＬＩＮメッセージフレームへ変換することである、請求項６に記載の方法。
【請求項８】
前記演算ユニット（１１３）が前記第１のユーザデータを第２のメモリに書込み、当該書込みについて割り込みを介して前記中央処理ユニット（ＣＰＵ）に報知されるという形で、前記第１のユーザデータが前記中央処理ユニット（ＣＰＵ）に提供される、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記第１のユーザデータは、前記演算ユニット（１１３）によって、直接メモリアクセス（ＤＭＡ）を介して前記中央処理ユニット（ＣＰＵ）に提供される、請求項１〜７のいずれか１項に記載の方法。
【請求項１０】
前記インタフェース固有の少なくとも１つの入力モジュール（１１１）内で、前記入力データに時間情報が割り当てられる、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記インタフェース固有の少なくとも１つの入力モジュール（１１１）内では、前記マイクロコントローラ（１０１）の入力口に印加される前記入力データの各エッジ変化に対して、タイムスタンプが割り当てられる、請求項１０に記載の方法。
【請求項１２】
タイムスタンプが割り当てられた前記入力データの各前記エッジ変化が別々に伝送されるという形で、前記インタフェース固有の少なくとも１つの入力モジュール（１１１）は、前記入力データを前記ルーティングユニット（１１２）へと伝達する、請求項１１に記載の方法。
【請求項１３】
前記演算ユニット（１１３）は、タイムスタンプが割り当てられた前記入力データの前記エッジ変化に基づいて、メッセージフレームを決定する、請求項１２に記載の方法。
【請求項１４】
前記入力データの入力メッセージフレーム全体が、前記インタフェース固有の少なくとも１つの入力モジュール（５１１）に格納され、前記入力メッセージフレーム全体が前記演算ユニット（５１３）に提供される、請求項１〜９のいずれか１項に記載の方法。
【請求項１５】
前記インタフェース固有の少なくとも１つの入力モジュール（５１１）によって、前記入力メッセージフレームがオーバーサンプリングを用いて解析され、前記入力メッセージフレームのビットのレベルが、前記オーバーサンプリングのサンプル点のレベル値に基づくビットレベルのボーティングによって決定される、請求項１４に記載の方法。
【請求項１６】
前記インタフェース固有の少なくとも１つの入力モジュール（５１１）内では、前記入力メッセージフレームにタイムスタンプが割り当てられる、請求項１５に記載の方法。
【請求項１７】
前記演算ユニット（１１３）は、自身が所定のボーレートに基づいて、タイムスタンプが割り当てられた前記出力データの対応するエッジ変化を決定するという形で、前記第２のユーザデータから前記出力データを生成する、請求項１〜１６のいずれか１項に記載の方法。
【請求項１８】
前記ルーティングユニット（１１２）を介して、タイムスタンプが割り当てられた前記出力データの各前記エッジ変化が別々に伝送されるという形で、前記出力データが前記インタフェース固有の少なくとも１つの出力モジュール（１１４）へと伝送される、請求項１７に記載の方法。
【請求項１９】
前記インタフェース固有の少なくとも１つの出力モジュール（１１４）は、前記出力データの各前記エッジ変化の前記割り当てられたタイムスタンプを、時間情報と比較し、一致した場合には、対応するエッジを前記マイクロコントローラ（１０１）の出力口に印加する、請求項１７又は１８に記載の方法。
【請求項２０】
前記演算ユニット（４１３）は、前記第２のユーザデータから、出力データとして出力メッセージフレーム全体を生成し、当該出力メッセージフレーム全体を、前記インタフェース固有の少なくとも１つの出力モジュール（４１４）へと伝送する、請求項１〜１６のいずれか１項に記載の方法。
【請求項２１】
前記インタフェース固有の少なくとも１つの出力モジュール（４１４）は、対応するトリガが前記演算ユニット（４１３）又は前記中央処理ユニット（ＣＰＵ）により開始される場合、又は、前記出力メッセージフレームに割り当てられたタイムスタンプが、前記インタフェース固有の少なくとも１つの出力モジュール（４１４）の時間情報に対応する場合に、前記出力メッセージフレームを伝送する、請求項２０に記載の方法。
【請求項２２】
前記入力データのためにボーレート検出が実行される、請求項１〜２１のいずれか１項に記載の方法。
【請求項２３】
中央処理ユニット（ＣＰＵ）と、インタフェース固有の少なくとも１つの入力モジュール（１１１）と、インタフェース固有の少なくとも１つの出力モジュール（１１４）と、少なくとも１つのルーティングユニット（１１２）と、インタフェース固有の情報を処理するための少なくとも１つの演算ユニット（１１３）と、を備える制御装置のためのマイクロコントローラ（１０１）において、前記マイクロコントローラ（１０１）は、請求項１〜２２のいずれか１項の方法を実施するよう構成されることを特徴とする、マイクロコントローラ（１０１）。
【請求項２４】
中央処理ユニット（ＣＰＵ）と、インタフェース固有の少なくとも１つの入力モジュール（１１１）と、インタフェース固有の少なくとも１つの出力モジュール（１１４）と、少なくとも１つのルーティングユニット（１１２）と、インタフェース固有の情報を処理するための少なくとも１つの演算ユニット（１１３）と、を備える制御装置のためのマイクロコントローラ（１０１）において、前記マイクロコントローラ（１０１）は、前記インタフェース固有の少なくとも１つの入力モジュール（１１１）と、前記インタフェース固有の少なくとも１つの出力モジュール（１１４）と、前記少なくとも１つのルーティングユニット（１１２）と、インタフェース固有の情報を処理するための前記少なくとも１つの演算ユニット（１１３）とが設定に応じて、複数の直列インタフェースのうちの１つに対応する機能を果たすように、設定可能であることを特徴とする、マイクロコントローラ（１０１）。
【請求項２５】
前記演算ユニット（１１３）は演算論理ユニット（ＡＬＵ）を有する、請求項２３又は２４に記載のマイクロコントローラ（１０１）。
【請求項２６】
前記インタフェース固有の入力モジュール（１１１）はキャプチャ機能を有し、及び／又は、前記インタフェース固有の出力モジュール（１１４）はコンペア機能を有する、請求項２３〜２５のいずれか１項に記載のマイクロコントローラ（１０１）。
【請求項２７】
ＣＲＣ演算のための別体の第１のハードウェア回路（３１５）を有する、請求項２３〜２６のいずれか１項に記載のマイクロコントローラ（３０１）。
【請求項２８】
調停のための別体の第２のハードウェア回路を有し、又は、調停のための別体の第２のハードウェア回路（６０３）と接続された、請求項２３〜２７のいずれか１項に記載のマイクロコントローラ（６０１）。
【請求項２９】
前記調停のための前記別体の第２のハードウェア回路（６３０）は、ＣＡＮプロトコル又はＣＡＮ−ＦＤプロトコルに対応した入力データが伝送されるのかについて解析を実行するよう構成される、請求項２８に記載のマイクロコントローラ（６０１）。
【請求項３０】
前記ルーティングユニット（１１２）及び／又は前記演算ユニット（１１３）は、少なくとも１００ＭＨｚのクロックにより動作する、請求項２３〜２９のいずれか１項に記載のマイクロコントローラ（１０１）。
【請求項３１】
前記ルーティングユニット（１１２）及び／又は前記演算ユニット（１１３）は、少なくとも２００ＭＨｚのクロックにより動作する、請求項２３〜２９のいずれか１項に記載のマイクロコントローラ（１０１）。
【請求項３２】
前記インタフェース固有の少なくとも１つの入力モジュール（１１１）を介して、少なくとも１Ｍボーの入力ボーレートにより入力データを受信し、又は、前記インタフェース固有の少なくとも１つの出力モジュール（１１４）を介して、少なくとも１Ｍボーの出力ボーレートにより出力データを送信するよう構成される、請求項２３〜３１のいずれか１項に記載のマイクロコントローラ（１０１）。
【請求項３３】
前記インタフェース固有の少なくとも１つの入力モジュール（１１１）及び前記インタフェース固有の少なくとも１つの出力モジュール（１１４）の他に、インタフェース固有の少なくとも１つの入力モジュール及びインタフェース固有の少なくとも１つの出力モジュールも有する、請求項２３〜３２のいずれか１項に記載のマイクロコントローラ（１０１）。
【請求項３４】
タイマ入力モジュール（２３１）と、タイマ出力モジュール（２３４）と、タイマ・ルーティングモジュール（２３２）と、タイマ演算ユニット（２３３）と、を備えたタイマモジュール（２３０）を追加的に有する、請求項２３〜３３のいずれか１項に記載のマイクロコントローラ（２０１）。
【請求項３５】
前記マイクロコントローラ（２０１）は、前記インタフェース固有の少なくとも１つの入力モジュール（２１１）と、前記インタフェース固有の少なくとも１つの出力モジュール（２１４）と、前記少なくとも１つの演算ユニット（２１３）と、前記ルーティングユニット（２１２）と、を備えた前記タイマモジュール（２３０）のタイマ機能を実行するよう構成され、前記タイマ機能が必要ではない場合には、前記複数の直列インタフェースのうちの１つに対応する前記機能を行うよう構成される、請求項３４に記載のマイクロコントローラ（２０１）。
【請求項３６】
請求項２３〜３５のいずれか１項に記載のマイクロコントローラを備えた車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に車両内の機能を制御するための電子制御装置であって、通信システムの他の加入者との通信のために外部へのインタフェースを有する上記電子制御装置に関する。
【背景技術】
【０００２】
車両内の制御装置は通常では、例えば、ＳＰＩ、ＵＡＲＴ、ＬＩＮ、ＣＡＮ、ＰＳＩ５、ＦｌｅｘＲａｙ、ＳＥＮＴ、イーサネット（登録商標）、１２Ｃ、ＭＳＣ（Ｍｉｃｒｏ−Ｓｅｃｏｎｄ−Ｃｈａｎｎｅｌ）のような直列インタフェースと、他の制御装置、センサ、アクチュエータ、又は、周辺装置との通信のための他のインタフェースと、を有する。従来技術によれば、上記の直列インタフェースは、制御装置のマイクロコントローラ内のＶＨＤＬ（ＶＨＳＩＣ  Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ、ＶＨＳＩＣハードウェア記述言語）コードによって実装される。ハードウェア側では、直列インタフェースを実装するために、インタフェースの形態に応じて、例えば、インタフェース固有の通信コントローラが、プロトコルコントローラ、サンプルユニット、メモリユニット、及び、トランシーバ（送受信機）を含めて実装されている必要がある。バストランシーバは、例えばＳＥＮＴ及びＳＰＩの場合には必要ではない。このような実装によって、インタフェース固有のハードウェアユニット（例えば、ＳＰＩの場合はバッファ、ＣＡＮの場合はプロトコルコントローラ）に追加的にコストが掛かり、融通が利かない。
【０００３】
国際公開第２００６０１３２１２号明細書では、例えば、ＦｌｅｘＲａｙネットワーク内で、ＦｌｅｘＲａｙ通信接続線と、ＦｌｅｘＲａｙ通信モジュールに割り当てられた加入者と、を接続するためのＦｌｅｘＲａｙ通信モジュールの実現が開示されている。直列インタフェースを典型的に具備したマイクロコントローラは、例えば、インフィニオン社による文書「１６／３２−Ｂｉｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＸＣ２３８７Ｃ、ＸＣ２３８８Ｃ、１６／３２−Ｂｉｔ  Ｓｉｎｇｌｅ−Ｃｈｉｐ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  ｗｉｔｈ  ３２−Ｂｉｔ  Ｐｅｒｆｏｒｍａｎｃｅ、ＸＣ２０００  Ｆａｍｉｌｙ／Ｈｉｇｈ  Ｌｉｎｅ、Ｄａｔａ  Ｓｈｅｅｔ  Ｖ１．３  ２０１１−０７」から読み取れる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
制御装置のため、又は、このような制御装置のマイクロコントローラのための様々な車両適用における直列インタフェースの形態及び数量に対しては、非常に多様な要求がある。即ち、例えば、１の適用での要求は、１個のＳＰＩインタフェース、２個のＬＩＮインタフェース、５個のＣＡＮインタフェースである。要求が大きい他の適用においては、ＦｌｅｘＲａｙ又はイーサネット（登録商標）のような更なる別のインタフェース、又は、より大きな数の既存のインタフェースが追加的に必要となる。この要求に応じるために、様々な形態の非常に多くのインタフェースを備えたマイクロコントローラを利用することが可能であるが、このマイクロコントローラは、多くの適用のためには過剰設計されており高価過ぎるであろう。代替的に、各適用について、インタフェースの形態ごとに厳密に所望の数量を有する固有のマイクロコントローラを実装することが可能であるが、簡素化への要望には逆行し、高い実装コストの原因となる。さらに、双方の解決策は、未知の将来の要求のためには柔軟性に欠ける。従って全体として、車両制御装置のためのマイクロコントローラ内での直列インタフェースの、インタフェース固有のハードウェア実装は、コストを掛けなければ様々な要求に対して調整出来ない、柔軟性に乏しい解決策となる。
【課題を解決するための手段】
【０００５】
本発明は、少なくとも１つの汎用インタフェースを提供する方法と、対応するマイクロコントローラと、このようなマイクロコントローラを備えた制御装置から出発する。
【０００６】
その際、マイクロコントローラのフレキシブルな構成は、中央処理ユニット（ＣＰＵ）と、インタフェース固有の入力モジュールと、インタフェース固有の出力モジュールと、ルーティングユニットと、インタフェース固有の情報を処理するための処理ユニットと、を有する。その際に、演算ユニットは好適に、中央処理ユニットと同一ではない。マイクロコントローラの上記の回路構成要素は、汎用インタフェースを構成し、及び、設定に従って、複数の直列インタフェースのうちの１つに対応する機能、特に、ＳＰＩ、ＵＡＲＴ、ＬＩＮ、ＣＡＮ、ＰＳＩ５、ＦｌｅｘＲａｙ、ＳＥＮＴ、１２Ｃ、ＭＳＣ、又はイーサネット（登録商標）のうちの１つに対応する機能を提供しうるように設定可能である。
【０００７】
マイクロコントローラは、その設計コスト及び生産コストが高いため適用ごとには適切なマイクロコントローラを開発しえないため、使用範囲が広くなければならないことが多い。提案される、マイクロコントローラ内の汎用インタフェースの提供によって、マイクロコントローラの様々な適用ケースで必要となるインタフェースの種類ごとの数は、マイクロコントローラの設計時に分かっている必要がない。むしろ、設定に応じて特定の直列インタフェースのタスクを果たすハードウェア回路が提供される。
【０００８】
マイクロコントローラのハードウェア回路により汎用インタフェースを具現化する方法では、複数の直列インタフェースのうちの１つの直列インタフェースのプロトコルに対応する入力データを受信して処理するための一部の処理において、上記入力データは、インタフェース固有の入力モジュールを介して受信され、ルーティングユニットを介して演算ユニットへと伝送される。演算ユニットによって、ユーザデータが入力データから抽出され、特に、入力データからプロトコルのプロトコル仕様を除去することによって抽出される。最終的に、第１のユーザデータは中央処理ユニット（ＣＰＵ）に提供される。
【０００９】
データを処理し出力データを送信するための基本的に別の一部の処理において、演算ユニットにより中央処理ユニットの第２のユーザデータが受信される。演算ユニットによって、出力データが第２のユーザデータから生成され、特に、第２のユーザデータにプロトコルのプロトコル仕様を付加することにより生成される。出力データは、ルーティングユニットを介して、インタフェース固有の出力モジュールのうちの１つへと伝送され、最終的に、複数の直列インタフェースのうちの１つの直列インタフェースのプロトコルに対応して、インタフェース固有の出力モジュールを介して送信される。
【００１０】
本方法は、特にフレキシブルな形態によるデータ処理を具現化する。というのは、このデータ処理のためにインタフェース固有のハードウェアユニットが利用されないからである。複数の直列インタフェースに対応する複数のプロトコルのデータが、インタフェース固有の入力モジュールによって受信され、及び、インタフェース固有の出力モジュールによって送信され、設定を介して、演算ユニット内でプロトコル情報に基づいて受信されたデータの評価が行われうる。これにより、マイクロコントローラに対する適用固有の要求に応じた、特定の直列インタフェースに対応する汎用インタフェースの設定が可能となる。
【００１１】
プロトコル仕様、即ち特に、開始ビット、停止ビット、パリティ情報、制御ビット、充填ビット等についての情報は、ここでは、例えばマイクロコントローラの中央処理ユニットによって、メモリに格納されうる。このために、汎用インタフェース、特にこのために使用される演算ユニットが設定されうる。演算ユニットは、メモリに対するアクセス権を有し、構想された設定に対応するプロトコル情報を読み出すことが可能である。
【００１２】
演算ユニットがより高次のプロトコル層の演算のためにも使用される場合には、汎用インタフェースのさらに広い使用領域が獲得される。例えば、演算ユニットは、ＬＩＮメッセージフレームへの複数のＵＡＲＴメッセージフレームの変換を行うことが可能である。
【００１３】
演算ユニットから中央処理ユニットへのユーザデータの転送は、演算ユニットが、中央処理ユニットがアクセス権を有するメモリにユーザデータを書込み、当該書き込みについて、例えば割り込みを介して中央処理ユニットに報知することを介して、最も簡単に実現される。
【００１４】
よりコストは掛かるが、そのために演算ユニット及び中央処理ユニットの負荷が軽減される変形例において、演算ユニットは、直接メモリアクセスを介して中央処理ユニットにユーザデータを提供する。
【００１５】
入力モジュールの入力口の各エッジ変化が打刻される形で、入力モジュール内で入力データに時間情報が割り当てられる。これにより、エッジ変化が時間情報と結び付けられ、演算ユニットによってレベル変更の時間情報に基づき含まれるユーザデータが抽出されうるように入力データを受け取ることが、入力データのプロトコルに依存せずに可能となる。このために、タイムスタンプと共にエッジ変化が、その都度入力モジュールからルーティングユニットを介して演算ユニットへと伝送されうる。ルーティングユニットによって、複数の入力モジュール、複数の出力モジュール、及び、複数の演算ユニットが存在する際にも、複数の入力モジュールと、複数の出力モジュールと、複数の演算ユニットとの間のデータ転送が迅速かつ確実に進むという利点がもたらされる。
【００１６】
代替的な変形例において、入力モジュールはメッセージ一式を格納し、（好適にルーティングユニットを介して）演算ユニットに提供してもよい。この場合、タイムスタンプが付いた全てのレベル変更が別々に伝送されるわけではないため、ルーティングユニットの負荷が軽減され、伝送がもはや、ルーティングユニットの速度及び負荷によってはそれほど強く決定されない。
【００１７】
この代替的な変形例において、メッセージ全体に、入力モジュールによって時間情報が割り当てられてもよい。この時間情報自体は、演算ユニット又は中央処理ユニットが、入力データの分類又は処理のために利用することが可能である。
【００１８】
さらに、入力データの内容がオーバーサンプリングによって解析され、多数決を介してサンプル点のレベル値から入力データのビットレベルがビットごとに決定される場合には、入力モジュールによって、入力データの内容の特に確実な検出が行われうる。
【００１９】
入力モジュール内でのエッジ変化への打刻に類似したデータ出力方法において、演算ユニットは、タイムスタンプの付いたエッジ変化へとユーザデータを変換するという形で、中央処理ユニットの側のユーザデータを処理する。このために、演算ユニットは、出力データがそれにより出力されるエッジ変化の間隔について、対応するボーレート、即ち、出力時のデータ伝送速度が分かっている必要がある。タイムスタンプが付いた各エッジ変化は、別々にルーティングユニットを介して出力モジュールへと伝送される。出力モジュールでは、時間情報との比較によって、各エッジ変化が所望の時間に出力口に印加される。このことによって、インタフェース固有の出力モジュールによる、フレキシブルで、プロトコルに依存しないデータ出力が可能となる。
【００２０】
代替的に、出力の際にも、タイムスタンプが付いた個々のレベル変更の代わりに、メッセージフレーム全体が、演算ユニットによって出力モジュールに提供されてもよい。その場合、メッセージ全体の出力は、例えば、演算ユニット若しくは中央処理ユニット（ＣＰＵ）によるトリガによって行われ、又は、メッセージフレーム全体のタイムスタンプと、出力モジュール内の時間情報と、が一致する際に行われる。これにより、ルーティングユニットの負荷が軽減され、送信速度は、ルーティングユニットの負荷及び速度によって少なくともより軽度に制限される。
【００２１】
演算ユニットは、例えば演算論理ユニットを有し、好適に、マルチチャネルシーケンサとして実現される。
【００２２】
インタフェース固有の入力モジュールがキャプチャ（Ｃａｐｔｕｒｅ）機能を有し、及び／又は、インタフェース固有の出力モジュールがコンペア（Ｃｏｍｐａｒｅ）機能を有するマイクロコントローラは、特にフレキシブルに、容易に実現可能に汎用インタフェースを提供することが可能である。少ないリソースを用いて、マイクロコントローラの基本的により高いフレキシビリティが実現されうる。
【００２３】
マイクロコントローラの利用可能性は、例えばＣＲＣ演算のため又は（例えばＣＡＮの場合）バス調停との関連での計算のために、マイクロコントローラの一部であり又は当該マイクロコントローラと接続された更なる別のハードウェア回路によって拡大される。特定の機能に対して最適化されたこのようなハードウェアユニットによって、あまり特化されていない残りのモジュール、特にマイクロコントローラの演算ユニットの負荷が軽減される。マイクロコントローラの少なからぬ数の演算、従って適用が、要求された信頼性及び速度では、このような追加的なユニットを用いて初めて可能である。
【００２４】
多くの適用において、特に自動車分野で普及しているような範囲において、汎用インタフェースが各直列インタフェースを提供するために、ルーティングユニット及び／又は演算ユニットは、少なくとも１００ＭＨｚのクロックにより、特に、少なくとも２００ＭＨｚのクロックにより駆動されるべきであり、これにより、少なくとも１Ｍボーの入力ボーレートにより入力データが受信され、及び、少なくとも１Ｍボーの出力ボーレートにより送信データが送信されうる。
【００２５】
ハードウェアで実現された特別な直列インタフェースと、ソフトウェア演算を用いる所望の直列インタフェースをさらに具現化するために設定可能な、インタフェース固有のハードウェアを備えた汎用インタフェースと、を有するマイクロコントローラは、非常にフレキシブルに使用可能であるが、それにも関わらず特に安価である。従って、マイクロコントローラの公知の適用ケースについて、適用間でのインタフェースの共通部分を、或る程度固定的に実装することが可能である一方、適用間で、インタフェースに対する様々な要求又はインタフェースに対する未知の要求が、汎用インタフェースによってカバーされる。
【００２６】
マイクロコントローラ内の汎用インタフェースを具現化するためのハードウェア回路は、１つ以上のタイマモジュールと組み合わせることが可能である。或るハードウェアブロックで、対応する容量が提供可能である場合には、インタフェースハードウェアとタイマモジュールとは、タスクの際に互いにフレキシブルに支え合うことが可能である。
【００２７】
記載されるマイクロコントローラは、特に自動車分野の制御装置内で良好に使用される。自動車分野では、インタフェースに対する要求が特に大きいと共に、コスト設定が特に厳しい。
【図面の簡単な説明】
【００２８】
以下では、本発明が、添付の図面、及び実施例を用いて詳細に記載される。
【図１】汎用インタフェースを具現化するためのハードウェア回路を備えたマイクロコントローラの一例を概略的に示す。
【図２】汎用インタフェースを具現化するためのハードウェア回路、及び、タイマモジュールを備えたマイクロコントローラの一例を概略的に示す。
【図３】汎用インタフェースを具現化するためのハードウェア回路、及び、ＣＲＣ演算のための特別なハードウェア回路を備えたマイクロコントローラの一例を概略的に示す。
【図４】汎用インタフェースを具現化するためのハードウェア回路、及び、特別な出力モジュールを備えたマイクロコントローラの一例を概略的に示す。
【図５】汎用インタフェースを具現化するためのハードウェア回路、並びに、特別な入力モジュール及び追加的なメモリを備えたマイクロコントローラの一例を概略的に示す。
【図６】汎用インタフェースを具現化するためのハードウェア回路、及び、調停をサポートするための回路を備えたマイクロコントローラの一例を概略的に示す。
【図７】ＣＡＮ調停を解説するための、エッジ変化が行われる２つの信号推移の例を概略的に示す。
【図８】汎用インタフェースを介してデータを受信する方法のシーケンスの例を概略的に示す。
【図９】汎用インタフェースを介してデータを送信する方法のシーケンスの例を概略的に示す。
【図１０】ボーレート検出のための方法のシーケンスの例を概略的に示す。
【図１１】別体のＣＲＣユニットによりＣＲＣ演算が行われるデータ伝送のシーケンスの例を概略的に示す。
【発明を実施するための形態】
【００２９】
以下では、「直列インタフェース」という概念は、装置間の直列データ交換のための接続線として理解される。直列データ伝送は、ビットが順々に１つ以上の線を介して伝送されるデータ伝送を特徴とする。車両で利用される直列インタフェースには、例えば、ＳＰＩ、ＵＡＲＴ、ＬＩＮ、ＣＡＮ、ＰＳＩ５、ＦｌｅｘＲａｙ、１２Ｃ、ＭＳＣ、及びイーサネット（登録商標）が挙げられる。
【００３０】
国際公開第２０１１１２０８２３号明細書には、「汎用タイマモジュール」（ＧＴＭ：Ｇｅｎｅｒｉｃ  Ｔｉｍｅｒ  Ｍｏｄｕｌｅ）が開示されている。この汎用タイマモジュールの場合、ハードウェア・サブモジュールが、（「アドバンストルーティングユニット」（ＡＲＵ：Ａｄｖａｎｃｅｄ  Ｒｏｕｔｉｎｇ  Ｕｎｉｔ）と呼ばれる）中央ルーティングユニットの周りに配置される。中央ルーティングユニットは、様々なハードウェア・サブモジュール間でデータの経路指定を行い、その際好適に、決定論的な調停のために循環スケジューリング（Ｒｏｕｎｄ  Ｒｏｂｉｎ、ラウンドロビン）が使用される。即ち、ソースモジュールが最大循環時間内に操作され、そのデータが、アドレス情報を介して対応するターゲットモジュールへと経路指定される。これにより、タイマモジュールは、例えば、車両内の機能の制御のために使用される電子制御装置（ＥＣＵ）のためのマイクロコントローラ内の、中央処理ユニットＣＰＵの割り込み負荷を軽減することが可能である。タイマモジュールは、ハードウェア・サブモジュールとして、特に入力モジュール、即ち所謂「タイマ入力モジュール」（ＴＩＭ：Ｔｉｍｅｒ  Ｉｎｐｕｔ  Ｍｏｄｕｌｅ）と、出力モジュール、即ち所謂「タイマ出力モジュール」（ＴＯＭ：Ｔｉｍｅｒ  Ｏｕｔｐｕｔ  Ｍｏｄｕｌｅ）又は（ＡＲＵ接続タイマ出力モジュール）（ＡＴＯＭ：ＡＲＵ−ｃｏｎｎｅｃｔｅｄ  Ｔｉｍｅｒ  Ｏｕｔｐｕｔ  Ｍｏｄｕｌｅ）と、を有する。ルーティングユニット（ＡＲＵ）、入力モジュール（ＴＩＭ）、及び、出力モジュール（ＴＯＭ、ＡＴＯＭ）の他に、タイマモジュールは、演算ユニットとしてマルチチャネルシーケンサ（Ｍｕｌｔｉ  Ｃｈａｎｎｅｌ  Ｓｅｑｕｅｎｃｅｒ）を有する。
【００３１】
タイマモジュールは、「キャプチャ（Ｃａｐｔｕｒｅ）／コンペア（Ｃｏｍｐａｒｅ）」という基本原則を採用する。この場合に、入力ユニット（ＴＩＭ）に到着する信号は、その到着に対応するタイムスタンプと結合される。その際に、入力ユニット（ＴＩＭ）は、対応する時間表示を、例えば時間基準ユニット（ＴＢＵ：Ｔｉｍｅ  Ｂａｓｅ  Ｕｎｉｔ）から獲得する。タイムスタンプのこの機能は、「キャプチャ／コンペア」の「キャプチャ」に相当する。時間表示は、演算ユニット又は中央処理ユニットによって、信号の処理及び優先度付けのために利用される。タイマモジュールの出力ユニット（ＴＯＭ、ＡＴＯＭ）を介して送信すべき信号にも同様に、例えば処理演算ユニット（ＣＰＵ、ＭＣＳ）によって、タンプスタンプが付けられる。タイマモジュールの出力モジュール（ＡＴＯＭ）内では、信号のタイムスタンプが現在の時間表示と比較される。出力モジュールはこの時刻表示を、同様に時間基準ユニットから獲得する。出力すべき信号のタイムスタンプが現在の時間に対応する場合には、信号が送信される。この機能は、「キャプチャ／コンペア」の「コンペア」に相当する。上述の時間基準の代わりに、角度と同期した「キャプチャ／コンペア」機能を入力ユニット及び出力ユニットによって実現することも可能である。この角度と同期した「キャプチャ／コンペア」機能は、現在のエンジン角度に対して相対的な受信過程又は送信過程の角度位置が特に重要であるため、車両内で必要となる可能性がある。例えば、入力ユニットは到着した信号に角度スタンプを付けることが可能であり、発信すべきメッセージは、特定の角度点に送信されうるであろう。
【００３２】
演算ユニット又はデータ処理ユニット「マルチチャネルシーケンサ」（ＭＣＳ）は好適に、パイプライン段と、論理演算ユニット（ＡＬＵ）と、復号器と、ＲＡＭメモリユニットへの接続線と、を備えたサブモジュールとして実現される。タイマモジュール内では、複数のマルチチャネルシーケンサを使用することも可能である。入力ユニットは好適に、ラッチ（Ｌａｔｃｈ）及びフリップフロップ（Ｆｌｉｐｆｌｏｐ）と、時間付与ユニット及び／又は角度付与ユニットへの接続線と、を備えたハードウェアモジュールとして実現される。入力ユニットは好適に、例えばレジスタを構成するラッチ及びフリップフロップと、時間付与ユニット及び／又は角度付与ユニットの接続線と、を備えたハードウェアモジュールとして実現される。その際、時間付与機能のための時間基準は、マイクロコントローラ（又は、その中央処理ユニット（ＣＰＵ））の演算クロックから導出することが可能であり、角度付与機能のための角度基準は、ＤＰＬＬ（ｄｉｇｉｔａｌ  ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ、デジタル位相ロックループ）を介して実現することが可能である。
【００３３】
タイマモジュール、特に、タイマモジュールの上記の構成要素であるＡＲＵ、ＭＣＳ、ＴＩＭ、ＡＴＯＭ、ＴＢＵの更なる機能形態については、国際公開第２０１１１２０８２３号明細書を参照されたい。これにより、国際公開第２０１１１２０８２３号明細書の対応する記載箇所は、参照により本願に含まれる。
【００３４】
公知のタイマモジュールの機能に基づいて、本発明の中心的な観点は、特に車両制御装置内での適用のために、マイクロコントローラ内で汎用インタフェースを提供することである。このために、既にマイクロコントローラに組み込まれた対応するタイマモジュールのユニットが再設定され、又は、この適用のための特別なユニットがマイクロコントローラに組み込まれうる。その際に、例えば、特化したインタフェース入力口及び出力口を汎用に再現するために、例えば、入力ユニット（ＴＩＭ）及び／又は出力ユニット（ＴＯＭ、ＡＴＯＭ）の「キャプチャ」機能及び／又は「コンペア」機能を採用してもよい。入力ユニット及び出力ユニットは、演算ユニットによって、例えば、インタフェースを具現化するための演算を実行するマルチチャネルシーケンサ（ＭＣＳ：ｍｕｌｔｉ  ｃｈａｎｎｅｌ  ｓｅｑｕｅｎｃｅｒ）によってサポートされる。入力モジュールと、出力モジュールと、演算ユニットと、の間でデータを共有するために、好適にルーティングユニットが使用される。以下で記載されるモジュール、即ち、入力モジュール、出力モジュール、ルーティングユニット、及び演算ユニットは好適に、タイマモジュール（ＧＴＭ）に関して先に記載された対応するユニットＴＩＭ、（Ａ）ＴＯＭ、ＡＲＵ、又は、ＭＣＳの機能を有する。但し、汎用インタフェースを具現化するためのハードウェア回路、又は、当該ハードウェア回路を備えたマイクロコントローラは、他の要求（例えば、経路指定の速度及び処理速度）に基づいて、公知のタイマモジュールとは区別される。その際に好適に、タイマ・サブモジュールの上記機能を越えてさらに、マイクロコントローラのハードウェアの変更が行われるが、対応するタイマ・ハードウェアモジュールは、本発明に基づいて使用しうるために、設定によって、変更されたタスク及び要求に対して調整する必要がある。
【００３５】
図１には、マイクロコントローラ内の汎用の直列インタフェースを具現化するための回路構成が概略的に示されている。
【００３６】
マイクロコントローラ１０１は、特定の直列インタフェースの機能を設定可能に提供する一群のハードウェア回路１１０を有する。ハードウェア構成要素１１０には、入力データチャネル１０２と接続された入力モジュール１１１が属する。入力データチャネル１０２は、典型的に、ケーブル接続された通信接続線である。入力モジュール１１１は、ルーティングユニット１１２と接続されている。ルーティングユニット１１２は、入力モジュール１１１の他に、演算ユニット１１３及び出力モジュール１１４とも接続されている。出力モジュール１１４は、出力データチャネル１０３と接続されている。出力データチャネル１０３も同様に、典型的に、ケーブル接続された通信接続線である。入力データチャネル１０２及び出力データチャネル１０３は、特定プロトコルによる通信システムの一部であり、従って、インタフェース固有のハードウェア構成要素１１１、１１２、１１３、１１４は、上記特定のプロトコルのデータを処理することが可能な対応するインタフェースの機能を提供するように、設定される必要がある。例えば、入力データチャネル１０２は、ＵＡＲＴインタフェースのＲｘ入力口であってもよく、出力データチャネル１０３は、ＵＡＲＴインタフェースのＴｘ出力口であってもよい。この例では、ハードウェア構成要素１１１、１１２、１１３、１１４は、ＵＡＲＴインタフェースを再現するように設定される必要がある。
【００３７】
入力モジュール１１１及び出力モジュール１１４は、インタフェース固有のハードウェア回路であり、即ち、様々なプロトコル構造に従って構成された、複数の様々な直列インタフェースのデータを処理することが可能である。演算ユニット１１３は、マイクロコントローラの中央処理ユニット（ＣＰＵ）とは区別され、以下では区別するためにＭＣＳと呼ぶ。というのは、好適な実施形態によるマイクロコントローラでは、演算ユニット（ＭＣＳ）はマルチチャネルシーケンサであるからである。演算ユニット（ＭＣＳ）の他のハードウェア実現も同様に可能であり、好適に演算ロジックユニット（ＡＬＵ）を用いても同様に可能である。
【００３８】
ルーティングユニット１１２は、モジュール、即ち、入力モジュール１１１と、出力モジュール１１４と、演算ユニット（ＭＣＳ）１１３と、を時分割多重方式により接続する。
【００３９】
図１は、マイクロコントローラ１０１を非常に簡略に示している。当然のことながら、このようなマイクロコントローラ１０１は、ここに図示されない他の多くの構成要素を有し、特に、マイクロコントローラ内のデータ処理、演算、及び設定を行うことが可能な少なくとも１つの中央処理ユニット（ＣＰＵ）を有する。さらに、マイクロコントローラ１０１は好適に、複数のこのような入力モジュール１１１及び出力モジュール１１４を有する。適用に応じて、マイクロコントローラ１０１は、複数の演算ユニット（ＭＣＳ）１１３を有してもよい。複数のこのようなモジュール１１１、１１３、１１４は、１つのルーティングユニット１１２と接続されうる。非常に複雑な適用については、このようなマイクロコントローラ１０１内で複数のルーティングユニット１１２を使用することも可能である。
【００４０】
本マイクロコントローラの特に好適な変形例において、マイクロコントローラは、複数の「固有の」インタフェース、即ち、従来技術に従って固定的にハードウェアで実現される直列インタフェースと、図１に記載されるようなハードウェア回路の形態による複数の「汎用」インタフェースと、を有する。これにより好適に、特定のインタフェース形態による最小数の必要なインタフェースが、従来のように安価に、固定的にハードウェアで実現されるが、マイクロコントローラの様々な適用間で異なるインタフェースを、汎用インタフェースとして構想し、従って、各適用に応じてソフトウェアで設定することが可能である。これにより、保持するインタフェースの数を減らした状態で、マイクロコントローラのフレキシブルな使用が可能である。
【００４１】
図８には、メッセージ受信のための汎用インタフェースを具現化する方法のシーケンスが示されている。
【００４２】
マイクロコントローラの入力モジュール（例えば、図１の１１１）内で、第１のステップ（８０１）において、マイクロコントローラ外部のデジタルデータがビットとして受信される。その際に、入力モジュールに入力信号が印加される。この入力信号は、再現すべき直列インタフェースに対応するプロトコルに従っている。ステップ８０２において、受信データのビット間のエッジ変化が、その都度入力モジュール内で打刻される（キャプチャ機能）。さらに、入力モジュール内では、入力モジュールの入力口のピン状態、即ちエッジが変化した際のタイムスタンプが収集される。入力モジュールは、打刻のための必要な時間情報を、例えば時間基準ユニットから獲得することが可能である。このように定められたデータ（入力データ）は、ステップ８０３において、入力モジュールから、マイクロコントローラのルーティングユニット（例えば、図１の１１２）へと伝達される。さらに、ピン状態が変化した際のエッジ変化が、他のエッジが設定された際のタイムスタンプと共に伝送される。ルーティングユニットは、ステップ８０４において、データ（入力データ）をマイクロコントローラの演算ユニット（ＭＣＳ、例えば図１の１１３）へと伝達する。
【００４３】
演算ユニット（ＭＣＳ）は、ステップ８０５において、入力モジュール内の複数のキャプチャイベントに対応して、ルーティングユニット側で複数の別々の伝送として届いた情報を処理する。その際に、演算ユニット（ＭＣＳ）は、受信されたビットストリーム（即ち、打刻されたエッジ変化）から、受信された信号を再構成する。さらに、演算ユニット（ＭＣＳ）は、この信号を検査し、そのときのプロトコルに応じて制御ビット（例えば、開始ビット、停止ビット、パリティビット、スタッフビット）を除去し、第１のユーザデータを抽出する。演算ユニット（ＭＣＳ）は、この処理のための情報（即ち、どのプロトコルが関わっているのか、又は、プロトコルのメッセージがどのように構成されているかについての情報）を、好適に、自身がアクセス権を有するローカルの揮発性メモリから獲得する。揮発性メモリへは、上記情報は、例えばマイクロコントローラの中央処理ユニット（ＣＰＵ）によって、不揮発性メモリ（例えばフラッシュメモリ）から伝達されうる。マイクロコントローラの起動の際には、好適に、入力モジュール、及び、以下で記載される出力モジュールが、中央処理ユニット（ＣＰＵ）によって、特定の直列インタフェースに対応するメッセージプロトコルに対して固定的に割り当てられ、情報及び対応するプロトコル情報が、演算ユニット（ＭＣＳ）にとってアクセス可能であるように揮発性メモリ内に格納される。
【００４４】
任意のステップ８０６において、演算ユニット（ＭＣＳ）は、更なる別の処理ステップ及び演算を実行してもよく、例えば、より高次のプロトコル層の演算を実行してもよい。例えば、複数のＵＡＲＴフレームがＬＩＮフレームに変換されてもよく、又は、逆の信号演算が行われてもよい。
【００４５】
演算ユニット（ＭＣＳ）は、上記の処理されたデータ（第１のユーザデータ）を、ステップ８０７において、マイクロコントローラの中央処理ユニット（ＣＰＵ）に提供する。好適に、この情報はメモリ（第２のメモリ：例えばＲＡＭ）に格納され、この格納について、（例えば、割り込みを介して、又は、ＤＭＡチャネルのトリガによって）中央処理ユニット（ＣＰＵ）に報知される。その際に、メッセージは、ユーザデータの他に、例えばＣＡＮメッセージの場合は識別子のような更なる別の情報を有してもよい。
【００４６】
最後にステップ８０８において、中央処理ユニット（ＣＰＵ）が受信された情報を処理する。
【００４７】
図９には、メッセージ送信のための汎用インタフェースを具現化する方法のシーケンスが概略的に示されている。
【００４８】
ステップ９０１において、マイクロコントローラの中央処理ユニット（ＣＰＵ）は、（場合によっては識別子と共に）信号（第２のユーザデータ）を、演算ユニット（ＭＣＳ、例えば図１の１１３）に提供する。演算ユニット（ＭＣＳ）内では、ステップ９０１において信号処理が実行される。デジタル信号のビットから、エッジ変化の推移が計算され、エッジ変化に時間表示が付けられる。エッジ変化の間の正確な時間間隔について、演算ユニット（ＭＣＳ）は、利用されるボーレートについての情報を必要とする。さらに、利用されるプロトコルに対応するプロトコル仕様の情報、例えば、開始ビット、停止ビット、パリティビット、スタッフビットのような制御ビットが付加される。演算ユニット（ＭＣＳ）は、この処理のための情報（即ち、どのプロトコルが関わっているか、又は、プロトコルのメッセージがどのように構成されているかについての情報）を、好適に、自身がアクセス権を有するローカルの揮発性メモリ（第１のメモリ）から獲得する。揮発性メモリへは、上記情報は、例えばマイクロコントローラの中央処理ユニット（ＣＰＵ）によって、不揮発性メモリ（例えば、フラッシュメモリ）から伝送されうる。
【００４９】
このようにして獲得されたデータ（出力データ）の、演算ユニット（ＭＣＳ）からルーティングユニット（例えば、図１の１１２）への転送は、ステップ９０２において行われる。後続のステップ９０３では、データ（出力データ）が、ルーティングユニットから所定の出力ユニット（例えば、図１の１１４）へと経路指定される。
【００５０】
出力ユニットは、送信すべきデータをエッジ変化として、エッジ変化が出力口のどのエッジに印加されるべきなのか、従って、所望のメッセージが送信される時点についての情報と共に獲得する。このために、出力ユニットは、ステップ９０４において、上記の獲得された時間情報と、利用可能な時間情報と、を比較する（コンペア機能）。時間情報は、例えば、時間基準ユニットによって提供されてもよい。時間情報が、後続のエッジ変化に割り当てられた時点と一致する場合には、出力ユニットは、最終的に、エッジ変化を出力口に印加し、従って、所望のデータをビットストリームとして、予め設定されたボーレートによって、再現すべき直列インタフェースに対応するメッセージプロトコルにより送信する。演算ユニット（ＭＣＳ）からルーティングユニットを介した出力モジュールへの伝送は、本変形例では、時間情報を伴ったエッジ変化ごとに別々に行われる。出力モジュールは、以前に受信されたエッジ変化が時間情報に対応して送信され又は出力口に印加された場合に、更なる別のエッジ変化を時間情報と共に受信する準備が整っているように、構成されてもよい。
【００５１】
汎用直列インタフェースのハードウェア実現のために様々な設定が可能である。一方では、マイクロコントローラは、先に記載した「汎用タイマモジュール」のようなタイマモジュールを有してもよく、追加的に、図１に記載したようなハードウェア回路を有しても良い。このような設定では、タイマモジュールは、具現化されるインタフェースに考慮することなく、自身に課せられたタスクを果たすことが可能である。インタフェース機能は、マイクロコントローラの追加的なハードウェア回路によって提供される。このような設定では、インタフェース機能によりハードウェア回路にぎりぎりまで負荷が掛けられていない限りにおいて、特に、対応する入力モジュール及び出力モジュールがインタフェース機能に割り当てられていない限りにおいて、設定によって、好適に、タイマ機能が追加的なハードウェア回路へと伝送される。さらに、特別な変形例において、タイマモジュール（又はそのハードウェアユニット）は、そのために十分な空き容量と十分なハードウェア設計を有しそのために設定される限りにおいて、追加的なハードウェア回路のインタフェース機能を引き継ぐことが可能である。
【００５２】
このようなハードウェア実現が、図２に提示される。ここでは、マイクロコントローラ２０１は、ハードウェア回路２１０を有し、このハードウェア回路２１０は、図１のハードウェア回路１１０に対応する（入力データチャネル２０２、出力データチャネル２０３、入力モジュール２１１、出力モジュール２１４、ルーティングユニット２１２、演算ユニット（ＭＣＳ）２１３）。追加的に、マイクロコントローラ２０１は、タイマモジュール２３０を有し、このタイマモジュール２３０は、タイマ・入力モジュール２３１、タイマ・出力モジュール２３４、ルーティングユニット２３２、及び、演算ユニット（ＭＣＳ）２３３を有する。タイマ・入力モジュール２３１は、信号出力口２２２、及び、ルーティングユニット２３２と接続される。タイマ・出力モジュール２３４は、信号出力口２２３、及び、ルーティングユニット２３２と接続される。ルーティングユニット２３２はさらに、演算ユニット（ＭＣＳ）２３３と接続される。タイマモジュール２３０は、例えば、上記のタイマモジュール「汎用タイマモジュール」によって実現されてもよい。
【００５３】
更なる別の変形例において、図１について記載したようなハードウェアユニットが、タイマ機能及びインタフェース機能を引き継いでもよい。このようなハードウェアユニットは、上記の汎用タイマモジュールと比較して、好適に、汎用の直列インタフェースを具現化するために必要されるようにサービス率を上げてより高いボーレートを提示しうるために、より高い周波数で駆動されるルーティングユニットと、ルーティングユニットごとにより少ないモジュールと、を有する。例えば、ルーティングユニット及び演算ユニット（ＭＣＳ）は、８０ＭＨｚの代わりに１００ＭＨｚ以降の周波数で、好適に２００ＭＨＺ以降の周波数で駆動されうるであろう。好適に、ルーティングユニット及び演算ユニット（ＭＣＳ）の周波数は、１Ｍボー以上のインタフェースが具現化出来るように設計される。
【００５４】
双方の変形例において、インタフェース機能とタイマ機能との間の可能なシフトによって、フレキシビリティが獲得される。例えば、マイクロコントローラを備えた制御装置内での適用において、組み合わされたタイマ／インタフェースモジュールと１６個の出力モジュールとを利用して、エンジンの８個の気筒を制御するためのタイマ機能を提供することが可能である。このために、例えば、コンペア機能を備えた８個の出力モジュールが、点火の制御のために使用され、コンペア機能を備えた８個の出力モジュールが、各気筒の噴射の制御のために使用される。マイクロコントローラが、他の適用において、４個の気筒を備えたエンジンを制御するために、組み合わされたタイマ／インタフェースモジュールと共に使用される場合には、上記の１６個の出力モジュールのうちの８個は、気筒の制御のタイマ機能のためには必要ではなく、従って、例えば、８個の直列インタフェースの出力信号を再現するために利用可能である。
【００５５】
再現される直列インタフェースの形態に従って、更なる別のハードウェアモジュールが、既に記載したモジュール及びユニットに加えて必要となる可能性がある。
【００５６】
例えば、特定のプロトコルのために、例えばＰＳＩ５又はＣＡＮのために、ＣＲＣ演算を実行する必要がある。ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ、巡回冗長検査）では、データエラー又はメモリエラーを検出するために、データのために検査値が定められ、この検査値が伝送後に、伝送されたデータに基づいて検査される。この形態の演算のためには、実装された演算ユニット（ＭＣＳ）は最適ではなく、場合によっては、より高い計算能力を備える必要があるであろう。複数の演算ユニット（ＭＣＳ）を備えたハードウェア回路の場合には、さらに、各演算ユニット（ＭＣＳ）に追加的な演算の負荷が掛かるであろう。さらに、場合によっては、例えばエラーメッセージフレームのような、プロトコルにおけるアクションを起動しうるために、幾つかのプロトコルではＣＲＣ演算を非常に速く実行する必要がある。
【００５７】
従って、面積及びパフォーマンスの理由から、独自のモジュール内でＣＲＣ演算を行うのが有利である。直列インタフェースを再現するための上記のハードウェア回路の好適な構成において、ハードウェア回路は追加的にさらに、ＣＲＣ情報を計算するための別体のユニットを有する。好適に、このＣＲＣ検査ユニットは、複数の演算ユニット（ＭＣＳ）を備えたハードウェア回路の場合には、複数の演算ユニット又は全ての演算ユニットのために、演算を中心的に行う。
【００５８】
追加的なＣＲＣユニットは、速度への高い要求を有するプロトコルのためにも十分に高速に、ＣＲＣ演算及びＣＲＣ比較を提供することが可能である。その際に、ＣＲＣユニットは、好適に少なくともＣＲＣ検査値の計算を実行し、場合によってはＣＲＣ検査値の検査も行う。ＣＲＣ検査値がＣＲＣユニットによって正確には検出されない場合には、好適に、演算ユニット（ＭＣＳ）によって、新しい伝送を開始することが可能である。
【００５９】
ＣＲＣ検査ユニットは、好適に、ハードウェアロジック回路として実現され、例えば、ＣＲＣ検査ユニットはこのために、ＸＯＲロジック部と、シフトレジスタと、を有してもよい。代替例は、（例えば、追加的な小さな）演算ユニットによる演算を用いた、ソフトウェアでの実現であろう。
【００６０】
図３には、このような追加的なＣＲＣユニットを備えたハードウェア回路が示されている。マイクロコントローラ３０１は、ハードウェアモジュール３１０において、また、入力モジュール３１１、ルーティングユニット３１２、演算ユニット（ＭＣＳ）３１３、及び、出力モジュール３１４において、図１のマイクロコントローラ１０１に大部分で対応する。データ入力チャネル３０２は入力モジュール３１１と接続され、データ出力チャネル３０３は出力モジュール３１４と接続される。図１のマイクロコントローラ１０１に追加して、マイクロコントローラ３０１はさらにＣＲＣユニット３１５を有し、このＣＲＣユニットは、示される実施例ではルーティングユニット３１２と接続される。
【００６１】
ＣＲＣ値の演算は、好適に多項式の除法に基づいている。従ってＣＲＣユニットは、変数を介して、少なくともマイクロコントローラの起動時に設定可能であるべきであり、従って、様々な多項式が提示されうる。例えば、多項式ｂ７＊ｘ７＋ｂ６＊ｘ６＋ｂ５＊ｘ５＋ｂ４＊ｘ４＋ｂ３＊ｘ３＋ｂ２＊ｘ２＋ｂ１＊ｘ１＋ｂ０＊ｘ０が、設定パラメータｂ１〜ｂ７を介して設定されうる。様々なＣＲＣ多項式を有する様々なインタフェースをサポートしうるために、ＣＲＣユニットはフレキシブルに（即ち伝送時間について）再設定できる必要があり、又は、複数のＣＲＣユニットが設けられる必要がある。
【００６２】
別体のＣＲＣユニットによるＣＲＣ演算を含むデータ伝送のシーケンスが、図１１に示されている。ここでは、受信されたデータからのＣＲＣ値の計算の例が記載される。
【００６３】
第１のステップ１１０１において、ＣＲＣユニットが、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）によって設定される。このことは、通常では各インタフェースのために他の多項式の計算が必要であるため必要である。先に記載したように、多項式は、設定パラメータによって決定されうる。複数の汎用直列インタフェースのＣＲＣ演算のために使用されるＣＲＣモジュールの場合、このような設定が、２つの連続する後続の演算が同一のインタフェースのために行われない限り、各演算の前に必要である。ＣＲＣユニットのこの設定は、例えば、ＣＲＣユニットが様々な多項式を含むテーブルへアクセスし、このテーブル内のエントリに対応するインデックス（Ｉｎｄｅｘ）を獲得し、当該エントリに従って多項式を利用することを介しても行うことが可能である。
【００６４】
ＣＲＣモジュールは、第２のステップ１１０２で、ＣＲＣ演算を行うべきデータを受信する。このデータは、例えば、入力モジュールにより受信されて演算ユニット（ＭＣＳ）へと伝送されたＣＲＣ情報を含む入力データである。ＣＲＣユニット内でのＣＲＣ演算は、第３のステップ１１０３で実行される。第４のステップ１１０４において、ＣＲＣ演算（ＣＲＣ検査値の計算と場合によっては検証）の結果が、ＣＲＣモジュールから演算ユニット（ＭＣＳ）へと送信される（ＣＲＣ検査値、及び／又は、ＣＲＣの検査結果）。好適に、演算ユニット（ＭＣＳ）からＣＲＣユニット、及び、ＣＲＣユニットから演算ユニット（ＭＣＳ）への上記データの伝送は、それぞれルーティングユニットを介して行われる。最終的に、演算ユニット（ＭＣＳ）は、第５のステップ１１０５において、ＣＲＣユニットにより計算されたＣＲＣ情報と、受信されたＣＲＣ情報と、を比較し、又は、ＣＲＣの検査結果がＣＲＣユニットにより評価し、一致しない場合には、伝送エラー又はメモリエラーがあることを確認することが可能である。
【００６５】
演算ユニット（ＭＣＳ）によって伝送エラー又はメモリエラーが確認された場合には、任意のステップ１１０６において、演算ユニット（ＭＣＳ）によって新たな伝送を開始してもよい。
【００６６】
送信すべきデータのためのＣＲＣ演算も同じように進行する。データは、好適にＣＲＣユニットの設定後に、演算ユニット（ＭＣＳ）からルーティングユニットを介してＣＲＣユニットへと送信される。ＣＲＣユニットではＣＲＣ演算が実行され、結果が、ＣＲＣユニットからルーティングユニットを介して演算ユニット（ＭＣＳ）へと伝送される。演算ユニット（ＭＣＳ）では、ＣＲＣ値がデータに付け加えられ、データが出力モジュールに提供される。
【００６７】
ここまで記載した実施例は、基本設定（図１）に対応して、汎用の直列インタフェースを具現化するためのハードウェア回路が、キャプチャ機能を有する入力モジュールとコンペア機能を有する出力モジュールとを利用することから出発している。これに対して、他の実施変形例では、コンペア機能が無い異なるモジュールを使用することも可能である。従って、インタフェースフレームを出力するこのような特別なモジュールは、ハードウェア回路及びタイマモジュールの上記の出力モジュール（ＴＯＭ、ＡＴＯＭ）とは異なっている。
【００６８】
このような出力ハードウェアモジュールのハードウェア実現は、例えば、状態オートマトン（ステートマシーン、Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）を介して、メモリと組み合わせて行うことが可能である。特別な出力モジュールは、上記の受信すべきビットストリーム及び送信すべきビットストリームの代わりに、メッセージフレーム全体を自身のメモリに格納することが可能である。従って、ルーティングユニットは、メッセージ全体を、送信過程によって出力モジュールへと送信することが可能である。従って、出力モジュールに対するより高いハードウェア要求によって、ルーティングユニットへの負荷が低減されることになる。さらに、このような出力ユニットによってより簡単に、データ出力時のより速いボーレートを実現することが可能である。というのは、ボーレートはもはや、ルーティングユニットのクロック（Ｔａｋｔｕｎｇ）によって制限されないからである。好適な実施形態において、出力ユニットは、時間情報（又は、対応して角度情報）を提供する必要がある。先に記載した出力ユニットに対して、この出力ユニットは、どの時点に（又は、どの角度で）、及び、どのようなボーレートで、メッセージ全体又はメッセージフレーム全体を送信しなければならないのかという情報のみを必要とする。利用可能な時間情報又は角度情報、及び、出力モジュールに分かるボーレートを用いて、データが送信される。好適に、出力ユニットのメモリへのデータの直接的な書込みが、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）によって行われる。その際に出力ユニットは、信号（日付）、並びに、データレート及び送信時点についての情報を獲得する。
【００６９】
代替的に、送信プロセスは、時間情報を介して開始されずに、特別な出力ユニットに対する、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）の正確なトリガによっても開始されてもよい。その場合、出力ユニットは自立的に出力ピンにデータを印加する。
【００７０】
図４には、特別な出力モジュール４１４を備えたマイクロコントローラが示されている。ハードウェア構成要素４１０、即ち、入力モジュール４１１、ルーティングユニット４１２、演算ユニット（ＭＣＳ）４１３、出力モジュール４１４、並びに、入力データチャネル４０２及び出力データチャネル４０３への接続線を備えたマイクロコントローラ４０１は、図１のマイクロコントローラ１０１に大部分で対応する。但し、出力モジュール４１４は、拡張された機能を有し、例えば、完全なメッセージフレームを格納するためのメモリリソースを有する。示される好適な実施形態において、出力モジュール４１４はさらに、マイクロコントローラ４０１への更なる別の接続線を有する。この接続線を介して、出力モジュール４１４は、例えばデータをマイクロコントローラ４０１の中央処理ユニット（ＣＰＵ）を通じて提供することが可能であり、例えば、先に記載した、中央処理ユニット（ＣＰＵ）による出力モジュール４１４のメモリへの出力データの直接的な書込みによって提供することが可能である。
【００７１】
このような特別な出力ユニットを用いたデータ出力のシーケンスが、以下に、ＵＡＲＴ設定での汎用インタフェースを介した伝送の例を用いて記載される。
１．マイクロコントローラの中央処理ユニット（ＣＰＵ）又は演算ユニット（ＭＣＳ）は、メッセージフレーム０１１１１１１１１１１を出力ユニットのメモリに書き込む。これは、１個の開始ビット（０）、８個のデータビット（１１１１１１１１）、パリティビット（１、奇数パリティ（ｏｄｄ  ｐａｒｉｔｙ）の場合）、及び停止ビット（１）に相当する。
２．マイクロコントローラの中央処理ユニット（ＣＰＵ）又は演算ユニットが、出力されるメッセージフレームのデータレートを、出力ユニットのレジスタに書き込む。
３．マイクロコントローラの中央処理ユニット（ＣＰＵ）又は演算ユニットは、伝送を開始するために出力ユニットにトリガを送信する。別の変形例において、伝送は、メッセ−ジフレームの獲得後に所定数の伝送過程の後に開始される。更なる別の変形例において、マイクロコントローラの中央処理ユニット（ＣＰＵ）又は演算ユニットは、伝送が行われ又は開始される時点を送信する。
４．出力ユニットは、選択されたデータレートによりメッセージフレームを自立的に出力する。
【００７２】
特別な出力モジュールを含む記載された実施例において、例えば、出力ユニットへの書き込み及び送信過程のトリガによって、演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）には追加的に負荷が掛かる。従って、更なる別の好適な実施変形例において、出力ユニットは、送信すべきデータ又はメッセージフレームを、メモリからの自力でのリロードによって獲得する。例えば、出力ユニットが連結リスト及びＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ、直接メモリアクセス）を介してアクセスするＲＡＭからの、このような自力でのリロードが行われうる。従って、より大きなデータパケットも、高速で、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）への負荷（割り込み）無しに出力されうる。
【００７３】
特別な出力ユニットを含む記載される実施例において、まず、残りの処理ステップ（入力モジュールによるデータ受信、ルーティングユニットによる経路指定、演算ユニット（ＭＣＳ）によるプロトコル演算、場合によりＣＲＣユニットによるＣＲＣ演算）が引き続き上述のとおり進行し、又は、残りのハードウェア回路（入力モジュール、ルーティングユニット、演算ユニット（ＭＣＳ）、場合によってはＣＲＣユニット）が上述のとおり構成されることから出発する。
【００７４】
上述した、特別な出力モジュールによる、コンペア機能を備えた出力モジュールの交換と同様に、更なる別の実施例において、特別な入力ユニットによる、キャプチャ機能を備えた入力モジュールの交換を通じた基本構成（図１）の変更も可能である。
【００７５】
好適に、本実施形態では、このような特別な入力モジュールは、上記のように入力ビットストリームをエッジごとに分解しないであろう。即ち、各エッジ変化に打刻してルーティングユニットを介して演算ユニット（ＭＣＳ）へと転送しないであろう。むしろ、特別な入力ユニットは、ビットストリーム一式を収容し（即ち、格納し）フィルタリングするであろう。フィルタリングとして、好適に、オーバーサンプリング（Ｏｖｅｒｓａｍｐｌｉｎｇ）を利用することが可能である。ボーティング（Ｖｏｔｉｎｇ、投票）と組み合わせたオーバーサンプリングによって、より確実に、高いレベルを有する受信されたビットと、低いレベルを有する受信されたビットと、を互いに分け又は区別することが可能である。
【００７６】
特別な入力モジュールの入力フィルタは、例えば、１６ＭＨｚで、１ＭＨｚの信号をサンプリングするようにプログラミングされる。ビットごとに１６回のサンプリングは、予め定められた設定（例えば、１６回のうちの３回、又は１６回のうちの１２回）に従ってビット状態として１又は０を格納する投票インスタンスを介して導かれる。オーバーサンプリング及びボーティングが実装されたこのような特別な入力モジュールによって、雑音余裕度に対する要求がより高いインタフェースも実装することが可能である。
【００７７】
トリガイベント、例えばＵＡＲＴの場合は開始ビットによる同期化によって、特別な入力ユニットは、ビットストリームに関して定められた状態に置かれる。全てのビットが読み込まれた場合に（例えばＵＡＲＴでは、開始ビット、８個のデータビット、パリティビット、停止ビット）、このデータは、特別な入力モジュールの出力口からルーティングユニットを介して演算ユニット（ＭＣＳ）へと伝送され、演算ユニット（ＭＣＳ）はその後、より高次のプロトコル層（例えば、ＫＷＰ２０００、ＬＩＮ）を翻訳し、又は、アプリケーションソフトウェアがデータを取り出すことが可能なＦＩＦＯメモリに直接データを書き込む。ルーティングユニットの側での打刻されたエッジ変化メッセージの評価を通じた、演算ユニット（ＭＣＳ）によるメッセージの再構成はもはや必要ではない。これに対して、演算ユニット（ＭＣＳ）は、メッセージフレームのデータを、ルーティングユニットからのメッセージとして、各別々の伝送としてのエッジ変化の伝送の代わりに獲得する。これにより、ルーティングユニットも同様に、複数の個別伝送の実行による負荷が軽減される。到着するデータの処理速度は、もはや以前のように大きな規模では、ルーティングユニットの速度に依存しない。従って、ルーティングユニット及び演算ユニット（ＭＣＳ）の負荷の軽減に並んで、より速いデータレートによる、到着したデータの処理が可能である。
【００７８】
フィルタリングされたビットレベル、即ち、オーバーサンプリング及びボーティングの後に定められた正しいビットレベルに加えて、さらに、ビットが破壊されたのか又はどの程度ビットが破壊されたのか、即ち例えば、ボーティングがどの程度クリア（ｋｌａｒ）であったかについての情報を、（例えば、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）へと）転送することが可能である。例えば、ビットの、サンプリングされた何個の値が同じレベルを有するのかを伝達することが可能である。確実にボーティングを行うために、例えば、エッジ変化の直前又は直後のポイント（サンプリング）にマスキングすることも可能であり、ボーティング、即ち、ビット検出がより確実に形成される。
【００７９】
オーバーサンプリング及びボーティングを行う特別な入力モジュールを備えた上記のハードウェア回路について、ビット検出の改善のために、定められたボーレートを、ボーティングのために利用することも可能である（このようなボーレート検出は以下で詳細に記載される）。
【００８０】
特別な入力モジュールを含む実施形態の好適な代替例において、特別な入力モジュールから、メモリへの、例えば、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）がアクセス権を有するＦＩＦＯメモリへの伝送が行われる。代替的に、演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）は、特別な入力モジュールのメモリに直接アクセスしてもよいであろう。
【００８１】
特別な入力ユニットを有する提示された実施例の拡張において、この特別な入力ユニットは、ビットストリームごと又はメッセージフレームごとに、タイムスタンプを予め設定することが可能である（このためには、時間情報へのアクセス権が必要である）。マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）は、上記タイムスタンプを、メッセージフレームの処理又は評価のために利用することが可能である。
【００８２】
特別な出力ユニットの場合のように、特別な入力ユニットにはより高いコストが伴うが、上述の利点は、この適切な実施形態を選択するために、コスト面の欠点に見合ったものであるに違いない。
【００８３】
特別な入力ユニットを含む上記の実施例では、まず、残りの処理ステップ（出力モジュールによるデータ出力、ルーティングユニットによる経路指定、演算ユニット（ＭＣＳ）によるプロトコル演算、場合によりＣＲＣユニットによるＣＲＣ演算）が、引き続き上述のように進行し、又は、残りのハードウェア回路（出力モジュール、ルーティングユニット、演算ユニット（ＭＣＳ）、場合によってはＣＲＣユニット）が、引き続き上述のように構成されるということから出発する。但し、汎用直列インタフェースを具現化するための特別に性能の高いハードウェア回路の一実施変形例において、このハードウェア回路は、上記したフィルタリング機能を有する特別な入力モジュールと、上述のような特別な出力モジュールと、を有する。特別な入力ユニットを備えた、汎用直列インタフェースを具現化するためのハードウェア回路が、図５に概略的に示されている。ハードウェア構成要素５１０、即ち、入力モジュール５１１、ルーティングユニット５１２、演算ユニット（ＭＣＳ）５１３、出力モジュール５１４、並びに、データ入力チャネル５０２及びデータ出力チャネル５０３への接続線を備えるマイクロコントローラ５０１は、図１のマイクロコントローラ１０１に大部分で対応する。但し、特別な入力モジュール５１１は、フィルタリング機能を具現化するための回路、特に、受信されたビットのオーバーサンプリングと、ビットのサンプリング時点にサンプリングされたレベル値に基づき多数決を介して当該ビットのレベル値を確認するボーティングと、を具現化するための回路を備えるハードウェアユニットである。図１で記載された入力モジュールに対して、特別な入力モジュール５１１は、ビットストリーム全体又は受信されたメッセージフレーム全体を格納するために十分な大きさのメモリを有する必要がある。
【００８４】
図５には、図１に比べてさらにメモリ５１６、例えばＦＩＦＯメモリが示される。このＦＩＦＯメモリに対して、少なくとも入力モジュール５１１はアクセス権を有する。上記の変形例の１つに対応して、特別な入力モジュール５１１から、マイクロコントローラの中央処理ユニット（ＣＰＵ）がアクセス権を有するメモリ５１６への直接的な伝送が、図５でメモリ５１６からマイクロコントローラ５０１への接続線で示唆されるように行われる。
【００８５】
汎用直列インタフェースを提供するためのハードウェア回路の更なる別の変形例において、既に記載した実施形態は、追加的に、メッセージ調停のために使用される更なる別のハードウェアモジュールを有する。その際に、このモジュールは、残りの回路構成要素を、それらの構造及びクロック周波数に基づき最適にはそのために使用出来ないタイムクリティカルな（ｚｅｉｔｋｒｉｔｉｓｃｈ）機能を遂行する。
【００８６】
その際に好適に、ＣＡＮ調停をサポートするために使用されるモジュールが関わっている。ＣＡＮ調停のために、対応する高速データレートで、内部処理時間（ＩＰＴ）の数ナノ秒以内に、バス上でドミナントレベルが印加されることを検出する必要がある。バス上のドミナントレベルの際には、現在のビット（現在のクロック区間）で、インタフェース内にレセッシブなビットが存在する場合には、インタフェースは、次のビット（次のクロック区間）で、ドミナントなレベルを引き起こしてはならない。この場合、このインタフェース（及び、対応するＣＡＮノード）は、他のＣＡＮノードが優先順位のより高い（即ち、より早期のドミナントレベルを有する）メッセージを有するため、調停から外される必要がある。この機能のためには、先に図１で例示的に記載したハードウェア構成要素は最適ではない。従って、より速い応答時間は、このために特別に設けられたモジュールによって達成されうる。
【００８７】
図７には、ＣＡＮ調停を解説するために、ＣＡＮバスに印加された信号７０１、及び、マイクロコントローラ内部に存在する送信すべき信号７０２が示されている。左から右へと点線で４つのクロック区間が区切られている。クロック区間１では、バス上でも、内部信号もレセッシブなレベルである。クロック区間２では、バス上ではドミナントなレベルであり、内部の信号は、このクロック区間についてはレセッシブなレベルを有する。従って、このノードは調停から外される。調停のためのハードウェアユニットによって、クロック区間３内で予定されたドミナントレベルを引き起こすことが抑制される。対応して、ノードはもはやクロック区間４でも、後続のクロック区間でも、調停に勝ったＣＡＮバス上での伝送が終わるまで送信してはならない。
【００８８】
図６は、汎用直列インタフェース、特にＣＡＮインタフェースを提供するためのハードウェアモジュール６１０と、当該インタフェースを介したメッセージ調停のための追加的なハードウェアユニット６３０と、を備えたマイクロコントローラ６０１を示す。ハードウェア構成要素６１０、即ち、入力モジュール６１１、ルーティングユニット６１２、演算ユニット（ＭＣＳ）６１３、出力モジュール６１４を備えたマイクロコントローラ６０１は、図１のマイクロコントローラ１０１に大部分で対応する。追加的に、マイクロコントローラ６０１は、調停のための（本例では外部の）ハードウェアユニット６３０と接続されている。入力データチャネル６０２は、特にＣＡＮ−Ｒｘ線であり、出力データチャネル６０３はＣＡＮ−Ｔｘ線である。追加的なハードウェアユニット６３０は好適に、対応する信号が受信され次第ノードの送信を停止する外部の論理回路である。ＣＡＮ調停の場合には、ドミナントなレベルがバス上で印加され、同じクロック単位への独自の情報がレセッシブとなり次第次第、このような送信中断が行われるであろう。ハードウェアユニット６３０は、例えば、ゲート機能による論理回路、プログラム可能な論理ユニット（ＰＬＤ）、又は、書き替え可能なゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）として実現されてもよい。
【００８９】
図６にはさらに、第２の出力モジュール６１５が示されている。この第２の出力モジュール６１５は、調停のための追加的なハードウェアユニットを、タイマリソースを提供しながらサポートすることが可能である。このようなタイマリソースは、例えば、特定のビット長を待ち、又は特定の休止を保持するために必要となる。代替的な実装は、このタイマリソースも同様に、追加的なハードウェア回路として設けることであろう。
【００９０】
調停のための追加的なハードウェアユニットは、好適に、設定可能なロジック部を介して、フレキシブルに、様々な出力ユニットに割り当てられる。但し、固定的な割り当ても可能である。
【００９１】
調停のための追加的なハードウェアユニットは、好適に、マイクロコントローラ外部のプログラム可能なロジック部（例えば、ＦＰＧＡ又はＣＰＬＤ）として存在する。但し、このようなプログラム可能なロジック回路の組み込みによって、マイクロコントローラ上での代替的な実装も可能である。
【００９２】
調停のための特別なハードウェアユニットは、更なる別の測定機能及び評価機能を備えていてもよい。好適な変形例において、ＣＡＮ調停のためのこのようなユニットは例えば、利用されるプロトコルがＣＡＮ又はＣＡＮ−ＦＤ（データレートが可変的なＣＡＮ）であるかについても検出する。
【００９３】
調停のための特別なハードウェアユニットを含む上記実施例において、まず、残りの処理ステップ（入力モジュール内でのデータ入力、出力モジュールによるデータ出力、ルーティングユニットによる経路指定、演算ユニット（ＭＣＳ）によるプロトコル演算、場合によりＣＲＣユニットによるＣＲＣ演算）が、引き続き上述のように進行し、又は、残りのハードウェア回路（入力モジュール、出力モジュール、ルーティングユニット、演算ユニット（ＭＣＳ）、場合によりＣＲＣユニット）が、引き続き先に図１で記載したように構成されることから出発する。しかしながら、調停のための特別なハードウェアユニットは、問題無く、特別な入力モジュール及び／又は特別な出力モジュールを含む実施例と組み合わせることも可能である。
【００９４】
更なる別の好適な変形例では、先に記載した実施形態において追加的にさらにボーレート検出部が実現されうる。このようなボーレート検出部によって、例えば、様々なボーレートに対して調整することが可能となるであろう。
【００９５】
ボーレート検出部は、ソフトウェア又はハードウェアに実装することが可能である。ソフトウェア実現の際には、ボーレート検出は、例えば入力モジュールのキャプチャ情報から、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）によって行われうる。その際に、データの入力周波数を測定し基準周波数の調整によりボーレートを定めることが可能である。このためには、メッセージフレーム一式が解析される必要があり、ソフトウェア実現では時間が掛かる。
【００９６】
好適な代替的な実現において、ボーレート検出はハードウェアで実現される。このボーレート検出は、追加的なハードウェア回路内で行われ、又は先に（例えば図５で）記載したような、対応する追加機能を備えた特別な入力モジュール内で行われる。ハードウェアでの実現によって、ソフトウェアでの実現に比べて、より迅速なボーレート検出及びボーレート調整が可能であり、さらに、演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）に掛かる負荷がより小さい。
【００９７】
図１０には、ハードウェアで実現されたボーレート検出部のための対応するフロー図が、汎用のＵＡＲＴインタフェースの例で示される。
【００９８】
構想されるプロトコルのメッセージフレームの基本構造は公知であり、例えば、本例では、メセージフレームが常に、低いレベルを有する開始ビットで始まり、高いレベルを有する停止ビットで終わることが公知である。ボーレートを検出するための第１のステップ１００１において、対応するハードウェア機能によって、開始ビットと停止ビットとの間のクロックの数（即ち、第１のハイ・ロー（Ｈｉｇｈ−Ｌｏｗ）エッジから最後のロー・ハイ（Ｌｏｗ−Ｈｉｇｈ）エッジまで）が数えられる。その際に、クロック数は好適に、（例えば時間基準ユニットから）ハードウェア機能にクロックを提供する時間基準であって、読み出されるボーレートに対して小さい上記時間基準から導出される。
【００９９】
メッセージフレームの長さ（例えば、ビット数）は、ハードウェア機能には分かっている。例示的に仮定されるプロトコルでは、メッセージフレームが１０ビット（例えば、開始ビット、８個のデータビット、停止ビット）を有することが公知である。開始ビットから停止ビットまでの様々なクロックの定められた数は、第２のステップ１００２において、メッセージフレームのビット数（例えば１０）で除算される。このように定められたボーレートは、第３のステップ１００３で、例えば、マイクロコントローラの演算ユニット（ＭＣＳ）又は中央処理ユニット（ＣＰＵ）へと伝達される。
【０１００】
例えば、提示されるＵＡＲＴインタフェース又はＬＩＮインタフェースの場合、フレームの長さが常に一定であり、従って分かっているが、例えばＣＡＮの場合は、メッセージフレームの長さ（即ち、ビット数）が分からないこともある。記載したボーレート検出の変形例において、ここでは、ボーレートをハードウェア内で検出することも可能である。例えば、メッセージフレームの２ビット間の最小時間を定めることが可能である。
【０１０１】
ボーレートを検出するために、メッセージフレームの先頭と終りを定めることが可能である必要がある。このことは、例えば、設定されたクロック数、例えば３クロック（ボーレートが一定の場合に、固定の時間に対応して、例えば１５０ｎｓ）によって、特定のレベルのために行うことが可能である。
【図１】
2014239432.tif 000003
【図２】
2014239432.tif 000004
【図３】
2014239432.tif 000005
【図４】
2014239432.tif 000006
【図５】
2014239432.tif 000007
【図６】
2014239432.tif 000008
【図７】
2014239432.tif 000009
【図８】
2014239432.tif 000010
【図９】
2014239432.tif 000011
【図１０】
2014239432.tif 000012
【図１１】
2014239432.tif 000013