JP3580242B2 - シリアル/パラレル変換回路、データ転送制御装置及び電子機器 - Google Patents

シリアル/パラレル変換回路、データ転送制御装置及び電子機器 Download PDF

Info

Publication number
JP3580242B2
JP3580242B2 JP2000325341A JP2000325341A JP3580242B2 JP 3580242 B2 JP3580242 B2 JP 3580242B2 JP 2000325341 A JP2000325341 A JP 2000325341A JP 2000325341 A JP2000325341 A JP 2000325341A JP 3580242 B2 JP3580242 B2 JP 3580242B2
Authority
JP
Japan
Prior art keywords
data
clock
serial
status
holding means
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
JP2000325341A
Other languages
English (en)
Other versions
JP2002135132A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000325341A priority Critical patent/JP3580242B2/ja
Priority to TW090125300A priority patent/TW550462B/zh
Priority to US09/977,936 priority patent/US6732205B2/en
Priority to EP01125159A priority patent/EP1202163A3/en
Priority to KR10-2001-0065626A priority patent/KR100434833B1/ko
Priority to CNB011302488A priority patent/CN1160634C/zh
Publication of JP2002135132A publication Critical patent/JP2002135132A/ja
Application granted granted Critical
Publication of JP3580242B2 publication Critical patent/JP3580242B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、シリアル/パラレル変換回路、データ転送制御装置及び電子機器に関し、特に、シリアル/パラレル変換機能とクロック周波数差を吸収(補償)するバッファ機能とを併せ持つシリアル/パラレル変換回路、及びこのシリアル/パラレル変換回路が用いられるデータ転送制御装置、電子機器に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、パーソナルコンピュータと周辺機器(広義には電子機器)とを接続するためのインターフェース規格として、USB(Universal Serial Bus)が注目を集めている。このUSBには、従来は別々の規格のコネクタで接続されていたマウスやキーボードやプリンタなどの周辺機器を、同じ規格のコネクタで接続できると共にいわゆるプラグ&プレイやホットプラグも実現できるという利点がある。
【0003】
一方、このUSBには、同じくシリアルバスインターフェース規格として脚光を浴びているIEEE1394に比べて、転送速度が遅いという問題点がある。
【0004】
そこで、従来のUSB1.1の規格に対する下位互換性を持ちながら、USB1.1に比べて格段に高速な480Mbps(HSモード)のデータ転送速度を実現できるUSB2.0規格が策定され、注目を浴びている。また、USB2.0の物理層回路や論理層回路のインターフェース仕様を定義したUTMI(USB2.0 Transceiver Macrocell Interface)も策定されている。
【0005】
さて、このUSB2.0では、HS(High Speed)モード時には480Mbpsでデータ転送が行われるため、高速な転送速度が要求されるハードディスクドライブや光ディスクドライブなどのストレージ機器のインターフェースとして用いることができるという利点がある。
【0006】
しかしながら、その一方で、USBバスに接続されるデータ転送制御装置(物理層回路、論理層回路)は、480Mbpsの転送データを取り扱わなければならないため、480MHzのクロック周波数で動作可能な高速な回路部分が必要になる。そして、微細加工が可能な最新の半導体プロセスを用いれば、このような480MHzでの回路動作も実現可能だが、最新の半導体プロセスを使用できない場合には、このような高速な回路動作の実現は非常に困難になる。
【0007】
また、最新の半導体プロセスを使用せずに480MHzの高速回路動作を実現する1つの手法として、手作業により回路を配置、配線してクロックスキューを最小化し、同期動作を保証する手法がある。
【0008】
しかしながら、このような手作業による回路の配置、配線は、HDL(Hardware Description Language)による回路合成や自動配置配線を利用した効率的な回路設計手法に比べて、設計期間の長期化や装置の高コスト化を招くと共に、データ転送制御装置(物理層回路、論理層回路)のマクロセル化の妨げにもなる。
【0009】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、高速バスを介して転送されてくるデータのシリアル/パラレル変換に最適なシリアル/パラレル変換回路、及びこれを用いたデータ転送制御装置、電子機器を提供することにある。
【0010】
また本発明の他の目的は、シリアル/パラレル変換機能とクロック周波数差等を吸収するバッファ機能とを併せ持つシリアル/パラレル変換回路、及びこれを用いたデータ転送制御装置、電子機器を提供することにある。
【0011】
【課題を解決するための手段】
上記課題を解決するために本発明は、シリアルデータをパラレルデータに変換するシリアル/パラレル変換回路であって、第1のクロックで入力されるシリアルデータを受け、保持するデータ保持手段と、前記データ保持手段に保持されるデータが有効か否かを、複数のビットで構成されるデータセル単位で判断する判断手段と、有効と判断されたデータセルのデータを、第1のクロックよりも周波数が低い第2のクロックで前記データ保持手段から出力する手段とを含むことを特徴とする。
【0012】
本発明によれば、周波数が速い第1のクロックでシリアルデータが入力されると、データ保持手段がこれを保持する。そして、データが有効か否かがデータセル単位で判断され、有効と判断されたデータセルが、第1のクロックよりも周波数が低い第2のクロックで出力される。
【0013】
本発明によれば、入力されたシリアルデータがデータセル単位のパラレルデータで出力されるようになるため、データのシリアル/パラレル変換機能を実現できる。また、入力されたシリアルデータはデータ保持手段により保持され、有効と判断されたデータセルだけがデータ保持手段から出力されるようになるため、クロック周波数差、位相差等を吸収(補償)するバッファ機能も実現できる。
【0014】
このように本発明によれば、シリアル/パラレル変換機能とクロック周波数差等を吸収するバッファ機能とを併せ持つというこれまでにないタイプのシリアル/パラレル変換回路を実現できる。しかも本発明によれば、判断手段は周波数の低い第2のクロックで動作できるようになるため、これらのシリアル/パラレル変換機能やバッファ機能を実現するための種々の処理を、時間的に余裕を持って行うことが可能になり、データ転送制御装置等に最適なシリアル/パラレル変換回路を提供できる。
【0015】
また本発明は、前記判断手段が、前記第2のクロックの第Kのクロックサイクルにおいて所与のビットのデータが有効であると判断したデータセルについては、前記第2のクロックの第K+1のクロックサイクル以降のクロックサイクルにおいて有効なデータセルであると判断することを特徴とする。このようにすれば、データセルの中の所与のビット(例えば先頭ビット)のデータの有効、非有効を判断するだけで、データセルの有効、非有効を判断できるようになるため、判断手段の構成や処理の簡素化を図れるようになる。
【0016】
また本発明は、前記判断手段が、前記第2のクロックのクロックサイクル毎にデータセルが有効か否かを判断し、データセルが有効でないと判断した場合には、該データセルのデータの出力を少なくとも1クロックサイクル分だけウェイトすることを特徴とする。このようにウェイト制御を行えば、適切なデータだけを後段に出力できるようになる。また、データ保持手段がアンダフロー状態になった場合等にも、処理に破綻が生じるのを効果的に防止できる。更に、判断手段は、周波数が低い第2のクロックのクロックサイクル期間を利用してウェイト制御を行うことが可能になるため、よりインテリジェントなウェイト制御を実現できる。
【0017】
また本発明は、前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段を含み、前記判断手段が、前記データステータス保持手段からのデータステータスに基づいて、各データセルが有効か否かを判断することを特徴とする。このようにデータ保持手段とは別にデータステータス保持手段を設けるようにすれば、データ保持手段の構成を簡素化できるようになり、シリアルデータの取り込み処理の信頼性の向上等を図れるようになる。
【0018】
また本発明は、前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段を含み、前記判断手段が、前記データステータス保持手段からのデータステータスに基づいて、各データセルのデータの出力をウェイトするか否かを判断することを特徴とする。このようにすれば、データステータス保持手段のデータステータスをモニタするだけでウェイト制御を実現できるようになる。そして、ウェイト制御を実現することで、適切なデータだけを後段に出力できるようになると共にアンダフロー時においても処理に破綻が生じるのを防止できるようになる。
【0019】
また本発明は、前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段を含み、前記判断手段が、前記データステータス保持手段に保持されているデータステータスを、データセル単位でクリアすることを特徴とする。このようにすれば、出力が済んだデータセルについてのデータステータスをクリアできるようになるため、そのデータステータスを他のデータのセルのデータステータスとして再度利用できるようになる。従って、例えばデータ保持手段をリングバッファ構造にした場合にも、適切なデータステータスをデータステータス保持手段に保持できるようになる。
【0020】
また本発明は、前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段と、前記第1のクロックのNクロックサイクル毎に周期的にパルスがアクティブになると共にパルスがアクティブになる期間が1クロックサイクルずつ互いにずれている第1〜第Nの書き込みパルス信号を生成する書き込みパルス生成手段とを含み、前記データ保持手段が、前記第1〜第Nの各書き込みパルス信号に基づいてデータを保持し、前記データステータス保持手段が、前記第1〜第Nの各書き込みパルス信号に基づいてデータのステータスを保持することを特徴とする。
【0021】
また本発明は、シリアルデータをパラレルデータに変換するシリアル/パラレル変換回路であって、第1のクロックで入力されるシリアルデータを受け、保持するデータ保持手段と、前記データ保持手段からのデータを、第1のクロックよりも周波数が低い第2のクロックで出力する手段と、前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段と、前記第1のクロックのNクロックサイクル毎に周期的にパルスがアクティブになると共にパルスがアクティブになる期間が1クロックサイクルずつ互いにずれている第1〜第Nの書き込みパルス信号を生成する書き込みパルス生成手段とを含み、前記データ保持手段が、前記第1〜第Nの各書き込みパルス信号に基づいてデータを保持し、前記データステータス保持手段が、前記第1〜第Nの各書き込みパルス信号に基づいてデータのステータスを保持することを特徴とする。
【0022】
本発明によれば、そのパルスが第1のクロックのN(Nは、例えばデータ保持手段やデータステータス保持手段のビット数)クロックサイクル毎に周期的にアクティブになるような書き込みパルス信号が生成される。そして、データ保持手段やデータステータス保持手段は、この書き込みパルス信号に基づいて動作する。従って、データ保持手段が含む保持手段(各ビットのデータを保持する手段)や、データステータス保持手段が含む保持手段(各ビットのデータのステータスを保持する手段)を、時間的に余裕を持たせて動作させることが可能になり、これらの保持手段の動作の信頼性を高めることができる。また、Nクロックサイクルの期間を利用して、オーバフロー制御などの種々の処理を実現することも可能になる。なお、データステータス保持手段は、データの全てのビットのステータスを保持する必要はなく、少なくともデータセル単位でデータのステータスを保持できればよい。そして、データの一部のビットのステータスだけを保持する場合には、第1〜第Nの書き込みパルス信号の一部のみを使用することになる。
【0023】
また本発明は、バスを介したデータ転送のためのデータ転送制御装置であって、上記のいずれかのシリアル/パラレル変換回路と、前記シリアル/パラレル変換回路からのデータを受け、データ転送のための所与の処理を行う回路とを含むことを特徴とする。
【0024】
本発明によれば、シリアル/パラレル変換機能とクロック周波数差等を吸収するバッファ機能とを併せ持つシリアル/パラレル変換回路を用いて、バスを介して転送されるデータのシリアル/パラレル変換処理を実現できる。また、データ転送制御装置内部のクロックとバスに接続される外部装置のクロックとに周波数差や位相差がある場合にも、これを吸収することが可能になり、より信頼性の高いデータ転送処理を実現できる。
【0025】
また本発明は、所与の規格に準拠してデータ転送が行われる場合において、前記所与の規格で定義されている前記第1のクロックの周波数よりも高い周波数の第3のクロックに基づいて、前記第2のクロックが生成されることを特徴とする。このようにすれば、バスに接続される外部装置がクロック周波数の規格を遵守していないような場合にも、柔軟にこれに対処できるデータ転送制御装置を実現できるようになる。
【0026】
また本発明は、USB(Universal Serial Bus)の規格に準拠したデータ転送を行うことを特徴とする。このようにすれば、例えばUSB2.0で規格化されたHSモードでのデータ転送等についても適正に実現できるようになる。
【0027】
また本発明に係る電子機器は、上記のいずれかのデータ転送制御装置と、前記データ転送制御装置及び前記バスを介して転送されるデータの出力処理又は取り込み処理又は記憶処理を行う装置とを含むことを特徴とする。
【0028】
本発明によれば、電子機器に使用されるデータ転送制御装置の低コスト化、信頼性の向上を図れるため、電子機器の低コスト化、信頼性の向上も図れるようになる。また、本発明によれば、高速な転送モードでデータ転送を行うことができるようになるため、電子機器の処理の高速化を図れるようになる。
【0029】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【0030】
1.構成及び動作
1.1 データ転送制御装置
図1に本実施形態のデータ転送制御装置の構成の例を示す。
【0031】
本実施形態のデータ転送制御装置は、データハンドラ回路400、HS(High Speed)回路410、FS(Full Speed)回路420、アナログフロントエンド回路430、クロック生成回路440、クロック制御回路450を含む。なお、本発明のデータ転送制御装置は、図1に示す回路ブロックの全てを含む必要はなく、それらの一部を省略する構成としてもよい。
【0032】
データハンドラ回路400(広義にはデータ転送を行うための所与の回路)は、USB等に準拠したデータ転送のための種々の処理を行う。より具体的には、送信時には、送信データにSYNC(synchronization)、SOP(Start Of Packet)、EOP(End Of Packet)を付加する処理や、ビットスタッフィング処理などを行う。一方、受信時には、受信データのSYNC、SOP、EOPを検出/削除する処理や、ビットアンスタッフィング処理などを行う。更に、データの送受信を制御するための各種のタイミング信号を生成する処理も行う。
【0033】
なお、受信データはデータハンドラ回路400から後段の回路であるSIE(Serial Interface Engine)に出力され、送信データはSIEからデータハンドラ回路400に入力されることになる。
【0034】
HS回路410は、データ転送速度が480MbpsとなるHS(High Speed)でのデータの送受信を行うためのロジック回路であり、FS回路420は、データ転送速度が12MbpsとなるFS(Full Speed)でのデータの送受信を行うためのロジック回路である。
【0035】
ここで、HSモードは、USB2.0により新たに定義された転送モードである。一方、FSモードは、従来のUSB1.1で既に定義されている転送モードである。
【0036】
USB2.0では、このようなHSモードが用意されているため、プリンタ、オーディオ、カメラなどにおけるデータ転送のみならず、ハードディスクドライブや光ディスクドライブ(CDROM、DVD)などのストレージ機器におけるデータ転送も実現できるようになる。
【0037】
HS回路410は、HSDLL(High Speed Delay Line PLL)回路10、エラスティシティバッファ(elasticity buffer)12を含む。
【0038】
ここでHSDLL回路10は、受信データとクロック生成回路440(PLL)からのクロックとに基づいて、データの取り込みクロックを生成する回路である。
【0039】
またエラスティシティバッファ12は、内部装置(データ転送制御装置)と外部装置(バスに接続される外部装置)とのクロック周波数差(クロックドリフト)等を吸収するための回路である。
【0040】
アナログフロントエンド回路430は、FSやHSでの送受信を行うためのドライバやレシーバを含むアナログ回路である。USBではDP(Data+)とDM(Data−)を用いた差動信号によりデータを送受信する。
【0041】
クロック生成回路440は、装置内部で使用する480MHzのクロックや、装置内部及びSIEで使用する60MHzのクロックを生成する。
【0042】
クロック生成回路440は、発振回路20、HSPLL22、FSPLL24を含む。
【0043】
ここで発振回路20は、例えば外部振動子との組み合わせによりベースクロックを生成する。
【0044】
HSPLL(HS Phase Locked Loop)22は、発振回路20で生成されたベースクロックに基づいて、HSモードで必要な480MHzのクロックと、FSモード、装置内部及びSIEで必要な60MHzのクロックを生成するPLLである。なお、HSモードで送受信を行う場合には、このHSPLL22によるクロック生成を有効にする必要がある。
【0045】
FSPLL(FS Phase Locked Loop)24は、発振回路20で生成されたベースクロックに基づいて、FSモード、装置内部及びSIEで必要な60MHzのクロックを生成する。なお、このFSPLL24によるクロック生成を有効にしている時には、HSモードでの送受信は不可となる。
【0046】
クロック制御回路450は、SIEからの各種の制御信号を受け、クロック生成回路440を制御する処理などを行う。なお、クロック生成回路440により生成された60MHzのシステムクロックはクロック制御回路450を介してSIEに出力される。
【0047】
1.2 シリアル/パラレル変換回路
さて、USB2.0の物理層回路や論理層回路のインターフェース仕様を定義したUTMIでは、内部装置(データ転送制御装置)と外部装置(バスに接続される外部装置)とのクロック周波数差等を吸収するためのバッファであるエラスティシティバッファを設けることが推奨されている。
【0048】
図2に、エラスティシティバッファの実現例を比較例として示す。
【0049】
図2に示すエラスティシティバッファ600は、24ビットのデプスのシリアルバッファ(FIFO)であり、CLK1(HSDLLから出力される取り込みクロックであり、外部480MHz同期のクロック)を用いてシリアルデータDINを順次取り込む。そして、取り込んだDINを、先に入力された順にCLK3(内部480MHz同期のクロック)に同期させてシリアルデータDSOとして出力する。そして、シリアル/パラレル変換回路610が、このシリアルデータDSOを8ビットのパラレルデータに変換し、CLK2(内部60MHz同期)に同期させてDOUTとして出力する。
【0050】
そして図3(A)に示すように、エラスティシティバッファ600は、データが12ビット分の深さだけ貯まったところで、CLK3に同期させたデータDSOの出力を開始する。
【0051】
また図3(B)に示すように、エラスティシティバッファ600内のデータが24ビットを越えてフルになるとオーバフローエラーが出力される。
【0052】
一方、図3(C)に示すように、エラスティシティバッファ600内のデータがエンプティになるとアンダフローエラーが出力される。
【0053】
例えば、USB2.0(UTMI)では、HSモードでのクロック誤差は480MHz+/−500ppmと定義されている。そして、外部装置及び内部装置の両方が480MHz+/−500ppmの規格を遵守していれば、1パケット分の転送で最大で+/−12ビットのドリフトが生じることになる。従って、エラスティシティバッファ600の深さを24ビット以上に設定すると共に、データ出力開始のしきい値を図3(A)のようにミッドポイント(12ビット)に設定すれば、オーバフローエラーやアンダフローエラーの発生を防止できる。
【0054】
さて、図2に示す比較例のエラスティシティバッファ600は、シリアルで入力されたデータを480MHzのCLK3を用いてシリアルで出力する。従って、エラスティシティバッファ600の全ての回路部分を480MHzのクロックで動作させる必要がある。即ち、FIFOにおけるデータの入力ポイント(入力アドレス)や出力ポイント(出力アドレス)の設定処理、図3(A)に示すようなデータ出力開始のしきい値となるミッドポイント(12ビット)の設定処理、図3(B)、(C)に示すようなオーバフローエラーやアンダフローエラーの検出処理(フル信号やエンプティ信号の生成処理)などを、480MHzで動作する回路で実現しなければならない。
【0055】
この場合、微細加工が可能な最新の半導体プロセスを採用すれば、このような480MHzで動作する高速な回路を実現することも可能である。
【0056】
しかしながら、データ転送制御装置(UTMIトランシーバ)をマクロセル化して、ASIC(Application Specific Integrated Circuit)などに利用する場合には、コストとの兼ね合いから、このような最新の半導体プロセスではなく、通常の半導体プロセスを採用する方が望ましい。
【0057】
また、エラスティシティバッファの回路パターンを、配線容量が最適になるように手作業でレイアウトすれば、通常の半導体プロセスを用いながらも、480MHzの高速動作を実現できる可能性はある。
【0058】
しかしながら、このような手作業のレイアウトは、設計の非効率化、開発期間の長期化、装置の高コスト化などの問題を招く。
【0059】
そこで本実施形態では、シリアル/パラレル変換機能と、クロック周波数差を吸収(補償)するバッファ機能とを併せ持つシリアル/パラレル変換回路を創出することで、上記問題点を解決している。
【0060】
図4に、本実施形態のシリアル/パラレル変換回路(エラスティシティバッファ)の構成例を示す。
【0061】
図4のシリアル/パラレル変換回路は、エラスティシティバッファ12、判断回路60、バッファ64、セレクタ66を含む。なお、エラスティシティバッファ12は、図1のHS回路410に含まれる回路であり、判断回路60、バッファ64、セレクタ66は図1の例えばデータハンドラ回路400に含まれる回路である。
【0062】
エラスティシティバッファ12は、データ保持レジスタ50(データ保持手段)、データステータスレジスタ52(データステータス保持手段)、書き込みパルス生成回路54(書き込みパルス生成手段)を含む。
【0063】
ここでデータ保持(ホールド)レジスタ50は、480MHzのCLK1(第1のクロック)を取り込みクロックとして入力されるシリアルデータDINを受け、これを保持する32ビット幅のレジスタである。なお、このCLK1、DINは、図1のHSDLL回路10から入力されるものである。
【0064】
データステータスレジスタ52は、データ保持レジスタ50の各ビットのデータのステータスを保持する32ビット幅のレジスタである。
【0065】
書き込みパルス生成回路54は、32ビット幅の書き込みパルス信号WP[31:0]を生成し、データ保持レジスタ50、データステータスレジスタ52に出力する回路である。
【0066】
ここで、書き込みパルス信号WP[31:0]は、その各パルスがCLK1の32クロックサイクル毎(広義にはNクロックサイクル毎)に周期的にアクティブになると共に、各パルスがアクティブになる期間が1クロックサイクルずつ互いにずれている信号である。データ保持レジスタ50は、この書き込みパルス信号WP[31:0]に基づいて、各ビットのデータを保持する。同様にデータステータスレジスタ52も、この書き込みパルス信号WP[31:0]に基づいて、各ビットのデータのステータスを保持する。
【0067】
判断回路60(判断手段)は、データ保持レジスタ50に保持されるデータが有効(valid)か否かを、複数のビット(例えば8ビット)で構成されるデータセル単位で判断する回路であり、内蔵するステートマシーン62に従って動作する。
【0068】
より具体的には、判断回路60は、データ保持レジスタ50の各データセルが有効か否かを示す4ビット幅の信号VALID[3:0]や、データ保持レジスタ50のオーバフロー時にアクティブになる信号OVFLOWを、データステータスレジスタ52から受ける。
【0069】
そして、判断回路60は、各データセルが有効か否かを判断し、有効なデータセルを選択するための4ビット幅の信号SEL[3:0]をセレクタ66に出力する。例えば、SEL[3]が「1」の時はDBUF[31:24]がDOUT[7:0]として選択されて出力される。同様に、SEL[2]、SEL[1]、SEL[0]が「1」の時は、各々、DBUF[23:16]、DBUF[15:8]、DBUF[7:0]がDOUT[7:0]として選択されて出力されることになる。
【0070】
また、判断回路60は、セレクタ66から出力されるデータDOUT[7:0]が有効か否かを示すストローブ信号DSTRBを後段の回路に出力する。このDSTRBはクロックCLK2に同期して変化する信号であり、DOUT[7:0]が有効な時にアクティブになる。
【0071】
また、判断回路60は、データステータスレジスタ52に保持されているデータステータスを、データセル単位でクリアするための4ビット幅の信号STRB[3:0]をデータステータスレジスタ52に出力する。更に、HSモードでのパケット受信終了時にアクティブになる信号TERMやHSモードでの受信動作をイネーブルにする信号HSENBをエラスティシティバッファ12に出力する。
【0072】
なお、セレクタ66、判断回路60、データステータスレジスタ52にデコード回路を設ければ、信号SEL、VALID、STRBを4ビット幅ではなくて2ビット幅にすることもできる。
【0073】
バッファ64は、データ保持レジスタ50からの32ビット幅のパラレルデータDPA[31:0]を受け、60MHzのクロックCLK2で同期化しバッファリングしたデータDBUF[31:0]をセレクタ66に出力する。
【0074】
セレクタ66(出力手段)は、判断回路60からの信号SEL[3:0]に基づいて、バッファ64からのデータDBUF[31:0]から、有効なデータセルのデータを選択し、8ビット幅のデータDOUT[7:0]として出力する。
【0075】
図5に本実施形態のシリアル/パラレル変換回路の動作概念図を示す。
【0076】
本実施形態では例えば図5のA1〜A5に示すように、480MHzのCLK1(第1のクロック)で入力されるシリアルデータDINがデータ保持レジスタ50に順次保持される。
【0077】
そして図5のB1〜B5に示すように、データ保持レジスタ50に保持されるデータが有効か否か(出力できるデータが揃ったか否か)が、例えば8ビット(広義には複数ビット)で構成されるデータセル単位で判断される。これは、例えば図4の判断回路60が、データステータスレジスタ52からの信号VALID[3:0]に基づいて判断することで実現される。
【0078】
そして図5のC1〜C5に示すように、有効と判断されたデータセルが、CLK1よりも周波数が低い60MHzのCLK2(第2のクロック)で本実施形態のシリアル/パラレル変換回路から出力される。これは、例えば図4のセレクタ66が、判断回路60から信号SEL[3:0]に基づいて、DBUF[31:0]の中から有効なデータセルのデータを選択することで実現される。
【0079】
なお、図5のC6に示すように、本実施形態のデータ保持レジスタ50(エラスティシティバッファ)はリングバッファ構造になっている。
【0080】
図5に示すように、本実施形態によれば、データセル単位(複数ビット単位)でデータの有効、非有効が判断され、データセル単位で本実施形態のシリアル/パラレル変換回路からデータが出力される。従って、データの有効、非有効の判断やオーバフローエラーの判断等を、例えば周波数が低い60MHzのCLK2に基づいて実現できる。従って、このような判断処理を480MHzのCLK3で行わなければならない図2の比較例とは異なり、微細加工が可能な最新の半導体プロセスを用いることなく、UTMIで定義されるエラスティシティバッファの機能を実現できるようになる。
【0081】
また、手作業によるレイアウトが不要になり、回路パターンをゲートアレイなどの自動配置配線で生成できるようになるため、開発期間の短縮化、装置の低コスト化を図れる。
【0082】
また、判断回路60等は、60MHzという低速のクロック周波数で動作すればよいため、クロックのスキューやジッタに対する耐性を高めることができ、データ転送の信頼性を大幅に向上できる。
【0083】
また、図2の比較例では、CLK1、CLK3間での同期タイミング調整、CLK3、CLK2間での同期タイミング調整というように2段階の調整が必要になるが、本実施形態ではCLK1、CLK2間の1段階のタイミング調整で済む。従って、タイミング設計が容易になると共に回路動作の信頼性も高めることができる。
【0084】
また図2の比較例では、データが12ビット分だけ貯まってから、データの出力処理等を開始する必要があり、処理を開始するまでのタイムラグが発生するが、図4の本実施形態によればこのようなタイムラグを解消できる。
【0085】
1.3 詳細な回路構成
図6に、図4のデータ保持レジスタ50の詳細な回路構成例を示す。なお、説明を簡単にするために、図6ではデータ保持レジスタ50の主要部だけが示されている。
【0086】
図6に示すように、データ保持レジスタ50は、Dフリップフロップ(広義には保持手段)DFA31〜DFA0を有する。
【0087】
そして、これらのDFA31〜0のデータ入力端子には、シリアルデータDINが入力される。
【0088】
また、DFA31〜0の各クロック端子には、図4の書き込みパルス生成回路54からの各書き込みパルス信号WP[31:0]が入力される。
【0089】
また、DFA31〜0のリセット端子には、制御回路60からの信号TERMが入力される。
【0090】
また、DFA31〜0の出力信号は、DPA[31:0]として図4のバッファ64に出力される。
【0091】
図6の構成によれば、シリアルデータDINの各ビットは、書き込みパルス信号WP[31:0]によりDFA31〜0に順次保持されて行く。即ち、DINの所与のビットがDFA0に保持されると、次のビットはDFA1に保持され、その次のビットはDFA2に保持される。そして、このようにしてDINの各ビットが順次保持され、DINの所与のビットがDFA31に保持されると、次のビットはDFA0に保持されることになり、リングバッファが実現される。
【0092】
また、リセット信号RESがアクティブになると、DFA31〜0は全てリセットされ、DPA[31:0]は全て「0」(論理レベル)になる。
【0093】
なお、信号RESは図4の信号TERMなどに基づき生成される。
【0094】
また、図6に示すように、DFA7〜0(出力DPA[7:0])、DFA15〜8(DPA[15:8])、DFA23〜16(DPA[23:16])、DFA31〜24(DPA[31:24])が各データセルを構成することになる。
【0095】
図7に、図4のデータステータスレジスタ52の詳細な回路構成例を示す。なお、説明を簡単にするために、図7ではデータステータスレジスタ52の主要部だけが示されている。
【0096】
図7に示すように、データステータスレジスタ52は、DフリップフロップDFB31〜DFB0を有する。
【0097】
そして、これらのDFB31〜0のデータ入力端子は、電源電圧VDDが接続されて「1」(論理レベル)に設定される。
【0098】
また、DFB31〜0の各クロック端子には、書き込みパルス生成回路54からの各書き込みパルス信号WP[31:0]が入力される。
【0099】
また、DFB31〜24、DFB23〜16、DFB15〜8、DFB7〜0、のリセット端子には、各々、論理和回路OR3、OR2、OR1、OR0の出力が入力される。そして、OR3〜OR0の一方の入力端子には信号PSTRB[3:0]が入力され、他方の入力端子には信号RESが入力される。
【0100】
なお、信号PSTRB[3:0]は、図4で判断回路60から入力されるストローブ信号STRB[3:0]の立ち上がりエッジで所与の時間アクティブになるパルス信号である。
【0101】
また、各データセルの先頭ビットに相当するDFB24、DFB16、DFB8、DFB0の出力信号は、データセルの有効、非有効を示す信号VALID[3:0]として図4の判断回路60に出力される。
【0102】
図7の構成によれば、書き込みパルス信号WP[31:0]の各パルスがアクティブになる毎に各DFB31〜0に「1」がセットされる。例えば、図6のデータ保持レジスタ50の各ビット(DFA31〜0)にデータが保持されると、対応するデータステータスレジスタ52の各ビット(DFB31〜0)にも「1」がセットされる。即ち、データステータスレジスタ52の各ビットには、データ保持レジスタ50の各ビットのデータのステータス(「1」の場合はデータが有効であることを示し、「0」の場合は非有効であることを示すステータス)が保持されることになる。
【0103】
また図7では、PSTRB[3]、PSTRB[2]、PSTRB[1]、PSTRB[0]がアクティブになると、各々、DFB31〜24、DFB23〜16、DFB15〜8、DFB7〜0が「0」にリセットされる。そして、DFB31〜24、DFB23〜16、DFB15〜8、DFB7〜0に保持されるデータステータスは、図6に示すデータセルであるDFA31〜24、DFA23〜16、DFA15〜8、DFA7〜0のステータスである。従って、PSTRB[3:0]の各々をアクティブにすることで、データステータスレジスタ52のデータステータスが、データセル単位でクリアされることになる。
【0104】
なお、図7において、信号VALID[3:0]を出力するためには、DフリップフロップDFB31〜0のうち、DFB24、DFB16、DFB8、DFB0を設ければ十分であり(データセル単位のステータスを保持する保持手段を設ければ十分であり)、その他のDフリップフロップDFB31〜25、DFB23〜17、DFB15〜9、DFB7〜1については省略することもできる。
【0105】
但し、これらのDFB31〜25、DFB23〜17、DFB15〜9、DFB7〜1を単に無くしてしまうと、WP[31:0]に寄生する負荷容量が互いに異なったものになってしまう。例えば、WP[24]はDFA24及びDFB24の両方のクロック端子に接続されるのに対し、WP[31]はDFA31のクロック端子にのみ接続され、WP[24]に寄生する負荷容量の方がWP[31]よりも大きくなってしまう。そして、このようにWP[31:0]に寄生する負荷容量が互いに異なってしまうと、WP[31:0]に信号遅延差が生じ、回路動作が不安定になる問題が発生する可能性がある。
【0106】
そこで、このような問題を解決するために、不要なDフリップフロップDFB31〜25、DFB23〜17、DFB15〜9、DFB7〜1の代わりに、これらのDフリップフロップのクロック端子と同等の負荷容量を有するダミー素子を設けるようにしてもよい。このようなダミー素子としては、Dフリップフロップよりもトランジスタ数が少ない素子(例えばインバータ回路)を使用することが望ましい。
【0107】
例えば、Dフリップフロップのトランジスタ数をNDF、ダミー素子のトランジスタ数をNDM、取り除いたDフリップフロップの数をNOMとする。すると、このようなダミー素子を用いることで、NTR=(NDF−NDM)×NOMの数だけトランジスタ数を減らすことができ、回路を小規模化できる。
【0108】
図8に、図4の書き込みパルス生成回路54の詳細な回路構成例を示す。なお、説明を簡単にするために、図8では書き込みパルス生成回路54の主要部だけが示されている。
【0109】
図8に示すように、書き込みパルス生成回路54は、DフリップフロップDFC31〜DFC0を有する。
【0110】
そして、これらの各DフリップフロップDFC31〜0のデータ入力端子には、前段の各Dフリップフロップの出力が入力される。例えば、DFC0のデータ入力端子にはDFC31の出力が入力され、DFC1のデータ入力端子にはDFC0の出力が入力され、DFC2のデータ入力端子にはDFC1の出力が入力される。
【0111】
また、DFC31〜0の各クロック端子には、HSDLL回路10からの480MHzのクロックCLK1が入力される。
【0112】
また、DFC31のセット端子及びDFC30〜0のリセット端子には信号RESが入力される。
【0113】
そして、DFC31〜0の出力信号は、書き込みパルス信号WP[31:0]としてデータ保持レジスタ50、データステータスレジスタ52に出力される。
【0114】
図8の構成によれば、信号RESがアクティブになると、DFC31は「1」にセットされ、DFC30〜0は「0」にリセットされる。
【0115】
そして、この状態でCLK1が入力されると、DFC31〜DFC0において「1」のパルスがDFC0からDFC31の方に向かって順次シフトして行き、データ保持レジスタ50、データステータスレジスタ52への書き込みパルス信号WP[31:0]が生成されることになる。
【0116】
1.4 動作の詳細
次に本実施形態の動作の詳細について図9、図10のタイミング波形図を用いて説明する。
【0117】
図9のD1に示すように、シリアルデータDINが入力されてからしばらくした後に、HSDLL回路10からDINの取り込みクロックCLK1が入力される。
【0118】
すると、図9のD2に示すように、書き込みパルス生成回路54がこのCLK1に基づいて書き込みパルス信号WP[31:0]を生成する。このWP[31:0]は、CLK1の32クロックサイクル(Nクロックサイクル)毎にそのパルスがアクティブになると共に、例えばD3、D4に示すようにパルスがアクティブになる期間が互いに1クロックサイクルずつシフトしている信号である。
【0119】
そして図9のD5に示すように、データ保持レジスタ50はこのWP[31:0]に基づいてDINの各ビットを保持し、DPA[31:0]を出力する。同様に、データステータレジスタ52もこのWP[31:0]に基づいて各ビットのデータステータス(DSTATUS[31:0])を保持する。
【0120】
VALID[3:0]は、各データセルの先頭の1ビットが保持された時に「1」(論理レベル)になり、PSTRB[3:0]がアクティブになると「0」(論理レベル)になる。なお、PSTRB[3:0]は、STRB[3:0]の立ち上がりエッジでアクティブになるパルス信号である。
【0121】
例えば、データセルの先頭ビットとなるデータ保持レジスタ50のDFA0(図6参照)にデータが保持されると、データステータスレジスタ52のDFB0(図7参照)に「1」がセットされるため、VALID「0」は図9のD7に示すように「1」になる。
【0122】
一方、図9のD8に示すようにSTRB[0]の立ち上がりエッジによりPSTRB[0]のパルスがアクティブになると、データステータスレジスタのDFB7〜DFB0(図7参照)がリセットされるため、VALID[0]は図9のD9に示すように「0」に戻る。
【0123】
また、VALID[1]は、次のデータセルの先頭ビットとなるデータ保持レジスタ50のDFA8(図6参照)にデータが保持されると、図9のD10に示すように「1」になり、PSTRB[1]がアクティブになると「0」に戻る。
【0124】
同様に、VALID[2]、VALID[3]も、データ保持レジスタ50のDFA16、24(図6参照)にデータが保持されると「1」になり、PSTRB[2]、PSTRB[3]がアクティブになると「0」に戻る。
【0125】
次に、図10のタイミング波形図の説明に移る。図10において、例えば「0???0」や「0?A??」の「?」は、無効な1バイト又は有効/無効を問わない1バイトを表し、「0」、「A」などの数字やアルファベットは有効な1バイトを表す。また、「0???0」、「0???1」の「?」は無効な1ビット又は有効/無効を問わない1ビットを表し、「0」、「1」は有効な1ビットを表す。また、RSTATEはステートマシーン62(図4参照)の状態を示すものであり、DSTRBはDOUT[7:0]が有効な時に「1」になる信号である。
【0126】
判断回路60は、データステータスレジスタ52からのVALID[3:0]に基づきデータセルの先頭ビット(広義には所与のビット)のデータが有効か否かを判断し、有効と判断したデータセルを、CLK2の次のクロックサイクルで出力する制御を行う。
【0127】
例えば図10のT0では、0バイト目(1番目)のデータセルの先頭ビットが有効であると、VALID[3:0](VALID[3:0]をCLK2に同期化した信号SVALID[3:0])に基づいて判断されている。すると、次のクロックサイクルであるT1で、ステートマシーン62(図4参照)のステートRSTATEが「IDLE」から「GOT0」に変化する。そして、判断回路60からの信号SEL[3:0]に基づいてセレクタ66がその0バイト目のデータセルのデータを選択し、DOUT[7:0]として出力する。
【0128】
また、この際に、判断回路60がSTRB[0]を「0」から「1」に変化させる。これにより、出力された0バイト目のデータセルについてのデータステータスがクリアされる。
【0129】
また図10のT1では、1バイト目(2番目)のデータセルの先頭ビットが有効であるとVALID[3:0]に基づいて判断されている。すると、次のクロックサイクルであるT2で、ステートマシーン62のステートRSTATEが「GOT1」に変化する。そして、その1バイト目のデータセルのデータがセレクタ66により選択されてDOUT[7:0]として出力される。
【0130】
また、この際に、判断回路60がSTRB[1]を「0」から「1」に変化させる。これにより、出力された1バイト目のデータセルについてのデータステータスがクリアされる。
【0131】
また図10のT2では、2バイト目(3番目)のデータセルの先頭ビットが有効であるとVALID[3:0]に基づいて判断されている。すると、次のクロックサイクルであるT3で、ステートマシーン62のステートRSTATEが「GOT2」に変化する。そして、その2バイト目のデータセルのデータがセレクタ66により選択されてDOUT[7:0]として出力される。
【0132】
また、この際に、判断回路60がSTRB[2]を「0」から「1」に変化させる。これにより、出力された2バイト目のデータセルについてのデータステータスがクリアされる。
【0133】
また図10のT3では、3バイト目(4番目)のデータセルの先頭ビットが非有効(INVALID)であると、VALID[3:0]に基づいて判断されている。すると、次のクロックサイクルであるT4で、ステートマシーン62のステートが、ウェイトを表す「W3」に変化する。そして、DOUT[7:0]の出力が1クロックサイクル期間だけウェイトされる。
【0134】
なお、図10のT4では、前のステートが「GOT2」であったため、3バイト目のデータセルを待つステート「W3」に変化しており、次のT5で3バイト目のデータセルが有効になると、ステートは「GOT3」に変化することになる。例えば、仮に前のステートが「GOT1」であった場合には、2バイト目のデータセルを待つステート「W2」に変化し、次のクロックサイクルで2バイト目のデータセルが有効になると、ステートは「GOT2」に変化することになる。
【0135】
以上のように本実施形態では、データセル単位でデータの有効、非有効が判断されながら、シリアルデータDINが8ビットのパラレルデータDOUT[7:0]に変換され、CLK2に同期化されて出力される。これにより、シリアル/パラレル変換機能とクロック周波数差を吸収するバッファ機能とを併せ持つシリアル/パラレル変換回路を実現できるようになる。
【0136】
2.本実施形態の特徴
2.1 データセルの有効、非有効の判断
さて本実施形態では、データセルが有効か否かを、データセルの先頭ビット(広義には所与のビット)のデータをモニタすることで判断している。そして、先頭ビットが有効であると判断されたデータセルについては、CLK2の次のクロックサイクル(広義には次のクロックサイクル以降)において有効なデータセルと見なしている。
【0137】
例えば図11(A)に示すように、データ保持レジスタ50におけるデータセルDC0の先頭ビット(図6のDFA0)にデータが保持され、このDC0に対応するデータステータスの先頭ビット(図7のDFB0)が「1」にセットされると、信号VALID[0]が「1」になる(図9のD7)。
【0138】
すると、このVALID[0](VALID[0]をCLK2で同期化したSVALID[0])を受けた判断回路60は、図11(B)、(C)に示すようにCLK2の次のクロックサイクルでこのDC0を有効なデータセルと判断し、DOUT[7:0]として出力する。
【0139】
同様に、データセルDC1、DC2、DC3の先頭ビットが有効になると、VALID[1]、[2]、[3]が「1」になり、これを受けた判断回路60は、CLK2の次のクロックサイクルでDC1、DC2、DC3を有効なデータセルと判断する。
【0140】
このように本実施形態では、データセルの全てのビットではなくて先頭ビット(広義には所与のビット)のデータの有効、非有効だけをモニタしてデータセルの有効、非有効を判断しているため、信号VALIDのビット幅を少なくすることができ、判断回路60の構成や処理を簡素化できる。また、データ保持レジスタ50のビット数(深さ)を、より少ないビット数にすることも可能になる。
【0141】
また、判断回路60は、480MHzという速い周波数のCLK1のクロックサイクルではなく、60MHzという遅い周波数のCLK2のクロックサイクルで、データセルの有効、非有効を判断できる。従って、判断処理に時間的な余裕が持てるようになり、最新の半導体プロセスを用いなくても、外部装置とのクロック周波数差を吸収するエラスティシティバッファの機能を実現できるようになる。
【0142】
また本実施形態では、データ保持レジスタ50とは別にデータステータスレジスタ52を設け、このデータステータスレジスタ52からの信号VALID[3:0]に基づいてデータセルの有効、非有効を判断している。従って、データ保持レジスタ50の構成を図6に示すような簡素な構成にすることができ、シリアルデータDINの確実な取り込み処理を実現できる。
【0143】
なお、データセルが有効か否かは先頭ビットで判断することが特に望ましいが、先頭ビット以外のビットで判断してもよい。
【0144】
また本実施形態では、例えばCLK2の第Kのクロックサイクルで先頭ビットが有効と判断されたデータセルを、次の第K+1のクロックサイクルで有効と見なしているが、第K+2のクロックサイクル以降で有効と見なすようにしてもよい。例えば、シリアルデータDINを8ビットではなくて、60MHzに同期した16ビットのパラレルデータに変換する場合には、データセルのビット幅を16ビットにする。そして、第Kのクロックサイクルで先頭ビットが有効と判断されたデータセルを、第K+1ではなく第K+2のクロックサイクルで有効と見なすようにすればよい。或いは、16ビット幅のデータセルの9ビット目を見てデータセルが有効か否かを判断してもよい。
【0145】
なお、本実施形態ではデータステータスレジスタ52に保持されているデータステータスを、データセル単位でクリアしている。
【0146】
例えば図12(A)に示すように、データセルDC0が出力されると(DC0が処理済みになると)、このデータセルDC0に対応するデータステータスがクリアされる。また図12(B)に示すように、データセルDC1が出力されると、このデータセルDC1に対応するデータステータスがクリアされる。同様に、データセルDC2、DC3が出力されると、DC2、DC3に対応するデータステータスがクリアされる。
【0147】
このようにすれば、例えばデータ保持レジスタ50をリングバッファ構造にした場合にも、データステータスレジスタ52に適切なデータステータスを保持できるようになる。
【0148】
2.2 ウェイト制御
本実施形態では、データセルが有効か否かをCLK2のクロックサイクル毎に判断し、データセルが有効でないと判断した場合には、そのデータセルのデータの出力を、少なくとも1クロックサイクル分だけウェイトするようにしている。
【0149】
例えば図13のE1では、0バイト目のデータセルが非有効と判断されたため、そのデータセルに対応するDOUT[7:0]の出力がE2に示すように例えば1クロックサイクルだけウェイトされる(2クロックサイクル以上ウェイトしてもよい)。
【0150】
このようなウェイト制御を行うことで、適切なデータだけをDOUT[7:0]として後段の回路に出力できるようになる。即ち、後段の回路は、信号DSTRBが「1」の時にDOUT[7:0]を取り込み、DSTRBが「0」の時にデータの取り込みをウェイトすればよい。また、このようなウェイト制御を行えば、エラスティシティバッファ12(データ保持レジスタ)がアンダフロー状態になった場合にも、処理に破綻が生じるのを防止できる。
【0151】
例えば図2の比較例では、480MHzという速い周波数のCLK1で全ての回路を動作させなければならないため、図13に示すようなウェイト制御を行うことは非常に困難となる。また、図2の比較例では、入力されるシリアルデータDINを480MHzのCLK3で次々と出力しなければならないため、エラスティシティバッファ600がアンダフロー状態になった場合に、処理に破綻が生じる可能性がある。
【0152】
これに対して本実施形態では、ウェイト制御を行う判断回路60を60MHzという遅い周波数のCLK2で動作させることができる。従って、図2の比較例とは異なり、処理に時間的な余裕を持たせることができ、ステートマシーン62を用いたインテリジェントなウェイト制御を実現できる。従って、エラスティシティバッファ12がアンダフロー状態になった場合にも、アンダフロー状態が解消されるまで待つことが可能になり、処理に破綻が生じるのを効果的に防止できる。
【0153】
2.3 書き込みパルス信号の利用
本実施形態では図14に示すような書き込みパルス信号WP[31:0]を用いて、データ保持レジスタ50の各ビットのデータやデータステータスレジスタ52の各ビットのデータステータスを保持するようにしている。
【0154】
ここで書き込みパルス信号WP[31:0]は、例えば図14のF1、F2に示すようにそのパルスがCLK1の32クロックサイクル(広義にはNクロックサイクル)毎に周期的にアクティブになる信号である。また、例えば図14のF1、F3、F4に示すように、各パルスがアクティブになる期間がCLK1の1クロックサイクルずつ互いにずれている。
【0155】
このように、周波数が速いCLK1に基づいてこのような書き込みパルス信号WP[31:0]を生成し、このWP[31:0]に基づいてデータ保持レジスタ50、データステータスレジスタ52を動作させるようにすれば、データ保持レジスタ50、データステータスレジスタ52の動作に余裕を持たせることが可能になる。即ち、図14に示すように各書き込みパルス信号WP[31:0]がアクティブになる周期TPを長くできるため、データ保持レジスタ50、データステータスレジスタ52が含むDフリップフロップのセットアップタイムやホールドタイムに余裕を持たせることが可能になる。また、周期TPが長いため、この周期TPの期間を利用して、オーバフロー制御処理などの各種の処理を行うことが可能になる。
【0156】
更に図14に示すように周期的にアクティブになる書き込みパルス信号WP[31:0]を用いて図6に示すようなデータ保持レジスタ50を動作させれば、簡素な構成でリングバッファを実現できるようになる。
【0157】
2.4 クロック周波数の設定
さて、図15に示すように、USB2.0の規格(広義には所与の規格)では、HSモードでの最大クロック誤差は480MHz+/−500ppmと定義されている。そして、外部装置及び内部装置の両方が480MHz+/−500ppmの規格を遵守している場合には、エラスティシティバッファ12を適切な深さ(例えば本実施形態では32ビットデプス)に設定しておくことで、オーバフローエラーやアンダフローエラーの発生を防ぐことができる。
【0158】
しかしながら、バスに接続される外部装置が、このような最大クロック誤差の規格を遵守してなかった場合や何らかの不具合が生じた場合には、エラスティシティバッファ12を適切な深さに設定しておいても、オーバフローエラーやアンダフローエラーが発生してしまうおそれがある。
【0159】
そこで、このような問題に対処するために、USB2.0のHSモードで定義されているCLK1の周波数よりも高い周波数のCLK3(第3のクロック)に基づいて、エラスティシティバッファ12の後段の回路を動作させる60MHzのCLK2(第2のクロック)を生成してもよい。例えば、CLK1の周波数の規格が480MHz+/−500ppmの場合に、CLK3の周波数を、上限値である480MHz+500ppm以上にする。そして、このCLK3を分周することで60MHzのCLK2を生成する。
【0160】
このようにすると、内部装置のクロック周波数(≧480MHz+500ppm)を外部装置のクロック周波数(480MHz+/−500ppm)以上に設定できるため、アンダフローエラーは発生しやすくなるが、オーバフローエラーが生じる可能性はほとんどなくなる。
【0161】
そして本実施形態では、図13で説明したようなウェイト制御を行うことで、アンダフローエラーに対しては適正に対処できる。従って、図15に示すようなクロック周波数の設定にすれば、外部装置がクロック周波数の規格を遵守していないような場合にも、柔軟にこれに対処できるデータ転送制御装置を実現できる。
【0162】
3.電子機器
次に、本実施形態のデータ転送制御装置を含む電子機器の例について説明する。
【0163】
例えば図16(A)に電子機器の1つであるプリンタの内部ブロック図を示し、図17(A)にその外観図を示す。CPU(マイクロコンピュータ)510はシステム全体の制御などを行う。操作部511はプリンタをユーザが操作するためのものである。ROM516には、制御プログラム、フォントなどが格納され、RAM517はCPU510のワーク領域として機能する。DMAC518は、CPU510を介さずにデータ転送を行うためのDMAコントローラである。表示パネル519はプリンタの動作状態をユーザに知らせるためのものである。
【0164】
USBを介してパーソナルコンピュータなどの他のデバイスから送られてきたシリアルの印字データは、データ転送制御装置500によりパラレルの印字データに変換される。そして、変換後のパラレル印字データは、CPU510又はDMAC518により、印字処理部(プリンタエンジン)512に送られる。そして、印字処理部512においてパラレル印字データに対して所与の処理が施され、プリントヘッダなどからなる印字部(データの出力処理を行う装置)514により紙に印字されて出力される。
【0165】
図16(B)に電子機器の1つであるスキャナの内部ブロック図を示し、図17(B)にその外観図を示す。CPU520はシステム全体の制御などを行う。操作部521はスキャナをユーザが操作するためのものである。ROM526には制御プログラムなどが格納され、RAM527はCPU520のワーク領域として機能する。DMAC528はDMAコントローラである。
【0166】
光源、光電変換器などからなる画像読み取り部(データの取り込み処理を行う装置)522により原稿の画像が読み取られ、読み取られた画像のデータは画像処理部(スキャナエンジン)524により処理される。そして、処理後の画像データは、CPU520又はDMAC528によりデータ転送制御装置500に送られる。データ転送制御装置500は、このパラレルの画像データをシリアルデータに変換し、USBを介してパーソナルコンピュータなどの他のデバイスに送信する。
【0167】
図16(C)に電子機器の1つであるCD−RWドライブの内部ブロック図を示し、図17(C)にその外観図を示す。CPU530はシステム全体の制御などを行う。操作部531はCD−RWをユーザが操作するためのものである。ROM536には制御プログラムなどが格納され、RAM537はCPU530のワーク領域として機能する。DMAC538はDMAコントローラである。
【0168】
レーザ、モータ、光学系などからなる読み取り&書き込み部(データの取り込み処理を行う装置又はデータの記憶処理を行うための装置)533によりCD−RW532から読み取られたデータは、信号処理部534に入力され、エラー訂正処理などの所与の信号処理が施される。そして、信号処理が施されたデータが、CPU530又はDMAC538によりデータ転送制御装置500に送られる。データ転送制御装置500は、このパラレルのデータをシリアルデータに変換し、USBを介してパーソナルコンピュータなどの他のデバイスに送信する。
【0169】
一方、USBを介して他のデバイスから送られてきたシリアルのデータは、データ転送制御装置500によりパラレルのデータに変換される。そして、このパラレルデータは、CPU530又はDMAC538により信号処理部534に送られる。そして、信号処理部534においてこのパラレルデータに対して所与の信号処理が施され、読み取り&書き込み部533によりCD−RW532に記憶される。
【0170】
なお、図16(A)、(B)、(C)において、CPU510、520、530の他に、データ転送制御装置500でのデータ転送制御のためのCPUを別に設けるようにしてもよい。
【0171】
本実施形態のデータ転送制御装置を電子機器に用いれば、USB2.0におけるHSモードでのデータ転送が可能になる。従って、ユーザがパーソナルコンピュータなどによりプリントアウトの指示を行った場合に、少ないタイムラグで印字が完了するようになる。また、スキャナへの画像取り込みの指示の後に、少ないタイムラグで読み取り画像をユーザは見ることができるようになる。また、CD−RWからのデータの読み取りや、CD−RWへのデータの書き込みを高速に行うことができるようになる。
【0172】
また、本実施形態のデータ転送制御装置を電子機器に用いれば、製造コストが安い通常の半導体プロセスでデータ転送制御装置のICを製造できるようになる。従って、データ転送制御装置の低コスト化を図れ、電子機器の低コスト化も図れるようになる。また、データ転送制御の中で高速で動作する部分を少なくすることができるため、データ転送の信頼性を向上でき、電子機器の信頼性も向上できるようになる。
【0173】
なお本実施形態のデータ転送制御装置を適用できる電子機器としては、上記以外にも例えば、種々の光ディスクドライブ(CD−ROM、DVD)、光磁気ディスクドライブ(MO)、ハードディスクドライブ、TV、VTR、ビデオカメラ、オーディオ機器、電話機、プロジェクタ、パーソナルコンピュータ、電子手帳、ワードプロセッサなど種々のものを考えることができる。
【0174】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0175】
例えば、本発明のデータ転送制御装置の構成は、図1に示す構成に限定されるものではない。
【0176】
また、シリアル/パラレル変換回路の構成も図4に示す構成が特に望ましいが、これに限定されず種々の変形実施が可能である。
【0177】
また、データ保持手段(データ保持レジスタ)、データステータス保持手段(データステータスレジスタ)、書き込みパルス生成手段(書き込みパルス生成回路)の構成も図6、図7、図8に示す構成に限定されるものではない。
【0178】
また、データセルのビット数や、第1、第2、第3のクロックの周波数や、データ保持レジスタやデータステータス保持手段や書き込みパルス生成手段のビット数なども、本実施形態ではその一例を示したものであり、これに限定されるものではない。
【0179】
また、本発明は、USB2.0でのデータ転送に適用されることが特に望ましいが、これに限定されるものではない。例えばUSB2.0と同様の思想に基づく規格やUSB2.0を発展させた規格におけるデータ転送にも本発明は適用できる。
【図面の簡単な説明】
【図1】本実施形態のデータ転送制御装置の構成例を示す図である。
【図2】比較例について説明するための図である。
【図3】図3(A)、(B)、(C)も、比較例について説明するための図である。
【図4】本実施形態のシリアル/パラレル変換回路の構成例を示す図である。
【図5】本実施形態のシリアル/パラレル変換回路の動作概念図である。
【図6】データ保持レジスタの詳細な回路構成例を示す図である。
【図7】データステータスレジスタの詳細な回路構成例を示す図である。
【図8】書き込みパルス生成回路の詳細な回路構成例を示す図である。
【図9】本実施形態の動作について説明するためのタイミング波形図である。
【図10】本実施形態の動作について説明するためのタイミング波形図である。
【図11】図11(A)、(B)、(C)は、データセルの先頭ビットのデータが有効か否かを判断して、そのデータセルの有効、非有効を判断する手法について説明するための図である。
【図12】図12(A)、(B)は、データステータスをデータセル単位でクリアする手法について説明するための図である。
【図13】本実施形態のウェイト制御について説明するための図である。
【図14】書き込みパルス信号について説明するためのタイミング波形図である。
【図15】クロック周波数の設定手法について説明するための図である。
【図16】図16(A)、(B)、(C)は、種々の電子機器の内部ブロック図の例である。
【図17】図17(A)、(B)、(C)は、種々の電子機器の外観図の例である。
【符号の説明】
10 HSDLL回路
12 エラスティシティバッファ
20 発振回路
22 HSPLL
24 FSPLL
50 データ保持レジスタ(データ保持手段)
52 データステータスレジスタ(データステータス保持手段)
54 書き込みパルス生成回路(書き込みパルス生成手段)
60 判断回路(判断手段)
62 ステートマシーン
64 バッファ
66 セレクタ(出力手段)
400 データハンドラ回路
410 HS回路
420 FS回路
430 アナログフロントエンド回路
440 クロック生成回路
450 クロック制御回路

Claims (12)

  1. シリアルデータをパラレルデータに変換するシリアル/パラレル変換回路であって、
    第1のクロックで入力されるシリアルデータを受け、保持するデータ保持手段と、
    前記データ保持手段に保持されるデータが有効か否かを、複数のビットで構成されるデータセル単位で判断する判断手段と、
    有効と判断されたデータセルのデータを、第1のクロックよりも周波数が低い第2のクロックで前記データ保持手段から出力する手段と、
    を含むことを特徴とするシリアル/パラレル変換回路。
  2. 請求項1において、
    前記判断手段が、
    前記第2のクロックの第Kのクロックサイクルにおいて所与のビットのデータが有効であると判断したデータセルについては、前記第2のクロックの第K+1のクロックサイクル以降のクロックサイクルにおいて有効なデータセルであると判断することを特徴とするシリアル/パラレル変換回路。
  3. 請求項1又は2において、
    前記判断手段が、
    前記第2のクロックのクロックサイクル毎にデータセルが有効か否かを判断し、データセルが有効でないと判断した場合には、該データセルのデータの出力を少なくとも1クロックサイクル分だけウェイトすることを特徴とするシリアル/パラレル変換回路。
  4. 請求項1乃至3のいずれかにおいて、
    前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段を含み、
    前記判断手段が、
    前記データステータス保持手段からのデータステータスに基づいて、各データセルが有効か否かを判断することを特徴とするシリアル/パラレル変換回路。
  5. 請求項1乃至4のいずれかにおいて、
    前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段を含み、
    前記判断手段が、
    前記データステータス保持手段からのデータステータスに基づいて、各データセルのデータの出力をウェイトするか否かを判断することを特徴とするシリアル/パラレル変換回路。
  6. 請求項1乃至5のいずれかにおいて、
    前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段を含み、
    前記判断手段が、
    前記データステータス保持手段に保持されているデータステータスを、データセル単位でクリアすることを特徴とするシリアル/パラレル変換回路。
  7. 請求項1乃至6のいずれかにおいて、
    前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段と、
    前記第1のクロックのNクロックサイクル毎に周期的にパルスがアクティブになると共にパルスがアクティブになる期間が1クロックサイクルずつ互いにずれている第1〜第Nの書き込みパルス信号を生成する書き込みパルス生成手段とを含み、
    前記データ保持手段が、
    前記第1〜第Nの各書き込みパルス信号に基づいてデータを保持し、
    前記データステータス保持手段が、
    前記第1〜第Nの各書き込みパルス信号に基づいてデータのステータスを保持することを特徴とするシリアル/パラレル変換回路。
  8. シリアルデータをパラレルデータに変換するシリアル/パラレル変換回路であって、
    第1のクロックで入力されるシリアルデータを受け、保持するデータ保持手段と、
    前記データ保持手段からのデータを、第1のクロックよりも周波数が低い第2のクロックで出力する手段と、
    前記データ保持手段に保持されるデータのステータスを保持するデータステータス保持手段と、
    前記第1のクロックのNクロックサイクル毎に周期的にパルスがアクティブになると共にパルスがアクティブになる期間が1クロックサイクルずつ互いにずれている第1〜第Nの書き込みパルス信号を生成する書き込みパルス生成手段とを含み、
    前記データ保持手段が、
    前記第1〜第Nの各書き込みパルス信号に基づいてデータを保持し、
    前記データステータス保持手段が、
    前記第1〜第Nの各書き込みパルス信号に基づいてデータのステータスを保持することを特徴とするシリアル/パラレル変換回路。
  9. バスを介したデータ転送のためのデータ転送制御装置であって、
    請求項1乃至8のいずれかのシリアル/パラレル変換回路と、
    前記シリアル/パラレル変換回路からのデータを受け、データ転送のための所与の処理を行う回路と、
    を含むことを特徴とするデータ転送制御装置。
  10. 請求項9において、
    所与の規格に準拠してデータ転送が行われる場合において、
    前記所与の規格で定義されている前記第1のクロックの周波数よりも高い周波数の第3のクロックに基づいて、前記第2のクロックが生成されることを特徴とするデータ転送制御装置。
  11. 請求項9又は10において、
    USB(Universal Serial Bus)の規格に準拠したデータ転送を行うことを特徴とするデータ転送制御装置。
  12. 請求項9乃至11のいずれかのデータ転送制御装置と、
    前記データ転送制御装置及び前記バスを介して転送されるデータの出力処理又は取り込み処理又は記憶処理を行う装置と、
    を含むことを特徴とする電子機器。
JP2000325341A 2000-10-25 2000-10-25 シリアル/パラレル変換回路、データ転送制御装置及び電子機器 Expired - Fee Related JP3580242B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000325341A JP3580242B2 (ja) 2000-10-25 2000-10-25 シリアル/パラレル変換回路、データ転送制御装置及び電子機器
TW090125300A TW550462B (en) 2000-10-25 2001-10-12 Serial/parallel switching circuit, data transmission control device and electronic machine
US09/977,936 US6732205B2 (en) 2000-10-25 2001-10-17 Serial/parallel conversion circuit, data transfer control device, and electronic equipment
EP01125159A EP1202163A3 (en) 2000-10-25 2001-10-23 Serial/parallel conversion circuit, data transfer control device, and electronic equipment
KR10-2001-0065626A KR100434833B1 (ko) 2000-10-25 2001-10-24 직렬/병렬 변환 회로, 데이터 전송 제어 장치 및 전자 기기
CNB011302488A CN1160634C (zh) 2000-10-25 2001-10-25 串行/并行转换电路、数据传送控制装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000325341A JP3580242B2 (ja) 2000-10-25 2000-10-25 シリアル/パラレル変換回路、データ転送制御装置及び電子機器

Publications (2)

Publication Number Publication Date
JP2002135132A JP2002135132A (ja) 2002-05-10
JP3580242B2 true JP3580242B2 (ja) 2004-10-20

Family

ID=18802723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000325341A Expired - Fee Related JP3580242B2 (ja) 2000-10-25 2000-10-25 シリアル/パラレル変換回路、データ転送制御装置及び電子機器

Country Status (6)

Country Link
US (1) US6732205B2 (ja)
EP (1) EP1202163A3 (ja)
JP (1) JP3580242B2 (ja)
KR (1) KR100434833B1 (ja)
CN (1) CN1160634C (ja)
TW (1) TW550462B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITVA20010035A1 (it) * 2001-10-16 2003-04-16 St Microelectronics Srl Dispositivo di memoria non volatile con doppia interfaccia di comunicazione seriale/parallela
US8751384B2 (en) 2002-05-08 2014-06-10 Metavante Corporation Integrated bill presentment and payment system and method of operating the same
JP4204290B2 (ja) * 2002-09-25 2009-01-07 アルプス電気株式会社 通信制御装置
TW589831B (en) 2002-12-05 2004-06-01 Via Tech Inc Multi-port network interface circuit and related method for triggering transmission signals of multiple ports with clocks of different phases
JP3649226B2 (ja) * 2003-05-20 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
JP3614161B2 (ja) * 2003-05-20 2005-01-26 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
JP3649227B2 (ja) 2003-06-06 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
CN1321382C (zh) * 2004-01-20 2007-06-13 宏达国际电子股份有限公司 串行/并行数据转换模块及相关计算机系统
US20050278042A1 (en) * 2004-05-26 2005-12-15 Sung-Jung Wu Fully digital audio output device
JP2006048767A (ja) * 2004-07-30 2006-02-16 Elpida Memory Inc 半導体メモリ試験装置
JP4517891B2 (ja) * 2005-02-28 2010-08-04 日本電気株式会社 シリアル/パラレル変換回路及びパラレル/シリアル変換回路
US7526704B2 (en) * 2005-08-23 2009-04-28 Micron Technology, Inc. Testing system and method allowing adjustment of signal transmit timing
JP2007172574A (ja) * 2005-11-25 2007-07-05 Seiko Epson Corp 集積回路装置及び電子機器
US20070208980A1 (en) * 2006-01-30 2007-09-06 Peter Gregorius Method of transmitting data between different clock domains
JP4796983B2 (ja) * 2007-03-08 2011-10-19 オンセミコンダクター・トレーディング・リミテッド シリアル/パラレル変換回路、液晶表示駆動回路
JP4743456B2 (ja) * 2009-07-01 2011-08-10 テクトロニクス・インターナショナル・セールス・ゲーエムベーハー データ生成装置
KR20110058575A (ko) * 2009-11-26 2011-06-01 삼성전자주식회사 데이터 프로세싱 시스템에서의 대역폭 동기화 회로 및 그에 따른 대역폭 동기화 방법
US8335875B1 (en) * 2011-06-24 2012-12-18 Intel Corporation System and method for performing isochronous data buffering
JP5891758B2 (ja) * 2011-12-06 2016-03-23 サンケン電気株式会社 電子装置
CN104750648B (zh) * 2015-04-10 2017-07-21 北京拓盛电子科技有限公司 基于双线总线的单向通讯控制装置及方法
JP6687392B2 (ja) * 2016-01-08 2020-04-22 ザインエレクトロニクス株式会社 シリアライザ装置
CN106598134B (zh) * 2016-12-15 2020-02-11 中国人民解放军重庆通信学院 一种数字式相参窄脉冲发生装置
US20180173666A1 (en) * 2016-12-16 2018-06-21 Intel Corporation APPARATUSES AND METHODS TO COUPLE AN EMBEDDED UNIVERSAL SERIAL BUS (eUSB) CIRCUIT TO A UNIVERSAL SERIAL BUS (USB) TRANSCEIVER INTERFACE CIRCUIT
CN110601698B (zh) * 2018-06-13 2022-09-20 瑞昱半导体股份有限公司 串行器/解串器实体层电路
US11562780B2 (en) 2019-10-04 2023-01-24 Samsung Electronics Co., Ltd. Memory device and memory system including the same
KR20210040707A (ko) * 2019-10-04 2021-04-14 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4447804A (en) * 1981-06-22 1984-05-08 The United States Of America As Represented By The Secretary Of The Navy Serial to parallel data conversion interface circuit
US4901076A (en) * 1987-10-29 1990-02-13 International Business Machines Corporation Circuit for converting between serial and parallel data streams by high speed addressing
US4945548A (en) * 1988-04-28 1990-07-31 Digital Equipment Corporation Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
US5274647A (en) * 1989-02-13 1993-12-28 Kabushiki Kaisha Toshiba Elastic buffer with error detection using a hamming distance circuit
US5058132A (en) 1989-10-26 1991-10-15 National Semiconductor Corporation Clock distribution system and technique
US5323426A (en) * 1992-02-21 1994-06-21 Apple Computer, Inc. Elasticity buffer for data/clock synchronization
US6081561A (en) * 1994-02-25 2000-06-27 Texas Instruments Incorporated Method and apparatus for receiving and reconstituting a data signal employing oversampling and selection of a sampled data signal remote from transitions in the data signal
KR0177733B1 (ko) 1994-08-26 1999-05-15 정장호 데이타 전송장치의 클럭동기 회로
US6359951B1 (en) * 1998-06-03 2002-03-19 Intel Corporation Method and apparatus for high speed signaling
GB2338155B (en) * 1998-06-05 2003-02-12 3Com Technologies Ltd Hub system with ring arbitration
FI982040A (fi) * 1998-09-22 2000-03-23 Nokia Multimedia Network Terminals Oy Menetelmä ja laite datavirran synkronoimiseksi
JP3068593B1 (ja) * 1999-02-22 2000-07-24 日本電気アイシーマイコンシステム株式会社 シリアル―パラレル変換回路
US6594329B1 (en) * 1999-11-01 2003-07-15 Intel Corporation Elastic buffer
US6509851B1 (en) * 2000-03-30 2003-01-21 Cypress Semiconductor Corp. Method for using a recovered data-encoded clock to convert high-frequency serial data to lower frequency parallel data

Also Published As

Publication number Publication date
US20020049872A1 (en) 2002-04-25
US6732205B2 (en) 2004-05-04
KR100434833B1 (ko) 2004-06-07
CN1160634C (zh) 2004-08-04
KR20020032350A (ko) 2002-05-03
CN1354425A (zh) 2002-06-19
JP2002135132A (ja) 2002-05-10
EP1202163A2 (en) 2002-05-02
EP1202163A3 (en) 2004-09-08
TW550462B (en) 2003-09-01

Similar Documents

Publication Publication Date Title
JP3580242B2 (ja) シリアル/パラレル変換回路、データ転送制御装置及び電子機器
JP3587162B2 (ja) データ転送制御装置及び電子機器
US6732204B2 (en) Data transfer control device and electronic equipment
CN101599053B (zh) 支持多种传输协议的串行接口控制器及控制方法
JP3646644B2 (ja) データ転送制御装置及び電子機器
EP0977109A1 (en) Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US20020047738A1 (en) Sampling clock generation circuit, data transfer control device, and electronic equipment
JP2009147869A (ja) 同期化回路
US6163584A (en) Synchronization element for converting an asynchronous pulse signal into a synchronous pulse signal
US5911062A (en) Data acquisition method and protocol controller circuit
US10509760B2 (en) Buffer controller, memory device, and integrated circuit device
US6519709B1 (en) Method and device for transferring data between two asynchronously clocked circuits via a buffer by renewing an access pointer thereof only when effective data is received
EP3739463B1 (en) Circuit for asynchronous data transfer
JP2005216147A (ja) 情報処理装置
JPH11163951A (ja) データ受信装置
CN112148655A (zh) 多位数据跨时钟域的处理方法及装置
JP2596336B2 (ja) 非同期ディジタル通信装置
JP2994906B2 (ja) データ受信回路
JP3115756B2 (ja) デマルチプレクサ回路
JP2008167199A (ja) イメージセンサモジュール
JP2000040054A (ja) シリアルインターフェース
JP2000036804A (ja) 同期化回路
JP2008003913A (ja) シリアル通信システム
JPH0738386A (ja) データラッチ回路
JP2004006987A (ja) 集積回路装置

Legal Events

Date Code Title Description
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: 20040629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040712

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees