JP5661702B2 - 電子システム及び通信制御方法 - Google Patents

電子システム及び通信制御方法 Download PDF

Info

Publication number
JP5661702B2
JP5661702B2 JP2012184481A JP2012184481A JP5661702B2 JP 5661702 B2 JP5661702 B2 JP 5661702B2 JP 2012184481 A JP2012184481 A JP 2012184481A JP 2012184481 A JP2012184481 A JP 2012184481A JP 5661702 B2 JP5661702 B2 JP 5661702B2
Authority
JP
Japan
Prior art keywords
communication
packet
speed
communication device
host controller
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
JP2012184481A
Other languages
English (en)
Other versions
JP2014041548A (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 JP2012184481A priority Critical patent/JP5661702B2/ja
Priority to CN201310363079.XA priority patent/CN103631743B/zh
Priority to US13/972,765 priority patent/US9075628B2/en
Publication of JP2014041548A publication Critical patent/JP2014041548A/ja
Application granted granted Critical
Publication of JP5661702B2 publication Critical patent/JP5661702B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/027Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1423Two-way operation using the same type of signal, i.e. duplex for simultaneous baseband signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、複数のマイクロプロセッサやIC(Integrated Circuit)、あるいはこれらを実装した電子装置等の電子デバイスにより構成される電子システムに関する。特に直列に接続された他の電子デバイスとの間で、シリアル通信によりデータの送受信を行う電子システムに関する。
ホストコントローラとなる電子デバイスに対して、シリアル通信によってデータの送受信が可能な複数の電子デバイスを直列に接続することで電子システムを構成することがある。このような電子システムでは、例えば、1つの通信チャネルのシリアル通信信号線に複数の通信対象となる電子デバイスが接続され、通信対象となる電子デバイスを切り替えながら通信が行われる。通信対象を明確にするために、シリアル通信信号線とは別にチップ選択信号線(CS信号線)を設けてもよい。しかし、この場合、信号線の数が増大して電子システムの構成が複雑になる。
そのために、データに通信対象を識別するための識別情報を付加して通信対象を明示したパケットを用いる、パケット通信が有効である。パケット通信では、例えばホストコントローラに2つの電子デバイスが直列接続された電子システムにおいて、後段に位置する電子デバイスにパケットを送信する場合には、その前段に位置する電子デバイスがパケットを中継する。そのために、信号線数と信号配線長を最低限に抑えた電子システムを構築することが可能である。
特許文献1では、ホストコントローラに対して、シリアル通信信号を受信する中継子局と、中継子局からさらに直列接続された他の中継子局とによって構成される電子システム(通信システム)が開示される。この電子システムでは、各中継子局に対して、ホストコントローラから透過的に通信可能である。
特許文献2では、ホストコントローラに対して複数個の電子デバイスが直列接続された制御システムが開示される。各電子デバイスは、自装置宛でないパケットを受信した場合に、入力信号を切り替えて後段に接続された他の電子デバイスへ該パケットを中継する。
特開平10−190697号公報 特開2002−44089号公報
このようにホストコントローラに複数の電子デバイスを直列接続する電子システムは、少ない信号線数や短い信号線長により構成できる。
ホストコントローラに複数の電子デバイスを直列接続する電子システムでは、ホストコントローラに近い電子デバイスから順に通信対象となる電子デバイスまで、1以上のパケットを含むフレームを中継する。通信対象となる電子デバイスからホストコントローラへのフレームについても、その途中に位置する電子デバイスが中継を行う。
各電子デバイス間で通信を確立するためには、同一の通信速度で通信を行う必要がある。したがって、フレームを中継する電子デバイスが通信速度を変更してしまうと、電子デバイス間の通信速度が異なるために、通信ができなくなる。従来の構成では通信速度を動的に切り替えることができない。
本発明は、以上のような従来の問題に鑑み、直列に複数接続された電子デバイス間の通信速度を動的に切り替えることができる電子システムを提供することを主たる課題とする。
上記の課題を解決する本発明の電子システムは、第1デバイス、第2デバイスおよび第3デバイスが通信ラインを介して直列接続されているシステムであり、前記第1デバイスと前記第2デバイスとを接続する第1通信ラインと、前記第2デバイスと前記第3デバイスとを接続する第2通信ラインとを有し、前記第1デバイスは、通信速度を第1速度に変更するための第1コマンドを、前記第2デバイスを介して前記第3デバイスに送信し、前記第3デバイスから前記第1コマンドを受信したことに基づく第1応答を受信した後に、通信速度を前記第1速度へ変更するための第2コマンドを前記第2デバイスに送信し、前記第2デバイスから前記第2コマンドを受信したことに基づく第2応答を受信した後に、通信速度を前記第1速度へ変更し、前記第2デバイスは、前記第2応答を前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替え、前記第3デバイスは、前記第1応答を、前記第2デバイスを介して前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替えることを特徴とする。
本発明の通信制御方法は、第1デバイス、第2デバイスおよび第3デバイスが通信ラインを介して直列接続されているシステムにより実行される方法であって、前記第1デバイスが、通信速度を第1速度に変更するための第1コマンドを、前記第2デバイスを介して前記第3デバイスに送信し、前記第3デバイスが、前記第1コマンドを受信したことに基づく第1応答を前記第2デバイスを介して前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替え、前記第1デバイスが、前記第3デバイスから前記第1応答を受信した後に、通信速度を前記第1速度へ変更するための第2コマンドを前記第2デバイスに送信し、前記第2デバイスが、前記第2コマンドを受信したことに基づく第2応答を前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替え、前記第1デバイスが、前記第2デバイスから前記第2応答を受信した後に、通信速度を前記第1速度へ変更することを特徴とする。
本発明は、対象装置(第3デバイス)及び中継装置(第2デバイス)の通信速度を、対象装置から順に、通信路を介して、予め定められた通信速度になるように制御するために、動的に通信速度を切り替えることができる。
本実施形態の電子システムの構成図。 パケットのデータ構造の例示図。 送信先IDの例示図。 コマンドIDの例示図。 ホストコントローラによる通信速度の切り替え処理のフローチャート。 前段の通信デバイスによる通信速度の切り替え処理のフローチャート。 後段の通信デバイスによる通信速度の切り替え処理のフローチャート。 ホストコントローラ、前段の通信デバイス、及び後段の通信デバイスの処理及びパケットの送受信のタイミングの説明図。
以下、本発明の実施の形態を図面を参照しつつ詳細に説明する。
<全体構成>
図1は、電子デバイスの一例であるホストコントローラを用いて構成された、シリアル通信路によりデータを送受信する電子システムの構成図である。
この電子システムは、ホストコントローラ101に対して、シリアル通信によってデータの送受信が可能な通信デバイス121、141が直列に接続されて構成される。ホストコントローラ101は、各通信デバイス121、141に対して各種指示を与える動作の主体である。通信デバイス121、141もまた、電子デバイスの一例である。ホストコントローラ101と通信デバイス121、141との間で送受信されるデータには、パケットが用いられる。なお、ホストコントローラ101に対して直列に接続される通信デバイスは、2段以上であってもよい。
ホストコントローラ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から書き込まれた送信データを内蔵のシフトレジスタによって1ビット(bit)ずつ送信ポート106から送信する。送信ビット列の前後には、スタートビット、パリティビット、ストップビットが付加される。
通信デバイス121からデータを受信する場合には、受信データを受信ポート107により1ビットずつサンプリングする。また、内蔵のシフトレジスタによって1バイトの受信データを受信完了したことをCPU102に通知する。CPU102は、ホストシリアルI/F105で受信したデータを読み取ることで、通信デバイス121からのデータを取得することができる。CPU102は、読み取ったデータをRAM104に保存する。
CPU102及びホストシリアルI/F105は、PLL(Phase Locked Loop)回路108から供給されるクロック信号に従って動作する。特に、ホストシリアルI/F105は、クロック信号の周波数に応じた通信周波数で、通信デバイス121との通信を行う。PLL回路108は、外付けされた水晶発振器109から出力される、例えば10[MHz]の出力信号から、予め定められた逓倍率と分周比に従ってクロック信号を生成する。ホストシリアルI/F105は、このクロック信号の周波数に応じた通信速度で前段の通信デバイス121との通信を行う。
前段の通信デバイス121は、制御部122、タイマ123、上流シリアルI/F125、下流シリアルI/F128、バッファ124、ポート131、及びPLL回路132を有する。
PLL回路132は、外付けされた水晶発振器133から出力される、例えば10[MHz]の出力信号から、予め定められた逓倍率と分周比に従ってクロック信号を生成する。このクロック信号は、上流シリアルI/F125及び下流シリアルI/F28に供給される。また、PLL回路132は、通信デバイス121内の内部クロック信号を生成して、制御部122及びタイマ123に供給する。
上流シリアルI/F125は、上流送信ポート126と上流受信ポート127とを備え、ホストコントローラ101との間でデータを送受信する。上流シリアルI/F125は、ホストコントローラ101のホストシリアルI/F105と同じく全二重式の調歩同期シリアルインタフェースである。上流シリアルI/F125は、PLL回路132から供給されるクロック信号の周波数に応じた通信速度で、ホストコントローラ101との通信を行う。
下流シリアルI/F128は、後段の通信デバイス141に二線式シリアル信号線によって接続されており、通信デバイス141との間で全二重のシリアル通信を行う。下流シリアルI/F128は、下流送信ポート129と下流受信ポート130とを備える。下流シリアルI/F128は、下流送信ポート129から、データを通信デバイス141に送信する。また、下流受信ポート130により、通信デバイス141からのデータを受信する。下流シリアルI/F128は、PLL回路132から供給されるクロック信号の周波数に応じた通信速度で、通信デバイス141との通信を行う。
ポート131は、送信ポート126、129への論理の出力や、電圧状態を二値で取得することができるI/Oポートである。タイマ123は、所定の時間間隔、例えば2ミリ秒毎に、制御部122に対して送信要求を発する。タイマ123は、内部クロック信号に基づいて計時する。
制御部122は、上流シリアルI/F125及び下流シリアルI/F128の通信状況を監視する。制御部122は、ホストコントローラ101に送信すべきデータを生成する。生成されるデータは、送信先としてホストコントローラ101を指示する情報を含む。制御部122は、タイマ123からの送信要求を受けて、生成したデータを、上流シリアルI/F125を介してホストコントローラ101へ送信する。制御部122は、下流シリアルI/F128で受信したデータをデコードして、ポート131からのデータに対する返信や、ポート131への所望の論理の出力等の処理を行う。
バッファ124は、下流シリアルI/F128で受信したデータが一時蓄積されるラインバッファである。下流シリアルI/F128が通信デバイス141からホストコントローラ101宛のデータを受信した際、上流シリアルI/F125からホストコントローラ101にデータを送信中であった場合は、受信したデータはバッファ124に蓄積される。一方、下流シリアルI/F128が通信デバイス141からホストコントローラ101宛のデータを受信した際、上流シリアルI/F125が送信中でなかった場合は、受信したデータは、バッファ124に蓄積されず、下流シリアルI/F128から上流シリアルI/F125にそのまま送られる。また、バッファ124は、上流シリアルI/F125で受信したデータの蓄積には用いられない。
後段の通信デバイス141は、二線式のシリアル信号線によって前段の通信デバイス121に接続される。通信デバイス141は、制御部142、タイマ143、ポート151、後段シリアルI/F145、及びPLL回路148を有する。
PLL回路148は、外付けされた水晶発振器149から出力される、例えば10[MHz]の出力信号から、予め定められた逓倍率と分周比に従ってクロック信号を生成する。このクロック信号は、後段シリアルI/F145に供給される。また、PLL回路148は、通信デバイス141内の内部クロック信号を生成して、制御部142及びタイマ143に供給する。
ポート151は、後段シリアルI/F145の送信ポート146への論理の出力や、電圧状態を二値で取得することができるI/Oポートである。タイマ143は、所定の時間間隔、例えば2ミリ秒毎に、制御部142に対して送信要求を発する。タイマ143は、内部クロック信号に基づいて計時する。
制御部142は、ホストコントローラ101から送信されたデータに応じて動作する。また、制御部142は、ホストコントローラ101に送信すべきデータを生成する。そのために生成されるデータは、送信先としてホストコントローラ101を指示する情報を含む。制御部142は、タイマ143からの送信要求を受けて、生成したデータを、後段シリアルI/F145を介して、例えばホストコントローラ101宛に送信する。また、制御部142は、後段シリアルI/F145で受信したデータをデコードして、ポート151からのデータに対する返信や、ポート151への所望の論理の出力等の処理を行う。
後段シリアルI/F145は、送信ポート146と受信ポート147とを備え、通信デバイス121とデータを送受信することができる。後段シリアルI/F145は、ホストコントローラ101のホストシリアルI/F105と同じく全二重式の調歩同期シリアルインタフェースである。後段シリアルI/F145は、PLL回路148から供給されるクロック信号の周波数に応じた通信速度で、前段の通信デバイス121との通信を行う。
図2は、ホストコントローラ101、通信デバイス121、及び通信デバイス141間のシリアル通信路で送受信されるデータであるパケットのデータ構造の例示図である。
パケットは、先頭にパケットの宛先を示す値である送信先ID201を有する。図3は、送信先IDの例示図である。この例では、ホストコントローラ101宛の場合は「00h」、通信デバイス121宛の場合は「01h」、通信デバイス141宛の場合は「02h」が送信先ID201に設定される。送信先ID201の後段には、送信元ID202が付される。送信元ID202は、パケットの送信元を示す値である。値には、送信先ID201と同じものが用いられる。
パケットは、送信元ID202の後段に、パケットID203を有する。パケットID203は、ホストコントローラ101及び通信デバイス121,141のそれぞれが送信したパケット1つ1つに付けられている順序番号である。ホストコントローラ101及び通信デバイス121,141の各々が1つパケットを送信するたびに、順序番号は1増加される。受信側は、パケットID203により、パケットの欠落を検出することができる。
パケットは、パケットID203の後段に、コマンドID204を有する。コマンドID204は、指示内容を表す。コマンドID204の内容を、図4に例示する。例えば、ホストコントローラ101から通信デバイス121又は通信デバイス141に対してPLL回路132、148の設定を指示する場合は、コマンドID204がPLL設定要求を示す「10h」になる。「PLL設定要求」は、PLL回路132、148で生成されるクロック信号の周波数を所定の周波数に設定するためのコマンドである。ホストコントローラ101から通信デバイス121又は通信デバイス141に対してPLL回路132、148の設定切り替えを指示する場合は、コマンドID204がPLL切り替え要求を示す「20h」になる。「PLL切り替え要求」により、PLL回路132、148は動作を開始して、クロック信号を出力する。通信デバイス121又は通信デバイス141から、ホストコントローラ101に対して応答を送信する場合は、コマンドID204が要求成功応答を示す「E0h」になる。要求成功応答は、ホストコントローラ101から送信されたパケットが、通信デバイス121又は通信デバイス141によって正しく受信されたことを通知する応答コマンドである。
パケットは、コマンドID204の後段に、データ部205を有する。データ部205は、例えば、コマンドID204が「10h」でPLL設定要求を送信する場合に、PLL回路132、148の逓倍率及び分周値を含むPLL設定情報を含む。PLL設定情報は、ホストコントローラ101と通信デバイス121及び通信デバイス141との間の通信周波数を決めるために、それらの間の配線長や送受信内容に応じて設計時に予め決定される固定値である。
パケットは、データ部205の後段にチェックサム206を有する。チェックサム206は、パケットの誤り検出に用いられる値である。
<通信速度の切り替え処理>
以上のような電子システムでは、起動時に、ホストコントローラ101及び通信デバイス121、141が、例えば9600[bps]の通信速度で通信を行う。これは、水晶発振器109、133、149による10[MHz]の出力信号を、分周比の既定値である1/1024で分周して得られる値である。この通信速度は、電子システムで通信可能な最低通信速度である。このような低速で通信を確立した後に、例えば逓倍率を8倍、分周比を1/320に設定することで、通信速度を250[Kbps]に切り替えて、より速い速度で通信を行う。切り替えた通信速度は、上述の通り、ホストコントローラ101と通信対象になる通信デバイス121又は通信デバイス141の間の、配線長や送受信内容に応じて設計時に予め決定される固定値である。この固有値は、ホストコントローラ101のROM103やRAM104に記憶されており、必要に応じて読み出される。以下は、低速で通信を確立した後に行う処理である。
[ホストコントローラの処理]
図5は、ホストコントローラ101により、通信デバイス121及び通信デバイス141の各PLL回路132、148の設定及び動作を切り替えることで通信速度を切り替える処理のフローチャートである。以下の説明において、「S」は処理ステップを表す。
通信速度の切り替え制御において、ホストコントローラ101は、まず、後段の通信デバイス141のPLLの切り替え処理を行う。そのためにホストコントローラ101のCPU102は、後段の通信デバイス141宛に、PLL設定要求を表すパケットを送信する(S301)。このPLL設定要求を表すパケットは、送信先ID201に「02h」が設定されており、コマンドID204に「10h」が設定されている。このPLL設定要求を表すパケットが、ホストシリアルI/F105から前段の通信デバイス121に送信される。通信デバイス121は、受信したPLL設定要求を表すパケットを、後段の通信デバイス141に転送する。通信デバイス141は、PLL設定要求に対して、要求成功を表すパケットを返信する。この要求成功を表すパケットは、送信先ID201に「00h」が設定されており、コマンドID204に「E0h」が設定されている。また、データ部205にPLL設定情報が含まれている。
ホストコントローラ101は、通信デバイス141から要求成功を表すパケットを受信するまで待機する(S302)。要求成功を表すパケットを受信すると(S302:Y)、ホストコントローラ101のCPU102は、後段の通信デバイス141宛に、PLL切り替えを表すパケットを送信する(S303)。この切り替えを表すパケットは、送信先ID201に「02h」が設定されており、コマンドID204に「20h」が設定されている。この切り替えを表すパケットも、通信デバイス121を中継して、通信デバイス141に送信される。
この切り替えを表すパケットの送信後、ホストコントローラ101は、PLL切り替え要求に対する要求成功を表すパケットを通信デバイス141から受信するまで待機する(S304)。ホストコントローラ101が要求成功を表すパケットを受信することで(S304:Y)、後段の通信デバイス141に対するPLLの切り替え処理が終了する。
後段の通信デバイス141に対するPLLの切り替え処理の終了後に、ホストコントローラ101は、前段の通信デバイス121に対するPLLの切り替え処理を行う。ホストコントローラ101のCPU102は、前段の通信デバイス121宛に、PLL設定要求を表すパケットを送信する(S305)。このPLL設定要求を表すパケットは、送信先ID201に「01h」が設定されており、コマンドID204に「10h」が設定されている。このPLL設定要求を表すパケットが、ホストコントローラ101から前段の通信デバイス121に送信される。通信デバイス121は、PLL設定要求に対して、要求成功を表すパケットを返信する。この要求成功を表すパケットは、送信先ID201に「00h」が設定されており、コマンドID204に「E0h」が設定されている。また、データ部205にPLL設定情報が含まれている。PLL設定情報は、後段の通信デバイス141に送られたものと同じ内容である。
ホストコントローラ101は、通信デバイス121からの要求成功を表すパケットを受信するまで待機する(S306)。要求成功を表すパケットを受信すると(S306:Y)、ホストコントローラ101のCPU102は、前段の通信デバイス121宛に、PLL切り替えを表すパケットを送信する(S307)。このPLL切り替えを表すパケットは、送信先ID201に「01h」が設定されており、コマンドID204に「20h」が設定されている。このパケットも、ホストシリアルI/F105から前段の通信デバイス121に送信される。
PLL切り替えを表すパケットの送信後、ホストコントローラ101は、PLL切り替え要求に対する要求成功を表すパケットを通信デバイス121から受信するまで待機する(S308)。ホストコントローラ101が要求成功を表すパケットを受信することで(S308:Y)、前段の通信デバイス121に対するPLLの切り替え処理が終了する。PLL設定情報の内容が同じであるために、前段の通信デバイス121と後段の通信デバイス141の通信速度は同じである。そのために、この時点で、前段の通信デバイス121と後段の通信デバイス141との間で、切り替え後の通信速度による通信が可能である。
前段の通信デバイス121に対するPLLの切り替え処理の終了後に、ホストコントローラ101は、CPU102のPLL設定を行う(S309)。続けて、ホストコントローラ101は、CPU102のPLL切り替えを行う(S310)。ホストコントローラ101の通信速度も、前段の通信デバイス121及び後段の通信デバイス141と同じにする。
PLL108、132、148は、PLL設定情報に応じた逓倍率、分周比で各クロック信号が生成する。これにより、電子システム全体の通信速度を変更することができる。
[前段の通信デバイスの処理]
図6は、上記のホストコントローラ101による処理に対する、前段の通信デバイス121が行う処理のフローチャートである。
前段の通信デバイス121の制御部122は、ホストコントローラ101からパケットを受信するまで、待機状態にある(S401)。ホストコントローラ101からパケットを受信すると、制御部122は、まず、パケットの送信先ID201により、当該パケットが自装置宛であるかを確認する(S402)。自装置宛でない場合に制御部122は、後段の通信デバイス141に、当該パケットを送信して処理を終了する(S402:N、S403)。図5のS301、S303でホストコントローラ101から送信されるパケットについては、この処理が行われる。
パケットが自装置宛の場合、制御部122は当該パケットのコマンドID204により、当該パケットがPLL設定要求であるかを確認する(S404)。パケットがPLL設定要求である場合、制御部122はPLL回路132の逓倍率及び分周比を、パケットのデータ部205に含まれるPLL設定情報に基づいて設定する(S404:Y、S405、S406)。PLL回路132の逓倍率及び分周比の設定が終了すると、制御部122は、PLL設定要求が成功したことを表すパケットを生成してホストコントローラ101に送信して処理を終了する(S407)。図5のS305でホストコントローラ101から送信されるパケットについては、この処理が行われる。
パケットがPLL設定要求でない場合、制御部122は当該パケットのコマンドID204がPLL切り替え要求であるかを確認する(S404:N、S408)。パケットがPLL切り替え要求である場合、制御部122はPLL切り替え要求が成功したことを表すパケットを生成して、ホストコントローラ101に送信する(S408:Y、S409)。PLL切り替え要求が成功したことを表すパケットをホストコントローラ101に送信した後に、制御部122は、S405、S406で設定した逓倍率及び分周比によりPLL回路132を動作させて処理を終了する(S410)。図5のS307でホストコントローラ101から送信されるパケットについては、この処理が行われる。
以上の処理により、通信デバイス121は、ホストコントローラ101から指示された周波数のクロック信号に応じた通信速度で通信可能になる。
パケットがPLL切り替え要求でない場合、制御部122は当該パケットのコマンドID204がポート情報の取得要求であるかを確認する(S408:N、S411)。パケットがポート情報取得要求である場合、制御部122はポート131のレジスタ値を取得する(S411:Y、S412)。制御部122は、取得したレジスタ値を含むポート情報の取得成功応答を表すパケットを生成して、ホストコントローラ101に送信して処理を終了する(S413)。
パケットがポート情報取得要求でない場合、制御部122は処理を終了する(S411:N)。
[後段の通信デバイスの処理]
図7は、上記のホストコントローラ101による処理に対する、後段の通信デバイス141が行う処理のフローチャートである。
後段の通信デバイス141の制御部142は、ホストコントローラ101から送信されたパケットを、前段の通信デバイス121を介して受信するまで、待機状態にある(S601)。ホストコントローラ101から送信されたパケットを受信すると、制御部142は、まず、パケットの送信先ID201により、当該パケットが自装置宛であるかを確認にする(S602)。自装置宛でない場合に制御部142は、処理を終了する(S602:N)。
パケットが自装置宛である場合、制御部142は当該パケットのコマンドID204がPLL設定要求であるかを確認する(S603)。パケットがPLL設定要求である場合、制御部122はPLL回路148の逓倍率及び分周比を、パケットのデータ部205に含まれるPLL設定情報に基づいて設定する(S603:Y、S604、S605)。PLL回路148の逓倍率及び分周比の設定が終了すると、制御部142は、PLL設定要求が成功したことを表すパケットを生成してホストコントローラ101に送信して処理を終了する(S606)。図5のS301で送信されるパケットについては、この処理が行われる。
PLL設定要求が成功したことを表すパケットは、PLL回路148の逓倍率及び分周比の設定が終了後に、ホストコントローラ101に送信する。このようにすることにより、逓倍率及び分周比の設定を確実なものとすることができる。
パケットがPLL設定要求でない場合、制御部142は当該パケットのコマンドID204がPLL切り替え要求であるかを確認する(S603:N、S607)。パケットがPLL切り替え要求である場合、制御部122はPLL切り替え要求が成功したことを表すパケットを生成して、ホストコントローラ101に送信する(S607:Y、S608)。PLL切り替え要求が成功したことを表すパケットをホストコントローラ101に送信した後に、制御部142は、S604、S605で設定した逓倍率及び分周比によりPLL回路148を動作させて処理を終了する(S609)。図5のS303で送信されるパケットについては、この処理が行われる。
PLL切り替え要求が成功したことを表すパケットをホストコントローラ101に送信するためには、通信デバイス121と通信デバイス141が同一の通信速度で動作していることが必要である。そこで、本実施形態では、このように、PLL切り替え要求に対しては、制御部142が設定した逓倍率及び分周比によりPLL回路148を動作させる前に、PLL切り替え要求が成功したことを表すパケットをホストコントローラ101に送信する。
以上の処理により、通信デバイス141は、ホストコントローラ101から指示された周波数のクロック信号に応じた通信速度で通信可能になる。
パケットがPLL切り替え要求でない場合、制御部142は当該パケットのコマンドID204がポート情報の取得要求であるかを確認する(S607:N、S610)。パケットがポート情報取得要求である場合、制御部142はポート151のレジスタ値を取得する(S610:Y、S611)。制御部142は、取得したレジスタ値を含むポート情報の取得成功応答を表すパケットを生成して、ホストコントローラ101に送信して処理を終了する(S612)。
パケットがポート情報取得要求でない場合、制御部142は処理を終了する(S610:N)。
[ホストコントローラ及び前段、後段の通信デバイス間のパケットの送受信タイミング]
図8は、ホストコントローラ101、前段の通信デバイス121、及び後段の通信デバイス141のそれぞれの処理及びパケットの送受信のタイミングを説明する図である。ホストコントローラ101は、まず、後段の通信デバイス141の通信速度を切り替える。その後、ホストコントローラ101は、前段の通信デバイス141の通信速度を、後段の通信デバイス141と同じ通信速度に切り替える。
ホストコントローラ101は、後段の通信デバイス141宛のPLL設定要求を表すパケットを前段の通信デバイス121に送信する(S701)。前段の通信デバイス121は、このパケットを受信する。前段の通信デバイス121は、受信したパケットが自装置宛ではないので、これを後段の通信デバイス141に中継送信する(S702)。後段の通信デバイス141は、パケットを受信して、パケットの内容に応じてPLL回路148の逓倍率及び分周比を設定する(S703)。設定後に、後段の通信デバイス141は、PLL設定要求に応じた設定が成功したことを表すパケットを前段の通信デバイス121に送信する(S704)。前段の通信デバイス121は、このパケットを受信する。前段の通信デバイス121は、受信したパケットが自装置宛ではないので、これをホストコントローラ101に中継送信する(S705)。
PLL設定要求に応じた設定が成功したことを表すパケットを受信したホストコントローラ101は、後段の通信デバイス141宛のPLL切り替え要求を表すパケットを前段の通信デバイス121に送信する(S706)。前段の通信デバイス121は、このパケットを受信する。前段の通信デバイス121は、受信したパケットが自装置宛ではないので、これを後段の通信デバイス141に中継送信する(S707)。後段の通信デバイス141は、パケットを受信して、S703で設定した逓倍率及び分周比によりPLL回路148を動作する(S708)。動作後に、後段の通信デバイス141は、PLL切り替え要求が成功したことを表すパケットを前段の通信デバイス121に送信する(S709)。前段の通信デバイス121は、このパケットを受信する。前段の通信デバイス121は、受信したパケットが自装置宛ではないので、これをホストコントローラ101に中継送信する(S710)。
以上により、後段の通信デバイス141のPLL回路148で生成されるクロック信号の周波数が変更され、後段の通信デバイス141の通信速度が切り替わる。
後段の通信デバイス141からのPLL切り替え要求が成功したことを表すパケットを受信したホストコントローラ101は、次に、前段の通信デバイス121の通信速度を切り替える。
ホストコントローラ101は、前段の通信デバイス121宛のPLL設定要求を表すパケットを前段の通信デバイス121に送信する(S711)。前段の通信デバイス121は、このパケットを受信する。前段の通信デバイス121は、受信したパケットが自装置宛であるため、このパケットの内容に応じてPLL回路132の逓倍率及び分周比を設定する(S712)。設定後に、前段の通信デバイス121は、PLL設定要求に応じた設定が成功したことを表すパケットをホストコントローラ101に送信する(S713)。
PLL設定要求に応じた設定が成功したことを表すパケットを受信したホストコントローラ101は、前段の通信デバイス121宛のPLL切り替え要求を表すパケットを前段の通信デバイス121に送信する(S714)。前段の通信デバイス121は、このパケットを受信する。前段の通信デバイス121は、受信したパケットが自装置宛であるため、S712で設定した逓倍率及び分周比によりPLL回路132を動作する(S715)。動作後に、前段の通信デバイス121は、PLL切り替え要求が成功したことを表すパケットをホストコントローラ101に送信する(S716)。
以上により、前段の通信デバイス121のPLL回路132で生成されるクロック信号の周波数が変更され、前段の通信デバイス121の通信速度が切り替わる。
前段の通信デバイス121からのPLL切り替え要求が成功したことを表すパケットを受信したホストコントローラ101は、次に、ホストコントローラ101自身の通信速度を切り替える。ホストコントローラ101のCPU102は、PLL回路108の逓倍率及び分周比を設定して動作させる(S717、S718)。これにより、ホストコントローラ101のPLL回路108で生成されるクロック信号の周波数が変更され、ホストコントローラ101の通信速度が切り替わる。
このようにしてホストコントローラ101、前段の通信デバイス121、及び後段の通信デバイス141の通信速度の動的な切り替えが完了する。
以上のように、後段の通信デバイス141から順に通信速度を切り替えることで、動作開始後であっても、通信速度を動的に切り替えることができる。これにより、確実な通信確立と、通信確立後の応答性を両立した通信が可能になる。
なお、上記の実施形態では、通信速度を切り替えるために、PLL設定要求とPLLPLL切り替え要求という2つのコマンドを用いた通信を行ったが、PLL設定要求のみを使用するようにしてもかまわない。つまり、PLL設定要求に応じて、設定及び切り替えの両方を実行するようにしてもかまわない。
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。108,132,148…PLL回路、109,133,149…水晶発振器。

Claims (6)

  1. 第1デバイス、第2デバイスおよび第3デバイスが通信ラインを介して直列接続されているシステムであり、
    前記第1デバイスと前記第2デバイスとを接続する第1通信ラインと、
    前記第2デバイスと前記第3デバイスとを接続する第2通信ラインとを有し、
    前記第1デバイスは、通信速度を第1速度に変更するための第1コマンドを、前記第2デバイスを介して前記第3デバイスに送信し、前記第3デバイスから前記第1コマンドを受信したことに基づく第1応答を受信した後に、通信速度を前記第1速度へ変更するための第2コマンドを前記第2デバイスに送信し、前記第2デバイスから前記第2コマンドを受信したことに基づく第2応答を受信した後に、通信速度を前記第1速度へ変更し、
    前記第2デバイスは、前記第2応答を前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替え、
    前記第3デバイスは、前記第1応答を、前記第2デバイスを介して前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替えることを特徴とする、
    電子システム。
  2. 前記第1デバイス、前記第2デバイスおよび前記第3デバイスは、起動時に、前記第1速度より遅い第2速度通信速度を設定し、
    前記第2速度で確立した通信において、前記第1デバイスは、前記第1コマンドを前記第3デバイスに送信することを特徴とする、
    請求項記載の電子システム。
  3. 前記第1デバイス、前記第2デバイスおよび前記第3デバイスのそれぞれは、通信速度に応じたクロック信号を生成するクロック信号生成手段を有し、
    前記クロック信号生成手段は、所定周波数の信号を逓倍及び分周することにより通信速度に応じたクロック信号を生成することを特徴とする、
    請求項1又は2記載の電子システム。
  4. 前記第1デバイスは、前記第1コマンド及び前記第2コマンドを、送信先を示す値を付したパケットにより送信し、
    前記第2デバイスは、受信した前記パケットの送信先が前記第3デバイスであれば当該パケットを前記第3デバイスに送信し、前記パケットの送信先が前記第2デバイスであれば前記第2応答を前記第1デバイスに送信することを特徴とする、
    請求項1〜3のいずれか1項記載の電子システム。
  5. 前記第2デバイスは、前記第1デバイスにデータを送信中に、前記第3デバイスから前記第1応答を受信すると、当該第1応答を一時蓄積するバッファを備えることを特徴とする、
    請求項1〜4のいずれか1項記載の電子システム。
  6. 第1デバイス、第2デバイスおよび第3デバイスが通信ラインを介して直列接続されているシステムにより実行される方法であって、
    前記第1デバイスが、通信速度を第1速度に変更するための第1コマンドを、前記第2デバイスを介して前記第3デバイスに送信し、
    前記第3デバイスが、前記第1コマンドを受信したことに基づく第1応答を前記第2デバイスを介して前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替え、
    前記第1デバイスが、前記第3デバイスから前記第1応答を受信した後に、通信速度を前記第1速度へ変更するための第2コマンドを前記第2デバイスに送信し、
    前記第2デバイスが、前記第2コマンドを受信したことに基づく第2応答を前記第1デバイスに送信した後に、通信速度を前記第1速度に切り替え、
    前記第1デバイスが、前記第2デバイスから前記第2応答を受信した後に、通信速度を前記第1速度へ変更することを特徴とする、
    通信制御方法。
JP2012184481A 2012-08-23 2012-08-23 電子システム及び通信制御方法 Expired - Fee Related JP5661702B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012184481A JP5661702B2 (ja) 2012-08-23 2012-08-23 電子システム及び通信制御方法
CN201310363079.XA CN103631743B (zh) 2012-08-23 2013-08-20 通过串行通信发送和接收数据的电子系统和通信控制方法
US13/972,765 US9075628B2 (en) 2012-08-23 2013-08-21 Electronic system and communication control method for transmitting and receiving data by serial communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012184481A JP5661702B2 (ja) 2012-08-23 2012-08-23 電子システム及び通信制御方法

Publications (2)

Publication Number Publication Date
JP2014041548A JP2014041548A (ja) 2014-03-06
JP5661702B2 true JP5661702B2 (ja) 2015-01-28

Family

ID=50147969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012184481A Expired - Fee Related JP5661702B2 (ja) 2012-08-23 2012-08-23 電子システム及び通信制御方法

Country Status (3)

Country Link
US (1) US9075628B2 (ja)
JP (1) JP5661702B2 (ja)
CN (1) CN103631743B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115265303B (zh) * 2022-08-31 2023-12-29 无锡赛米垦拓微电子股份有限公司 一种电子雷管控制系统及其通讯速度切换方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05136898A (ja) * 1991-05-16 1993-06-01 Fujitsu Ltd 可変帯域通信システム
JPH07212432A (ja) * 1994-01-25 1995-08-11 Fuji Facom Corp データ中継装置
US6069926A (en) 1996-10-30 2000-05-30 Canon Kabushiki Kaisha Communication control system and apparatus
JP4659175B2 (ja) * 2000-04-25 2011-03-30 富士通東芝モバイルコミュニケーションズ株式会社 携帯通信端末
JP4467727B2 (ja) 2000-07-24 2010-05-26 キヤノン株式会社 電子機器の接続方法およびその電子機器およびその動作処理プログラムを記憶した記憶媒体
JPWO2003009533A1 (ja) * 2001-07-11 2004-11-11 富士通株式会社 インタフェース装置及びその制御方法
JP2005129010A (ja) * 2003-09-29 2005-05-19 Sharp Corp デバイス側コントローラ,ホスト側コントローラ,通信コントローラ,usbシステム,パケット通信方法,パケット通信プログラムおよび記録媒体
US8271697B2 (en) * 2009-09-29 2012-09-18 Micron Technology, Inc. State change in systems having devices coupled in a chained configuration
US8477898B2 (en) * 2010-06-21 2013-07-02 Synopsys, Inc. Highly flexible fractional N frequency synthesizer
JP2012124618A (ja) * 2010-12-06 2012-06-28 Sharp Corp 通信速度設定値決定方法

Also Published As

Publication number Publication date
CN103631743B (zh) 2016-12-28
JP2014041548A (ja) 2014-03-06
US20140056336A1 (en) 2014-02-27
US9075628B2 (en) 2015-07-07
CN103631743A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
US8428210B2 (en) Apparatus and method for controlling a master/slave system via master device synchronization
CN107707447B (zh) 一种基于EtherCAT的从站系统及控制方法
KR100614638B1 (ko) 고속의 무선 통신에 적합한 하이브리드형 직렬 주변 장치 인터페이스 회로 및 그 방법
EP3136652B1 (en) Emulating bi-directional bus communication using separate unidirectional channels
EP3273359A1 (en) Configurable clock tree
JP4367528B2 (ja) シリアル通信装置
TW201447559A (zh) 兩線串列介面及協定
CN115956355A (zh) 通信设备、通信系统和通信方法
JP5661702B2 (ja) 電子システム及び通信制御方法
JP2011035834A (ja) 通信システム、通信装置及び通信方法
US20100080332A1 (en) Clock-synchronous communication apparatus and communication system
US10891242B2 (en) Embedded USB2 (eUSB2) repeater operation
US20130262610A1 (en) Communication system and method for configuring programmable hardware
JP5930767B2 (ja) 電子デバイス、通信制御方法
JP2006304011A (ja) インタフェース回路
KR100811452B1 (ko) 피엘시 시스템용 리모트 모듈 및 그 제어방법
JPS58164360A (ja) デ−タ通信装置
JP2000224205A (ja) Hdlc伝送方式
KR102474620B1 (ko) 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
EP1525722A2 (en) Packet signal processing architecture
KR100295683B1 (ko) 인터아이씨의 제너럴콜 어크날리지장치및 방법
JP2021150732A (ja) マスタスレーブ通信システム、電子デバイス、マスタスレーブ通信システムの制御方法、電子デバイスの制御方法
CN112667533A (zh) 包括子系统接口的半导体设备及其通信方法
JPS62171349A (ja) 通信制御装置
KR100228015B1 (ko) 독립된 송수신 클럭을 사용하는 통신용 리피터

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141203

R151 Written notification of patent or utility model registration

Ref document number: 5661702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees