JP3845003B2 - データ転送レート判別方法およびその回路 - Google Patents
データ転送レート判別方法およびその回路 Download PDFInfo
- Publication number
- JP3845003B2 JP3845003B2 JP2001373913A JP2001373913A JP3845003B2 JP 3845003 B2 JP3845003 B2 JP 3845003B2 JP 2001373913 A JP2001373913 A JP 2001373913A JP 2001373913 A JP2001373913 A JP 2001373913A JP 3845003 B2 JP3845003 B2 JP 3845003B2
- Authority
- JP
- Japan
- Prior art keywords
- clock pulse
- transfer rate
- data transfer
- input
- flip
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0262—Arrangements for detecting the data rate of an incoming signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High speed serial bus, e.g. IEEE P1394
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
【発明の属する技術分野】
この発明は、データ転送レートの判別方法およびその判別回路に関し、特に、IEEE1394のシリアルバスを介しての、またはイーサネット(登録商標)のデータ転送レートの判別方法およびその判別回路に関する。
【0002】
【従来技術】
図12はIEEE1394規格のケーブルメディアインタフェース部分の回路図である。IEEE1394規格では2対の差動信号(TPA/TPA*、TPB/TPB*)を用いてデータの送受信やアービトレーション(Arbitration:同じリソースの割り当てを要求するデバイス間の競合の解決)手続き等のすべての処理が行われ、装置間の接続に用いられるケーブルはクロスケーブルが使用される(一方のTPA/TPA*端子と他方のTPB/TPB*端子また逆に一方のTPB/TPB*端子と他方のTPA/TPA*端子が接続される)。また、IEEE1394規格ではデータの転送レートは100Mbps、200Mbps、400Mbpsなど複数の転送レートが規定されているが、データ転送レートの告知はデータパケットの送受信の前に行なわれるアービトレーション手続き時に送信側、受信側の装置の双方がTPB/TPB*端子よりCommon mode signa1ing current(共通モード信号電流)を引き込みコモンモード電圧を変化させることによって行なわれ、クロスケーブルによって接続されているため送信側、受信側の装置の双方がTPA/TPA*端子のコモンモード電圧を比較することでデータ転送レートの判別を行なっていた。
【0003】
【発明が解決しようとする課題】
しかしながら、データの転送レートを告知する方法は、コモンモード電圧を変化させ、その変化した電圧によってデータの転送レートを決定するものである。しかし、製造ばらつきによって特性が異なる可能性があり、データ転送レートの判別が送信側と受信側で異なる可能性があった。また、上記構成の場合、データの転送レートを告知するだけの機構のみを備えているだけで、データ転送レートが送信側、受信側で一致しているか否かを判別する手段が無いという問題点があった。
【0004】
また、データの転送レートを告知するためにコモンモード電圧を変化させるにはCommon mode signa1ing currentを引き込むことが必要なため、消費電流を増加させる要因となっていた。
【0005】
さらに、上記問題は他の関連技術であるイーサネット(登録商標)においても発生していた。
【0006】
本発明の目的は、上記問題点に鑑み、消費電流の増加を抑え、受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じであるか否かをデータパケット受信時に判別することができるデータ転送レートの判別方法およびその回路を提供することにある。
【0007】
【課題を解決するための手段】
本発明は上記課題を解決するために以下の解決手段を採用した。
(1)データ転送レート判別方法において、データの転送前に行われる手続きにおいてデータ転送レートを識別し、データの受信時に受信信号からデータとクロックパルスを分離し、前記手続きによって識別されたデータ転送レートに基づいた基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成し、前記手続きによって識別されたデータ転送レートに基づいた基準周波数クロックパルスに同期して第1クロックパルスから第2クロックパルスを作成し、前記第1クロックパルスと前記第2クロックパルスとの排他的論理和を取ったときローレベルを維持するか否かで前記手続きによって識別されたデータ転送レートと受信データの転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力することを特徴とする。
(2)上記(1)記載のデータ転送レート判別方法において、前記基準周波数クロックパルスを、該基準周波数クロックパルスと前記エラー通知を行う信号をインバータを介して反転した信号の論理和をとった信号に置き換えたことを特徴とする。
(3)上記(1)記載のデータ転送レート判別方法において、前記エラー通知を行なった回数が規定回数を超えたときにエラー規定回数超過通知を行なうことを特徴とする。
(4)上記(3)記載のデータ転送レート判別方法において、前記規定回数を任意に設定することを特徴とする。
(5)データ転送レート判別方法において、データの受信時に受信信号からデータとクロックパルスを分離し、予め設定した異なる周波数の基準周波数クロックパルス毎に該基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成すると共に該第1クロックパルスから第2クロックパルスを作成し、この作成した前記第1クロックパルスと第2クロックパルスの排他的論理輪をとったときローレベルを維持するか否かを前記異なる周波数の基準周波数クロックパルス毎に検出して前記異なる周波数の基準周波数クロックパルス毎に該基準周波数のデータ転送レートと受信データのデータ転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力することを特徴とする。
(6)データ転送レート判別回路において、データの受信時に受信信号からデータとクロックパルスを分離してそれぞれ出力し、前記クロックパルスを入力し、データ転送レートに基づいた基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成すると共に該第1クロックパルスから第2クロックパルスを作成し、この作成した前記第1クロックパルスと第2クロックパルスの排他的論理和をとり、該排他的論理和がローレベルを維持するか否かで前記データ転送レートと受信データのデータ転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力するように構成したことを特徴とする。
(7)上記(6)記載のデータ転送レート判別回路において、前記エラー通知を行う信号を反転するようにインバータを設け、前記基準周波数クロックパルスが、前記基準周波数クロックパルスと前記インバータの出力信号の論理和をとった信号に置き換えられるように論理和回路を設けたことを特徴とする。
(8)上記(6)記載のデータ転送レート判別回路において、前記エラー通知を行なった回数が規定回数を超えたときにエラー規定回数超過通知を行なうようにカウンタを設けたことを特徴とする。
(9)上記(8)記載のデータ転送レート判別回路において、前記規定回数を任意に設定することができる前記カウンタとしたことを特徴とする。
(10)上記(8)又は(9)記載のデータ転送レート判別回路において、前記エラー通知を行う信号を反転するようにインバータを設け、前記基準周波数クロックパルスが、前記基準周波数クロックパルスと前記インバータの出力信号の論理和をとった信号に置き換えられるように論理和回路を設けたことを特徴とする。
(11)データ転送レート判別回路において、データの受信時に受信信号からデータとクロックパルスを分離し、予め設定した異なる周波数の基準周波数クロックパルス毎に該基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成すると共に該第1クロックパルスから第2クロックパルスを作成し、この作成した前記第1クロックパルスと第2クロックパルスの排他的論理輪をとったときローレベルを維持するか否かを前記異なる周波数の基準周波数クロックパルス毎に検出して前記異なる周波数の基準周波数クロックパルス毎に該基準周波数のデータ転送レートと受信データのデータ転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力するように構成したことを特徴とする。
(12)上記(11)記載のデータ転送レート判別回路において、前記エラー通知が行われたときに、少なくとも前記エラー通知を行なった前記異なる周波数の基準周波数クロックパルス毎の転送レート判別動作を停止させるようにしたことを特徴とする。
【0008】
【発明の実施の形態】
以下、本発明を図に基づいて詳細に説明する。
(第1実施例)
IEEE1394規格ではデータパケットの送受信にデータストローブ符号化方式が採用されている。
【0009】
図13は従来のデータストローブ符号化方式のタイムチャートを示す図である。データストローブ符号化方式とは、この図13に示すように、データとストローブの排他的論理和がクロックパルスとなる方式であって、そのクロックパルスによってデータが取り込まれる。
【0010】
図14は、データストローブ符号化方式に必要な、受信側で必要とされる従来のデータストローブデコード回路図である。
【0011】
図1は本発明の第1実施例を示す回路図である。
【0012】
TPA、TPA*差動信号入力端子は、データレシーバ1の+(プラス)端子、−(マイナス)端子にそれぞれ接続され、TPB、TPB*差動信号入力端子は、ストローブレシーバ2の+端子、−端子にそれぞれ接続される。
【0013】
データレシーバ1とストローブレシーバ2は共に+端子に入力される信号の電圧が−端子に入力される信号の電圧よりも高い場合にはHレベルを出力し、−端子に入力される信号の電圧が+端子に入力される信号の電圧よりも高い場合にはLレベルを出力する回路である。データレシーバ1の出力は2入力ORゲート3の一方の入力に接続され、ストローブレシーバ2の出力は2入力ORゲート3のもう一方の入力に接続される。また、データレシーバ1の出力はフリップフロップ4のD端子とフリップフロップ5のD端子にも接続される。フリップフロップ4およびフリップフロップ5のQ端子はデータ_1およびデータ_0出力端子に接続され受信データとなる。2入力ORゲート3の出力はフリップフロップ4およびフリップフロップ5のCL端子とフリップフロップ6のD端子に接続される。また、Receive_CLK出力端子に接続され受信クロックとなる。一般的に前記受信データ(データ_0、データ_1)は上位ブロックでのデータ処理のためにシフトレジスタやFIFOなどに前記受信クロック(Receive_CLK)に基づいて取り込まれる。ここで、データレシーバ1、ストローブレシーバ2、2入力ORゲート3の構成は前記データストローブデコード回路のものと同一である。
【0014】
次に、フリップフロップ6のQ端子はフリップフロップ7のD端子と2入力排他的NORゲート8の一方の入力に接続され、フリップフロップ7のQ端子は2入力排他的NORゲート8のもう一方の入力に接続される。2入力排他的NORゲート8の出力は2入力ORゲート9の一方の入力に接続される。2入力ORゲート9の出力はフリップフロップ10のD端子に接続され、フリップフロップ10のQ端子は2入力ORゲート9のもう一方の入力に接続され、また、データ転送レートの相違を通知するためのError出力端子に接続される。Sense_en入力端子はフリップフロップ10のCL(クロック)端子に接続され、データ転送レートの判別を実施するか否かの制御が行なわれる。Clock入力端子はフリップフロップ6とフリップフロップ7とフリップフロップ10のCL端子に接続される。Clock入力端子からはクロックパルスが入力されるが、その周波数はデータパケットの送受信の前に行なわれるアービトレーション手続きによって判別されたデータ転送レートに基づいた周波数のクロックパルスが入力される。
(動作)
IEEE1394規格では前述した通りデータの転送レートは100Mbps、200Mbps、400Mbpsなど複数の転送レートが規定されているが、本発明ではデータ転送レートが200Mbpsとして説明する。
【0015】
図2は第1実施例の動作を示すタイムチャートである。このタイムチャートを基に以下説明する。
【0016】
TPA、TPA*差動信号入力端子に信号が入力されると、データレシーバ1は+端子に入力される信号の電圧が−端子に入力される信号の電圧よりも高い場合にはHレベルを出力し、−端子に入力される信号の電圧が+端子に入力される信号の電圧よりも高い場合にはLレベルを出力する。同様にTPB、TPB*差動信号入力端子に信号が入力されると、ストローブレシーバ2は+端子に入力される信号の電圧が−端子に入力される信号の電圧よりも高い場合にはHレベルを出力し、−端子に入力される信号の電圧が+端子に入力される信号の電圧よりも高い場合にはLレベルを出力する。
【0017】
次に、IEEE1394規格に従って、2入力ORゲート3はデータレシーバ1の出力信号とストローブレシーバ2の出力信号に基づいて排他的論理和を出力し、フリップフロップ4は2入力ORゲート3の出力信号の立ち上がりでデータレシーバ1の出力信号を取りこみデータ_1出力端子へ出力する。 また同様に、フリップフロップ5は2入力ORゲート3の出力信号の立ち下がりでデータレシーバ1の出力信号を取りこみデータ_0出力端子へ出力する。2入力ORゲート3の出力信号は、図示しない上位ブロックでのデータ処理のためにデートを再度取りこむためのシフトレジスタやFIFOなどヘクロックパルスを供給するためReceive_CLK出力端子に出力される。
【0018】
また、前述したとおり、データ転送レートの告知はデータパケットの送受信の前に行なわれるアービトレーション手続き時に決定するが、それに基づいた周波数のクロックパルスがClock入力端子から入力される。
【0019】
図2ではClock入力端子から入力されるクロックパルスの周波数が上から400MHz、100MHz、200MHzの場合を破線によって区切り、それぞれの動作を説明する。
【0020】
まず、前記クロックパルスの周波数がデータ転送レートより高速な400MHzの場合について説明する。
【0021】
Clock入力端子からクロックパルスが入力され、そのクロックパルスの立ち上がりでフリップフロップ6は2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。次に、2入力ORゲート3の出力信号がHレベルになった次のクロックパルスの立ち上がりでフリップフロップ6は同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。
【0022】
これによって2入力排他的NORゲート8の出力信号はHレベルからLレベルに変化し、2入力排他的NORゲート8の出力信号がLレベルとなったことにより2入力ORゲート9の出力信号もHレベルからLレベルに変化する。次のクロックパルスの立ち上がりでフリップフロップ6は同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみHレベルを出力する。これによって2入力排他的NORゲート8の出力信号はLレベルからHレベルに変化し、2入力排他的NORゲート8の出力信号がHレベルとなったことにより2入力ORゲート9の出力信号もLレベルからHレベルに変化する。以降、クロックパルスの立ち上がり毎に2入力排他的NORゲート8の出力信号が反転することは図1の回路より容易に理解できる。次に、Sense_en入力端子からHレベルが入力されると、フリップフロップ10は2入力ORゲート9の出力信号を取りこむことが可能となる。
【0023】
2入力ORゲート9の出力信号がHレベルの状態でクロックパルスが立ち上がると、フリップフロップ10は2入力ORゲート9の出力信号を取りこみHレベルを出力する。フリップフロップ10がHレベルを出力すると2入力ORゲート9の出力信号はHレベルに固定される。また、フリップフロップ10はError(エラー)出力端子に出力する。Error出力端子がHレベルとなることによって、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをErrorとして通知できる。ここでSense_en信号は上位ブロックより入力され、アービトレーション手続き時やアイドル時にはError出力端子にデータ転送レートが異なっているエラー通知をすることを無効にできる場合について説明したが、本発明はアービトレーション手続き時やアイドル時にエラー通知ができるか否かで限定されるものではく、エラー通知ができる手段を備えていればよい。また、エラーを通知した場合には、その情報をそのまま保持する場合について説明したが、本発明はエラー通知の保持方法で限定されるものではなく、同じくエラー通知ができる手段を備えていればよい。
【0024】
次に、クロックパルスの周波数がデータ転送レートより低速な100MHzの場合について説明する。クロックパルスの周波数が400MHzの場合と同様、クロックパルスの立ち上がりでフリップフロップ6は2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。フリップフロップ6およびフリップフロップ7の出力信号は共にLレベルであるため、2入力排他的NORゲート8の出力信号はHレベル、2入力ORゲート9の出力信号はHレベルとなる。以降、フリップフロップ6、フリップフロップ7および2入力排他的NORゲート8の出力信号が変化しないことは図1の回路より容易に理解できる。
【0025】
Sense_en入力端子からHレベルが入力されると、フリップフロップ10は2入力ORゲート9の出力信号を取りこむことが可能となり、次のクロックパルスの立ち上がりでフリップフロップ10は2入力ORゲート9の出力信号を取りこみHレベルをError出力端子に出力する。また、2入力ORゲート9の出力信号はHレベルに固定される。これによって、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知できる。
【0026】
次に、前記クロックパルスの周波数がデータ転送レートと同じ200MHzの場合について説明する。前述と同様、クロックパルスの立ち上がりでフリップフロップ6は2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。次のクロックパルスの立ち上がりでフリップフロップ6は同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。これによって2入力排他的NORゲート8の出力信号はHレベルからLレベルに変化し、2入力排他的NORゲート8の出力信号がLレベルとなったことにより2入力ORゲート9の出力信号もHレベルからLレベルに変化する。以降、フリップフロップ6はクロックパルスの立ち上がり毎に2入力ORゲート3の出力信号を取りこみ出力信号が反転し、フリップフロップ7はクロックパルスの立ち上がり毎にフリップフロップ6の出力信号を取りこみ出力信号が反転し、また、2入力排他的NORゲート8の出力信号は変化しないことは図1の回路より容易に理解できる。Sense_en入力端子からHレベルが入力されると、フリップフロップ10は2入力ORゲート9の出力信号を取りこむことが可能となり、次のクロックパルスの立ち上がりでフリップフロップ10は2入力ORゲート9の出力信号を取りこみLレベルを2入力ORゲート9およびError出力端子に出力する。クロックパルスの周波数がデータ転送レートと同じ200MHzの場合にはエラーが通知されず、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが同じであることが確認できる。
(第1実施例の効果)
以上のように、本発明の第1実施例によればアービトレーション手続き時に受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じであるか否かをデータパケット受信時に判別することが可能となる。
(第2実施例)
本発明の第1実施例では、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知した後であってもフリップフロップ6、フリップフロップ7、フリップフロップ10へのクロックパルスの供給されつづけたままとなっており、消費電流を抑える妨げとなっていた。
【0027】
図3は本発明の第2実施例を示す回路図である。本発明の第2実施例では、フリップフロップ10のQ端子はインバータゲート11の入力にも接続される。2入力ANDゲート12の入力はインバータゲート11の出力とClock入力端子に接続される。また、フリップフロップ6、フリップフロップ7、フリップフロップ10のCL端子と2入力ANDゲート12の出力が接続される。
【0028】
以上によって、エラー通知後に前記フリップフロップ6、フリップフロップ7、フリップフロップ10へのクロックパルスの供給を停止することができる。
(動作)
図4は第2実施例の動作を示すタイムチャートである。本説明でもデータ転送レートが200Mbpsとして説明する。また、図4でもClock入力端子から入力されるクロックパルスの周波数が上から破線によって400MHz、100MHz、200MHzの場合を区切り、それぞれの動作を説明する。
【0029】
前記クロックパルスの周波数が400MHzおよび100MHzの場合はError出力端子がHレベルとなるところまでは、本発明の第1実施例の動作を示す。図2のタイムチャートと同じであるため説明は省略する。Error出力端子がHレベルとなることによって、インバータゲート11の出力信号はLレベルとなり、2入力ANDゲート12の出力信号はLレベルに固定される。これにより、フリップフロップ6、フリップフロップ7、フリップフロップ10へのクロックパルスの供給が停止する。
【0030】
次に、前記クロックパルスの周波数がデータ転送レートと同じ200MHzの場合であるが、本発明の第1実施例でも説明した通り、エラー通知がされずError出力端子がLレベルのままであるため、インバータゲート11の出力信号はHレベルであって、2入力ANDゲート12の出力信号はClock入力端子から信号がそのまま出力される。
(第2実施例の効果)
以上のように、本発明の第2実施例によれば、アービトレーション手続き時に受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じであるか否かをデータパケット受信時に判別することが可能となる、といった本発明の第1実施例と同じ効果が得られるだけでなく、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知した場合には、データ転送レートの判別を行う回路の動作を停止することができるため、消費電流を抑えることができる。
(第3実施例)
実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが等しい場合には前述した通り、データパケット受信時にフリップフロップ6はClock入力端子から入力されるクロックパルスの立ち上がり毎に出力信号が反転する構成となっているが、本発明の第1実施例ではフリップフロップ6が1度誤った信号の取りこみを行なっただけで実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが等しい場合であってもエラー通知を行なう構成であった。
【0031】
誤った信号を取りこむ原因には以下のようなことが考えられる。
(1)送信側と受信側とでは同じクロックパルスに同期してデータの送受信が行なわれているわけではなく、それぞれ独立してクロックパルスを発生させる手段を備えているため、送信側と受信側とではわずかにクロックパルスの周波数が異なる可能性があること、
(2)ケーブルなどの外乱要因でのノイズによる信号品質の劣化やジッター等により2対の差動信号間にタイミングのずれが発生すること、
等である。
【0032】
図5は本発明の第3実施例を示す回路図である。
【0033】
本発明の第3実施例ではクロックパルスの立ち上がり時に2入力排他的NORゲート8の出力信号がHレベルとなっている回数をカウンタ13で数え、その回数が規定回数を超えた場合にエラー通知を行なう構成である。
【0034】
2入力排他的NORゲート8の出力はカウンタ13のCNT_EN端子に接続される。カウンタ13のCO端子は2入力ORゲート9の一方の入力に接続される。カウンタ13のCL端子はClock入力端子に接続される。ここで、カウンタ13はCNT_EN端子に入力される信号レベルがHレベルの状態でCL端子に入力される信号が立ち上がるとカウントアップし、また、カウント値がフルカウントになるとCO端子がHレベルとなる構成となっている。
【0035】
ただ、本発明はカウンタ13の構成で限定されるものではなく、クロックパルスの立ち上がり時に2入力排他的NORゲート8の出力信号がHレベルとなっている回数を数える機能を有していればよい。
(動作)
図6は第3実施例の動作を示すタイムチャートである。この説明でもデータ転送レートが200Mbpsとして説明する。また、図6でもClock入力端子から入力されるクロックパルスの周波数が上から400MHz、100MHz、200MHzの場合を破線によって区切り、それぞれの動作を説明する。TPA、TPA*差動信号入力端子およびTPB、TPB*差動信号入力端子に信号が入力されてからのデータレシーバ1、ストローブレシーバ2、2入力ORゲート3、フリップフロップ4およびフリップフロップ5の動作については本発明の第1実施例の説明を援用する。
【0036】
まず、クロックパルスの周波数がデータ転送レートより高速な400MHzの場合について説明する。Clock入力端子からクロックパルスが入力され、そのクロックパルスの立ち上がりでフリップフロップ6は2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。次に、2入力ORゲート3の出力信号がHレベルになった次のクロックパルスの立ち上がりでフリップフロップ6は同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。これによって2入力排他的NORゲート8の出力信号はHレベルからLレベルに変化し、2入力排他的NORゲート8の出力信号がLレベルとなったことにより2入力ORゲート9の出力信号もHレベルからLレベルに変化する。
【0037】
次のクロックパルスの立ち上がりでフリップフロップ6は同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみHレベルを出力する。これによって2入力排他的NORゲート8の出力信号はLレベルからHレベルに変化し、2入力排他的NORゲート8の出力信号がHレベルとなったことにより2入力ORゲート9の出力信号もLレベルからHレベルに変化する。以降、クロックパルスの立ち上がり毎に2入力排他的NORゲート8の出力信号が反転することは図5の回路より容易に理解できる。
【0038】
次に、Sense_en入力端子からHレベルが入力されると、カウンタ13はカウント動作が可能となり、また、フリップフロップ10は2入力ORゲート9の出力信号を取りこむことが可能となる。なお、本説明においてはカウンタ13には4bitカウンタを用いた場合を例に挙げ説明する。
【0039】
2入力排他的NORゲート8の出力信号がHレベルの状態でクロックパルスが立ち上がると、カウンタ13は1づつカウントアップする。カウンタ13のカウント値が“FEh”の状態で再度2入力排他的NORゲート8の出力信号がHレベルの時にクロックパルスが立ち上がると、カウント値がフルカウントとなりカウンタ13のCO端子からHレベルを出力し、これによって2入力ORゲート9の出力信号がHレベルとなる。この状態でクロックパルスが立ち上がると、フリップフロップ10は2入力ORゲート9の出力信号を取りこみHレベルを出力する。フリップフロップ10がHレベルを出力すると2入力ORゲート9の出力信号はHレベルに固定される。また、フリップフロップ10はError出力端子に出力する。Error出力端子がHレベルとなることによって、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知できる。
【0040】
次に、クロックパルスの周波数がデータ転送レートより低速な100MHzの場合について説明する。クロックパルスの周波数が400MHzの場合と同様、クロックパルスの立ち上がりでフリップフロップ6は2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。フリップフロップ6およびフリップフロップ7の出力は共にLレベルであるため、2入力排他的NORゲート8の出力信号がHレベルとなる。以降、フリップフロップ6、フリップフロップ7および2入力排他的NORゲート8の出力信号が変化しないことは図5の回路より容易に理解できる。
【0041】
Sense_en入力端子からHレベルが入力されると、カウンタ13はカウント動作が可能となり、また、フリップフロップ10は2入力ORゲート9の出力信号を取りこむことが可能となる。2入力排他的NORゲート8の出力信号はHレベルのためクロックパルスが立ち上がる毎にカウンタ13は1づつカウントアップする。カウンタ13のカウント値が“FEh”の状態で再度クロックパルスが立ち上がると、カウント値がフルカウントとなりカウンタ13のCO端子からHレベルを出力し、これによって2入力ORゲート9の出力信号がHレベルとなる。この状態でクロックパルスが立ち上がると、フリップフロップ10は2入力ORゲート9の出力信号を取りこみHレベルを出力する。フリップフロップ10がHレベルを出力すると2入力ORゲート9の出力信号はHレベルに固定される。また、フリップフロップ10はError出力端子に出力する。Error出力端子がHレベルとなることによって、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知できる。
【0042】
次に、前記クロックパルスの周波数がデータ転送レートと同じ200MHzの場合について説明する。前述と同様、クロックパルスの立ち上がりでフリップフロップ6は2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。次のクロックパルスの立ち上がりでフリップフロップ6は同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7はフリップフロップ6の出力信号を取りこみLレベルを出力する。これによって2入力排他的NORゲート8の出力信号はHレベルからLレベルになる。以降、フリップフロップ6はクロックパルスの立ち上がり毎に2入力ORゲート3の出力信号を取りこみ出力信号が反転し、フリップフロップ7はクロックパルスの立ち上がり毎にフリップフロップ6の出力信号を取りこみ出力信号が反転し、また、2入力排他的NORゲート8の出力信号は変化しないことは図5の回路より容易に理解できる。
【0043】
Sense_en入力端子からHレベルが入力されると、カウンタ13はカウント動作が可能となり、また、フリップフロップ10は2入力ORゲート9の出力信号を取りこむことが可能となるが、2入力排他的NORゲート8の出力信号はLレベルのままであるため、カウンタ13はカウントアップせず、CO端子からの出力信号もLレベルのままとなる。また、2入力ORゲート9の出力信号もLレベルのままとなる。よって、フリップフロップ10は2入力ORゲート9およびError出力端子にLレベルを出力する。
【0044】
以上述べたことから、クロックパルスの周波数がデータ転送レートと同じ200MHzの場合にはエラーが通知されず、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが同じであることが確認できる。
【0045】
また、クロックパルスの周波数がデータ転送レートと同じ200MHzの場合であっても信号品質の劣化やジッター等により2対の差動信号間にタイミングのずれが発生し、2入力排他的NORゲート8の出力信号がHレベルの状態でクロックパルスが立ち上がった場合には、本発明の前記第1実施例では1度その状態が発生しただけでエラー通知をしていたのに対して、本発明のこの第3実施例ではカウンタ13によってある特定の回数はその状態が発生してもエラー通知を抑制することが可能となる。
(第3実施例の効果)
以上のように、本発明の第3実施例によればアービトレーション手続き時に受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートをデータパケット受信時に判別し、異なる場合にはエラーとして通知することが可能となり、また、受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じ場合であっても信号品質の劣化やジッター等により2対の差動信号間にタイミングのずれの発生等による、誤った情報によってエラーとして通知することをある特定の回数は抑制することが可能となる。
(第4実施例)
前記本発明の第3実施例においても、前記本発明の第1実施例と同様、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知した後であっても、フリップフロップ6、フリップフロップ7、フリップフロップ10へのクロックパルスが供給されつづけたままとなっており、消費電流を抑える妨げとなっていた。
【0046】
図7は本発明の第4実施例を示す回路図である。
【0047】
本発明の第4実施例では、フリップフロップ10のQ端子はインバータゲート11の入力にも接続される。2入力ANDゲート12の入力はインバータゲート11の出力とClock入力端子に接続される。また、フリップフロップ6、フリップフロップ7、カウンタ13、フリップフロップ10のCL端子と2入力ANDゲート12の出力が接続される。このように構成することによって、エラー通知後に前記フリップフロップ6、フリップフロップ7、カウンタ13、フリップフロップ10へのクロックパルスの供給を停止することができる。
(動作)
図7の回路の動作については本発明の第2実施例および本発明の第3実施例での説明を援用し、ここでは他の実施例にない新規な回路のクロック供給停止動作について説明する。Error出力端子がHレベルとなった場合には、インバータゲート11の出力信号はLレベルとなり、また、2入力ANDゲート12の出力信号はLレベルに固定されるため、フリップフロップ6、フリップフロップ7、カウンタ13、フリップフロップ10へのクロックパルスの供給が停止する。
(第4実施例の効果)
以上のように、本発明の第4実施例によれば、アービトレーション手続き時に受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートをデータパケット受信時に判別し、異なる場合にはエラーとして通知することが可能となり、また、受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じ場合であっても信号品質の劣化やジッター等により2対の差動信号間にタイミングのずれの発生等による、誤った情報によってエラーとして通知することをある特定の回数は抑制することが可能になるといった本発明の前記第3実施例と同じ効果が得られるだけでなく、実際に送信側から転送されるデータ転送レートとアービトレーション手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知した場合には、データ転送レートの判別を行う回路の動作を停止することができ、消費電流を抑えることができるといった本発明の前記第2実施例と同じ効果も同時に得ることができる。
(第5実施例)
IEEE1394規格では、前述した通りデータの転送レートの告知はアービトレーション手続き時にCommon mode signa1ing currentを引き込むことでコモンモード電圧を変化させることによって行なわれていたが、これが消費電流を抑える妨げとなっていた。
【0048】
図8は本発明の第5実施例を示す回路図である。
【0049】
TPA、TPA*差動信号入力端子はデータレシーバ1の+端子、−端子にそれぞれ接続され、TPB、TPB*差動信号入力端子はストローブレシーバ2の+端子、−端子にそれぞれ接続される。データレシーバ1とストローブレシーバ2は共に+端子に入力される信号の電圧が−端子に入力される信号の電圧よりも高い場合にはHレベルを出力し、−端子に入力される信号の電圧が+端子に入力される信号の電圧よりも高い場合にはLレベルを出力する回路である。データレシーバ1の出力は2入力ORゲート3の一方の入力に接続され、ストローブレシーバ2の出力は2入力ORゲート3のもう一方の入力に接続される。また、データレシーバ1の出力はフリップフロップ4のD端子とフリップフロップ5のD端子にも接続される。フリップフロップ4およびフリップフロップ5のQ端子はデータ_1およびデータ_0出力端子に接続され受信データとなる。2入力ORゲート3の出力はフリップフロップ4およびフリップフロップ5のCL端子とフリップフロップ6a、フリップフロップ6b、フリップフロップ6cのD端子に接続される。また、Receive_CLK出力端子に接続され受信クロックとなる。一般的に前記受信データ(データ_1、データ_0)は上位ブロックでのデータ処理のためにシフトレジスタやFIFOなどに前記受信クロック(Receive_CLK)に基づいて取り込まれる。
【0050】
フリップフロップ6a、フリップフロップ7a、2入力排他的NORゲート8a、2入力ORゲート9a、フリップフロップ10aはデータ転送レートが100Mbpsであるか否かの判別を行なうブロックである。フリップフロップ6aのQ端子はフリップフロップ7aのD端子と2入力排他的NORゲート8aの一方の入力に接続され、フリップフロップ7aのQ端子は2入力排他的NORゲート8aのもう一方の入力に接続される。2入力排他的NORゲート8aの出力は2入力ORゲート9aの一方の入力に接続される。2入力ORゲート9aの出力はフリップフロップ10aのD端子に接続され、フリップフロップ10aのQ端子は2入力ORゲート9aのもう一方の入力に接続され、また、データ転送レートの相違を通知するためのError100出力端子に接続される。
【0051】
Clock100入力端子はフリップフロップ6aとフリップフロップ7aとフリップフロップ10aのCL端子に接続され、100MHzのクロックが入力される。
【0052】
また、フリップフロップ6b、フリップフロップ7b、2入力排他的NORゲート8b、2入力ORゲート9b、フリップフロップ10bはデータ転送レートが200Mbpsであるか否かの判別を行なうブロックである。フリップフロップ6bのQ端子はフリップフロップ7bのD端子と2入力排他的NORゲート8bの一方の入力に接続され、フリップフロップ7bのQ端子は2入力排他的NORゲート8bのもう一方の入力に接続される。2入力排他的NORゲート8bの出力は2入力ORゲート9bの一方の入力に接続される。2入力ORゲート9bの出力はフリップフロップ10bのD端子に接続され、フリップフロップ10bのQ端子は2入力ORゲート9bのもう一方の入力に接続され、また、データ転送レートの相違を通知するためのError200出力端子に接続される。Clock200入力端子はフリップフロップ6bとフリップフロップ7bとフリップフロップ10bのCL端子に接続され、200MHzのクロックが入力される。
【0053】
また、フリップフロップ6c、フリップフロップ7c、2入力排他的NORゲート8c、2入力ORゲート9c、フリップフロップ10cはデータ転送レートが400Mbpsであるか否かの判別を行なうブロックである。フリップフロップ6cのQ端子はフリップフロップ7cのD端子と2入力排他的NORゲート8cの一方の入力に接続され、フリップフロップ7cのQ端子は2入力排他的NORゲート8cのもう一方の入力に接続される。2入力排他的NORゲート8cの出力は2入力ORゲート9cの一方の入力に接続される。2入力ORゲート9cの出力はフリップフロップ10cのD端子に接続され、フリップフロップ10cのQ端子は2入力ORゲート9cのもう一方の入力に接続され、また、データ転送レートの相違を通知するためのError400出力端子に接続される。Clock400入力端子はフリップフロップ6cとフリップフロップ7cとフリップフロップ10cのCL端子に接続され、400MHzのクロックが入力される。
【0054】
Sense_en入力端子はフリップフロップ10a、フリップフロップ10b、フリップフロップ10cのCL端子に接続され、データ転送レートの判別を実施するか否かの制御が行なわれる。
(動作)
図9は第5実施例の動作を示すタイムチャートである。本説明でもデータ転送レートが200Mbpsとして説明する。TPA、TPA*差動信号入力端子およびTPB、TPB*差動信号入力端子に信号が入力されてからのデータレシーバ1、ストローブレシーバ2、2入力ORゲート3、フリップフロップ4およびフリップフロップ5の動作については前記の実施例から容易に理解できるためここでは省略する。
【0055】
まず、データ転送レートが100Mbpsであるか否かの判別を行なうブロックの動作について説明する。Clock100入力端子から100MHzクロックパルスが入力され、その100MHzクロックパルスの立ち上がりでフリップフロップ6aは2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7aはフリップフロップ6aの出力信号を取りこみLレベルを出力する。
【0056】
フリップフロップ6aおよびフリップフロップ7aの出力信号は共にLレベルであるため、2入力排他的NORゲート8aの出力信号がHレベル、2入力ORゲート9aの出力信号もHレベルとなる。以降、フリップフロップ6a、フリップフロップ7aおよび2入力排他的NORゲート8aの出力信号が変化しないことは図8の回路より容易に理解できる。
【0057】
Sense_en入力端子からHレベルが入力されると、フリップフロップ10aは2入力ORゲート9aの出力信号を取りこむことが可能となり、次の100MHzクロックパルスの立ち上がりでフリップフロップ10aは2入力ORゲート9aの出力信号を取りこみHレベルをError100出力端子に出力する。また、2入力ORゲート9aの出力信号はHレベルに固定される。これによって、送信側から転送されるデータ転送レートが100Mbpsではないことをエラーとして通知できる。
【0058】
次に、データ転送レートが200Mbpsであるか否かの判別を行なうブロックの動作について説明する。Clock200入力端子から200MHzクロックパルスが入力され、その200MHzクロックパルスの立ち上がりでフリップフロップ6bは2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7bはフリップフロップ6bの出力信号を取りこみLレベルを出力する。
【0059】
次の200MHzクロックパルスの立ち上がりでフリップフロップ6bは同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7bはフリップフロップ6bの出力信号を取りこみLレベルを出力する。これによって2入力排他的NORゲート8bの出力信号はHレベルからLレベルに変化し、2入力排他的NORゲート8bの出力信号がLレベルとなったことにより2入力ORゲート9bの出力信号もHレベルからLレベルに変化する。以降、フリップフロップ6bは200MHzクロックパルスの立ち上がり毎に2入力ORゲート3の出力信号を取りこみ出力信号が反転し、フリップフロップ7bは200MHzクロックパルスの立ち上がり毎にフリップフロップ6bの出力信号を取りこみ出力信号が反転し、また、2入力排他的NORゲート8bの出力信号は変化しないことは図8の回路より容易に理解できる。Sense_en入力端子からHレベルが入力されると、フリップフロップ10bは2入力ORゲート9bの出力信号を取りこむことが可能となり、次の200MHzクロックパルスの立ち上がりでフリップフロップ10bは2入力ORゲート9bの出力信号を取りこみLレベルを2入力ORゲート9bおよびError200出力端子に出力する。
【0060】
以上述べたとおり、エラー通知を行なわないため送信側から転送されるデータ転送レートが200Mbpsであることが確認できる。
【0061】
次に、データ転送レートが400Mbpsであるか否かの判別を行なうブロックの動作について説明する。Clock400入力端子から400MHzクロックパルスが入力され、その400MHzクロックパルスの立ち上がりでフリップフロップ6cは2入力ORゲート3の出力信号を取りこみLレベルを出力し、フリップフロップ7cはフリップフロップ6cの出力信号を取りこみLレベルを出力する。
【0062】
次に、2入力ORゲート3の出力信号がHレベルになった次の400MHzクロックパルスの立ち上がりでフリップフロップ6cは同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7cはフリップフロップ6cの出力信号を取りこみLレベルを出力する。これによって2入力排他的NORゲート8cの出力信号はHレベルからLレベルに変化し、2入力排他的NORゲート8cの出力信号がLレベルとなったことにより2入力ORゲート9cの出力信号もHレベルからLレベルに変化する。次の400MHzクロックパルスの立ち上がりでフリップフロップ6cは同じく2入力ORゲート3の出力信号を取りこみHレベルを出力し、フリップフロップ7cはフリップフロップ6cの出力信号を取りこみHレベルを出力する。これによって2入力排他的NORゲート8cの出力信号はLレベルからHレベルに変化し、2入力排他的NORゲート8cの出力信号がHレベルとなったことにより2入力ORゲート9cの出力信号もLレベルからHレベルに変化する。以降、400MHzクロックパルスの立ち上がり毎に2入力排他的NORゲート8cの出力信号が反転することは図9より容易に理解できる。次に、Sense_en入力端子からHレベルが入力されると、フリップフロップ10cは2入力ORゲート9cの出力信号を取りこむことが可能となる。2入力ORゲート9cの出力信号がHレベルの状態で400MHzクロックパルスが立ち上がりると、フリップフロップ10cは2入力ORゲート9cの出力信号を取りこみHレベルを出力する。フリップフロップ10cがHレベルを出力すると2入力ORゲート9cの出力信号はHレベルに固定される。また、フリップフロップ10cはError出力端子に出力する。これによって、送信側から転送されるデータ転送レートが400Mbpsではないことをエラーとして通知できる。
(第5実施例の効果)
以上のように、本発明の第5実施例によれば、アービトレーション手続きでのデータ転送レートの告知の有無にかかわらず、実際に送信側から転送されるデータ転送レートを受信側で判別することが可能となるため、同じ機能を備えた装置同士でのデータ転送ではアービトレーション手続き時にCommon modeSigna1ing Currentを引き込む必要が無くデータ転送レートの判別を行なうことができるため、消費電流を抑えることができる。
【0063】
また、送信側の装置に同じ機能を備えていない場合には、データ転送レートの告知のためにCommon mode signa1ing currentを引き込む機能を実装する必要があるが、その機能を阻害することはないため、従来の装置との接続も可能である。
【0064】
また、実際に送信側から転送されるデータ転送レートを受信側で判別することが可能となるため、アービトレーション手続き時にデータ転送レートの判別が送信側と受信側で異なっていても、上位ブロックでは送信側から転送されるデータ転送レートに基づいてデータ処理を行なうことが可能となる。
(第6実施例)
前記本発明の第5実施例では、送信側から転送されるデータ転送レートが100Mbpsであるか否かの判別を行なうブロック、200Mbpsであるか否かの判別を行なうブロック、400Mbpsであるか否かの判別を行なうブロックのすべてがエラーを通知した後であっても各周波数のクロックパルスが供給され続けたままとなっており、消費電流を抑える妨げとなっていた。
【0065】
図10は本発明の第6実施例を示す回路図である。
【0066】
本発明の第6実施例では、フリップフロップ10aのQ端子はインバータゲート11aの入力にも接続される。2入力ANDゲート12aの入力はインバータゲート11aの出力とClock100入力端子に接続される。また、フリップフロップ6a、フリップフロップ7a、フリップフロップ10aのCL端子と2入力ANDゲート12aの出力が接続される。
【0067】
また、フリップフロップ10bのQ端子はインバータゲート11bの入力にも接続される。2入力ANDゲート12bの入力はインバータゲート11bの出力とClock200入力端子に接続される。また、フリップフロップ6b、フリップフロップ7b、フリップフロップ10bのCL端子と2入力ANDゲート12bの出力が接続される。
【0068】
また、フリップフロップ10cのQ端子はインバータゲート11cの入力にも接続される。2入力ANDゲート12cの入力はインバータゲート11cの出力とClock400入力端子に接続される。また、フリップフロップ6c、フリップフロップ7c、フリップフロップ10cのCL端子と2入力ANDゲート12cの出力が接続される。
【0069】
以上述べたとおりであるから、エラー通知後にエラーを通知したデータ転送レートの判別を行なうブロックヘのクロックパルスの供給を停止することができる。
(動作)
図11は第6実施例の動作を示すタイムチャートである。この回路動作の説明でもデータ転送レートを200Mbpsとした例で説明する。
【0070】
データ転送レートが100Mbpsであるか否かの判別を行なうブロックの場合はError100出力端子がHレベルとなるところまでは、本発明の前記第5実施例の動作を示す図9のタイムチャートと同じであるためその説明を援用する。Error100出力端子がHレベルとなることによって、インバータゲート11aの出力信号はLレベルとなり、2入力ANDゲート12aの出力信号はLレベルに固定される。これにより、フリップフロップ6a、フリップフロップ7a、フリップフロップ10aへのクロックパルスの供給が停止する。
【0071】
データ転送レートが200Mbpsであるか否かの判別を行なうブロックの場合は、本発明の前記第5実施例でも説明したとおり、エラー通知がされずError200出力端子がLレベルのままであるため、インバータゲート11bの出力信号はHレベルであって、2入力ANDゲート12bの出力信号はClock200入力端子から信号がそのまま出力される。
【0072】
データ転送レートが400Mbpsであるか否かの判別を行なうブロックの場合はError400出力端子がHレベルとなるところまでは、本発明の前記第5実施例の動作を示す図9のタイムチャートと同じであるためその説明を援用する。Error400出力端子がHレベルとなることによって、インバータゲート11cの出力信号はLレベルとなり、2入力ANDゲート12cの出力信号はLレベルに固定される。これにより、フリップフロップ6c、フリップフロップ7c、フリップフロップ10cへのクロックパルスの供給が停止する。
(第6実施例の効果)
以上述べたとおり、本発明の第6実施例によれば、本発明の前記第5実施例と同じ効果が得られるだけでなく、エラーを通知した送信側から転送されるデータ転送レートの判別をするブロックの回路の動作を停止することができ、消費電流を抑えることができるといった効果も同時に得ることができる。
本発明の前記各実施例では、Sense_en信号によってエラー通知を行なわないようにできる場合について説明したが、本発明はエラー通知を行なうか否かの制御機能の有無で限定されるものではく、エラー通知ができる手段を備えていればよい。また、エラーを通知した場合には、その情報をそのまま保持する場合について説明したが、本発明はエラー通知の保持方法で限定されるものではなく、同じくエラー通知ができる手段を備えていればよい。
【0073】
本発明の第1実施例から第4実施例では、Clock端子から入力され、送信側から転送されるデータ転送レートを判別するために用いられるクロックパルスの周波数は100MHz、200MHz、400MHzの場合についてのみを説明したが、本発明はClock端子から入力されるクロックパルスの周波数で限定されるものではない。今後、拡張される可能性がある800Mbps、1.6Gbps等のデータ転送レートにもクロックパルスの周波数を変えることによって対応することが可能であり、また、データ転送レートは100Mbpsのみをサポートする装置や100Mbps、200Mbpsまでをサポートする装置にも対応することが可能である。
【0074】
本発明の第3実施例から第4実施例では、カウンタ13には4bitカウンタを用いた場合を例に挙げ説明したが、本発明はカウンタ13の構成で限定されるものではない。例えば、8bitカウンタを用いることも可能である。また、カウンタ13にデータロード機能を設けていれば、エラーとして通知するまでの誤った情報を抑制する回数を任意にかつ容易に設定することが可能となる。
【0075】
本発明の第5実施例と第6実施例では、送信側から転送されるデータ転送レートが100Mbps、200Mbps、400Mbpsの場合に判別を行なうことができることを説明したが、本発明は送信側から転送されるデータ転送レートの種類やその数で限定されるものではない。今後、拡張される可能性がある800Mbps、1.6Gbps等のデータ転送レートにも送信側から転送されるデータ転送レートの判別を行なうブロックを追加するだけで対応することが可能である。
(第7実施例)
以上述べた実施例のアービトレーションにおいては、TPA、TPBはツイストペア線による差動動作であり、扱う情報として“0”、“1”、“Hi−Z”の3値である。TPA、TPBはそれぞれドライバとレシーバをもっており、自ノードのTPAは対向ノードのTPBに、自ノードのTPBは対向ノードのTPAに接続される。IEEE1394では、TPA、TPBの2本のペア線上で両端のドライバのアクションに対するケーブル上の状態をレシーバで監視し、TPA、TPBの2本のケーブル上で作り出される状態により、ノード間の複雑な制御を行っている。
【0076】
TPA、TPB信号は、ストローブ信号およびデータ信号によりデータとクロック成分を受け渡すだけでなく、前記差動信号による“0”、“1”、“Hi−Z”の3つの状態と、TPA、TPBのペア線に印加されるバイアスによりケーブルの挿抜や、速度信号、その他バスリセットやアービトレーションなど、ノード間の状態のやりとりを行う。
【0077】
上で述べた実施例では、バケットを送信する前のPRIFIX時間において、バケットのスピード情報が転送される。IEEE1394ケーブル環境として取り扱えるスピードは、今のところ98.304Mbps(S100)、196.608Mbps(S200)、393.216Mbps(S400)となっている。スピード情報を送信するには、DATA_PRIFIX時間にTPBペア線とGND間にバイアス電流を流すことで行う。S200で3.5mA、S400で10mAを流し、S100では流さない。バイアス電流の差は受信側で振幅の差として検出できるので、対向ノードのTPAに実装されている2つのスピード情報検出用コンパレータの検出状態でスピードが判断できる。
【0078】
上記アービトレーションと同様な機能として、他にイーサネット(登録商標)におけるオートネゴシエーション機能(1つの対撚り線リンク・セグメント上で対向接続された装置が、お互いの共通する最高の動作モードで接続することを実現する機能)がある。
【0079】
次に、イーサネット(登録商標)に適応した本発明の第7実施例について説明する。
【0080】
この第7実施例は、本発明の前記第1実施例に示すデータ転送レートの相違をError信号によって通知する回路を組み込んで拡張する例である。前記IEEE1394とイーサネット(登録商標)との相違は、前記IEEE1394が1対の通信線で送受信を行うものであるのに対して、イーサネット(登録商標)は送信と受信をそれぞれ1対の通信線で行う点にある。
【0081】
図15は、本発明の第7実施例を示す回路図である。
【0082】
RXD+、RXD−受信データ信号入力端子は、レシーバ21の+端子、−端子にそれぞれ接続される。レシーバ21の出力端子はDLL(遅延ロックループ)回路22に接続される。DLL回路22は、受信信号を遅延させてクロックを検出する機能を有し、データ(Data)とクロック(Clock)を分離して出力する出力端子を有する。DLL回路22のData端子は図示しないデータ処理回路に接続される。DLL回路22のClock端子はフロップフリップ6のD端子に接続される。
【0083】
このフリップフロップ6から後段の、フリップフロップ7、2入力排他的NORゲート8、2入力ORゲート9、フリップフロップ10から構成され、Sense−en入力端子から制御信号が入力され、Clock入力端子からクロックパルスが入力され、Error出力端子にエラー信号を出力する回路は、既に前記第1実施例として述べたとおりの回路構成となっている。
【0084】
イーサネット(登録商標)に適用されるIEEE802.3規格では、データの転送レートは100Mbps、10Mbpsなど複数の転送レートが規定されている。
(動作)
Clock入力端子から入力されたクロックパルスの周波数が受信データ信号のデータ転送レートと同じ周波数の場合について説明する。
【0085】
レシーバ21で受信した受信データ信号RXD+、RXD−は、DLL回路22によりデータ信号とクロック信号に分離されて出力される。前記クロック信号はフリップフロップ6のD端子に入力される。一方、Clock入力端子からは前記転送レートのいずれか一つ、例えば100Mbpsの入力クロックパルスが供給され、前記フリップフロップ6およびフリップフロップ7のクロック端子に入力される。
【0086】
まず、入力クロックパルスが両フリップフロップ6および7のクロック端子に入力すると、フリップフロップ6は入力クロックパルスの立ち上がりに同期してDLL回路22の出力クロックのHレベルを取り込み2入力排他的NORゲート8にHレベルを出力する。
【0087】
次の入力クロックパルスの立ち上がりに同期して、フリップフロップ6はDLL回路22の出力クロックのLレベル取り込み2入力排他的NORゲート8にLレベルを出力し、フリップフロップ7はフリップフロップ6の出力を取り込み2入力排他的NORゲート8にHレベルを出力する。以降、フリップフロップ6はクロックパルスの立ち上がり毎にDLL回路22の出力信号を取り込み出力信号が反転し、フリップフロップ7はクロックパルスの立ち上がり毎にフリップフロップ6の出力信号を取り込み出力信号が反転する。この結果、2入力排他的NORゲート8の出力信号は変化しないことになる。
【0088】
一方、入力クロックパルスの周波数がデータ転送レートと異なる周波数の場合について説明する。
【0089】
両フリップフロップ6および7の出力がクロックパルスの立ち上がりに同期して交互にHレベルを出力するように出力しなくなったとき、即ち、1入力クロックパルスの遅れをもって同じ周波数で同じ波形のパルスを両フリップフロップ6および7で交互に出力しない限り、転送レートの不一致としてError出力で検出することができる。
【0090】
図15は前記図1のError検出回路を適用したが、他の実施例のError検出回路を適用することも同様に可能である。
(第7実施例の効果)
以上のように、本発明の第7実施例によればデータ転送前に受信側で判別したデータ転送レートと、実際に送信側から送られるデータ転送レートが同じであるか否かをデータ受信前に判別することが可能となる。
【0091】
【発明の効果】
本発明は以下に示す効果を奏する。
(1)アービトレーションまたはオートネゴシエーションなどのデータ転送前の手続き時に受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じであるか否かをデータパケット受信時に判別することができる。
(2)実際に送信側から転送されるデータ転送レートとデータ転送前の手続き時に受信側で判別したデータ転送レートが異なっていることをエラーとして通知した場合には、データ転送レートの判別を行う回路の動作を停止することができるため、消費電流を抑えることができる。
(3)受信側で判別したデータ転送レートと、実際に送信側から転送されるデータ転送レートが同じ場合であっても信号品質の劣化やジッター等により2対の差動信号間にタイミングのずれの発生等による、誤った情報によってエラーとして通知することをある特定の回数は抑制することが可能となる。
(4)送信側の装置に同じ機能を備えていない場合には、データ転送レートの告知のためにCommon mode signa1ing currentを引き込む機能を実装する必要があるが、その機能を阻害することはないため、従来の装置との接続も可能である。
【0092】
また、実際に送信側から転送されるデータ転送レートを受信側で判別することが可能となるため、データ転送前の手続き時にデータ転送レートの判別が送信側と受信側で異なっていても、上位ブロックでは送信側から転送されるデータ転送レートに基づいてデータ処理を行なうことが可能となる。
(5)データ転送前の手続き機能の可否や信号波形の状態を簡便に知ることができる。
【図面の簡単な説明】
【図1】本発明の第1実施例を示す回路図である。
【図2】本発明の第1実施例の動作を示すタイムチャートである。
【図3】本発明の第2実施例を示す回路図である。
【図4】本発明の第2実施例の動作を示すタイムチャートである。
【図5】本発明の第3実施例を示す回路図である。
【図6】本発明の第3実施例の動作を示すタイムチャートである。
【図7】本発明の第4実施例を示す回路図である。
【図8】本発明の第5実施例を示す回路図である。
【図9】本発明の第5実施例の動作を示すタイムチャートである。
【図10】本発明の第6実施例を示す回路図である。
【図11】本発明の第6実施例の動作を示すタイムチャートである。
【図12】従来のケーブルメディアインタフェース回路図である。
【図13】従来のデータストローブ符号化方式のタイムチャートを示す図である。
【図14】従来のデータストローブデコード回路図である。
【図15】本発明の第7実施例を示す回路図である。
【符号の説明】
TPA、TPA* ストローブ信号
TPB、TPB* データ信号
1 データレシーバ
2 ストローブレシーバ
3 2入力ORゲート
4、5、6、6a、6b、6c、7、7a、7b、7c フリップフロップ
8、8a、8b、8c 2入力排他的(eclusive)NOR ゲート
9、9a、9b、9c 2入力排他的(eclusive)OR ゲート
10、10a、10b、10c フリップフロップ
11、11a、11b、11c インバータゲート
12、12a、12b、12c 2入力ANDゲート
13 カウンタ
21 レシーバ
22 DLL(遅延ロックループ)回路
Receive_CLK 受信クロック
Date_1 データ 1
Date_0 データ 0
Error エラー
Error100 (データ転送レートが100Mbpsの場合の)エラー
Error200 (データ転送レートが200Mbpsの場合の)エラー
Error400 (データ転送レートが400Mbpsの場合の)エラー
Sense_en データ転送レートの判別を実施するか否かの制御用の信号
Clock (データパケットの送受信の前に行われるアービトレーション手続によって判別されたデータ転送レートに基づいた周波数の)クロックパルス
Clock100 (周波数が100MHzの場合の)クロックパルス
Clock200 (周波数が200MHzの場合の)クロックパルス
Clock400 (周波数が400MHzの場合の)クロックパルス
Claims (12)
- データの転送前に行われる手続きにおいてデータ転送レートを識別し、データの受信時に受信信号からデータとクロックパルスを分離し、前記手続きによって識別されたデータ転送レートに基づいた基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成し、前記手続きによって識別されたデータ転送レートに基づいた基準周波数クロックパルスに同期して第1クロックパルスから第2クロックパルスを作成し、前記第1クロックパルスと前記第2クロックパルスとの排他的論理和を取ったときローレベルを維持するか否かで前記手続きによって識別されたデータ転送レートと受信データの転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力することを特徴とするデータ転送レート判別方法。
- 前記基準周波数クロックパルスを、該基準周波数クロックパルスと前記エラー通知を行う信号をインバータを介して反転した信号の論理和をとった信号に置き換えたことを特徴とする請求項1記載のデータ転送レート判別方法。
- 前記エラー通知を行なった回数が規定回数を超えたときにエラー規定回数超過通知を行なうことを特徴とする請求項1記載のデータ転送レート判別方法。
- 前記規定回数を任意に設定することを特徴とする請求項3記載のデータ転送レート判別方法。
- データの受信時に受信信号からデータとクロックパルスを分離し、予め設定した異なる周波数の基準周波数クロックパルス毎に該基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成すると共に該第1クロックパルスから第2クロックパルスを作成し、この作成した前記第1クロックパルスと第2クロックパルスの排他的論理輪をとったときローレベルを維持するか否かを前記異なる周波数の基準周波数クロックパルス毎に検出して前記異なる周波数の基準周波数クロックパルス毎に該基準周波数のデータ転送レートと受信データのデータ転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力することを特徴とするデータ転送レート判別方法。
- データの受信時に受信信号からデータとクロックパルスを分離してそれぞれ出力し、前記クロックパルスを入力し、データ転送レートに基づいた基準周波数クロックパルスに同期して前記クロックパルスから第1クロックパルスを作成すると共に該第1クロックパルスから第2クロックパルスを作成し、この作成した前記第1クロックパルスと第2クロックパルスの排他的論理和をとり、該排他的論理和がローレベルを維持するか否かで前記データ転送レートと受信データのデータ転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力するように構成したことを特徴とするデータ転送レート判別回路。
- 前記エラー通知を行う信号を反転するようにインバータを設け、前記基準周波数クロックパルスが、前記基準周波数クロックパルスと前記インバータの出力信号の論理和をとった信号に置き換えられるように論理和回路を設けたことを特徴とする請求項6記載のデータ転送レート判別回路。
- 前記エラー通知を行なった回数が規定回数を超えたときにエラー規定回数超過通知を行なうようにカウンタを設けたことを特徴とする請求項6記載のデータ転送レート判別回路。
- 前記規定回数を任意に設定することができる前記カウンタとしたことを特徴とする請求項8記載のデータ転送レート判別回路。
- 前記エラー通知を行う信号を反転するようにインバータを設け、
前記基準周波数クロックパルスが、前記基準周波数クロックパルスと前記インバータの出力信号の論理和をとった信号に置き換えられるように論理和回路を設けたことを特徴とする請求項8又は9記載のデータ転送レート判別回路。 - データの受信時に受信信号からデータとクロックパルスを分離し、予め設定した異なる周波数の基準周波数クロックパルス毎に該基準周波数クロックパルスに同期 して前記クロックパルスから第1クロックパルスを作成すると共に該第1クロックパルスから第2クロックパルスを作成し、この作成した前記第1クロックパルスと第2クロックパルスの排他的論理輪をとったときローレベルを維持するか否かを前記異なる周波数の基準周波数クロックパルス毎に検出して前記異なる周波数の基準周波数クロックパルス毎に該基準周波数のデータ転送レートと受信データのデータ転送レートが異なっているか否かを通知する信号を出力し、ローレベルを維持しないことを検出してエラー通知を行なう信号を出力するように構成したことを特徴とするデータ転送レート判別回路。
- 前記エラー通知が行われたときに、少なくとも前記エラー通知を行なった前記異なる周波数の基準周波数クロックパルス毎の転送レート判別動作を停止させるようにしたことを特徴とする請求項11記載のデータ転送レート判別回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001373913A JP3845003B2 (ja) | 2001-12-07 | 2001-12-07 | データ転送レート判別方法およびその回路 |
US10/259,516 US7290163B2 (en) | 2001-12-07 | 2002-09-30 | Method and circuit for deciding data transfer rate |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001373913A JP3845003B2 (ja) | 2001-12-07 | 2001-12-07 | データ転送レート判別方法およびその回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003174490A JP2003174490A (ja) | 2003-06-20 |
JP3845003B2 true JP3845003B2 (ja) | 2006-11-15 |
Family
ID=19182553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001373913A Expired - Fee Related JP3845003B2 (ja) | 2001-12-07 | 2001-12-07 | データ転送レート判別方法およびその回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7290163B2 (ja) |
JP (1) | JP3845003B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4278439B2 (ja) * | 2003-06-02 | 2009-06-17 | パイオニア株式会社 | 情報通信装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体 |
WO2007029572A1 (ja) | 2005-09-07 | 2007-03-15 | Seiko Epson Corporation | ネットワークシステム、ケーブルセット、ネットワークシステムの制御方法およびプログラム |
CN102129414B (zh) * | 2010-01-15 | 2013-12-04 | 华为技术有限公司 | 一种变频总线适配器、适配方法及*** |
JP5018915B2 (ja) * | 2010-03-05 | 2012-09-05 | セイコーエプソン株式会社 | ネットワークシステム、ネットワークシステムの制御方法、プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4608689A (en) * | 1981-12-04 | 1986-08-26 | Canon Kabushiki Kaisha | Data processing and transfer apparatus |
JPH05236049A (ja) | 1992-02-25 | 1993-09-10 | Matsushita Electric Works Ltd | データ伝送装置 |
JPH09331372A (ja) * | 1996-06-12 | 1997-12-22 | Hitachi Ltd | 情報処理装置 |
US6035425A (en) * | 1997-09-29 | 2000-03-07 | Lsi Logic Corporation | Testing a peripheral bus for data transfer integrity by detecting corruption of transferred data |
US6065038A (en) * | 1998-02-06 | 2000-05-16 | Accton Technology Corp. | Method and apparatus for transmitting data at different data transfer rates using multiple interconnected hubs |
JP3814470B2 (ja) * | 2000-08-09 | 2006-08-30 | 富士通株式会社 | データ転送方法及びデータ転送装置 |
-
2001
- 2001-12-07 JP JP2001373913A patent/JP3845003B2/ja not_active Expired - Fee Related
-
2002
- 2002-09-30 US US10/259,516 patent/US7290163B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003174490A (ja) | 2003-06-20 |
US7290163B2 (en) | 2007-10-30 |
US20030110282A1 (en) | 2003-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4972161A (en) | Clock recovery for serial data communications system | |
KR100795441B1 (ko) | 짧은 대기시간의 인터럽트 및 제어 신호, 핫플러그 에러 검출 및 복구, 그리고 대역폭 할당을 하는 통신 버스 | |
JPH0787447B2 (ja) | 同期の直列伝送媒体を利用するシステム | |
US6745353B2 (en) | Method and apparatus for sliding window link physical error detection | |
EP0227378A2 (en) | Method for receiving and converting high speed serial data pattern input signals to parallel data pattern output | |
WO1990004297A2 (en) | Local area network modem | |
US6714612B1 (en) | Method and device for synchronization of phase mismatch in communication systems employing a common clock period | |
US6385319B1 (en) | Encoding circuit and method of detecting block code boundary and establishing synchronization between scrambler and descrambler | |
US20050091559A1 (en) | Clock recovery system for encoded serial data with simplified logic and jitter tolerance | |
CN107533533B (zh) | 集成电路之间的通信 | |
JP3845003B2 (ja) | データ転送レート判別方法およびその回路 | |
US8284881B2 (en) | Data interface and method of seeking synchronization | |
US7251304B2 (en) | Bit synchronizing circuit configured to obviate errors from meta-stability | |
US5748123A (en) | Decoding apparatus for Manchester code | |
US4835776A (en) | Communication filter | |
EP1503543A1 (en) | Detection of failures in a ring-based electrical network | |
JP4335101B2 (ja) | シリアル信号送信装置、シリアル信号受信装置、シリアル伝送装置、シリアル伝送方法 | |
US7000040B2 (en) | Apparatus and method for receiving and demodulating data modulated in pseuod-ternary form | |
US6603336B1 (en) | Signal duration representation by conformational clock cycles in different time domains | |
JP4157064B2 (ja) | 同期開始信号検出装置、その検出方法、及びそのプログラム | |
US20050060471A1 (en) | Serial data interface system and method having bilingual functionality | |
JP3823288B2 (ja) | ネットワーク送受信機用の自動検出システムおよび方法 | |
US5148450A (en) | Digital phase-locked loop | |
RU187642U1 (ru) | Устройство коммуникационного интерфейса gigaspacewire | |
Gupta et al. | Analysis of Universal Asynchronous Receiver-Transmitter (UART) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040827 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060724 |
|
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: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060817 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060906 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20070123 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090825 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |