JP6469365B2 - 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ - Google Patents

汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ Download PDF

Info

Publication number
JP6469365B2
JP6469365B2 JP2014109903A JP2014109903A JP6469365B2 JP 6469365 B2 JP6469365 B2 JP 6469365B2 JP 2014109903 A JP2014109903 A JP 2014109903A JP 2014109903 A JP2014109903 A JP 2014109903A JP 6469365 B2 JP6469365 B2 JP 6469365B2
Authority
JP
Japan
Prior art keywords
unit
microcontroller
output
module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014109903A
Other languages
English (en)
Other versions
JP2014239432A (ja
Inventor
アウエ、アクセル
ベッカー、オイゲン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2014239432A publication Critical patent/JP2014239432A/ja
Application granted granted Critical
Publication of JP6469365B2 publication Critical patent/JP6469365B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、特に車両内の機能を制御するための電子制御装置であって、通信システムの他の加入者との通信のために外部へのインタフェースを有する上記電子制御装置に関する。
車両内の制御装置は通常では、例えば、SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、イーサネット(登録商標)、12C、MSC(Micro−Second−Channel)のような直列インタフェースと、他の制御装置、センサ、アクチュエータ、又は、周辺装置との通信のための他のインタフェースと、を有する。従来技術によれば、上記の直列インタフェースは、制御装置のマイクロコントローラ内のVHDL(VHSIC Hardware Description Language、VHSICハードウェア記述言語)コードによって実装される。ハードウェア側では、直列インタフェースを実装するために、インタフェースの形態に応じて、例えば、インタフェース固有の通信コントローラが、プロトコルコントローラ、サンプルユニット、メモリユニット、及び、トランシーバ(送受信機)を含めて実装されている必要がある。バストランシーバは、例えばSENT及びSPIの場合には必要ではない。このような実装によって、インタフェース固有のハードウェアユニット(例えば、SPIの場合はバッファ、CANの場合はプロトコルコントローラ)に追加的にコストが掛かり、融通が利かない。
国際公開第2006013212号明細書では、例えば、FlexRayネットワーク内で、FlexRay通信接続線と、FlexRay通信モジュールに割り当てられた加入者と、を接続するためのFlexRay通信モジュールの実現が開示されている。直列インタフェースを典型的に具備したマイクロコントローラは、例えば、インフィニオン社による文書「16/32−Bit Architecture、XC2387C、XC2388C、16/32−Bit Single−Chip Microcontroller with 32−Bit Performance、XC2000 Family/High Line、Data Sheet V1.3 2011−07」から読み取れる。
制御装置のため、又は、このような制御装置のマイクロコントローラのための様々な車両適用における直列インタフェースの形態及び数量に対しては、非常に多様な要求がある。即ち、例えば、1の適用での要求は、1個のSPIインタフェース、2個のLINインタフェース、5個のCANインタフェースである。要求が大きい他の適用においては、FlexRay又はイーサネット(登録商標)のような更なる別のインタフェース、又は、より大きな数の既存のインタフェースが追加的に必要となる。この要求に応じるために、様々な形態の非常に多くのインタフェースを備えたマイクロコントローラを利用することが可能であるが、このマイクロコントローラは、多くの適用のためには過剰設計されており高価過ぎるであろう。代替的に、各適用について、インタフェースの形態ごとに厳密に所望の数量を有する固有のマイクロコントローラを実装することが可能であるが、簡素化への要望には逆行し、高い実装コストの原因となる。さらに、双方の解決策は、未知の将来の要求のためには柔軟性に欠ける。従って全体として、車両制御装置のためのマイクロコントローラ内での直列インタフェースの、インタフェース固有のハードウェア実装は、コストを掛けなければ様々な要求に対して調整出来ない、柔軟性に乏しい解決策となる。
本発明は、少なくとも1つの汎用インタフェースを提供する方法と、対応するマイクロコントローラと、このようなマイクロコントローラを備えた制御装置から出発する。
その際、マイクロコントローラのフレキシブルな構成は、中央処理ユニット(CPU)と、インタフェース固有の入力モジュールと、インタフェース固有の出力モジュールと、ルーティングユニットと、インタフェース固有の情報を処理するための処理ユニットと、を有する。その際に、演算ユニットは好適に、中央処理ユニットと同一ではない。マイクロコントローラの上記の回路構成要素は、汎用インタフェースを構成し、及び、設定に従って、複数の直列インタフェースのうちの1つに対応する機能、特に、SPI、UART、LIN、CAN、PSI5、FlexRay、SENT、12C、MSC、又はイーサネット(登録商標)のうちの1つに対応する機能を提供しうるように設定可能である。
マイクロコントローラは、その設計コスト及び生産コストが高いため適用ごとには適切なマイクロコントローラを開発しえないため、使用範囲が広くなければならないことが多い。提案される、マイクロコントローラ内の汎用インタフェースの提供によって、マイクロコントローラの様々な適用ケースで必要となるインタフェースの種類ごとの数は、マイクロコントローラの設計時に分かっている必要がない。むしろ、設定に応じて特定の直列インタフェースのタスクを果たすハードウェア回路が提供される。
マイクロコントローラのハードウェア回路により汎用インタフェースを具現化する方法では、複数の直列インタフェースのうちの1つの直列インタフェースのプロトコルに対応する入力データを受信して処理するための一部の処理において、上記入力データは、インタフェース固有の入力モジュールを介して受信され、ルーティングユニットを介して演算ユニットへと伝送される。演算ユニットによって、ユーザデータが入力データから抽出され、特に、入力データからプロトコルのプロトコル仕様を除去することによって抽出される。最終的に、第1のユーザデータは中央処理ユニット(CPU)に提供される。
データを処理し出力データを送信するための基本的に別の一部の処理において、演算ユニットにより中央処理ユニットの第2のユーザデータが受信される。演算ユニットによって、出力データが第2のユーザデータから生成され、特に、第2のユーザデータにプロトコルのプロトコル仕様を付加することにより生成される。出力データは、ルーティングユニットを介して、インタフェース固有の出力モジュールのうちの1つへと伝送され、最終的に、複数の直列インタフェースのうちの1つの直列インタフェースのプロトコルに対応して、インタフェース固有の出力モジュールを介して送信される。
本方法は、特にフレキシブルな形態によるデータ処理を具現化する。というのは、このデータ処理のためにインタフェース固有のハードウェアユニットが利用されないからである。複数の直列インタフェースに対応する複数のプロトコルのデータが、インタフェース固有の入力モジュールによって受信され、及び、インタフェース固有の出力モジュールによって送信され、設定を介して、演算ユニット内でプロトコル情報に基づいて受信されたデータの評価が行われうる。これにより、マイクロコントローラに対する適用固有の要求に応じた、特定の直列インタフェースに対応する汎用インタフェースの設定が可能となる。
プロトコル仕様、即ち特に、開始ビット、停止ビット、パリティ情報、制御ビット、充填ビット等についての情報は、ここでは、例えばマイクロコントローラの中央処理ユニットによって、メモリに格納されうる。このために、汎用インタフェース、特にこのために使用される演算ユニットが設定されうる。演算ユニットは、メモリに対するアクセス権を有し、構想された設定に対応するプロトコル情報を読み出すことが可能である。
演算ユニットがより高次のプロトコル層の演算のためにも使用される場合には、汎用インタフェースのさらに広い使用領域が獲得される。例えば、演算ユニットは、LINメッセージフレームへの複数のUARTメッセージフレームの変換を行うことが可能である。
演算ユニットから中央処理ユニットへのユーザデータの転送は、演算ユニットが、中央処理ユニットがアクセス権を有するメモリにユーザデータを書込み、当該書き込みについて、例えば割り込みを介して中央処理ユニットに報知することを介して、最も簡単に実現される。
よりコストは掛かるが、そのために演算ユニット及び中央処理ユニットの負荷が軽減される変形例において、演算ユニットは、直接メモリアクセスを介して中央処理ユニットにユーザデータを提供する。
入力モジュールの入力口の各エッジ変化が打刻される形で、入力モジュール内で入力データに時間情報が割り当てられる。これにより、エッジ変化が時間情報と結び付けられ、演算ユニットによってレベル変更の時間情報に基づき含まれるユーザデータが抽出されうるように入力データを受け取ることが、入力データのプロトコルに依存せずに可能となる。このために、タイムスタンプと共にエッジ変化が、その都度入力モジュールからルーティングユニットを介して演算ユニットへと伝送されうる。ルーティングユニットによって、複数の入力モジュール、複数の出力モジュール、及び、複数の演算ユニットが存在する際にも、複数の入力モジュールと、複数の出力モジュールと、複数の演算ユニットとの間のデータ転送が迅速かつ確実に進むという利点がもたらされる。
代替的な変形例において、入力モジュールはメッセージ一式を格納し、(好適にルーティングユニットを介して)演算ユニットに提供してもよい。この場合、タイムスタンプが付いた全てのレベル変更が別々に伝送されるわけではないため、ルーティングユニットの負荷が軽減され、伝送がもはや、ルーティングユニットの速度及び負荷によってはそれほど強く決定されない。
この代替的な変形例において、メッセージ全体に、入力モジュールによって時間情報が割り当てられてもよい。この時間情報自体は、演算ユニット又は中央処理ユニットが、入力データの分類又は処理のために利用することが可能である。
さらに、入力データの内容がオーバーサンプリングによって解析され、多数決を介してサンプル点のレベル値から入力データのビットレベルがビットごとに決定される場合には、入力モジュールによって、入力データの内容の特に確実な検出が行われうる。
入力モジュール内でのエッジ変化への打刻に類似したデータ出力方法において、演算ユニットは、タイムスタンプの付いたエッジ変化へとユーザデータを変換するという形で、中央処理ユニットの側のユーザデータを処理する。このために、演算ユニットは、出力データがそれにより出力されるエッジ変化の間隔について、対応するボーレート、即ち、出力時のデータ伝送速度が分かっている必要がある。タイムスタンプが付いた各エッジ変化は、別々にルーティングユニットを介して出力モジュールへと伝送される。出力モジュールでは、時間情報との比較によって、各エッジ変化が所望の時間に出力口に印加される。このことによって、インタフェース固有の出力モジュールによる、フレキシブルで、プロトコルに依存しないデータ出力が可能となる。
代替的に、出力の際にも、タイムスタンプが付いた個々のレベル変更の代わりに、メッセージフレーム全体が、演算ユニットによって出力モジュールに提供されてもよい。その場合、メッセージ全体の出力は、例えば、演算ユニット若しくは中央処理ユニット(CPU)によるトリガによって行われ、又は、メッセージフレーム全体のタイムスタンプと、出力モジュール内の時間情報と、が一致する際に行われる。これにより、ルーティングユニットの負荷が軽減され、送信速度は、ルーティングユニットの負荷及び速度によって少なくともより軽度に制限される。
演算ユニットは、例えば演算論理ユニットを有し、好適に、マルチチャネルシーケンサとして実現される。
インタフェース固有の入力モジュールがキャプチャ(Capture)機能を有し、及び/又は、インタフェース固有の出力モジュールがコンペア(Compare)機能を有するマイクロコントローラは、特にフレキシブルに、容易に実現可能に汎用インタフェースを提供することが可能である。少ないリソースを用いて、マイクロコントローラの基本的により高いフレキシビリティが実現されうる。
マイクロコントローラの利用可能性は、例えばCRC演算のため又は(例えばCANの場合)バス調停との関連での計算のために、マイクロコントローラの一部であり又は当該マイクロコントローラと接続された更なる別のハードウェア回路によって拡大される。特定の機能に対して最適化されたこのようなハードウェアユニットによって、あまり特化されていない残りのモジュール、特にマイクロコントローラの演算ユニットの負荷が軽減される。マイクロコントローラの少なからぬ数の演算、従って適用が、要求された信頼性及び速度では、このような追加的なユニットを用いて初めて可能である。
多くの適用において、特に自動車分野で普及しているような範囲において、汎用インタフェースが各直列インタフェースを提供するために、ルーティングユニット及び/又は演算ユニットは、少なくとも100MHzのクロックにより、特に、少なくとも200MHzのクロックにより駆動されるべきであり、これにより、少なくとも1Mボーの入力ボーレートにより入力データが受信され、及び、少なくとも1Mボーの出力ボーレートにより送信データが送信されうる。
ハードウェアで実現された特別な直列インタフェースと、ソフトウェア演算を用いる所望の直列インタフェースをさらに具現化するために設定可能な、インタフェース固有のハードウェアを備えた汎用インタフェースと、を有するマイクロコントローラは、非常にフレキシブルに使用可能であるが、それにも関わらず特に安価である。従って、マイクロコントローラの公知の適用ケースについて、適用間でのインタフェースの共通部分を、或る程度固定的に実装することが可能である一方、適用間で、インタフェースに対する様々な要求又はインタフェースに対する未知の要求が、汎用インタフェースによってカバーされる。
マイクロコントローラ内の汎用インタフェースを具現化するためのハードウェア回路は、1つ以上のタイマモジュールと組み合わせることが可能である。或るハードウェアブロックで、対応する容量が提供可能である場合には、インタフェースハードウェアとタイマモジュールとは、タスクの際に互いにフレキシブルに支え合うことが可能である。
記載されるマイクロコントローラは、特に自動車分野の制御装置内で良好に使用される。自動車分野では、インタフェースに対する要求が特に大きいと共に、コスト設定が特に厳しい。
以下では、本発明が、添付の図面、及び実施例を用いて詳細に記載される。
汎用インタフェースを具現化するためのハードウェア回路を備えたマイクロコントローラの一例を概略的に示す。 汎用インタフェースを具現化するためのハードウェア回路、及び、タイマモジュールを備えたマイクロコントローラの一例を概略的に示す。 汎用インタフェースを具現化するためのハードウェア回路、及び、CRC演算のための特別なハードウェア回路を備えたマイクロコントローラの一例を概略的に示す。 汎用インタフェースを具現化するためのハードウェア回路、及び、特別な出力モジュールを備えたマイクロコントローラの一例を概略的に示す。 汎用インタフェースを具現化するためのハードウェア回路、並びに、特別な入力モジュール及び追加的なメモリを備えたマイクロコントローラの一例を概略的に示す。 汎用インタフェースを具現化するためのハードウェア回路、及び、調停をサポートするための回路を備えたマイクロコントローラの一例を概略的に示す。 CAN調停を解説するための、エッジ変化が行われる2つの信号推移の例を概略的に示す。 汎用インタフェースを介してデータを受信する方法のシーケンスの例を概略的に示す。 汎用インタフェースを介してデータを送信する方法のシーケンスの例を概略的に示す。 ボーレート検出のための方法のシーケンスの例を概略的に示す。 別体のCRCユニットによりCRC演算が行われるデータ伝送のシーケンスの例を概略的に示す。
以下では、「直列インタフェース」という概念は、装置間の直列データ交換のための接続線として理解される。直列データ伝送は、ビットが順々に1つ以上の線を介して伝送されるデータ伝送を特徴とする。車両で利用される直列インタフェースには、例えば、SPI、UART、LIN、CAN、PSI5、FlexRay、12C、MSC、及びイーサネット(登録商標)が挙げられる。
国際公開第2011120823号明細書には、「汎用タイマモジュール」(GTM:Generic Timer Module)が開示されている。この汎用タイマモジュールの場合、ハードウェア・サブモジュールが、(「アドバンストルーティングユニット」(ARU:Advanced Routing Unit)と呼ばれる)中央ルーティングユニットの周りに配置される。中央ルーティングユニットは、様々なハードウェア・サブモジュール間でデータの経路指定を行い、その際好適に、決定論的な調停のために循環スケジューリング(Round Robin、ラウンドロビン)が使用される。即ち、ソースモジュールが最大循環時間内に操作され、そのデータが、アドレス情報を介して対応するターゲットモジュールへと経路指定される。これにより、タイマモジュールは、例えば、車両内の機能の制御のために使用される電子制御装置(ECU)のためのマイクロコントローラ内の、中央処理ユニットCPUの割り込み負荷を軽減することが可能である。タイマモジュールは、ハードウェア・サブモジュールとして、特に入力モジュール、即ち所謂「タイマ入力モジュール」(TIM:Timer Input Module)と、出力モジュール、即ち所謂「タイマ出力モジュール」(TOM:Timer Output Module)又は(ARU接続タイマ出力モジュール)(ATOM:ARU−connected Timer Output Module)と、を有する。ルーティングユニット(ARU)、入力モジュール(TIM)、及び、出力モジュール(TOM、ATOM)の他に、タイマモジュールは、演算ユニットとしてマルチチャネルシーケンサ(Multi Channel Sequencer)を有する。
タイマモジュールは、「キャプチャ(Capture)/コンペア(Compare)」という基本原則を採用する。この場合に、入力ユニット(TIM)に到着する信号は、その到着に対応するタイムスタンプと結合される。その際に、入力ユニット(TIM)は、対応する時間表示を、例えば時間基準ユニット(TBU:Time Base Unit)から獲得する。タイムスタンプのこの機能は、「キャプチャ/コンペア」の「キャプチャ」に相当する。時間表示は、演算ユニット又は中央処理ユニットによって、信号の処理及び優先度付けのために利用される。タイマモジュールの出力ユニット(TOM、ATOM)を介して送信すべき信号にも同様に、例えば処理演算ユニット(CPU、MCS)によって、タンプスタンプが付けられる。タイマモジュールの出力モジュール(ATOM)内では、信号のタイムスタンプが現在の時間表示と比較される。出力モジュールはこの時刻表示を、同様に時間基準ユニットから獲得する。出力すべき信号のタイムスタンプが現在の時間に対応する場合には、信号が送信される。この機能は、「キャプチャ/コンペア」の「コンペア」に相当する。上述の時間基準の代わりに、角度と同期した「キャプチャ/コンペア」機能を入力ユニット及び出力ユニットによって実現することも可能である。この角度と同期した「キャプチャ/コンペア」機能は、現在のエンジン角度に対して相対的な受信過程又は送信過程の角度位置が特に重要であるため、車両内で必要となる可能性がある。例えば、入力ユニットは到着した信号に角度スタンプを付けることが可能であり、発信すべきメッセージは、特定の角度点に送信されうるであろう。
演算ユニット又はデータ処理ユニット「マルチチャネルシーケンサ」(MCS)は好適に、パイプライン段と、論理演算ユニット(ALU)と、復号器と、RAMメモリユニットへの接続線と、を備えたサブモジュールとして実現される。タイマモジュール内では、複数のマルチチャネルシーケンサを使用することも可能である。入力ユニットは好適に、ラッチ(Latch)及びフリップフロップ(Flipflop)と、時間付与ユニット及び/又は角度付与ユニットへの接続線と、を備えたハードウェアモジュールとして実現される。入力ユニットは好適に、例えばレジスタを構成するラッチ及びフリップフロップと、時間付与ユニット及び/又は角度付与ユニットの接続線と、を備えたハードウェアモジュールとして実現される。その際、時間付与機能のための時間基準は、マイクロコントローラ(又は、その中央処理ユニット(CPU))の演算クロックから導出することが可能であり、角度付与機能のための角度基準は、DPLL(digital phase−locked loop、デジタル位相ロックループ)を介して実現することが可能である。
タイマモジュール、特に、タイマモジュールの上記の構成要素であるARU、MCS、TIM、ATOM、TBUの更なる機能形態については、国際公開第2011120823号明細書を参照されたい。これにより、国際公開第2011120823号明細書の対応する記載箇所は、参照により本願に含まれる。
公知のタイマモジュールの機能に基づいて、本発明の中心的な観点は、特に車両制御装置内での適用のために、マイクロコントローラ内で汎用インタフェースを提供することである。このために、既にマイクロコントローラに組み込まれた対応するタイマモジュールのユニットが再設定され、又は、この適用のための特別なユニットがマイクロコントローラに組み込まれうる。その際に、例えば、特化したインタフェース入力口及び出力口を汎用に再現するために、例えば、入力ユニット(TIM)及び/又は出力ユニット(TOM、ATOM)の「キャプチャ」機能及び/又は「コンペア」機能を採用してもよい。入力ユニット及び出力ユニットは、演算ユニットによって、例えば、インタフェースを具現化するための演算を実行するマルチチャネルシーケンサ(MCS:multi channel sequencer)によってサポートされる。入力モジュールと、出力モジュールと、演算ユニットと、の間でデータを共有するために、好適にルーティングユニットが使用される。以下で記載されるモジュール、即ち、入力モジュール、出力モジュール、ルーティングユニット、及び演算ユニットは好適に、タイマモジュール(GTM)に関して先に記載された対応するユニットTIM、(A)TOM、ARU、又は、MCSの機能を有する。但し、汎用インタフェースを具現化するためのハードウェア回路、又は、当該ハードウェア回路を備えたマイクロコントローラは、他の要求(例えば、経路指定の速度及び処理速度)に基づいて、公知のタイマモジュールとは区別される。その際に好適に、タイマ・サブモジュールの上記機能を越えてさらに、マイクロコントローラのハードウェアの変更が行われるが、対応するタイマ・ハードウェアモジュールは、本発明に基づいて使用しうるために、設定によって、変更されたタスク及び要求に対して調整する必要がある。
図1には、マイクロコントローラ内の汎用の直列インタフェースを具現化するための回路構成が概略的に示されている。
マイクロコントローラ101は、特定の直列インタフェースの機能を設定可能に提供する一群のハードウェア回路110を有する。ハードウェア構成要素110には、入力データチャネル102と接続された入力モジュール111が属する。入力データチャネル102は、典型的に、ケーブル接続された通信接続線である。入力モジュール111は、ルーティングユニット112と接続されている。ルーティングユニット112は、入力モジュール111の他に、演算ユニット113及び出力モジュール114とも接続されている。出力モジュール114は、出力データチャネル103と接続されている。出力データチャネル103も同様に、典型的に、ケーブル接続された通信接続線である。入力データチャネル102及び出力データチャネル103は、特定プロトコルによる通信システムの一部であり、従って、インタフェース固有のハードウェア構成要素111、112、113、114は、上記特定のプロトコルのデータを処理することが可能な対応するインタフェースの機能を提供するように、設定される必要がある。例えば、入力データチャネル102は、UARTインタフェースのRx入力口であってもよく、出力データチャネル103は、UARTインタフェースのTx出力口であってもよい。この例では、ハードウェア構成要素111、112、113、114は、UARTインタフェースを再現するように設定される必要がある。
入力モジュール111及び出力モジュール114は、インタフェース固有のハードウェア回路であり、即ち、様々なプロトコル構造に従って構成された、複数の様々な直列インタフェースのデータを処理することが可能である。演算ユニット113は、マイクロコントローラの中央処理ユニット(CPU)とは区別され、以下では区別するためにMCSと呼ぶ。というのは、好適な実施形態によるマイクロコントローラでは、演算ユニット(MCS)はマルチチャネルシーケンサであるからである。演算ユニット(MCS)の他のハードウェア実現も同様に可能であり、好適に演算ロジックユニット(ALU)を用いても同様に可能である。
ルーティングユニット112は、モジュール、即ち、入力モジュール111と、出力モジュール114と、演算ユニット(MCS)113と、を時分割多重方式により接続する。
図1は、マイクロコントローラ101を非常に簡略に示している。当然のことながら、このようなマイクロコントローラ101は、ここに図示されない他の多くの構成要素を有し、特に、マイクロコントローラ内のデータ処理、演算、及び設定を行うことが可能な少なくとも1つの中央処理ユニット(CPU)を有する。さらに、マイクロコントローラ101は好適に、複数のこのような入力モジュール111及び出力モジュール114を有する。適用に応じて、マイクロコントローラ101は、複数の演算ユニット(MCS)113を有してもよい。複数のこのようなモジュール111、113、114は、1つのルーティングユニット112と接続されうる。非常に複雑な適用については、このようなマイクロコントローラ101内で複数のルーティングユニット112を使用することも可能である。
本マイクロコントローラの特に好適な変形例において、マイクロコントローラは、複数の「固有の」インタフェース、即ち、従来技術に従って固定的にハードウェアで実現される直列インタフェースと、図1に記載されるようなハードウェア回路の形態による複数の「汎用」インタフェースと、を有する。これにより好適に、特定のインタフェース形態による最小数の必要なインタフェースが、従来のように安価に、固定的にハードウェアで実現されるが、マイクロコントローラの様々な適用間で異なるインタフェースを、汎用インタフェースとして構想し、従って、各適用に応じてソフトウェアで設定することが可能である。これにより、保持するインタフェースの数を減らした状態で、マイクロコントローラのフレキシブルな使用が可能である。
図8には、メッセージ受信のための汎用インタフェースを具現化する方法のシーケンスが示されている。
マイクロコントローラの入力モジュール(例えば、図1の111)内で、第1のステップ(801)において、マイクロコントローラ外部のデジタルデータがビットとして受信される。その際に、入力モジュールに入力信号が印加される。この入力信号は、再現すべき直列インタフェースに対応するプロトコルに従っている。ステップ802において、受信データのビット間のエッジ変化が、その都度入力モジュール内で打刻される(キャプチャ機能)。さらに、入力モジュール内では、入力モジュールの入力口のピン状態、即ちエッジが変化した際のタイムスタンプが収集される。入力モジュールは、打刻のための必要な時間情報を、例えば時間基準ユニットから獲得することが可能である。このように定められたデータ(入力データ)は、ステップ803において、入力モジュールから、マイクロコントローラのルーティングユニット(例えば、図1の112)へと伝達される。さらに、ピン状態が変化した際のエッジ変化が、他のエッジが設定された際のタイムスタンプと共に伝送される。ルーティングユニットは、ステップ804において、データ(入力データ)をマイクロコントローラの演算ユニット(MCS、例えば図1の113)へと伝達する。
演算ユニット(MCS)は、ステップ805において、入力モジュール内の複数のキャプチャイベントに対応して、ルーティングユニット側で複数の別々の伝送として届いた情報を処理する。その際に、演算ユニット(MCS)は、受信されたビットストリーム(即ち、打刻されたエッジ変化)から、受信された信号を再構成する。さらに、演算ユニット(MCS)は、この信号を検査し、そのときのプロトコルに応じて制御ビット(例えば、開始ビット、停止ビット、パリティビット、スタッフビット)を除去し、第1のユーザデータを抽出する。演算ユニット(MCS)は、この処理のための情報(即ち、どのプロトコルが関わっているのか、又は、プロトコルのメッセージがどのように構成されているかについての情報)を、好適に、自身がアクセス権を有するローカルの揮発性メモリから獲得する。揮発性メモリへは、上記情報は、例えばマイクロコントローラの中央処理ユニット(CPU)によって、不揮発性メモリ(例えばフラッシュメモリ)から伝達されうる。マイクロコントローラの起動の際には、好適に、入力モジュール、及び、以下で記載される出力モジュールが、中央処理ユニット(CPU)によって、特定の直列インタフェースに対応するメッセージプロトコルに対して固定的に割り当てられ、情報及び対応するプロトコル情報が、演算ユニット(MCS)にとってアクセス可能であるように揮発性メモリ内に格納される。
任意のステップ806において、演算ユニット(MCS)は、更なる別の処理ステップ及び演算を実行してもよく、例えば、より高次のプロトコル層の演算を実行してもよい。例えば、複数のUARTフレームがLINフレームに変換されてもよく、又は、逆の信号演算が行われてもよい。
演算ユニット(MCS)は、上記の処理されたデータ(第1のユーザデータ)を、ステップ807において、マイクロコントローラの中央処理ユニット(CPU)に提供する。好適に、この情報はメモリ(第2のメモリ:例えばRAM)に格納され、この格納について、(例えば、割り込みを介して、又は、DMAチャネルのトリガによって)中央処理ユニット(CPU)に報知される。その際に、メッセージは、ユーザデータの他に、例えばCANメッセージの場合は識別子のような更なる別の情報を有してもよい。
最後にステップ808において、中央処理ユニット(CPU)が受信された情報を処理する。
図9には、メッセージ送信のための汎用インタフェースを具現化する方法のシーケンスが概略的に示されている。
ステップ901において、マイクロコントローラの中央処理ユニット(CPU)は、(場合によっては識別子と共に)信号(第2のユーザデータ)を、演算ユニット(MCS、例えば図1の113)に提供する。演算ユニット(MCS)内では、ステップ901において信号処理が実行される。デジタル信号のビットから、エッジ変化の推移が計算され、エッジ変化に時間表示が付けられる。エッジ変化の間の正確な時間間隔について、演算ユニット(MCS)は、利用されるボーレートについての情報を必要とする。さらに、利用されるプロトコルに対応するプロトコル仕様の情報、例えば、開始ビット、停止ビット、パリティビット、スタッフビットのような制御ビットが付加される。演算ユニット(MCS)は、この処理のための情報(即ち、どのプロトコルが関わっているか、又は、プロトコルのメッセージがどのように構成されているかについての情報)を、好適に、自身がアクセス権を有するローカルの揮発性メモリ(第1のメモリ)から獲得する。揮発性メモリへは、上記情報は、例えばマイクロコントローラの中央処理ユニット(CPU)によって、不揮発性メモリ(例えば、フラッシュメモリ)から伝送されうる。
このようにして獲得されたデータ(出力データ)の、演算ユニット(MCS)からルーティングユニット(例えば、図1の112)への転送は、ステップ902において行われる。後続のステップ903では、データ(出力データ)が、ルーティングユニットから所定の出力ユニット(例えば、図1の114)へと経路指定される。
出力ユニットは、送信すべきデータをエッジ変化として、エッジ変化が出力口のどのエッジに印加されるべきなのか、従って、所望のメッセージが送信される時点についての情報と共に獲得する。このために、出力ユニットは、ステップ904において、上記の獲得された時間情報と、利用可能な時間情報と、を比較する(コンペア機能)。時間情報は、例えば、時間基準ユニットによって提供されてもよい。時間情報が、後続のエッジ変化に割り当てられた時点と一致する場合には、出力ユニットは、最終的に、エッジ変化を出力口に印加し、従って、所望のデータをビットストリームとして、予め設定されたボーレートによって、再現すべき直列インタフェースに対応するメッセージプロトコルにより送信する。演算ユニット(MCS)からルーティングユニットを介した出力モジュールへの伝送は、本変形例では、時間情報を伴ったエッジ変化ごとに別々に行われる。出力モジュールは、以前に受信されたエッジ変化が時間情報に対応して送信され又は出力口に印加された場合に、更なる別のエッジ変化を時間情報と共に受信する準備が整っているように、構成されてもよい。
汎用直列インタフェースのハードウェア実現のために様々な設定が可能である。一方では、マイクロコントローラは、先に記載した「汎用タイマモジュール」のようなタイマモジュールを有してもよく、追加的に、図1に記載したようなハードウェア回路を有しても良い。このような設定では、タイマモジュールは、具現化されるインタフェースに考慮することなく、自身に課せられたタスクを果たすことが可能である。インタフェース機能は、マイクロコントローラの追加的なハードウェア回路によって提供される。このような設定では、インタフェース機能によりハードウェア回路にぎりぎりまで負荷が掛けられていない限りにおいて、特に、対応する入力モジュール及び出力モジュールがインタフェース機能に割り当てられていない限りにおいて、設定によって、好適に、タイマ機能が追加的なハードウェア回路へと伝送される。さらに、特別な変形例において、タイマモジュール(又はそのハードウェアユニット)は、そのために十分な空き容量と十分なハードウェア設計を有しそのために設定される限りにおいて、追加的なハードウェア回路のインタフェース機能を引き継ぐことが可能である。
このようなハードウェア実現が、図2に提示される。ここでは、マイクロコントローラ201は、ハードウェア回路210を有し、このハードウェア回路210は、図1のハードウェア回路110に対応する(入力データチャネル202、出力データチャネル203、入力モジュール211、出力モジュール214、ルーティングユニット212、演算ユニット(MCS)213)。追加的に、マイクロコントローラ201は、タイマモジュール230を有し、このタイマモジュール230は、タイマ・入力モジュール231、タイマ・出力モジュール234、ルーティングユニット232、及び、演算ユニット(MCS)233を有する。タイマ・入力モジュール231は、信号出力口222、及び、ルーティングユニット232と接続される。タイマ・出力モジュール234は、信号出力口223、及び、ルーティングユニット232と接続される。ルーティングユニット232はさらに、演算ユニット(MCS)233と接続される。タイマモジュール230は、例えば、上記のタイマモジュール「汎用タイマモジュール」によって実現されてもよい。
更なる別の変形例において、図1について記載したようなハードウェアユニットが、タイマ機能及びインタフェース機能を引き継いでもよい。このようなハードウェアユニットは、上記の汎用タイマモジュールと比較して、好適に、汎用の直列インタフェースを具現化するために必要されるようにサービス率を上げてより高いボーレートを提示しうるために、より高い周波数で駆動されるルーティングユニットと、ルーティングユニットごとにより少ないモジュールと、を有する。例えば、ルーティングユニット及び演算ユニット(MCS)は、80MHzの代わりに100MHz以降の周波数で、好適に200MHZ以降の周波数で駆動されうるであろう。好適に、ルーティングユニット及び演算ユニット(MCS)の周波数は、1Mボー以上のインタフェースが具現化出来るように設計される。
双方の変形例において、インタフェース機能とタイマ機能との間の可能なシフトによって、フレキシビリティが獲得される。例えば、マイクロコントローラを備えた制御装置内での適用において、組み合わされたタイマ/インタフェースモジュールと16個の出力モジュールとを利用して、エンジンの8個の気筒を制御するためのタイマ機能を提供することが可能である。このために、例えば、コンペア機能を備えた8個の出力モジュールが、点火の制御のために使用され、コンペア機能を備えた8個の出力モジュールが、各気筒の噴射の制御のために使用される。マイクロコントローラが、他の適用において、4個の気筒を備えたエンジンを制御するために、組み合わされたタイマ/インタフェースモジュールと共に使用される場合には、上記の16個の出力モジュールのうちの8個は、気筒の制御のタイマ機能のためには必要ではなく、従って、例えば、8個の直列インタフェースの出力信号を再現するために利用可能である。
再現される直列インタフェースの形態に従って、更なる別のハードウェアモジュールが、既に記載したモジュール及びユニットに加えて必要となる可能性がある。
例えば、特定のプロトコルのために、例えばPSI5又はCANのために、CRC演算を実行する必要がある。CRC(Cyclic Redundancy Check、巡回冗長検査)では、データエラー又はメモリエラーを検出するために、データのために検査値が定められ、この検査値が伝送後に、伝送されたデータに基づいて検査される。この形態の演算のためには、実装された演算ユニット(MCS)は最適ではなく、場合によっては、より高い計算能力を備える必要があるであろう。複数の演算ユニット(MCS)を備えたハードウェア回路の場合には、さらに、各演算ユニット(MCS)に追加的な演算の負荷が掛かるであろう。さらに、場合によっては、例えばエラーメッセージフレームのような、プロトコルにおけるアクションを起動しうるために、幾つかのプロトコルではCRC演算を非常に速く実行する必要がある。
従って、面積及びパフォーマンスの理由から、独自のモジュール内でCRC演算を行うのが有利である。直列インタフェースを再現するための上記のハードウェア回路の好適な構成において、ハードウェア回路は追加的にさらに、CRC情報を計算するための別体のユニットを有する。好適に、このCRC検査ユニットは、複数の演算ユニット(MCS)を備えたハードウェア回路の場合には、複数の演算ユニット又は全ての演算ユニットのために、演算を中心的に行う。
追加的なCRCユニットは、速度への高い要求を有するプロトコルのためにも十分に高速に、CRC演算及びCRC比較を提供することが可能である。その際に、CRCユニットは、好適に少なくともCRC検査値の計算を実行し、場合によってはCRC検査値の検査も行う。CRC検査値がCRCユニットによって正確には検出されない場合には、好適に、演算ユニット(MCS)によって、新しい伝送を開始することが可能である。
CRC検査ユニットは、好適に、ハードウェアロジック回路として実現され、例えば、CRC検査ユニットはこのために、XORロジック部と、シフトレジスタと、を有してもよい。代替例は、(例えば、追加的な小さな)演算ユニットによる演算を用いた、ソフトウェアでの実現であろう。
図3には、このような追加的なCRCユニットを備えたハードウェア回路が示されている。マイクロコントローラ301は、ハードウェアモジュール310において、また、入力モジュール311、ルーティングユニット312、演算ユニット(MCS)313、及び、出力モジュール314において、図1のマイクロコントローラ101に大部分で対応する。データ入力チャネル302は入力モジュール311と接続され、データ出力チャネル303は出力モジュール314と接続される。図1のマイクロコントローラ101に追加して、マイクロコントローラ301はさらにCRCユニット315を有し、このCRCユニットは、示される実施例ではルーティングユニット312と接続される。
CRC値の演算は、好適に多項式の除法に基づいている。従ってCRCユニットは、変数を介して、少なくともマイクロコントローラの起動時に設定可能であるべきであり、従って、様々な多項式が提示されうる。例えば、多項式b7+b6+b5+b4+b3+b2+b1+b0が、設定パラメータb1〜b7を介して設定されうる。様々なCRC多項式を有する様々なインタフェースをサポートしうるために、CRCユニットはフレキシブルに(即ち伝送時間について)再設定できる必要があり、又は、複数のCRCユニットが設けられる必要がある。
別体のCRCユニットによるCRC演算を含むデータ伝送のシーケンスが、図11に示されている。ここでは、受信されたデータからのCRC値の計算の例が記載される。
第1のステップ1101において、CRCユニットが、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)によって設定される。このことは、通常では各インタフェースのために他の多項式の計算が必要であるため必要である。先に記載したように、多項式は、設定パラメータによって決定されうる。複数の汎用直列インタフェースのCRC演算のために使用されるCRCモジュールの場合、このような設定が、2つの連続する後続の演算が同一のインタフェースのために行われない限り、各演算の前に必要である。CRCユニットのこの設定は、例えば、CRCユニットが様々な多項式を含むテーブルへアクセスし、このテーブル内のエントリに対応するインデックス(Index)を獲得し、当該エントリに従って多項式を利用することを介しても行うことが可能である。
CRCモジュールは、第2のステップ1102で、CRC演算を行うべきデータを受信する。このデータは、例えば、入力モジュールにより受信されて演算ユニット(MCS)へと伝送されたCRC情報を含む入力データである。CRCユニット内でのCRC演算は、第3のステップ1103で実行される。第4のステップ1104において、CRC演算(CRC検査値の計算と場合によっては検証)の結果が、CRCモジュールから演算ユニット(MCS)へと送信される(CRC検査値、及び/又は、CRCの検査結果)。好適に、演算ユニット(MCS)からCRCユニット、及び、CRCユニットから演算ユニット(MCS)への上記データの伝送は、それぞれルーティングユニットを介して行われる。最終的に、演算ユニット(MCS)は、第5のステップ1105において、CRCユニットにより計算されたCRC情報と、受信されたCRC情報と、を比較し、又は、CRCの検査結果がCRCユニットにより評価し、一致しない場合には、伝送エラー又はメモリエラーがあることを確認することが可能である。
演算ユニット(MCS)によって伝送エラー又はメモリエラーが確認された場合には、任意のステップ1106において、演算ユニット(MCS)によって新たな伝送を開始してもよい。
送信すべきデータのためのCRC演算も同じように進行する。データは、好適にCRCユニットの設定後に、演算ユニット(MCS)からルーティングユニットを介してCRCユニットへと送信される。CRCユニットではCRC演算が実行され、結果が、CRCユニットからルーティングユニットを介して演算ユニット(MCS)へと伝送される。演算ユニット(MCS)では、CRC値がデータに付け加えられ、データが出力モジュールに提供される。
ここまで記載した実施例は、基本設定(図1)に対応して、汎用の直列インタフェースを具現化するためのハードウェア回路が、キャプチャ機能を有する入力モジュールとコンペア機能を有する出力モジュールとを利用することから出発している。これに対して、他の実施変形例では、コンペア機能が無い異なるモジュールを使用することも可能である。従って、インタフェースフレームを出力するこのような特別なモジュールは、ハードウェア回路及びタイマモジュールの上記の出力モジュール(TOM、ATOM)とは異なっている。
このような出力ハードウェアモジュールのハードウェア実現は、例えば、状態オートマトン(ステートマシーン、State Machine)を介して、メモリと組み合わせて行うことが可能である。特別な出力モジュールは、上記の受信すべきビットストリーム及び送信すべきビットストリームの代わりに、メッセージフレーム全体を自身のメモリに格納することが可能である。従って、ルーティングユニットは、メッセージ全体を、送信過程によって出力モジュールへと送信することが可能である。従って、出力モジュールに対するより高いハードウェア要求によって、ルーティングユニットへの負荷が低減されることになる。さらに、このような出力ユニットによってより簡単に、データ出力時のより速いボーレートを実現することが可能である。というのは、ボーレートはもはや、ルーティングユニットのクロック(Taktung)によって制限されないからである。好適な実施形態において、出力ユニットは、時間情報(又は、対応して角度情報)を提供する必要がある。先に記載した出力ユニットに対して、この出力ユニットは、どの時点に(又は、どの角度で)、及び、どのようなボーレートで、メッセージ全体又はメッセージフレーム全体を送信しなければならないのかという情報のみを必要とする。利用可能な時間情報又は角度情報、及び、出力モジュールに分かるボーレートを用いて、データが送信される。好適に、出力ユニットのメモリへのデータの直接的な書込みが、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)によって行われる。その際に出力ユニットは、信号(日付)、並びに、データレート及び送信時点についての情報を獲得する。
代替的に、送信プロセスは、時間情報を介して開始されずに、特別な出力ユニットに対する、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)の正確なトリガによっても開始されてもよい。その場合、出力ユニットは自立的に出力ピンにデータを印加する。
図4には、特別な出力モジュール414を備えたマイクロコントローラが示されている。ハードウェア構成要素410、即ち、入力モジュール411、ルーティングユニット412、演算ユニット(MCS)413、出力モジュール414、並びに、入力データチャネル402及び出力データチャネル403への接続線を備えたマイクロコントローラ401は、図1のマイクロコントローラ101に大部分で対応する。但し、出力モジュール414は、拡張された機能を有し、例えば、完全なメッセージフレームを格納するためのメモリリソースを有する。示される好適な実施形態において、出力モジュール414はさらに、マイクロコントローラ401への更なる別の接続線を有する。この接続線を介して、出力モジュール414は、例えばデータをマイクロコントローラ401の中央処理ユニット(CPU)を通じて提供することが可能であり、例えば、先に記載した、中央処理ユニット(CPU)による出力モジュール414のメモリへの出力データの直接的な書込みによって提供することが可能である。
このような特別な出力ユニットを用いたデータ出力のシーケンスが、以下に、UART設定での汎用インタフェースを介した伝送の例を用いて記載される。

1.マイクロコントローラの中央処理ユニット(CPU)又は演算ユニット(MCS)は、メッセージフレーム01111111111を出力ユニットのメモリに書き込む。これは、1個の開始ビット(0)、8個のデータビット(11111111)、パリティビット(1、奇数パリティ(odd parity)の場合)、及び停止ビット(1)に相当する。
2.マイクロコントローラの中央処理ユニット(CPU)又は演算ユニットが、出力されるメッセージフレームのデータレートを、出力ユニットのレジスタに書き込む。
3.マイクロコントローラの中央処理ユニット(CPU)又は演算ユニットは、伝送を開始するために出力ユニットにトリガを送信する。別の変形例において、伝送は、メッセ−ジフレームの獲得後に所定数の伝送過程の後に開始される。更なる別の変形例において、マイクロコントローラの中央処理ユニット(CPU)又は演算ユニットは、伝送が行われ又は開始される時点を送信する。
4.出力ユニットは、選択されたデータレートによりメッセージフレームを自立的に出力する。
特別な出力モジュールを含む記載された実施例において、例えば、出力ユニットへの書き込み及び送信過程のトリガによって、演算ユニット(MCS)又は中央処理ユニット(CPU)には追加的に負荷が掛かる。従って、更なる別の好適な実施変形例において、出力ユニットは、送信すべきデータ又はメッセージフレームを、メモリからの自力でのリロードによって獲得する。例えば、出力ユニットが連結リスト及びDMA(Direct Memory Access、直接メモリアクセス)を介してアクセスするRAMからの、このような自力でのリロードが行われうる。従って、より大きなデータパケットも、高速で、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)への負荷(割り込み)無しに出力されうる。
特別な出力ユニットを含む記載される実施例において、まず、残りの処理ステップ(入力モジュールによるデータ受信、ルーティングユニットによる経路指定、演算ユニット(MCS)によるプロトコル演算、場合によりCRCユニットによるCRC演算)が引き続き上述のとおり進行し、又は、残りのハードウェア回路(入力モジュール、ルーティングユニット、演算ユニット(MCS)、場合によってはCRCユニット)が上述のとおり構成されることから出発する。
上述した、特別な出力モジュールによる、コンペア機能を備えた出力モジュールの交換と同様に、更なる別の実施例において、特別な入力ユニットによる、キャプチャ機能を備えた入力モジュールの交換を通じた基本構成(図1)の変更も可能である。
好適に、本実施形態では、このような特別な入力モジュールは、上記のように入力ビットストリームをエッジごとに分解しないであろう。即ち、各エッジ変化に打刻してルーティングユニットを介して演算ユニット(MCS)へと転送しないであろう。むしろ、特別な入力ユニットは、ビットストリーム一式を収容し(即ち、格納し)フィルタリングするであろう。フィルタリングとして、好適に、オーバーサンプリング(Oversampling)を利用することが可能である。ボーティング(Voting、投票)と組み合わせたオーバーサンプリングによって、より確実に、高いレベルを有する受信されたビットと、低いレベルを有する受信されたビットと、を互いに分け又は区別することが可能である。
特別な入力モジュールの入力フィルタは、例えば、16MHzで、1MHzの信号をサンプリングするようにプログラミングされる。ビットごとに16回のサンプリングは、予め定められた設定(例えば、16回のうちの3回、又は16回のうちの12回)に従ってビット状態として1又は0を格納する投票インスタンスを介して導かれる。オーバーサンプリング及びボーティングが実装されたこのような特別な入力モジュールによって、雑音余裕度に対する要求がより高いインタフェースも実装することが可能である。
トリガイベント、例えばUARTの場合は開始ビットによる同期化によって、特別な入力ユニットは、ビットストリームに関して定められた状態に置かれる。全てのビットが読み込まれた場合に(例えばUARTでは、開始ビット、8個のデータビット、パリティビット、停止ビット)、このデータは、特別な入力モジュールの出力口からルーティングユニットを介して演算ユニット(MCS)へと伝送され、演算ユニット(MCS)はその後、より高次のプロトコル層(例えば、KWP2000、LIN)を翻訳し、又は、アプリケーションソフトウェアがデータを取り出すことが可能なFIFOメモリに直接データを書き込む。ルーティングユニットの側での打刻されたエッジ変化メッセージの評価を通じた、演算ユニット(MCS)によるメッセージの再構成はもはや必要ではない。これに対して、演算ユニット(MCS)は、メッセージフレームのデータを、ルーティングユニットからのメッセージとして、各別々の伝送としてのエッジ変化の伝送の代わりに獲得する。これにより、ルーティングユニットも同様に、複数の個別伝送の実行による負荷が軽減される。到着するデータの処理速度は、もはや以前のように大きな規模では、ルーティングユニットの速度に依存しない。従って、ルーティングユニット及び演算ユニット(MCS)の負荷の軽減に並んで、より速いデータレートによる、到着したデータの処理が可能である。
フィルタリングされたビットレベル、即ち、オーバーサンプリング及びボーティングの後に定められた正しいビットレベルに加えて、さらに、ビットが破壊されたのか又はどの程度ビットが破壊されたのか、即ち例えば、ボーティングがどの程度クリア(klar)であったかについての情報を、(例えば、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)へと)転送することが可能である。例えば、ビットの、サンプリングされた何個の値が同じレベルを有するのかを伝達することが可能である。確実にボーティングを行うために、例えば、エッジ変化の直前又は直後のポイント(サンプリング)にマスキングすることも可能であり、ボーティング、即ち、ビット検出がより確実に形成される。
オーバーサンプリング及びボーティングを行う特別な入力モジュールを備えた上記のハードウェア回路について、ビット検出の改善のために、定められたボーレートを、ボーティングのために利用することも可能である(このようなボーレート検出は以下で詳細に記載される)。
特別な入力モジュールを含む実施形態の好適な代替例において、特別な入力モジュールから、メモリへの、例えば、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)がアクセス権を有するFIFOメモリへの伝送が行われる。代替的に、演算ユニット(MCS)又は中央処理ユニット(CPU)は、特別な入力モジュールのメモリに直接アクセスしてもよいであろう。
特別な入力ユニットを有する提示された実施例の拡張において、この特別な入力ユニットは、ビットストリームごと又はメッセージフレームごとに、タイムスタンプを予め設定することが可能である(このためには、時間情報へのアクセス権が必要である)。マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)は、上記タイムスタンプを、メッセージフレームの処理又は評価のために利用することが可能である。
特別な出力ユニットの場合のように、特別な入力ユニットにはより高いコストが伴うが、上述の利点は、この適切な実施形態を選択するために、コスト面の欠点に見合ったものであるに違いない。
特別な入力ユニットを含む上記の実施例では、まず、残りの処理ステップ(出力モジュールによるデータ出力、ルーティングユニットによる経路指定、演算ユニット(MCS)によるプロトコル演算、場合によりCRCユニットによるCRC演算)が、引き続き上述のように進行し、又は、残りのハードウェア回路(出力モジュール、ルーティングユニット、演算ユニット(MCS)、場合によってはCRCユニット)が、引き続き上述のように構成されるということから出発する。但し、汎用直列インタフェースを具現化するための特別に性能の高いハードウェア回路の一実施変形例において、このハードウェア回路は、上記したフィルタリング機能を有する特別な入力モジュールと、上述のような特別な出力モジュールと、を有する。特別な入力ユニットを備えた、汎用直列インタフェースを具現化するためのハードウェア回路が、図5に概略的に示されている。ハードウェア構成要素510、即ち、入力モジュール511、ルーティングユニット512、演算ユニット(MCS)513、出力モジュール514、並びに、データ入力チャネル502及びデータ出力チャネル503への接続線を備えるマイクロコントローラ501は、図1のマイクロコントローラ101に大部分で対応する。但し、特別な入力モジュール511は、フィルタリング機能を具現化するための回路、特に、受信されたビットのオーバーサンプリングと、ビットのサンプリング時点にサンプリングされたレベル値に基づき多数決を介して当該ビットのレベル値を確認するボーティングと、を具現化するための回路を備えるハードウェアユニットである。図1で記載された入力モジュールに対して、特別な入力モジュール511は、ビットストリーム全体又は受信されたメッセージフレーム全体を格納するために十分な大きさのメモリを有する必要がある。
図5には、図1に比べてさらにメモリ516、例えばFIFOメモリが示される。このFIFOメモリに対して、少なくとも入力モジュール511はアクセス権を有する。上記の変形例の1つに対応して、特別な入力モジュール511から、マイクロコントローラの中央処理ユニット(CPU)がアクセス権を有するメモリ516への直接的な伝送が、図5でメモリ516からマイクロコントローラ501への接続線で示唆されるように行われる。
汎用直列インタフェースを提供するためのハードウェア回路の更なる別の変形例において、既に記載した実施形態は、追加的に、メッセージ調停のために使用される更なる別のハードウェアモジュールを有する。その際に、このモジュールは、残りの回路構成要素を、それらの構造及びクロック周波数に基づき最適にはそのために使用出来ないタイムクリティカルな(zeitkritisch)機能を遂行する。
その際に好適に、CAN調停をサポートするために使用されるモジュールが関わっている。CAN調停のために、対応する高速データレートで、内部処理時間(IPT)の数ナノ秒以内に、バス上でドミナントレベルが印加されることを検出する必要がある。バス上のドミナントレベルの際には、現在のビット(現在のクロック区間)で、インタフェース内にレセッシブなビットが存在する場合には、インタフェースは、次のビット(次のクロック区間)で、ドミナントなレベルを引き起こしてはならない。この場合、このインタフェース(及び、対応するCANノード)は、他のCANノードが優先順位のより高い(即ち、より早期のドミナントレベルを有する)メッセージを有するため、調停から外される必要がある。この機能のためには、先に図1で例示的に記載したハードウェア構成要素は最適ではない。従って、より速い応答時間は、このために特別に設けられたモジュールによって達成されうる。
図7には、CAN調停を解説するために、CANバスに印加された信号701、及び、マイクロコントローラ内部に存在する送信すべき信号702が示されている。左から右へと点線で4つのクロック区間が区切られている。クロック区間1では、バス上でも、内部信号もレセッシブなレベルである。クロック区間2では、バス上ではドミナントなレベルであり、内部の信号は、このクロック区間についてはレセッシブなレベルを有する。従って、このノードは調停から外される。調停のためのハードウェアユニットによって、クロック区間3内で予定されたドミナントレベルを引き起こすことが抑制される。対応して、ノードはもはやクロック区間4でも、後続のクロック区間でも、調停に勝ったCANバス上での伝送が終わるまで送信してはならない。
図6は、汎用直列インタフェース、特にCANインタフェースを提供するためのハードウェアモジュール610と、当該インタフェースを介したメッセージ調停のための追加的なハードウェアユニット630と、を備えたマイクロコントローラ601を示す。ハードウェア構成要素610、即ち、入力モジュール611、ルーティングユニット612、演算ユニット(MCS)613、出力モジュール614を備えたマイクロコントローラ601は、図1のマイクロコントローラ101に大部分で対応する。追加的に、マイクロコントローラ601は、調停のための(本例では外部の)ハードウェアユニット630と接続されている。入力データチャネル602は、特にCAN−Rx線であり、出力データチャネル603はCAN−Tx線である。追加的なハードウェアユニット630は好適に、対応する信号が受信され次第ノードの送信を停止する外部の論理回路である。CAN調停の場合には、ドミナントなレベルがバス上で印加され、同じクロック単位への独自の情報がレセッシブとなり次第次第、このような送信中断が行われるであろう。ハードウェアユニット630は、例えば、ゲート機能による論理回路、プログラム可能な論理ユニット(PLD)、又は、書き替え可能なゲートアレイ(FPGA:Field Programmable Gate Array)として実現されてもよい。
図6にはさらに、第2の出力モジュール615が示されている。この第2の出力モジュール615は、調停のための追加的なハードウェアユニットを、タイマリソースを提供しながらサポートすることが可能である。このようなタイマリソースは、例えば、特定のビット長を待ち、又は特定の休止を保持するために必要となる。代替的な実装は、このタイマリソースも同様に、追加的なハードウェア回路として設けることであろう。
調停のための追加的なハードウェアユニットは、好適に、設定可能なロジック部を介して、フレキシブルに、様々な出力ユニットに割り当てられる。但し、固定的な割り当ても可能である。
調停のための追加的なハードウェアユニットは、好適に、マイクロコントローラ外部のプログラム可能なロジック部(例えば、FPGA又はCPLD)として存在する。但し、このようなプログラム可能なロジック回路の組み込みによって、マイクロコントローラ上での代替的な実装も可能である。
調停のための特別なハードウェアユニットは、更なる別の測定機能及び評価機能を備えていてもよい。好適な変形例において、CAN調停のためのこのようなユニットは例えば、利用されるプロトコルがCAN又はCAN−FD(データレートが可変的なCAN)であるかについても検出する。
調停のための特別なハードウェアユニットを含む上記実施例において、まず、残りの処理ステップ(入力モジュール内でのデータ入力、出力モジュールによるデータ出力、ルーティングユニットによる経路指定、演算ユニット(MCS)によるプロトコル演算、場合によりCRCユニットによるCRC演算)が、引き続き上述のように進行し、又は、残りのハードウェア回路(入力モジュール、出力モジュール、ルーティングユニット、演算ユニット(MCS)、場合によりCRCユニット)が、引き続き先に図1で記載したように構成されることから出発する。しかしながら、調停のための特別なハードウェアユニットは、問題無く、特別な入力モジュール及び/又は特別な出力モジュールを含む実施例と組み合わせることも可能である。
更なる別の好適な変形例では、先に記載した実施形態において追加的にさらにボーレート検出部が実現されうる。このようなボーレート検出部によって、例えば、様々なボーレートに対して調整することが可能となるであろう。
ボーレート検出部は、ソフトウェア又はハードウェアに実装することが可能である。ソフトウェア実現の際には、ボーレート検出は、例えば入力モジュールのキャプチャ情報から、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)によって行われうる。その際に、データの入力周波数を測定し基準周波数の調整によりボーレートを定めることが可能である。このためには、メッセージフレーム一式が解析される必要があり、ソフトウェア実現では時間が掛かる。
好適な代替的な実現において、ボーレート検出はハードウェアで実現される。このボーレート検出は、追加的なハードウェア回路内で行われ、又は先に(例えば図5で)記載したような、対応する追加機能を備えた特別な入力モジュール内で行われる。ハードウェアでの実現によって、ソフトウェアでの実現に比べて、より迅速なボーレート検出及びボーレート調整が可能であり、さらに、演算ユニット(MCS)又は中央処理ユニット(CPU)に掛かる負荷がより小さい。
図10には、ハードウェアで実現されたボーレート検出部のための対応するフロー図が、汎用のUARTインタフェースの例で示される。
構想されるプロトコルのメッセージフレームの基本構造は公知であり、例えば、本例では、メセージフレームが常に、低いレベルを有する開始ビットで始まり、高いレベルを有する停止ビットで終わることが公知である。ボーレートを検出するための第1のステップ1001において、対応するハードウェア機能によって、開始ビットと停止ビットとの間のクロックの数(即ち、第1のハイ・ロー(High−Low)エッジから最後のロー・ハイ(Low−High)エッジまで)が数えられる。その際に、クロック数は好適に、(例えば時間基準ユニットから)ハードウェア機能にクロックを提供する時間基準であって、読み出されるボーレートに対して小さい上記時間基準から導出される。
メッセージフレームの長さ(例えば、ビット数)は、ハードウェア機能には分かっている。例示的に仮定されるプロトコルでは、メッセージフレームが10ビット(例えば、開始ビット、8個のデータビット、停止ビット)を有することが公知である。開始ビットから停止ビットまでの様々なクロックの定められた数は、第2のステップ1002において、メッセージフレームのビット数(例えば10)で除算される。このように定められたボーレートは、第3のステップ1003で、例えば、マイクロコントローラの演算ユニット(MCS)又は中央処理ユニット(CPU)へと伝達される。
例えば、提示されるUARTインタフェース又はLINインタフェースの場合、フレームの長さが常に一定であり、従って分かっているが、例えばCANの場合は、メッセージフレームの長さ(即ち、ビット数)が分からないこともある。記載したボーレート検出の変形例において、ここでは、ボーレートをハードウェア内で検出することも可能である。例えば、メッセージフレームの2ビット間の最小時間を定めることが可能である。
ボーレートを検出するために、メッセージフレームの先頭と終りを定めることが可能である必要がある。このことは、例えば、設定されたクロック数、例えば3クロック(ボーレートが一定の場合に、固定の時間に対応して、例えば150ns)によって、特定のレベルのために行うことが可能である。

Claims (36)

  1. 制御装置内の少なくとも1つの汎用インタフェースを提供する方法であって、前記制御装置は、マイクロコントローラ(101)を有し、前記マイクロコントローラ(101)は、中央処理ユニット(CPU)と、少なくとも1つの入力モジュール(111)と、少なくとも1つの出力モジュール(114)と、少なくとも1つのルーティングユニット(112)と、前記中央処理ユニット(CPU)とは区別して設けられ受信した情報を処理するための少なくとも1つの演算ユニット(113)と、により構成される前記少なくとも1つの汎用インタフェースの機能を有し、前記少なくとも1つの汎用インタフェースは、設定に応じて複数の直列インタフェースのうちの1つに対応する機能を提供するように設定可能である、前記方法において、
    前記方法は、以下の工程、即ち、
    ‐前記複数の直列インタフェースのうちの前記1つの直列インタフェースのプロトコルに対応する入力データが、前記少なくとも1つの入力モジュール(111)を介して受信され、
    −前記入力データは、前記ルーティングユニット(112)を介して前記少なくとも1つの演算ユニット(113)へと伝送され、
    −前記少なくとも1つの演算ユニット(113)によって、前記入力データのプロトコルが変換されるとともに第1のユーザデータが抽出され、
    −前記第1のユーザデータは、前記中央処理ユニット(CPU)に提供され、
    −前記中央処理ユニット(CPU)の第2のユーザデータが、前記少なくとも1つの演算ユニット(113)によって受信され、
    −前記少なくとも1つの演算ユニット(113)によって、前記第2のユーザデータのプロトコルが変換された出力データが生成され、
    −前記出力データは、前記ルーティングユニット(112)を介して、前記少なくとも1つの出力モジュール(114)へと伝送され、
    −前記複数の直列インタフェースのうちの前記1つの直列インタフェースのプロトコルに対応する前記出力データが、前記少なくとも1つの出力モジュール(114)を介して送信される、ことを特徴とする、方法。
  2. 前記演算ユニット(113)は、第1のメモリへのアクセス権を有し、前記第1のメモリには、前記第1のユーザデータのプロトコルの仕様が格納される、請求項1に記載の方法。
  3. 前記第1のユーザデータのプロトコルの仕様が、開始ビット、停止ビット、パリティ情報、制御ビット、及び、充填ビットのうちの1つについての情報である、請求項2に記載の方法。
  4. 前記第1のユーザデータのプロトコルの仕様は、前記中央処理ユニット(CPU)によって前記第1のメモリに格納される、請求項2又は3に記載の方法。
  5. 記少なくとも1つの入力モジュール(111)と、前記少なくとも1つの出力モジュール(114)とは、前記設定によって、前記複数の直列インタフェースのうちの前記1つに固定的に割り当てられる、請求項1〜4のいずれか1項に記載の方法。
  6. 前記演算ユニット(113)は、より高次のプロトコル層の演算も行う、請求項1〜5のいずれか1項に記載の方法。
  7. 前記高次のプロトコル層の演算は、複数のUARTメッセージフレームをLINメッセージフレームへ変換することである、請求項6に記載の方法。
  8. 前記演算ユニット(113)が前記第1のユーザデータを第2のメモリに書込み、当該書込みについて割り込みを介して前記中央処理ユニット(CPU)に報知されるという形で、前記第1のユーザデータが前記中央処理ユニット(CPU)に提供される、請求項1〜7のいずれか1項に記載の方法。
  9. 前記第1のユーザデータは、前記演算ユニット(113)によって、直接メモリアクセス(DMA)を介して前記中央処理ユニット(CPU)に提供される、請求項1〜7のいずれか1項に記載の方法。
  10. 記少なくとも1つの入力モジュール(111)内で、前記入力データに時間情報が割り当てられる、請求項1〜9のいずれか1項に記載の方法。
  11. 記少なくとも1つの入力モジュール(111)内では、前記マイクロコントローラ(101)の入力口に印加される前記入力データの各エッジ変化に対して、タイムスタンプが割り当てられる、請求項10に記載の方法。
  12. タイムスタンプが割り当てられた前記入力データの各前記エッジ変化が別々に伝送されるという形で、前記少なくとも1つの入力モジュール(111)は、前記入力データを前記ルーティングユニット(112)へと伝達する、請求項11に記載の方法。
  13. 前記演算ユニット(113)は、タイムスタンプが割り当てられた前記入力データの前記エッジ変化に基づいて、メッセージフレームを決定する、請求項12に記載の方法。
  14. 前記入力データの入力メッセージフレーム全体が、前記少なくとも1つの入力モジュール(511)に格納され、前記入力メッセージフレーム全体が前記演算ユニット(513)に提供される、請求項1〜9のいずれか1項に記載の方法。
  15. 記少なくとも1つの入力モジュール(511)によって、前記入力メッセージフレームがオーバーサンプリングを用いて解析され、前記入力メッセージフレームのビットのレベルが、前記オーバーサンプリングのサンプル点のレベル値に基づくビットレベルのボーティングによって決定される、請求項14に記載の方法。
  16. 記少なくとも1つの入力モジュール(511)内では、前記入力メッセージフレームにタイムスタンプが割り当てられる、請求項15に記載の方法。
  17. 前記演算ユニット(113)は、自身が所定のボーレートに基づいて、タイムスタンプが割り当てられた前記出力データの対応するエッジ変化を決定するという形で、前記第2のユーザデータから前記出力データを生成する、請求項1〜16のいずれか1項に記載の方法。
  18. 前記ルーティングユニット(112)を介して、タイムスタンプが割り当てられた前記出力データの各前記エッジ変化が別々に伝送されるという形で、前記出力データが前記少なくとも1つの出力モジュール(114)へと伝送される、請求項17に記載の方法。
  19. 記少なくとも1つの出力モジュール(114)は、前記出力データの各前記エッジ変化の前記割り当てられたタイムスタンプを、時間情報と比較し、一致した場合には、対応するエッジを前記マイクロコントローラ(101)の出力口に印加する、請求項17又は18に記載の方法。
  20. 前記演算ユニット(413)は、前記第2のユーザデータから、出力データとして出力メッセージフレーム全体を生成し、当該出力メッセージフレーム全体を、前記少なくとも1つの出力モジュール(414)へと伝送する、請求項1〜16のいずれか1項に記載の方法。
  21. 記少なくとも1つの出力モジュール(414)は、対応するトリガが前記演算ユニット(413)又は前記中央処理ユニット(CPU)により開始される場合、又は、前記出力メッセージフレームに割り当てられたタイムスタンプが、前記少なくとも1つの出力モジュール(414)の時間情報に対応する場合に、前記出力メッセージフレームを伝送する、請求項20に記載の方法。
  22. 前記入力データのためにボーレート検出が実行される、請求項1〜21のいずれか1項に記載の方法。
  23. 中央処理ユニット(CPU)と、少なくとも1つの入力モジュール(111)と、少なくとも1つの出力モジュール(114)と、少なくとも1つのルーティングユニット(112)と、前記中央処理ユニット(CPU)とは区別して設けられ受信した情報を処理するための少なくとも1つの演算ユニット(113)と、を備える制御装置のためのマイクロコントローラ(101)において、前記マイクロコントローラ(101)は、請求項1〜22のいずれか1項の方法を実施するよう構成されることを特徴とする、マイクロコントローラ(101)。
  24. 中央処理ユニット(CPU)と、少なくとも1つの入力モジュール(111)と、少なくとも1つの出力モジュール(114)と、少なくとも1つのルーティングユニット(112)と、前記中央処理ユニット(CPU)とは区別して設けられ受信した情報を処理するための少なくとも1つの演算ユニット(113)と、を備える制御装置のためのマイクロコントローラ(101)において、
    前記マイクロコントローラ(101)は、複数の直列インタフェースのうちの前記1つの直列インタフェースのプロトコルに対応する入力データを受信する前記少なくとも1つの入力モジュール(111)と、
    前記複数の直列インタフェースのうちの前記1つの直列インタフェースのプロトコルに対応する出力データを送信する前記少なくとも1つの出力モジュール(114)と、
    前記入力データを前記少なくとも1つの演算ユニット(113)へと伝送し、前記出力データを前記少なくとも1つの出力モジュール(114)へと伝送する前記少なくとも1つのルーティングユニット(112)と、
    受信した情報を処理するために前記入力データのプロトコルを変換するとともに前記中央処理ユニット(CPU)に提供する第1のユーザデータを抽出し、前記中央処理ユニット(CPU)の第2のユーザデータを受信して前記第2のユーザデータのプロトコルを変換して前記出力データを生成する前記少なくとも1つの演算ユニット(113)と、
    が設定に応じて前記複数の直列インタフェースのうちの1つに対応する機能を果たすように、設定可能であることを特徴とする、マイクロコントローラ(101)。
  25. 前記演算ユニット(113)は演算論理ユニット(ALU)を有する、請求項23又は24に記載のマイクロコントローラ(101)。
  26. 前記少なくとも一つの入力モジュール(111)はキャプチャ機能を有し、及び/又は、前記少なくとも一つの出力モジュール(114)はコンペア機能を有する、請求項23〜25のいずれか1項に記載のマイクロコントローラ(101)。
  27. CRC演算のための別体の第1のハードウェア回路(315)を有する、請求項23〜26のいずれか1項に記載のマイクロコントローラ(301)。
  28. 調停のための別体の第2のハードウェア回路を有し、又は、調停のための別体の第2のハードウェア回路(603)と接続された、請求項23〜27のいずれか1項に記載のマイクロコントローラ(601)。
  29. 前記調停のための前記別体の第2のハードウェア回路(630)は、CANプロトコル又はCAN−FDプロトコルに対応した入力データが伝送されるのかについて解析を実行するよう構成される、請求項28に記載のマイクロコントローラ(601)。
  30. 前記ルーティングユニット(112)及び/又は前記演算ユニット(113)は、少なくとも100MHzのクロックにより動作する、請求項23〜29のいずれか1項に記載のマイクロコントローラ(101)。
  31. 前記ルーティングユニット(112)及び/又は前記演算ユニット(113)は、少なくとも200MHzのクロックにより動作する、請求項23〜29のいずれか1項に記載のマイクロコントローラ(101)。
  32. 記少なくとも1つの入力モジュール(111)を介して、少なくとも1Mボーの入力ボーレートにより入力データを受信し、又は、前記少なくとも1つの出力モジュール(114)を介して、少なくとも1Mボーの出力ボーレートにより出力データを送信するよう構成される、請求項23〜31のいずれか1項に記載のマイクロコントローラ(101)。
  33. 記少なくとも1つの入力モジュール(111)及び前記少なくとも1つの出力モジュール(114)の他に、少なくとも1つの入力モジュール及び少なくとも1つの出力モジュールも有する、請求項23〜32のいずれか1項に記載のマイクロコントローラ(101)。
  34. タイマ入力モジュール(231)と、タイマ出力モジュール(234)と、タイマ・ルーティングモジュール(232)と、タイマ演算ユニット(233)と、を備えたタイマモジュール(230)を追加的に有する、請求項23〜33のいずれか1項に記載のマイクロコントローラ(201)。
  35. 前記マイクロコントローラ(201)は、前記少なくとも1つの入力モジュール(211)と、前記少なくとも1つの出力モジュール(214)と、前記少なくとも1つの演算ユニット(213)と、前記ルーティングユニット(212)と、を備えた前記タイマモジュール(230)のタイマ機能を実行するよう構成され、前記タイマ機能が必要ではない場合には、前記複数の直列インタフェースのうちの1つに対応する前記機能を行うよう構成される、請求項34に記載のマイクロコントローラ(201)。
  36. 請求項23〜35のいずれか1項に記載のマイクロコントローラを備えた車両制御装置。
JP2014109903A 2013-05-29 2014-05-28 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ Active JP6469365B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013210064.7A DE102013210064A1 (de) 2013-05-29 2013-05-29 Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
DE102013210064.7 2013-05-29

Publications (2)

Publication Number Publication Date
JP2014239432A JP2014239432A (ja) 2014-12-18
JP6469365B2 true JP6469365B2 (ja) 2019-02-13

Family

ID=51899338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014109903A Active JP6469365B2 (ja) 2013-05-29 2014-05-28 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ

Country Status (6)

Country Link
US (1) US10049062B2 (ja)
JP (1) JP6469365B2 (ja)
KR (1) KR102206529B1 (ja)
CN (1) CN104216311A (ja)
DE (1) DE102013210064A1 (ja)
FR (1) FR3006532A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102550834B1 (ko) * 2023-03-07 2023-07-04 주식회사 엠티오메가 블랙박스 검사 시스템

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11016925B2 (en) * 2015-03-26 2021-05-25 Nxp Usa, Inc. Protocol-tolerant communications in controller area networks
AU2016297998B2 (en) 2015-07-28 2020-07-16 Crown Equipment Corporation Vehicle control module with signal switchboard and output tables
CN105429997A (zh) * 2015-12-18 2016-03-23 贵州师范大学 FlexRay总线与CAN总线协议转换装置及方法
DE102016203421A1 (de) * 2016-03-02 2017-09-07 Robert Bosch Gmbh Verfahren und Anordnung zum Überstromschutz eines elektronischen Schalters
DE102016211769A1 (de) * 2016-06-29 2018-01-04 Robert Bosch Gmbh Mikrocontroller für einen Feldbus
US10872055B2 (en) * 2016-08-02 2020-12-22 Qualcomm Incorporated Triple-data-rate technique for a synchronous link
DE102017109862B4 (de) * 2017-05-08 2023-09-07 Webasto SE Programmierbarer Stecker
CN108304216A (zh) * 2018-01-03 2018-07-20 沈阳东软医疗系统有限公司 一种设备通信方法及通信设备
CN110572336B (zh) * 2019-09-06 2021-09-17 南京俊禄科技有限公司 一种nmea数据的波特率识别方法
CN112639757B (zh) * 2020-03-27 2021-10-01 华为技术有限公司 车载控制单元的接口电路、装置、车辆及控制方法
CN112104537B (zh) * 2020-03-28 2022-04-19 上海芯郡电子科技有限公司 一种通信控制器
KR20210152125A (ko) * 2020-06-08 2021-12-15 주식회사 만도모빌리티솔루션즈 프로세스 검사 장치 및 방법과, 전자 제어 장치
CN112187821B (zh) * 2020-10-09 2023-03-10 四川海天仪表电器开发有限公司 一种装甲车多总线自由协议转换模块
EP4138343B1 (en) * 2021-08-20 2024-02-21 STMicroelectronics Application GmbH Processing system, related integrated circuit, device and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014579A1 (en) 2001-07-11 2003-01-16 Motorola, Inc Communication controller and method of transforming information
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
DE602004027024D1 (de) 2004-08-05 2010-06-17 Bosch Gmbh Robert Kommunikationskontrolleur für FlexRay-Netze
US7363573B1 (en) * 2005-01-10 2008-04-22 Xilinx, Inc. Method and apparatus for a dedicated cyclic redundancy check block within a device
JP2006352201A (ja) 2005-06-13 2006-12-28 Fujitsu Ten Ltd 通信変換制御装置
CN101136000B (zh) 2006-09-01 2011-01-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
DE102007044803A1 (de) * 2007-09-20 2009-04-09 Robert Bosch Gmbh Schaltungsanordnung zur Signalaufnahme und -erzeugung sowie Verfahren zum Betreiben dieser Schaltungsanordnung
CN201146538Y (zh) 2008-01-21 2008-11-05 上海可鲁系统软件有限公司 一种协议转换装置
CN101770442B (zh) 2008-12-30 2012-10-10 易视芯科技(北京)有限公司 具有多个外设接口的数据交互系统和方法
EP2372490A1 (en) 2010-03-31 2011-10-05 Robert Bosch GmbH Circuit arrangement for a data processing system and method for data processing
DE102011007437A1 (de) 2010-11-15 2012-05-16 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102550834B1 (ko) * 2023-03-07 2023-07-04 주식회사 엠티오메가 블랙박스 검사 시스템

Also Published As

Publication number Publication date
US20140359179A1 (en) 2014-12-04
FR3006532A1 (fr) 2014-12-05
CN104216311A (zh) 2014-12-17
KR102206529B1 (ko) 2021-01-22
KR20140140509A (ko) 2014-12-09
US10049062B2 (en) 2018-08-14
DE102013210064A1 (de) 2014-12-04
JP2014239432A (ja) 2014-12-18

Similar Documents

Publication Publication Date Title
JP6469365B2 (ja) 汎用インタフェースを提供する方法、及び、汎用インタフェースを有するマイクロコントローラ
KR102205776B1 (ko) 제네릭 인터페이스를 제공하기 위한 방법 및 제네릭 인터페이스를 구비한 마이크로컨트롤러
KR102202408B1 (ko) 제네릭 인터페이스를 제공하기 위한 방법 및 제네릭 인터페이스를 구비한 마이크로컨트롤러
Di Natale et al. Understanding and using the controller area network communication protocol: theory and practice
JP5852382B2 (ja) データ伝送方法
CN110061795B (zh) 一种用于分布式控制系统的高速嵌入协议的生成方法
US7801131B2 (en) Method for transmitting data in messages via a communication link of a communication system, as well as a communication module, user of a communication system, and communication system for implementing this method
KR100970300B1 (ko) 통신 모듈의 메시지 메모리의 데이터를 액세스하기 위한 방법 및 장치
KR101028898B1 (ko) 플렉스레이 통신 장치
US9065732B2 (en) Communication configuration and method for debugging, respectively for programming one or more participants of the communication configuration
KR100977897B1 (ko) 메시지 메모리 내에서 메시지를 저장하기 위한 방법 및상응하는 메시지 메모리
CN105340223A (zh) 确定can总线连接单元的内部延迟时间的设备和测量方法
CN111108450A (zh) 用于耦合现场总线和本地总线的电路
JP2009502072A (ja) FlexRay通信モジュール及びFlexRay通信制御装置、並びにFlexRay通信接続とFlexRay加入者装置との間でメッセージを伝送する方法
JP2008512942A (ja) 低遅延のデータパケット受信及び処理
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
Hank Pelican: A new can controller supporting diagnosis and system optimization
KR102279947B1 (ko) 필드버스용 마이크로컨트롤러
JP2020527316A (ja) 通信ネットワークの加入者局用のタイムスタンプユニットおよび通信制御ユニット
CN116633488A (zh) 数据帧的存储方法、装置、车辆及存储介质
Grammatikakis et al. Managing Concurrent Queues for Efficient In-Vehicle Gateways.
Cena et al. Protocols and Services in Controller Area Networks
Kim et al. A method for improving the reliability of the gateway system by using OSEK and duplication scheme
Varela Sniffer Gigabit Ethernet em Hardware para Sistemas de Tempo-Real
Costa Varela

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190116

R150 Certificate of patent or registration of utility model

Ref document number: 6469365

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190208

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190214

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250