JP5977437B2 - バスシステムの加入者局、及び、バスシステムの加入者間でメッセージを伝送する方法 - Google Patents

バスシステムの加入者局、及び、バスシステムの加入者間でメッセージを伝送する方法 Download PDF

Info

Publication number
JP5977437B2
JP5977437B2 JP2015504907A JP2015504907A JP5977437B2 JP 5977437 B2 JP5977437 B2 JP 5977437B2 JP 2015504907 A JP2015504907 A JP 2015504907A JP 2015504907 A JP2015504907 A JP 2015504907A JP 5977437 B2 JP5977437 B2 JP 5977437B2
Authority
JP
Japan
Prior art keywords
error
controller
memory access
message
bus system
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
JP2015504907A
Other languages
English (en)
Other versions
JP2015517267A (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 JP2015517267A publication Critical patent/JP2015517267A/ja
Application granted granted Critical
Publication of JP5977437B2 publication Critical patent/JP5977437B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus

Description

本発明は、特にメッセージアクセスエラーを解消することが可能な、バスシステムの加入者局及びバスシステムの加入者間でメッセージを伝送する方法に関する。
ISO11898によるCAN仕様書に記載されるように、CANプロトコルを利用してメッセージを伝送するバスシステムが公知である。
独国特許出願公開第10000305号明細書には、CAN(Controller Area Network=制御装置ネットワーク)、及び、TTCAN(Time Triggered CAN=時間駆動型CAN)と呼ばれるCANの拡張版が記載されている。
CAN及びTTCANは、メッセージに基づくプロトコルによって動作し、例えば車両内で使用される。CAN又はTTCANに基づくバスシステムによって、当該バスシステムと接続された全ての加入者局、例えばマイクロコントローラは互いに通信することが可能になる。
現在のCANプロトコル(ISO11898−1)では、データフィールドの大きさは8バイトに制限されている。従って、ハードウェアCANモジュールとも呼ばれるCANの加入者局のメッセージメモリ(Mailbox、メールボックス)も8データバイト(Data−Byte)に制限されている。例えば、2011年5月2日にインターネットサイトhttp://www.semiconductors.bosch.de/で公開された文書「可変的なデータレートを有するCAN(CAN with Flexible Data−Rate)、ホワイトペーパー(White Paper)、バージョン1.0」では、ISO11898−1に対して修正されたデータ伝送プロトコルが紹介されているが、このデータ伝送プロトコルは特に、データフィールドの拡張と、CANメッセージの一部について、調停が行われた後のビット長の短縮と、を可能にする。
メッセージメモリは、RAM(Random Access Memory=ランダムアクセスが行われるメモリ)として、又は、レジスタセルとして実現可能である。その際、外部のRAM内にメッセージメモリを実現することが可能である。この場合には加入者局内に一時メモリが設けられ、この一時メモリに、CANメッセージ一式がCANバスを介して送信される前に格納される。一時メモリに格納されるCANメッセージは、ワードごとにRAMからロードされる。メッセージの伝送は、一時メモリに完全にロードされた場合に初めて開始される。例えば、RAMがデータエラーを報知したため(パリティエラー、Parity Error)又はアクセスの衝突によりRAMの読出しが遅延するために、伝送の進行中に加入者局のCANプトロコルコントローラが、有効なデータバイトを自由に使用できないポイントに達することが、この一時メモリによって防止される。
しかしながら、メモリアクセスエラーが生じうることがCANプロトコルでは考慮されていないことは問題である。進行中の伝送の中止は、CANプロトコルの障害であろうし、データが無効であることについて他にシグナリングも設けられていない。
この問題の解決策として、現在では、CANシステム内でのデータ経路を防護するために、例えば内部CRCチェックサム又は他の検査データがデータフィールドで一緒に送信される。しかしながら、このことによって、ユーザデータレートが下がり、アプリケーションソフトウェアに負荷が掛かる。
従って、本発明の課題は、CANバスシステム内のメモリアクセスエラーを考慮し、特にユーザデータレートをあまり下げずにアプリケーションソフトウェアへの負荷も軽く上記メモリアクセスエラーを解決することが可能な、バスシステムの加入者局、及び、バスシステムの加入者局間でメッセージを伝送する方法を提供することである。
本課題は、請求項1の特徴を備えたバスシステムの加入者局によって解決される。この加入者局は、メッセージの送信すべきデータを、一時メモリへの一時格納無しでRAMから直接読み出すCANコントローラと、CANコントローラのメモリアクセスエラーを検出し、検出されたメモリアクセスエラーを処理するメモリアクセスエラー検出/処理装置と、を備える。
記載される加入者局によって、(規格)CANプロトコルコントローラ又はCAN−FDプロトコルコントローラを用いて、プロトコルに応じてメモリアクセスエラーに対応することが可能であり、その際、CANプロトコル又はCAN−FDプロトコルが変更される。記載される加入者局によって、無効なデータを含むメッセージの受信者が当該無効なデータを誤って有効であると見なすことが防止される。
これに加えて、一時メモリを削減することが可能である。なぜならば、メッセージは、伝送が進行する間に、一時メモリが利用されることなくRAMから直接的に読み出されるからである。一時メモリは、従来ではCAN−FDコントローラ内で、8データバイトの代わりに64データバイトまで保持する必要があるため、一時メモリを削減することによって、完全に拡充されたCAN−FDコントローラの、必要な空間が著しく削減されうる。そうでなければ、CAN−FDコントローラが必要とする空間は、規格CANコントローラよりも基本的に大きいであろう。
加入者局の更なる別の有利な構成は、従属請求項で示される。
好適に、メモリアクセスエラー検出/処理装置は、エラーコードを設定することで、検出されたメモリアクセスエラーを処理するよう構成される。その際に、CANコントローラはさらに、メモリアクセスエラー検出/処理装置がエラーコードを設定した場合には所定の措置を実行することが可能である。
メモリアクセスエラーは、RAM内のパリティエラー又はECCエラー又は時間的エラー又はデータ整合性エラーであるということが考えられる。その際に、時間的エラーとは、CANコントローラにより読み出されたRAMメモリワードが、当該メモリワードの第1ビットがバスシステムのCANバス上で送信される前に適時に提供されないエラーであり、データ整合性エラーとは、メッセージの内容が、当該メッセージの送信が進行する間にソフトウェアにより変更されるエラーでありうる。
所定の措置とは、CANコントローラがバス監視モードに遷移することであり、このためにCANコントローラがバス監視モードへと遷移するよう構成される場合には有利である。これによりエラーが解消され、バスシステム内のユーザデータレートが損なわれない。
代替的に、所定の措置とは、CANコントローラがメッセージの送信の際に、エラー部又は更に代替的に過負荷部により当該メッセージを中断することであってもよく、このためにCANコントローラは、エラー部又は更に代替的に過負荷部によりメッセージのデータ部を中断するよう構成される。
更なる別の代替例によれば、所定の措置とは、CANコントローラがメッセージの送信の際に無効なチェックサムを送信することであってもよく、このために、メッセージのデータ部を変更せずに送信するがメッセージ内で無効なチェックサムを送信するよう構成される。
記載される加入者局は、加入者局間でメッセージを伝送するバスシステムの一部であってもよく、その際に、少なくとも1つの上述の加入者が存在する。この場合、バスシステムは、CANプロトコル又はCAN−FDプロトコルを利用してデータを伝送するよう構成されてもよい。
さらに、本課題は、請求項1の特徴を備えたバスシステムの加入者局間でメッセージを伝送する方法によって解決される。本方法は、CANコントローラによって、メッセージの送信すべきデータを、一時メモリへの一時格納無しでRAMから直接読み出す工程と、メモリアクセスエラー検出/処理装置によって、CANコントローラのメモリアクセスエラーを検出する工程と、メモリアクセスエラー検出/処理装置によって、検出されたメモリアクセスエラーを処理する工程と、を有する。
本発明の更なる別の可能な実現は、以前に又は以下で実施例に関して記載される特徴又は実施形態の、明示的には挙げられない組み合わせも含む。その際に、当業者は、本発明の各基本形態の改善策又は補足として個別の観点を追加するであろう。
以下では、本発明が、添付の図面を参照して、実施例を用いてより詳細に解説される。
第1の実施例に係るバスシステムの簡略化されたブロック図を示す。 第1の実施例に係るバスシステム内で送信されるメッセージの構成を解説するための簡素なブロック図を示す。 第1の実施例に係る方法のフロー図を示す。 第1の実施例の変形例に係る方法のフロー図を示す。 第2の実施例に係る方法のフロー図を示す。 エラーの場合に第2の実施例に係るバスシステム内で送信されるメッセージの構成を解説するための簡略化されたブロック図を示す。 エラーの場合に第2の実施例の変形例に係るバスシステム内で送信されるメッセージの構成を解説するための簡略化されたブロック図を示す。 第3の実施例に係る方法のフロー図を示す。 エラーの場合に第3の実施例に係るバスシステム内で送信されるメッセージの構成を解説するための簡略化されたブロック図を示す。
図では、同一又は機能的に同一の構成要素には、特に断りがない限り同一の符号が付される。
図1は、バスシステム1を示しており、このバスシステム1は、例えば車両内又は病院内等で利用可能である。このバスシステム1は、第1の加入者局10と、2個の第2の加入者局20と、バスシステム30と、を有し、バスシステム30には、第1の加入者局及び第2の加入者局が接続されており、このバスシステム30を介して、第1の加入者局10及び第2の加入者局はそれぞれメッセージ40を送信又は受信することが可能である。
図1では、第1の加入者局10は、RAM12(RAM=Random Access Memory=ランダムアクセスが行われるメモリ)を備えたマイクロコントローラ11と、以下でCANコントローラ13と呼ばれ一時メモリ14を有するCAN制御装置13と、以下でCANトランシーバ16と呼ばれるCAN送信/受信装置16と、を有する。マイクロコントローラ11は、接続線17を介してCANコントローラ13と接続される。CANコントローラ13は、接続線18を介してCANトランシーバ16と接続される。接続線17、18を介して、マイクロコントローラ11と、CANコントローラ13と、CANトランシーバ16との間でデータを交換することが可能である。データは、バスシステム1又はバス30を介して伝送されるメッセージ40及び/又は設定情報、制御情報、及び状態情報でありうる。
さらに、図1では、第2の加入者局20は、RAM22(RAM=Random Access Memory=ランダムアクセスが行われるメモリ)を備えたマイクロコントローラ21と、以下でCANコントローラ23と呼ばれメモリアクセスエラー検出/処理装置25を備えるCAN制御装置23と、以下でCANトランシーバ26と呼ばれるCAN送信/受信装置26と、を有する。マイクロコントローラ21は、接続線27を介してCANコントローラ23と接続される。CANコントローラ23は、接続線28を介してCANトランシーバ26と接続される。接続線27、28を介して、マイクロコントローラ21と、CANコントローラ23と、CANトランシーバ26と、の間でデータを交換することが可能である。第1の加入者局10の場合のように、データは、バスシステム1又はバス30を介して伝送されるメッセージ40及び/又は設定情報、制御情報、及び状態情報でありうる。
図1から分かるように、第1の加入者局10のみが一時メモリ14を有する。さらに、第2の加入者局20のみがメモリアクセスエラー検出/処理装置25を有する。従って、第1の加入者局10は、規格CANプロトコルに従って動作する加入者局でありうる。これに対して、第2の加入者局20は、以下に記載するように、拡張されたCANプロトコルに従って動作する加入者局でありうる。規格CANプロトコルに準拠した少なくとも1つの加入者局10、及び、拡張されたCANプロトコルに準拠した少なくとも1つの加入者局20を備えるバスシステムを示す図1の図によって概観が示される。当然のことながら、本発明は、拡張されたCANプロトコルに準拠した加入者局20のみ備え又は規格CANプロトコルに準拠した加入者局10を有さないバスシステム内でも適用可能である。
図2は、本実施例でバス30を介して加入者局10、20により送信されるメッセージ40の構造を極めて簡略化して示している。メッセージ40は、CANプロトコルに準拠した構成及び内容を有する。メッセージ40は、メッセージヘッダ41と、データ部42と、チェックサム部43と、メッセージ末端部44と、を有する。メッセージヘッダ41は、CANプロトコルに準拠したメッセージ40の場合、CANプロトコルでデータフィールド(Data Field)とも呼ばれるデータ部42の前に配置される全てのデータを含む。データ部42は、例えば各加入者局10、20のセンサデータ、状態データ等のような、バス30内で他方の加入者局10、20がその機能のために必要とするデータを含む。チェックサム部43は、CANプロトコルではCRCチェックサムとも呼ばれるメッセージ40のCRC(Cyclic Redundancy Check、巡回冗長検査)検査合計を含む。メッセージ末端部44は、CANプロトコルに準拠したメッセージ40でチェックサム部43の後に配置される全てのデータを含む。
図3は、各加入者局20内でCANコントローラ23によって、厳密に言えばそのメモリアクセスエラー検出/処理装置25によって実行される方法を示している。本方法の開始後に、工程S1では、送信されるメッセージ40のデータ、即ちデータ部42が、伝送前に一時メモリ内で集められることなく、メッセージ40の伝送の進行中に、メッセージヘッダ41からメッセージ終端部44までRAM22から直接的に読み出される。1個のRAMメモリワードは、当該メモリワードの第1ビットがCANフレームとも呼ばれるメッセージ40の一部として送信される前に、遅くとも1CANビット時間で、RAM22から成功裏に読み出される必要がある。その後、フローは工程S2に進む。
工程S2では、CANコントローラ23によって、厳密に言えばそのメモリアクセスエラー検出/処理装置25によって、RAM22内でデータエラー、即ちパリティエラーが検出されたかどうかが検査される。工程S2での答えが「はい」の場合は、フローは工程S3に進む。
工程S3では、CANコントローラ23が、厳密にはメモリアクセスエラー検出/処理装置25が、このために設けられる誤りタイプを、パリティエラーに対応する誤りタイプに設定する。この誤りタイプは、エラータイプとも呼ばれる。その後に、フローは工程S4に進む。
工程S4では、CANコントローラ23、厳密に言えばメモリアクセルエラー検出/処理装置25が、このパリティエラーに対してどのように対応すべきかを定め、及び/又は、設けられた所定の措置を開始する。この所定の措置とは、工程S4では、メモリアクセスエラー検出/処理装置25がCANコントローラ23にCANバス30上でのドミナントビット(dominante bits)の送信を止めさせるということである。換言すれば、CANコントローラ23は、バス監視モード(Bus Monitoring Mode)と呼ばれるバス監視動作モードへと遷移する。バス監視動作モードでは、CANコントローラ23は、伝送を開始することが出来ずドミナントビットを送信することが出来ないが、全メッセージ40を受信することが出来る。この後で、本方法は終了する。
CANコントローラ23は、例えば、マイクロコントローラ上のソフトウェアによるエラー処理の後で、当該CANコントローラ23が再び伝送を開始しドミナントビットを送信することが可能なアクティブな動作モードへと再び戻して切り替えられる。
工程S2での答えが「いいえ」の場合には、フローは工程S5に進む。
工程S5では、CANコントローラ23によって、厳密に言えばそのメモリアクセスエラー検出/処理装置25によって、CANコントローラ23により読み出されたRAMメモリワードが、当該メモリワードの第1ビットがCANバス30上で送信される前に適時に提供されるかどうか検査される。例えば、例えばCANコントローラ23の複数のモジュールが同時にRAM22にアクセスしたい場合には、適時に提供されないということが起こりうる。即ち、時間的エラーが存在しないのかが検査される。工程S5での答えが「いいえ」の場合には、フローは工程S6に進む。
工程S6では、CANコントローラ23が、厳密に言えばメモリアクセスエラー検出/処理装置25が、このために設けられる誤りタイプを、時間的エラーに対応する誤りタイプに設定する。この後で、フローは工程S7に進む。
工程S7では、CANコントローラ23が、厳密に言えばメモリアクセスエラー検出/処理装置25が、時間的エラーに対してどのように対応するのかを定め、及び/又は、設けられた所定の措置を開始する。この所定の措置は、本工程S7では、工程S4の場合と同じである。即ち、メモリアクセスエラー検出/処理装置25が、CANコントローラ23にCANバス30上でのドミナントビットの送信を止めさせるということである。換言すれば、CANコントローラ23は、バス監視動作モードへと遷移する。この後で、本方法は終了する。
工程S5での答えが「はい」の場合には、フローは工程S8に進む。
工程S8では、CANコントローラ23によって、厳密に言えばそのメモリアクセスエラー検出/処理装置25によって、メッセージ40の内容が伝送の進行中に加入者局20のソフトウェアによって変更されるかどうかが検査される。この変更によってメッセージ40の内部のデータ整合性が破壊され、メッセージ40のデータ部42内で古いデータバイトと新しいデータバイトとが混ざるため、このような変更は問題である。従って、データ整合性エラーが存在するかどうかが検査される。工程S8での応答が「はい」の場合には、フローは工程S9に進む。
工程S9では、CANコントローラ23が、厳密にはメモリアクセス検出/処理装置25が、このために設けられる誤りタイプを、データ整合性エラーに対応する誤りタイプに設定する。この後で、フローは工程S10に進む。
工程10では、CANコントローラ23は、厳密に言えばメモリアクセスエラー検出/処理装置25は、このデータエラーに対してどのように対応すべきかを定め、及び/又は、設けられた所定の措置を開始する。この所定の措置は、工程S10では、工程S4及びS7の措置と同じである。即ち、メモリアクセスエラー検出/処理装置25は、CANコントローラ23にCANバス30上でのドミナントビットの送信を止めさせる。換言すれば、CANコントローラ23は、バス監視動作モードへと遷移する。この後で、本方法は終了する。
一方、工程S8での応答が「いいえ」の場合には、フローは工程S11に進む。
工程S11では、CANコントローラ23は変更されることなく引き続き送信する。この後で、フローはS1に戻る。
当然のことながら、検査工程S2、S5、及びS8の順番は、代替的な実施形態において、検査(例えばS2)と、誤りタイプ決定(例えばS3)及び措置(例えばS4)と、の対応付けが保たれる限りにおいて、任意に置き換えられてもよい。
従って、本実施例では、CANプロトコルは以下のように変更されている。一方では、例えば「データエラー」(Data Error)と呼ばれる上記のメモリアクセスエラーを表す新しい誤りタイプが定義される。他方では、この「データエラー」に対してどのように対応するべきかが規定される。このようにして、CANプロトコルコントローラ23が進行中の伝送を中止することが可能である。受信者、即ち他の加入者局20は、データが例えば内部CRCによってもデータフィールド内で防護されていない場合にも、誤りがあるメッセージ40を検出することが可能である。
図4は、第1の実施例に係る方法の変形例を示しており、ここでは、第1の実施例に係る方法の工程S2、S3、及びS4の代わりに、変更された工程S21、S31、S41が実行される。
変更された工程S2である工程S21では、訂正可能なECCエラー(ECC=Error Correcting Code=誤り訂正のための符号化)が検出されたか否かが検査される。この誤り訂正のための符号化では、例えば、1ビットエラーを訂正し、2ビットエラーを検出することが可能である。ここでの答えが「はい」の場合には、フローは、変更された工程S3である工程S31に進む。
工程S31では、CANコントローラ23は、厳密に言えばメモリアクセスエラー検出/処理装置25は、このために設けられた誤りタイプを、ECCエラーに対応する誤りタイプに設定する。この後で、フローは、変更された工程S4である工程S41に進む。
工程S41では、CANコントローラ23が、厳密に言えばメモリアクセスエラー検出/処理装置25が、ECCエラーに対してどのように対応するべきかを定め、及び/又は、設けられた所定の措置を開始する。所定の措置は、工程S41では、工程S4の場合と同じ措置であり、即ち、メモリアクセスエラー検出/処理装置25がCANコントローラ23にCANバス30上でのドミナントビットの送信を止めさせるということである。換言すれば、CANコントローラ23は、バス監視動作モードに遷移する。この後で、本方法は終了する。
しかしながら、工程S21での答えが「いいえ」の場合には、フローは工程S5に進む。第1の実施例の変形例に係る本方法についての他の記述については、第1の実施例についての記載を参照されたい。
図5は、第2の実施例に係る方法を示しており、ここでは、第1の実施例に係る方法の工程S4、S7、及びS10の代わりに、変更された工程S42、S72、S102が実行される。従って以下では、図6を用いて第1の実施例との相違点のみを記載する。残りの事項に関しては、第1の実施例についての記載を参照されたい。
図6は、エラーの場合にバス30を介して第2の実施例に係る加入者局20のうちの1つによって送信されるメッセージ50の構造を極めて簡略化して示している。それ以外の場合には、引き続いてメッセージ40が送信される。メッセージ50は、メッセージヘッダ51と、データ部52と、を有する。この場合、メッセージヘッダ51は、図2との関連で記載されたメッセージヘッダ41と同じ構造を有する。しかしながら、本実施例では、追加的に、エラーフレームとも呼ばれるエラー部55が、データ部52に挿入されている。図6は、メッセージ内でのエラーフレームの位置の例を概略的に示している。厳密に言えば、データ部52はエラー部55に接続するが先に続いておらずそこで中断されている。従って、後でメッセージ40の送信が繰り返される。
エラー部55は、CANコントローラ23によって、厳密に言えばメモリアクセスエラー検出/処理装置25によって、図5で示された方法の工程S42及び/又は工程S72及び/又は工程102での所定の措置として、データ部2に挿入される。それ以外の場合には、本実施例のS42、S72、S102は、第1の実施例に係る方法の工程S4、S7、及びS10と同じである。
従って、データ部2は、エラー部5によって中断され又は中止され又は誤りが含められる。しかしながらこの場合は、バスシステム1内のユーザデータレートが損なわれる可能性がある。なぜならば、伝送の中止によって、例えばシステム設計の悪さのようなエラーは解消しないからである。従って、このエラーは、更なる別の伝送の試みの際に再び発生することになる。このような理由から、第1の実施例及びその変形例で記載されたように、バス監視動作モードへの遷移が好ましい。
図7は、エラーの場合にバス30を介して第2の実施例の変形例に係る加入者局20のうちの1つによって送信されるメッセージ50の構成を極めて簡略化して示している。ここでは、第2の実施例とは異なって、エラー部55の代わりに、オーバーロードフレーム(Overloadframe)とも呼ばれる過負荷部56がデータ部52に挿入されている。図7は、メッセージ内でのオーバーフレームの位置の例を概略的に示している。厳密に言えば、データ部52は過負荷部56に接続するが先に続いておらずそこで中断されている。従って、後でメッセージ40の送信が繰り返される。他の全ての観点において、第2の実施例の変形例は、第2の実施例と同じである。
図8は、第3の実施例に係る方法を示しており、ここでは、第1の実施例の方法の工程S4、S7、及びS10の代わりに、変更された工程S43、S73、S103が実行される。従って、以下では、第1の実施例との相違点のみを図9を用いて記載する。残りの事項については、第1の実施例の記載を参照されたい。
図9は、エラーの場合にバス30を介して第3の実施例に係る加入者局20のうちの1つによって送信されるメッセージ60の構造を極めて簡略化して示している。それ以外の場合には、メッセージ40が送信される。メッセージ60は、メッセージヘッダ61と、データ部62と、チェックサム部66と、メッセージ末端部64と、を有する。この場合、メッセージヘッダ61、データ部62、及び、メッセージ末端部64は、図2との関連で記載された第1の実施例の場合のメッセージヘッダ部41、データ部42、及びメッセージ末端部44と同じ構造を有する。しかしながら本実施例では、誤りのあるチェックサムがチェックサム部66に書き込まれている。
チェックサム部66への誤りのあるチェックサムの書き込みは、CANコントローラ23によって、厳密に言えばメモリアクセスエラー検出/処理装置25によって、図で示される方法の工程S43及び/又はS73及び/又はS103の所定の措置として実行される。それ以外の場合には、本実施例のS43、S73、S103は、第1の実施例に係る方法の工程S4、S7、及びS10と同じである。
しかしながらこの場合にも、バスシステム1内のユーザデータレートが損なわれる可能性がある。なぜならば、誤りのあるチェックサムの書き込みによって、例えばシステム設計の悪さのようなエラーは解消しないからである。従って、このエラーは、更なる別の伝送の試みの際に再び発生することになる。このような理由から、第1の実施例及びその変形例で記載されたように、バス監視動作モードへの遷移が好ましい。
加入者局10、20及び本方法についての以前に記載された構成の全ては、個別で又はあらゆる可能な組み合わせにおいて利用することが可能である。追加的に、特に以下の変更が構想されうる。
第1〜第3の実施形態に係る以前に記載されたバスシステム1は、CANプロトコルに基づいたバスシステムを利用して記載されている。しかし、第1〜第3の実施形態に係るバスシステム1は、他の形態のコミュニケーションネットワークであってもよい。しかしながら、有利に、バスシステム1において少なくとも所定の期間の間、共有チャネルへの加入者局10の排他的で衝突のないアクセスが保証されていることは、必ずしも必須の前提条件ではない。
第1〜第3の実施形態に係るバスシステム1は、特に、CANネットワーク又はTTCANネットワーク又はCAN FDネットワークである。
第1〜第3の実施例に係るバスシステム1内での加入者局10、20の数及び構成は任意である。特に、第1の〜第3の実施例に係るバスシステム1内には、加入者局20のみが存在してもよい。この場合、全ての加入者局20が無効なメッセージ40を検出することが可能である。
RAM12及びRAM22は、外部のRAMであってもよく、各加入者局10、20に、厳密に言えばそのマイクロコントローラ11、21に組み込まれる必要はない。この場合、その存在が工程S5で検査される時間的エラーが発生する確率が非常に高い。これに対して、RAM12がマイクロコントローラ11の一部であり、RAM22がマイクロコントローラ21の一部である場合には、時間的エラーの確率はより低い。
第1の実施例の工程S4、S7、S10での所定の措置、第1の実施例の変形例の工程S41、S71、S101での所定の措置、第2の実施例での工程S42、S72、S102での所定の措置、及び、第3の実施例の工程S43、S73、S103での所定の措置は、1つの実施例において異なっていてもよい。所定の措置は、実施例及びその変形例で記載された措置から任意に組み合わせ可能である。

Claims (10)

  1. メッセージ(40)の送信すべきデータを、一時メモリ(14)への一時格納無しでRAM(22)から直接読み出すCANコントローラ(23)と、
    前記CANコントローラ(23)のメモリアクセスエラーを検出し(S2、S5、S8、S21)、検出されたメモリアクセスエラーを処理するメモリアクセスエラー検出/処理装置(25)と、
    を備えた、バスシステム(1)の加入者局(20)であって、
    前記メモリアクセスエラー検出/処理装置(25)は、エラーコードを設定することで(S3、S6、S9、S31)、前記検出されたメモリアクセスエラーを処理する(S2、S5、S8,S21)よう構成され、
    前記CANコントローラ(23)は、前記メモリアクセスエラー検出/処理装置(25)が前記エラーコードを設定した場合にはバス監視モードに遷移し(S4、S7、S10、S41)、
    前記CANコントローラは、前記バス監視モードへと遷移するよう構成され、
    前記バス監視モードでは、前記CANコントローラは伝送を開始することが出来ずドミナントビットを送信することが出来ないが、全メッセージを受信することが出来る、
    加入者局(20)。
  2. 前記CANコントローラは、エラー処理の後で、当該CANコントローラが再び伝送を開始しドミナントビットを送信することが可能なアクティブな動作モードへと再び戻して切り替えられる、請求項1に記載の加入者局(20)。
  3. 前記メモリアクセスエラーとは、前記RAM(22)内でのパリティエラー、ECCエラー、時間的エラー又はデータ整合性エラーである、請求項1又は2に記載の加入者局(20)。
  4. 前記時間的エラーとは、前記CANコントローラ(23)により読み出されたRAMメモリワードが、当該メモリワードの第1ビットが前記バスシステム(1)のCANバス(30)上で送信される前に適時に提供されないエラーであり、前記データ整合性エラーとは、前記メッセージ(40)の内容が、前記メッセージ(40)の送信が進行する間にソフトウェアにより変更されるエラーである、請求項3に記載の加入者局(20)。
  5. 請求項1〜のいずれか1項に記載の少なくとも1つの加入者局(20)を備えた、加入者局(10、20)間でメッセージ(40、50、60)を伝送するバスシステム(1)。
  6. 前記バスシステム(1)は、CANプロトコル又はCAN FDプロトコルを利用してデータ(40)を伝送するよう構成される、請求項に記載のバスシステム(1)。
  7. CANコントローラ(23)によって、メッセージ(40)の送信すべきデータを、一時メモリ(14)への一時格納無しでRAM(22)から直接読み出す工程(S1)と、
    メモリアクセスエラー検出/処理装置(25)によって、前記CANコントローラ(23)のメモリアクセスエラーを検出する工程(S2、S5、S8、S21)と、
    前記メモリアクセスエラー検出/処理装置によって、エラーコードを設定することで(S3、S6、S9、S31)、検出されたメモリアクセスエラーを処理する工程(S3、S4、S6、S7、S9、S10、S31、S41、S42、S43、S72、S73、S102、S103)と、
    前記メモリアクセスエラー検出/処理装置(25)が前記エラーコードを設定した場合にはバス監視モードに遷移する工程(S4、S7、S10、S41)であって、前記バス監視モードでは、前記CANコントローラは、伝送を開始することが出来ずドミナントビットを送信することが出来ないが、全メッセージを受信することが出来る、前記遷移する工程(S4、S7、S10、S41)と、
    を含む、バスシステム(1)の加入者局(10、20)間でメッセージ(40)を伝送する方法。
  8. エラー処理の後で、前記CANコントローラが再び伝送を開始しドミナントビットを送信することが可能なアクティブな動作モードへと再び戻して切り替える工程をさらに含む、請求項7に記載の方法。
  9. 前記メモリアクセスエラーとは、前記RAM(22)内でのパリティエラー、ECCエラー、時間的エラー又はデータ整合性エラーである、請求項7又は8に記載の方法。
  10. 前記時間的エラーとは、前記CANコントローラ(23)により読み出されたRAMメモリワードが、当該メモリワードの第1ビットが前記バスシステム(1)のCANバス(30)上で送信される前に適時に提供されないエラーであり、前記データ整合性エラーとは、前記メッセージ(40)の内容が、前記メッセージ(40)の送信が進行する間にソフトウェアにより変更されるエラーである、請求項9に記載の方法。
JP2015504907A 2012-04-12 2013-04-04 バスシステムの加入者局、及び、バスシステムの加入者間でメッセージを伝送する方法 Active JP5977437B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102012205988A DE102012205988A1 (de) 2012-04-12 2012-04-12 Teilnehmerstation für ein Bussystem und Verfahren zur Übertragung von Nachrichten zwischen Teilnehmerstationen eines Bussystems
DE102012205988.1 2012-04-12
PCT/EP2013/057101 WO2013152987A1 (de) 2012-04-12 2013-04-04 Teilnehmerstation für ein bussystem und verfahren zur übertragung von nachrichten zwischen teilnehmerstationen eines bussystems

Publications (2)

Publication Number Publication Date
JP2015517267A JP2015517267A (ja) 2015-06-18
JP5977437B2 true JP5977437B2 (ja) 2016-08-24

Family

ID=48045559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015504907A Active JP5977437B2 (ja) 2012-04-12 2013-04-04 バスシステムの加入者局、及び、バスシステムの加入者間でメッセージを伝送する方法

Country Status (7)

Country Link
US (1) US9652322B2 (ja)
EP (1) EP2836912B1 (ja)
JP (1) JP5977437B2 (ja)
KR (1) KR102099789B1 (ja)
CN (1) CN104364764B (ja)
DE (1) DE102012205988A1 (ja)
WO (1) WO2013152987A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014215469A1 (de) * 2014-08-05 2016-02-11 Robert Bosch Gmbh Kommunikationssteuereinrichtung für eine Teilnehmerstation eines Bussystems, Programmierwerkzeug und Verfahren zum Programmieren von Teilnehmerstationen in einem Bussystem, das nach unterschiedlichen Protokollen kommunizierende Teilnehmerstationen aufweist
US11016925B2 (en) * 2015-03-26 2021-05-25 Nxp Usa, Inc. Protocol-tolerant communications in controller area networks
FR3040806B1 (fr) * 2015-09-07 2019-10-11 Continental Automotive France Calculateur electronique de vehicule compatible avec le protocole de communication can-fd
JP6500875B2 (ja) * 2016-10-25 2019-04-17 トヨタ自動車株式会社 車載ネットワークシステム、及び、車載ネットワークシステムにおける通信制御方法
JP6838234B2 (ja) * 2017-03-24 2021-03-03 日立Astemo株式会社 車両制御装置
DE102017213835A1 (de) * 2017-08-08 2019-02-14 Robert Bosch Gmbh Schwingungsreduktionseinheit für ein Bussystem und Verfahren zur Reduzierung einer Schwingneigung beim Übergang zwischen unterschiedlichen Bitzuständen
DE102017223774A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Fehlersignalisierung für eine in einem seriellen Bussystem empfangene Nachricht
DE102018203672A1 (de) * 2018-03-12 2019-09-12 Robert Bosch Gmbh Sende-/Empfangseinrichtung für ein Bussystem und Verfahren zur Reduktion von leitungsgebundenen Emissionen
DE102018115100A1 (de) * 2018-06-22 2019-12-24 Krohne Messtechnik Gmbh Verfahren zur Fehlerbehandlung bei Buskommunikation und Buskommunikationssystem
CN110247958B (zh) * 2019-05-23 2021-09-17 厦门理工学院 一种考虑计算和网络协同的车载can fd信号打包方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10000305B4 (de) 2000-01-05 2011-08-11 Robert Bosch GmbH, 70469 Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
US6775693B1 (en) * 2000-03-30 2004-08-10 Baydel Limited Network DMA method
US6662258B1 (en) * 2000-08-22 2003-12-09 Integrated Device Technology, Inc. Fly-by support module for a peripheral bus
US7401234B2 (en) * 2004-03-01 2008-07-15 Freescale Semiconductor, Inc. Autonomous memory checker for runtime security assurance and method therefore
US20050229020A1 (en) * 2004-04-06 2005-10-13 International Business Machines (Ibm) Corporation Error handling in an embedded system
DE102004048945B4 (de) * 2004-10-07 2007-10-11 Nec Electronics (Europe) Gmbh Systemüberwachungseinheit
CN101292231A (zh) * 2004-11-03 2008-10-22 美国电影协会 使用网络拓扑测试的数字权管理
US20060093119A1 (en) * 2004-11-03 2006-05-04 Wilson Richard A Jr Leveraging real-time communications client
WO2006050521A2 (en) * 2004-11-03 2006-05-11 Motion Picture Association Of America Digital rights management using network topology testing
JP2007228338A (ja) * 2006-02-24 2007-09-06 Fujitsu Ten Ltd 電子制御ユニットおよび電子制御ユニットの送信方法
US7975120B2 (en) * 2006-12-27 2011-07-05 Freescale Semiconductor, Inc. Dynamic allocation of message buffers
CN101286130B (zh) * 2007-04-11 2010-09-29 中兴通讯股份有限公司 一种嵌入式设备的复位故障定位的实现方法
US9250299B1 (en) * 2009-08-28 2016-02-02 Cypress Semiconductor Corporation Universal industrial analog input interface
US8547135B1 (en) * 2009-08-28 2013-10-01 Cypress Semiconductor Corporation Self-modulated voltage reference
US8287055B2 (en) * 2010-09-28 2012-10-16 Robert Bosch Gmbh Brake control of a vehicle based on driver behavior
JP5723189B2 (ja) * 2011-03-24 2015-05-27 富士通テン株式会社 通信装置および通信システム

Also Published As

Publication number Publication date
DE102012205988A1 (de) 2013-10-17
US20150082123A1 (en) 2015-03-19
WO2013152987A1 (de) 2013-10-17
KR102099789B1 (ko) 2020-04-10
US9652322B2 (en) 2017-05-16
CN104364764A (zh) 2015-02-18
KR20150004833A (ko) 2015-01-13
EP2836912B1 (de) 2020-08-12
CN104364764B (zh) 2018-06-08
JP2015517267A (ja) 2015-06-18
EP2836912A1 (de) 2015-02-18

Similar Documents

Publication Publication Date Title
JP5977437B2 (ja) バスシステムの加入者局、及び、バスシステムの加入者間でメッセージを伝送する方法
EP3678330B1 (en) Oam message transmission method and transmission device, and storage medium
US9148274B2 (en) System and method to detect and communicate loss and retention of synchronization in a real-time data transfer scheme
US8509257B2 (en) CAN node, and communication method of communication system including CAN node
JP5770935B2 (ja) メッセージの大きさがフレキシブルでビット長が可変的な直列データ伝送のための方法及び装置
US20220239576A1 (en) Error detection test device for a subscriber station of a serial bus system and method for testing mechanisms for detecting errors in a communication in a serial bus system
US8665882B2 (en) Serialized enforced authenticated controller area network
WO2012020761A1 (ja) 通信システム及び通信装置
JP2010011296A (ja) 送受信回路、送信回路及び送受信方法
US20120327950A1 (en) Method for Transmitting Data Packets
KR20130009863A (ko) 프레임 전송의 적어도 부분적인 중단
US11729021B2 (en) User station for a serial bus system and method for communication in a serial bus system
EP3458962B1 (en) Communication device and communication system
EP2528283A1 (en) Guardian strategy for distributed time-triggered protocols
CN104866454A (zh) 面向板级高速总线的写报文前瞻处理方法及装置
CN112347021A (zh) 用于串行通信装置的安全模块
US20140107863A1 (en) Vehicle Control Device, Vehicle Control System
EP2940935A1 (en) Controller area network (CAN) device and method for controlling CAN traffic
CN107852275B (zh) 数据传输装置和数据传输方法、接收装置和接收方法
CN112751720B (zh) 列车骨干网系统、故障检测方法及存储介质
KR102474800B1 (ko) 게이트웨이 및 게이트웨이 제어방법
WO2007096987A1 (ja) エラー制御装置
US20110222533A1 (en) Switch apparatus
WO2023103985A1 (zh) 基于微波设备的数据传输方法和装置、存储介质及电子设备
JP2008022079A (ja) 通信ネットワークシステム及び受信診断結果の通知方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160531

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: 20160621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160721

R150 Certificate of patent or registration of utility model

Ref document number: 5977437

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250