JP6026001B2 - データ転送装置及びデータ転送方法 - Google Patents
データ転送装置及びデータ転送方法 Download PDFInfo
- Publication number
- JP6026001B2 JP6026001B2 JP2015542486A JP2015542486A JP6026001B2 JP 6026001 B2 JP6026001 B2 JP 6026001B2 JP 2015542486 A JP2015542486 A JP 2015542486A JP 2015542486 A JP2015542486 A JP 2015542486A JP 6026001 B2 JP6026001 B2 JP 6026001B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- clock
- frequency
- clock clk
- output
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
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)
Description
この発明は、それぞれが異なるクロックで動作する装置間におけるデータ転送方法に関する。
装置間でデータを転送するシステムにおいて、一方の装置が動作するクロックと他方の装置が動作するクロックとが異なる場合、データの転送を行なうときにデータの抜け又はデータの追い越しが発生することを防ぐために、双方の装置との間に非同期回路を有するデータ転送装置を備えることが一般的である。
一般的なデータ転送方法として、一方の装置側から他方の装置への書き込みを指示するWRITE信号と、他方の装置側から書き込みの準備ができているか否かを示すREADY信号とを用いて、受信する側の装置のクロックを入力クロックとするフリップフロップで同期化させて送ることで、データ転送の制御及び非同期信号の同期化を行なう方法があった。しかしながら、この方法では書き込み毎にREADY信号が書き込み準備可能を示す信号になるまで待つ必要があり、これによりデータの転送を高速化することが困難であった。ここで、非同期信号の同期化とは、受信する側で非同期信号がずれることなく受信する側で用いるクロックでラッチ可能な状態にすることである。例えば、転送元から同じクロックタイミングで送られた複数ビットの信号が、受信先の装置において複数ビットの信号がビットごとにずれることなく同じクロックタイミングでラッチ可能な状態にすることである。
そこで、双方の装置との間に、一方の装置と同じクロックで駆動するライトバッファを有するデータ転送装置を備えることで、ライトバッファから一方の装置へのデータの転送を高速化する方法があった。(例えば、特許文献1参照)。なお、特許文献1では双方の装置がマスター部及び周辺回路、一方の装置が周辺回路、データ転送装置がバスブリッジとして記載されている。
しかしながら、特許文献1のようなバスブリッジでは、ライトバッファと同じクロックで動作する周辺回路からマスター部へのデータ転送をする場合であっても、ライトバッファに一度記憶されることになる。そのため、ライトバッファへの記憶が完了した後に読み出すこととなり、周辺回路へのデータ転送にかかる時間が長くなる、つまり転送効率が悪くなるという問題があった。
この発明は、上述のような課題を解決するためになされたもので、それぞれが異なるクロックで動作する装置間で、複雑な非同期回路を実装することなく、より転送効率の良いデータの転送を実現するデータ転送装置を得ることを目的とする。
この発明に係るデータ転送装置においては、第1のクロックで動作する第1のデバイスと、前記第1のクロックと異なる第2のクロックで動作する第2のデバイスとの間に接続され、前記第1のデバイスから前記第2のデバイスへ送信された第1のデータを記憶し、前記第2のクロックと逓倍関係または分周関係にありクロック周波数が前記第2のクロックのクロック周波数よりも前記第1のクロックのクロック周波数に近い第3のクロックで読み出される第1のメモリーと、前記第1のメモリーから読み出した前記第1のデータを前記第2のクロックでサンプリング処理を行なう第1の同期化部と、前記第1の同期化部でサンプリング処理された前記第1のデータを前記第2のデバイスへ出力する第1の出力部と、前記第2のデバイスから前記第1のデバイスへ送信された第2のデータを前記第3のクロックでサンプリング処理を行なう第2の同期化部と、前記第2の同期化部から出力された前記第2のデータを記憶し、前記第1のクロックで読み出される第2のメモリーと、前記第2のメモリーから読み出された前記第2のデータを前記第1のデバイスへ出力する第2の出力部とを備え、前記第2のデバイスは、前記第2のデータを前記第1のクロック及び前記第2のクロックと異なる第4のクロックで出力するものであって、前記第2のデバイスと前記第2の同期化部との間に、前記第2のデータを記憶し、前記第2のクロックで読み出される第3のメモリーをさらに備えることを特徴とするものである。
この発明は、第1のデバイスが動作する第1のクロックと、第2のデバイスが動作する第1のクロックと異なる第2のクロックに対して、前記第2のクロックと逓倍関係または分周関係にありクロック周波数が前記第2のクロックのクロック周波数よりも前記第1のクロックのクロック周波数に近い第3のクロックを用いることで、サンプリング処理が容易に行なうことができるので、複雑な非同期回路を実装することなく、より転送効率の良いデータの転送を実現するデータ転送装置を得ることが可能になるという効果を奏する。
実施の形態1.
図1は、本実施の形態にかかるデータ転送装置200の構成図である。データ転送装置200は、第1のデバイス100と第1のバス400を介して接続される。ここで、第1のデバイス100は、第1のクロックCLK_Aで動作するデバイスである。また、データ転送装置200は、第2のデバイス300と第2のバス500を介して接続される。第2のデバイス300は、第2のクロックCLK_Cで動作するデバイスである。
図1は、本実施の形態にかかるデータ転送装置200の構成図である。データ転送装置200は、第1のデバイス100と第1のバス400を介して接続される。ここで、第1のデバイス100は、第1のクロックCLK_Aで動作するデバイスである。また、データ転送装置200は、第2のデバイス300と第2のバス500を介して接続される。第2のデバイス300は、第2のクロックCLK_Cで動作するデバイスである。
なお、本実施の形態では、第1のデバイスと第2のデバイスとの関係を、マスター(制御する側)とスレーブ(制御される側)との関係として、第1のデバイスを制御用デバイスと呼び、第2のデバイスを制御対象デバイスと呼ぶこととする。
図1では、制御用デバイス100が送信するデータ(第1のデータ)をM_TXDとして示し、制御用デバイス100が受信するデータをM_RXDとして示している。また、制御対象デバイス300が送信するデータ(第2のデータ)をS_TXDとして示し、制御対象デバイス300が受信するデータをS_RXDとして示している。
ここで、制御用デバイス100がデータを通信するときの送受信の手順を定めた規格(以下、通信プロトコルまたは単純にプロトコルともいう)として第1のプロトコルで通信することが決められている場合は、制御用デバイス100が送信する第1のデータM_TXDは、制御用デバイス100が用いる第1のプロトコルに従った形式のデータ構成で形成されたものであり、M_RXDは第1のプロトコルに従った形式のデータ構成で形成されたものである必要がある。
同様に、制御対象デバイス300がデータを通信するときの通信プロトコルとして第2のプロトコルで通信することが決められている場合は、制御対象デバイス300が送信する第2のデータS_TXDは、制御対象デバイス300が用いる第2のプロトコルに従った形式のデータ構成で形成されたものであり、S_RXDは第2のプロトコルに従った形式のデータ構成で形成されたものである必要がある。
例えば、共通のバスに接続された複数のデバイス同士がバスを介して通信する場合に、共通のバスに接続されたそれぞれのデバイス同士での通信は、共通のプロトコルに従った通信を行なうことで可能になる。図1において、第1のバス400を介しての通信が第1のプロトコルで通信することが決められている場合は、第1のバス400を介して接続された制御用デバイス100とデータ転送装置200との通信は、第1のプロトコルに従った形式のデータ構成で通信が行われる。同様に、第2のバス500を介しての通信が第2のプロトコルで通信することが決められている場合は、第2のバス500を介して接続されたデータ転送装置200と制御対象デバイス300との通信は、第2のプロトコルに従った形式のデータ構成で通信が行われることになる。
図2は、異なるプロトコルに従った形式のM_TXDとS_RXDとの関係を示す図である。具体的には、M_TXDは、第1のプロトコルに従った形式のデータであり、S_RXDは、第2のプロトコルに従った形式のデータである。ここで図2において、HD1は第1のプロトコルに従った形式でのヘッダ情報、H11は属性データ、ADRはアドレス、DTはデータ、HD2は第2のプロトコルに従った形式でのヘッダ情報、H21は宛先アドレス、H22は送信元アドレス、そしてH23はフレーム長を示す。
第1のプロトコルに従った形式のデータM_TXDは、例えば、アクセス要求の属性を示す属性データH11を含むヘッダ情報HD1、アドレスADR、データDT、及びFCS(Frame Check Sequence)から構成される。ここで、アクセス要求の属性とは、送信元がアクセス先にライト要求(書き込み要求)をしているのかリード要求(読み出し要求)をしているのかなどを示す情報である。例えばアクセス要求の属性がライト要求であれば、アドレスADRはライトアドレスを示す情報である。同様に例えばアクセス要求の属性がライト要求であれば、データDTはライトデータである。FCSは、データの誤り検出および訂正を行うためのチェックサム符号の情報である。なお、図2においては、アクセス要求の属性がアクセス先にライト要求をしているものとしているため、データ領域にはライトデータがある。
第2のプロトコルに従った形式のデータS_RXDは、例えば、アクセス先のアドレスを示す宛先アドレスH21、送信元のアドレスを示す送信元アドレスH22、及び送信するデータのフレーム長情報を示すフレーム長H23を含むヘッダ情報HD2と、アクセス要求の属性を示す属性データH11、アドレスADR、データDT、及びFCS(Frame Check Sequence)から構成される。
次に、図1に戻ってデータ転送装置200について詳細に説明する。図1では、データ転送装置200は、制御用デバイス100から制御対象デバイス300へのデータ送信を処理する送信系統処理ブロック210と制御対象デバイス300から制御用デバイス100へのデータ送信を処理する受信系統処理ブロック220とに分けて示している。まずは送信系統処理ブロック210の各要素について説明する。
プロトコル解析モジュール211は、制御用デバイス100から送信された第1のデータM_TXDについて、第1のバスのプロトコルに従って解析を行ない、制御対象デバイス300へのアクセスに必要なアクセス要求の属性TATTR0、アドレスTAD0、及びデータTD0を抽出し、出力する。なお、アクセス要求の属性TATTR0は、リード要求またはライト要求を示すアクセス要求のコマンドや、第1のデータM_TXDの送信元である制御用デバイス100を示す属性や、リードデータまたはライトデータのデータ長などを表す。また、プロトコル解析モジュール211は、第1のデータM_TXDと同じ第1のクロックCLK_Aで動作する。TATTR0は図2におけるH11、TAD0は図2におけるADR、データTD0は図2におけるDTに相当する。
位相調整モジュール212は、メモリー2120(図示せず)を備える。位相調整モジュール212は、プロトコル解析モジュール211からのアクセス要求の属性TATTR0、アドレスTAD0、及びデータTD0を入力として、それらをメモリー2120にライト用のクロックを第1のクロックCLK_Aとして記憶する。そしてリード用のクロックを第3のクロックCLK_Bとしてメモリー2120から読み出す。メモリー2120から第3のクロックCLK_Bで読み出したアクセス要求の属性をTATTR1とし、アドレスをアドレスTAD1とし、データをTD1とする。ここで、第3のクロックCLK_Bは、第1のクロックCLK_Aのクロック周波数をFaとし、第2のクロックCLK_Cのクロック周波数をFcとした場合に、FaとFcの比率に近いN/M(ただし、M及びNは自然数)を求め、第3のクロックCLK_Bのクロック周波数Fbは、以下の式で設定する。
第2のクロックCLK_C及び第3のクロックCLK_Bの生成について説明する。第2のクロックCLK_C及び第3のクロックCLK_Bは、第1のクロックを入力とするクロック生成部(図示せず)で生成する。クロック生成部はPLL(Phase Locked Loop)(図示せず)を備え、第1のクロックCLK_Aから位相が合った第2のクロックCLK_C及び第3のクロックCLK_Bを生成する。
第3のクロックCLK_Bのクロック周波数Fbは、式(1)の関係をもつとともに第2のクロックCLK_Cのクロック周波数Fcよりも第1のクロックCLK_Aのクロック周波数Faに近いものを選択する。MとNは、N/Mができる限りFaとFcの比率に近いものを用いる方が望ましい。
図3は、第2のクロックCLK_C及び第3のクロックCLK_Bの位相関係を示す図である。図3(A)は、位相が合っていない第2のクロックCLK_C及び第3のクロックCLK_Bを示す。図3(B)は、位相が合っている第2のクロックCLK_C及び第3のクロックCLK_Bを示す。図3(A)では、第2のクロックCLK_Cの周波数が第3のクロックCLK_B周波数の1/2分周の関係であるが、立ち上がりエッジが同期していないことを表す。また、図3(B)では、図3(A)と同様に、第2のクロックCLK_Cの周波数が第3のクロックCLK_B周波数の1/2分周の関係であるが、立ち上がりエッジが同期していることを示す。
このように図3で示すように、本明細書において、位相が合うというのは、クロック周波数の遅い側のクロックの立ち上がりエッジとクロック周波数の早い側のクロックの立ち上がりエッジとの差がないことを表す。クロックを用いる回路が立ち下がりクロックを用いるもので構成する場合は、クロック周波数の遅い側のクロックの立ち下がりエッジとクロック周波数の早い側のクロックの立ち下がりエッジとの差がないことを表す。
生成した第3のクロックCLK_Bのクロック周波数Fbと第1のクロックCLK_Aのクロック周波数をFaとが同一になる場合であっても、第3のクロックCLK_Bは、第2のクロックCLK_Cとの位相が合うように位相関係を調整したクロックをPLLなどで生成するのが望ましい。
M/N倍同期化モジュール213は、位相調整モジュール212からの第3のクロックCLK_Bに同期したアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1を入力として、プロトコル変換モジュール214が第2のバス500へデータS_RXDを出力する際のビット幅で、それらを予め決めた順番となるよう第2のクロックCLK_CでデータTSYNC_TXDを出力する。この際、第2のクロックCLK_Cは第3のクロックCLK_BのM/N倍の周波数で同期しているため、位相調整モジュール212からのアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1を、第3のクロックCLK_BのM/N倍の周期でサンプリングすることで、それらを第3のクロックCLK_Bから第2のクロックCLK_Cへ同期させることができる。
図4は、本実施の形態におけるサンプリング処理に関する説明図である。ここでは、第3のクロックCLK_Bは第2のクロックCLK_Cを2逓倍して生成されたクロックを示す。つまり、ここではM/N=2であって、例えばM=2かつN=1である。
本実施の形態におけるサンプリングとは、入力データを、イネーブル信号等に従い、入力データの同期クロックとは異なるクロックで取り込むことを示す。M/N倍同期化モジュール213においては、第3のクロックCLK_Bに同期した属性TATTR1、アドレスTAD1、及びデータTD1などの入力データを、イネーブル信号ENABLEに従い、第2のクロックCLK_Cで取り込み、データTSYNC_TXDとして出力する。
図4では、33ビットのビット幅で入力される属性TATTR1のMSB(Most Significant Bit)が、有効なデータの入力を示すデータ有効信号VALIDとして入力される例を示す。M/N倍同期化モジュール213は、データ有効信号VALIDがH電圧になったことを第2のクロックCLK_Cの立ち上がりで検知すると、イネーブル信号ENABLEをH電圧にする。そして、イネーブル信号ENABLEがH電圧のとき第2のクロックCLK_Cで入力データを取り込む。従って、図4においてM/N倍同期化モジュール213が第2のクロックCLK_Cで取り込むデータは、MSBを除いた32ビットの属性TATTR1、32ビットのアドレスTAD1、及びデータTD1となる。
さらに図4では、サンプリング処理の出力データTSYNC_TXDのビット幅が8ビットであるため、各データのサンプリングを4回に分けて出力する必要があるため第2のクロックCLK_Cで4Cycleかかり、合計12Cycleで1つのサンプリング処理が完了する。
第2のクロックCLK_Cと第3のクロックCLK_Bとの位相関係による影響について説明する。図5は、第2のクロックCLK_Cと第3のクロックCLK_Bとが図3(A)の関係である場合の、M/N倍同期化モジュール213の動作の例を示す図である。図5では、アクセス要求の属性TATTR1のビット幅が33ビットであり、MSBが有効なデータの入力を示すデータ有効信号VALIDとして入力される例である。この場合、第2のクロックCLK_Cと第3のクロックCLK_Bの立ち上がりエッジが非同期であることから、M/N倍同期化モジュール213は、第3のクロックCLK_Bに同期した入力信号を第2のクロックCLK_Cに同期させる非同期回路を内部に備える必要がある。非同期回路では、第3のクロックCLK_Bに同期した入力信号を第2のクロックCLK_Cに同期させて出力する際に、出力信号の値が不安定となるメタスタビリティの発生を解消するため、入力信号を2段のFF(Flip Flop)回路に入力する。
図5のTas1で、M/N倍同期化モジュール213は、位相調整モジュール212から第3のクロックCLK_Bに同期したアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1が入力されると、M/N倍同期化モジュール213はそれらを非同期回路に入力する。
次にTas2で、非同期回路内部の2段目のFF回路の出力である、アクセス要求の属性TATTR1’、アドレスTAD1’、及びデータTD1’を非同期回路の出力として得る。非同期回路に入力したアクセス要求の属性TATTR1のMSB、即ちデータ有効信号VALIDは、非同期回路からの出力中であることを示す、非同期イネーブル信号ASYNC_ENABLEとして非同期回路から出力される。
最後に、M/N倍同期化モジュール213はTas3で、非同期イネーブル信号ASYNC_ENABLEがH電圧であるため、非同期回路の出力から生成したデータTSYNC_TXDを出力する。
以上のように、第2のクロックCLK_Cと第3のクロックCLK_Bとの位相が合わない場合、図5の例において、M/N倍同期化モジュール213に入力信号がTas1で与えられてから、Tas3でデータTSYNC_TXDを出力するまで、第3のクロックCLK_Bで約6Cycle必要となる。
図6は、第2のクロックCLK_Cと第3のクロックCLK_Bとが図3(B)の関係である場合の、M/N倍同期化モジュール213の動作の例を示す図である。図5と同様に、アクセス要求の属性TATTR1のビット幅が33ビットであり、MSBが有効なデータの入力を示すデータ有効信号VALIDとして入力される例である。この場合、第2のクロックCLK_Cと第3のクロックCLK_Bの立ち上がりエッジが同期していることから、M/N倍同期化モジュール213は、前述した通り、非同期回路を内部に備えることなく第3のクロックCLK_Bに同期した入力信号を第2のクロックCLK_Cに同期させて出力する。
図6では、Ts1で位相調整モジュール212から第3のクロックCLK_Bに同期したアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1が入力される。第2のクロックCLK_Cの立ち上がりと第3のクロックCLK_Bの立ち上がりとが同期しているため、Ts2で、データ有効信号VALIDがH電圧であることを第2のクロックCLK_Cで検知し、イネーブル信号ENABLEをH電圧にする。
最後に、M/N倍同期化モジュール213は、Ts3でイネーブル信号がH電圧となっているため、データTSYNC_TXDを出力する。以上によると、図6の例においては、M/N倍同期化モジュール213に入力信号がTas1で与えられてから、図5の半分の3CycleでデータTSYNC_TXDを出力できる。
以上のように、第2のクロックCLK_Cと第3のクロックCLK_Bとの位相が合う場合、異なる周波数でのデータ受け渡しにおいても、第2のクロックCLK_Cの立ち上がりエッジと第3のクロックCLK_Bの立ち上がりエッジとが図3(A)の関係を保つことで、複雑な非同期回路を実装することなく、より転送効率の良いデータの転送を実現するデータ転送装置を得ることが可能となる。
図7は、位相調整モジュール212での処理のタイミングチャートの一例を示す概略図である。図7では、位相調整モジュール212に第1のクロックCLK_AでデータTD0が入力されるタイミングと、M/N倍同期化モジュールへ第1のクロックの位相を調整した第3のクロックCLK_BでデータTD1を出力するタイミングとが示されている。
位相調整モジュール212は、時刻T1で第1のクロックCLK_Aに同期してデータTD0が入力されると、メモリー2120に対してデータのライト命令を示すライトイネーブル信号WRENをアサートする。ここでアサートとは、アクティブ状態にする信号を出力することである。つまり、ライトイネーブル信号WRENをアサートしたとき、メモリー2120は、ライトイネーブル信号WRENのアサートを検出することでTD0を記憶することになる。
次に、時刻T2で、メモリー2120はデータTD0のライトを完了すると、データを読み出す際のクロックCLK_Bに同期させて、ライトが完了したことを示すフラグFLG_Eを所定のサイクル後にアサートする。位相調整モジュール212は、フラグFLG_Eのアサートを検出し、メモリー2120へのリード命令を示すリードイネーブル信号RDENをアサートする。
最後に時刻T3で、メモリー2120から読み出したデータが出力されると、位相調整モジュール212は、それをデータTD1としてM/N倍同期化モジュールへ出力する。
上記のように、位相調整モジュール212は、第1のクロックCLK_Aに同期して入力されたデータTD0をメモリー2120にライトし、第1のクロックCLK_Aの位相を調整した、第2のクロックCLK_CのN/M倍のクロックCLK_Bでメモリー2120から読み出すことで、第1のクロックにおいて6Cycle程度で下位ブロックであるM/N倍同期化モジュールへデータTD1を出力できる。
プロトコル変換モジュール214は、M/N倍同期化モジュール213から入力されるデータTSYNC_TXDに応じて、第2のプロトコルの形式に変換し、データS_RXDとして出力する。この際、プロトコル変換モジュール214は、第2のクロックCLK_CでデータS_RXDを出力する。ここで、第2のバス500は、例えばイーサネット(登録商標)としてもよい。この場合、プロトコル変換モジュール214は、第2のプロトコルに従い、M/N倍同期化モジュール213から入力されるデータTSYNC_TXDをデータS_RXDとして出力する前に、データS_RXDの受信先である制御対象デバイスの宛先アドレス(H21)や、送信元であるデータ転送装置の送信元アドレス(H22)、フレーム長(H23)等を含むヘッダ情報HD2をデータS_RXDとして出力する。また、データTSYNC_TXDの出力完了後には、FCS(Frame Check Sequence)を出力する。
図8は、送信系統処理ブロック210において入力された第1のプロトコルに従った形式のデータM_TXDから、出力する第2のプロトコルに従った形式のデータS_RXDの関係を示す。図8に示すように、データ転送装置200の送信系統処理ブロック210は、データM_TXDが入力されると、データM_TXDのうち制御対象デバイス300へのアクセスに必要な、データM_TXDの送信元である制御用デバイス100を示すリクエスタID(H111)や、データ長(H112)、リードまたはライトを示すアクセス要求コマンド(H113)を含むヘッダ情報の属性(H11)と、アドレス(ADR)と、データ(DT)を抽出し、第2のプロトコルに従った形式でデータS_RXDを出力する。これにより、データ転送装置200の送信系統処理ブロック210の入力側のバスとは異なるプロトコルおよび異なる同期クロックのバスを介したデータの転送ができる。
次に受信系統処理ブロック220の各要素について説明する。
プロトコル解析モジュール221は、制御対象デバイス300から送信された第2のデータS_TXDについて、第2のバスのプロトコルに従って解析を行ない、データS_TXDに不正が無いかどうかを示すステータスRSTATSと、制御対象デバイス300から入力されたデータS_TXDのうち、ヘッダ情報等を除いたデータRXDを出力する。また、プロトコル解析モジュール221は、第2のデータS_TXDと同じ第2のクロックCLK_Cで動作する。なお、ステータスRSTATSは、入力されたデータS_TXDに不正がないかを示す複数種類の信号としても良い。例えば、第2のバス500がイーサネット(登録商標)の場合、入力されたデータS_TXDから宛先MACアドレスやフレーム長等を含むヘッダ情報等を除いた最大1500Byteのデータ部を抽出し、データRXDとして出力する。また、入力されたデータS_TXDがイーサネット(登録商標)のプロトコルに違反していないかを示すステータス信号や、データRXDが有効であることを示すVALID信号をステータスRSTATSとして出力する。
N/M倍同期化モジュール222は、プロトコル解析モジュール221からのステータスRSTATS及びデータRXDを入力として、データRXDを解析し、アクセス要求の属性RATTR0、アドレスRAD0、及びデータRD0を抽出して出力する。ここで、データRD0は、データRXDが制御用デバイス100から制御対象デバイス300へリード要求に対する返答の場合は、リードデータとなる。また、抽出したアクセス要求の属性をRATTR1とし、抽出したアドレスをRAD0とし、抽出したデータRD0をデータRD1として第3のクロックCLK_Bに同期して出力する。第3のクロックCLK_Bは第2のクロックCLK_CのN/M倍の周波数で同期しているため、プロトコル解析モジュール221からのステータスRSTATS及びデータRXDを、第3のクロックCLK_BのM/N倍の周期でサンプリングすることで、それらを第2のクロックCLK_Cから第3のクロックCLK_Bへ同期させることができる。
位相調整モジュール223は、メモリー2230(図示せず)を備える。位相調整モジュール223は、N/M倍同期化モジュール222からのアクセス要求の属性RATTR0と、アドレスRAD0と、データRD0を入力として、それらをメモリー2230に第3のクロックCLK_Bで一旦、記憶する。そしてメモリー2230は、第1のクロックCLK_Aで読み出される。メモリー2230から第1のクロックCLK_Aで読み出したアクセス要求の属性をRATTR1とし、アドレスをRAD1とし、データをRD1とする。
プロトコル変換モジュール224は、位相調整モジュール223から入力されるアクセス要求の属性RATTR1、アドレスRAD1、及びデータRD1に応じて、第1のプロトコルに従った形式に変換し、データM_RXDとして出力する。この際、第1のプロトコルに従った形式とするために必要なヘッダ情報として、例えばヘッダ情報のサイズを示すフォーマット信号などを付与する。
ここでは、制御用デバイス100から制御対象デバイス300へのアクセス要求がライト要求であった場合の制御対象デバイス300からの返答でも、データM_RXDを出力していたが、これに限定するものではない。例えば、制御対象デバイス300が要求されたライト処理が完了したことを制御用デバイス100に対してデータM_RXDで通知しなくても良い。例えば、ライト処理が完了したことを、プロトコル解析モジュール211へ通知することにより、プロトコル解析モジュール211は、制御用デバイス100から第1のバスを介して出力された、次のデータM_TXDの解析を開始できる。従って、制御用デバイス100から制御対象デバイス300へのデータ転送効率を向上することができる。
図9は、受信系統処理ブロック220において入力された第2のプロトコルに従った形式のデータS_TXDから、出力する第1のプロトコルに従った形式のデータM_RXDの関係を示す。ここで図9においてOUT(221)はプロトコル解析モジュール221の出力、OUT(222)はM/N倍同期化モジュール222の出力、及びOUT(223)は位相調整モジュール223の出力を表す。図9に示すように、データ転送装置200の受信系統処理ブロック220は、データS_TXDが入力されると、データS_TXDのうち制御用デバイス100へのアクセスに必要な、データS_RXDに含まれるリードまたはライトを示すアクセス要求のコマンド(H113)や、データS_RXDの送信元である制御用デバイス100を示すリクエスタID(H111)や、リードまたはライトのデータ長(H112)など含む属性(H11)と、アドレス(ADR)と、データ(DT)を抽出し、第1のプロトコルに従った形式でデータM_RXDを出力する。これにより、データ転送装置200の受信系統処理ブロック220の入力側のバスとは異なるプロトコルおよび異なる同期クロックのバスを介したデータの転送ができる。
上記のように、第1のクロックCLK_Aで動作する制御用デバイス100と、第2のクロックCLK_Cで動作する制御対象デバイス300とのデータ通信を、データ転送装置200を介して転送することで、複雑な非同期回路が必要なくなり、回路規模の削減ができる。
次に、本実施の形態にかかるデータ転送装置と、従来のデータ転送装置との比較について説明する。図10は、従来のデータ転送装置201の構成図である。データ転送装置201は、制御用デバイス100と第1のバス400を介して接続される。ここで、制御用デバイス100は、第1のクロックCLK_Aで動作するデバイスである。また、データ転送装置200は、制御対象デバイス300と第2のバス500を介して接続される。ここで、制御対象デバイス300は、第2のクロックCLK_Cで動作するデバイスである。また、制御用デバイス100から制御対象デバイス300へのデータ送信を処理するブロックを送信系統処理ブロック230、制御対象デバイス300から制御用デバイス100へのデータ送信を処理するブロックを受信系統処理ブロック240として示す。
従来のデータ転送装置201では、それぞれの通信プロトコルへの変換を行なうプロトコル変換モジュール211、214、221、及び224については上述したプロトコル変換モジュール211、214、221、及び224と同様である。
従来のデータ転送装置201の送信系統処理ブロック230において、同期化モジュール231と要求データ生成モジュール232とを備える。同様に、従来のデータ転送装置201の受信系統処理ブロック240において、同期化モジュール241と応答データ生成モジュール242とを備える。
同期化モジュール231は、構成は位相調整モジュール212と同じであるが、メモリー2310を読み出すための読み出しクロックが異なる。具体的には、読み出しのクロックは第3のクロックCLK_Bではなく、第2のクロックCLK_Cを用いる。これにより、メモリー2310から読み出したアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1は第2のクロックCLK_Cに同期化される。
要求データ生成モジュール232は、同期化モジュール231からの第2のクロックCLK_Cに同期したアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1を入力として、プロトコル変換モジュール214が第2のバス500へデータS_RXDを出力する際のビット幅で、それらを予め決めた順番となるよう第2のクロックCLK_CでデータTSYNC_TXDを出力する。M/N倍同期化モジュール213は、第3のクロックCLK_Bに同期して入力されて第2のクロックCLK_Cで出力していたが、要求データ生成モジュール232は、第2のクロックCLK_Cに同期して入力されて第2のクロックCLK_Cで出力する。
同期化モジュール241は、構成は位相調整モジュール222と同じであるが、メモリー2310に書き込むための書き込みクロックが異なる。具体的には、書き込みのクロックは第3のクロックCLK_Bではなく、第2のクロックCLK_Cを用いる。また、プロトコル変換モジュール221でプロトコル解析された第2のクロックCLK_Cに同期したステータスRSTATS及びデータRXDを入力データとする。これにより、メモリー2310から読み出したステータスRSTATS1及びデータRXD1は第1のクロックCLK_Aに同期化される。
応答データ生成モジュール242は、同期化モジュール241からの第1のクロックCLK_Cに同期したステータスRSTATS1及びデータRXD1を入力として、データRXD1を解析し、アクセス要求の属性RATTR1、アドレスRAD1、及びデータRD1を抽出して出力する。
図11は、図10に示す従来のデータ転送装置201の同期化モジュール231での処理のタイミングチャートの一例を示す概略図である。図11では、同期化モジュール231に第1のクロックCLK_AでデータTD0が入力されるタイミングと、第2のクロックCLK_CでデータTD1を出力するタイミングとが示されている。
同期化モジュール231は、時刻Tas1で第1のクロックCLK_Aに同期してデータTD0が入力されると、メモリー2310に対してデータのライト命令を示すライトイネーブル信号WRENをアサートし、データTD0を記憶する。
次に、時刻Tas2で、メモリー2310はデータTD0のライトを完了すると、メモリー2310からデータを読み出す際のクロックCLK_Cに同期させて、ライトが完了したことを示すフラグFLG_Eを所定のサイクル後にアサートする。同期化モジュール231は、フラグFLG_Eのアサートを検出し、メモリー2310へのリード命令を示すリードイネーブル信号RDENをアサートする。
最後に時刻Tas3で、メモリー2310から読み出したデータが出力されると、同期モジュール231は、それをデータTD1として要求データ生成モジュール232へ出力する。
上記のように、同期化モジュール231は、第1のクロックCLK_Aに同期して入力されたデータTD0をメモリー2310にライトし、第2のクロックCLK_Cでメモリー2310から読み出すことで、第1のクロックにおいて12Cycle程度で、下位ブロックである要求データ生成モジュール232へデータTD1を出力する。
一方、図7について上述したように、本実施の形態にかかるデータ転送装置200の位相調整モジュール212であれば、第1のクロックCLK_Aに同期して入力されたデータTD0をメモリー2120にライトし、第1のクロックCLK_Aの位相を調整した、第2のクロックCLK_CのN/M倍のクロックCLK_Bでメモリー2120から読み出すことで、第1のクロックにおいて6Cycle程度で下位ブロックであるM/N倍同期化モジュールへデータTD1を出力できる。
従って、本実施の形態にかかるデータ転送装置200は従来のデータ転送装置201よりも、転送時間を短縮することが可能であることが分かる。
図12は、図1に示すデータ転送装置の変形例を示す。図1では、制御用デバイス100とデータ転送装置202とは第1のバス400を介して接続され、制御対象デバイス300とデータ転送装置202とは第2のバス500を介して接続されていた。図12に示すデータ転送装置202は、制御用デバイス100とデータ転送装置202とは第1のバス400を介さずに接続され、制御対象デバイス300とデータ転送装置202とは第2のバス500を介さずに接続されている。さらに、制御用デバイス100とデータ転送装置200とは同じプロトコルを用いて通信を行なう。
このような変形例の場合であっても、本実施の形態にかかるデータ転送装置202は、制御用デバイス100が動作する第1のクロックCLK_Aと、制御対象デバイス300が動作する第1のクロックCLK_Aと異なる第2のクロックCLK_Cに対して、前記第2のクロックCLK_Cと逓倍関係または分周関係にありクロック周波数が前記第2のクロックCLK_Cのクロック周波数Fcよりも前記第1のクロックCLK_Aのクロック周波数Faに近い第3のクロックCLK_Bを用いることで、サンプリング処理が容易に行なうことができるので、複雑な非同期回路を実装することなく、より転送効率の良いデータの転送を実現するデータ転送装置を得ることが可能になるという効果を奏する。
また、図12のように、第1のバス及び第2のバスを介さずに、データ転送装置202と制御用デバイス100と、データ転送装置202と制御対象デバイス300とを直接接続することで、FPGA(Field Programmable Gate Array)やLSI(Large Scale Integration)等の内部で非同期設計が必要なモジュールにおいても、複雑な回路の設計をすることなく、非同期回路を実装することができる。
実施の形態2.
実施の形態1では、第1のクロックCLK_Aで動作する制御用デバイス100と、第1のクロックCLK_Aと異なる第2のクロックCLK_Cで動作する制御対象デバイス300との間のデータ転送を実現するデータ転送装置であった。実施の形態2では、一方のデバイスのデータ出力に用いるクロックがさらに異なるデバイスであった場合のデータ転送装置について述べる。
実施の形態1では、第1のクロックCLK_Aで動作する制御用デバイス100と、第1のクロックCLK_Aと異なる第2のクロックCLK_Cで動作する制御対象デバイス300との間のデータ転送を実現するデータ転送装置であった。実施の形態2では、一方のデバイスのデータ出力に用いるクロックがさらに異なるデバイスであった場合のデータ転送装置について述べる。
図13は、本実施の形態にかかるデータ転送装置203の構成図である。データ転送装置203は、送信系統処理ブロック210と、受信系統処理ブロック250とを備える。ここで、送信系統処理ブロック210は、上述の送信系統処理ブロック210と同じ構成、作用をもつため、ここでは説明を省略する。
制御対象デバイス301は、受信モジュール310と、送信モジュール320とを備える。
受信モジュール310は、第2のバス500を介して出力されたデータS_RXDを入力として、データS_RXDの内容を解析し、その内容に応じて、制御対象デバイス301が保持する又は接続されたメモリー3100(図示せず)に対して該当するアドレスのデータをリードまたは該当するアドレスでデータをライトする。このとき、データS_RXDに含まれるアクセス要求がリード要求を示す場合、データS_RXDに含まれるリードデータ長の分、メモリー3100からデータをリードする。一方、データS_RXDに含まれるアクセス要求がライト要求を示す場合、データS_RXDに含まれるライトデータをメモリー3100に記憶する。そして、メモリー3100に対するデータのリードまたはライトが完了すると、送信モジュール320へ通知する。リードを行った場合ではリードデータを送信モジュール320へ出力し、ライトを行った場合では、ライトが完了したことを示す信号を出力する。この際、受信モジュール310は、第2のクロックCLK_Cで動作する。
制御対象デバイス301の送信モジュール320は、受信モジュール310からの入力に応じて、応答データS_TXDを生成し、第2のバス500を介して出力する。応答データS_TXDは、受信モジュール310がリード処理を行った場合は、受信モジュール310からのリードデータを含む応答データS_TXDを、ライト処理を行った場合はメモリー3100へのライト処理が完了したことを示す信号を含む応答データS_TXDを出力する。また、この際送信モジュール320は、第4のクロックCLK_Dに同期してデータS_TXDを出力する。
データ転送装置203の受信系統処理ブロック250は、プロトコル解析モジュール226と、位相調整モジュール227と、N/M倍同期化モジュール222と、位相調整モジュール223と、プロトコル変換モジュール224とを備える。受信系統処理ブロック250は、制御対象デバイス301から第2のバス500を介して出力された、第4のクロックCLK_Dに同期したデータS_TXDを入力として、第1のプロトコルに従った形式に変換し、第1のバス400を介して第1のクロックCLK_Aに同期したデータM_RXDとして出力する。
受信系統処理ブロック250の、プロトコル解析モジュール226と、位相調整モジュール227以外のモジュールの機能は、実施の形態1と同様であるため、ここでの説明は省略する。
プロトコル解析モジュール226は、第4のクロックCLK_Dに同期した、制御対象デバイス301から第2のバス500を介して出力されたデータS_TXDを入力とし、第2のプロトコルに従いデータS_TXDを解析し、データS_TXDに不正が無いかどうかを示すステータスRSTATS0と、制御対象デバイス301から入力されたデータS_TXDのうち、ヘッダ情報等を除いたデータRXD0を出力する。なお、ステータスRSTATS0は、入力されたデータS_TXDに不正がないかを示す複数種類の信号としても良い。
位相調整モジュール227は、メモリー2270(図示せず)を備える。位相調整モジュール226は、第4のクロックCLK_Dに同期した、プロトコル解析モジュール221からのステータスRSTATS0と、データRXD0を入力として、それらをメモリー2270に記憶し、第2のクロックCLK_Cで読み出し、ステータスRSTATS1と、データRXD1として出力する。
上記のように、データ転送装置203の送信系統処理ブロック210と受信系統処理ブロック250の動作クロックが異なる場合においても、位相調整モジュール227を追加することで、回路の大幅な変更無く非同期回路を実装することができる。
以上の説明では、制御対象デバイス301が1つの場合について説明したが、このような例に限定されるものではない。制御対象デバイス301は、データ転送装置200に複数接続されていても良い。
図14は、制御対象デバイス301A、301B、及び301Cの3台が、データ転送装置204に接続されている例を示す概略図である。図14のデータ転送装置204は、第1のバス400を介して制御用デバイス100と接続され、第2のバス500Aを介して制御対象デバイス301Aと接続され、第2のバス500Bを介して制御対象デバイス301Bと接続され、第2のバス500Cを介して制御対象デバイス301Cと接続される。第2のバス500A、第2のバス500B、及び第2のバス500Cは、全て同じプロトコルで従うものとする。
図14のデータ転送装置204は、制御用デバイス100から第1のバス400を介して出力されるデータM_TXDを、それぞれ第2のバス500Aを介して制御対象デバイス301Aへ出力するための送信系統処理ブロック210Aを備え、第2のバス500Bを介して制御対象デバイス301Bへ出力するための送信系統処理ブロック210Bを備え、第2のバス500Cを介して制御対象デバイス301Cへ出力するための送信系統処理ブロック210Cを備える。
データ転送装置204にバスを介して複数の制御対象デバイス301A、301B、及び301Cが接続される場合、各送信系統処理ブロック210A、210B、及び210Cのプロトコル解析モジュール211は、制御対象デバイス100から第1のバス400を介して出力されたデータM_TXDを解析し、データM_TXDに含まれるアドレス情報を基に自分宛のデータであるか判定する。
送信系統処理ブロック210A、210B、及び210Cのうちいずれかのプロトコル解析モジュール211が自分宛のデータであると判定した場合、これ以降の動作は、図13と同様であるため、ここでの説明を省略する。一方、自分宛のデータでなかった場合、当該プロトコル解析モジュール211は、アクセス要求の属性TATTR0と、アドレスTAD0と、ライトデータTD0は出力しない。即ち、制御用デバイス100から第1のバス400を介して次のデータM_TXDが入力されるまで、動作は行われない。
例えば、送信系統処理ブロック210Aのプロトコル解析モジュール211が自分宛のデータであると判定した場合、送信系統処理ブロック210Aのプロトコル解析モジュール211は、図13と同様に、第1のプロトコルに従いデータM_TXDを解析し、制御対象デバイス301Aへのアクセスに必要な、アクセス要求の属性TATTR0と、アドレスTAD0と、制御用デバイス100からのアクセス要求がライト要求の場合ライトデータTD0を抽出し、出力する。送信系統処理ブロック210Aのプロトコル解析モジュール211の後段に接続された各モジュールは、図13と同様に動作する。反対に、送信系統処理ブロック210B及び210Cのプロトコル解析モジュール211は自分宛のデータではないと判定するため、アクセス要求の属性TATTR0、アドレスTAD0、及びライトデータTD0を出力せず、後段に接続された各モジュールも動作をしない。
次に、第1のバス400を介して制御用デバイス100から出力されたデータM_TXDが、自分宛のデータであると判定した送信系統処理ブロック210A、210B、及び210Cのいずれかと、500A、500B、及び500Cのいずれかの第2のバスを介して接続されている制御対象デバイス301A、301B、及び301Cのいずれかが行う処理は、図13と同様であるため、ここでの説明を省略する。一方、それ以外については動作を行わない。
例えば、送信系統処理ブロック210Aから第2のバス500Aを介してデータS_RXDが出力された場合、制御対象デバイス301Aは図13と同様に動作する。反対に、制御対象デバイス301B、301Cは、データS_RXDが入力されないため、動作をしない。
最後に、データS_TXDを出力する制御対象デバイス301A、301B、及び301Cのいずれかと、500A、500B、及び500Cのいずれかの第2のバスを介して接続されている受信系処理ブロック250A、250B、及び250Cのいずれかが行う処理は、図13と同様であるため、ここでの説明を省略する。一方、それ以外については動作を行わない。
例えば、制御対象デバイス301Aから第2のバス500Aを介してデータS_TXDが出力された場合、受信系処理ブロック250Aは図13と同様に動作する。反対に、受信系処理ブロック250B及び250Cは動作をしない。
上述のように、データ転送装置204が接続される制御対象デバイス301の台数に応じて、送信系統処理ブロック210と受信系統処理ブロック250を複数備えることで、制御用デバイス100と複数の制御対象デバイス301との間でのデータ転送が可能となる。そのため、データ転送装置204に接続される制御対象デバイス301の台数に制限が無くなることから、構築するシステム規模の拡大ができる。
データ転送装置204の適用例として映像表示システムを説明する。図15は、コンピュータと表示装置31とで構成された映像表示システムを示す図である。コンピュータは、データ転送装置204と制御用デバイス100となるCPUとが第1のバス400を介して接続されたものを備える。表示装置31は、表示部を有する制御対象デバイス301Aから301Iまでの9台で構成される。制御対象デバイス301Aから301Iまでの9台は、それぞれコンピュータ内のデータ転送装置204と第2のバス500Aから500Iまでを介して接続されている。
図15の映像表示システムは、再生する映像コンテンツの各フレームを水平方向に3分割、垂直方向に3分割した合計9画面の各画面を、9台の表示部に表示するものである。9台の表示部は、図16に示す番号に対応付けられるものとする。
図15の映像表示システムでは、制御用デバイス100となるCPU(図示せず)が、再生する映像コンテンツの各フレームを水平方向に3分割、垂直方向に3分割し、コンピュータ内部でCPUが接続されている第1のバス400(図示せず)を介して、データ転送装置204(図示せず)へ分割後の1画面分の映像データを予め決めた一定時間分出力する。CPUは、第1に対応づけられた表示部301Aには図16に示すフレームの上段左端のエリアに該当する映像データを一定時間単位で順次出力する。同じように第2〜第9についても行う。
CPUから第1のバス400を介して出力された映像データは、データ転送装置204に入力され、プロトコル変換された後、データ転送装置204から該当する表示位置に対応づけられた表示部へ第2のバスを介して出力される。第1から第9までの各表示部は、映像データが入力されると、それをモニタに表示する。このとき、データS_RXDにはタイムスタンプが含まれ、各表示装置はそれに応じて映像を出力することで、第1から第9までの表示部が再生する映像を同期することが可能となる。
上記のように、データ転送装置204を映像表示システムに適用することで、複数台の表示部からなる大画面の映像表示システムにおいても、各表示部が同期して映像を再生することができる。
実施の形態3.
本実施の形態では、他の適用例として、印刷システムに適用したデータ転送装置について説明する、図17は、写真などの画像データや文書などのテキストデータを印刷装置で印刷する印刷システムを示す図である。図17の印刷システムは、制御用デバイス100となるコンピュータのCPU(図示せず)が、コンピュータ内部で第1のバス400(図示せず)を介してデータ転送装置205(図示せず)と接続されており、データ転送装置205が第2のバス500を介して制御対象デバイス300となる印刷装置と接続されている。
本実施の形態では、他の適用例として、印刷システムに適用したデータ転送装置について説明する、図17は、写真などの画像データや文書などのテキストデータを印刷装置で印刷する印刷システムを示す図である。図17の印刷システムは、制御用デバイス100となるコンピュータのCPU(図示せず)が、コンピュータ内部で第1のバス400(図示せず)を介してデータ転送装置205(図示せず)と接続されており、データ転送装置205が第2のバス500を介して制御対象デバイス300となる印刷装置と接続されている。
図17の印刷システムでは、コンピュータのCPUが、印刷する画像データやテキストデータを出力する。CPUから第1のバス400を介して出力された画像データやテキストデータは、データ転送装置205に入力され、プロトコル変換された後、データ転送装置205から第2のバス500を介して印刷装置32に入力される。印刷装置32は、画像データやテキストデータが入力されると、それを紙などの出力媒体に印刷する。
図18は、本実施の形態にかかるデータ転送装置205の構成図である。データ転送装置205は、設定データ読出しモジュール216を備える。ここで、上述の同じ番号が付されている構成要素については、上述の説明と同じ構成、作用をもつため、ここでの説明を省略する。
設定データ読出しモジュール216は、位相調整モジュール212からのアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1を入力として、アドレスTAD1が印刷装置32の設定変更を示すアドレスの場合に、メモリー(図示せず)から詳細な設定情報を読み出す。そして、アクセス要求の属性TATTR1をTATTR2として出力し、アドレスTAD1をTAD2として出力し、読み出した詳細な設定情報をデータTD2として出力する。
このとき、アドレスTAD1は印刷装置32の設定を変更する場合にのみ使用する設定変更用アドレスとする。印刷装置32は、データ転送装置205から入力されたS_RXDを解析し、設定変更用アドレスと判断すると、データS_RXDに含まれる設定情報に従い、設定レジスタの変更処理を行う。
また、印刷装置32の各種設定は設定モード別にメモリーに管理される。図19は、印刷装置32の各種設定の管理情報を示す。メモリーは、図19に示すように、モード毎に設定できる複数の設定レジスタのアドレスと設定値を予め記憶している。CPUは、設定モードを示すメモリーのアドレスをデータTD1として入力する。図19では、例えばモード1に関する設定として、設定レジスタ1のアドレス値ADR(REG1)及び設定レジスタ1の設定値SET(REG1)と、設定レジスタ7のアドレス値ADR(REG7)及び設定レジスタ7の設定値SET(REG7)とを含む情報をメモリーの先頭アドレス0x00800000に予め記憶していることを示す。
図20は、設定データ読出しモジュール216の動作のフローチャートを示す。設定データ読出しモジュール216は、位相調整モジュール212からアクセス要求の属性TATTR1とアドレスTAD1とデータTD1が入力されると、アドレスTAD1が印刷装置32の設定変更用アドレスと一致するか判定する(S1)。
アドレスTAD1が印刷装置32の設定変更用アドレスと一致すると(S1:yes)、データTD1が示すメモリーのアドレスから、詳細な設定情報を読み出す(S2)。最後に設定データ読出しモジュール216は、アクセス要求の属性TATTR1をTATTR2として出力し、アドレスTAD1をTAD2として出力し、読み出した詳細な設定情報をデータTD2として出力する(S3)。ここで、図21にデータTD2の例を示す。図21は、データTD1が0x00800000であり、図19に示すモード1(アドレス0x00800000)を読み出した例である。
一方、アドレスTAD1が印刷装置32の設定変更用アドレスと一致しないと(S1:no)、設定データ読出しモジュール216は、位相調整モジュール212から入力されたアクセス要求の属性TATTR1、アドレスTAD1、及びデータTD1を、それぞれアクセス要求の属性TATTR2、アドレスTAD2、及びデータTD2として出力する。
上記のように、データ転送装置205を印刷システムに適用することで、印刷装置32の設定を変更する際、CPUは印刷装置32の設定モードを示すアドレスを出力するだけでよく、CPUが印刷装置32の詳細な設定情報を出力する必要がないため、CPUの負荷を低減することができる。
実施の形態4.
実施の形態4では、制御用デバイス100と制御対象デバイス300との間の通信において、一方から他方へ連続した領域に複数のデータを続けて転送するデータ転送装置について説明する。
実施の形態4では、制御用デバイス100と制御対象デバイス300との間の通信において、一方から他方へ連続した領域に複数のデータを続けて転送するデータ転送装置について説明する。
図22は、実施の形態4にかかるデータ転送装置206の構成図である。データ転送装置206は、制御用デバイス100と第1のバス400を介して接続される。ここで、制御用デバイス100は、第1のクロックCLK_Aで動作するデバイスである。また、データ転送装置206は、制御対象デバイス300と第2のバス500を介して接続される。制御対象デバイス300は、第2のクロックCLK_Cで動作するデバイスである。データ転送装置206は、送信系統処理ブロック260と受信系統処理ブロック270とを備え、送信系統処理ブロック260と受信系統処理ブロック270との間に転送長調整ブロック280をさらに備える。
送信系統処理ブロック260は、プロトコル解析モジュール211、位相調整モジュール212、及びプロトコル変換モジュール214を備える。ここで、プロトコル解析モジュール211、位相調整モジュール212、及びプロトコル変換モジュール214については上述のものと同じ作用をするものであるため、説明を省略する。また、送信系統処理ブロック260は、位相調整モジュール212とプロトコル変換モジュール214との間にM/N倍同期化モジュール263をさらに備える。
受信系統処理ブロック270は、プロトコル解析モジュール221、位相調整モジュール223、及びプロトコル変換モジュール224を備える。ここで、プロトコル解析モジュール221、位相調整モジュール223、及びプロトコル変換モジュール224については上述のものと同じ作用をするものであるため、説明を省略する。また、受信系統処理ブロック270は、位相調整モジュール223とプロトコル変換モジュール224との間にN/M倍同期化モジュール272をさらに備える。
転送長調整モジュール280について説明する。転送長調整モジュール280は、送信系統処理ブロック260から、プロトコル解析モジュール211から出力されるアクセス要求の属性TATTR0に含まれる制御用デバイス100からのアクセス要求のコマンド、リードデータまたはライトデータのデータ長TLEN0(図示せず)を得るとともに、アドレスTAD0を入力する。ここで、制御用デバイス100から続けて転送されるデータ長TLEN0はともに同じデータ長である。
また、受信系統処理ブロック270から、プロトコル解析モジュール221から出力されるデータRXDに含まれる制御対象デバイス300からのアクセス要求のコマンド、リードデータまたはライトデータのデータ長RLEN0(図示せず)を得る。ここで、制御対象デバイス300から続けて転送されるデータ長RLEN0はともに同じデータ長である。
転送長調整モジュール280は、第1のクロックCLK_Aの周波数Faが、第2のクロックCLK_Cの周波数Fcよりも大きい場合は、TLEN0に係数Pを掛けたTLEN1’をM/N倍同期化モジュール263に出力し、第1のクロックCLK_Aの周波数Faが第2のクロックCLK_Cの周波数Fcよりも小さい場合は、RLEN0に係数Pを掛けたRLEN0’をN/M倍同期化モジュール272に出力する。係数Pは、自然数であって、以下に示す第2式及び第3式を満たす。ここで、integer(X)とは、Xの値以下で最大の自然数を表す。また、P2MAXLENとは、第2のプロトコルで許容される最大フレーム長を表し、P1MAXLENとは、第1のプロトコルで許容される最大フレーム長を表す。
M/N倍同期化モジュール263は、転送長調整モジュール280から入力したTLEN1’にしたがってTSYNC_TXDを出力する。N/M倍同期化モジュール272は、転送長調整モジュール280から入力したRLEN0’にしたがってRATTR0を出力する。
第1のクロックCLK_Aの周波数Faが第2のクロックCLK_Cの周波数Fcよりも大きい場合のデータ転送装置206の動作について、図23を用いて説明する。
図23は、送信系統処理ブロック260におけるデータの形式変換の様子を示す図である。ここで、M_TXD(m)はm番目に制御用デバイス100から送られてきたデータであり、M_TXD(m+1)はm+1番目に制御用デバイス100から送られてきたデータを示す。H111は、データM_TXDの送信元である制御用デバイス100を示すリクエスタIDである。H112は、データ長M_TXDで送られてきたデータDTのデータ長を示す。H113は、リードまたはライトを示すアクセス要求コマンドを示す。ADRはアドレスを示す。DTはデータを示す。また、OUT(211)は、プロトコル解析モジュール211の出力を示す。OUT(212)は、位相調整モジュール212の出力を示す。そして、OUT(263)は、M/N倍同期化モジュール263の出力を示す。
図23は、周波数Faが周波数Fcよりも大きい場合に、送信系統処理ブロック260の入力データM_TXDから出力データS_RXDまでの形式変換の様子を示したものであり、例として、Fa=100MHz、Fc=50MHz、TLEN0(m)=512、TLEN0(m+1)=512、そしてP2MAXLEN=1,500のときの動作を説明する。図23は、水平方向に左から右に向かって時間が経過することを表している。
このとき、Fa>Fcであるため、第2式に従って(Fa/Fc)=2、integer(P2MAXLEN/TLEN0)=integer(1500/512)=2から、係数Pは2を得る。
転送長調整モジュール280は、TLEN0=512に係数P=2を掛けたTLEN1’=1,024をM/N倍同期化モジュール263に出力する。
M/N倍同期化モジュール263は、アクセス要求の属性TATTR1、アドレスTAD1、データTD1(m)を入力して、第2のクロックCLK_Cに同期したTSYNC_TXDを出力する際に、TATTR1に含まれるデータ長をTLEN1’に置き換えて、プロトコル変換モジュール214に出力する。
図23におけるM_TXD、TSYNC_TXD、S_RXDの水平方向の長さは、それぞれ制御デバイス100、M/N倍同期化モジュール263、プロトコル変換モジュール214が出力する期間を表しており、CLK_Aに同期して出力されるM_TXDに対して、CLK_Cに同期して出力されるTSYNC_TXDおよびS_RXDは、約2倍の時間を要することを表している。プロトコル変換モジュール214は、M/N倍同期化モジュール263から出力されるTSYNC_TXDに応じて、第2のプロトコルの形式に変換し、データS_RXDとして出力する。
M/N倍同期化モジュール263は、データTD1(m)を第3のクロックCLK_Bから第2のクロックCLK_Cに同期しなおしてTSYNC_TXDとして、時刻T_C1から時間T_C2までの期間にプロトコル変換モジュール214へ出力する。時刻T_C2に到達した時点では、M/N倍同期化モジュール263はデータ長TLEN1(m)のデータTD1’(m)、即ち転送長調整モジュール280で生成した新たなデータ長TLEN1’の2分の1のデータを出力し終える。
M/N倍同期化モジュール263は、時刻T_C2までの期間に位相調整モジュール212から次のデータTD1(m+1)の一部が入力されていれば、時刻T_C2以降TD1(m+1)を第3のクロックCLK_Bから第2のクロックCLK_Cに同期しなおして、時刻T_C2から時刻T_C3までの期間にプロトコル変換モジュール214へ出力する。第2のバス500へは、制御用デバイス100から第1のプロトコルの形式に従って入力される2組のM_TXDが1組のS_RXDとして出力される。
上述のように、第1のデバイスが動作する第1のクロックCLK_Aの周波数Faが第2のデバイスが動作する第2のクロックCLK_Cの周波数Fcよりも大きい場合、即ち第1のバス速度の方が第2のバス速度より速い場合、第2のバスへ出力するアクセス要求の属性およびヘッダ情報の出力頻度を抑制することで、速度の遅いバスへのオーバーヘッドを削減し、制御用デバイス100から制御対象デバイス300への転送効率の向上が可能となる。
一方、第1のクロックCLK_Aの周波数Faが第2のクロックCLK_Cの周波数Fcよりも小さい場合のデータ転送装置206の動作について、図24を用いて説明する。
図24は、受信系統処理ブロック270におけるデータの形式変換の様子を示す図である。ここで、S_TXD(n)はn番目に制御対象デバイス300から送られてきたデータであり、S_TXD(n+1)はn+1番目に制御用デバイス100から送られてきたデータを示す。OUT(221)は、プロトコル解析モジュール221の出力を示す。OUT(272)は、N/M倍同期化モジュール272の出力を示す。そして、OUT(223)は、位相調整モジュール223の出力を示す。
図24は、周波数Faが周波数Fcよりも小さい場合に、受信系統処理ブロック270の入力データS_TXDから出力データM_RXDまでの形式変換の様子を示したものであり、例として、Fa=50MHz、Fc=100MHz、RLEN0(n)=1,500、RLEN0(n+1)=1,500、P1MAXLEN=4,096のときの動作を説明する。図24は、水平方向に左から右に向かって時間が経過することを表している。
このとき、Fa<Fcであるため、第3式に従って(Fc/Fa)=2、integer(P1MAXLEN/RLEN0)=integer(4096/1500)=2から、係数Pは2を得る。
転送長調整モジュール280は、RLEN0=1,500に係数P=2を掛けたRLEN0’=3,000をN/M倍同期化モジュール272に出力する。
N/M倍同期化モジュール272は、RXDに含まれるデータ長をRLEN0’に置き換えてRATTR0を構成し、位相調整モジュール223に出力する。
図24におけるS_TXD、M_RXDの各要素の水平方向の長さは、それぞれ制御対象デバイス300、プロトコル変換モジュール224が出力する期間を表しており、CLK_Cに同期して出力されるS_TXDに対して、CLK_Aに同期して出力されるM_RXDは、それぞれのクロック周波数Fc、Faの比率に等しく約2倍の時間を要することを表している。
(Fa/Fc)=0.5となり、第1式に基づいて、CLK_Bの周波数FbはFb=0.5×Fc=100MHzからFcと同じ50MHzとなる。これによりN/M倍同期化モジュール272出力もM_RXDと同様にS_TXDの約2倍の時間を要する。
位相調整モジュール223は、データ長RLEN0’を含むアクセス要求の属性RATTR0、アドレスRAD0、データRD0を入力して、第1のクロックCLK_Aに同期したRATTR1、アドレスRAD1、データRD1を出力する。
プロトコル変換モジュール224は、位相調整モジュール223から出力されるRATTR1、アドレスRAD1、データRD1に応じて、第1のプロトコルの形式に変換し、データM_RXDとして出力する。
N/M倍同期化モジュール272は、データRD0(n)を第2のクロックCLK_Cから第3のクロックCLK_Bに同期しなおしてRD0として、時刻T_B1から時刻T_B2までの期間に位相調整モジュール223へ出力する。時刻T_B2に到達した時点では、N/M倍同期化モジュール272はデータ長RLEN0のデータRD0(n)、即ち転送長調整モジュール280で生成した新たなデータ長RLEN0’の2分の1のデータを出力し終える。
N/M倍同期化モジュール272は、時刻T_B2までの期間にプロトコル解析モジュール221から次のデータRXDに含まれるデータRD0(n+1)の一部が入力されていれば、時刻T_B2以降RD0bを第2のクロックCLK_Cから第3のクロックCLK_Bに同期しなおしてRD0として、T_B2からT_B3までの期間に位相調整モジュール223へ出力する。RD0は、位相調整モジュール223にて第1のクロックCLK_Aに同期しなおして、さらにプロトコル変換モジュール224にて第1のプロトコルの形式に変換し、データM_RXDとして出力する。第1のバス400へは、制御対象デバイス300から第2のプロトコルの形式に従って入力される2組のS_TXDが1組のM_RXDとして出力される。
上述のように、第1のデバイスが動作する第1のクロックCLK_Aの周波数Faが第2のデバイスが動作する第2のクロックCLK_Cの周波数Fcよりも小さい場合、即ち第1のバス速度の方が第2のバス速度より遅い場合、第1のバスへ出力するアクセス要求の属性およびヘッダ情報の出力頻度を抑制することで、速度の遅いバスへのオーバーヘッドを削減し、制御対象デバイス300から制御用デバイス100への転送効率の向上が可能となる。
100 制御用デバイス
200 データ転送装置
211、221 プロトコル解析モジュール
212 位相調整モジュール
213、263 M/N倍同期化モジュール
214、224 プロトコル変換モジュール
222、272 N/M倍同期化モジュール
223 位相調整モジュール
280 転送長調整モジュール
300 制御対象デバイス
200 データ転送装置
211、221 プロトコル解析モジュール
212 位相調整モジュール
213、263 M/N倍同期化モジュール
214、224 プロトコル変換モジュール
222、272 N/M倍同期化モジュール
223 位相調整モジュール
280 転送長調整モジュール
300 制御対象デバイス
Claims (9)
- 第1のクロックで動作する第1のデバイスと、前記第1のクロックと異なる第2のクロックで動作する第2のデバイスとの間に接続され、
前記第1のデバイスから前記第2のデバイスへ送信された第1のデータを記憶し、前記第2のクロックと逓倍関係または分周関係にありクロック周波数が前記第2のクロックのクロック周波数よりも前記第1のクロックのクロック周波数に近い第3のクロックで読み出される第1のメモリーと、
前記第1のメモリーから読み出した前記第1のデータを前記第2のクロックでサンプリング処理を行なう第1の同期化部と、
前記第1の同期化部でサンプリング処理された前記第1のデータを前記第2のデバイスへ出力する第1の出力部と、
前記第2のデバイスから前記第1のデバイスへ送信された第2のデータを前記第3のクロックでサンプリング処理を行なう第2の同期化部と、
前記第2の同期化部から出力された前記第2のデータを記憶し、前記第1のクロックで読み出される第2のメモリーと、
前記第2のメモリーから読み出された前記第2のデータを前記第1のデバイスへ出力する第2の出力部とを備え、
前記第2のデバイスは、前記第2のデータを前記第1のクロック及び前記第2のクロックと異なる第4のクロックで出力するものであって、
前記第2のデバイスと前記第2の同期化部との間に、前記第2のデータを記憶し、前記第2のクロックで読み出される第3のメモリーをさらに備える
ことを特徴とするデータ転送装置。 - 前記第2のデータは、アクセス対象のデバイスを指定する情報を含むものであって、
前記第2のデバイスから入力された前記第2のデータを解析し、前記第1のデバイスへのアクセスにのみ必要な第4のデータを抽出し、前記第4のデータのみを前記第3のメモリーの記憶対象とする
ことを特徴とする請求項1に記載のデータ転送装置。 - 前記第1のデータは、アクセス対象のデバイスへのアクセス内容がライト要求であるか否かを示す情報を含むものであって、
前記第1のデバイスから入力された前記第1のデータを解析し、前記第2のデバイスへのアクセスがライト要求であった場合は、
前記第2のデバイスから入力された、前記第2のデータを無視する
ことを特徴とする請求項1または請求項2に記載のデータ転送装置。 - 複数のアドレスを有し、前記アドレス毎に設定情報を予め記憶する第4のメモリーをさらに備え、
前記第1のデバイスは、前記第2のデバイスの設定を変更する場合には、前記第4のメモリーの複数のアドレスのうちの1つを示すデータを含む前記第1のデータを出力し、
前記第1のデータに含まれる前記データにより示される前記第4のメモリーのアドレスから、前記設定情報を読み出す設定データ読出し部をさらに備え、
前記第1の出力部は、前記設定データ読出し部により読み出された設定情報を含むデータを前記第2のデバイスへ出力し、
前記第2のデバイスは、前記第1の出力部により出力されたデータに含まれる設定情報に従って設定する
ことを特徴とする請求項1から請求項3のいずれか1項に記載のデータ転送装置。 - 前記第1および前記第2のデータは、アクセス対象のデバイスとその転送領域および転送長を示す情報を含むものであって、
前記第1のデバイスから入力された前記第1のデータを解析し、前記第2のデバイスへの転送長を抽出し、
前記第1のクロックの周波数が前記第2のクロックの周波数よりも高い場合には、前記第2のクロックの周波数に対する前記第1のクロックの周波数の比例倍以上である条件と、前記第2のデータで許容される転送長以下であるの条件とを満たす係数を求め、
前記第2のデバイスへの転送長に前記係数で乗算した値を前記第2のデータの変更後の転送長として前記第1の同期化部に出力する転送長調整部をさらに備える
ことを特徴とする請求項1から請求項4のいずれか1項に記載のデータ転送装置。 - 前記第1のクロックの周波数が前記第2のクロックの周波数よりも高い場合には、前記第2のデータの変更後の転送長に到達するまで、前記第1のデバイスから入力されるデータを連結して、前記第2のデバイスに出力する
ことを特徴とする請求項5に記載のデータ転送装置。 - 前記第1および前記第2のデータは、アクセス対象のデバイスとその転送領域および転送長を示す情報を含むものであって、
前記第2のデバイスから入力された前記第2のデータを解析し、前記第1のデバイスへの転送長を抽出し、
前記第1のクロックの周波数が前記第2のクロックの周波数よりも低い場合には、前記第1のクロックの周波数に対する前記第2のクロックの周波数の比例倍以上である条件と、前記第1のデータで許容される転送長以下である条件とを満たす第2の係数を求め、前記第1のデバイスへの転送長に前記第2の係数で乗算した値を前記第1のデータの変更後の転送長として前記第2の同期化部に出力する第2の転送長調整部をさらに備える
ことを特徴とする請求項1から請求項6のいずれか1項に記載のデータ転送装置。 - 前記第1のクロックの周波数が前記第2のクロックの周波数よりも低い場合には、前記第1のデータの変更後の転送長に到達するまで、前記第2のデバイスから入力されるデータを連結して、前記第1のデバイスに出力する
ことを特徴とする請求項7に記載のデータ転送装置。 - 第1のクロックで動作する第1のデバイスと、前記第1のクロックと異なる第2のクロックで動作する第2のデバイスとの間でデータを転送するデータ転送方法であって、
前記第1のデバイスから前記第2のデバイスへ送信された第1のデータを記憶する第1の記憶工程と、
前記第1の記憶工程で記憶した前記第1のデータを、前記第2のクロックと逓倍関係または分周関係にありクロック周波数が前記第2のクロックのクロック周波数よりも前記第1のクロックのクロック周波数に近い第3のクロックで読み出す第1の読み出し工程と、
前記第1の読み出し工程で読み出された前記第1のデータを前記第2のクロックでサンプリング処理を行なう第1の同期化工程と、
前記第1の同期化工程から出力された前記第1のデータを前記第2のデバイスへ出力する第1の出力工程と、
前記第2のデバイスから前記第1のデバイスへ送信された第2のデータを前記第3のクロックでサンプリング処理を行なう第2の同期化工程と、
前記第2の同期化工程から出力された前記第2のデータを記憶する第2の記憶工程と、
前記第2の記憶工程で記憶した前記第2のデータを、前記第1のクロックで読み出す第2の読み出し工程と、
前記第2の読み出し工程で読み出された前記第2のデータを前記第1のデバイスへ出力する第2の出力工程とを備え、
前記第2のデバイスは、前記第2のデータを前記第1のクロック及び前記第2のクロックと異なる第4のクロックで出力するものであって、
前記第2のデバイスから前記第1のデバイスへ送信された前記第2のデータを記憶する第3の記憶工程と、
前記第3の記憶工程で記憶した前記第2のデータを、前記第2のクロックで読み出す第3の読み出し工程とをさらに備え、
前記第2の同期化工程は、前記第3の読み出し工程で読み出された前記第2のデータを前記第3のクロックで前記サンプリング処理を行なう
ことを特徴とするデータ転送方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013217249 | 2013-10-18 | ||
JP2013217249 | 2013-10-18 | ||
PCT/JP2014/003264 WO2015056372A1 (ja) | 2013-10-18 | 2014-06-18 | データ転送装置及びデータ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6026001B2 true JP6026001B2 (ja) | 2016-11-16 |
JPWO2015056372A1 JPWO2015056372A1 (ja) | 2017-03-09 |
Family
ID=52827838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015542486A Expired - Fee Related JP6026001B2 (ja) | 2013-10-18 | 2014-06-18 | データ転送装置及びデータ転送方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6026001B2 (ja) |
WO (1) | WO2015056372A1 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06268707A (ja) * | 1993-03-10 | 1994-09-22 | Nec Corp | データ長変換回路 |
JPH0879285A (ja) * | 1994-09-08 | 1996-03-22 | Seiichi Miyazaki | 位相同期回路 |
JP2000010852A (ja) * | 1998-06-24 | 2000-01-14 | Hitachi Ltd | 情報処理装置 |
JP2005339426A (ja) * | 2004-05-31 | 2005-12-08 | Fujitsu Ltd | データ処理システム及び設定方法 |
JP2009141762A (ja) * | 2007-12-07 | 2009-06-25 | Anritsu Corp | フレーム遅延発生装置 |
WO2010010603A1 (ja) * | 2008-07-25 | 2010-01-28 | 株式会社アドバンテスト | クロック乗せ換え回路およびそれを用いた試験装置 |
JP2012063971A (ja) * | 2010-09-16 | 2012-03-29 | Nec Corp | I/oブリッジ装置、応答通知方法、及びプログラム |
-
2014
- 2014-06-18 WO PCT/JP2014/003264 patent/WO2015056372A1/ja active Application Filing
- 2014-06-18 JP JP2015542486A patent/JP6026001B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06268707A (ja) * | 1993-03-10 | 1994-09-22 | Nec Corp | データ長変換回路 |
JPH0879285A (ja) * | 1994-09-08 | 1996-03-22 | Seiichi Miyazaki | 位相同期回路 |
JP2000010852A (ja) * | 1998-06-24 | 2000-01-14 | Hitachi Ltd | 情報処理装置 |
JP2005339426A (ja) * | 2004-05-31 | 2005-12-08 | Fujitsu Ltd | データ処理システム及び設定方法 |
JP2009141762A (ja) * | 2007-12-07 | 2009-06-25 | Anritsu Corp | フレーム遅延発生装置 |
WO2010010603A1 (ja) * | 2008-07-25 | 2010-01-28 | 株式会社アドバンテスト | クロック乗せ換え回路およびそれを用いた試験装置 |
JP2012063971A (ja) * | 2010-09-16 | 2012-03-29 | Nec Corp | I/oブリッジ装置、応答通知方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2015056372A1 (ja) | 2015-04-23 |
JPWO2015056372A1 (ja) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282805B2 (en) | Image signal processor and devices including the same | |
JP4998699B2 (ja) | 半導体装置、及び通信制御方法 | |
JPH02227766A (ja) | デジタル・コンピユータのデータ転送装置 | |
WO2013042264A1 (ja) | 映像処理装置および映像処理方法 | |
WO2016003207A1 (ko) | 양방향 통신 방법 및 이를 이용한 양방향 통신 장치 | |
JP3835459B2 (ja) | データ転送制御装置及び電子機器 | |
CN109656863A (zh) | 一种高带宽的mipi数据处理接口电路 | |
CN108121679A (zh) | 一种嵌入式SoC系统总线及其协议转换桥接装置 | |
CN113190291A (zh) | 一种基于片上网络数据采集的可配置协议转换系统及方法 | |
CN114845071A (zh) | 一种单摄像头多路usb视频输出系统及硬件升级方法 | |
JP6026001B2 (ja) | データ転送装置及びデータ転送方法 | |
WO2016000376A1 (zh) | 一种基于pci-e接口的信号处理方法及信号处理装置 | |
US9105318B2 (en) | Memory device and method operable to provide multi-port functionality thereof | |
US8555104B2 (en) | Frequency adapter utilized in high-speed internal buses | |
CN115905067A (zh) | 数据传输控制方法、芯片、装置及存储介质 | |
US20150149680A1 (en) | Information processing apparatus and information processing method | |
JP2008148302A (ja) | 多様なデータ量を有する高速データ間のインターフェース変換方法及び装置 | |
JP6895176B2 (ja) | 送信装置、受信装置、送信方法および受信方法 | |
JP3926524B2 (ja) | Fifo記憶装置 | |
JP2005258579A (ja) | データ転送制御装置及び電子機器 | |
US7899955B2 (en) | Asynchronous data buffer | |
CN111436214B (zh) | 图像信号处理装置和方法 | |
Harirajkumar et al. | Design and Implementation of an SPI to I2C Bridge for Seamless Communication and Interoperability Between Devices | |
US9298656B2 (en) | Data transferring apparatus and data transferring method | |
JP2023549799A (ja) | マイクロフォンアレイ較正のためのシステム及び技法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160822 |
|
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: 20160913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6026001 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |