JP2015208002A - バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法 - Google Patents

バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法 Download PDF

Info

Publication number
JP2015208002A
JP2015208002A JP2015084389A JP2015084389A JP2015208002A JP 2015208002 A JP2015208002 A JP 2015208002A JP 2015084389 A JP2015084389 A JP 2015084389A JP 2015084389 A JP2015084389 A JP 2015084389A JP 2015208002 A JP2015208002 A JP 2015208002A
Authority
JP
Japan
Prior art keywords
bus
control unit
data
unit
external
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.)
Pending
Application number
JP2015084389A
Other languages
English (en)
Inventor
ティーレ、シュテファン
Thiele Stefan
フーフェン、クリストフ
Hufen Christoph
クロイツ、シュテファン
Kreuz Stefan
ロイヴァー、ヘルベルト
Reuver Hervert
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 JP2015208002A publication Critical patent/JP2015208002A/ja
Pending legal-status Critical Current

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • 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/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

【課題】ソフトウェアで制御されるバスコントローラのジッタ及びスループットを改善する。【解決手段】バスインタフェースユニット100は、バスシステム10への接続のために少なくとも1つのバス制御ユニット110を有する、バスインタフェースユニット100において、バス制御ユニット110を介してバスシステム10から受信されたデータ及び/又は当該データに由来するデータを、外部ユニット2000へと出力し及び/又は外部ユニット2000から獲得されたデータ及び/又は当該データに由来するデータを、バス制御ユニット110を介してバスシステム10へと出力するよう構成された制御ユニット120を設ける。【選択図】図1

Description

本発明は、バスシステムを介したデータ交換のためのバスインタフェースユニットであって、バスシステムへの接続のために少なくとも1つのバス制御ユニットを有する、上記バスインタフェースユニットに関する。
さらに、本発明は、このようなバスインタフェースユニットのための対応する駆動方法に関する。
冒頭で挙げた形態によるバス制御ユニットは公知であり、「バスコントローラ」としても知られている。公知のバスコントローラは、通常では、マイクロプロセッサの標準プロセッサバス等に接続され、マイクロプロセッサの管理下で、ソフトウェアにより制御されて駆動する。公知のシステムの欠点は、ソフトウェアの使用によりジッタ(データ処理時の実行時間/加工時間の変動)が比較的大きく、スループットが小さいことである。
従って、本発明の課題は、先に挙げた欠点がより小さな規模で見られ、又は全く無い、改良されたバスインタフェースユニット、及び、当該バスインタフェースユニットのための改良された駆動方法を示すことである。
本課題は、冒頭に挙げた形態によるバスインタフェースユニットにおいて、本発明に基づいて、バス制御ユニットを介してバスシステムから受信されたデータ及び/又は当該データに由来するデータを、外部ユニットへと出力し、及び/又は、外部ユニットから獲得されたデータ及び/又は当該データに由来するデータを、バス制御ユニットを介してバスシステムへと出力するよう構成された制御ユニットが設けられることによって解決される。本発明に基づいた制御ユニットを設けることによって、バスインタフェースユニット自体の内部でのデータ処理のために重要な機能の局在化が可能になることが有利であり、従って例えば、バスインタフェースユニットと接続されたプロセッサのような外部ユニットに掛かる負荷が軽減され、従来技術の欠点が軽減され又は完全に回避される。特に、制御ユニットが有利な実施形態においてハードウェアで実現される場合には、従来のシステムでの上記欠点が無くなる。しかしながら、バス制御ユニットが少なくとも部分的にハードウェアで実現される他の変形例の場合にも、外部ユニットが例えばポーリング又はソフトウェアによる他の制御方法を利用して、従来のプロセッサバスを介してバスインタフェースユニットと通信する従来の構造に対して、本発明に係る利点が得られる。
好適な実施形態において、制御ユニットは、1つ以上のデータセグメント、特に一定の長さのデータセグメントの形態によりデータを外部ユニットと交換するよう構成されることが構想される。これにより、外部ユニット内でのデータセグメントの決定論的な移動時間又は加工時間が可能である。
好適な実施形態において、バスシステムはCAN(Controller Area Network、コントローラエリアネットワーク)バスシステムであり、バス制御ユニットはCANバス制御ユニットであることが構想される。特に、CANバス制御ユニットは、一実施形態によれば、例えば別体の集積回路(IC)の形態による独立したCANコントローラとして構成されてもよいことが有利であり、又は、ASIC(特定用途向け集積回路)若しくはASICの一部として、又は、FPGA(プログラム可能な論理回路)若しくはFPGAの一部として構成されてもよいことが有利である。一実施形態において、CANバス制御ユニットは、ロバートボッシュ社の「M_CAN IPモジュール」に基づいて実現されてもよい(インターネットネットでの公開http://www.bosch−semiconductors.de/media/en/pdf_1/ipmodules_1/m_can/bosch_product_info_m_can_ip.pdfを参照されたい)。
更なる別の好適な実施形態によれば、バスシステムはFlexRayバスシステムであり、バス制御ユニットはFlexRayバス制御ユニットであることが構想される。先に記載した形態によるCANコントローラと同様に、FlexRayバスシステムの場合にもFlexRayバス制御ユニットは、一実施形態によれば、例えば、別体の集積回路(IC)の形態による独立したFlexRayコントローラとして構成されてもよく、又は、ASIC(特定用途向け集積回路)若しくはASICの一部として、又は、FPGA(プログラム可能な論理回路)若しくはFPGAの一部として構成されてもよい。一実施形態において、FlexRayバス制御ユニットは、ロバートボッシュ社の「E_Ray IPモジュール」に基づいて実現されてもよい(インターネットネットでの公開http://www.bosch−semiconductors.de/media/en/pdf_1/ipmodules_1/flexray/eray_users_manual_1_2_7.pdfを参照されたい)。
更なる別の実施形態において、バスシステムはLIN(Local Internet Network、ローカルインタコネクトネットワーク)バスシステムとして構成されてもよく、バス制御ユニットはLINバス制御ユニットである。
更なる別の実施形態において、制御ユニットが、外部ユニットから制御データ及び/又は設定データを受信するよう構成されることが構想され、これにより、本発明に係る制御ユニットは、外部ユニットの更なる駆動に依存せずに又は当該駆動とは無関係に、制御データ及び/又は設定データを、該当するバス制御ユニットに直接的に供給できるようになる。このようにして、制御データ及び/又は設定データは、例えば、当該制御データ及び/又は設定データの転送がバスシステムを介したデータ通信に特にさほど悪影響を与えない駆動状態において、バス制御ユニットに供給されうる。
例えば、制御ユニットは、一実施形態によれば、上記の「M_CAN IPモジュール」に基づきCANバス制御ユニットが構成される場合には、例えば、外部ユニットから獲得された制御データ及び/又は設定データを、CANバス制御ユニット又はCANバス制御ユニットのレジスタに書き込むために、M_CAN IPモジュールのメモリレジスタ又は設定レジスタにアクセスするよう構成されうる。
さらに例えば、制御ユニットは、一実施形態によれば、上記の「E_Ray IPモジュール」に基づきFlexRayバス制御ユニットが構成される場合には、例えば、外部ユニットから獲得された制御データ及び/又は設定データを、FlexRayバス制御ユニット又はFlexRayバス制御ユニットのレジスタに書き込むために、E_Ray IPモジュールのメモリレジスタ又は設定レジスタにアクセスするよう構成されうる。
更なる別の実施形態において、制御ユニットは、バス制御ユニットから、当該バス制御ユニットの駆動状態を特徴付ける情報を、特に状態情報及び/又はイベント情報を受信し、このバス制御ユニットの駆動状態を特徴付ける情報を、少なくとも部分的に外部ユニットに出力するよう構成され、バス制御ユニットの駆動状態を特徴付ける情報は、特に制御ユニットに格納され、即ち、少なくとも一時的に格納されることが構想される。
更なる別の実施形態において、制御ユニットが、好適にバスインタフェースユニット全体が、ハードウェアを利用して又はハードウェアの形態により実現され、特に、特定用途向け集積回路(ASIC)若しくはプログラム可能な論理回路(FPGA)として、又は、特定用途向け集積回路(ASIC)の一部若しくはプログラム可能な論理回路(FPGA)の一部として実現されることが構想される。この場合には、データ処理時間が特に短くなり、特に、本発明に係る制御ユニット又はバスインタフェースユニットによるデータの加工時間又は処理時間が予測可能になり、外部ユニット内でのデータの更なる高性能処理に良い影響が与えられる。
本発明の課題の更なる別の解決策として、バスシステムを介したデータ交換のためのバスインタフェースユニットを駆動する方法であって、バスインタフェースユニットは、バスシステムへの接続のために少なくとも1つのバス制御ユニットを有する、上記方法において、制御ユニットが設けられ、制御ユニットは、バス制御ユニットを介してバスシステムから受信されたデータ及び/又は当該データに由来するデータを、外部ユニットへと出力し、及び/又は、制御ユニットは、外部ユニットから獲得されたデータ及び/又は当該データに由来するデータを、バス制御ユニットを介してバスシステムへと出力することを特徴とする、上記方法が示される。
有利な構成は、従属請求項の主題である。
以下では、図面を参照しながら本発明の実施形態の例を解説することにする。
第1の実施形態に係るバスインタフェースユニットを概略的に示す。 第2の実施形態に係るバスインタフェースユニットを概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットを概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 更なる別の実施形態に係るバスインタフェースユニットの一観点を概略的に示す。 一実施形態に係るフロー図を概略的に示す。
図1は、第1の実施形態に係るバスインタフェースユニット100を示している。バスインタフェースユニット100は、バスシステム10を介してデータを交換する役目を果たす。このようにして、例えば、外部ユニット2000は、バスインタフェースユニット100を利用して、バスシステム10を介してデータを伝送する(受信及び/又は送信する)。本発明の主題ではない外部ユニットは、例えば、特に車両の、制御装置(図示せず)の演算ユニットであってもよく、又は、他の装置へのデータ転送のため又は複数の装置間のデータ交換のために設けられたゲートウェイ装置等であってもよい。
本発明に基づいて、バスインタフェースユニット100は、バス制御ユニット110を有し、このバス制御ユニット110は、バスシステム10への接続のために設けられ、「バスコントローラ」とも呼ばれる。本発明に基づいて、バスインタフェースユニット100はさらに、バス制御ユニット110とは異なる制御ユニット120を有し、この制御ユニット120は、バス制御ユニット110を介してバスシステム10から受信されたデータ及び/又は当該データに由来するデータを、外部ユニット2000へと出力し、及び/又は、外部ユニット2000から獲得されたデータ及び/または当該データに由来するデータを、バス制御ユニット110を介してバスシステム10に出力するよう構成される。
これに関して、図6は、本発明に係る方法の一実施形態に係る簡略化されたフロー図を概略的に示している。工程200において、バス制御ユニット110(図1)は、バスシステム10の他のバス加入者(図示せず)から送信されたデータを、バスシステム10を介して受信する。工程210(図6)において、制御ユニット120は、工程200で受信されたデータを外部ユニット2000へと出力する。
一実施形態において、制御ユニット120又は一般にバスインタフェースユニット100と、外部ユニット2000と、の間の対応するデータ接続DVは、1つ以上の(専用)データ線、又は、アドレスバス及び/データバスを含み、従って、構成要素120又は100と、構成要素2000と、の間の効率の良い高性能のデータ交換が可能である。
更なる別の実施形態において、制御ユニット120、好適にバスインタフェースユニット100全体が、ハードウェアを利用して又はハードウェアの形態により実現され、特に、特定用途向け集積回路(ASIC)若しくはプログラム可能な論理回路(FPGA)として、又は、特定用途向け集積回路(ASIC)の一部若しくはプログラム可能な論理回路(FPGA)の一部として実現される。この場合には、データ処理時間が特に短くなり、特に、本発明に係る制御ユニット120又はバスインタフェースユニット100によるデータの加工時間又は処理時間が予測可能になり、外部ユニット2000内でのデータの更なる高性能処理に良い影響が与えられる。例えば、バス制御ユニット110の機能は、制御ユニット120の機能と同一のFPGAで実現されてもよい。更なる別の実施形態において、構成要素110、120又は一般に構成要素100の機能は、例えば、外部ユニット200と同一のFPGAに組み込まれてもよい。
図2は、第2の実施形態に係るバスインタフェースユニット100aを示している。バスインタフェースユニット100aは、CANバスとして構成されたバスシステム10aに接続され、バス制御ユニット110aを介してCANバス10aから受信されたデータ及び/又は当該データに由来するデータを、外部ユニット2000へと出力し、及び/又は、外部ユニット2000から獲得されたデータ及び/又は当該データに由来するデータを、バス制御ユニット110aを介してCANバス10aへと出力するよう構成される。バスインタフェースユニット100aと外部ユニット2000との間のデータ交換は、図2では、複数の矢印1228又はブロック矢印111’、117a’、1288で示され、以下で詳細に記載される。
バスインタフェースユニット100aのバス制御ユニット110aは、ここでは、先に既に述べたロバートボッシュ社の「M_CAN IPモジュール」であって、CANバスシステム10a上で規格ISO11898−1に準拠した通信を実行するよう構成された上記「M_CAN IPモジュール」に基づいて実現されている。代替的に、他のCANコントローラ110aが利用されてもよい。M_CAN IPモジュールの機能、特にバスインタフェースユニット100a全体の機能は、特に好適に、FPGA(field programmable gate array、プログラム可能な論理モジュール)F1の一部という形態により実現され、その際に、FPGA F1は、ここでは、少なくとも部分的に外部ユニット2000の機能も実現する。このことは、図2では、ユニット100a、2000を囲む符号F1が付いた点線によって示されている。バスインタフェースユニット100aと外部ユニット2000とを同一のFPGA F1に組み込むことによって、ユニット100a、2000間の特に効率が良いデータ伝送の可能性が生まれる。というのは、例えば、FPGA内部のバス又はデータ伝送システムにアクセス出来るからである。製造業者であるアルテラ(Altera)社のFPGAの場合には、例えば、アルテラ(Altera)FPGAの所謂アバロン(Avalon)インタフェースにアクセスすることが可能であり、このアバロンインタフェースによって、同一のFPGA F1内に配置された複数の構成要素又はユニットの効率の良いデータ接続が可能となる。特に好適に、FPGA F1の場合は、ユニットの100a、2000の構成要素間のデータ接続を確立するために、例えば「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースが利用可能である。
図2で示される構成では、本発明に係る制御ユニット120aの機能(図1の符号120も参照)は、複数の機能ブロックに分散され、即ち基本的に機能ブロック122a、124a、126a、128aに分散されるが、このことについては以下で詳細に解説する。
有利な実施形態において、第1の機能ブロック122aが設けられ、この第1の機能ブロック122aは、「ホストサービス」とも呼ばれ、バスインタフェースユニット100aの駆動を制御するよう構成される。特に、第1の機能ブロック122aは、外部ユニット2000から制御データ及び/又は設定データを受信するよう構成可能であり、これにより、本発明に係る制御ユニット120aは、特に、外部ユニット2000の更なる駆動に依存せずに又は当該駆動とは無関係に、制御データ及び/又は設定データをバス制御ユニット110aに直接的に供給できるようになる。このようにして、制御データ及び/又は設定データは、例えば、当該制御データ及び/又は設定データの転送がCANバス10aを介するデータ通信に特にさほど悪影響を与えない駆動状態において、バス制御ユニット110aに供給されうる。
上記の制御データは、一実施形態によれば、例えば、バス制御ユニット110aの始動又は起動/停止を開始し及び/又はそれ以外のバス制御ユニット110aの駆動状態間の変更を開始する制御命令を含んでもよい。
図3aは、図2のバスインタフェースユニット100aの一観点を概略的に示している。ここでは、「ホストサービス」とも呼ばれる第1の機能ブロック122aが示されている。
有利な実施形態において、第1の機能ブロック122a内には、例えば状態オートマトン1220a(有限オートマトン、(FSM:finite state machine、有限状態機械))が実現されてもよく、この状態オートマトン1220aは、バスインタフェースユニット100aの様々な駆動状態を表し、それ自体は公知のやり方で駆動状態の遷移を制御し又は上記の制御データ及び/又は設定データを制御しながら上記駆動状態を遷移させる。
例えば、状態オートマトン1220aは、一実施形態によれば、3つの状態、即ち、「デフォルト(Default)」、「レディ(Ready)」、「ランニング(Running)」という状態を有し、その際、例えば、状態オートマトン1220a又は第1の機能ブロック122aの作動後には、第1の状態「デフォルト」となる。例えば、状態オートマトン1220aは、バス制御ユニット110a(図2)が初期化され又はリセットされることによって、第1の状態「デフォルト」から第2の状態「レディ」となり、このことは、外部ユニット2000から制御ユニット120a又は第1の機能ブロック122aへの対応する制御データの送信により可能である。同様に外部ユニット2000から制御ユニット120a又は第1の機能ブロック122aへと伝送可能な開始命令によって、状態オートマトン1220aは、最終的に、第2の状態「レディ」から第3の状態「ランニング」になる。これと同様に、状態オートマトン1220aは、同様に外部ユニット2000から制御ユニット120a又は第1の機能ブロック122aへと伝送可能な停止命令によって、第3の状態「ランニング」から第1の状態「デフォルト」になる。
追加的に、駆動状態「レディ」及び/又は「ランニング」において、(例えば、CANバス10aへのアクセスのためのバスタイミングの調整のために)バス制御ユニット110aの設定データが変更され、及び/又は、(例えば、ユニット100a、2000間のデータ経路の設定のために)バスインタフェースユニット100a全体の設定データが変更されることが構想される。これに関連して、制御ユニット120aは、対応する制御データ及び/又は設定データを、例えば外部データ2000から獲得することが可能である。
一実施形態において、バス制御ユニット110aは、第3の駆動状態「ランニング」において、CANバス10a上でデータ通信に関してアクティブであり、CANメッセージを受信及び/又は送信することが可能である。
例えば、制御ユニット120aは、一実施形態によれば、上記の「M_CAN IPモジュール」に基づきCANバス制御ユニット110aが構成される際には、例えば、外部ユニット2000から獲得された制御データ及び/又は設定データを、CANバス制御ユニット110a又はCANバス制御ユニット110aのレジスタに書き込むために、M_CAN IPモジュールのメモリレジスタ又は設定レジスタにアクセスするよう構成されうる。
更なる別の有利な実施形態において、図3aに係る第1の機能ブロック122a内に、いわゆるホストサービスハンドラ1222aが設けられてもよく、このホストサービスハンドラ1222aは、以下の機能の1つ以上を提供するよう構成され、即ち、外部ユニット2000へのデータ接続1224、CANバス制御ユニット110aへのデータ接続1226、割り込みコントローラ1228、CANバス制御ユニット110aの内部構成要素への直接的なデータ接続1230、制御情報のシグナリングのためのデータ接続1232、のうちの1つ以上の機能を提供するよう構成される。
有利な実施形態において、外部ユニット2000へのデータ接続1224は、例えば、1つ以上のFPGA内部のデータ接続を含んでもよく、例えば、アルテラFPGA F1(図2)の場合には、1つ以上のこのようなアバロンインタフェース、例えば、「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースを含んでもよい。
有利な実施形態において、CANバス制御ユニット110aへのデータ接続1226、特に、M_CAN IPモジュールのAEIインタフェースAEI(図2参照)へのデータ接続1226は、M_CAN IPモジュールのM_CANマルチプレクサへの接続線を含んでもよい。更なる別の有利な実施形態において、割り込みコントローラ1228の機能には、外部ユニット2000への割り込み(「割り込み要求」)信号の出力が含まれてもよい。更なる別の有利な実施形態において、CANバス制御ユニット110aの内部の構成要素への直接的なデータ接続1230は、いわゆるボンドアウト(BondOuts)を介して実現されてもよく、即ち、CANバス制御ユニット110aから、又はCANバス制御ユニット110aの機能を実装する装置(ハードウェア、特に、既存のASIC及び/又はIC及び/又はFPGAが考えられる)からの直接的な信号の案内を介して実現されてもよい。更なる別の有利な実施形態において、状態情報のシグナリングのためのデータ接続1232は、例えばシグナリング装置(例えば、発光ダイオードのような視覚警報)に対して又は外部ユニット2000に対して直接的に作用してもよい。
図3bは、図2に係るバスインタフェースユニット100aの更なる別の観点を概略的に示している。ここでは、状態及びイベントサーバ(SES)が示され、図3bでは第2の機能ブロック124aにより表されている。
SES124aがあるために、バスインタフェースユニット100aは、一実施形態によれば、バス制御ユニット110aから、当該バス制御ユニット110a(図2)の駆動状態を特徴付ける情報を受信し、バス制御ユニット110aの駆動状態を特徴付ける情報を少なくとも部分的に外部ユニット2000に出力するよう構成され、その際に、バス制御ユニット110a(図2)の駆動状態を特徴付ける情報は、特に制御ユニット120aに、ここでは特にSES124aに一時的に格納される。
これに関して、SES124aは、一実施形態によれば状態及びイベントハンドラ(略称「SEH」)1240aを有し、この状態及びイベントハンドラSEH1240aは、データ線1244を介して、バス制御ユニット110aの駆動状態を特徴付ける情報、特にCANバスコントローラ110aの状態情報及びイベント情報を、バスコントローラ110aから受信する。更なる別の有利な実施形態において、CANバス制御ユニット110aの内部構成要素に直接通ずるデータ接続1244は、上記のデータ接続1230と同様に、BondOutを介して実現されうる。
更なる別の有利な実施形態において、SEH1240aは、バス制御ユニット110aのイベント、及び、状態変更を受信し、評価し、特にフィルタに掛けるよう構成されてもよい。SEH1240aはさらに、この評価及び/又はフィルタリングに従って、例えば上記評価及び/又はフィルタリングについて又は一般にCANコントローラ110aの状態情報及びイベント情報について外部ユニット2000に報知するために、外部ユニット2000へのデータ伝送を実施し、又は促してもよい。外部ユニット2000へのデータ接続は、例えば、バスインタフェース1246を介して実現可能である。有利な実施形態において、外部ユニット2000へのデータインタフェース1246は、例えば、1つ以上のFPGA内部のデータ接続を含んでもよく、例えば、アルテラFPGA F1(図2)の場合には、1つ以上の所謂アバロンインタフェースを含んでもよく、例えば、第1の(「ホストサービス」)機能ブロック122aと外部ユニット2000との間のデータインタフェース1224と比較可能な「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースを含んでもよい。直接的なデータ接続1246によって、外部ユニット2000へと送信されるデータは特に効率良く、特に、例えばポーリングの仕組み等のソフトウェアで制御される過程無しに、外部ユニット2000へと伝送される。むしろ、ユニット100aがハードウェアで又はFPGA F1の機能により実現される場合には、好適に純粋にハードウェアに基づく高性能のデータ通信が行われ、当該データ通信の個々の処理過程は特に決定論的でもあり、即ち期間が予め予測可能である。
更なる別の実施形態において、SES124aは、図3bでは機能ブロック1242aで示される、いわゆるSES入力コーディネータ(「イングレスハンドラ」)も有してもよく、このSES入力コーディネータ1242aは、外部ユニット2000への(固有の)データ接続1248を有する。好適な実施形態において、SES入力コーディネータ1242aは、1つ又は複数のデータセグメント、特に一定の長さのデータセグメントの形態によりデータを外部ユニット2000と交換するよう構成されることが構想される。これにより、外部ユニット2000内でのデータセグメントの決定論的な移動時間又は加工時間が可能である。SES入力コーディネータ1242aはさらに、例えば、上記のCANバスコントローラ110aの状態情報及びイベント情報又は当該データに由来するデータを、SEH1240aから外部ユニット2000へと伝送するために、SEH1240aにより自身に宛てられたデータ伝送要求の調停を行うよう構成されてよい。
特に、SES124aは、一実施形態において、データ接続1246を介して外部ユニット2000へとデータを伝送してもよいこと、及び/又は、SES入力コーディネータ1242aのデータ接続線1248を介して外部ユニット2000へとデータを伝送してもよいことが有利であり、その際に、データ接続1248を介するデータ伝送は、特に、一定の長さのデータセグメントの形態により行われる。
図3cは、図2に係るバスインタフェースユニット100aの更なる別の観点を示している。ここでは、受信待ち行列プロセッサ(略称「RQP」)126aが示されている。受信待ち行列プロセッサ126aは、入力バッファコーディネータ(略称「RFH」)1260aを有する。さらに、RQP126aは、一実施形態によれば、局所的なバッファメモリ1262aを有する。さらに、RQP126aは、一実施形態によれば、局所的な入力コーディネータ1264aを有する。
RFH1260aは、一実施形態によれば、バス制御ユニット110aによりCANバス10aから受信されたデータ又は当該データに由来するデータを受け取るよう構成されたデータ接続線1266を有する。CANバス10aから受信される他の送信者(図示されない他のバス加入者)のデーダの他に、バス制御ユニット110aによりCANバス10aへと送信されると共にバス制御ユニット110aにより再び受信される(「自受信(self−reception))データが関わっていてもよい。効率の良い高性能のシーケンス制御のために、RFH1260aは、一実施形態において、CANバス制御ユニット110aへの直接的なデータ接続線1268を有してもよく、例えば、BondOutsを利用して実現されてもよい。
RFH1260aは、更なる別の実施形態によれば、外部ユニット2000とのデータ交換を可能にするよう構成されたデータ接続線1269aを有する。有利な実施形態において、外部ユニット2000へのデータ接続線1269aは、例えば、1つ以上のFPGA内部のデータ接続を含んでもよく、例えば、アルテラFPGA F1(図2)の場合には、1つ以上の所謂アバロンインタフェース、例えば、上記のデータインタフェース1224又は1246と比較可能な「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースを含んでもよい。
RQP126aが局所的な入力コーディネータ(イングレスハンドラ)1264aを有する実施形態において、この局所的な入力コーディネータ1264aは、外部ユニット2000への(固有の)データ接続線1269bを有してもよい。有利な実施形態において、局所的な入力コーディネータ1264aは、1つ以上のデータセグメント、特に一定の長さのデータセグメントの形態によりデータを外部ユニット2000と交換するよう構成されることが構想される。これにより、外部ユニット2000内でのデータセグメントの決定論的な移動時間又は加工時間が可能である。局所的な入力コーディネータ1264aはさらに、例えば、上記の受信されたCANメッセージ若しくはデータ、又は当該データに由来するデータを、RFH1260aから外部ユニット2000へと伝送するために、RFH1260aにより自身へと宛てられたデータ伝送要求の調停を行うよう構成されてもよい。
一実施形態によれば、受信待ち行列プロセッサ(RQP)126aは、外部ユニット2000へとCANメッセージを伝送すべき場合には、以下の工程を実施するよう構成され、即ち、バス制御ユニット110aのメモリ118a(図2)から局所的なバッファメモリ1262aへとCANメッセージをロードし、即ち好適にはCANメッセージ全体(ヘッダデータ(「ヘッダ」)及びユーザデータ(「ペイロード」))をロードする工程と、好適に、局所的な入力コーディネータ1264aを制御し、外部ユニット2000への局所的な入力コーディネータ1264aのデータ接続1269bを利用して、局所的なバッファメモリ1262aから外部ユニット2000へのCANメッセージのデータ伝送を促す工程と、を実施するよう構成される。
一実施形態によれば、バス制御ユニット110aのメモリ118aは、外部メモリとして実現されてもよい(図2のブロック118a参照)。特に、メモリ118aは、デュアルポートメモリとして、有利に、例えば32ビット又は64ビットのデータバス幅を有するデュアルポートRAM(random access memory)として構成されてもよい。
図3dは、図2に係るバスインタフェースユニット100aの更なる別の観点を示している。ここでは、送信待ち行列プロセッサ128a(略称「TQP」128a)が示されている。送信待ち行列プロセッサ128aは、出力バッファコーディネータ(略称「TQH」)1280aを有する。さらに、TQP128aは、一実施形態によれば、局所的な出力コーディネータ1282aを有する。TQH1280aは、一実施形態によれば、バス制御ユニット110aへの直接的なデータ接続1284を有し、このデータ接続1284によって、TQH1280aは、バス制御ユニット110aの制御データ及び/又は設定データの制御又は変更、又は、バス制御ユニット110aの制御レジスタ及び/又は設定レジスタの制御又は変更が可能になる。これにより、TQH1280aは、例えば、バス制御ユニット110aの送信待ち行列も管理し、又は、バス制御ユニット110aによる送信待ち行列の加工に影響を与えることが可能である。バス制御ユニット110aの「自受信」機能も、データ接続線1284があるために、TQH1280aによって制御されうる。TQH1280aを設けることによって、幾つかの適用ケースでは、バス制御ユニット110aに組み込まれた送信待ち行列プロセッサを使用しなくてもよく、むしろ、制御はTQH1280a自身によって行われうる。
TQP128aの局所的な出力コーディネータ1282aは、データ接続1286を介して、バス制御ユニット110aのメモリ118aと接続可能であり、従って、局所的な出力コーディネータ1282aは、バス制御ユニット110aによりCANメッセージの形態でCANバス10aへと送信されるデータを、上記データ接続1286を介してメモリ118aに書き込むことが可能である。バス制御ユニット110aは、それ自体は公知のやり方で、このようなデータをメモリ118aから取り出し、CANバス10a上で送信することが可能である。
TQP128aの局所的な出力コーディネータ1282aは、さらに、データ接続1288を介して外部ユニット2000と接続可能であり、このデータ接続1288を介して、局所的な出力コーディネータ1282aは、例えば一定の長さのデータセグメントの形態で、バス制御ユニット110aを介してCANメッセージの形態でCANバス10aと送信すべきデータを、外部ユニット2000から受信することが可能である。
好適な実施形態において、送信待ち行列プロセッサ(TQP)128aは、外部ユニット2000からデータ接続線1288を介して獲得されたデータを、好適に実時間で、例えばヘッダデータの適合によってCANメッセージへと変換し、このように生成されたCANメッセージを、特にデータ接続1286を介してメモリ118aに書き込むよう構成される。これに関して、データ接続1286は好適に以下の特徴を有し、即ち、クロックサイクル(clock cycle)ごとに64ビットのデータスループット、及び/又は、メモリ118aへのメモリアクセスの際の可能な限り高い優先度、及び/又は、1クロックサイクル内でのメモリアクセスのための調停という特徴を有する。
更なる別の実施形態において、TQP128aは、CANバス10aを介した送信のために行列待ちしているCANメッセージを、全ての必要な処理工程(例えば、バス制御ユニット110aによる送信、「自受信」の終了、受信待ち行列プロセッサ(RQP)126aによる肯定応答)が終わるまで、(例えば上書きを防止するために)メモリ118a内でブロックするよう構成されてもよい。
バスインタフェースユニット100aの更なる別の実施形態において、MCANマルチプレクサ112a(図2)が設けられてもよく、このMCANマルチプレクサ112aを介して、ホストサービスとも呼ばれる第1の機能ブロック122aが、そのデータ線1226を利用して、バス制御ユニット110aと、特にそのAEIインタフェースと接続可能である。
バスインタフェースユニット100aの更なる別の実施形態において、第1の調停ユニット114aが設けられてもよく、この第1の調停ユニット114aは、AEIMインタフェースを介してバス制御ユニット110aと接続可能であり、さらにメモリ118aと接続されている。従ってバス制御ユニット110aは、第1の調停ユニット114aを介して外部メモリ118aにアクセスすることが可能である。さらに、詳細には示されない更なる別のデータ接続が、構成要素112a、114a間に設けられてもよい。
バスインタフェースユニット100aの更なる別の実施形態において、構成要素126a、128aによる(そのデータ接続1266、1286を介した)メモリ118aへのアクセスを制御する第2の調停ユニット116aが設けられてもよい。その際に、第2の調停ユニット116aは、例えば、好適にデュアルポートRAMとして実現されたメモリ118aの第2の接続部(ポート)に接続されるが、第1の調停ユニット114aは、メモリ118aの第1のポートに接続される。このようにして、以下の構成要素群、即ち、第1群(110a、122a)、第2群(126a、128a)のメンバによるメモリ118aへの同時アクセスが行われる。
バスインタフェースユニット100aの更なる別の実施形態において、構成要素124a、126aによる(そのデータ接続1248、1269aを介した)外部ユニット2000へのデータ経路117a’に対するアクセスを制御する第3の調停ユニット117aが設けられてもよい。
バス制御ユニット100aの更なる別の実施形態によれば、外部ユニット2000へのデータ経路111’に対する、データ接続線1224、1269aを介したデータアクセスを制御するマルチプレクサユニット111が設けられてもよい。例えば、FPGA F1が製造業者アルテラ社のモデルである場合には、アバロンタイプのマルチプレクサユニット111が設けられる。
更なる別の実施形態において、データ接続1248、1269b、117a’、1288はそれぞれ64ビットのデータ幅を有し、従って、クロックサイクルごとに、同時に8バイトのデータを送信することが可能である。追加的に、1つ以上の制御線が存在してもよい。
図2に係るバスインタフェースユニット100aは、以下のような特別な利点を有する。構成要素122a、124aを設けることによって、バス制御ユニット110aの駆動状態情報、イベント情報、及び、ステータス情報は、例えば当該情報が上述の通り、データ接続1246を介して外部ユニット2000へと伝送されることで、効率良く、特にブロックされることなく外部ユニット2000へと伝送されうる。このような伝送は、有利に、外部ユニット2000への連続的なデータストリームで行われ、その際特に、上記データの受信について外部ユニット2000のどの肯定応答信号も検査されない。外部ユニット2000及び/又は他の外部の制御部等(図示せず)は、有利に、ホストサービス122aを介してバス制御ユニット110aにアクセスすることが可能であり、従って例えば、従来のマイクロコントローラ内で実現されるような、ソフトウェアで制御されたアクセスが行われなくなる。むしろ、好適にハードウェアで又はFPGA F1の形態により実現されたバスインタフェースユニット100aは、迅速かつ効率良くバス制御ユニット110aにアクセスすることが可能である。有利に、図2以降の本発明に係る構成によってさらに、バス制御ユニット110aへの設定アクセスと、バス制御ユニット110aへのデータアクセスと、の間の調停が可能になる。例えば、バス制御ユニット110aの設定データは、上記のBondOut接続によって、バス制御ユニット110a内で直接変更されうるが、このこととは完全に無関係に、データアクセス(CANメッセ―ジ又はCANメッセ―ジの構成要素(ヘッダ、ペイロード)の読出し/書込み)が、構成要素126a、128aを介して行われうる。さらに、バス制御ユニット110aの状態情報又はイベント又はそれ以外のバス制御ユニット110aの駆動状態を特徴付けるデータを外部ユニット2000に供給するために、割り込み又はポーリングの仕組みが必要ではない。むしろ、バスインタフェースユニット100a自体がこのような情報の存在を検出することが可能であり(例えば、バス制御ユニット110aの割り込み要求は、ユニット126aに直接案内される)、外部ユニット2000への対応するデータ転送を開始することが可能である。さらに、公知の「M_CAN IPモジュール」の機能(及び、大きさ/必要なメモリ又はゲート等価(gate equivalent)等)を、当該機能に匹敵する機能又は本発明に基づき改良された機能が本発明に係るバス制御ユニット100aの残りの構成要素によってカバーされる限り、縮小することが構想されうる。
図4は、第2の実施形態に係るバスインタフェースユニット100bを概略的に示している。バスインタフェース100bは、FlexRayバスとして構成されたバスシステム10bに接続され、バス制御ユニット110bを介してFlexRayバス10bから受信されたデータ及び/又は当該データに由来するデータを、外部ユニット2000へと出力し、及び/又は、外部ユニット2000から獲得されたデータ及び/又は当該データに由来するデータを、バス制御ユニット110bを介してFlexRayバス10bへと出力するよう構成される。バスインタフェースユニット100bと外部ユニット2000との間のデータ交換は、図4では、複数の矢印1227b又はブロック矢印111’、117b’、1281b、1281eによって示され、以下でより詳細に解説される。
バスインタフェースユニット100bのバス制御ユニット110bは、ここでは、先に既に記載したロバートボッシュ社の「E−Ray IPモジュール」であって、FlexRayバスシステム10b上でデータ通信を実施するよう構成された上記「E−Ray IPモジュール」に基づいて実現されている。代替的に、他のFlexRayコントローラ110bが利用されてもよい。E−Ray IPモジュールの機能、特にバスインタフェースユニット100b全体の機能が、特に好適に、FPGA(field programmable gate array、プログラム可能な論理モジュール)F2の一部という形態により実現され、その際に、FPGA F2は、ここでは、少なくとも部分的に外部ユニット2000の機能も実現する。このことは、図4では、外部ユニット100b、2000を囲む符号F2が付いた点線によって示される。バスインタフェースユニット100bと外部ユニット2000とを同一のFPGA F2に組み込むことによって、ユニット100b、2000間の特に効率の良いデータ伝送の可能性が生まれる。というのは、例えば、FPGA内部のバスシステム又はデータ伝送システムにアクセス出来るからである。製造業者アルテラ(Altera)社のFPGAの場合には、例えば、アルテラFPGA F2のアバロン(Avalon)インタフェースにアクセスすることが可能であり、このアバロンインタフェースによって、同一のFPGA F2内に配置された複数の構成要素又はユニットの効率の良いデータ接続が可能となる。特に好適に、FPGA F2の場合には、ユニット100b、2000の構成要素間のデータ接続を確立するために、例えば、「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースが利用可能である。
図4に示された構成では、本発明に係る制御ユニット120b(図1の符号120も参照)の機能は、複数の機能ブロックに分散され、即ち、基本的には機能ブロック122b、124b、126b、128bに分散されるが、このこといついては以下で詳細に解説する。
有利な実施形態において、機能ブロック122bが設けられ、この機能ブロック122bは、図2のCANバスインタフェースユニット100aの機能ブロック122aと同様に、「ホストサービス」とも呼ばれ、図4に係るFlexRayバスインタフェースユニット100bの駆動を制御するよう構成される。特に、機能ブロック122bは、外部ユニット2000から制御データ及び/又は設定データを受信するよう構成可能であり、これにより、本発明に係る制御ユニット120bは、特に、外部ユニット2000の更なる駆動に依存せずに又は当該駆動とは無関係に、バス制御ユニット110bに直接的に制御データ及び/又は設定データを供給できるようになる。このようにして、制御データ及び/又は設定データは、例えば、当該制御データ及び/設定データの転送がFelxRayバス10bを介するデータ通信に特にさほど悪影響を与えない駆動状態において、バス制御ユニット110bに供給されうる。
上記の制御データは、一実施形態によれば、例えば、バス制御ユニット110bの始動又は起動/停止を開始し及び/又はそれ以外のバス制御ユニット110bの駆動状態間の変更を開始する制御命令を含んでもよい。
図5aは、図4のバスインタフェースユニット100bの一観点を概略的に示している。ここでは、「ホストサービス」とも呼ばれる第1の機能ブロック122bが示されている。
有利な実施形態において、ホストサービス機能ブロック122b内には、例えば状態オートマトン1220b(有限オートマトン、(FSM:finite state machine、有限状態機械))が実現されてもよく、この状態オートマトン1220bは、バスインタフェースユニット100bの様々な駆動状態を表し、それ自体は公知のやり方で駆動状態の遷移を制御し又は、上記の制御データ及び/又は設定データを制御しながら上記駆動状態を遷移させる。例えば、状態オートマトン1220bは、先に既に記載した状態オートマトン1220aと同じように3つの状態(「デフォルト」、「レディ」、「ランニング」)を有する。
例えば、制御ユニット120bは、一実施形態によれば、上記の「E−Ray IPモジュール」に基づきFlexRayバス制御ユニット110bが構成される際には、例えば、外部ユニット2000から獲得した制御データ及び/又は設定データを、FlexRayバス制御ユニット110b又はレジスタに書き込むために、E−Ray IPモジュールのメモリレジスタ又は設定レジスタにアクセスするよう構成されうる。
更なる別の有利な実施形態において、図5aの機能ブロック122b内には、いわゆるホストサービスハンドラ1222bが設けられてよく、このホストサービスハンドラ1222bは、以下の機能のうちの1つ以上を提供するよう構成され、即ち、外部ユニット2000へのデータ接続1224b、FlexRayバス制御ユニット110bへのデータ接続1226b、割り込みコントローラ1225b、特に、ビット伝送層(ISO/OSI基本参照モデルの第1層(物理層))に関する状態情報を、外部ユニット2000と交換するためのデータ接続1227b、FlexRayバス制御ユニット110bの状態情報を交換し特に受信するためのデータ接続1227c、のうちの1つ以上を提供するよう構成される。
有利な実施形態において、外部ユニット2000へのデータ接続1224bは、例えば、1つ以上のFPGA内部のデータ接続を含んでもよく、例えば、アルテラFPGA F2(図4)の場合には、1つ以上の所謂アバロンインタフェース、例えば、「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースを含んでもよい。
有利な実施形態において、FlexRayバス制御ユニット110bへのデータ接続1226bは、E−Ray調停ユニット113への接続線を含んでもよく、その際に、複数の更なる別のデータ接続が、調停ユニット113を介してE−Rayデータ経路113aに結合可能である。好適に、調停ユニット113は、アクセス粒度ではなくタスク粒度に基づいて調停が行われるように機能する。更なる別の実施形態において、このことは、図2の変形例の1つ以上の調停ユニット114a、116a、117aにも該当する。
更なる別の有利な実施形態において、割り込みコントローラ1225bの機能には、外部ユニット2000への割り込み(割り込み要求)信号の出力が含まれてもよい。
更なる別の有利な実施形態において、ホストサービス機能ブロック122bには、いわゆる「インタフェースシーケンサ」の機能が組み込まれてもよく、このインタフェースシーケンサは、特にデータ接続1226bに依存せずに、FlexRayバス制御ユニット110bへの1つ以上の以下のアクセスを実施するよう構成され、即ち、chicmd(apply E−Ray CHI command)、do_unlock(apply E−Ray Unlock Sequence)、do_write(process CONF_WRITE_REG command)、do_read(process CONF_READ_REG command)、do_mbuf(process CONF_MBUF command)、のうちの1つ以上のアクセスを実施するよう構成される。
好適に、機能ブロック122bの駆動も、状態オートマトン1228bによって制御されうる。状態オートマトン1228bは特に、例えば、外部ユニット2000から獲得された制御命令及び/又は設定命令を、例えば機能ブロック1222bを利用して処理するように構成されてもよい。好適に、状態オートマトン1228bはさらに、E−Rayデータ接続113a(図4)への、割り込みの無いアクセスを可能にするために、E−Ray調停ユニット113を制御するよう構成される。
図5bは、図4のバスインタフェースユニット100bの更なる別の観点を概略的に示している。図5bには、状態及びイベントサーバ(略称「SES」)が示され、第2の機能ブロック124bによって表されている。
SES124bがあるために、バスインタフェースユニット100bは、一実施形態によれば、バス制御ユニット110b(図4)の駆動状態を特徴付ける情報をバス制御ユニット110bから受信し、バス制御ユニット110bの駆動状態を特徴付ける情報を、少なくとも部分的に外部ユニット2000へと出力するよう構成され、その際に、バス制御ユニット110bの駆動状態を特徴付ける情報は、特に制御ユニット120bに一時的に格納され、ここでは特にSES124bに一時的に格納される。
これに関して、SES124bは、一実施形態によれば状態及びイベントハンドラ(略称「SEH」)1240bを有し、この状態及びイベントハンドラ1240bは、データ接続1244を介して、バス制御ユニット110bの駆動状態を特徴付ける情報、特にFlexRayバスコントローラ110bの状態情報及びイベント情報を、バスコントローラ110bから受信する。
更なる別の有利な実施形態において、SEH1240bは、バス制御ユニット110bのイベント、及び、状態変更を受信し評価し、特にフィルタに掛けるよう構成されてもよい。当該評価及び/又はフィルタリングに従って、SEH1240bはさらに、例えば、上記評価及び/又はフィルタリングについて又は一般にFlexRayバスコントローラ110bの状態及びイベント情報について外部ユニット2000に報知するために、外部ユニット2000へのデータ伝送を実施し又は促すよう構成されてもよい。外部ユニット2000へのデータ接続は、例えば、データインタフェース1246bを介して実現可能である。有利な実施形態において、外部ユニット2000へのデータインタフェース1246bは、例えば、1つ以上のFPGA内部のデータ接続を含んでもよく、例えば、アルテラFPGA F2(図4)の場合には、1つ以上の所謂アバロンインタフェースを含んでもよく、例えば、「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースを含んでもよい。直接的なデータ接続1246bによって、外部ユニット2000へと送信されるデータは特に効率良く、特に、例えばポーリングの仕組み等のソフトウェアにより制御される過程無しで、外部ユニット2000へと伝送される。むしろ、ユニット100bがハードウェアで又はFPGA F2の機能により実現される際には、好適に純粋にハードウェアに基づく高性能のデータ通信が行われ、当該データ通信の個々の処理過程は特に決定論的でもあり、即ち期間が予測可能である。
更なる別の有利な実施形態において、SES124bは、図5bに機能ブロック1242bで示される所謂SES入力コーディネータ(「イングレスハンドラ」)も有しても良く、このSES入力コーディネータ1242bは、外部ユニット2000への(固有の)データ接続1248bを有する。好適な実施形態において、SES入力コーディネータ1242bは、1つ以上のデータセグメント、特に一定の長さのデータセグメントの形態によりデータを外部ユニット2000と交換するよう構成される。これにより、外部ユニット2000内でのデータセグメントの決定論的な移動時間又は加工時間が可能である。SES入力コーディネータ1242bはさらに、例えば、上記のFlexRayバスコントローラ110bの状態情報及びイベント情報又は当該データに由来するデータを、SEH1240bから外部ユニット2000へと伝送するために、SEH1240bにより自身に宛てられたデータ伝送要求の調停を行うよう構成されてもよい。
特に好適に、SES124bは、一実施形態において、データ接続1246bを介して外部ユニット2000へとデータを伝送してもよく、及び/又は、SES入力コーディネータ1242bのデータ接続1248bを介して外部ユニット2000へとデータを伝送してもよく、その際に、データ接続1248bを介するデータ伝送は、特に一定の長さのデータセグメントの形態により行われる。
図5cは、図4に係るバスインタフェースユニット100bの更なる別の観点を概略的に示している。ここでは、受信待ち行列プロセッサ126b(略称「RQP」126b)が示されている。この受信待ち行列プロセッサ126bは、入力バッファコーディネータ(略称「RFH」)1260bを有する。さらに、RQP126bは、一実施形態によれば局所的な入力コーディネータ1264bを有する。
RFH1260bは、一実施形態によれば、データ接続1266bを有し、このデータ接続1266bは、バス制御ユニット110bによりFlexRayバス10bから受信されたデータ又は当該データに由来するデータを受け取り、及び/又は、FlexRayバス10bを介した送信のためのデータを、バス制御ユニット110bへと伝送するよう構成される。FlexRayバス10bから受信された他の送信者(図示されない他のバス加入者)のデータの他に、バス制御ユニット110bによりFlexRayバス10b上で送信されると共にバス制御ユニット110bにより再び受信されるデータ(「自受信」)が関わっていてもよい。
RFH1260bは、更なる別の実施形態によれば、外部ユニット2000とのデータ交換を可能にするよう構成されたデータ接続1269b’を有する。有利な実施形態において、外部ユニット2000へのデータ接続1269’は、例えば、1つ以上のFPGA内部のデータ接続を含んでもよく、例えば、アルテラFPGA F2(図4)の場合には、1つ以上の所謂アバロンインタフェースを含んでも良く、例えば、「Avalon Memory Mapped Interface(Avalon−MM)」という型のインタフェースを含んでもよい。
さらに、RFH1260bは、バス制御ユニット110bのステータス情報又は状態情報等を受信するためのデータ接続1269b’’を有してもよい。
SES124bが局所的な入力コーディネータ(イングレスハンドラ)1264bを有する実施形態において、この局所的な入力コーディネータ1264bは、外部ユニット2000への(固有の)データ接続1269b’’’を有してもよい。好適な実施形態において、局所的な入力コーディネータ1264bが、1つ以上のデータセグメント、特に一定の長さのデータセグメントの形態によりデータを外部ユニット2000と交換するよう構成されることが構想される。これにより、外部ユニット2000内でのデータセグメントの決定論的な移動時間又は加工時間が可能である。局所的な入力コーディネータ1264bはさらに、例えば、上記の受信されたFlexRayメッセージ若しくはデータ、又は、当該FlexRayメッセージ若しくはデータに由来するデータをRFH1260bから外部ユニット2000へと伝送するために、RFH1260bにより自身に宛てられたデータ伝送要求の調停を行うよう構成されてもよい。
更なる別のデータ接続1269’’’’を介して、入力コーディネータ1264bは、好適にはダイレクトメモリアクセスを利用して、バス制御ユニット110bの出力バッファにアクセスしてもよいことが有利である。
一実施形態において、受信待ち行列プロセッサ(RQP)126bは、FlexRayメッセージが外部ユニット2000へと伝送される場合には、以下の工程を実施するよう構成され、即ち、E−Rayメッセージバッファ(図示せず)からバス制御ユニット110bの出力バッファへとメッセージをロードする工程と、好適に、(32ビットのデータ幅又はバス幅を好適に有する)データ接続1266bを介して、該当するメッセージのヘッダデータを読み出す工程と、外部ユニット2000へのFlexRayメッセージのデータ伝送を促す工程であって、(特にヘッダデータの)データ伝送の間に、該当するメッセージのユーザデータが実時間でDMAアクセスによりバス制御ユニット110bの出力バッファから直接読み出され、データ接続1269b’’’を介して外部ユニット2000へと伝送される、上記データ伝送を促す工程と、を実施するよう構成される。これによりユーザデータを局所的に一時格納することが回避されることが有利である。
図5dは、図4に係るバスインタフェースユニット100bの更なる別の観点を概略的に示している。ここでは、送信待ち行列プロセッサ128b(略称「TQP」128b)が示されている。送信待ち行列プロセッサ128bは、好適にアバロンインタフェースの形態により実現可能な、外部ユニット2000へのデータ接続1281を有する。送信待ち行列プロセッサ128bとバス制御ユニット110bとの間の、場合により調停ユニット113(図4)を介する、データ接続は、符号1281aで表されている。外部ユニット2000から送信待ち行列プロセッサ128bへの(好適に一定の長さのデータセグメントの形態による)データの伝達を可能にする更なる別のデータ接続が、符号1281bで表されている。ステータス情報及び状態情報等は、バス制御ユニット110bによって、更なる別のデータ接続1281cを介して送信待ち行列プロセッサ128bに供給されうる。好適にDMAアクセスを利用した、送信待ち行列プロセッサ128bによるバス制御ユニット110bの入力バッファ(図示せず)へのデータ伝送を可能にする更なる別のデータ接続が、符号1281dで表されている。
以下では、一実施形態に係る送信待ち行列プロセッサ128bの駆動について、図5dのブロック図を参照しながら詳細に記載する。出力プロセッサ1283は、データ接続1281bを介して、好適に一定の長さのデータセグメントの形態による、FlexRayメッセージという形でバス制御ユニット110bがFlexRayバス10bへと出力すべきデータを獲得する。好適に、出力プロセッサ1283が、FlexRayメッセージのヘッダデータを局所的に一時格納する一方で、FlexRayメッセージのユーザデータは、好適にデータ接続1281bを介した入力の際に直接的に、DMAアクセスを利用してデータ接続1281dを介してバス制御ユニット110bの入力バッファ(図示せず)に書き込まれる。少なくとも1つのFlexRayメッセージのためのユーザデータが完全なものとなり次第、出力プロセッサ1283は、バッファメモリプロセッサ1283aに、バス制御ユニット110bの入力バッファからバス制御ユニット110bのメッセージRAMへのデータ転送を行うように促す。対応するデータ通信が、例えば、好適に32ビットのデータ幅を有するデータ接続1281aを介して行われうる。
更なる別の実施形態において、送信待ち行列プロセッサ128bと外部ユニット2000との間の更なる別のデータ接続1281eが設けられてもよい。この更なる別のデータ接続1281eを介して、例えば、構成要素128b、2000間での同期化を達成することが可能である。さらに、例えばアバロンインタフェースを利用して実現可能なデータ接続1281eによって、FlexRayバス10b上で、バス制御ユニット110bによるFlexRayメッセージの送信のために空スロットが利用可能であるか、及び/又は、いつFlexRayバス10b上で、バス制御ユニット110bによるFlexRayメッセージの送信のために空スロットが利用可能であるか、について、送信待ち行列プロセッサ128bが外部ユニット2000に報知する可能性が生まれる。
更なる別の実施形態において、データ接続117b’、1281bはそれぞれ64ビットのデータ幅を有し、従って、クロックサイクルごとに、同時に8バイトのデータを伝送することが可能である。追加的に1つ以上の制御線が存在してもよい。
本発明に係る原則によって、既存のバス制御ユニットを、即ち例えばCANコントローラ及びFlexRayコントローラを、上記の機能の分だけ拡張することが可能となることが有利である。

Claims (15)

  1. バスシステム(10;10a;10b)を介したデータ交換のためのバスインタフェースユニット(100;100a:100b)であって、前記バスインタフェースユニット(100;100a;100b)は、前記バスシステム(10;10a;10b)への接続のために少なくとも1つのバス制御ユニット(110;110a;11b)を有する、前記バスインタフェースユニット(100;100a;100b)において、
    前記バス制御ユニット(110;110a;110b)を介して前記バスシステム(10;10a;10b)から受信されたデータ及び/又は当該データに由来するデータを、外部ユニット(2000)へと出力し、及び/又は、外部ユニット(2000)から獲得されたデータ及び/又は当該データに由来するデータを、前記バス制御ユニット(110;110a;110b)を介して前記バスシステム(10;10a;10b)へと出力するよう構成された制御ユニット(120;120a;120b)を特徴とする、バスインタフェースユニット(100;100a;100b)。
  2. 前記制御ユニット(120)は、1つ以上のデータセグメント(seg)の形態によりデータを前記外部ユニット(2000)と交換するよう構成される、請求項1に記載のバスインタフェースユニット(100)。
  3. 前記制御ユニット(120)は、一定の長さのデータセグメントの形態によりデータを前記外部ユニット(2000)と交換するよう構成される、請求項2に記載のバスインタフェースユニット(100)。
  4. a.前記バスシステム(10)は、CAN(コントローラエリアネットワーク)バスシステムであり、前記バス制御ユニット(110)は、CANバス制御ユニットであり、又は、
    b.前記バスシステム(10)は、FlexRayバスシステムであり、前記バス制御ユニット(110)は、FlexRayバス制御ユニットであり、又は、
    c.前記バスシステム(10)は、LIN(ローカルインタコネクトネットワーク)バスシステムであり、前記バス制御ユニット(110)は、LINバス制御ユニットである、
    請求項1〜3のいずれか1項に記載のバスインタフェースユニット(100)。
  5. 前記制御ユニット(120)は、前記外部ユニット(2000)から制御データ及び/又は設定データを受信するよう構成される、請求項1〜4のいずれか1項に記載のバスインタフェースユニット(100)。
  6. 前記制御ユニット(120)は、前記バス制御ユニット(110)から、当該バス制御ユニット(110)の駆動状態を特徴付ける情報を受信し、前記バス制御ユニット(110)の前記駆動状態を特徴付ける前記情報を、少なくとも部分的に前記外部ユニット(2000)に出力するよう構成され、前記バス制御ユニット(110)の前記駆動状態を特徴付ける前記情報は、前記制御ユニット(120)に一時的に格納される、請求項1〜4のいずれか1項に記載のバスインタフェースユニット(100)。
  7. 前記制御ユニット(120)が、ハードウェアによって実現される、請求項1〜6のいずれか1項に記載のバスインタフェースユニット(100)。
  8. 前記制御ユニット(120)が。特定用途向け集積回路(ASIC)又はプログラム可能な論理回路(FPGA)として実現される、請求項7に記載のバスインタフェースユニット(100)。
  9. 前記バスインタフェースユニット(100)全体が、ハードウェアによって実現される、請求項1〜6のいずれかに記載のバスインタフェースユニット(100)。
  10. 前記バスインタフェースユニット(100)全体が、特定用途向け集積回路(ASIC)又はプログラム可能な論理回路(FPGA)として実現される、請求項9に記載のバスインタフェースユニット(100)。
  11. バスシステム(10;10a;10b)を介したデータ交換のためのバスインタフェースユニット(100;100a:100b)を駆動する方法であって、前記バスインタフェースユニット(100)は、前記バスシステム(10)への接続のために少なくとも1つのバス制御ユニット(110)を有する、前記方法において、
    制御ユニット(120)が設けられ、前記制御ユニット(120)は、前記バス制御ユニット(110)を介して前記バスシステム(10)から受信されたデータ及び/又は当該データに由来するデータを、外部ユニット(2000)へと出力し、及び/又は、前記制御ユニット(120)は、外部ユニット(2000)から獲得されたデータ及び/又は当該データに由来するデータを、前記バス制御ユニット(110)を介して前記バスシステム(10)へと出力することを特徴とする、方法。
  12. 前記制御ユニット(120)は、1つ以上のデータセグメント(seg)の形態によりデータを前記外部ユニット(2000)と交換する、請求項7に記載の方法。
  13. 前記制御ユニット(120)は、一定の長さのデータセグメントの形態によりデータを前記外部ユニット(2000)と交換する、請求項12に記載の方法。
  14. 前記制御ユニット(120)は、前記外部ユニット(2000)から制御データ及び/又は設定データを受信する、請求項11〜13のいずれか1項に記載の方法。
  15. 前記制御ユニット(120)は、前記バス制御ユニット(110)から、当該バス制御ユニット(110)の駆動状態を特徴付ける情報を受信し、前記バス制御ユニット(110)の前記駆動状態を特徴付ける前記情報を、少なくとも部分的に前記外部ユニット(2000)に出力し、前記バス制御ユニット(110)の前記駆動状態を特徴付ける前記情報は、前記制御ユニット(120)に一時的に格納される、請求項11〜14のいずれか1項に記載の方法。
JP2015084389A 2014-04-17 2015-04-16 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法 Pending JP2015208002A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014207422.3 2014-04-17
DE102014207422.3A DE102014207422A1 (de) 2014-04-17 2014-04-17 Busschnittstelleneinheit und Betriebsverfahren hierfür

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019191891A Division JP2020010412A (ja) 2014-04-17 2019-10-21 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法

Publications (1)

Publication Number Publication Date
JP2015208002A true JP2015208002A (ja) 2015-11-19

Family

ID=54249920

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2015084389A Pending JP2015208002A (ja) 2014-04-17 2015-04-16 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法
JP2019191891A Pending JP2020010412A (ja) 2014-04-17 2019-10-21 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法
JP2021069511A Active JP7217770B2 (ja) 2014-04-17 2021-04-16 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2019191891A Pending JP2020010412A (ja) 2014-04-17 2019-10-21 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法
JP2021069511A Active JP7217770B2 (ja) 2014-04-17 2021-04-16 バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法

Country Status (4)

Country Link
US (1) US10127180B2 (ja)
JP (3) JP2015208002A (ja)
CN (1) CN105045739B (ja)
DE (1) DE102014207422A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016203307A1 (de) * 2016-03-01 2017-09-07 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für eine einen Arbeitsspeicher aufweisende Recheneinheit
DE102016221690A1 (de) * 2016-11-04 2018-05-09 Audi Ag Verfahren zum Übertragen von Datenpaketen zwischen einem Ethernet und einem Bussystem in einem Kraftfahrzeug sowie Gatewayvorrichtung und Kraftfahrzeug
CN115599717B (zh) * 2022-11-15 2023-03-10 浪潮电子信息产业股份有限公司 一种数据搬移方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002359625A (ja) * 2001-05-31 2002-12-13 Aisin Seiki Co Ltd コントロールエリアネットワーク
JP2008290666A (ja) * 2007-05-28 2008-12-04 Denso Corp 電子制御装置
JP2013055593A (ja) * 2011-09-06 2013-03-21 Denso Corp 通信装置
US20130138750A1 (en) * 2010-05-27 2013-05-30 Volker Blaschke Method for processing messages

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382788B2 (en) * 2002-12-24 2008-06-03 Applied Micro Circuit Corporation Method and apparatus for implementing a data frame processing model
DE102004038210A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh Verfahren zur Speicherung von Botschaften in einem Botschaftsspeicher und Botschaftsspeicher
DE102004057410B4 (de) * 2004-11-26 2015-11-12 Robert Bosch Gmbh Anordnung mit einem Schnittstellenmodul und Schnittstellenmodul
JP2006352201A (ja) * 2005-06-13 2006-12-28 Fujitsu Ten Ltd 通信変換制御装置
US9207661B2 (en) * 2007-07-20 2015-12-08 GM Global Technology Operations LLC Dual core architecture of a control module of an engine
JP2011250110A (ja) * 2010-05-26 2011-12-08 Denso Corp 電子制御装置
CN201813394U (zh) * 2010-09-26 2011-04-27 广西工学院 基于FlexRay总线的车载网关设备
US9123058B2 (en) * 2011-11-16 2015-09-01 Flextronics Ap, Llc Parking space finder based on parking meter data
JP5598259B2 (ja) * 2010-10-29 2014-10-01 株式会社オートネットワーク技術研究所 処理システム、処理装置及び電源制御方法
EP2521319B1 (en) * 2011-05-02 2015-10-14 Robert Bosch GmbH Controller area network with flexible data-rate
JP2013175906A (ja) * 2012-02-24 2013-09-05 Toyota Motor Corp 通信装置及び通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002359625A (ja) * 2001-05-31 2002-12-13 Aisin Seiki Co Ltd コントロールエリアネットワーク
JP2008290666A (ja) * 2007-05-28 2008-12-04 Denso Corp 電子制御装置
US20130138750A1 (en) * 2010-05-27 2013-05-30 Volker Blaschke Method for processing messages
JP2013055593A (ja) * 2011-09-06 2013-03-21 Denso Corp 通信装置

Also Published As

Publication number Publication date
JP7217770B2 (ja) 2023-02-03
CN105045739A (zh) 2015-11-11
US10127180B2 (en) 2018-11-13
CN105045739B (zh) 2020-04-14
JP2020010412A (ja) 2020-01-16
DE102014207422A1 (de) 2015-10-22
US20150301976A1 (en) 2015-10-22
JP2021120872A (ja) 2021-08-19

Similar Documents

Publication Publication Date Title
JP7217770B2 (ja) バスインタフェースユニット、及び、バスインタフェースユニットの駆動方法
US10191795B2 (en) Method and system for timeout monitoring
US8285903B2 (en) Requests and data handling in a bus architecture
US8886861B2 (en) Memory interleaving device to re-order messages from slave IPS and a method of using a reorder buffer to re-order messages from slave IPS
JP5490336B2 (ja) Pciエクスプレス・マルチプル・ルートi/o仮想化環境における低待ち時間の優先順位付け
KR101567371B1 (ko) 프로세서 내로의 지적 재산(ip) 블록들의 통합
US8713234B2 (en) Supporting multiple channels of a single interface
HU217405B (hu) Számítógéprendszer
US8832664B2 (en) Method and apparatus for interconnect tracing and monitoring in a system on chip
US10372642B2 (en) System, apparatus and method for performing distributed arbitration
EP2778930B1 (en) Method and apparatus to trigger and trace on-chip system fabric transactions within the primary scalable fabric
JP2009512259A (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
US8954632B2 (en) System method for regulating an input/output interface by sampling during a time duration associated with I/O states
JP2009059122A (ja) データ処理システム
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
EP2294767A2 (en) Electronic device and method for controlling an electronic device
ES2349340T3 (es) Módulos de comunicaciones.
GB2488681A (en) A method and bus architecture for sending data in a bus architecture from a slave device to master pathways via a bus
GB2488680A (en) A method/architecture for processing requests in a bus architecture that includes at least two master devices an at least one slave device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190212

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190214

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190222

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190318

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190621