(57)【要約】【課題】情報機器の動作周波数とシリアル転送における周波数との差異を調整するためのメモリの容量を減少させ、かつタイミング設計に要する手間を削減する。【解決手段】データ転送システムであって、送信側機器は、動作制御用の第１の同期信号とデータ転送に用いられる第２の同期信号との周波数差に応じたビット数の付加データを送信対象のデータに付加する。そして、送信対象のデータをシリアルデータ化して送信する。受信側機器の受信インターフェイス部は、送信側機器から送信されたデータを受信し、付加データのビット数に応じて受信データのフレーム幅を変更し、この受信データから送信対象のデータを分離する。そして、分離手段にて分離された送信対象のデータをパラレルデータ化する。【選択図】図２−１
2008172720.tif 000002
【特許請求の範囲】
【請求項１】
パラレルデータをシリアルデータ化して転送するデータ転送システムにおいて、
送信側機器は、
動作制御用の第１の同期信号とデータ転送に用いられる第２の同期信号との周波数差に応じたビット数の付加データを送信対象のデータに付加するデータ付加手段と、
前記送信対象のデータをシリアルデータ化して送信する送信手段とを備え、
受信側機器は、
前記送信側機器から送信されたデータを受信し、前記付加データのビット数に応じて受信データのフレーム幅を変更し、当該受信データから前記送信対象のデータを分離する分離手段と、
前記分離手段にて分離された前記送信対象のデータをパラレルデータ化する変換手段と
を備えることを特徴とするデータ転送システム。
【請求項２】
前記送信側機器の前記データ付加手段は、前記付加データとして予め設定された特定のパターンを前記送信対象のデータに付加し、
前記受信側機器は、前記受信データに含まれる前記付加データをパターン照合する照合手段をさらに備えることを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
前記送信側機器は、前記送信対象のデータを８Ｂ１０Ｂ符号化する符号化手段をさらに備え、
前記符号化手段は、前記付加データの付加によるフレーム幅の変更タイミングを指定するＫ符号を前記送信対象のデータに付加し、
前記受信側機器の前記分離手段は、前記Ｋ符号によって指示される位置から前記受信データのフレーム幅を変更して前記送信対象のデータを分離することを特徴とする請求項１に記載のデータ転送システム。
【請求項４】
前記送信側機器の前記符号化手段は、前記送信対象のデータに付加される前記付加データのビット数を示すサブ符号を前記Ｋ符号に付加して、当該送信対象のデータに付加し、
前記受信側機器の前記分離手段は、前記サブ符号の内容にしたがって前記受信データのフレーム幅を変更することを特徴とする請求項３に記載のデータ転送システム。
【請求項５】
前記送信側機器の前記符号化手段は、前記受信側機器の制御情報として定義された前記Ｋ符号を前記送信対象のデータに付加し、
前記受信側機器は、前記Ｋ符号によって示される制御情報にしたがって動作することを特徴とする請求項３に記載のデータ転送システム。
【請求項６】
動作制御用の第１の同期信号とデータ転送に用いられる第２の同期信号との周波数差を求めるカウンタと、
前記カウンタにより求められた前記周波数差に応じた付加データを送信対象のデータに付加し、当該送信対象のパラレルデータをシリアルデータ化して送信する送信インターフェイス部と
を備えることを特徴とする情報処理装置。
【請求項７】
前記送信対象のデータを８Ｂ１０Ｂ符号化する符号化部をさらに備え、
前記符号化部は、前記付加データの付加を開始するタイミングを指定するＫ符号を前記送信対象のデータに付加することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記符号化部は、前記送信対象のデータに付加される前記付加データのビット数を示すサブ符号を前記Ｋ符号に付加して、当該送信対象のデータに付加することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記符号化部は、前記送信対象のデータの合間に一定間隔で当該送信対象のデータではないことを意味するＫ符号を挿入することを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記送信インターフェイス部は、一定間隔で前記付加データのビット数を一時的に変更することを特徴とする請求項６に記載の情報処理装置。
【請求項１１】
シリアルデータを受信し、受信データから当該受信データのフレーム幅を変更する制御情報を読み出し、当該制御情報に基づいて当該受信データのフレーム幅を変更し、当該受信データから当該フレーム幅の変更用に付加された付加データを分離し、当該付加データが除去された受信データをパラレルデータ化する受信インターフェイス部と、
前記受信インターフェイス部により前記付加データが除去された受信データを復号する復号部と
を備えることを特徴とする情報処理装置。
【請求項１２】
前記受信インターフェイス部により前記受信データから分離された前記付加データをパターン照合するデータ照合部をさらに備えることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記受信インターフェイス部は、８Ｂ１０Ｂ符号化されたシリアルデータを受信し、前記制御情報として前記受信データに含まれるＫ符号に基づいて当該受信データのフレーム幅を変更することを特徴とする請求項１１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのシリアル伝送技術に関する。
【背景技術】
【０００２】
高周波数帯域を使用してデータを転送するいわゆる高速シリアル転送では、基準クロック（同期信号）に使用される周波数が業界内で標準化されつつあり、ある程度限定されている（例えば１５６．２５ＭＨｚ等）。一方、各種情報機器では、動作環境等に基づいて適当な動作周波数が機器ごとに選択されている。そのため、各情報機器の動作周波数とシリアル転送における周波数（以下、転送周波数）とが一致しない場合が多い。そして、この周波数の差異を調整するために大容量のメモリを必要としていた。
【０００３】
下記特許文献１に開示された従来技術は、送信側ライン同期信号発生部の同期信号が発生する毎に、送信側ライン同期信号開始時刻記憶レジスタの同期信号発生時刻と受信側ライン同期信号開始時刻記憶レジスタの同期信号発生時刻を取得する。そして、その差が時刻差目標値に対し許容範囲内に収まるようにライン同期信号発生周期補正制御部で送信側ライン同期信号発生部を補正制御する。これにより、汎用的な高速シリアルバスインターフェースを用いた際の送信側と受信側の転送速度のずれを吸収するために必要なメモリのサイズ、及び補正に必要な処理量を低減させる。
【０００４】
【特許文献１】特開２０００−１７４７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように、データ転送において高速シリアル転送を行う場合、情報機器の動作周波数と転送周波数との差異を調整するために大容量のメモリが必要であった。また、動作周波数と転送周波数との差異に応じてメモリ容量を設定してタイミング設計を行う必要があった。さらに、情報機器の動作周波数に応じてメモリ容量が設定されるため、任意に他の装置に流用することも困難であった。
【０００６】
転送データをその単位（画像ライン単位やパケット単位）ごとに区切り、送信側と受信側で転送するタイミングを調整することにより、周波数調整用のメモリを削減することは可能である。しかし、この場合でも、使用する周波数が変更された場合にはタイミング設計を再度行わなければならないため、依然として設計工数がかかり、任意の装置で汎用的に用いることは容易ではない。
本発明は、情報機器の動作周波数とシリアル転送における周波数との差異を調整するためのメモリの容量を減少させ、かつタイミング設計に要する手間を削減することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために、本発明は、パラレルデータをシリアルデータ化して転送する、次のように構成されたデータ転送システムとして実現される。このシステムにおいて、送信側機器は、動作制御用の第１の同期信号とデータ転送に用いられる第２の同期信号との周波数差に応じたビット数の付加データを送信対象のデータに付加するデータ付加手段と、送信対象のデータをシリアルデータ化して送信する送信手段とを備える。また、受信側機器は、送信側機器から送信されたデータを受信し、付加データのビット数に応じて受信データのフレーム幅を変更し、この受信データから送信対象のデータを分離する分離手段と、分離手段にて分離された送信対象のデータをパラレルデータ化する変換手段とを備えることを特徴とする。
【０００８】
より好ましくは、送信側機器のデータ付加手段は、付加データとして予め設定された特定のパターンを送信対象のデータに付加する。そして、受信側機器は、受信データに含まれる付加データをパターン照合する照合手段をさらに備える。
さらに好ましくは、送信側機器は、送信対象のデータを８Ｂ１０Ｂ符号化する符号化手段をさらに備える。この符号化手段は、付加データの付加によるフレーム幅の変更タイミングを指定するＫ符号を送信対象のデータに付加する。そして、受信側機器の分離手段は、Ｋ符号によって指示される位置から受信データのフレーム幅を変更して送信対象のデータを分離する。
より詳細には、送信側機器の符号化手段は、送信対象のデータに付加される付加データのビット数を示すサブ符号をＫ符号に付加して、送信対象のデータに付加する。そして、受信側機器の分離手段は、サブ符号の内容にしたがって受信データのフレーム幅を変更する。
また、このシステムにおいて、送信側機器の符号化手段は、受信側機器の制御情報として定義されたＫ符号を送信対象のデータに付加しても良い。この場合、受信側機器は、Ｋ符号によって示される制御情報にしたがって動作する。
【０００９】
また、他の本発明は、次のような情報処理装置として実現される。この装置は、動作制御用の第１の同期信号とデータ転送に用いられる第２の同期信号との周波数差を求めるカウンタと、このカウンタにより求められた周波数差に応じた付加データを送信対象のデータに付加し、この送信対象のパラレルデータをシリアルデータ化して送信する送信インターフェイス部とを備えることを特徴とする。
【００１０】
より好ましくは、送信対象のデータを８Ｂ１０Ｂ符号化する符号化部をさらに備える。この符号化部は、付加データの付加を開始するタイミングを指定するＫ符号を送信対象のデータに付加する。
より詳細には、符号化部は、送信対象のデータに付加される付加データのビット数を示すサブ符号をＫ符号に付加して、送信対象のデータに付加する。
さらに好ましくは、符号化部は、送信対象のデータの合間に一定間隔で送信対象のデータではないことを意味するＫ符号を挿入する。あるいは、送信インターフェイス部は、一定間隔で付加データのビット数を一時的に変更する。
【００１１】
また、他の本発明は、次のような情報処理装置として実現される。この装置は、シリアルデータを受信し、受信データからこの受信データのフレーム幅を変更する制御情報を読み出し、この制御情報に基づいて受信データのフレーム幅を変更し、受信データからフレーム幅の変更用に付加された付加データを分離し、付加データが除去された受信データをパラレルデータ化する受信インターフェイス部と、この受信インターフェイス部により付加データが除去された受信データを復号する復号部とを備えることを特徴とする。
【００１２】
より好ましくは、この装置は、受信インターフェイス部により受信データから分離された付加データをパターン照合するデータ照合部をさらに備える。
さらに好ましくは、受信インターフェイス部は、８Ｂ１０Ｂ符号化されたシリアルデータを受信し、制御情報として受信データに含まれるＫ符号に基づいて受信データのフレーム幅を変更する。
【発明の効果】
【００１３】
請求項１に係る発明によれば、送信対象のデータに付加データを付加して情報機器の動作周波数とシリアル転送における周波数との差異を調整し、装置に実装されるメモリの容量を削減し、かつタイミング設計に要する手間を削減することができる。
請求項２に係る発明によれば、付加データを用いてパターン照合を行い、転送データの誤り判定を行うことができる。
請求項３に係る発明によれば、Ｋ符号を用いることにより、他の制御手段を設けることなく受信側機器における受信データのフレーム幅を制御することができる。
請求項４に係る発明によれば、Ｋ符号に付加されるサブ符号により、変更後のフレーム幅を具体的に設定することができる。
請求項５に係る発明によれば、Ｋ符号を用いることにより、他の制御手段を設けることなく受信側機器の制御を行うことができる。
請求項６に係る発明によれば、送信対象のデータに付加データを付加して情報機器の動作周波数とシリアル転送における周波数との差異を調整し、装置に実装されるメモリの容量を削減し、かつタイミング設計に要する手間を削減することができる。
請求項７に係る発明によれば、Ｋ符号を用いることにより、他の制御手段を設けることなく受信側機器における受信データのフレーム幅を制御することができる。
請求項８に係る発明によれば、Ｋ符号に付加されるサブ符号により、変更後のフレーム幅を具体的に設定することができる。
請求項９に係る発明によれば、Ｋ符号を用いることにより、データ変換においてクロックの周波数差を吸収するためのメモリのオーバーフローを回避することができる。
請求項１０に係る発明によれば、Ｋ符号を用いずに、データ変換においてクロックの周波数差を吸収するためのメモリのオーバーフローを回避することができる。
請求項１１に係る発明によれば、送信対象のデータに付加データを付加して情報機器の動作周波数とシリアル転送における周波数との差異を調整し、装置に実装されるメモリの容量を削減し、かつタイミング設計に要する手間を削減することができる。
請求項１２に係る発明によれば、付加データを用いてパターン照合を行い、転送データの誤り判定を行うことができる。
請求項１３に係る発明によれば、Ｋ符号を用いることにより、他の制御手段を設けることなく受信側機器における受信データのフレーム幅を制御することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
図１は、本実施形態によるデータ転送システムの全体構成を示す図である。
図１に示すように、本実施形態のデータ転送システムは、送信側機器１０に設けられたデータ送信手段と受信側機器２０に設けられたデータ受信手段とからなる。送信側機器１０と受信側機器２０との間の通信は、高周波数帯域を用いた、いわゆる高速シリアル転送にて行われる。本実施形態における送信側機器１０と受信側機器２０との関係は、各々独立の情報処理装置であって単にデータ交換を行う上での送信側および受信側という関係でも良いし、システム全体の制御手段を送信側機器１０のみに設け（マスター）、受信側機器２０を送信側機器１０の制御下で動作する（スレーブ）関係であっても良い。
【００１５】
送信側機器１０は、データ送信手段として、データ変換部１１と、符号化部１２と、クロック変換部１３と、情報付加部１４と、送信インターフェイス（Ｉ／Ｆ）部１５とを備える。また、特に図示しないが、送信側機器１０には、自装置の動作クロック（ＭＰＣＬＫ）を生成する発振器と、機器間の通信に用いられる通信用第１クロック（ＭＳＣＬＫ）を生成する発振器とが設けられている。
受信側機器２０は、データ受信手段として、受信インターフェイス（Ｉ／Ｆ）部２１と、復号部２２と、付加データ照合部２３とを備える。
【００１６】
送信側機器１０のデータ変換部１１は、送信対象のパラレルデータ（以下、この本来の送信対象であるデータをパラレル、シリアルの形式に関わらず対象データと呼ぶ）を、送信側機器１０の動作クロックに同期したデータからデータ転送のための基準クロックに同期したデータに変換する。
符号化部１２は、データ変換部１１から出力された同期クロック変換後の対象データを８Ｂ１０Ｂ符号化する。
クロック変換部１３は、通信用第１クロック（ＭＳＣＬＫ）を２０逓倍した通信用第２クロック（ＨＣＬＫ）を情報付加部１４および送信Ｉ／Ｆ部１５に送る。
情報付加部１４は、カウンタ１４ａおよびメモリ１４ｂを備えている。そして、カウンタ１４ａにより動作クロック（ＭＰＣＬＫ）の周期を通信用第２クロック（ＨＣＬＫ）で計数し、付加データのサイズ（ビット数）を決定する。決定した付加データのサイズの情報は、メモリ１４ｂに保持される。また、メモリ１４ｂには、対象データに付加される付加データが保持される。なお、付加データの内容については後述する。
送信Ｉ／Ｆ部１５は、符号化部１２により符号化された対象データと情報付加部１４に保持されている付加データをシリアルデータ化して合成し、伝送路を介して受信側機器２０へ送信する。
【００１７】
受信側機器２０の受信Ｉ／Ｆ部２１は、送信側機器１０から送信されたシリアルデータを受信し、対象データと付加データに分離する。そして、対象データをパラレルデータ化して復号部２２へ送り、付加データを付加データ照合部２３へ送る。
復号部２２は、受信Ｉ／Ｆ部２１から受け取ったパラレルデータ（対象データ）を８Ｂ１０Ｂ復号する。なお、復号された対象データは、受信側機器２０の動作クロックに同期したデータとして出力される。
付加データ照合部２３は、受信Ｉ／Ｆ部２１から受け取った付加データを用いて照合処理を行う。照合処理の内容については後述する。
【００１８】
次に、本実施形態によるデータ転送において行われるデータ変換について説明する。
図２（図２−１、２−２）は、本実施形態におけるデータ変換を説明する図である。
図２において、ＭＰＣＬＫは、送信側機器１０の動作クロック（パラレルデータ用のクロック）である。ＭＰＤＡＴＡは、ＭＰＣＬＫに同期したパラレルデータであり、送信側機器１０で取得または生成された送信対象のデータ（対象データ）である。ＭＳＣＬＫは、データ転送のための送信側機器１０における基準クロック（通信用第１クロック）である。このＭＳＣＬＫの周波数としては、１５６．２５ＭＨｚ等の高速シリアル転送用の標準的な周波数が採用される。ＨＣＬＫは、ＭＳＣＬＫを逓倍（例えば２０逓倍）して得られた高速シリアル転送用の高速クロック（通信用第２クロック）である。ＨＰＤＡＴＡは、ＭＰＤＡＴＡをＨＣＬＫに同期させたパラレルデータである。ＨＳＤＡＴＡは、ＨＣＬＫに同期したシリアルデータである。ここで、ＭＰＤＡＴＡ、ＨＰＤＡＴＡおよびＨＳＤＡＴＡは、同一のデータが、データ転送の段階に応じて変換されたものである。したがって、同期するクロックの違いやパラレルデータかシリアルデータかといった形式的な違いはあるが、各データの内容は同一である。
【００１９】
また、図２において、ＲＸＣＬＫは、受信側機器２０において受信したデータストリーム（ＨＳＤＡＴＡ）から回復されたクロックである。ＳＳＣＬＫは、データ転送のための受信側機器２０における基準クロックである。ＳＰＣＬＫは、受信側機器２０の動作クロック（パラレルデータ用のクロック）である。ＳＰＤＡＴＡは、ＳＰＣＬＫに同期したパラレルデータである。
【００２０】
送信側機器１０から受信側機器２０へデータ転送が行われる場合、まず、送信側機器１０において、送信対象のデータ（対象データ）が生成または取得される。このとき、対象データは、ＭＰＤＡＴＡ（図２の例では、１６ビットのパラレルデータ）である。次に、対象データは、データ変換部１１によりＨＣＬＫに同期したＨＰＤＡＴＡ（同じく１６ビットのパラレルデータ）に変換され、符号化部１２により符号化される。そして、ＭＰＣＬＫとＭＳＣＬＫの差分に応じたビット数の付加データが符号化された対象データに付加され、この対象データおよび付加データが送信Ｉ／Ｆ部１５によりシリアルデータ化されてＨＳＤＡＴＡとなり、受信側機器２０へ転送される。
【００２１】
受信側機器２０では、まず、受信されたＨＳＤＡＴＡから送信側機器１０で使用されたＨＣＬＫに対応するＲＸＣＬＫが復元される。そして、ＲＸＣＬＫを分周してＳＰＣＬＫとほぼ等しいクロックが生成される（受信側機器２０に個別の発振器にて生成されるＳＳＣＬＫがある場合は、ＳＳＣＬＫを分周して同様のクロックが生成される）。また、ＨＳＤＡＴＡが、受信Ｉ／Ｆ部２１により対象データと付加データとに分解される。そして、対象データが、生成されたクロックに同期したパラレルデータ（図２の例では１６ビットのパラレルデータ）に変換され、さらにＳＰＣＬＫに同期したＳＰＤＡＴＡに変換された後、復号部２２により復号され、付加データが付加データ照合部２３により処理される。
【００２２】
ここで、本実施形態によるデータ転送の動作と従来のデータ転送の動作とを比較する。
図７（図７−１、７−２）は、従来のデータ変換を説明する図である。
図７において、ＭＰＣＬＫ、ＭＰＤＡＴＡ、ＭＳＣＬＫ、ＨＣＬＫ、ＨＳＤＡＴＡ、ＲＸＣＬＫ、ＨＳＤＡＴＡ、ＳＳＣＬＫ、ＳＰＣＬＫおよびＳＰＤＡＴＡは、図２における同名の信号（クロックおよびデータ）と同様である。
送信側機器１０におけるＭＳＤＡＴＡは、ＭＰＤＡＴＡをＭＳＣＬＫに同期させたパラレルデータである。受信側機器２０におけるＳＳＤＡＴＡは、ＳＳＣＬＫに同期したパラレルデータである。
【００２３】
図７を参照すると、従来のデータ転送では、まず、送信側機器１０において、対象データがＭＰＤＡＴＡとして生成または取得され、ＭＳＣＬＫに同期したＭＳＤＡＴＡに変換される。このとき、ＭＰＣＬＫとＭＳＣＬＫとの周波数差を吸収するため、大容量のメモリが必要となる。次に、ＭＳＤＡＴＡが符号化されて、ＨＣＬＫに同期したＨＳＤＡＴＡに変換され、受信側機器２０へ転送される。
【００２４】
一方、受信側機器２０では、まず、受信されたＨＳＤＡＴＡからＲＸＣＬＫが復元される。そして、ＨＳＤＡＴＡが、ＲＸＣＬＫを２０分周して得られる（または専用の発振器から発信される）ＳＳＣＬＫに同期したＳＳＤＡＴＡ（パラレルデータ）に変換される。次に、ＳＳＤＡＴＡが、ＳＰＣＬＫに同期したＳＰＤＡＴＡに変換される。このときにもＳＳＣＬＫとＳＰＣＬＫとの周波数差を吸収するため、大容量のメモリが必要となる。
【００２５】
ここで、送信側機器１０に関して、図２−１に示した本実施形態の動作と図７−１に示した従来の動作とを比較する。すると、従来は、ＨＣＬＫに同期したＨＳＤＡＴＡを生成するために、ＭＰＤＡＴＡを一度ＭＳＣＬＫに同期したＭＳＤＡＴＡに変換し、ＭＳＤＡＴＡからＨＣＬＫに同期したＨＳＤＡＴＡを生成していた。これに対し、本実施形態では、ＭＰＤＡＴＡを直接ＨＣＬＫに同期したＨＰＤＡＴＡに変換し、ＨＰＤＡＴＡからＨＳＤＡＴＡを生成している。したがって、本実施形態では、送信側機器１０において、ＭＰＤＡＴＡをＭＳＤＡＴＡに変換する際にＭＰＣＬＫとＭＳＣＬＫとの周波数差を吸収するために用いられる大容量のメモリが不要である。
【００２６】
受信側機器２０に関しても同様である。すなわち、図２−２に示した動作と図７−２に示した動作とを比較すると、本実施形態では、ＳＳＤＡＴＡをＳＰＤＡＴＡに変換する際にＳＳＣＬＫとＳＰＣＬＫとの周波数差を吸収するために用いられる大容量のメモリが不要である。
【００２７】
次に、送信側機器１０から受信側機器２０へ転送されるシリアルデータ（ＨＳＤＡＴＡ）の生成方法について、さらに詳細に説明する。
まず、ＨＳＤＡＴＡに付加される付加データを生成するため、ＭＰＣＬＫとＭＳＣＬＫとの周波数差を求める。具体的には、情報付加部１４のカウンタ１４ａにより、ＨＣＬＫでＭＰＣＬＫの周期を計数し、ＭＳＣＬＫの周波数との差分を取る。すなわち、ＨＣＬＫはＭＳＣＬＫを２０逓倍して生成されるから、ＭＰＣＬＫの周期の計数値から２０を引いた値がＭＰＣＬＫとＭＳＣＬＫとの周波数差に相当する。例えば、カウンタ１４ａの計数値が２８である場合、８（＝２８−２０）クロックが周波数差である。
【００２８】
一方、図２に示すように１６ビットのデータを転送する場合、この対象データは、８Ｂ１０Ｂ符号化により２０ビット（ＨＣＬＫの２０クロック分）のデータに変換される。したがって、ＭＰＣＬＫとＭＳＣＬＫとの周波数差分のビット数が付加データのサイズとなる。上記の例では、ＨＣＬＫの８クロック分、すなわち８ビットである。このようにして得られた付加データのサイズの情報は、メモリ１４ｂに保持される。なお、付加データのサイズは、ＭＰＣＬＫの立ち上がりエッジから次の立ち上がりエッジまでのカウント数を回路などによりカウントして、その平均値を求めることによっても導出できる。
【００２９】
以上のように本実施形態では、ＭＰＣＬＫとＭＳＣＬＫとの周波数差分の付加データを対象データに付加することにより、ＨＳＤＡＴＡはＭＰＣＬＫとも概ね同期する。すなわち、付加データによってＭＰＣＬＫとＭＳＣＬＫとの周波数差が吸収される。このため、ＭＰＤＡＴＡをＭＳＣＬＫに同期したＭＳＤＡＴＡに変換する工程を経ることなくＨＳＤＡＴＡを生成することができ、ＭＰＤＡＴＡをＭＳＤＡＴＡに変換する際に用いられるメモリが不要となる。
【００３０】
なお、以上の説明は、ＭＰＣＬＫの周波数よりもＭＳＣＬＫの周波数の方が大きいことを前提としている。ＭＰＣＬＫの周波数の方がＭＳＣＬＫの周波数よりも大きい場合は、周波数差分の付加データを対象データに付加することができない。しかしこのような場合は、例えば、ＭＰＤＡＴＡのビット数を２倍にしてＭＰＣＬＫの周波数を半分に落とすことにより付加データを付加することが可能となる。
【００３１】
ところで、ＭＰＣＬＫとＭＳＣＬＫとの各々の周波数は非同期であるため、その周波数差は通常、ＨＣＬＫの整数倍とはならない。そのため、対象データと付加データを合わせたＨＳＤＡＴＡは、完全にＭＰＣＬＫと同期している訳ではなく、ＨＣＬＫの１クロック以下のずれを有している。この端数分のずれはバッファメモリにて吸収することとなるが、このバッファメモリはＨＣＬＫの端数分のずれを吸収するだけの記憶容量があれば良く、従来のようにＭＰＣＬＫとＭＳＣＬＫとの周波数差を吸収するための大容量のメモリは必要ない。ただし、ＭＰＣＬＫとＭＳＣＬＫとの周波数差と比較してＨＳＤＡＴＡとＭＰＣＬＫとのずれが小さいとしても、いずれバッファメモリはオーバーフローしてしまうので、何らかの調整手段が必要である。この調整手段については後述する。
【００３２】
次に、送信側機器１０から受信側機器２０へ付加データの情報を伝達する手法について説明する。
８Ｂ１０Ｂ符号化されたデータ転送では、Ｋ符号と呼ばれる特殊コードを用いて、制御情報を伝達することができる。Ｋ符号とは、特定の意味が付与された１０ビットのデータであり、例えば、Ｋ２８．５を８回連続させることで、初期リンクを確立することができる。また、データ列の先頭や後尾の位置なども、所望の箇所にＫ符号を挿入することで表すことができる。さらに、Ｋ符号には、定義はされているものの意味を付与されていないものがあり、これに意味を付与し、送信側機器１０および受信側機器２０に設定しておくことで、所望の制御情報を伝達することが可能である。本実施形態では、この未使用のＫ符号を用いて付加データの情報を伝達する。
【００３３】
本実施形態では、Ｋ２８．１というＫ符号を定義する。Ｋ２８．１は、以降のデータの受信側機器２０におけるフレーム幅を変更するＫ符号である。Ｋ２８．１には、サブ符号として所定のデータが付加され、このデータにより８Ｂ１０Ｂ符号化された対象データに付加される付加データのサイズ（図２の例では８ビット）が指定される。したがって、このＫ符号から後方のデータのフレーム幅は、本来のデータサイズ（図２の例では２０ビット）に付加データのサイズが加算されたものとなる。
【００３４】
図３は、転送データのデータ構造を示す図である。
図３において、グレーの小ブロックはＫ符号を表し、斜線の付された小ブロックは付加データを表し、白の小ブロックは他のデータ（対象データを含む）を表す。白の小ブロックのサイズは２０ビットであり、付加データのサイズはＫ符号によって定まる。Ｋ符号は、上述したように１０ビットのデータであるが、送信側機器１０では、１６ビットのデータを８Ｂ１０Ｂ符号化した２０ビットを１フレームとしている。そこで、図３のＫ符号を示す小ブロックは、上位１０ビットにＫ符号を割り付け、下位１０ビットに適当なデータを割り付けている。例えば、初期リンクを確立するためのＫ２８．５には、データＤ２１．４が組み合わされている（図では、Ｋ２８．５＆Ｄ２１．４と表記している。以下、本明細書でも同様に記す）。
【００３５】
図３を参照すると、まず、データ列の先頭に初期リンクを確立するためのＫ２８．５＆Ｄ２１．４が８回連続しており、これにより送信側機器１０と受信側機器２０とのリンクが確立する。そして、Ｋ２８．１＆Ｄ０８．０というＫ符号（Ｄ０８．０は付加データのサイズを表すサブ符号）の後、対象データおよび付加データが続いている。
【００３６】
Ｋ２８．１＆Ｄ０８．０は、上述したようにデータのフレーム幅を変更するＫ符号であり、２０ビットのデータのうち上位１０ビットに割り付けられたＫ符号であるＫ２８．１と下位１０ビットに割り付けられたサブ符号であるＤ０８．０とからなる。この下位１０ビットには、本来の２０ビットの対象データに付加される付加データのサイズ（ビット数）が記述される（簡単な方法としては、付加データのビット数の数値をそのまま記述することができる）。ここでは、図２の例に基づいて８ビットの付加データが付加されるものとし、付加データのサイズが８ビットであることをＤ０８．０が示すものとする。これにより、Ｋ２８．１＆Ｄ０８．０の直後から、２０ビットの対象データに８ビットの付加データが付加された合計２８ビットが１フレームとなる。
【００３７】
以上説明したＫ符号の挿入は、送信側機器１０の符号化部１２により実行される。符号化部１２は、初期リンクを確立するＫ２８．５＆Ｄ２１．４の後、情報付加部１４のメモリ１４ｂから付加データのサイズの情報を読み出し、これに基づいて対象データの直前にＫ２８．１＆Ｄ０８．０を挿入する（付加データが８ビットの場合）。
【００３８】
一方、付加データの付加は、送信Ｉ／Ｆ部１５によって実行される。送信Ｉ／Ｆ部１５は、８Ｂ１０Ｂ符号化されＫ符号が付加された対象データをシリアルデータ化する際に、Ｋ２８．１＆Ｄ０８．０以降の部分（対象データ）にサブ符号に応じたビット数（この例では８ビット）の付加データを付加する。付加データを付加する手順としては、符号化部１２から受信したパラレルデータに付加データを付加した後に全体をシリアルデータ化しても良いし、符号化部１２から受信したパラレルデータをシリアルデータ化した後にシリアルデータ化された付加データを付加しても良い。また、付加データは２０ビットの対象データごとに付加されるが、その位置は、対象データの後であっても良いし、前であっても良い。
【００３９】
受信側機器２０は、送信側機器１０から送信されたシリアルデータ（ＨＳＤＡＴＡ）中からＫ２８．１が検出されると、データのフレーム幅が変更されることを認識し、サブ符号から付加データのサイズ（上記の例では８ビット）を読み取る。そして、このＫ２８．１以降のデータを付加データのサイズが加算されたフレーム幅（上記の例では２８ビット）で読み取る。すなわち、この１つのＫ符号、Ｋ２８．１には、「通常のデータではなく制御データであること」、「付加データの情報を持たせていること」、「開始タイミングとして使用すること」の３つの意味が与えられている。
【００４０】
また、受信側機器２０では、受信Ｉ／Ｆ部２１がＫ２８．１の下位のデータで指定されたデータサイズに従って受信データから付加データを取り除き、対象データを抽出して復号部２２へ送る。受信データから取り除かれた付加データは、転送されるべき対象データとは無関係なので、そのまま廃棄しても構わない。しかし、後述するように、この付加データを転送データの誤り判定に用いることができる。
【００４１】
次に、付加データの内容について説明する。
データ転送においては、対象データのみが送信側機器１０から受信側機器２０へ転送されれば良い。したがって、本来、付加データの内容は任意である。しかし、付加データの内容を全く任意にしてしまうと、データストリームのＤＣバランス（１、０の均等なバランス）が崩れるおそれがある。そこで、付加データとしてもＤＣバランスを確保した特定のパターンを用いることが好ましい。
【００４２】
８Ｂ１０Ｂ符号を用いたデータ転送では、シリアルデータの１と０の出現数を検出し、その割合に応じて１と０とを入れ替えた＋符号と−符号とを切り替える操作が行われる。そこで、付加データにおいても、＋符号と−符号に相当するパターンを設けてＤＣバランスを崩さないように制御しても良い。この場合、８Ｂ１０Ｂ符号の制御情報から＋符号と−符号のどちらを用いているかがわかる場合には、その制御情報に基づいて付加データのパターンを選択して付加することができる。一方、８Ｂ１０Ｂ符号の制御情報がわからない場合は、８Ｂ１０Ｂ符号と同様の制御手段を付加データ専用に設けて、付加データのパターンを選択することで、ＤＣバランスを崩すことなく付加データを付加することができる。
【００４３】
このように付加データとして特定パターンを用いる場合、このパターンを予め送信側機器１０と受信側機器２０との間で取り決めておくことで、受信側機器２０における受信データの照合に用いることが可能である。すなわち、付加データも、復号することにより１つのデータとして復元されるので、この復元データを照合データとして用い、予め設定されたデータと比較して誤り判定を行うことができる。具体的には、受信側機器２０において、受信Ｉ／Ｆ部２１が受信したシリアルデータ（ＨＳＤＡＴＡ）を対象データと付加データとに分離する。そして、付加データ照合部２３が、付加データのパターンと予め保持している設定パターンとを比較することにより、データに送信エラー等の異常が発生したか否かを判断する。
【００４４】
以上説明した付加データとして用いられるデータのパターンは、例えば、図１に示した情報付加部１４のメモリ１４ｂに記憶させておき、付加データを送信Ｉ／Ｆ部１５に渡す際に適宜読み出して用いることができる。なお、付加データの他、Ｋ符号に付随するサブ符号の情報を照合データとして用いても良い。
【００４５】
さて、上述したように、ＭＰＣＬＫとＭＳＣＬＫの周波数は非同期であるため、対象データと付加データを合わせたＨＳＤＡＴＡは、ＭＰＣＬＫに対してＨＣＬＫの周波数の端数分に相当するずれを有している。この周波数差の端数はバッファメモリにて吸収するが、バッファメモリがオーバーフローすることを回避するための調整手段が必要である。具体的な調整手段としては、例えば、Ｋ符号を用いてフレーム微調整サイクルを導入する方法と、付加データのビット数を一時的に変更することで調整する方法が考えられる。
【００４６】
Ｋ符号を用いてフレーム微調整サイクルを導入する方法では、まず、送信対象のデータではないことを意味するＫ符号を設定する。このＫ符号は、ＭＰＣＬＫとＭＳＣＬＫの周波数差の端数を吸収するためのバッファメモリへの書き込みを禁止される。Ｋ２８．１＆Ｄ０８．０以降の（送信対象のデータと付加データとからなる）データ列に、定期的にこのＫ符号が挿入されることにより、一時的にデータの送信が停止することになる。したがって、このＫ符号の挿入間隔を適宜に設定することにより、ＭＰＣＬＫとＭＳＣＬＫの周波数差が調整される。
【００４７】
次に、付加データのビット数を一時的に変更する方法について説明する。
図４は、付加データのビット数の変更による周波数差の調整法を説明する図である。
図４（Ａ）は付加データのビット数を変更しない場合のデータ変換の様子を示す。本実施形態によりＭＰＤＡＴＡ（ＭＰＣＬＫに同期）と付加データを付加されたＨＳＤＡＴＡのフレーム幅（図中破線で記載）はほぼ一致しているが、ＭＰＣＬＫとＭＳＣＬＫとが非同期であるため、わずかな差がある。したがって、図示の通り、ＭＰＤＡＴＡとＨＳＤＡＴＡの位置は次第にずれが大きくなり、１７フレーム目でちょうど１フレーム分ずれてしまう。そのため、１７フレーム目のデータがバッファメモリにて保持できず、ＨＳＤＡＴＡでは欠落してしまっている。
【００４８】
図４（Ｂ）は、付加データのビット数を変更して周波数差を調整した様子を示す。図示の例では、５フレームに１度の間隔で、付加データのビット数を減らしている。このため、６フレーム目、１１フレーム目および１６フレーム目では、再びＭＰＤＡＴＡとＨＳＤＡＴＡの位置が一致し、バッファメモリがオーバーフローしてしまうことはない。図示されていない２０フレーム目以降のデータについても同様である。付加データのビット数を変更するタイミングおよび変更されたビット数（フレーム幅）の情報は、予め受信側機器２０の受信Ｉ／Ｆ部２１に設定しておいても良いし、これらの情報を通知するＫ符号を設定し、送信側機器１０から受信側機器２０へ通知しても良い。なお、フレーム幅を変更する際の付加データのビット数は、バッファメモリに保持されているデータ量を検出しフィードバックして動的に決定することも可能である。
【００４９】
以上、送信側機器１０において、ＭＰＣＬＫとＭＳＣＬＫの周波数が非同期であるために生じるＭＰＤＡＴＡとＨＳＤＡＴＡとのずれを調整する方法について説明した。データ転送においては、送信側機器１０と受信側機器２０とが各々自装置内の個別の発振器により生成されたＨＣＬＫを用いている場合、これらのＨＣＬＫが同期していないために生じるＨＳＤＡＴＡと受信側機器２０のＨＣＬＫとのずれも問題となる場合がある。この場合も、まず受信側機器２０にバッファメモリを設けてＨＳＤＡＴＡとＨＣＬＫとのずれを吸収する。そして、このバッファメモリがオーバーフローしないように、上記と同様の、Ｋ符号を用いてフレーム微調整サイクルを導入する方法や、付加データのビット数を一時的に変更する方法により調整することが可能である。
【００５０】
以上説明したように、本実施形態は、８Ｂ１０Ｂ符号で提供されるＫ符号を用いて付加データの情報を送信側機器１０から受信側機器２０へ伝達し、受信側機器２０における受信データのフレーム幅の制御を実現する。したがって、送信側機器１０の動作クロックＭＰＣＬＫの周波数が動的に変化する場合でも、周波数の変化に応じたＫ符号（Ｋ２８．１）およびサブ符号を挿入することで対応することができる。
【００５１】
本実施形態では、受信側機器２０における受信データのフレーム幅の制御を行ったが、これをさらに一般化して、送信側機器１０から受信側機器２０を制御するためにＫ符号を用いることが考えられる。例えば、送信側機器１０がシステムの制御手段を持つマスターであり、受信側機器２０が送信側機器１０の制御によって動作するスレーブである場合、送信側機器１０と受信側機器２０との間のリンクの確立を、送信側機器１０からの制御により次のように行うことができる。
【００５２】
図５は、リンク確立時における送信側機器１０と受信側機器２０の動作の流れを対比させた図である。図５には、送信側機器１０および受信側機器２０のそれぞれについて、送信動作と受信動作の流れが示されている。
図５を参照すると、送信側機器１０および受信側機器２０に電源が投入された後、まず送信側機器１０の送信動作として、ＴｘＤからアライメント調整用のＫ符号（Ｋ２８．５＆Ｄ２１．４）が受信側機器２０へ送信される（Ｓ５０１）。一方、受信側機器２０のＴｘＤはＨｉＺ処理なので（Ｓ５２１）、受信側機器２０から送信側機器１０へのアライメント調整用のＫ符号の送信は行われない。
【００５３】
受信側機器２０は、送信側機器１０から送信されたＫ符号を受信すると（Ｓ５３１）、このＫ符号に基づいてアライメントの自動調整（ビットアライメント処理）を実行する（Ｓ５３２）。アライメントが完了すると、送信側機器１０から受信側機器２０へのリンクが確立する（Ｓ５３３、５３４）。そして、この受信側機器２０におけるリンクが確立されると、次に受信側機器２０の送信動作として、ＴｘＤからアライメント調整用のＫ符号（Ｋ２８．５＆Ｄ２１．４）が送信側機器１０へ送信される（Ｓ５２２、５２３）。
【００５４】
送信側機器１０は、受信側機器２０から送信されたＫ符号を受信すると（Ｓ５１１）、このＫ符号に基づいてアライメントの自動調整（ビットアライメント処理）を実行する（Ｓ５１２）。アライメントが完了すると、受信側機器２０から送信側機器１０へのリンクが確立する（Ｓ５１３、５１４）。これで送信側機器１０と受信側機器２０との間の双方向のリンクが確立したので、送信側機器１０および受信側機器２０の双方から送信されているＫ２８．５＆Ｄ２１．４を停止させる必要がある。
【００５５】
そこで次に、送信側機器１０は、送信動作としてＴｘＤからの停止コマンド（例えば、Ｋ２８．２＆Ｄ１９．４）を受信側機器２０へ送信し（Ｓ５０２、５０３）、自身のＫ２８．５＆Ｄ２１．４の送信を停止する（Ｓ５０４）。受信側機器２０は、停止コマンドを受信すると（Ｓ５２４）、自身のＫ２８．５＆Ｄ２１．４の送信を停止する（Ｓ５２５）。この後、送信側機器１０から受信側機器２０へのデータ転送が開始される（Ｓ５０５、５２６）。
【００５６】
以上のようにして、送信側機器１０と受信側機器２０との間の基本的なリンク確立動作は、制御手段による特別の制御を必要とせず、自動的に行うことが可能である。また、送信側機器１０のリンク確立状態を送信側機器１０の制御手段で監視していれば、受信側機器２０の状態を把握することができる。なお、送信側機器１０と受信側機器２０との間のリンクが切れた場合、送信側機器１０のＴｘＤは再びＫ２８．５＆Ｄ２１．４の送信を開始し、受信側機器２０のＴｘＤは再びＨｉＺ処理となる。これにより、改めて上記のリンク確立のための動作が順次行われ、再度リンク確立を行うことができる。
【００５７】
Ｋ符号を用いて受信側機器２０を制御する他の例としては、アイドル符号をウォッチドッグタイマとして流用する方法が挙げられる。
送信側機器１０と受信側機器２０とがそれぞれ個別の発振器を使用する場合、同じ規格の発振器であっても電源電圧や温度変化により微妙に発振周波数が異なることが多い。そのため、上述したように、この周波数差を吸収するためのメモリを受信側機器２０に搭載することが一般に行われている。しかし、異なる周波数でデータを受信し続けると、いずれメモリの容量を超えてオーバーフローが発生することになる。
【００５８】
このオーバーフローの発生を回避する方策として、送信側機器１０から定期的にアイドル符号であるＫ符号（Ｋ２８．５＆Ｄ２１．４）を送信してメモリを補正することが考えられる。受信側機器２０において、この定期的に送信されてくるアイドル符号としてのＫ符号の間隔を検出し、予測されるタイミングでＫ符号が検出されない場合に、ＴｘＤの出力をＨｉＺ処理することにより、自動的にリンク切れに移行することになる。この場合、リンクが切れた状態でシステムを停止しても良いし、再び送信側機器１０からＫ２８．５＆Ｄ２１．４を再出力して再度リンク確立動作を行うこともできる。
なお、ウォッチドッグタイマ用に専用のＫ符号を設定しても良いが、Ｋ符号を挿入する分だけ転送されるデータ量が少なくなるために転送レートが減少することになるので、１つのＫ符号で２つの機能を持たせる方が効率的である。
【００５９】
Ｋ符号を用いて受信側機器２０を制御するさらに他の例としては、ラインシンクなどの信号を、Ｋ符号を用いて制御する方法が挙げられる。
対象データが画像データである場合、通常、画像データラインとは別に主走査方向同期信号（ＬＳＹＮＣ）、副走査方向同期信号（ＰＳＹＮＣ）、（水平同期信号（ＨＳＹＮＣ）、垂直同期信号（ＶＳＹＮＣ）とも呼ばれる）やその他制御信号が、送信側機器１０から受信側機器２０へ送信される。これらの制御信号は、別のシリアル転送ラインを用いて転送することも可能である。しかし、別のラインを併設することにより、コストがあがるという欠点がある。また、制御信号の変化点は画像データのように頻繁に変化するものではない。そこで、ＬＳＹＮＣ、ＰＳＹＮＣなどの制御信号のエッジに相当する部分にＫ符号を用い、画像データラインを使用して転送することを考える。このようにすれば、Ｋ符号により必要な制御情報を伝達し受信側機器２０を制御することが可能となる。
【００６０】
例えば、アクティブ・ハイ（ACTIVE-HIGH）のＬＳＹＮＣ信号を画像データと一緒に送信する例を考える。
図６は、Ｋ符号を用いてＬＳＹＮＣ信号を送信する方法を説明する図である。
まず、ＬＳＹＮＣの立ち上がりエッジを示すＫ２８．１＆Ｄ１２．１というＫ符号と、ＬＳＹＮＣの立ち下がりエッジを示すＫ２８．１＆Ｄ１２．２というＫ符号を定義する。図６において、一つの小ブロックが８ビットのデータを表すものとする。すなわち、上下の二つのブロック（ＭＳＢ（Most Significant Byte）およびＬＳＢ（Least Significant Byte））で１６ビットのデータを表す。また、グレーの小ブロックがＫ符号（Ｋ２８．１）であり、斜線を付した小ブロックがサブ符号（Ｄ１２．１、Ｄ１２．２）である。
【００６１】
図示のように、ＬＳＹＮＣ信号の変化点にＫ符号を挿入すると、受信側機器２０でＫ符号を検出し、サブ符号のデータに基づいてＬＳＹＮＣ信号の立ち上がりか立ち下がりかを判断することにより、受信側機器２０でＬＳＹＮＣを再現させることが可能となる。したがって、画像データラインとは別に制御信号の転送ラインを併設する必要がなくなり、さらには、伝送ラインのハーネスや遅延差により、画像データと制御信号の前後関係が崩れるといった問題が発生しなくなる。
【図面の簡単な説明】
【００６２】
【図１】本実施形態によるデータ転送システムの全体構成を示す図である。
【図２−１】本実施形態におけるデータ変換を説明する図であり、送信側機器におけるデータ変換を表す図である。
【図２−２】本実施形態におけるデータ変換を説明する図であり、受信側機器におけるデータ変換を表す図である。
【図３】本実施形態における転送データのデータ構造を示す図である。
【図４】本実施形態における付加データのビット数の変更による周波数差の調整法を説明する図である。
【図５】リンク確立時における送信側機器と受信側機器の動作の流れを対比させた図である。
【図６】Ｋ符号を用いてＬＳＹＮＣ信号を送信する方法を説明する図である。
【図７−１】従来のデータ変換を説明する図であり、送信側機器におけるデータ変換を表す図である。
【図７−２】従来のデータ変換を説明する図であり、受信側機器におけるデータ変換を表す図である。
【符号の説明】
【００６３】
１０…送信側機器、１１…データ変換部、１２…符号化部、１３…クロック変換部、１４…情報付加部、１５…送信インターフェイス（Ｉ／Ｆ）部、２０…受信側機器、２１…受信インターフェイス（Ｉ／Ｆ）部、２２…復号部、２３…付加データ照合部
【図１】
2008172720.tif 000003
【図２−１】
2008172720.tif 000004
【図２−２】
2008172720.tif 000005
【図３】
2008172720.tif 000006
【図４】
2008172720.tif 000007
【図５】
2008172720.tif 000008
【図６】
2008172720.tif 000009
【図７−１】
2008172720.tif 000010
【図７−２】
2008172720.tif 000011