JP4708901B2 - データ処理モジュール及びそのメッセージの送信準備方法 - Google Patents

データ処理モジュール及びそのメッセージの送信準備方法 Download PDF

Info

Publication number
JP4708901B2
JP4708901B2 JP2005220337A JP2005220337A JP4708901B2 JP 4708901 B2 JP4708901 B2 JP 4708901B2 JP 2005220337 A JP2005220337 A JP 2005220337A JP 2005220337 A JP2005220337 A JP 2005220337A JP 4708901 B2 JP4708901 B2 JP 4708901B2
Authority
JP
Japan
Prior art keywords
message
shift register
transmission
buffer
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.)
Expired - Fee Related
Application number
JP2005220337A
Other languages
English (en)
Other versions
JP2007034893A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2005220337A priority Critical patent/JP4708901B2/ja
Publication of JP2007034893A publication Critical patent/JP2007034893A/ja
Application granted granted Critical
Publication of JP4708901B2 publication Critical patent/JP4708901B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

本発明は、データ処理モジュール及びそのメッセージの送信準備方法に関する。
近年、通信プロトコルとして、マルチマスタの通信プロトコルが注目されている。マルチマスタのプロトコルでは、バスが解放されているとき、バスに接続されている複数の通信ノードのいずれもがデータをバス上に送信することができ、システムの柔軟性が高い等の特徴を持っている。このようなマルチマスタの通信プロトコルとして、自動車内のECU(電子制御ユニット)間のシリアル通信プロトコルとして用いられている、特開昭61−195453号公報に記載されたマルチマスタのCAN(Controller Area Network、以下、CANという)プロトコル(ISO11898、ISO11519シリーズで規格化)が知られている。このようなマルチマスタの通信プロトコルは、通信ノードの増減が簡単にできる等システムの柔軟性が高いため、上記した自動車分野に止まらず、FA(Factory Automation)、船舶、医療機器といった分野の通信プロトコルとしても有望視されている。
図5は、通信ノードとしてのCANの概略構成を表した図である。サブネットワークを構成するCANバス(図示せず)に接続されるCANトランシーバ60を有するCANモジュール11、1n、16を接続することが可能となっており、各CANモジュール11、1n、16がCPU I/F(インタフェース)40を介して、メッセージを送受信することが可能となっている。また、図5のCANモジュール19は、メッセージの受信のみを行うことが可能となっている。
特開昭61−195453号公報
CANプロトコルでは、特許文献1の34頁右上欄「5)−3 データ交換DPRAM−シフトレジスタ」以下に示されたとおり、受信メッセージをメッセージバッファに記憶するストアプロセス(第17図参照)と、伝送すべき次のメッセージをシフトレジスタ(CANプロトコル層)にロードするロードプロセス(第16図参照)といったプロセスが並列的に行われると記載されているが、上記メッセージバッファをシングルポートRAM(SPRAM)で構成した場合、図6に示すように、メッセージバッファと、シフトレジスタ間のデータのやり取りは、受信メッセージの識別子(ID)の格納(ステップX1)・データの格納(ステップX2)、送信すべきメッセージの識別子(ID)の格納(ステップX3)、送信データのロード(ステップX4)といった手順で行われることとなる。
図7は、上記した受信格納(ステップX1、X2)と送信準備(ステップX3、X4)を連続して行う際の詳細タイミングを説明するための図である。図示された通り、他の通信ノードからシリアル通信で送られてくるメッセージ(フレーム)の破壊を防ぐため、受信格納は、メッセージの受信が終わるまで開始できない。これは、メッセージの最後尾に添付されているCRC(Cyclic Redundancy Check)等によりメッセージが壊れていないかどうかを確認する必要があるからである。
そして、受信メッセージIDの格納、受信メッセージデータの格納を待ってから送信メッセージの識別子(ID)のロードを行うという手順では、受信メッセージデータの格納に時間がかかってしまいInter Frame Space(IFS)1〜3の間(いわゆるアービトレーションタイミング)に送信要求を立てることができないケースが生じる。CANプロトコルでは、アービトレーションはバス上に出力されたIDの強弱によって判断され、通信ノードは、バス上のIDが、自分の出力したIDと同じであった場合に、アービトレーションで勝ったとしてIDに続いてデータを出力する仕組みとなっているため、送信要求の遅れは、他の通信ノードとのアービトレーションに参加することができず、次のアービトレーションタイミングを待たなくてはならなくなることを意味する。
図7の例では、既に他の通信ノードによってSOF(StartOfFrame)が出力されているため、このタイミングで送信要求をもらった通信ノードは、SOFの出力タイミングに遅れてしまい次のアービトレーションタイミングを待たざるを得なくなる(なお、ノードから出力されるフレームは、SOF、ID、DLC(データ長を含む制御コード)、DATA、EOF(EndOfFrame)+IFSで構成されているものとする。更には、図8に示したように、バス上のデータを受信・格納する動作を行うたびにアービトレーションタイミングに間に合わなくなり、送信ができないという事態も生じ得る。
また、図9に示したように、メッセージバッファ3とCANプロトコル層4との間に中間バッファ21を設け、予め送信メッセージをロードしておく方法も提案されている。この構成によれば、図10に示したとおり、メッセージバッファから中間バッファ21へのロードを事前に行っておき、送信要求を速やかに立てることができるが、少なくとも中間バッファの分だけサイズ(回路面積)・コスト的デメリットが生じてしまう。
本発明の第1の視点によれば、上述したCANに代表されるマルチマスタ方式のネットワークに接続されたデータ処理モジュールにおいて、シングルポートのメモリによって構成され、送受信メッセージを複数バッファ可能なメッセージバッファと、伝送路に伝送すべき送信メッセージと、前記伝送路から伝送された受信メッセージがそれぞれ格納されるシフトレジスタ群(共有シフトレジスタ)を含み、所定のプロトコルに従ってメッセージを送受信する送受信回路と、前記シフトレジスタ(共有シフトレジスタ)に格納された受信メッセージのデータ部の格納処理より、前記シフトレジスタ(共有シフトレジスタ)への送信メッセージの識別子(ID)のロード処理を優先して前記シフトレジスタ群(共有シフトレジスタ)と前記メッセージバッファの間のメッセージの転送処理を実行するメッセージハンドリング部と、を備えること、を特徴とするデータ処理モジュールが提供される。
また、本発明の第2の視点によれば、上述したCANに代表されるマルチマスタ方式のネットワークに接続されたデータ処理モジュールにおいて、中間バッファを用いずに、前記データ処理モジュールのメッセージハンドリング部が、前記シフトレジスタに格納された受信メッセージの識別子(ID)を前記メッセージバッファに格納する受信格納工程の後に、前記受信メッセージのデータ部の格納ではなく、送信候補メッセージの識別子(ID)のロードを先に行うメッセージの送信準備方法が提供される。
本発明によれば、シングルポートのメモリを用い受信格納と送信準備を行う場合における送信要求のタイミングを前倒しすることが可能となる。
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図1は、本実施の形態に係るCANモジュール(データ処理モジュール)とCPU51、RAM52、周辺回路53を1チップで構成したCANデバイス100の概略構成を表した図である。例えば、周辺回路53は、I/O回路を含み、CANデバイス100の外部に設けられた各種センサ及び表示装置と接続され外部と内部との間のインターフェースを行い、CPU51は、各種センサからのデータをI/Oを介して取り出すと共にRAMを利用して所望の処理を実行してメッセージバッファに書き込む処理及びメッセージバッファに書き込まれたメッセージを取り出し所望の処理を実行した後I/Oを介して外部に接続された表示装置にデータを送信する処理等を行う。
CANモジュールは、メッセージハンドリング部2と、メッセージバッファ3と、CANプロトコル層(CAN送受信回路)4、マスクセット5を備えている。メッセージハンドリング部2は、前記CANプロトコル層(CAN送受信回路)4から前記メッセージバッファに受信メッセージを格納するとともに、前記メッセージバッファから前記CANプロトコル層(CAN送受信回路)4に送信メッセージをロードするよう構成される。
メッセージバッファ3は、シングルポートRAMで構成され、メッセージ優先度を表す識別子(ID)、送信要求メッセージであるか否かやメッセージ本文長を指定するコントロールフィールド(制御情報)、メッセージ本文の順で所定数のメッセージを格納するバッファを複数備えて構成される。図3は、n個のメッセージをバッファ可能なメッセージバッファの構成を表したものであり、上位アドレス(#m)を指定して対応するメッセージ番号のバッファを特定可能であり、また、上位アドレス(#m)と下位アドレス(xx、yy)とを組み合わせることで、任意のバッファの下位アドレスに対応する項目(識別子(ID)、データ部)を特定することが可能となっている。
CANプロトコル層(CAN送受信回路)4は、図3に示されたように、識別子(ID)、データ部(メッセージ本文)の格納/ロード先となるシフトレジスタ41、42を備えており、CANプロトコルに従ってCANバス1上に存在するCANトランシーバとデータの送受信を行う。マスクセット5は、メッセージの所定部分(例えばIDの一部)をマスクする際に用いられる。
図3は、本実施の形態における受信格納と送信準備を連続して行う際の流れを表した図である。CANモジュールのメッセージハンドリング部2は、まず、CANプロトコル層(CAN送受信回路)4のIDシフトレジスタ41から受信メッセージの識別子(ID)を読み出し、メッセージバッファ3上の該識別子(ID)に応じたバッファ(格納バッファ)に格納する(ステップS1;Rx_ID格納)。なお、前記受信メッセージの識別子(ID)は、適宜その一部がマスクされる。
続いて、メッセージハンドリング部2は、予め探索した送信メッセージの識別子(ID)を、メッセージバッファ3からCANプロトコル層(CAN送受信回路)4のIDシフトレジスタ41にロードする(ステップS2;Tx_IDロード)。
続いて、メッセージハンドリング部2は、CANプロトコル層(CAN送受信回路)4のデータシフトレジスタ42から受信メッセージのデータ部(メッセージ本文)を読み出し、メッセージバッファ3の前記バッファ(格納バッファ)に格納する(ステップS3;Rx_データ格納)。
続いて、メッセージハンドリング部2は、予め探索した送信メッセージのデータ部(メッセージ本文)を、メッセージバッファ3からCANプロトコル層(CAN送受信回路)4のデータシフトレジスタ42にロードする(ステップS4;Tx_データロード)。
図4は、上記手順による送信要求が行われる詳細タイミングを説明するための図である。同図と従来手順による図7を比較しても明らかなとおり、受信メッセージのデータ部を格納する前に、送信メッセージの識別子(ID)をロードしているため、従来受信メッセージのデータ部の格納に掛かっていた時間分、次の送信要求を前倒しして発行することが可能となっている。
また、上記手順の各転送処理は、CANプロトコル層(CAN送受信回路)4と、メッセージバッファ3との間で、直接データを移動することによって実現可能である。従って、識別子(ID)の早出しや保護を図るための追加のバッファ等は不要となる。
また、CANプロトコル層(CAN送受信回路)4のデータシフトレジスタ42の内容は、次の送信あるいは受信メッセージの識別子(ID)が確定するまでの間保持されているため、受信メッセージのデータ部の格納は、送信メッセージの識別子(ID)のロードが完了するまで遅らせても影響はなく、受信メッセージのデータ保護という観点でも追加のバッファ等は不要となる。
更に、メッセージバッファ3にある送信メッセージのロードも、次の送信あるいは受信メッセージの識別子(ID)が確定するまでに行えば良いため、時間的に余裕はあり、送信メッセージの早出しという観点でも追加のバッファ等は不要となる。
以上のとおり、前記シフトレジスタ群にストアされた受信メッセージのデータ部の格納処理より、前記シフトレジスタ群への送信メッセージの識別子(ID)のロード処理を優先して実行することにより、シングルポートRAMで構成されメッセージバッファを用いる場合の送信要求タイミングを前倒しすることが可能となる。また、上記方式実施のためにバッファやレジスタを追加する必要はなく、サイズ(回路面積)やコスト面での影響は軽微である。
以上、本発明の実施の形態を説明したが、その原理からも明らかなとおり、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、受信格納と送信準備を同時に行う際に、受信メッセージの識別子(ID)の格納を行った後、受信メッセージのデータ部でなく、送信メッセージの識別子(ID)のロード処理を優先して実行するという本発明の要旨を逸脱しない範囲で、各種の変形・置換をなしうることが可能であることはいうまでもない。
本発明の一実施の形態に係るCANデバイスの概略構成を表した図である。 本発明の一実施の形態に係るメッセージバッファの詳細構成を表した図である。 本発明の一実施の形態における受信格納と送信準備の手順を表した図である。 本発明の一実施の形態において送信要求が行われる詳細タイミングを説明するための図である。 CAN(Controller Area Network)の概略構成を表した図である。 従来の受信格納と送信準備の手順を表した図である。 図6の手順による送信要求のタイミングを説明するための図である。 図6の手順による送信要求のタイミングを説明するため別のの図である。 受信格納と送信準備を中間バッファを用いて行う構成例を表した図である。 図10の構成による送信要求のタイミングを説明するための図である。
符号の説明
1 CANバス
2 メッセージハンドリング部
3 メッセージバッファ
4 CANプロトコル層(CAN送受信回路)
5 マスクセット
11、1n、16、19 CANモジュール(CAN コントローラ)
20 アドレス生成部
21 中間バッファ
40 CPU I/F
41 IDシフトレジスタ
42 データシフトレジスタ
51 CPU
52 RAM
53 周辺回路
60 CANトランシーバ
100 CANデバイス

Claims (8)

  1. マルチマスタ方式のネットワークに接続されるデータ処理モジュールにおいて、
    シングルポートのメモリによって構成され、送受信メッセージを複数バッファ可能なメッセージバッファと、
    伝送路に伝送すべき送信メッセージと、前記伝送路から伝送された受信メッセージがそれぞれ格納されるシフトレジスタ群を含み、所定のプロトコルに従ってメッセージを送受信する送受信回路と、
    前記シフトレジスタ群に格納された受信メッセージを前記メッセージバッファに格納するとともに、前記シフトレジスタ群に送信メッセージをロードするメッセージハンドリング部とを備え、
    前記メッセージハンドリング部が、前記シフトレジスタに格納された受信メッセージの識別子(ID)の前記メッセージバッファへの格納後、前記シフトレジスタに格納された受信メッセージのデータ部の格納処理より、前記シフトレジスタへの送信メッセージの識別子(ID)のロード処理を優先して実行すること、
    を特徴とするデータ処理モジュール。
  2. 前記シフトレジスタ群と、前記メッセージハンドリング部との間のメッセージの転送が中間バッファを介さずに行われること、
    を特徴とする請求項1に記載のデータ処理モジュール。
  3. 送受信メッセージを複数バッファ可能なメッセージバッファと、
    伝送路に伝送すべき送信メッセージと、前記伝送路から伝送された受信メッセージとが格納される共通シフトレジスタを含む送受信回路と、
    前記共通シフトレジスタに格納された受信メッセージを前記メッセージバッファに格納するとともに、前記共通シフトレジスタに送信メッセージをロードするメッセージハンドリング部とを備え、
    前記メッセージハンドリング部が、前記シフトレジスタに格納された受信メッセージの識別子(ID)に基づいて少なくとも前記メッセージバッファの格納バッファを決定した後、前記共通シフトレジスタに格納された受信メッセージのデータ部を前記決定した格納バッファに格納する処理より、前記共通シフトレジスタへの送信メッセージの識別子(ID)のロード処理を優先して実行すること、
    を特徴とするデータ処理モジュール。
  4. 前記共通シフトレジスタは、送信又は受信メッセージの識別子(ID)を記憶するIDシフトレジスタと、送信又は受信メッセージのデータ部を記憶するデータシフトレジスタとを備えること、
    を特徴とする請求項3に記載のデータ処理モジュール。
  5. 前記メッセージハンドリング部が、前記IDシフトレジスタに格納された受信メッセージの識別子に基づいて少なくとも前記メッセージバッファの格納バッファを決定した後、前記IDシフトレジスタに送信メッセージの識別子のロード処理を行い、その後前記データシフトレジスタに記憶されていた前記受信メッセージのデータ部を前記決定した格納バッファに格納すること、
    を特徴とする請求項4に記載のデータ処理モジュール。
  6. 前記メッセージハンドリング部が、前記格納バッファへの受信メッセージの格納が終了した後、前記データシフトレジスタに前記送信メッセージのデータ部を格納することを特徴とする請求項5に記載のデータ処理モジュール。
  7. 前記IDシフトレジスタ及びデータシフトレジスタが、受信時には前記受信メッセージのIDとデータ部とをそれぞれ受信・記憶すること、
    を特徴とする請求項4又は5に記載のデータ処理モジュール。
  8. 伝送路に伝送すべき送信メッセージと、前記伝送路から伝送された受信メッセージがそれぞれ格納されるシフトレジスタ群を含み、所定のプロトコルに従ってメッセージを送受信する送受信回路と、シングルポートのメモリによって構成され、受信したメッセージ、又は、送信すべきメッセージを格納するメッセージバッファを有し、マルチマスタ方式のネットワークに接続されたデータ処理モジュールにおける受信メッセージの格納処理のタイミングで行うメッセージの送信準備方法であって、
    前記データ処理モジュールのメッセージハンドリング部が、前記シフトレジスタに格納された受信メッセージの識別子(ID)を前記メッセージバッファに格納する工程と、
    前記メッセージハンドリング部が、前記メッセージバッファに格納された送信候補メッセージの識別子(ID)を前記シフトレジスタにロードする工程と、
    前記メッセージハンドリング部が、前記シフトレジスタに格納された前記受信メッセージのデータ部を前記メッセージバッファに格納する工程と、
    前記メッセージハンドリング部が、前記メッセージバッファから前記送信候補メッセージのデータ部を前記シフトレジスタにロードする工程と、を含むこと、
    を特徴とするメッセージの送信準備方法。
JP2005220337A 2005-07-29 2005-07-29 データ処理モジュール及びそのメッセージの送信準備方法 Expired - Fee Related JP4708901B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005220337A JP4708901B2 (ja) 2005-07-29 2005-07-29 データ処理モジュール及びそのメッセージの送信準備方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005220337A JP4708901B2 (ja) 2005-07-29 2005-07-29 データ処理モジュール及びそのメッセージの送信準備方法

Publications (2)

Publication Number Publication Date
JP2007034893A JP2007034893A (ja) 2007-02-08
JP4708901B2 true JP4708901B2 (ja) 2011-06-22

Family

ID=37794045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005220337A Expired - Fee Related JP4708901B2 (ja) 2005-07-29 2005-07-29 データ処理モジュール及びそのメッセージの送信準備方法

Country Status (1)

Country Link
JP (1) JP4708901B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5983507B2 (ja) * 2013-04-04 2016-08-31 トヨタ自動車株式会社 通信システム、及び通信ノード並びに通信方法
FR3019419B1 (fr) * 2014-03-28 2017-08-18 Peugeot Citroen Automobiles Sa Dispositif de communication avec une pluralite de reseaux de communication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3713977B2 (ja) * 1998-09-21 2005-11-09 株式会社日立製作所 リアルタイム分散システム
JP2003348105A (ja) * 2002-05-29 2003-12-05 Mitsubishi Electric Corp Canコントローラ
JP4492955B2 (ja) * 2004-12-28 2010-06-30 ルネサスエレクトロニクス株式会社 データ処理モジュール及びその送付候補メッセージの決定方法

Also Published As

Publication number Publication date
JP2007034893A (ja) 2007-02-08

Similar Documents

Publication Publication Date Title
US7315542B2 (en) Handling and discarding packets in a switching subnetwork
JP5231400B2 (ja) マルチプロセッサ・ゲートウェイ
AU2003234641B2 (en) Inter-chip processor control plane
JP4708901B2 (ja) データ処理モジュール及びそのメッセージの送信準備方法
GB2377138A (en) Ring Bus Structure For System On Chip Integrated Circuits
JP4231485B2 (ja) ポイントツーポイント相互接続上のメッセージの配信技術
JP5728043B2 (ja) ゲートウェイ装置
US20040230717A1 (en) Processing device
US7237044B2 (en) Information processing terminal and transfer processing apparatus
JP4104939B2 (ja) マルチプロセッサシステム
RU175049U9 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
JP2007102476A (ja) クロスバースイッチ、情報処理装置および転送方法
JP4492955B2 (ja) データ処理モジュール及びその送付候補メッセージの決定方法
JP4531555B2 (ja) データ処理モジュール及びその送付候補メッセージの決定方法
US8090986B2 (en) System module and data relay method
JP4522846B2 (ja) データ処理モジュール及びその送付候補メッセージの決定方法
US20230185756A1 (en) Packet control apparatus and packet control method
JP3799741B2 (ja) バスコントローラ
JP4411138B2 (ja) データフロー制御方式、その回路、およびその方法
JP6571628B2 (ja) サイクリック通信システム
JP2000244530A (ja) データ通信装置
JP2004318315A (ja) データ通信装置
JP4791341B2 (ja) データ転送システム
JP2007034892A (ja) データ処理モジュール及びそのメッセージ送信終了処理方法
JP2012094081A (ja) バス調停回路及びバス調停方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees