JP2005210212A - データ転送回路 - Google Patents
データ転送回路 Download PDFInfo
- Publication number
- JP2005210212A JP2005210212A JP2004012106A JP2004012106A JP2005210212A JP 2005210212 A JP2005210212 A JP 2005210212A JP 2004012106 A JP2004012106 A JP 2004012106A JP 2004012106 A JP2004012106 A JP 2004012106A JP 2005210212 A JP2005210212 A JP 2005210212A
- Authority
- JP
- Japan
- Prior art keywords
- data
- pointer
- circuit
- value
- read
- 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.)
- Withdrawn
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
【課題】 誤動作を防止することができると共に、回路規模を削減することが可能なデータ転送回路を提供すること。
【解決手段】 ライトポインタ54は、FIFO52のどの領域までデータを書込んだかを示す。また、リードポインタ55は、FIFO52のどの領域までデータを読出したかを示す。ライトポインタ54およびリードポインタ55は、ホットワンコードを用いたカウンタにより構成される。したがって、ポインタの値において“1”のビットが1つだけの場合のみデータの値を有効と判断できるようになり、誤動作を防止することが可能となる。また、冗長データを付加した値で表現することにより、デコード回路が不要となり、回路規模を削減することが可能となる。
【選択図】 図3
【解決手段】 ライトポインタ54は、FIFO52のどの領域までデータを書込んだかを示す。また、リードポインタ55は、FIFO52のどの領域までデータを読出したかを示す。ライトポインタ54およびリードポインタ55は、ホットワンコードを用いたカウンタにより構成される。したがって、ポインタの値において“1”のビットが1つだけの場合のみデータの値を有効と判断できるようになり、誤動作を防止することが可能となる。また、冗長データを付加した値で表現することにより、デコード回路が不要となり、回路規模を削減することが可能となる。
【選択図】 図3
Description
本発明は、シリアルATA(AT Attachment)などのシリアル通信技術に関し、特に、非同期ブロック間におけるデータ転送を誤動作なく行なうことを可能にしたデータ転送回路に関する。
一般に、シリアル通信は、同期転送と非同期転送とに分けることができる。同期転送は、クロックの周期および位相が一致するブロック間の転送であり、FIFO(First In First Out)が使用されることが多い。FIFOのライト側にはライトポインタが設けられ、リード側にはリードポインタが設けられる。FIFOの値をリード可能か否かの判定は、ライトポインタとリードポインタとの比較によって行なわれる。
ライトポインタがリードポインタよりも進んでいる場合は、FIFOの値をリードすることが可能である。同期転送の場合には、後述するようにポインタの値が確定している期間にポインタの比較を行なうため、誤動作の可能性はない。
一方、このようなFIFOを非同期転送に適用した場合、ポインタの書換えのタイミングと、ポインタの比較のタイミングとが非同期となるため、後述するように変更途中のポインタ値を読出してしまい誤動作する可能性がある。
このような問題点を解決するための第1の技術として、多数決回路を用いたものがある。たとえば、RX(受信)側の10ビットデータ4つを1ブロックとし、データ長を40ビットにしてTX(送信)側に転送する。このとき、RX系クロックで4クロックにわたってデータを不変とする。
TX側においては、転送されたデータを2段のレジスタで受ける。このとき、変更途中のデータを受取る可能性があるのは、4クロックのうち1クロックのみである。したがって、1段目のレジスタの値と2段目のレジスタの値とを比較すると、4クロックのうち少なくとも3クロックにわたって値が一致するので、多数決によって正しい値を決定することができる。正しいデータはFIFOに入れられ、それ以降の処理に使用される。
また、第2の技術として、バリッドビットによるハンドシェークを用いたものがある。非同期転送にFIFOを利用する場合、FIFOの各データにバリッドビットを付加し、ライト時にはライト完了後にバリッドビットを立て、リード時にはリード完了後にバリッドビットを下ろす。このバリッドビットの操作によってハンドシェークを行ない、データを転送する。
これに関連する技術として、特開2001−94612号公報に開示された発明がある。この特開2001-94612号公報に開示された蓄積データ量監視回路においては、FIFOのライトクロックとリードクロックとが同速度、非同期である場合に、ライトアドレスとリードアドレスとをグレイコードで生成することにより、FIFOの蓄積データ量の監視を正確に行なうものである。
特開2001−94612号公報
上述した多数決回路を用いた技術においては、4クロックにわたるデータの多数決によって正しい値を決定することができる。しかしながら、40ビット幅でデータを2段分保持するレジスタと、その比較回路が必要となるため、回路規模が大きくなるといった問題点があった。
また、バリッドビットによるハンドシェークを用いた技術においては、FIFOの各データに付加されたバリッドビットの操作によってデータを正しく転送することができる。しかしながら、データごとにバリッドビットが必要となるため、それを実現するための回路規模が大きくなるといった問題点があった。
さらには、上述した特開2001−94612号公報に開示された蓄積データ量監視回路においては、ライトアドレスとリードアドレスとをグレイコードで生成することにより、FIFOの蓄積データ量の監視を正確に行なうことができる。たとえば、8状態を表現するのに3ビットのグレイコードカウンタが必要になるが、グレイコードカウンタを用いた回路においては8状態を表現するのに3ビットのグレイコードをデコードし、8ビットの信号線として使用することが多い。したがって、デコード回路が必要になって回路規模が大きくなると共に、デコード回路による速度の低下といった問題点が発生する。
本発明は、上記問題点を解決するためになされたものであり、その目的は、誤動作を防止することができると共に、回路規模を削減することが可能なデータ転送回路を提供することである。
本発明のある局面に従えば、非同期ブロック間でデータ転送を行なうデータ転送回路であって、先入れ先出しメモリと、先入れ先出しメモリのどの領域までデータを書込んだかを示すライトポインタと、先入れ先出しメモリのどの領域までデータを読出したかを示すリードポインタとを含み、ライトポインタおよびリードポインタの少なくとも一方は、冗長データを付加して値を表現する。
本発明のある局面によれば、ライトポインタおよびリードポインタの少なくとも一方は、冗長データを付加して値を表現するので、ポインタの値において“1”のビットが1つだけの場合のみデータの値を有効と判断できるようになり、誤動作を防止することが可能となった。また、冗長データを付加した値で表現することにより、デコード回路が不要となり、回路規模を削減することが可能となった。
まず、FIFOを同期転送および非同期転送に用いた場合のタイミングチャートについて説明する。
図1(a)は、FIFOを同期転送に用いた場合を示している。ライトポインタは受信クロック(RX clock)に同期し、リードポインタは送信クロック(TX clock)に同期してカウントを行なう。同期転送の場合には、受信クロックと送信クロックとが同期しているので、図1(a)に示すようにポインタの値が確定している期間にポインタの比較が行なわれるため、誤動作する可能性はない。
図1(b)は、FIFOを非同期転送に用いた場合を示している。非同期転送の場合には、受信クロックと送信クロックとが非同期であるため、図1(b)に示すように変更途中のポインタの値が読出されてしまい誤動作する可能性がある。たとえば、図1(b)に示すように、ライトポインタの値が“0001”から“0010”に変化する場合、リードポインタの値が“0000”か“0011”となる可能性があるため、この期間に比較が行なわれると誤動作することになる。
図2は、本発明の実施の形態におけるトランシーバおよびレシーバの概略構成を示すブロック図であり、一例としてシリアルATAのトランシーバおよびレシーバを示す。トランシーバ1は、P/S(Parallel/Serial)変換回路11と、PLL回路12と、差動トランシーバ13とを含む。P/S変換回路11は、10ビットのパラレルデータ(300MHz)を1ビットのシリアルデータ(1.5GHz)に変換して差動トランシーバ13に出力する。PLL回路12は、300MHzの送信クロック(TX clock)を生成してP/S変換回路11に出力する。
レシーバ2は、RXブロックと、TXブロックとを含む。RXブロックは、差動レシーバ21と、データ抽出部22と、PLL回路23と、S/P変換回路24とを含む。また、TXブロックは、PLL回路31と、データ転送回路41とを含む。
データ抽出部22は、差動レシーバ21から出力された信号からデータを抽出してPLL回路23およびS/P変換回路24に出力する。PLL回路23は、データ抽出部22から出力されたシリアルデータから300MHzの受信クロック(Recovered Clock)を生成してS/P変換回路24およびデータ転送回路41に出力する。S/P変換回路24は、PLL回路23からの受信クロックを受け、1ビットのシリアルデータ(1.5GHz)を10ビットのパラレルデータ(300MHz)に変換してデータ転送回路41に出力する。
PLL回路31は、300MHzの送信クロック(TX clock)を生成してデータ転送回路41に出力する。シリアルATAにおいては、送信クロックと受信クロックとの位相が異なり、周波数差が最大±0.78%だけ許容される仕様となっている。したがって、PLL回路31によって生成される送信クロックは、PLL回路23によって生成される受信クロックとが非同期となる。データ転送回路41は、S/P変換回路24から出力されるパラレルデータをバッファリングし、外部へ出力する。
図3は、本発明の実施の形態におけるデータ転送回路41の内部構成を示すブロック図である。データ転送回路41は、フリップフロップ(以下、FFと略す。)51および53と、FIFO52と、ライトポインタ54と、リードポインタ55とを含む。
FF51は、S/P変換回路24から出力されるパラレルデータを受け、FIFO52へ出力する。このFF51は、PLL回路23から出力される受信クロックに同期して動作する。FF53は、FIFO52から出力されるパラレルデータを受け、外部へ出力する。このFF53は、PLL回路31から出力される送信クロックに同期して動作する。
FIFO52は、ライトポインタ54によって示される領域に、FF51から出力されるデータを順次バッファリングする。そして、リードポインタ55によって示される領域からデータを読出し、FF53へ出力する。
ライトポインタ54は、ホットワンコードを用いたカウンタによって構成され、FIFO52のどの領域までデータを書込んだかを示す。また、リードポインタ55も、ホットワンコードを用いたカウンタによって構成され、FIFO52のどの領域からデータを読出すかを示す。
図4は、ライトポインタ54およびリードポインタ55によって用いられるホットワンコードの一例を示す図である。図4は、16進のホットワンコードを示しており、16個のビット列の中で“1”であるビットが必ず1つだけである。したがって、読出したポインタの値において“1”のビットが1つだけの場合のみデータの値が有効であり、ビットが変化する途中でポインタの値が読出されて、“1”のビットが0または2つの場合にはデータが無効とされる。
なお、本実施の形態においてはライトポインタおよびリードポインタにホットワンコードを用いた場合を説明したが、これ以外の冗長データを付加した表現方法を用いてライトポインタおよびリードポインタを構成するようにしてもよい。
以上説明したように、本実施の形態におけるデータ転送回路によれば、ライトポインタ54およびリードポインタ55を、ホットワンコードを用いたカウンタにより構成するようにしたので、ポインタの値において“1”のビットが1つだけの場合のみデータの値を有効と判断できるようになり、誤動作を防止することが可能となった。
また、ホットワンコードを用いることによって、デコード回路が不要となり、回路規模を削減することができると共に、デコード回路による速度の低下を防止することが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 トランシーバ、2 レシーバ、11 P/S変換回路、12,23,31 PLL回路、13 差動トランシーバ、21 差動レシーバ、22 データ抽出部、24 S/P変換回路、41 データ転送回路、51,53 FF、52 FIFO、54 ライトポインタ、55 リードポインタ。
Claims (2)
- 非同期ブロック間でデータ転送を行なうデータ転送回路であって、
先入れ先出しメモリと、
前記先入れ先出しメモリのどの領域までデータを書込んだかを示すライトポインタと、
前記先入れ先出しメモリのどの領域までデータを読出したかを示すリードポインタとを含み、
前記ライトポインタおよび前記リードポインタの少なくとも一方は、冗長データを付加して値を表現する、データ転送回路。 - 前記ライトポインタおよび前記リードポインタの少なくとも一方は、ホットワンコードを用いて値を表現する、請求項1記載のデータ転送回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004012106A JP2005210212A (ja) | 2004-01-20 | 2004-01-20 | データ転送回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004012106A JP2005210212A (ja) | 2004-01-20 | 2004-01-20 | データ転送回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005210212A true JP2005210212A (ja) | 2005-08-04 |
Family
ID=34898586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004012106A Withdrawn JP2005210212A (ja) | 2004-01-20 | 2004-01-20 | データ転送回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005210212A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008148239A (ja) * | 2006-12-13 | 2008-06-26 | Sony Corp | 映像機器及びジッタ/ワンダの測定方法 |
-
2004
- 2004-01-20 JP JP2004012106A patent/JP2005210212A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008148239A (ja) * | 2006-12-13 | 2008-06-26 | Sony Corp | 映像機器及びジッタ/ワンダの測定方法 |
US8390738B2 (en) | 2006-12-13 | 2013-03-05 | Sony Corporation | Video apparatus and method of measuring jitter/wander |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4870435B2 (ja) | Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 | |
US7633965B2 (en) | Data transfer control device and electronic instrument | |
US9710415B2 (en) | Asynchronous FIFO buffer with Johnson code write pointer | |
US6738917B2 (en) | Low latency synchronization of asynchronous data | |
US20090323728A1 (en) | Asynchronous data fifo that provides uninterrupted data flow | |
US8572300B2 (en) | Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks | |
JP5531655B2 (ja) | シリアルデータ受信回路装置及びシリアルデータ受信方法 | |
US20080147916A1 (en) | Data synchronization method of data buffer device | |
JP3645584B2 (ja) | データ転送同期装置 | |
US20140016654A1 (en) | Can communication system, can transmission apparatus, can reception apparatus, and can communication method | |
JP4917901B2 (ja) | 受信装置 | |
JP5263986B2 (ja) | シリアル受信装置並びにシリアル受信装置の制御方法及びプログラム | |
JP4848324B2 (ja) | シリアルパラレル変換回路及び通信装置 | |
JP2015528223A (ja) | リングバッファに基づいたデータの適応オフセット同期(adaptiveoffsetsynchronization) | |
US9026761B2 (en) | Interface system, and corresponding integrated circuit and method | |
US20120155489A1 (en) | Communication system, and corresponding integrated circuit and method | |
US6952791B2 (en) | Method and circuit for initializing a de-skewing buffer in a clock forwarded system | |
JP2005210212A (ja) | データ転送回路 | |
CN116226018A (zh) | 一种数据解码结构 | |
KR20160008386A (ko) | 펄스폭 변조 데이터 복원 장치 및 이의 구동 방법 | |
CN107430578B (zh) | 异步接口 | |
EP1911188B1 (en) | Asynchronous data buffer | |
JPH11163951A (ja) | データ受信装置 | |
US8599982B2 (en) | Interface system, and corresponding integrated circuit and method | |
KR20160100363A (ko) | 오직 수신기 클록에 의한 CCIe 수신기 로직 레지스터 기입 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070403 |