JP4281367B2 - データ転送制御回路、電子機器及びデータ転送制御方法 - Google Patents

データ転送制御回路、電子機器及びデータ転送制御方法 Download PDF

Info

Publication number
JP4281367B2
JP4281367B2 JP2003022294A JP2003022294A JP4281367B2 JP 4281367 B2 JP4281367 B2 JP 4281367B2 JP 2003022294 A JP2003022294 A JP 2003022294A JP 2003022294 A JP2003022294 A JP 2003022294A JP 4281367 B2 JP4281367 B2 JP 4281367B2
Authority
JP
Japan
Prior art keywords
data
buffer
control circuit
area
valid
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
JP2003022294A
Other languages
English (en)
Other versions
JP2004234348A (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 JP2003022294A priority Critical patent/JP4281367B2/ja
Publication of JP2004234348A publication Critical patent/JP2004234348A/ja
Application granted granted Critical
Publication of JP4281367B2 publication Critical patent/JP4281367B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送制御回路、電子機器及びデータ転送制御方法に関する。
【0002】
【背景技術】
近年、USB(Universal Serial Bus)2.0やIEEE1394のように高速なデータ転送を実現できる高速シリアルバスのインターフェースが着目を集めている。このようなインターフェースを備える電子機器では、高速シリアルバスとDMAバス(アプリケーションデバイスが接続される汎用バス)との間のブリッジ機能を有するデータ転送制御装置が組み込まれる場合がある。このようなブリッジ機能を有するデータ転送制御装置の従来技術としては例えば以下のようなものがある。
【0003】
【特許文献1】
特開2000−134242号公報
【0004】
【発明が解決しようとする課題】
このようなブリッジ機能を有するデータ転送制御装置には、アプリケーションデバイスからのデータや、USBなどの高速シリアルバスからのデータを一時的に蓄積するデータバッファ(RAM)が設けられる。そしてこのデータバッファは、アプリケーションデバイス(ASIC)、USB、CPUなどにより共用されてアクセスされることになる。そして、アプリケーションデバイスとデータバッファとの間には、アプリケーションデバイスからのデータを受信してデータバッファに書き込んだり、データバッファからのデータをアプリケーションデバイスに送信する機能を有するデータ転送制御回路が設けられる。
【0005】
しかしながらデータバッファの帯域には限界がある。従って、アプリケーションデバイスとデータバッファとの間に設けられるデータ転送制御回路の設計の際には、如何にしてデータバッファの帯域を有効活用できるかが重要な技術的課題になる。
【0006】
またデータ転送制御回路が制御するDMAバス(汎用バス)には、種々のアプリケーションデバイスが接続されることが想定される。従って、このように種々のアプリケーションデバイスがDMAバスに接続された場合にも、データ転送制御回路が適正なデータ転送処理を行えることが望まれる。
【0007】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、データバッファの帯域を有効活用でき、適正なデータ転送処理を実現できるデータ転送制御回路、これを含む電子機器、及びデータ転送制御方法を提供することにある。
【0008】
【課題を解決するための手段】
本発明は、バスを介して受信したデータをデータバッファに書き込む制御を行うデータ転送制御回路であって、第1〜第N(Nは2以上の整数)の領域を有する少なくとも1つの受信バッファを含む受信バッファ部と、バスを介してKバイト単位でデータを受信し、受信したKバイト(Kは自然数)のデータを、受信バッファの第1〜第Nの各領域に順次書き込む制御回路と、受信バッファのデータをデータバッファに書き込むアクセス制御回路とを含み、前記アクセス制御回路が、受信バッファの第1〜第Nの領域の全てにデータが書き込まれた場合には、第1〜第Nの領域のデータをデータバッファに書き込み、受信バッファの第1〜第Nの領域のうちの第J(Jは1≦J<Nの関係を満たす整数)の領域までデータが書き込まれた後、所定時間が経過しても、次の領域に書き込むべきデータが受信されなかった場合には、第1〜第Jの領域のデータをデータバッファに書き込むデータ転送制御回路に関係する。
【0009】
本発明によれば、受信バッファの第1〜第Nの領域の全てにデータが書き込まれた場合には、第1〜第Nの領域のデータがデータバッファに書き込まれる。これにより、データバッファへのアクセス時間を1/Nにすることができ、データバッファの帯域を有効活用できる。
【0010】
そして本発明では、受信バッファの第1〜第Nの領域のうちの途中の第Jの領域までデータが書き込まれた後、所定時間が経過すると、第1〜第Jの領域のデータがデータバッファに書き込まれるようになる。従って、受信バッファに、第1〜第Jの領域のデータが残ったままになってしまう事態が解消され、適正なデータ転送処理を実現できる。
【0011】
なおデータバッファは、高速シリアルバスなどの第1のバスと、プロセッサなどが使用する第2のバスとによりアクセス可能なバッファとすることができる。
【0012】
また本発明では、前記受信バッファ部が第1、第2の受信バッファを含み、前記制御回路が、第1の受信バッファの第1〜第Nの領域のデータがデータバッファに書き込まれた場合には、バスを介して受信した次のデータを、第2の受信バッファの第1の領域から書き込み、第1の受信バッファの第1〜第Jの領域のデータがデータバッファに書き込まれた場合には、バスを介して受信した次のデータを、第2の受信バッファの第J+1の領域から書き込むようにしてもよい。
【0013】
このようにすれば、データバッファの受信領域に隙間領域ができるなどの事態を防止できる。なお、第2の受信バッファの第J+1〜第Nの領域にデータが書き込まれた場合には、第J+1〜第Nの領域のデータをデータバッファに書き込むことができる。そして次に受信したデータについては、第1の受信バッファの第1の領域から書き込むことができる。
【0014】
また本発明では、受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域を特定するための領域特定情報を記憶する有効データレジスタを含み、前記アクセス制御回路が、前記有効データレジスタに記憶された前記領域特定情報に基づいて、受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域のデータを、データバッファに書き込むようにしてもよい。
【0015】
このようにすれば、有効データレジスタに記憶された領域特定情報に基づいて受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域を特定できるようになる。そして、その特定された領域のデータを、データバッファに書き込むことができる。これによりデータバッファへのデータの書き込み順序等を適正に制御できるようになる。
【0016】
また本発明では、前記有効データレジスタが、前記領域特定情報として第1〜第Nの有効データビットを有し、前記有効データレジスタの第1〜第Nの各有効データビットは、受信バッファの第1〜第Nの各領域に有効な受信データが蓄積された場合に第1のレベルに設定され、前記アクセス制御回路が、受信バッファの第1〜第Nの領域のうち、第1のレベルに設定された有効データビットに対応する領域のデータを、データバッファに書き込むようにしてもよい。
【0017】
このような第1〜第Nの有効データビットを用いれば、データバッファへのデータの書き込み順序の制御等を更に容易化できる。なお領域特定情報は、このような第1〜第Nの有効データビットに限定されない。例えばN=2Pの関係を満たす自然数をPとした場合に、Pビットの領域特定情報で、第1〜第Nの領域を特定してもよい。
【0018】
また本発明では、前記アクセス制御回路が、各有効データ信号が、第1〜第Nの各有効データビットが第1のレベルである場合にアクティブになる第1〜第Nの有効データ信号を、データバッファに出力し、第1〜第Nの有効データ信号に基づいてデータバッファにデータを書き込むようにしてもよい。
【0019】
また本発明では、データバッファの受信領域の残りバイト数を検出する残りバイト数検出回路を含み、前記制御回路が、バスに接続されるデバイスに対して出力されるリクエスト信号をアクティブにした後に、データバッファの受信領域の残りバイト数がLバイト(Lは自然数)になった場合に、リクエスト信号を非アクティブにするようにしてもよい。
【0020】
このようにすれば、リクエスト信号が非アクティブになった後に、バスに接続されるデバイスがデータを転送してきた場合にも、これに対処できるようになる。なおLをN×K以上とすることもできる。
【0021】
また本発明は、バスを介して受信したデータをデータバッファに書き込む制御を行うデータ転送制御回路であって、少なくとも1つの受信バッファを含む受信バッファ部と、バスを介してデータを受信し、受信したデータを受信バッファに書き込む制御回路と、受信バッファのデータをデータバッファの受信領域に書き込むアクセス制御回路と、データバッファの受信領域の残りバイト数を検出する残りバイト数検出回路とを含み、前記制御回路が、バスに接続されるデバイスに対して出力されるリクエスト信号をアクティブにした後に、データバッファの受信領域の残りバイト数がLバイト(Lは自然数)になった場合に、リクエスト信号を非アクティブにするデータ転送制御回路に関係する。
【0022】
また本発明では、前記Lの値が設定される書き換え可能なレジスタを含み、前記制御回路が、前記残りバイト数検出回路で検出された残りバイト数と、前記レジスタに設定されたLの値とに基づいて、リクエスト信号を制御するようにしてもよい。
【0023】
また本発明は上記のいずれかのデータ転送制御回路と、前記データ転送制御回路のバスに接続されるデバイスと、前記データ転送制御回路を制御するプロセッサとを含む電子機器に関係する。
【0024】
また本発明は、バスを介してKバイト単位(Kは自然数)でデータを受信し、受信したKバイトのデータを、第1〜第N(Nは2以上の整数)の領域を有する受信バッファの第1〜第Nの各領域に順次書き込み、受信バッファのデータをデータバッファに書き込むデータ転送制御方法であって、受信バッファの第1〜第Nの領域の全てにデータが書き込まれた場合には、第1〜第Nの領域のデータをデータバッファに書き込み、受信バッファの第1〜第Nの領域のうちの第J(Jは1≦J<Nの関係を満たす整数)の領域までデータが書き込まれた後、所定時間が経過しても、次の領域に書き込むべきデータが受信されなかった場合には、第1〜第Jの領域のデータをデータバッファに書き込むデータ転送制御方法に関係する。
【0025】
【発明の実施の形態】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0026】
1.端数バイトの受信データ及びリクエスト終了後の受信データ
図1(A)において、データ転送制御回路30は、DMAバス(広義にはバス)に接続される外部のデバイス10(アプリケーションデバイス)との間で、データの送受信を行う。このDMA(Direct Memory Accesss)バスは、リクエスト信号REQ、アクノリッジ信号ACK、ライト信号WR、リード信号RD、データPD[7:0]などのラインを有するバスである。
【0027】
そしてデータ転送制御回路30は、DMAバスに接続されるデバイス10から受信したデータをデータバッファ20(RAM)に書き込んだり、データバッファ20のデータを読み出してデバイス10に送信する。
【0028】
この場合にデータバッファ20は、データ転送制御回路30(デバイス10)からのみならず、USB(広義にはシリアルバス)やCPU(広義にはプロセッサ)によってもアクセスされる。従って、USBやCPUによりデータバッファ20が占有されている際の待ち時間を確保するために、データ転送制御回路30には受信バッファRXB1、RXB2(第1、第2の受信バッファ)が設けられている。なおデータ転送制御回路30に、図示しない送信バッファを設けることもできる。
【0029】
さて、データバッファ20の帯域は有限である(例えば60Mbps)。従って、デバイス10から1バイト(広義にはKバイト。Kは自然数)のデータを受信する毎に、その受信した1バイトのデータをそのままデータバッファ20に書き込むと、データバッファ20がデータ転送制御回路30に占有されてしまい、USBやCPUによるアクセスが阻害される。このため図1(A)では4バイト(広義にはN×Kバイト。Nは2以上の整数)のデータが受信バッファに蓄積される毎に、32ビット幅のデータバスを有するデータバッファ20(RAM)にデータを書き込んでいる。
【0030】
より具体的には受信バッファRXB1は領域R11、R12、R13、R14(広義には第1〜第Nの領域)を有し、RXB2も領域R21、R22、R23、R24(広義には第1〜第Nの領域)を有している。そしてこれらのR11〜R14、R21〜R24の各領域は、1バイト(広義にはKバイト)のデータを蓄積できるようになっている。そしてDMAバスを介してデバイス10から1バイト(Kバイト)のデータを受信する毎に、この受信した1バイトのデータが受信バッファRXB1の領域R11〜R14に順次書き込まれてゆく。そして図1(A)に示すように受信バッファRXB1の全ての領域R11〜R14にデータが書き込まれると、書き込まれた4バイトのデータが、32ビット(広義にはN×8ビット)幅のデータバスを介してデータバッファ20に書き込まれる。そして図1(B)に示すように、DMAバスから、次の1バイトのデータを受信すると、その1バイトのデータは受信バッファRXB2の領域R21に書き込まれる。
【0031】
以上のようにすれば、データバッファ20に対して1バイト単位ではなく4バイト単位でデータを書き込まれるようになる。従って、データ転送制御回路30によってデータバッファ20が占有されてしまいUSBやCPUによるメモリアクセスが阻害されてしまうという事態を防止できる。
【0032】
しかしながらこのような構成のデータ転送制御回路30では、次のような課題があることが判明した。即ち図2(A)のように受信バッファRXB1の領域R11〜R13(広義には第1〜第Jの領域。Jは1≦J<Nの関係を満たす整数)までデータが書き込まれた後、図2(B)に示すように、DMAバス(デバイス10)側から受信データが来なくなる事態が生じる場合がある。
【0033】
そして、このような事態が生じると、次の1バイトのデータがDMAバス側から来るまでの間、受信バッファRXB1のデータがデータバッファ20に書き込まれなくなってしまう。そうすると、端数バイトの受信データが、受信バッファRXB1に蓄積されたまま残ってしまい、本来はUSB側に転送すべき受信データを転送できなくなるという問題が生じる。
【0034】
また図1(A)(B)のデータ転送制御回路30には次のような課題もある。即ち図3(A)のA1に示すように、データ転送制御回路30がリクエスト信号REQをアクティブ(例えばHレベル)にすると、デバイス10はアクノリッジ信号ACKやライト信号WRをアクティブにして、データPD[7:0]を送信する。そしてデータバッファ20の受信領域がフルになって、図3(A)のA2に示すようにデータ転送制御回路30が信号REQを非アクティブ(例えばLレベル)にした場合に、本来は、A3に示すようにデバイス10からはデータPD[7:0]が送られて来ないはずである。
【0035】
ところが汎用のDMAバスに接続されるデバイス10には種々のものがある。このため、図3(B)のA4に示すように、信号REQを非アクティブになった後も、デバイス10が信号ACKやWRをアクティブにしてPD[7:0]を送って来る場合があることが判明した。特にデバイス10が、MPEGエンコーダを有するストリームインターフェースのデバイスである場合には、その傾向が強い。
【0036】
そして、このように信号REQが非アクティブになった後に、データPD[7:0]が送られてくると、データバッファ20の受信領域(RXB1、RXB2からのデータを書き込む領域)に残り領域(空き領域)が無くなってしまい、データが消失してしまうおそれもある。また図3(B)(C)のA4、A5に示すように、信号REQがアクティブになった後に送られてくるデータのバイト数も、デバイス10の種類に依存して相違する。従って、データ転送制御回路30は、このような種々のデバイス10がDMAバスに接続された場合にも、適正な送受信処理を行わなければならないという課題がある。
【0037】
2.構成例
以上のような課題を解決できるデータ転送制御回路30の構成例を図4に示す。なお本実施形態のデータ転送制御回路30は図4に示す全ての構成要素を含む必要はなく、その一部の構成要素を省略してもよい。
【0038】
データ転送制御回路30は受信バッファ部40を含む。そして受信バッファ部40は受信バッファRXB1、RXB2を含む。また受信バッファ部40は有効データレジスタVREG1、VREG2を含む。なお受信バッファ部40に含める受信バッファや有効データレジスタの個数は1個であってもよいし、3個以上であってもよい。
【0039】
受信バッファRXB1は図5(A)に示すように領域R11〜R14(第1〜第Nの領域)を有する(領域分割されている)。また受信バッファRXB2は領域R21〜R24(第1〜第Nの領域)を有する。そしてR11〜R14、R21〜R24の各領域には、例えば1バイト(Kバイト)のデータの蓄積(store)が可能となっている。なお、各領域に2バイト以上のデータを蓄積できるようにしてもよい。
【0040】
有効データレジスタVREG1は、受信バッファRXB1の領域R11〜R14のうち、有効な受信データが蓄積された領域を特定するための領域特定情報を記憶する。また有効データレジスタVREG2は、受信バッファRXB2の領域R21〜R24のうち、有効な受信データが蓄積された領域を特定するための領域特定情報を記憶する。
【0041】
より具体的には、有効データレジスタVREG1は、図5(A)に示すように、受信バッファRXB1の領域R11〜R14に対応する有効(Valid)データビット(広義には領域特定情報)VD11〜VD14を有する。そして有効データビットVD11〜VD14は、RXB1の領域R11〜R14に有効な受信データが蓄積された場合に「1」(広義には第1のレベル。他の説明でも同様)に設定される。
【0042】
また有効データレジスタVREG2は、受信バッファRXB2の領域R21〜R24に対応する有効データビットVD21〜VD24を有する。そして有効データビットVD21〜VD24は、RXB2の領域R21〜R24に有効な受信データが蓄積された場合に「1」に設定される。
【0043】
なお、領域特定情報はこのような有効データビットには限定されない。例えば有効データビットVD11〜VD14或いはVD21〜VD24のように4ビット(Nビット)のデータではなく、Pビット(PはN=2Pの関係を満たす自然数)のデータを用いてもよい。
【0044】
図4のデータ転送制御回路30は制御回路50を含む。この制御回路50は、受信処理を制御する受信制御回路52や、受信バッファRXB1、RXB2のポインタを制御するポインタ制御回路54を含む。
【0045】
制御回路50はデバイス10との間のデータ転送処理(受信処理又は送信処理)を制御する。このデータ転送処理はDMAバスを用いて行われる。そしてDMAバスは、リクエスト信号REQ、アクノリッジ信号ACK、ライト信号WR、リード信号RD、データPD[7:0]などのラインを有するバスである。
【0046】
ここで信号REQは、データ転送制御回路30(スレーブ側)がデバイス10(マスター側)に対してデータ転送を要求するための信号であり、信号ACKはそれに対するデバイス10側のアクノリッジ信号である。そして信号REQがアクティブ(例えばHレベル)になった後、デバイス10が信号WR又はRDをアクティブにすることで、1バイト(Kバイト)のデータPD[7:0]が非同期で転送される。このようにすることで、DMAバスを介して1バイト単位(Kバイト単位)でデータPD[7:0]が受信されるようになる。なお同期転送を行う場合には、例えばライト信号WRのラインを同期転送用のクロックの入出力ラインに設定すればよい。また図4ではデバイス10がDMA転送のマスター側となりデータ転送制御回路30がスレーブ側となっているが、これを逆にしてもよい。
【0047】
制御回路50は受信バッファRXB1、RXB2への受信データの書き込みも制御する。また図示しない送信バッファからの送信データの読み出しも制御する。
【0048】
例えば受信バッファRXB1、RXB2に受信データを書き込む場合には、制御回路50はライト信号WRをアクティブにしてデータPD[7:0]をRXB1、RXB2に出力する。この場合にRXB1、RXB2の領域R11〜R14、R21〜R24のどの領域に受信データを書き込むかは、ポインタ制御回路54により制御される信号Pointerにより決められる。例えば信号Pointerが0〜3を指示した場合には、受信バッファRXB1の領域R11〜R14に受信データが書き込まれる。また信号Pointerが4〜7を指示した場合には、受信バッファRXB2の領域R21〜R24に受信データが書き込まれる。このようにすることで、DMAバスを介して受信した1バイト(Kバイト)のデータが、受信バッファRXB1、RXB2の領域R11〜R14、R21〜R24に、順次(R11〜R14の順序、R21〜R24の順序で)、書き込まれるようになる。
【0049】
データ転送制御回路30はアクセス制御回路60を含む。このアクセス制御回路60はデータバッファ20へのアクセス制御(書き込み制御、読み出し制御)を行う。より具体的には、受信バッファRXB1、RXB2のデータをデータバッファ20の受信領域に書き込んだり、図示しない送信バッファに書き込む送信データを、データバッファ20から読み出す。
【0050】
アクセス制御回路60とデータバッファ20との間は、ライトリクエスト信号WrReq、ライトアクノリッジ信号WrAck、ライトデータWrData[31:0]、有効データ信号WrValid[3:0]などのラインを有するバス(データバッファ側バス)で接続されている。ここで信号WrReqは、データバッファ20に対してデータの書き込みを要求する信号である。
【0051】
より具体的には、データバッファ20にアクセスする際にアクセス制御回路60は、信号WrReqをアクティブにして、ライトデータWrData[31:0]及び有効データ信号WrValid[3:0]をデータバッファ20に出力する。この時、複数の書き込み要求(データ転送制御回路30、USB、CPUからの要求)が発生している場合には、図示しない調停回路により調停が行われる。そしてこの調停でデータ転送制御回路30が勝つと、データバッファ20側からの信号WrAckがアクティブになり、アクセス制御回路60からデータバッファ20への受信データの書き込みが許可される。その後、アクセス制御回路60は信号WrReqを非アクティブにする。
【0052】
この場合に本実施形態では、RXB1、RXB2の領域R11〜R14、R21〜R24のうち、有効データビットが「1」(第1のレベル)に設定された領域のデータが、データバッファ20に書き込まれる。
【0053】
より具体的にはアクセス制御回路60は、受信バッファRXB1、RXB2に蓄積されている4バイトの受信データを信号BUF1、BUF2としてRXB1、RXB2から受ける。また有効データレジスタVREG1、VREG2の有効データビットVD11〜VD14、VD21〜VD24を、信号Valid1、Valid2として受ける。そしてアクセス制御回路60は、有効データビットVD11〜VD14(信号Valid1)、VD21〜VD24(Valid2)が「1」(第1のレベル)の場合にアクティブになる有効データ信号WrValid[3:0](広義には第1〜第Nの有効データ信号)を、データバッファ20に出力する。そしてアクセス制御回路60は、この信号WrValid[3:0](チップセレクト信号)を用いて、データバッファ20(バイト・ライト型RAM)の受信領域(WrValidで指定される領域)にデータを書き込むことになる。
【0054】
データ転送制御回路30は残りバイト数検出回路70を含む。ここで残りバイト数検出回路70は、データバッファ20の受信領域(受信バッファからの受信データが書き込まれる領域)の残りバイト数(受信データが未だ書き込まれていない残り領域のバイト数)を検出する回路である。この残りバイト数検出回路70は、残りバイト数カウンタなどにより構成できる。
【0055】
そして残りバイト数検出回路70は、データバッファ20の受信領域の残りバイト数を示すカウント値Limcountを制御回路50に出力する。そして制御回路50は、リクエスト信号REQをアクティブ(例えばHレベル)にした後に、データバッファ20の受信領域の残りバイト数がLバイト(Lは自然数。更に望ましくはL≧N×K)になった場合に、リクエスト信号REQを非アクティブ(例えばLレベル)にする。このようにすることで図3(A)(B)(C)で説明した問題を解決できる。
【0056】
なお、この場合のL(例えばL=16)の値は、L値レジスタ53に設定される。このL値レジスタ53は、CPU(プロセッサ)などによりその値を自由に書き換えることができるレジスタである。そして制御回路50は、残りバイト数検出回路70で検出された残りバイト数(Limcount)と、L値レジスタ53に設定されたLの値とに基づいて、信号REQの制御を行う。
【0057】
データ転送制御回路30はタイマ回路72を含む。このタイマ回路72は例えばタイマ・カウンタなどを備え、受信バッファ(RXB1、RXB2)への書き込み制御に関する時間計測処理を行う。より具体的には、受信バッファの1つの領域(例えばR12)にデータが書き込まれた後、次の領域(例えばR13)にデータが書き込まれるまでの時間を計測し、その計測結果であるカウント値Tcountを制御回路50に出力する。
【0058】
そして制御回路50は、受信バッファの1つの領域にデータを書き込んだ後、所定時間が経過したか否かを、このカウント値Tcountに基づいて判断する。そして、所定時間が経過しても、次の領域に書き込むべきデータが受信(蓄積)されなかった場合には、一方の受信バッファ(例えばRXB1)の領域(例えばR12)を指していたポインタを、他方の受信バッファ(例えばRXB2)の領域(例えばR23)を指すように制御する。
【0059】
このようにすれば、受信バッファの領域(R11〜R14、或いはR21〜R24)の途中の領域(例えばR11、R12、R13、或いはR21、R22、R23。広義には第Jの領域)までデータが書き込まれた後、所定時間が経過した場合に、その途中までの領域のデータがデータバッファ20に書き込まれるようになる。
【0060】
3.動作
次に本実施形態のデータ転送制御回路30の動作を図面を用いて詳細に説明する。本実施形態では図5(A)のB1に示すように受信バッファRXB1の領域R11〜R14(第1〜第Nの領域)の全てにデータが書き込まれると、図5(B)のB2に示すようにR11〜R14のデータがデータバッファ20に書き込まれる。即ち4バイト(N×Kバイト)のデータが受信バッファに蓄積される毎にそのデータがデータバッファ20に書き込まれる。
【0061】
そして、このようにRXB1(第1の受信バッファ)の領域R11〜R14のデータがデータバッファ20に書き込まれた場合には、次に受信したデータは、図5(B)のB3に示すように、RXB2(第2の受信バッファ)の領域R21(第1の領域)に書き込まれる。
【0062】
次に、RXB2の領域R21〜R24の全てにデータが書き込まれると、今度はこのR21〜R24のデータがデータバッファ20に書き込まれる。このように本実施形態では、受信バッファRXB1、RXB2に蓄積された4バイトのデータが、交互にデータバッファ20に書き込まれる。
【0063】
なお受信バッファからデータバッファ20へのデータの書き込みは、有効データレジスタVREG1、VREG2の有効データビットVD11〜VD14、VD21〜VD24に基づいてアクセス制御回路60が行う。例えば図5(A)では有効データビットVD11〜VD14の全てが「1」になっているため、全ての領域R11〜R14のデータがデータバッファ20に書き込まれる。
【0064】
さて図6(A)のC1では、受信バッファRXB1の領域R11〜R14(第1〜第Nの領域)のうち、途中の領域R13(広義には第Jの領域。Jは1≦J<Nの関係を満たす整数)までデータが書き込まれている。この場合に図2(B)で説明したように、デバイス10が、次の領域R14に蓄積すべき受信データをいつまで経っても送って来ない場合がある。この場合に、受信バッファRXB1のデータをデータバッファ20に書き込まないと、USB側にデータが送られないため、端数データが転送されずにUSB側のデータ転送が止まってしまうおそれがある。
【0065】
そこで本実施形態では、途中の領域R13(R11、R12でもよい)までデータが書き込まれた後、所定時間(タイマ回路72で計測される時間)が経過しても、次の領域R14に書き込むべきデータがDMAバスを介して受信されなかった場合には、図6(B)のC2に示すように、領域R11〜R13(第1〜第Jの領域)のデータをデータバッファ20に書き込む。このようにすれば、このデータバッファ20に書き込まれたデータを、USB(高速シリアルバス)を介して転送できるようになり、USB側のデータ転送が止まってしてしまう事態を防止できる。
【0066】
そして更に本実施形態では、RXB1の領域R11〜R13(第1〜第Jの領域)のデータがデータバッファ20に書き込まれた場合には、次に受信したデータを、図6のC3に示すように、RXB2の領域R24(第J+1の領域)から書き込むようにしている。
【0067】
このようにすれば図7(A)のD1に示すように、データバッファ20に隙間無くデータを格納できるようになる。即ち図6(B)のC3に示すように領域R24からデータを蓄積するようにすると、C4に示すように、有効データレジスタVREG2の有効データビットVD24だけが「1」(第1のレベル)となり、他の有効データビットVD21、VD22、VD23は「0」(第2のレベル)になる。従って、これらの有効データビットVD21〜VD24(信号Valid2)を受けたアクセス制御回路60は、有効データ信号WrValid[3]のみをアクティブにして、WrValid[2:0]を非アクティブにする。すると、データバッファ20は、信号WrValidがアクティブになっている受信領域にのみ、受信バッファRXB2からのデータを格納するようになる。この結果、図7(A)のD1に示すように、データバッファ20に隙間無くデータを格納できるようになり、後段のUSB転送に不具合が生じる事態を防止できる。
【0068】
そして、その後、次のデータが受信されると、図7(A)のD2に示すように、そのデータは受信バッファRXB1の領域R11に蓄積される。そして図7(B)のD3に示すように、RXB1の全ての領域R11〜R14にデータが蓄積されると、そのデータは図8のE1に示すようにデータバッファ20に書き込まれる。
【0069】
以上のように本実施形態では、図6(A)のC1い示すように受信バッファの途中までしかデータが蓄積されなかった場合にも、所定時間の経過を待った後、図6(B)のC2のように、端数バイト(4バイト未満)のデータがデータバッファ20に書き込まれる。従って、後段のUSB転送が停止してしまう事態を防止できる。そして、この場合に、そのまま次の4バイトのデータをデータバッファ20に書き込むと、データバッファ20に隙間領域が生じてしまう。
【0070】
しかしながら本実施形態では、図6(B)のC3、図7(A)のD1に示すように、その隙間領域を埋めるようにデータがデータバッファ20に書き込まれるため、データバッファ20に間断無くデータを蓄積することができ、USB転送に不具合が生じる事態を防止できる。
【0071】
更に本実施形態では、リクエスト信号REQに対しても従来には無い工夫を施している。即ち図9(A)のF1に示すように、デバイス10の種類によっては、信号REQを非アクティブにした後もデータPD[7:0]を送ってくるデバイスがある。このようなデバイスに対処するために本実施形態では図9(B)のF2に示すように、データバッファ20の受信領域がフル(full)になる前に信号REQを非アクティブにしている。
【0072】
より具体的には、デバイス10に対する信号REQをアクティブにした後に、データバッファ20の受信領域の残りバイト数がLバイト(Lは自然数。更に望ましくはL≧N×K)になった場合に、信号REQを非アクティブにする。例えば図9(A)のF1に示すように信号REQが非アクティブになった後に2バイトの余分なデータを送ってくるデバイス10がDMAバスに接続されている場合には、少なくともLを2以上に設定する。このようにすると、図9(B)のF2に示すタイミングで信号REQが非アクティブになる。従って、その後にデバイス10が余分な2バイトのデータを転送してきた場合にも、データバッファ20の受信領域が溢れ状態になってしまう事態を防止できる。これにより、適正なデータ転送を実現できる。
【0073】
しかも、このLの値は、図4のL値レジスタ53にCPUを介して書き込むことで、可変に制御できる。従って、種々のデバイス10がDMAバスに接続されても、これに対処できるようになり、DMAバスの汎用性を高めることができる。
【0074】
図10に本実施形態のデータ転送制御回路30の動作や各信号の動きを説明する詳細な信号波形例を示す。
【0075】
図10のG1に示すように信号REQがアクティブになると、G2、G3、G4に示すようにデバイス10が信号ACK及びWRをアクティブにする。これによりG5、G6、G7に示すように、受信バッファRXB1に1バイト単位でデータが順次書き込まれる。そしてこの時にG8、G9、G10に示すように有効データビットVD11、VD12、VD13に、順次「1」がセットされてゆく。またG11、G12、G13に示すように、データを書き込むべき領域R11、R12、R13は、ポインタ制御回路54からのPointerにより指定される。このPointerは、それが指定する領域にデータが書き込まれる毎に更新(インクリメント)される。
【0076】
そして図10のG14、G15では、1つの領域にデータを書き込んだ後、所定時間内に次の領域にデータが書き込まれている。即ちタイマ回路72からのカウント値Tcountが「0」になる前に、次の領域にデータが書き込まれている。従って、この次の領域へのデータの書き込みにより、カウント値Tcountが初期値M(例えばM=4)に戻される。
【0077】
ところが図10のG16では、領域R13にデータを書き込んだ後、所定時間が経過してしまっている。即ちカウント値Tcountが「0」になってしまっている。従ってこの場合にはG17に示すようにデータバッファ20へのライトリクエスト信号WrReqがアクティブになり、G18に示すように受信バッファRXB1からデータバッファ20にデータが書き込まれる。即ち図6(A)のC1、図6(B)のC2に示すように、途中の領域までのデータがデータバッファ20に書き込まれる。
【0078】
そしてその後、G19に示すようにデバイス10が信号ACK及びWRをアクティブにすると、G20に示すようにそのデータが受信バッファRXB2に書き込まれる。この時、G21に示すようにPointerは「7」を指しているため、図6(B)のC3に示すように、受信データはRXB2の領域R24(第J+1の領域)に書き込まれることになる。そして、この書き込まれたデータは、G22、G23に示すようにデータバッファ20に書き込まれる。このようにすることで図7(A)のD1に示すように隙間無くデータをデータバッファ20に書き込むことができる。
【0079】
また図10のG24のタイミングでは、残りバイト数検出回路70からのカウント値Limcountが16(広義にはL)になっている。即ちデータバッファ20の受信領域の残りバイト数が16バイト(16バイト以下)になっている。従ってこの場合には、G25に示すように信号REQを非アクティブにする。このようにすれば、信号REQが非アクティブになった後にG26、G27、G28、G29に示すようにデバイス10がデータを転送してきても、データバッファ20の受信領域が溢れ状態になってしまう事態を防止できる。
【0080】
4.データ転送制御装置及び電子機器
図11に本実施形態のデータ転送制御回路180を含むデータ転送制御装置100及びデータ転送制御装置100を含む電子機器110の構成例を示す。なおデータ転送制御装置100及び電子機器110は、図11の全ての構成要素を含む必要はなく、その一部を省略する構成にしてもよい。
【0081】
データ転送制御装置100は、トランシーバ回路120、SIE(Serial Interface Engine)130、エンドポイント管理回路140、バッファ管理回路150、データバッファ160(データバッファ20に相当)、バルク転送管理回路170、データ転送制御回路180(データ転送制御回路30に相当)、CPUインターフェース回路190を含む。
【0082】
ここで、トランシーバ回路120は、USB(シリアルバス)のFSモードやHSモードでのデータ転送を実現するための回路である。このトランシーバ回路120としては、例えばUSB2.0の物理層回路や、論理層回路の一部についてのインターフェースを定義したUTMI(USB2.0 Transceiver Macrocell Interface)に準拠したマクロセルを用いることができる。このトランシーバ回路120には、例えば、差動信号DP、DMを用いてUSB上のデータを送受信するアナログフロントエンド回路(受信回路、送信回路)を含ませることができる。また、ビットスタッフィング、ビットアンスタッフィング、シリアル・パラレル変換、パラレル・シリアル変換、NRZIデコード、NRZIエンコード、サンプリングクロック生成などの処理を行う回路を含ませることができる。またデータ転送制御装置100が使用する動作クロックや、サンプリングクロックの生成に使用されるクロックなどを生成するPLLを含ませることができる。
【0083】
SIE130は、USBのパケット転送処理などの種々の処理を行う回路である。このSIE130(広義には第1のインターフェース回路)はパケットハンドラ回路132、サスペンド&レジューム制御回路134、トランザクション管理回路136を含む。ここでパケットハンドラ回路132は、ヘッダ及びデータからなるパケットの組み立て(生成)や分解などを行ったり、CRCの生成や解読を行う。またサスペンド&レジューム制御回路134は、サスペンドやレジューム時のシーケンス制御を行う。またトランザクション管理回路136は、トークン、データ、ハンドシェークなどのパケットにより構成されるトランザクションを管理する。そしてトランザクション管理回路136は、トークンパケットを受信した場合には、自分宛か否かを確認し、自分宛の場合には、データパケットの転送処理を行い、その後に、ハンドシェークパケットの転送処理を行う。
【0084】
エンドポイント管理回路140は、データバッファ160の各記憶領域の入り口となるエンドポイントを管理する回路であり、エンドポイントの属性情報を記憶するレジスタ(レジスタセット)などを含む。
【0085】
バッファ管理回路150は、例えばRAMなどで構成されるデータバッファ160を管理する回路である。より具体的には、書き込みアドレスや読み出しアドレスを生成し、データバッファ160へのデータの書き込み処理やデータバッファ160からのデータの読み出し処理を行う。
【0086】
データバッファ160(パケットバッファ、パケット記憶手段)は、USBを介して転送されるデータ(パケット)を一時的に記憶するものであり、USBでのデータ転送速度と、DMAバスやCPUバスでのデータ転送速度との速度差を補償する機能などを有する。
【0087】
バルク転送管理回路170は、USBにおけるバルク転送を管理するための回路である。またデータ転送制御回路180は、図4等で説明した回路であり、DMAバスを介して外部のデバイス210との間でDMA転送などを行う。またCPUインターフェース回路190はCPUバスに接続され、CPU220とのインターフェース機能を実現する回路である。
【0088】
電子機器110は、データ転送制御装置100、ASICなどで構成されるデバイス210(アプリケーションデバイス)、CPU220、ROM230、RAM240、表示部250、操作部260を含む。
【0089】
ここでデバイス210は、例えばハードディスクドライブ、光ディスクドライブを制御するデバイスや、MPEGエンコーダ、MPEGデコーダ等を含むデバイスなどである。
【0090】
CPU220は機器全体の制御などを行う。ROM230は制御プログラムや各種のデータを記憶する。RAM240はCPU220やデータ転送制御装置100のワーク領域やデータ格納領域として機能する。表示部250は種々の情報をユーザに表示する。操作部260はユーザが電子機器を操作するためのものである。
【0091】
なお図11ではDMAバスとCPUバスが分離されているが、これらを共通化してもよい。また本実施形態が適用できる電子機器としては、光ディスクドライブ(CD−ROM、DVD)、光磁気ディスクドライブ(MO)、ハードディスクドライブ、TV、TVチューナ、VTR、ビデオカメラ、オーディオ機器、電話機、プロジェクタ、パーソナルコンピュータ、電子手帳、或いはワードプロセッサなどの種々のものがある。
【0092】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0093】
例えばデータ転送制御回路、データ転送制御装置、電子機器の構成は、図4、図11等で説明した構成に限定されず、種々の変形実施が可能である。
【0094】
また取り扱われるデータのバイト数や領域のサイズも本実施形態で説明したものに限定されない。
【0095】
また本発明では、高速シリアルバスとしてUSB(USB2.0)を例にとり説明したが、これに限定されない。例えばUSBと同様の思想に基づく規格や、USBを発展させた規格に基づく送受信処理や、IEEE1394規格などの他のインターフェース規格に基づくバスであってもよい。
【0096】
また、明細書又は図面中の記載において広義な用語(バス、シリアルバス、プロセッサ、Kバイト、N×Kバイト、第1〜第Nの領域、第1〜第Jの領域、領域特定情報等)として引用された用語(DMAバス、USB、CPU、1バイト、4バイト、R11〜R14・R21〜R24、R11〜R13・R21〜R23、有効データビット等)は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
【0097】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【図1】図1(A)(B)はデータ転送制御回路の受信バッファについての説明図である。
【図2】図2(A)(B)もデータ転送制御回路の受信バッファについての説明図である。
【図3】図3(A)(B)(C)はDMAバスでの受信処理についての説明図である。
【図4】本実施形態のデータ転送制御回路の構成例である。
【図5】図5(A)(B)はデータ転送制御回路の動作の説明図である。
【図6】図6(A)(B)はデータ転送制御回路の動作の説明図である。
【図7】図7(A)(B)はデータ転送制御回路の動作の説明図である。
【図8】データ転送制御回路の動作の説明図である。
【図9】図9(A)(B)はリクエスト信号の制御手法の説明図である。
【図10】本実施形態の詳細な動作を説明する信号波形図である。
【図11】データ転送制御装置、電子機器の構成例である。
【符号の説明】
RXB1、RXB2 受信バッファ、
VREG1、VREG2 有効データレジスタ、
R11〜R14、R21〜R24 第1〜第Nの領域
VD11〜VD14、VD21〜VD24 第1〜第Nの有効データビット、
WrValid 有効データ信号、REQ リクエスト信号
10、デバイス、20 データバッファ、30 データ転送制御回路、
40 受信バッファ部、50 制御回路、52 受信制御回路、
53 L値レジスタ、54 ポインタ制御回路、60 アクセス制御回路、
70 残りバイト数検出回路、72 タイマ回路、
100 データ転送制御装置、110 電子機器、120 トランシーバ回路
130 SIE、132 パケットハンドラ回路、
134 サスペンド&レジューム回路、136 トランザクション管理回路
140 エンドポイント管理回路、150 バッファ管理回路、
160 データバッファ、170 バルク転送管理回路、
180 データ転送制御回路、190 CPUインターフェース回路、
210 デバイス、220 CPU、230 ROM、240 RAM
250 表示部、260 操作部

Claims (7)

  1. バスを介して受信したデータをデータバッファに書き込む制御を行うデータ転送制御回路であって、
    その各々の受信バッファが第1〜第N(Nは2以上の整数)の領域を有する第1の受信バッファと第2の受信バッファを含む受信バッファ部と、
    前記バスを介してKバイト単位でデータを受信し、受信したKバイト(Kは自然数)のデータを、前記第1の受信バッファ又は前記第2の受信バッファの第1〜第Nの領域の各領域に順次書き込む制御回路と、
    前記第1の受信バッファ又は前記第2の受信バッファのデータを前記データバッファに書き込むアクセス制御回路とを含み、
    前記第1の受信バッファの第1〜第Nの領域の全てにデータが書き込まれた場合には、
    前記アクセス制御回路が、前記第1の受信バッファの第1〜第Nの領域のデータを前記データバッファに書き込み、前記制御回路が、前記バスを介して受信した次のデータを、前記第2の受信バッファの第1の領域から書き込み、前記アクセス制御回路が、前記第2の受信バッファの第1の領域から書き込まれたデータを、前記データバッファに書き込み、
    前記第1の受信バッファの第1〜第Nの領域のうちの第J(Jは1≦J<Nの関係を満たす整数)の領域までデータが書き込まれた後、所定時間が経過しても、次の領域に書き込むべきデータが受信されなかった場合には、
    前記アクセス制御回路が、前記第1の受信バッファの第1〜第Jの領域のデータを前記データバッファに書き込み、前記制御回路が、前記所定時間の経過後にバスを介して受信した次のデータを、前記第2の受信バッファの第J+1の領域から書き込み、前記アクセス制御回路が、前記第2の受信バッファの第J+1の領域から書き込まれたデータを、隙間領域を埋めるように前記データバッファに書き込むことを特徴とするデータ転送制御回路。
  2. 請求項において、
    前記第1の受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域を特定するための領域特定情報を記憶する第1の有効データレジスタ
    前記第2の受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域を特定するための領域特定情報を記憶する第2の有効データレジスタとを含み、
    前記アクセス制御回路が、
    前記第1の有効データレジスタに記憶された前記領域特定情報に基づいて、前記第1の受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域のデータを、前記データバッファに書き込み、
    前記第2の有効データレジスタに記憶された前記領域特定情報に基づいて、前記第2の受信バッファの第1〜第Nの領域のうち、有効な受信データが蓄積された領域のデータを、前記データバッファに書き込むことを特徴とするデータ転送制御回路。
  3. 請求項において、
    前記第1、第2の有効データレジスタが、前記領域特定情報として第1〜第Nの有効データビットを有し、
    前記第1の有効データレジスタの第1〜第Nの各有効データビットは、前記第1の受信バッファの第1〜第Nの各領域に有効な受信データが蓄積された場合に第1のレベルに設定され、
    前記第2の有効データレジスタの第1〜第Nの各有効データビットは、前記第2の受信バッファの第1〜第Nの各領域に有効な受信データが蓄積された場合に第1のレベルに設定され、
    前記アクセス制御回路が、
    前記第1の受信バッファ又は前記第2の受信バッファの第1〜第Nの領域のうち、第1のレベルに設定された有効データビットに対応する領域のデータを、前記データバッファに書き込むことを特徴とするデータ転送制御回路。
  4. 請求項において、
    前記アクセス制御回路が、
    各有効データ信号が、前記第1の有効データレジスタの第1〜第Nの各有効データビットが第1のレベルである場合にアクティブになる第1の受信バッファ用の第1〜第Nの有効データ信号を、前記データバッファに出力し、前記第1の受信バッファ用の第1〜第Nの有効データ信号に基づいて、前記データバッファに前記第1の受信バッファからのデータを書き込み、
    各有効データ信号が、前記第2の有効データレジスタの第1〜第Nの各有効データビットが第1のレベルである場合にアクティブになる第2の受信バッファ用の第1〜第Nの有効データ信号を、前記データバッファに出力し、前記第2の受信バッファ用の第1〜第Nの有効データ信号に基づいて、前記データバッファに前記第2の受信バッファからのデータを書き込むことを特徴とするデータ転送制御回路。
  5. 請求項1乃至のいずれかにおいて、
    前記データバッファの受信領域の残りバイト数を検出する残りバイト数検出回路を含み、
    前記制御回路が、
    前記バスに接続されるデバイスに対して出力されるリクエスト信号をアクティブにした後に、データバッファの受信領域の残りバイト数がLバイト(Lは自然数)になった場合に、前記リクエスト信号を非アクティブにすることを特徴とするデータ転送制御回路。
  6. 請求項1乃至のいずれかのデータ転送制御回路と、
    前記データ転送制御回路のバスに接続されるデバイスと、
    前記データ転送制御回路を制御するプロセッサと、
    を含むことを特徴とする電子機器。
  7. バスを介してKバイト単位(Kは自然数)でデータを受信し、受信したKバイトのデータを、その各々の受信バッファが第1〜第N(Nは2以上の整数)の領域を有する第1の受信バッファ又は第2の受信バッファの第1〜第Nの領域の各領域に順次書き込み、前記第1の受信バッファ又は前記第2の受信バッファのデータをデータバッファに書き込むデータ転送制御方法であって、
    前記第1の受信バッファの第1〜第Nの領域の全てにデータが書き込まれた場合には、前記第1の受信バッファの第1〜第Nの領域のデータを前記データバッファに書き込み、前記バスを介して受信した次のデータを、前記第2の受信バッファの第1の領域から書き込み、前記第2の受信バッファの第1の領域から書き込まれたデータを、前記データバッファに書き込み、
    前記第1の受信バッファの第1〜第Nの領域のうちの第J(Jは1≦J<Nの関係を満たす整数)の領域までデータが書き込まれた後、所定時間が経過しても、次の領域に書き込むべきデータが受信されなかった場合には、前記第1の受信バッファの第1〜第Jの領域のデータを前記データバッファに書き込み、前記所定時間経過後にバスを介して受信した次のデータを、前記第2の受信バッファの第J+1の領域から書き込み、前記第2の受信バッファの第J+1の領域から書き込まれたデータを、隙間領域を埋めるように前記データバッファに書き込むことを特徴とするデータ転送制御方法。
JP2003022294A 2003-01-30 2003-01-30 データ転送制御回路、電子機器及びデータ転送制御方法 Expired - Fee Related JP4281367B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003022294A JP4281367B2 (ja) 2003-01-30 2003-01-30 データ転送制御回路、電子機器及びデータ転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003022294A JP4281367B2 (ja) 2003-01-30 2003-01-30 データ転送制御回路、電子機器及びデータ転送制御方法

Publications (2)

Publication Number Publication Date
JP2004234348A JP2004234348A (ja) 2004-08-19
JP4281367B2 true JP4281367B2 (ja) 2009-06-17

Family

ID=32951394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003022294A Expired - Fee Related JP4281367B2 (ja) 2003-01-30 2003-01-30 データ転送制御回路、電子機器及びデータ転送制御方法

Country Status (1)

Country Link
JP (1) JP4281367B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033538A (ja) * 2006-07-27 2008-02-14 Fujitsu Ten Ltd データ転送制御装置および電子機器

Also Published As

Publication number Publication date
JP2004234348A (ja) 2004-08-19

Similar Documents

Publication Publication Date Title
US6192428B1 (en) Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
JP3649226B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
RU2559727C2 (ru) Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express
US7246191B2 (en) Method and apparatus for memory interface
JP3870717B2 (ja) データ転送制御装置及び電子機器
US8291138B2 (en) Skip based control logic for first in first out buffer
US20080209089A1 (en) Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
JP2003316731A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3680763B2 (ja) データ転送制御装置及び電子機器
TW201319819A (zh) 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置
JP3614161B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US6473818B1 (en) Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values
JP4281367B2 (ja) データ転送制御回路、電子機器及びデータ転送制御方法
JP2000029826A (ja) 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ
US7822905B2 (en) Bridges capable of controlling data flushing and methods for flushing data
US6865654B2 (en) Device for interfacing asynchronous data using first-in-first-out
JP4514411B2 (ja) バス間通信インタフェース装置
JP3887059B2 (ja) データ書き込み方法、データ読み出し方法、及びメモリ回路
JP2005174090A (ja) データ転送回路
Usselmann Usb function ip core
KR100339200B1 (ko) 동적 버퍼 핸들링을 이용한 메시지 처리 장치 및 방법
JP3001574B1 (ja) 先入れ先出しメモリ装置
JP4387488B2 (ja) オーバフロー保護回路及びこれを用いた画像伝送装置
JP2001084182A (ja) バス接続装置、コンピュータ及び記録媒体
WO1998013767A1 (en) Multimedia data controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080407

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090309

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees