(57)【特許請求の範囲】
【請求項１】
前段回路から供給されるデータをパケット単位でシリアルバス上へ送信するデータ転送装置であって、
データ転送増減値を保持する保持手段と、
前記前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで出力するバッファ手段と、
所定の転送期間における、前記バッファ手段から前記シリアルバス上へ送信されるパケット数をカウントするカウント手段と、
前記保持手段に保持されているデータ転送増減値および前記カウント手段によるカウント値に基づいて、前記バッファ手段から前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信する送信制御手段と
を具備することを特徴とするデータ転送処理装置。
【請求項２】
前記バッファ手段に保持されるデータ量を監視する監視手段と、
前記監視手段により監視された前記バッファ手段のデータ量と前記保持手段に保持されているデータ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するデータ供給量指示手段と
を具備することを特徴とする請求項１記載のデータ転送処理装置。
【請求項３】
前記シリアルバスは、ＩＥＥＥ１３９４シリアルバスであることを特徴とする請求項１記載のデータ転送処理装置。
【請求項４】
前段回路から供給されるデータをパケット単位でシリアルバス上へ送信するデータ転送方法であって、
前記前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングでシリアルバス上へ送信する際に、
所定の転送期間における、シリアルバス上へ送信されるパケット数をカウントし、
データ転送増減値および前記カウント値に基づいて、前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、
データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信する
ことを特徴とするデータ転送方法。
【請求項５】
前記保持されるデータ量を監視し、
前記監視されたデータ量と前記データ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示することを特徴とする請求項４記載のデータ転送方法。
【請求項６】
前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで、パケット単位でシリアルバス上へ送信するステップと、
所定の転送期間における、シリアルバス上へ送信されるパケット数をカウントするステップと、
データ転送増減値および前記カウント値に基づいて、前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するステップと  をコンピュータに実行させることを特徴とするデータ転送プログラム。
【請求項７】
前記保持されるデータ量を監視するステップと、
前記監視されたデータ量と前記データ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するステップと
をコンピュータに実行させることを特徴とする請求項６記載のデータ転送プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ１３９４シリアスバスを用いてデータ転送を行う際にフロー制御を実現するデータ転送装置、データ転送方法およびデータ転送プログラムに関する。
【０００２】
【従来の技術】
従来より、ポータブルおよびデスクトップ・コンピュータ環境や、オーディオ装置やビデオ装置などの民生用機器に適したインターフェースとして、シリアルバス規格の１つであるＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４シリアスバスが知られている。ＩＥＥＥ１３９４規格による通信は、データのアイソクロナス（isochronous）転送および非同期転送、高速転送（１００〜３２００Ｍｂｐｓ）、複数の機器（ノード）を接続などができることから、大きく注目されている。
【０００３】
【発明が解決しようとする課題】
ところで、従来、ＩＥＥＥ１３９４シリアスバスにおいて、フロー制御を実現する際には、送信側装置のアプリケーションクロックをバリピッチにて送信データ量を制御していた。しかしながら、バリピッチに対応していない機器ではフロー制御を行うことができないという問題があった。また、従来のＩＥＥＥ１３９４シリアスバスによるデータ転送では、クロック情報も転送していたので、通信中にノイズが重畳したり、量子化誤差が発生したりしていた。このため、特に、音楽データを転送する場合、転送による音質劣化が発生するという問題があった。
【０００４】
そこで本発明は、シリアルバスを介してのデータ転送において、容易にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるデータ転送装置、データ転送方法およびデータ転送プログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的達成のため、請求項１記載の発明によるデータ転送処理装置は、前段回路から供給されるデータをパケット単位でシリアルバス上へ送信するデータ転送装置であって、データ転送増減値を保持する保持手段と、前記前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで出力するバッファ手段と、所定の転送期間における、前記バッファ手段から前記シリアルバス上へ送信されるパケット数をカウントするカウント手段と、前記保持手段に保持されているデータ転送増減値および前記カウント手段によるカウント値に基づいて、前記バッファ手段から前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信する送信制御手段とを具備することを特徴とする。
【０００６】
また、好ましい態様として、例えば請求項２記載のように、請求項１記載のデータ転送処理装置において、前記バッファ手段に保持されるデータ量を監視する監視手段と、前記監視手段により監視された前記バッファ手段のデータ量と前記保持手段に保持されているデータ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するデータ供給量指示手段とを具備するようにしてもよい。
【０００７】
また、好ましい態様として、例えば請求項３記載のように、請求項１記載のデータ転送処理装置において、前記シリアルバスは、ＩＥＥＥ１３９４シリアルバスであってもよい。
【０００８】
また、上記目的達成のため、請求項４記載の発明によるデータ転送方法は、前段回路から供給されるデータをパケット単位でシリアルバス上へ送信するデータ転送方法であって、前記前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングでシリアルバス上へ送信する際に、所定の転送期間における、シリアルバス上へ送信されるパケット数をカウントし、データ転送増減値および前記カウント値に基づいて、前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信することを特徴とする。
【０００９】
また、好ましい態様として、例えば請求項５記載のように、請求項４記載のデータ転送方法において、前記保持されるデータ量を監視し、前記監視されたデータ量と前記データ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するようにしてもよい。
【００１０】
また、上記目的達成のため、請求項６記載の発明によるデータ転送プログラムは、前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで、パケット単位でシリアルバス上へ送信するステップと、所定の転送期間における、シリアルバス上へ送信されるパケット数をカウントするステップと、データ転送増減値および前記カウント値に基づいて、前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するステップとをコンピュータに実行させることを特徴とする。
【００１１】
また、好ましい態様として、例えば請求項７記載のように、請求項６記載のデータ転送プログラムにおいて、前記保持されるデータ量を監視するステップと、前記監視されたデータ量と前記データ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するステップとをコンピュータに実行させるようにしてもよい。
【００１２】
この発明では、保持手段にデータ転送増減値を保持する。バッファ手段に前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで出力する際に、カウント手段により、所定の転送期間における、前記バッファ手段から前記シリアルバス上へ送信されるパケット数をカウントし、送信制御手段により、前記保持手段に保持されているデータ転送増減値および前記カウント手段によるカウント値に基づいて、前記バッファ手段から前記シリアルバス上へ送信されるデータパケット数を増減する。したがって、シリアルバスを介してのデータ転送において、容易にフロー制御を実現することが可能となり、また、データにノイズが重畳せず、量子化誤差を無視することが可能となる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
Ａ．実施形態の構成
図１は、本発明の実施形態によるデータ送受信システムの構成を示すブロック図である。送信側装置は、デコーダ１と、ＩＥＥＥ１３９４インターフェース回路２と、ホスト（マイクロコンピュータ）３とからなる。デコーダ１は、スーパー・オーディオＣＤ（ＳＡＣＤ）などのメディア４からデータを読み込んで復号化する。ＩＥＥＥ１３９４インターフェース回路２は、復号化されたデータをＩＥＥＥ１３９４規格のアイソクロノスパケットとして、ＩＥＥＥ１３９４シリアルバスを介して受信側装置へ転送する。ホスト３は、ＩＥＥＥ１３９４インターフェース回路２に対して送信指示を与える。
【００１４】
受信側装置は、ＩＥＥＥ１３９４インターフェース回路６と、Ｄ／Ａ変換回路７と、スピーカ８と、ホスト（マイクロコンピュータ）９と、ＤＲＡＭ１０とからなる。ＩＥＥＥ１３９４インターフェース回路６は、ＩＥＥＥ１３９４シリアルバスを介して送信側装置から転送されてくるアイソクロノスパケットを受信し、Ｄ／Ａ変換回路７へ供給する。Ｄ／Ａ変換回路７は、上記データをアナログ信号に変換する。スピーカ８は、Ｄ／Ａ変換回路７からのアナログ信号を音声として出力する。ホスト９は、ＩＥＥＥ１３９４インターフェース回路６の動作を制御する。
【００１５】
次に、図２は、データ送受信システムにおける送信側装置のＩＥＥＥ１３９４インターフェース回路の構成を示すブロック図である。ＩＥＥＥ１３９４インターフェース回路２は、レジスタ（ＣＦＲ：Configuration Register）１５、データ入力制御部（ＴＸＰＲＥ：Tx pre process）１６、ＦＩＦＯ１７、データ量監視部（ＦＳＴＡＴ：Fifo STATus check）１８、カウンタ（ＴＸＰＯＳＴ：Tx post process）１９、ＰＨＹ回路（ＰＨＹ：物理層）２０から構成されている。レジスタ１５は、ホストからの送信指示（±１％）を格納する。データ入力制御部１６は、デコーダ１からのデータを、レジスタ１５に格納された送信指示およびデータ量監視部１８の制御に従って、デコーダ１に対して当該回路へのデータ転送量を指示するとともに、デコーダ１からのデータをＦＩＦＯ１７に供給する。このとき、ＩＥＥＥ１３９４送信用のクワドレットに変換する。
【００１６】
ＦＩＦＯ１７は、バンク単位でデータ入力制御部１６からのデータを格納するとともに、順次、カウンタ１９へ送出する。データ量監視部１８は、ＦＩＦＯ１７のデータ容量を監視し（オーバフロー／空）、ＦＩＦＯ１７がオーバフローになったり、空になったりしないように、データ入力制御部１６に対してデコーダ１へのデータ要求・停止を行う。カウンタ１９は、レジスタ１５に格納された送信指示に従って、ＦＩＦＯ１７から出力されるアイソクロノスパケット送信回数をカウントする（フリーランカウンタ）。また、カウンタ１９は、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空（Ｅｍｐｔｙ）パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するようになっている。空パケットは、送信データがないときに転送する、１３９４ヘッダ、ＣＩＰ１／２のみからなるパケットである。また、カウンタ１９は、送信時に、送信用のＩＥＥＥ１３９４クワドレットにヘッダ、ＣＲＣを付加する。ＰＨＹ回路２０は、上記ＦＩＦＯ１７からのアイソクロノスパケットを実際のＩＥＥＥ１３９４バス上に流れる電気信号に変換するとともに、バスを獲得するための調停などを行う。
【００１７】
次に、図３は、デコーダとＩＥＥＥ１３９４インターフェース回路との接続関係を示すブロック図である。デコーダ１とＩＥＥＥ１３９４インターフェース回路２とは、図３に示すように接続され、ＩＥＥＥ１３９４インターフェース回路２からデコーダ１に対してデータ要求・停止指示を送信することにより、デコーダ１におけるデータ転送期間を制御し、デコーダ１からＩＥＥＥ１３９４インターフェース回路２側へ入力されるデータ量を制御するようになっている。ｄｔｘ２は、デコーダ側への倍速要求信号であり、ｘｒｅｑ＿ｏｕｔはデコーダ側へのデータ停止要求信号である。
【００１８】
ＩＥＥＥ１３９４インターフェース回路２は、＋１％送信時には、ＦＩＦＯ１７内のデータが不足する場合が想定されるので、ｄｔｘ２を「Ｈ」とし、デコーダ１に２倍速転送を要求する。そして、データ量監視部１８によってＦＩＦＯ１７のＦＵＬＬ（オーバフローの手前）信号が認識されると、デコーダ１側へのデータ要求を停止する。すなわち、ｄｔｘ２＝Ｌ／ＸＲＥＱ＝Ｈとする。一方、ＦＵＬＬ信号が非アクティブになると、ＩＥＥＥ１３９４インターフェース回路２は、再び、ｄｔｘ２を「Ｈ」とし、デコーダ１に２倍速転送を要求するようになっている。これは、ＦＩＦＯ１７内のデータが空になって、＋１％で転送することができなくなることを防止するためである。
【００１９】
これに対して、−１％送信時には、ＩＥＥＥ１３９４バス上への転送速度が遅くなるので、通常書き込みが基本となるが、ＦＩＦＯ１７内のデータ量はＦＵＬＬ方向へ増加する。この場合、ＩＥＥＥ１３９４インターフェース回路２は、ＦＩＦＯ１７のデータ容量がオーバフローの手前に達したことを示すＦＵＬＬ信号に従って、ＸＲＥＱ＝Ｈとし、デコーダ１からの転送を停止させるようになっている。
【００２０】
Ｂ．実施形態の動作
次に、上述した実施形態の動作について説明する。ここで、図４は、図３に示すデコーダとＩＥＥＥ１３９４インターフェース回路との制御信号およびデータ授受を示すタイミングチャートである。また、図５は、送信側装置における送信制御を示す概念図である。【００２１】
±１％送信の指示は、ホスト３からレジスタ１５に書き込まれる。データ入力制御部１６は、デコーダ１からのデータをＦＩＦＯ１７に供給する。ＦＩＦＯ１７では、バンク単位でデータを格納するとともに、所定の送信タイミングでデータを出力する。カウンタ１９では、上記レジスタ１５に格納された送信指示に基づいてＦＩＦＯ１７からのアイソクロノスパケットの送信回数をカウントする（フリーランカウンタ）。
【００２２】
このとき、ＦＩＦＯ１７のデータ容量がオーバフローしないか、空にならないかを、データ量監視部１８で監視しながら、オーバフローの直前になるか、空になる直前で、データ入力制御部１６を介してデコーダ１へのデータ要求・停止を行う。
【００２３】
すなわち、図４に示すタイムチャートのように、＋１％送信時には、ｄｔｘ２＝Ｈとし、デコーダ１に２倍速転送を要求する（２倍速期間）。そして、データ量監視部１８によってＦＩＦＯ１７のＦＵＬＬ（オーバフローの手前）信号が認識されると、ｄｔｘ２＝Ｌ／ｘｒｅｑ＿ｏｕｔ＝Ｈとし、デコーダ１側へのデータ要求を停止する（停止期間）。一方、ＦＵＬＬ信号が非アクティブになると、再び、デコーダ１に２倍速転送を要求する（図示略）。
【００２４】
一方、−１％送信時には、バス上への転送速度が遅くなるので、通常書き込みとするが、ＦＩＦＯ１７内のデータ量が増加してオーバフローの直前になると、ｘｒｅｑ＿ｏｕｔ＝Ｈとし、デコーダ１からのデータ転送を停止させる。
【００２５】
さらに、送信側装置では、図５に示すように、ＩＥＥＥ１３９４インターフェース回路２において、カウンタ１９によるカウント値に従って、ＩＥＥＥ１３９４バス上にデータを送信するタイミングを制御する。例えば、アイソクロノスサイクルが１００回あった場合、通常、データを９９回送信し、１回は空パケットを送信する。これを基準に±１％の送受信を制御する。すなわち、＋１％送信時には、カウンタ１９によりカウントした送信回数に従って、通常ならば空パケットを転送するタイミングでデータパケットを送信する。一方、−１％送信時には、＋１％送信時とは逆に、カウンタ１９によりカウントした送信回数に従って、送信するタイミングにおいて空パケットを送信する。すなわち、ＦＩＦＯ１７にデータが残っていても空パケットを送信する。
【００２６】
例えば、スーパー・オーディオＣＤ（ＳＡＣＤ）においては１００回のアイソクロノスサイクルに９１．８７回の転送がある。したがって、＋１％送信時には９２．７８８７回、−１％送信時には９０．９５１３回、アイソクロノスパケットを転送すればよい。そこで、本実施形態によるＩＥＥＥ１３９４インターフェース回路２では、ホスト３から＋１％送信の指示が出た際には、１００回のアイソクロノスサイクルに９３回のアイソクロノスパケットを送信する（厳密には＋１．０１２％になる）。また、−１％送信の指示が出た際には、９０回のアイソクロノスパケットを送信する（厳密には−２％になる）。言い換えると、−１％送信時には、９０回を越える部分で空パケットを送信する。
【００２７】
上述した実施形態によれば、ＩＥＥＥ１３９４シリアルバスを介してのデータ転送において、送信側装置と受信側装置とで、クロックの非同期化が可能になる。このため、受信側装置は、マスタクロックからデータを読み出せるので、音楽データにノイズが重畳せず、ＩＥＥＥ１３９４による量子化誤差を無視することができる。
【００２８】
【発明の効果】
請求項１記載の発明によれば、保持手段にデータ転送増減値を保持し、バッファ手段に前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで出力する際に、カウント手段により、所定の転送期間における、前記バッファ手段から前記シリアルバス上へ送信されるパケット数をカウントし、送信制御手段により、前記保持手段に保持されているデータ転送増減値および前記カウント手段によるカウント値に基づいて、前記バッファ手段から前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するようにしたので、シリアルバスを介してのデータ転送において、容易にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【００２９】
また、請求項２記載の発明によれば、監視手段により、前記バッファ手段に保持されるデータ量を監視し、データ供給量指示手段により、前記監視手段により監視された前記バッファ手段のデータ量と前記保持手段に保持されているデータ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するようにしたので、シリアルバスを介してのデータ転送において、容易に、かつ円滑にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【００３０】
また、請求項３記載の発明によれば、前記シリアルバスを、ＩＥＥＥ１３９４シリアルバスとしたので、ＩＥＥＥ１３９４シリアルバスを介してのデータ転送において、容易にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【００３１】
また、請求項４記載の発明によれば、前記前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングでシリアルバス上へ送信する際に、所定の転送期間における、シリアルバス上へ送信されるパケット数をカウントし、データ転送増減値および前記カウント値に基づいて、前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するようにしたので、シリアルバスを介してのデータ転送において、容易にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【００３２】
また、請求項５記載の発明によれば、前記保持されるデータ量を監視し、前記監視されたデータ量と前記データ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するようにしたので、シリアルバスを介してのデータ転送において、容易に、かつ円滑にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【００３３】
また、請求項６記載の発明によれば、前段回路からのデータを一旦保持し、該保持したデータを所定の送信タイミングで、パケット単位でシリアルバス上へ送信するステップと、所定の転送期間における、シリアルバス上へ送信されるパケット数をカウントするステップと、データ転送増減値および前記カウント値に基づいて、前記シリアルバス上へ送信されるデータパケット数を増減し、データ転送量を増加するときには、前記所定の転送期間に送信されるパケット群に含まれる空パケットの転送時にデータパケットを送信し、データ転送量を減少させるときには、データパケットの送信タイミングで空パケットを送信するステップとをコンピュータに実行させるようにしたので、シリアルバスを介してのデータ転送において、容易にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【００３４】
また、請求項７記載の発明によれば、前記保持されるデータ量を監視するステップと、前記監視されたデータ量と前記データ転送増減値とに基づいて、前記前段回路に対し、当該装置へのデータ供給量を指示するステップとをコンピュータに実行させるようにしたので、シリアルバスを介してのデータ転送において、容易に、かつ円滑にフロー制御を実現することができ、また、データにノイズが重畳せず、量子化誤差を無視することができるという利点が得られる。
【図面の簡単な説明】
【図１】本発明の実施形態によるデータ送受信システムの構成を示すブロック図である。
【図２】データ送受信システムにおける送信側装置のＩＥＥＥ１３９４インターフェース回路の構成を示すブロック図である。
【図３】デコーダとＩＥＥＥ１３９４インターフェース回路との接続関係を示すブロック図である。
【図４】図３に示すデコーダとＩＥＥＥ１３９４インターフェース回路との制御信号およびデータ授受を示すタイミングチャートである。
【図５】送信側装置における送信制御を示す概念図である。
【符号の説明】
１……デコーダ、２……ＩＥＥＥ１３９４インターフェース回路、３……ホスト、６……ＩＥＥＥ１３９４インターフェース回路、７……Ｄ／Ａ変換回路、８……スピーカ、９……ホスト、１５……レジスタ（保持手段）、１６……データ入力制御部（データ供給量指示手段）、１７……ＦＩＦＯ（バッファ手段）、１８……データ量監視部（監視手段）、１９……カウンタ（カウント手段、送信制御手段）、２０……ＰＨＹ回路。
【図１】
0003633507.tif 000002
【図２】
0003633507.tif 000003
【図３】
0003633507.tif 000004
【図４】
0003633507.tif 000005
【図５】
0003633507.tif 000006