JP5930767B2 - 電子デバイス、通信制御方法 - Google Patents

電子デバイス、通信制御方法 Download PDF

Info

Publication number
JP5930767B2
JP5930767B2 JP2012037261A JP2012037261A JP5930767B2 JP 5930767 B2 JP5930767 B2 JP 5930767B2 JP 2012037261 A JP2012037261 A JP 2012037261A JP 2012037261 A JP2012037261 A JP 2012037261A JP 5930767 B2 JP5930767 B2 JP 5930767B2
Authority
JP
Japan
Prior art keywords
communication device
data
interface
transmission
communication
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
JP2012037261A
Other languages
English (en)
Other versions
JP2013172442A (ja
JP2013172442A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012037261A priority Critical patent/JP5930767B2/ja
Priority to US13/767,455 priority patent/US8989203B2/en
Publication of JP2013172442A publication Critical patent/JP2013172442A/ja
Publication of JP2013172442A5 publication Critical patent/JP2013172442A5/ja
Application granted granted Critical
Publication of JP5930767B2 publication Critical patent/JP5930767B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、複数のマイクロプロセッサやIC(Integrated Circuit)、あるいはこれらを実装した電子装置等の電子デバイスに関する。特に直列に接続された他の電子デバイスとの間で、シリアル通信によりデータの送受信を行う電子デバイスに関する。
ホストコントローラとなる電子デバイスに対して、シリアル通信によってデータの送受信が可能な複数の電子デバイスを直列に接続することで通信システムを構成することがある。このような通信システムでは、例えば、1つの通信チャネルのシリアル通信信号線に、複数の通信対象となる電子デバイスが接続され、通信対象となる電子デバイスを切り替えながら通信が行われる。通信対象を明確にするために、シリアル通信信号線とは別にチップ選択信号線(CS信号線)を設けてもよいが、この場合、信号線の数が増大して通信システムの構成が複雑になる。そのために、データに通信対象を識別するための識別情報を付加して通信対象を明示したパケットを用いる、パケット通信が有効である。
パケット通信では、例えばホストコントローラに2つの電子デバイスが直列接続された通信システムにおいて、後段に位置する電子デバイスにパケットを送信する場合には、その前段に位置する電子デバイスがパケットを中継する。そのために、信号線数と信号配線長を最低限に抑えた通信システムを構築することが可能である。
特許文献1では、ホストコントローラに対して、シリアル通信信号を受信する中継子局と、中継子局からさらに直列接続された他の中継子局とによって構成される通信システムが開示される。このシステムでは、各中継子局に対して、ホストコントローラから透過的に通信可能である。
特許文献2では、ホストコントローラに対して複数個の電子デバイスが直列接続された制御システムが開示される。各電子デバイスは、自デバイス宛でないパケットを受信した場合に、入力信号を切り替えて後段に接続された他の電子デバイスへ該パケットを中継する。
特開平10−190697号公報 特開2002−44089号公報
このようにホストコントローラに複数の電子デバイスを直列接続する通信システムは、少ない信号線数や短い信号線長により構成できる。このような構成では、ホストコントローラからの要求に応じて各電子デバイスが応答を返す通信形式であれば、ホストコントローラにより各電子デバイスからのデータの送信タイミングを調整できるために、データの衝突が発生しない。しかし、ホストコントローラ以外の電子デバイスから自発的にデータを送信可能とする場合には、各電子デバイスの送信タイミングが重なってしまい、データの衝突が発生して安定環境が提供できない可能性がある。
そのために、予め各電子デバイスが自発的な通信を開始するタイミングを規定する時分割通信により、データの衝突を防止する方法がある。しかしこのような時分割通信を行うと、実効通信レートが下がってしまうという問題がある。
本発明は、以上のような従来の問題に鑑み、直列に複数接続された電子デバイス間の通信を安定して行うことが可能な電子デバイスを提供することを主たる課題とする。
上記の課題を解決する本発明の電子デバイスは、通信路の上流側に配置されている第1の通信装置と通信を行うための第1のインタフェースと、前記通信路の下流側に配置されている第2の通信装置と通信を行うための第2のインタフェースと、データを蓄積するバッファと、前記第1の通信装置に送信するデータを生成する処理手段と、前記第2のインタフェースを介した前記第2の通信装置からの受信時に、前記第1のインタフェースを介して前記第1の通信装置への送信を行っているか否かを判断する判断手段と、前記第2の通信装置から受信する前記データは送信先の識別情報を含んでおり、前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置でない場合は、前記受信したデータを破棄し、該受信したデータを前記第1のインタフェースを用いて送信せず、前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記判断手段が前記第1のインタフェースを介して前記第1の通信装置への送信を行っていると判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積して該送信の終了後に該バッファに蓄積される該受信したデータを前記第1の通信装置へ送信し、前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記判断手段が前記第1のインタフェースを介して前記第1の通信装置への送信を行っていないと判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積せずに、前記第2のインタフェースを介して該受信したデータを、前記第1の通信装置へ送信する制御手段と、を有することを特徴とする。
本発明の通信制御方法は、通信路の上流側に配置されている第1の通信装置と通信を行うための第1のインタフェースと、前記通信路の下流側に配置されている第2の通信装置と通信を行うための第2のインタフェースと、データを蓄積するバッファと、を備えた電子デバイスで実行される方法であって、前記第1の通信装置に送信するデータを生成するステップと、前記第2のインタフェースを介した前記第2の通信装置からの受信時に、前記第1のインタフェースを介して前記第1の通信装置への送信を行っているか否かを判断するステップと、前記第2の通信装置から送信先の識別情報を含む前記データを受信するステップと、前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置でない場合は、前記受信したデータを破棄し、該受信したデータを前記第1のインタフェースを用いて送信しないステップと、前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記第1のインタフェースを介して前記第1の通信装置への送信を行っていると判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積して該送信の終了後に該バッファに蓄積された該受信したデータを前記第1の通信装置へ送信するステップと、前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記第1のインタフェースを介して前記第1の通信装置への送信を行っていないと判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積せずに、前記第2のインタフェースを介して該受信したデータを、前記第1の通信装置へ送信するステップと、を含むことを特徴とする。
本発明は、第2装置から受信した第1データのうち第1装置宛のものをバッファに蓄積しておくため、第1装置宛のデータ送出タイミングが自己と第2装置で重なった場合であっても、いわゆるデータの衝突を防止することができる。これにより、安定した通信環境を提供することができる。
本実施形態のシステムの構成図。 パケットのデータ構造の例示図。 送信先IDの例示図。 応答コマンドIDの例示図。 ホストコントローラの受信処理の処理制御図。 前段の通信デバイスからホストコントローラへの送信処理の処理制御図。 前段の通信デバイスが後段の通信デバイス141からデータ受信する処理の処理制御図。 後段の通信デバイスからホストコントローラへの送信処理の処理制御図。 パケットの送信タイミングの説明図。 パケットの送信タイミングの説明図。
以下、本発明の実施の形態を図面を参照しつつ詳細に説明する。
<全体構成>
図1は、本発明の電子デバイスの一例である通信デバイスを用いて構成された、シリアル通信路によりデータを送受信するシステムの構成図である。
このシステムは、各通信デバイス121、141の状態を監視するホストコントローラ101を備える。ホストコントローラ101は、各通信デバイス121、141に対して各種指示を与える動作の主体である。ホストコントローラ101には、シリアル通信によりデータを送受信する前段の通信デバイス121が直接接続される。通信デバイス121には、通信デバイス121を介してホストコントローラ101との間でデータを送受信する後段の通信デバイス141が接続される。なお、ホストコントローラ101もまた、電子デバイスの一例である。ホストコントローラ101と通信デバイス121、141との間で送受信されるデータには、パケットが用いられる。
ホストコントローラ101は、CPU(Central Processing Unit)102により全体の動作が制御される。CPU102は、ROM(Read Only Memory)103から命令を読みだして逐次実行し、その実行結果をRAM(Random Access Memory)104に保存する。また、ホストコントローラ101は、ホストシリアルI/F(インタフェース)105により、通信デバイス121とのシリアル通信が可能である。
ホストシリアルI/F105は、全二重式の調歩同期シリアルインタフェースである。ホストシリアルI/F105は、CPU102から書き込まれた送信データを内蔵のシフトレジスタによって1bitずつ送信ポート106から送信する。送信bit列の前後には、スタートビット、パリティビット、ストップビットが付加される。
通信デバイス121からデータを受信する場合には、受信データを受信ポート107により1bitずつサンプリングする。また、内蔵のシフトレジスタによって1バイトの受信データを受信完了したことをCPU102に通知する。CPU102は、ホストシリアルI/F105で受信したデータを読み取ることで、通信デバイス121からのデータを取得することができる。CPU102は、読み取ったデータをRAM104に保存する。
前段の通信デバイス121は、制御部122、タイマ123、上流シリアルI/F125、下流シリアルI/F128、バッファ124、及びポート131を有する。前段の通信デバイス121は、ハードウェアとしてこれらの構成を備えていてもよいが、CPU、RAM、ROM、入出力インタフェースを有する汎用のコンピュータで本発明のコンピュータプログラムを実行することにより実現されてもよい。
上流シリアルI/F125は、上流送信ポート126と上流受信ポート127とを備え、ホストコントローラ101との間でデータを送受信する。上流シリアルI/F125は、ホストコントローラ101のホストシリアルI/F105と同じく全二重式の調歩同期シリアルインタフェースである。
下流シリアルI/F128は、後段の通信デバイス141に二線式シリアル信号線によって接続されており、通信デバイス141との間で全二重のシリアル通信を行う。下流シリアルI/F128は、下流送信ポート129と下流受信ポート130とを備える。下流送信ポート129により、通信デバイス141にデータが送信される。下流受信ポート130により、通信デバイス141からデータを受信する。
ポート131は、送信ポート126、129への論理の出力や、電圧状態を二値で取得することができるI/Oポートである。タイマ123は、所定の時間間隔、例えば2ミリ秒毎に、制御部122に対して送信要求を発する。
制御部122は、上流シリアルI/F125及び下流シリアルI/F128の通信状況を監視する。制御部122は、ホストコントローラ101に送信すべきデータを生成する。そのために生成されるデータは、送信先としてホストコントローラ101を指示する情報を含む。制御部122は、タイマ123からの送信要求を受けて、生成したデータを、上流シリアルI/F125を介してホストコントローラ101へ送信する。制御部122は、下流シリアルI/F128で受信したデータをデコードして、ポート131のデータの返信や、ポート131への所望の論理の出力等の処理を行う。
バッファ124は、下流シリアルI/F128で受信したデータが一時蓄積されるラインバッファである。バッファ124には、下流シリアルI/F128が通信デバイス141からホストコントローラ101宛のデータを受信した際に、上流シリアルI/F125からホストコントローラ101にデータを送信中であった場合に、受信したデータが蓄積される。上流シリアルI/F125が送信中でなければ、バッファ124を用いずに、下流シリアルI/F128から上流シリアルI/F125にそのままデータが送られる。また、バッファ124は、上流シリアルI/F125で受信したデータの蓄積には用いられない。
後段の通信デバイス141は、二線式のシリアル信号線によって前段の通信デバイス121に接続される。通信デバイス141は、制御部142、タイマ143、ポート151、及び後段シリアルI/F145を有する。
ポート151は、後段シリアルI/F145の送信ポート146への論理の出力や、電圧状態を二値で取得することができるI/Oポートである。タイマ143は、所定の時間間隔、例えば2ミリ秒毎に、制御部142に対して送信要求を発する。制御部142は、ホストコントローラ101から送信されたデータに応じて動作する。
制御部142は、ホストコントローラ101に送信すべきデータを生成する。そのために生成されるデータは、送信先としてホストコントローラ101を指示する情報を含む。制御部122は、タイマ143からの送信要求を受けて、生成したデータを、後段シリアルI/F145を介して、例えばホストコントローラ101宛に送信する。また、制御部142は、後段シリアルI/F145で受信したデータをデコードして、ポート151のデータの返信や、ポート151への所望の論理の出力等の処理を行う。
後段シリアルI/F145は、送信ポート146と受信ポート147とを備え、通信デバイス121とデータを送受信することができる。後段シリアルI/F145は、ホストコントローラ101のホストシリアルI/F105と同じく全二重式の調歩同期シリアルインタフェースである。
図2は、ホストコントローラ101、通信デバイス121、及び通信デバイス141の間で送受信されるデータであるパケットの構造の例示図である。
パケットは、先頭にパケットの宛先を示す値である送信先ID201を有する。図3は、送信先IDの例示図である。この例では、ホストコントローラ101宛の場合は「00h」、通信デバイス121宛の場合は「01h」、通信デバイス141宛の場合は「02h」が送信先ID201に設定される。送信先ID201の後段には、送信元ID202が付される。送信元ID0202は、パケットの送信元を示す値である。値には、送信先ID201と同じものが用いられる。
パケットは、送信元ID202の後段に、パケットID203を有する。パケットID203は、ホストコントローラ101及び通信デバイス121,141が各々送信するパケットに付される順序番号である。ホストコントローラ101及び通信デバイス121,141の各々が1つパケットを送信するたびに、1増加される。受信側は、パケットID203により、パケットの欠落を検出することができる。
パケットは、パケットID203の後段に、応答コマンドID204を有する。応答コマンドID204は、ホストコントローラ101と、通信デバイス121又は通信デバイス141との間における指示内容を表す。応答コマンドID204の内容を、図4に例示する。例えば、通信デバイス121又は通信デバイス141からホストコントローラ101に対してポート情報の変化を通知する場合は、応答コマンドID204が、ポート情報変化通知224を示す「90h」になる。ホストコントローラ101から通信デバイス121又は通信デバイス141に情報取得を要求する場合には、応答コマンドID204が、ポート情報取得要求222を示す「10h」になる。
パケットは、応答コマンドID204の後段に、データ部205を有する。データ部205は、例えば、通信デバイス121又は通信デバイス141からホストコントローラ101に対してポート情報の変化を通知する場合に、16bitのポートの二値検出情報を含む。
パケットは、データ部205の後段にチェックサム206を有する。チェックサム206は、パケットの誤り検出に用いられる値である。
一般的に、通信デバイス121及び通信デバイス141のように、複数段からなるカスケード接続を行う場合、通信デバイス121,141側からホストコントローラ101へのパケットについて、タイミングの衝突を防ぐ必要が有る。そのために、ホストコントローラ101側から通信対象の通信デバイスに、送信先ID201に通信対象の通信デバイスを明示し、応答コマンドID204にポート情報取得要求222を設定したパケットを送る。通信対象とされた通信デバイスは、これに応答する形でパケットを返信することが多い。
本実施形態では、通信デバイス121及び通信デバイス14が、前述のように各々内蔵するタイマ123、143によって、任意のタイミングでパケットを送信可能である。これにより、通信デバイス121、141側の状態が変化した際の、ホストコントローラ101側での検知の応答性を高めている。
<ホストコントローラ101の処理>
ホストコントローラ101が、通信デバイス121又は通信デバイス141からパケットを受信する処理の制御フローについて図5を用いて説明する。以下の説明において、「S」は処理ステップを表す。
ホストコントローラ101のCPU102は、受信処理を開始すると、ホストシリアルI/F105による受信の有無を確認する(S301)。受信を検出するまで受信待ちを繰り返し(S301:N)、受信を検出した場合は、ホストシリアルI/F105によりパケットを受信する(S301:Y、S302)。
CPU102は、受信したパケットの送信元ID202により、受信したパケットが前段の通信デバイス121からのものか、あるいは後段の通信デバイス141からのものかを確認する。具体的には、送信元ID202が「01h」か「02h」かを確認する。
送信元ID202が「01h」である場合には、前段の通信デバイス121からのデータ、例えばポート情報であるとして、受信したパケットのデータ部205の内容をRAM104に保存する(S303:Y、S304)。送信元ID202が「02h」である場合には、後段の通信デバイス141からのデータ、例えばポート情報であるとして、受信したパケットのデータ部205の内容をRAM104に保存する(S303:N、S305:Y、S306)。CPU102は、パケットを、その送信元毎に分けてRAM104に保存する。
CPU102は、送信元ID202が「01h」及び「02h」のいずれでもない場合には、不正なデータであるとして受信したパケットを破棄する(S303:N、S305:N、S307)。以上により、ホストコントローラ101によるパケットの受信に関する一連の処理が終了する。一連の処理の終了後に、ステップS301の処理に戻る。
<前段の通信デバイス121の処理>
前段の通信デバイス121がホストコントローラ101に対してデータの送信を行う処理の制御フローについて図6を用いて説明する。
通信デバイス121の制御部122は、ホストコントローラ101との通信状況を監視しており、送信可能状態になると、自デバイス内の通信要求の有無を確認する(S401)。制御部122は、タイマ123から発行された送信要求等の自デバイス内の通信要求が有る場合に、自デバイス内の通信要求に応じたパケットを生成し、上流シリアルI/F125を介してホストコントローラ101に送信する(S401:Y、S402)。
自デバイス内の通信要求が無い場合に制御部122は、下流シリアルI/F128に対して通信要求、つまり後段の通信デバイス141からの通信要求、の有無を問い合わせる(S401:N、S403)。下流シリアルI/F128からの通信要求が有る場合に制御部122は、下流シリアルI/F128から受信したパケットを中継して、上流シリアルI/F125を介してホストコントローラ101に送信する(S403:Y、S404)。
下流シリアルI/F128からの通信要求も無い場合には、再度自デバイスの通信要求の有無を確認する状態に戻る(S403:N、S401)。
自デバイスからのパケットの送信、あるいは通信デバイス141からのパケットを中継しての送信が終了すると(S405:Y)、制御部122は、バッファ124にパケットが蓄積されていないかを確認する(S406)。バッファ124にパケットが蓄積されている場合に制御部122は、バッファ124に蓄積されたパケットを上流シリアルI/F125を介してホストコントローラ101に送信する(S406:Y、S407)。パケットを送信し終えると(S408:Y)、あるいはバッファ124に蓄積されたパケットがない場合に(S406:N)、通信デバイス121からホストコントローラ101への一連の送信処理が終了する。一連の処理の終了後に、ステップS401の処理に戻る。
ステップS401〜S402、S406〜S407の処理により、前段の通信デバイス121と後段の通信デバイス141とから同時に通信要求を生じた場合であっても、通信デバイス121の通信要求を優先して行う。そのために、通信デバイス121、141の各パケットが衝突することはない。この場合、前段の通信デバイス121の上流シリアルI/F125からは、前段の通信デバイス121の通信要求によるパケットと後段の通信デバイス141の通信要求によるパケットとが、交互にホストコントローラ101に対して送信される。
前段の通信デバイス121が後段の通信デバイス141からパケットを受信して中継する処理の制御フローについて図7を用いて説明する。
通信デバイス121の制御部122は、後段の通信デバイス141との通信状況を監視しており、受信処理を開始すると、下流シリアルI/F128による受信の有無を確認する(S501)。受信が無い場合は、受信待ちを繰り返す(S501:N)。受信が有る場合に制御部122は、下流シリアルI/F128により、後段の通信デバイス141からのパケットを受信する(S501:Y、S502)。
パケットを受信し終えると、通信デバイス121の制御部122は、受信したパケットの送信先ID201を確認する。送信先ID201がホストコントローラ101宛を示す「00h」の場合には、当該パケットの中継処理を行う(S503:Y)。「00h」でない場合には、当該パケットを不正な宛先のパケットと判断して破棄する(S503:N、S504)。
パケットの中継処理において制御部122は、まず、上流シリアルI/F125が現在パケットを送信中であるか否かを確認する(S505)。送信中の場合に制御部122は、受信したパケットをバッファ124に蓄積する(S505:Y、S506)。バッファ124に蓄積した場合に制御部122は、バッファ124に蓄積されたパケットを、図6のステップS406以降の処理で説明した通り、現在送信中のパケットの送信完了後に送信する。
上流シリアルI/F125が現在パケットを送信していない場合に制御部122は、上流シリアルI/F125にパケットの送信要求を行う(S505:N、S507)。その後、パケットを送信する(S508)。パケットの送信を終了すると(S508:Y)、あるいはバッファ124に蓄積されたパケットの送信が終了すると、通信デバイス141からホストコントローラ101へパケットを中継する一連の処理が終了する。一連の処理の終了後に、ステップS501の処理に戻る。
ステップS505の処理では、中継送信に用いる上流シリアルI/F125の使用状況に合わせて、バッファ124にパケットを蓄積するか、直接スルー転送するかを判断する。そのために、ストアアンドフォワード方式のようにバッファを経由した転送よりも、高速な通信が実現できる。
<後段の通信デバイス141の処理>
後段の通信デバイス141がホストコントローラ101に対して送信を行う処理の制御フローについて、図8を用いて説明する。後段の通信デバイス141が直接接続されているのは前段の通信デバイス121である。そのために、通信デバイス141は、ホストコントローラ101宛のパケットを、前段の通信デバイス121に対して送信する。この場合、送信先ID201は、図3に示すようにホストコントローラ101を示す「00h」である。
後段の通信デバイス141の制御部142は、タイマ143から発行された送信要求等の、自デバイス内の通信要求の有無を問い合わせる。制御部142は、自デバイス内の通信要求が有る場合(S601:Y)、自デバイス内の通信要求からなるパケットを生成して後段シリアルI/F145から送信する(S602)。パケットの送信が終了すると、通信デバイス141からホストコントローラ101へのパケットを送信する一連の処理が終了する(S603:Y)。一連の処理の終了後に、ステップS601の処理に戻る。
<タイミングチャート>
図9及び図10を参照して、図5〜図8の各制御フローにおけるパケットの送信タイミングについて説明する。
図9は、前段の通信デバイス121からパケットを送信した後に、後段の通信デバイス141からパケットを送信する場合の、制御タイミングの説明図である。
シリアル信号ライン701は、前段の通信デバイス121からホストコントローラ101に接続される。シリアル信号ライン701により、パケットが、通信デバイス121の上流送信ポート126から送信されて、ホストコントローラ101の受信ポート107で受信される。
シリアル信号ライン702は、後段の通信デバイス141から前段の通信デバイス12に接続される。シリアル信号ライン702により、パケットが、通信デバイス141の送信ポート146から送信され、通信デバイス121の下流受信ポート130で受信される。
タイミングS703で、前段の通信デバイス121からホストコントローラ101へパケット704が送信される。パケット704の送信終了後のタイミングS705において、後段の通信デバイス141から前段の通信デバイス121へパケット706が送信される。
パケット706を受信した前段の通信デバイス121は、パケット706の送信先ID201が、ホストコントローラ101宛を示す「00h」であることを、図7のステップS503に従って確認する。送信先ID201は、パケット706のオフセットアドレス+0に格納されるデータ707に含まれる。通信デバイス121は、送信先ID201が「00h」であることを確認後、タイミングS708でホストコントローラ101に対して中継送信パケット709を中継送信する。中継送信パケット709の内容は、パケット706と同一である。
図10は、後段の通信デバイス141が前段の通信デバイス121にパケットを送信したときに、前段の通信デバイス121からホストコントローラ101へパケットを送信中であった場合の、制御タイミングの説明図である。
シリアル信号ライン801は、シリアル信号ライン701と同様に、前段の通信デバイス121からホストコントローラ101に接続される。シリアル信号ライン802は、シリアル信号ライン702と同様に、後段の通信デバイス141から前段の通信デバイス12に接続される。
タイミングS803で、前段の通信デバイス121からホストコントローラ101へパケット804が送信される。パケット804の送信が終了する前のタイミングS805において、後段の通信デバイス141から前段の通信デバイス121へパケット806が送信される。
パケット806を受信した前段の通信デバイス121は、パケット806の送信先ID201が、ホストコントローラ101宛を示す「00h」であることを、図7のステップS503に従って確認する。送信先ID201は、パケット806のオフセットアドレス+0に格納されるデータ807に含まれる。通信デバイス121は、送信先ID201が「00h」であることを確認後に、パケット804を送信中であるために、タイミングS808で、バッファ124にパケット806を一時蓄積する。パケット804の送信終了後のタイミングS809に、通信デバイス121は、バッファ124に蓄積したパケット806を、順次中継送信パケット810として送信する。中継送信パケット810の内容は、パケット806と同一である。
以上示したよう、通信デバイス121が、通信デバイス141と通信タイミングが重なった場合に、通信デバイス141からのパケットをバッファ124に一時蓄積して、自デバイスからの送信終了後に一時蓄積したパケットを送信する。そのために、通信タイミングをずらすことができ、パケットが衝突せずに安定した通信可能になり、通信の応答性を両立した通信方式を実現することができる。
なお、ホストコントローラ101を用いない構成であってもよい。すなわち、3以上の通信デバイスをシリアル通信路に直列に接続して、直接接続されていない通信デバイス同士を透過的に扱う。2つの通信デバイス間に設けられて中継送信する通信デバイスが、一方の通信デバイスからのデータを一時保管するためのバッファを有する。中継送信する通信デバイスが他方の通信デバイスに自己を送信元とするデータを送信中に、一方の通信デバイスから他方の通信デバイス宛のデータを受け付けた場合に、受け付けたデータをバッファに一時蓄積する。このようにして、送信するデータの衝突を防止する。
本発明の通信デバイスは、複数のシリアル通信ICやASIC(Application Specific
Integrated Circuit)、マイクロプロセッサによって構成されるシステムに適用可能である。このシステムでは、前段の通信デバイスに対してさらに後段に通信デバイスを接続し、ホストコントローラから後段の通信デバイスを透過的に扱うために前段の通信デバイスが中継送信する接続形態を取る通信システムにおいて、利用が可能である。
101…ホストコントローラ、102…CPU、103…ROM、104…RAM、105…ホストシリアルI/F、106,146…送信ポート、107,147…受信ポート。121,141…通信デバイス、122,142…制御部、123,143…タイマ、131,151…ポート、124…バッファ。125…上流シリアルI/F、126…上流送信ポート、127…上流受信ポート、128…下流シリアルI/F、129…下流送信ポート、130…下流受信ポート、145…後段シリアルI/F。

Claims (9)

  1. 通信路の上流側に配置されている第1の通信装置と通信を行うための第1のインタフェースと、
    前記通信路の下流側に配置されている第2の通信装置と通信を行うための第2のインタフェースと、
    データを蓄積するバッファと、
    前記第1の通信装置に送信するデータを生成する処理手段と、
    前記第2のインタフェースを介した前記第2の通信装置からの受信時に、前記第1のインタフェースを介して前記第1の通信装置への送信を行っているか否かを判断する判断手段と、
    前記第2の通信装置から受信する前記データは送信先の識別情報を含んでおり、
    前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置でない場合は、前記受信したデータを破棄し、該受信したデータを前記第1のインタフェースを用いて送信せず、
    前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記判断手段が前記第1のインタフェースを介して前記第1の通信装置への送信を行っていると判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積して該送信の終了後に該バッファに蓄積される該受信したデータを前記第1の通信装置へ送信し、
    前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記判断手段が前記第1のインタフェースを介して前記第1の通信装置への送信を行っていないと判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積せずに、前記第2のインタフェースを介して該受信したデータを、前記第1の通信装置へ送信する制御手段と、を有することを特徴とする、
    電子デバイス。
  2. 前記制御手段は、前記バッファに前記第2の通信装置から受信したデータが蓄積されている場合に、前記処理手段で生成したデータと前記バッファに蓄積されているデータとを交互に前記第1の通信装置へ送信可能にすることを特徴とする、
    請求項記載の電子デバイス。
  3. 前記第2の通信装置から受信した前記データは、先頭に前記送信先の識別情報が記述されていることを特徴とする、
    請求項記載の電子デバイス。
  4. 通信路の上流側に配置されている第1の通信装置と通信を行うための第1のインタフェースと、
    前記通信路の下流側に配置されている第2の通信装置と通信を行うための第2のインタフェースと、
    データを蓄積するバッファと、
    前記第1の通信装置に送信するデータを生成する処理手段と、
    前記第2のインタフェースを介した前記第2の通信装置からの受信時に、前記第1のインタフェースを介して前記第1の通信装置への送信を行っているか否かを判断する判断手段と、
    前記判断手段が前記第1のインタフェースを介して前記第1の通信装置への送信を行っていると判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積して該送信の終了後に該バッファに蓄積される該受信したデータを前記第1の通信装置へ送信し、前記判断手段が前記第1のインタフェースを介して前記第1の通信装置への送信を行っていないと判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積せずに、前記第2のインタフェースを介して該受信したデータを、前記第1の通信装置へ送信する制御手段と、
    予め定めた時間間隔で送信要求を出力するタイマと、を備えており、
    前記制御手段は、前記第1の通信装置への送信が可能である状態になると、前記送信要求の有無を確認し、前記送信要求が有る場合は前記処理手段で生成した前記データを前記第1の通信装置へ送信することを特徴とする、
    電子デバイス。
  5. 前記第1のインタフェースは、前記第1の通信装置とシリアル通信を行い、
    前記第2のインタフェースは、前記第2の通信装置とシリアル通信を行うことを特徴とする、
    請求項1〜のいずれか1項記載の電子デバイス。
  6. 前記シリアル通信は、送信線と受信線とからなる二線式のシリアル通信であることを特徴とする、
    請求項記載の電子デバイス。
  7. 通信路の上流側に配置されている第1の通信装置と通信を行うための第1のインタフェースと、前記通信路の下流側に配置されている第2の通信装置と通信を行うための第2のインタフェースと、データを蓄積するバッファと、を備えた電子デバイスで実行される方法であって、
    前記第1の通信装置に送信するデータを生成するステップと、
    前記第2のインタフェースを介した前記第2の通信装置からの受信時に、前記第1のインタフェースを介して前記第1の通信装置への送信を行っているか否かを判断するステップと、
    前記第2の通信装置から送信先の識別情報を含む前記データを受信するステップと、
    前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置でない場合は、前記受信したデータを破棄し、該受信したデータを前記第1のインタフェースを用いて送信しないステップと、
    前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記第1のインタフェースを介して前記第1の通信装置への送信を行っていると判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積して該送信の終了後に該バッファに蓄積された該受信したデータを前記第1の通信装置へ送信するステップと、
    前記第2の通信装置から受信したデータの該識別情報により認識される送信先が前記第1の通信装置であり、かつ、前記第1のインタフェースを介して前記第1の通信装置への送信を行っていないと判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積せずに、前記第2のインタフェースを介して該受信したデータを、前記第1の通信装置へ送信するステップと、を含むことを特徴とする、
    通信制御方法。
  8. 前記電子デバイスが、
    前記第2の通信装置から、先頭に前記送信先の識別情報が記載されたデータを受信することを特徴とする、
    請求項記載の通信制御方法。
  9. 通信路の上流側に配置されている第1の通信装置と通信を行うための第1のインタフェースと、前記通信路の下流側に配置されている第2の通信装置と通信を行うための第2のインタフェースと、データを蓄積するバッファと、を備えた電子デバイスで実行される方法であって、
    前記第1の通信装置に送信するデータを生成するステップと、
    前記第2のインタフェースを介した前記第2の通信装置からの受信時に、前記第1のインタフェースを介して前記第1の通信装置への送信を行っているか否かを判断するステップと、
    前記第1のインタフェースを介して前記第1の通信装置への送信を行っていると判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積し、該送信の終了後に該バッファに蓄積された該受信したデータを前記第1の通信装置へ送信するステップと、
    前記第1のインタフェースを介して前記第1の通信装置への送信を行っていないと判断した場合は、前記第2の通信装置から受信したデータを前記バッファに蓄積せずに、前記第2のインタフェースを介して該受信したデータを、前記第1の通信装置へ送信するステップと、
    予め定めた時間間隔で送信要求を出力するステップと、
    前記第1の通信装置への送信が可能である状態になると、前記送信要求の有無を確認し、前記送信要求が有る場合に前記生成したデータを前記第1通信装置へ送信するステップと、を含むことを特徴とする、
    通信制御方法。
JP2012037261A 2012-02-23 2012-02-23 電子デバイス、通信制御方法 Expired - Fee Related JP5930767B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012037261A JP5930767B2 (ja) 2012-02-23 2012-02-23 電子デバイス、通信制御方法
US13/767,455 US8989203B2 (en) 2012-02-23 2013-02-14 Electronic device, communication control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012037261A JP5930767B2 (ja) 2012-02-23 2012-02-23 電子デバイス、通信制御方法

Publications (3)

Publication Number Publication Date
JP2013172442A JP2013172442A (ja) 2013-09-02
JP2013172442A5 JP2013172442A5 (ja) 2015-03-05
JP5930767B2 true JP5930767B2 (ja) 2016-06-08

Family

ID=49002823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012037261A Expired - Fee Related JP5930767B2 (ja) 2012-02-23 2012-02-23 電子デバイス、通信制御方法

Country Status (2)

Country Link
US (1) US8989203B2 (ja)
JP (1) JP5930767B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866491B2 (en) * 2013-12-20 2018-01-09 Nxp Usa, Inc. Method and system for avoiding new flow packet flood from data plane to control plane of a network device
US9910733B2 (en) * 2014-06-26 2018-03-06 Sybase, Inc. Transaction completion in a synchronous replication environment
JP6528847B2 (ja) * 2015-08-12 2019-06-12 富士電機株式会社 制御ネットワークシステム、そのノード装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63221744A (ja) * 1987-03-11 1988-09-14 Canon Inc デ−タ端末装置
US6069926A (en) 1996-10-30 2000-05-30 Canon Kabushiki Kaisha Communication control system and apparatus
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
JPH11284683A (ja) 1998-03-30 1999-10-15 Canon Inc データ転送装置とデータの転送方法、及び情報処理システム
US6813251B1 (en) * 1999-07-27 2004-11-02 Intel Corporation Split Transaction protocol for a bus system
JP4467727B2 (ja) 2000-07-24 2010-05-26 キヤノン株式会社 電子機器の接続方法およびその電子機器およびその動作処理プログラムを記憶した記憶媒体
US20020186721A1 (en) * 2001-03-09 2002-12-12 Bohn David Weaver Methods and systems for monitoring traffic received from and loading simulated traffic on broadband communication link
US7382788B2 (en) * 2002-12-24 2008-06-03 Applied Micro Circuit Corporation Method and apparatus for implementing a data frame processing model
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
US20050165985A1 (en) * 2003-12-29 2005-07-28 Vangal Sriram R. Network protocol processor
JP2006109258A (ja) * 2004-10-07 2006-04-20 Hitachi Ltd 通信方法及び通信装置
US7826470B1 (en) * 2004-10-19 2010-11-02 Broadcom Corp. Network interface device with flow-oriented bus interface
US7657691B2 (en) * 2005-09-30 2010-02-02 Cypress Semiconductor Corporation Simplified universal serial bus (USB) hub architecture
TWI527409B (zh) * 2008-05-30 2016-03-21 馬維爾國際股份有限公司 網路處理器單元及其相關方法
US7996586B2 (en) * 2009-07-24 2011-08-09 Via Technologies, Inc. USB port for employing a plurality of selectable data transmission priority rules
US8549231B2 (en) * 2010-01-08 2013-10-01 Oracle America, Inc. Performing high granularity prefetch from remote memory into a cache on a device without change in address

Also Published As

Publication number Publication date
JP2013172442A (ja) 2013-09-02
US20130223455A1 (en) 2013-08-29
US8989203B2 (en) 2015-03-24

Similar Documents

Publication Publication Date Title
JP4617440B2 (ja) データ通信システムまたはその方法
US11386025B2 (en) Daisy chain complex commands
US8639851B2 (en) Serial bit processor
US20200218215A1 (en) Circuit for coupling a field bus and a local bus
JP5930767B2 (ja) 電子デバイス、通信制御方法
US9438537B2 (en) Method for cut through forwarding data packets between electronic communication devices
CN108293014B (zh) 通信网络、其操作方法及在通信网络中参与者
KR100478112B1 (ko) 패킷 제어 시스템 및 통신 방법
CN108599908B (zh) 通信系统和半导体设备
US9160661B2 (en) Method and apparatus for full duplex serial shifting mode and switch mode data transmission
JP2004328262A (ja) Usbハブ装置、usb周辺装置及びデータ送受信方法
CN111756588A (zh) 通信链路检测方法及相关装置
RU175049U9 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
JP2011071579A (ja) PCIExpress通信システム
JP5661702B2 (ja) 電子システム及び通信制御方法
JP2007214981A (ja) データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
JP2020088819A (ja) 中継装置
US12019580B2 (en) Communication device, communication system, and communication method with identification information added to data blocks
JP5432666B2 (ja) 設備制御向け中継システム
JP2006195607A (ja) バルクアウト転送終了判定方法および回路
EP2939381B1 (en) Acknowledgement forwarding
JP4411138B2 (ja) データフロー制御方式、その回路、およびその方法
CN116541318A (zh) 一种总线缓冲器及多总线数据传输系统
JP5155793B2 (ja) バス間中継装置
JP2010178199A (ja) シリアル通信システム、及び通信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160303

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160311

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160426

R151 Written notification of patent or utility model registration

Ref document number: 5930767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees