(57)【要約】【課題】シリアルデータ通信を行う装置間におけるクロックに関する同期制御を、簡易な構成により正確に行うことを可能とする。【解決手段】シリアルデーア送信装置１０は、複数のシリアルデータ通信路によりデータをシリアルデータ受信装置２０に送信する際に、シリアルデータ通信路の何れかを流れるデータに対して、所定のビット間隔ごとに分散するように、同期制御ビットを挿入する制御ビット挿入部１３と、シリアルデータ受信装置２０が第一のクロックタイミングに受信した複数のビットの値を基に論理計算した結果を使用してビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する同期制御ビットとその他のビットを基に論理計算を行った結果が、その直前に送信する複数のビットを基に論理計算を行った結果と反転するように、同期制御ビットを生成する生成部１４と、を備える。【選択図】      図１１
2015115651.tif 000002
【特許請求の範囲】
【請求項１】
同期して動作する複数のシリアルデータ通信路を使用してデータをシリアルデータ受信装置に送信する際に、前記複数のシリアルデータ通信路のいずれかを流れる前記データに対して、時系列な所定のビット間隔ごとに前記複数のシリアルデータ通信路間において分散するように、同期制御ビットを挿入する制御ビット挿入手段と、
前記シリアルデータ受信装置が、前記複数のシリアルデータ通信路を経由して第一のクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する前記同期制御ビット、及び、前記同期制御ビットを除く１以上のビットが示す値を基に前記所定の論理計算を行った結果が、前記第二のクロックタイミングの直前のクロックタイミングに送信する複数のビットを基に前記所定の論理計算を行った結果と反転するように、前記同期制御ビットを生成する生成手段と、
を備えるシリアルデータ送信装置。
【請求項２】
パラレルデータを複数のパラレルデータセットに分割したのち、前記複数のパラレルデータセットを、それぞれ、前記複数のシリアルデータ通信路を使用して送信するシリアルデータに変換する分割変換手段を、
さらに備える、請求項１に記載のシリアルデータ送信装置。
【請求項３】
前記複数のシリアルデータ通信路を使用して送信する前記データに対して、所定のタイミングに、前記データの先頭であることを示すフレーム先頭データを、所定の生成論理により生成して挿入するフレーム先頭挿入手段を、
さらに備える、請求項１または２に記載のシリアルデータ送信装置。
【請求項４】
前記フレーム先頭挿入手段は、前記複数のシリアルデータ通信路を使用して送信する前記フレーム先頭データについて、前記第二のクロックタイミングに送信する前記複数のビットが示す値を基に前記所定の論理計算を行った結果が、所定のビット間隔に亘って、値を維持した後に反転することを繰り返すように、前記フレーム先頭データを生成する、
請求項３に記載のシリアルデータ送信装置。
【請求項５】
前記生成手段は、前記所定の論理計算として、排他的論理和を行う、
請求項１乃至４のいずれかに記載のシリアルデータ送信装置。
【請求項６】
同期して動作する複数のシリアルデータ通信路を経由してデータをシリアルデータ送信装置から受信する際に、前記複数のシリアルデータ通信路を経由して同じクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果が反転したタイミングを基に、前記複数のビットを取り込むクロックタイミングを調整する信号を生成する同期タイミング検出手段、
を備えるシリアルデータ受信装置。
【請求項７】
前記複数のシリアルデータ通信路を経由して受信したシリアルデータを、それぞれ、パラレルデータセットに変換したのち、複数の前記パラレルデータセットを１つに統合する変換統合手段を、
さらに備える、請求項６に記載のシリアルデータ受信装置。
【請求項８】
前記複数のシリアルデータ通信路を経由して受信した、先頭であることを示すフレーム先頭データを包含する前記データから、前記フレーム先頭データを所定の検出論理に基づき検出するフレーム先頭検出手段を、
さらに備える、請求項６または７に記載のシリアルデータ受信装置。
【請求項９】
情報処理装置によって、
同期して動作する複数のシリアルデータ通信路を使用してデータをシリアルデータ受信装置に送信する際に、前記複数のシリアルデータ通信路のいずれかを流れる前記データに対して、時系列な所定のビット間隔ごとに前記複数のシリアルデータ通信路間において分散するように、同期制御ビットを挿入し、
前記シリアルデータ受信装置が、前記複数のシリアルデータ通信路を経由して第一のクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する前記同期制御ビット、及び、前記同期制御ビットを除く１以上のビットが示す値を基に前記所定の論理計算を行った結果が、前記第二のクロックタイミングの直前のクロックタイミングに送信する複数のビットを基に前記所定の論理計算を行った結果と反転するように、前記同期制御ビットを生成する、
シリアルデータ送信方法。
【請求項１０】
同期して動作する複数のシリアルデータ通信路を使用してデータをシリアルデータ受信装置に送信する際に、前記複数のシリアルデータ通信路のいずれかを流れる前記データに対して、時系列な所定のビット間隔ごとに前記複数のシリアルデータ通信路間において分散するように、同期制御ビットを挿入する制御ビット挿入処理と、
前記シリアルデータ受信装置が、前記複数のシリアルデータ通信路を経由して第一のクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する前記同期制御ビット、及び、前記同期制御ビットを除く１以上のビットが示す値を基に前記所定の論理計算を行った結果が、前記第二のクロックタイミングの直前のクロックタイミングに送信する複数のビットを基に前記所定の論理計算を行った結果と反転するように、前記同期制御ビットを生成する生成処理と、
をコンピュータに実行させるシリアルデータ送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、装置間でクロックに関する同期を取りながらシリアルデータ通信路を使用した通信を行うシステムにおいて、データを他の装置へ送信するシリアルデータ送信装置等に関する。
【背景技術】
【０００２】
近年の大規模コンピータシステムは、多数の装置を備え、各装置が互いに通信することにより連携して動作する。装置間において通信を行う際の通信路としては、シリアルデータ通信路がよく利用されている。装置間においてシリアルデータ通信を行う際に、受信側装置が通信データを取りこぼすことが無いように、送信側装置及び受信側装置を動作させるクロックについて同期制御を行う必要がある。そして、係る同期制御を行うためには、送信側装置から受信側装置に、通信データ本体とともに、クロックに関係する信号を送信する必要がある。この際、例えば、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）（登録商標）通信のように、通信データ本体を送信する通信路とは別に通信路を備えてクロックを送信する方法もある。しかしながら、この方式の場合、通信路あたりのデータ伝送効率は半減することになる。したがって、通信データ本体とクロックに関する信号とを多重化して、両者を同じ通信路により送信する技術に対する期待が高まってきている。また、装置間の通信距離が長くなるほど、あるいは、クロックが高速になるほど、信号のひずみなどによる通信エラーが発生しやすくなるため、高速シリアル通信の信頼性を向上させる技術に対する期待も高まってきている。
【０００３】
上述した技術に関連する技術として、特許文献１には、送信側装置が異なる周波数情報を有する複数のデジタル信号をデータの内容に依存せずに束ねて高速伝送し、受信側装置が各周波数情報を維持した複数のデジタル信号を再生、分離するようにしたシステムが開示されている。
【０００４】
また、特許文献２には、通信距離が長い装置間において高速シリアル通信を行う場合に、通信路を信号が通過する際に発生する挿入損失を回避して、データを正しく送受信できるようにしたシステムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2013-062687号公報
【特許文献２】特開2012-169946号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１が開示した技術では、送信側装置が複数のデータブロックを多重化するマルチプレクサを備え、受信側装置が多重化されたデータから個々のデータブロックを分離するデマルチプレクサを備える必要があるため、ハードウェアが増大する問題がある。また、特許文献２が開示した技術では、通信を行う装置間に中継装置を備える必要があるため、特許文献１と同様にハードウェアが増大する問題がある。したがって、シリアルデータ通信を行う装置が、簡易な構成により、クロックに関する正確な同期制御を行うようにすることが課題となる。
【０００７】
本願発明の主たる目的は、この課題を解決した、シリアルデータ送信装置、シリアルデータ受信装置、シリアルデータ送信方法、及び、シリアルデータ送信プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本願発明に係るシリアルデータ送信装置は、同期して動作する複数のシリアルデータ通信路を使用してデータをシリアルデータ受信装置に送信する際に、前記複数のシリアルデータ通信路のいずれかを流れる前記データに対して、時系列な所定のビット間隔ごとに前記複数のシリアルデータ通信路間において分散するように、同期制御ビットを挿入する制御ビット挿入手段と、前記シリアルデータ受信装置が、前記複数のシリアルデータ通信路を経由して第一のクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する前記同期制御ビット、及び、前記同期制御ビットを除く１以上のビットが示す値を基に前記所定の論理計算を行った結果が、前記第二のクロックタイミングの直前のクロックタイミングに送信する複数のビットを基に前記所定の論理計算を行った結果と反転するように、前記同期制御ビットを生成する生成手段と、備えることを特徴とする。
【０００９】
本願発明に係るシリアルデータ受信装置は、同期して動作する複数のシリアルデータ通信路を経由してデータをシリアルデータ送信装置から受信する際に、前記複数のシリアルデータ通信路を経由して同じクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果が反転したタイミングを基に、前記複数のビットを取り込むクロックタイミングを調整する信号を生成する同期タイミング検出手段を備えることを特徴とする。
【００１０】
上記目的を達成する他の見地において、本願発明のシリアルデータ送信方法は、情報処理装置によって、同期して動作する複数のシリアルデータ通信路を使用してデータをシリアルデータ受信装置に送信する際に、前記複数のシリアルデータ通信路のいずれかを流れる前記データに対して、時系列な所定のビット間隔ごとに前記複数のシリアルデータ通信路間において分散するように、同期制御ビットを挿入し、前記シリアルデータ受信装置が、前記複数のシリアルデータ通信路を経由して第一のクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する前記同期制御ビット、及び、前記同期制御ビットを除く１以上のビットが示す値を基に前記所定の論理計算を行った結果が、前記第二のクロックタイミングの直前のクロックタイミングに送信する複数のビットを基に前記所定の論理計算を行った結果と反転するように、前記同期制御ビットを生成することを特徴とする。
【００１１】
また、上記目的を達成する更なる見地において、本願発明に係るシリアルデータ送信プログラムは、同期して動作する複数のシリアルデータ通信路を使用してデータをシリアルデータ受信装置に送信する際に、前記複数のシリアルデータ通信路のいずれかを流れる前記データに対して、時系列な所定のビット間隔ごとに前記複数のシリアルデータ通信路間において分散するように、同期制御ビットを挿入する制御ビット挿入処理と、前記シリアルデータ受信装置が、前記複数のシリアルデータ通信路を経由して第一のクロックタイミングに受信した複数のビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する前記同期制御ビット、及び、前記同期制御ビットを除く１以上のビットが示す値を基に前記所定の論理計算を行った結果が、前記第二のクロックタイミングの直前のクロックタイミングに送信する複数のビットを基に前記所定の論理計算を行った結果と反転するように、前記同期制御ビットを生成する生成処理と、をコンピュータに実行させることを特徴とする。
【００１２】
更に、本発明は、係る情報読取プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
【発明の効果】
【００１３】
本願発明は、シリアルデータ通信を行う装置間におけるクロックに関する同期制御を、簡易な構成により正確に行うことを可能とする。
【図面の簡単な説明】
【００１４】
【図１】本願発明の第１の実施形態に係るシリアルデータ送受信システムの構成を示すブロック図である。
【図２Ａ】本願発明の第１の実施形態に係るシリアルデータ送受信システムの動作を示すフローチャート（１／２）である。
【図２Ｂ】本願発明の第１の実施形態に係るシリアルデータ送受信システムの動作を示すフローチャート（２／２）である。
【図３】本願発明の第１の実施形態に係る送信データ分割部及びＰ／Ｓ変換部の機能を例示する図である。
【図４】本願発明の第１の実施形態に係る制御ビット挿入部により同期制御ビットが挿入されたシリアルデータを例示する図である。
【図５】本願発明の第１の実施形態に係る生成部が生成する同期制御ビットに関する真理値表を例示する図である。
【図６】本願発明の第１の実施形態に係る生成部が備える同期制御ビット生成回路を例示する図である。
【図７】本願発明の第１の実施形態に係るフレーム先頭挿入部が挿入するフレーム先頭データを例示する図である。
【図８】本願発明の第１の実施形態に係るＳ／Ｐ変換部の機能を例示する図である。
【図９】本願発明の第１の実施形態に係る受信データ統合部の機能を例示する図である。
【図１０】本願発明の第１の実施形態がシリアルデータ通信路を３系統備えた場合における同期制御ビットが挿入されたシリアルデータを例示する図である。
【図１１】本願発明の第２の実施形態に係るシリアルデータ送受信装置の構成を示すブロック図である。
【図１２】本願発明の各実施形態のシリアルデータ送信装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
＜第１の実施形態＞
図１は第１の実施形態のシリアルデータ送受信システム１の構成を概念的に示すブロック図である。本実施形態のシリアルデータ送受信システム１は、シリアルデータ送信装置１０、及び、シリアルデータ受信装置２０を有する。シリアルデータ送信装置１０は、２本のシリアルデータ通信路１０８乃至１０９を介して、シリアルデータ受信装置２０へ、シリアルデータを送信する。
【００１７】
シリアルデータ送信装置１０は、送信データ分割部１１、Ｐ／Ｓ（パラレル／シリアル）変換部１２、制御ビット挿入部１３、生成部１４、フレーム先頭挿入部１５、送信用クロック１供給部１６、及び、送信用クロック２供給部１７を備えている。送信データ分割部１１、Ｐ／Ｓ変換部１２、制御ビット挿入部１３、生成部１４、及び、フレーム先頭挿入部１５は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。送信用クロック１供給部１６、及び、送信用クロック２供給部１７は、クロック発信器（不図示）を備えた電子デバイスである。
【００１８】
送信データ分割部１１及びＰ／Ｓ変換部１２の機能を図３に示す。送信データ分割部１１は、パラレルデータ通信路１０１を介して受信した１６ビットパラレルデータが包含するビット１１１乃至１２６を、２系統の８ビットパラレルデータである、ビット１１１乃至１１９、及び、ビット１２０乃至１２６に分割する。送信データ分割部１１は、ビット１１１乃至１１９、及び、ビット１２０乃至１２６を、それぞれ、パラレルデータ通信路１０２乃至１０３を介して、Ｐ／Ｓ変換部１２へ入力する。
【００１９】
Ｐ／Ｓ変換部１２は、入力された２系統の８ビットパラレルデータである、ビット１１１乃至１１９、及び、ビット１２０乃至１２６をシリアルデータに変換する。Ｐ／Ｓ変換部１２は、変換後の８ビットシリアルデータを、それぞれシリアルデータ通信路１０４乃至１０５を介して、制御ビット挿入部１３、及び、生成部１４へ入力する。
【００２０】
制御ビット挿入部１３は、Ｐ／Ｓ変換部１２から入力された２系統の８ビットシリアルデータに対して、所定の位置に同期制御ビットを挿入し、その同期制御ビットを挿入したシリアルデータを、シリアルデータ通信路１０６乃至１０７を介して、フレーム先頭挿入部１５へ入力する。係る同期制御ビットは、シリアルデータ受信装置２０が、クロックに関するシリアルデータ送信装置２０との同期制御を正確に行うことができるように、送信されるシリアルデータの中に挿入されるビットである。制御ビット挿入部１３により、係る同期制御ビットが挿入されたシリアルデータの一例を図４に示す。
【００２１】
図４（ａ）乃至図４（ｂ）は、それぞれ、シリアルデータ通信路１０６を流れるシリアルデータ１０６０、及び、シリアルデータ通信路１０７を流れるシリアルデータ１０７０を示す。制御ビット挿入部１３は、図４（ａ）に示す通り、８ビットシリアルデータであるビット１１１乃至１１８に対して、２ビットの同期制御ビットＡ及びＢを挿入する。制御ビット挿入部１３は、同様に、図４（ｂ）に示す通り、８ビットシリアルデータであるビット１１９乃至１２６に対して、２ビットの同期制御ビットＣ及びＤを挿入する。
【００２２】
図４（ａ）乃至図４（ｂ）に示すとおり、本実施形態に係るシリアルデータ通信装置１０は、入力された１６ビットパラレルデータに対して４ビットの同期制御ビットＡ乃至Ｄを付加した２０ビットのシリアルデータを、シリアルデータ受信装置２０へ送信する。この場合、送信用クロック１供給部から供給される、パラレルデータの処理に関係する送信用クロック１の周期は、送信用クロック２供給部から供給される、シリアルデータの処理に関係する送信用クロック２の周期の１０倍となる。
【００２３】
制御ビット挿入部１３は、１系統目のシリアルデータを構成するビット１１１乃至１１８の先頭に同期制御ビットＡを挿入し、同期制御ビットＡから３ビット後の位置に、２系統目のシリアルデータを構成するビット１１９乃至１２６に同期制御ビットＣを挿入する。制御ビット挿入部１３は、同期制御ビットＣから３ビット後の位置に、１系統目のシリアルデータを構成するビット１１１乃至１１８に同期制御ビットＢを挿入する。制御ビット挿入部１３は、同期制御ビットＢから３ビット後の位置に、２系統目のシリアルデータを構成するビット１１９乃至１２６に同期制御ビットＤを挿入する。すなわち、制御ビット挿入部１３は、時系列における３ビットごとに、２系統のシリアルデータに対して、交互に同期制御ビットを挿入する。尚、制御ビット挿入部１３は、同期制御ビットＡ乃至Ｄとして、“０”を挿入するか、あるいは、“１”を挿入するかに関する情報を、生成部１４から入手する。
【００２４】
生成部１４は、Ｐ／Ｓ変換部１２から入力された２系統の８ビットシリアルデータを基に、同期制御ビットを生成して、生成した同期制御ビットに関する情報を、制御ビット挿入部１３へ入力する。
【００２５】
本実施形態に係るシリアルデータ受信装置２０は、２系統のシリアルデータにおけるビットごとにＥＸＯＲ（排他的論理和）を算出し、算出したＥＸＯＲが示す値が反転したタイミングを基に、シリアルデータ送信装置１０との間で、クロックに関する同期制御を行う。尚、シリアルデータ受信装置２０は、２系統のシリアルデータにおけるビットごとに、ＥＸＯＲ以外の論理計算を行ってもよい。図４（ａ）乃至図４（ｂ）が示すシリアルデータについてＥＸＯＲをとった結果である、シリアルデータ通信路１０６乃至１０７を流れるシリアルデータのＥＸＯＲを取ったシリアルデータ１０８０を、図４（ｃ）に示す。図４（ｃ）におけるＴ乃至Ｚが示す値は、“０”あるいは“１”のいずれかである。図４（ｃ）において、例えば、Ｙが示す値は、ビット１１１及びビット１２０のＥＸＯＲが示す値であり、Ｘが示す値は、ビット１１２及びビット１２１のＥＸＯＲが示す値である。
【００２６】
図４（ｃ）に示す通り、ビット１１３及び同期制御ビットＣのＥＸＯＲが示す値は、ビット１１２及び１２１のＥＸＯＲが示す値であるＸを反転した値である。ビット１２４及び同期制御ビットＢのＥＸＯＲが示す値は、ビット１１５及び１２３のＥＸＯＲが示す値であるＶを反転した値である。同様に、ビット１１８及び同期制御ビットＤのＥＸＯＲが示す値は、ビット１１７及び１２６のＥＸＯＲが示す値であるＴを反転した値である。すなわち、シリアルデータ通信路１０６乃至１０７を流れるシリアルデータのＥＸＯＲを取ったシリアルデータ１０８０において、同期制御ビットに関わるビットが示す値は、直前のビットを反転させた値となる。
【００２７】
生成部１４は、シリアルデータ通信路１０６乃至１０７を流れるシリアルデータのＥＸＯＲを取ったシリアルデータ１０８０が、上述した値となるように、各制御ビットを生成する。同期制御ビットＣに関する真理値表１０９０を図５に示す。生成部１４は、同期制御ビットＣに関する真理値表１０９０が示す論理に従い、ビット１１３及びＸが示す値を基に、同期制御ビットＣを生成する。
【００２８】
同期制御ビットＣに関する真理値表１０９０が示す論理を実現する同期制御ビット生成回路１４０を図６に示す。同期制御ビット生成回路１４０は、ＥＸＯＲゲート１４１及びＥＸＮＯＲ（否定排他的論理和）ゲート１４２を備えている。ＥＸＯＲゲート１４１は、ビット１１２及び１２１のＥＸＯＲが示す値であるＸを生成する。ＥＸＮＯＲゲート１４２は、Ｘ及びビット１１３のＥＸＮＯＲが示す値である同期制御ビットＣを生成する。生成部１４は、同期制御ビット生成回路１４０を備え、同様に、同期制御ビットＡ、Ｂ、及び、Ｄを生成する生成回路を備える。
【００２９】
フレーム先頭挿入部１５は、制御ビット挿入部１３から入力された２系統のシリアルデータに対して、所定の一定間隔（例えば１０ミリ秒間隔）で、フレーム先頭データを挿入する。フレーム先頭挿入部１５は、所定の一定間隔ではなく、特定のタイミングにフレーム先頭データを挿入してもよい。フレーム先頭データは、シリアルデータ受信装置２０が受信したデータに係る取り込み開始を決定することができるように、通常データとは識別可能に挿入されるデータである。
【００３０】
フレーム先頭挿入部１５が挿入するフレーム先頭データの例を図７に示す。図７（ａ）は、ビット１１１乃至１１８を包含するシリアルデータに挿入された、シリアルデータ通信路１０８を流れるフレーム先頭データ１１００の一例である。図７（ｂ）は、ビット１１９乃至１２６を包含するシリアルデータに挿入された、シリアルデータ通信路１０９を流れるフレーム先頭データ１１１０の一例である。本実施形態におけるフレーム先頭データは２０ビットである。
【００３１】
図７（ｃ）は、シリアルデータ通信路１０８乃至１０９を流れるフレーム先頭データのＥＸＯＲを取ったシリアルデータ１１２０の一例である。図７（Ｃ）に示す通り、シリアルデータ通信路１０８乃至１０９を流れるフレーム先頭データのＥＸＯＲを取ったシリアルデータ１１２０は、時系列における３ビットごとに、反転を繰り返す。すなわち、フレーム先頭挿入部１５は、シリアルデータ通信路１０８乃至１０９を流れるフレーム先頭データのＥＸＯＲを取ったシリアルデータ１１２０が、時系列における３ビットごとに反転を繰り返すように、所定の論理によりフレーム先頭データを生成してシリアルデータに挿入する。
【００３２】
図７（ｄ）は、シリアルデータ通信路１０８乃至１０９を流れる通常データのＥＸＯＲを取ったシリアルデータ１１３０の一例である。シリアルデータ通信路１０８乃至１０９を流れる通常データのＥＸＯＲを取ったシリアルデータ１１３０は、図４（ｃ）に示すシリアルデータを２個つなげた２０ビットのデータである。図７（ｄ）における“制御”と記載されたビットは、同期制御ビットに関係するビットであり、上述した通り、その値は直前のビットを反転させた値となる。
【００３３】
図７（ｃ）乃至図７（ｄ）に示す通り、シリアルデータ通信路１０８乃至１０９を流れるフレーム先頭データのＥＸＯＲを取ったシリアルデータ１１２０と、シリアルデータ通信路１０８乃至１０９を流れる通常データのＥＸＯＲを取ったシリアルデータ１１３０とは、値が異なっている。
【００３４】
フレーム先頭挿入部１５は、フレーム先頭データを挿入した２系統のシリアルデータを、シリアルデータ通信路１０８乃至１０９を介して、シリアルデータ受信装置２０における同期タイミング検出部２４に送信する。
【００３５】
シリアルデータ受信装置２０は、受信データ統合部２１、Ｓ／Ｐ変換部２２、フレーム先頭検出部２３、同期タイミング検出部２４、受信用クロック１供給部２５、及び、受信用クロック２供給部２６を備えている。受信データ統合部２１、Ｓ／Ｐ変換部２２、フレーム先頭検出部２３、及び、同期タイミング検出部２４は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。受信用クロック１供給部２５、及び、受信用クロック２供給部２６は、クロック発信器を備えた電子デバイスである。
【００３６】
同期タイミング検出部２４は、シリアルデータ送信装置１０から受信した、２系統のシリアルデータを、シリアルデータ通信路２０６乃至２０７を介して、フレーム先頭検出部２３へ入力する。同期タイミング検出部２４は、受信した２系統のシリアルデータについて、同じクロックタイミングに受信した２ビットのＥＸＯＲを算出する。同期タイミング検出部２４は、２ビットのＥＸＯＲが反転したタイミングを基に、シリアルデータを取り込むクロックタイミングを調整する同期制御信号を生成して、受信用クロック２供給部へ入力する。
【００３７】
受信用クロック２供給部２は、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を備え、同期タイミング検出部２４から入力された同期制御信号を基に、ＰＬＬ回路により受信用クロック２に関する同期制御を行う。尚、受信用クロック２の周期は、シリアルデータ送信装置１０における送信用クロック２の周期と同等である。受信用クロック２供給部２は、同期制御した受信用クロック２を、同期タイミング検出部２４、フレーム先頭検出部２３、及び、Ｓ／Ｐ変換部２２へ分配する。
【００３８】
フレーム先頭検出部２３は、同期タイミング検出部２４から入力された２系統のシリアルデータのＥＸＯＲが、連続する２０ビットについて、図７（ｃ）に示すパターンであるか否かを確認する。フレーム先頭検出部２３は、２系統のシリアルデータのＥＸＯＲが、図７（ｃ）に示すパターンである場合、入力された２０ビットのシリアルデータが、フレーム先頭データであると判定し、受信したシリアルデータに関する取り込み開始を決定する。フレーム先頭検出部２３は、２系統のシリアルデータのＥＸＯＲが、図７（ｃ）に示すパターンでない場合、入力されたシリアルデータを、そのまま、シリアルデータ通信路２０４乃至２０５を介して、Ｓ／Ｐ変換部２２へ入力する。
【００３９】
Ｓ／Ｐ変換部２２の機能を図８に示す。Ｓ／Ｐ変換部２２は、入力された２系統のシリアルデータを、それぞれパラレルデータに変換する。図８に示す通り、Ｓ／Ｐ変換部２２は、シリアルデータ通信路２０４を流れるシリアルデータ２０４０から、同期制御ビットＡ及びＢを廃棄したのち、シリアルデータ２０４０をビット１１１乃至１１８を含む８ビットパラレルデータに変換する。Ｓ／Ｐ変換部２２は、シリアルデータ通信路２０５を流れるシリアルデータについても、同様の手順により、ビット１１９乃至１２６を含む８ビットパラレルデータに変換する。
【００４０】
尚、パラレルデータの処理に関係する受信用クロック１の周期は、シリアルデータの処理に関係する受信用クロック２の周期の１０倍となる。すなわち、受信用クロック２の周期は、シリアルデータ送信装置１０における送信用クロック１の周期と同等である。受信用クロック１は、受信用クロック１供給部２５から分配されている。Ｓ／Ｐ変換部２２は、２系統の８ビットシリアルデータを変換した、２系統の８ビットパラレルデータを、パラレルデータ通信路２０２乃至２０３を介して、受信データ統合部２１へ入力する。
【００４１】
受信データ統合部２１の機能を図９に示す。受信データ統合部２１は、入力された２系統の８ビットパラレルデータを、ビット１１１乃至１２６を含む１６ビットパラレルデータに統合して、その１６ビットパラレルデータを、パラレルデータ通信路２０１を介して、外部へ出力する。
【００４２】
次に図２Ａ乃至２Ｂのフローチャートを参照して、本実施形態に係るシリアルデータ送受信システム１の動作（処理）について詳細に説明する。
【００４３】
送信データ分割部１１は、外部から受信した１６ビットパラレルデータを、２系統の８ビットパラレルデータに分割して、Ｐ／Ｓ変換部１２へ入力する（ステップＳ１０１）。Ｐ／Ｓ変換部１２は、２系統の８ビットパラレルデータを、それぞれシリアルデータに変換して、制御ビット挿入部１３、及び、生成部１４へ入力する（ステップＳ１０２）。生成部１４は、２系統の８ビットパラレルデータから同期制御ビットを生成し、生成した同期制御ビットを、制御ビット挿入部１３へ入力する（ステップＳ１０３）。制御ビット挿入部１３は、２系統のシリアルデータにおける所定の位置に同期制御ビットを挿入し、同期制御ビットが挿入された２系統のシリアルデータを、フレーム先頭挿入部１５へ入力する（ステップＳ１０４）。
【００４４】
送信するシリアルデータが先頭のデータである場合（ステップＳ１０５でＹｅｓ）、フレーム先頭挿入部１５は、２系統のシリアルデータのそれぞれにフレーム先頭データを挿入し、２系統のシリアルデータを、同期タイミング検出部２４へ送信する(ステップＳ１０６)。  送信するシリアルデータが先頭のデータでない場合（ステップＳ１０５でＮｏ）、フレーム先頭挿入部１５は、２系統のシリアルデータを、そのまま、同期タイミング検出部２４へ送信する（ステップＳ１０７）。
【００４５】
同期タイミング検出部２４は、受信した２系統のシリアルデータにおける２ビットに関する排他的論理和が反転したタイミングで、同期制御信号を生成し、受信用クロック２供給部２６へ入力する（ステップＳ１０８）。受信用クロック２供給部２６は、同期制御信号を基に、ＰＬＬ回路によりクロックに関する同期制御を行い、同期制御したクロックを、同期タイミング検出部２４、フレーム先頭検出部２３、及び、Ｓ／Ｐ変換部２２へ分配する（ステップＳ１０９）。同期タイミング検出部２４は、受信した２系統のシリアルデータを、そのまま、フレーム先頭検出部２４へ入力する（ステップＳ１１０）。
【００４６】
フレーム先頭検出部２４は、シリアルデータが、フレーム先頭データであるかどうかを確認する（ステップＳ１１１）。シリアルデータがフレーム先頭データである場合（ステップＳ１１２でＹｅｓ）、フレーム先頭検出部２４は、シリアルデータに関する取り込み開始を決定する（ステップＳ１１３）。シリアルデータがフレーム先頭データでない場合（ステップＳ１１２でＮｏ）、フレーム先頭検出部２４は、シリアルデータを、そのまま、Ｓ／Ｐ変換部２２へ入力する（ステップＳ１１４）。
【００４７】
Ｓ／Ｐ変換部２２は、受信した２系統のシリアルデータから同期制御ビットを廃棄した後、それぞれのシリアルデータを８ビットパラレルデータに変換して、受信データ統合部２１へ入力する（ステップＳ１１５）。受信データ統合部２１は、２系統の８ビットパラレルデータを、１６ビットパラレルデータに統合して外部へ出力し（ステップＳ１１６）、全体の処理は終了する。
【００４８】
本実施形態に係るシリアルデータ送受信システム１は、シリアルデータ通信を行う装置間におけるクロックに関する同期制御を、簡易な構成により正確に行うことができる。その理由は、生成部１４が簡易な論理により生成した同期制御ビットを、制御ビット挿入部１３が２系統のシリアルデータにおける所定の位置に挿入することにより、シリアルデータ受信装置２０が、シリアルデータ送信装置１０との間において、クロックに関する同期制御を正確に行うからである。
【００４９】
２つの装置がシリアルデータ通信を行う場合、送信側装置及び受信側装置におけるクロックに関する同期がとれていないと、受信側装置が通信データを取りこぼす虞がある。送信側装置と受信側装置とがクロックに関する同期制御を行う方式としては、様々な方式が知られているが、簡易な構成により正確に同期制御を行うことが望ましい。
【００５０】
本実施形態に係るシリアルデータ受信装置２０における同期タイミング検出部２４は、２本のシリアルデータ通信路を経由して同じクロックタイミングに受信したビットのＥＸＯＲが反転した際に、受信用クロック２供給部２６に対して同期制御を指示する信号を生成する。この際、例えば、同期タイミング検出部２４は、２本のシリアルデータ通信路を経由して受信したデータが長期間にわたって同じ値が連続した場合、同じクロックタイミングに受信したビットのＥＸＯＲが長期間にわたって反転せずに、長期間にわたって同期制御を指示する信号を生成できなくなる。したがって、この場合、シリアルデータ受信装置２０は、長期間にわたってシリアルデータ送信装置１０との間におけるクロックに関する同期制御を行うことができずに、通信データを取りこぼす可能性が高くなる。
【００５１】
本実施形態に係るシリアルデータ送信装置１０における制御ビット挿入部１３は、複数のシリアルデータ通信路により送信する通信データに、時系列における３ビットごとに複数のシリアルデータ通信路間において均等に分散するように、同期制御ビットを挿入する。そして、生成部１４は、複数のシリアルデータ通信路を経由して同じクロックタイミングに発信されるビットに関するＥＸＯＲが示す値が、直前のクロックタイミングにおける値とは反転するように同期制御ビットを生成する。
【００５２】
したがって、同期タイミング検出部２４は、本実施形態において、３クロックタイミング以内に１回以上の頻度で、同期制御を指示する信号を生成することができる。一般的に、少なくとも３クロックタイミング以内に１回以上の頻度で同期制御を行うことが望ましいとされており、本実施形態に係る制御ビット挿入部１３は、時系列における３ビットごとに同期制御ビットを挿入することによって、正確な同期制御を簡易な構成により行うことができる。尚、制御ビット挿入部１３は、装置間の距離あるいはクロック周波数等の環境条件にしたがい、本実施形態より基準を厳しくして、時系列における２ビットごとに同期制御ビットを挿入してもよいし、あるいは、本実施形態より基準を緩くして、４ビット以上ごとに同期制御ビットを挿入してもよい。
【００５３】
また、本実施形態に係るシリアルデータ送信装置１０は、１６ビットパラレルデータを分割して２系統のシリアルデータ通信路によりシリアルデータ受信装置２０に送信し、シリアルデータ受信装置２０は、２系統のシリアルデータ通信路を経由して受信したデータを、元の１６ビットパラレルデータに統合する。この場合、シリアルデータ１系統あたりに挿入される同期制御ビットは６ビットごととなる。一方、１６ビットパラレルデータを分割せずに１系統のシリアルデータ通信路により送信する場合は、シリアルデータ１系統あたりに挿入される同期制御ビットは３ビットごととなる。したがって、シリアルデータ送受信システム１は、装置間に関するクロック同期制御を行う際に、データ転送効率が大きく低下することを回避することができる。
【００５４】
また、本実施形態に係るフレーム先頭部挿入部１５は、通常データとは区別可能であるフレーム先頭データを挿入するため、シリアルデータ受信装置２０は、受信したシリアルデータに関する取り込み開始を決定することができる。
【００５５】
尚、本実施形態に係るシリアルデータ送受信システム１は、１６ビットパラレルデータを入出力しているが、８ビット幅あるいは３２幅等のパラレルデータについても、同様に処理することが可能である。また、シリアルデータ送受信システム１は、３系統以上のシリアルデータ通信路を使用して通信してもよい。シリアルデータ送受信システム１が３系統のシリアルデータ通信路を備えた場合における、同期制御ビットが挿入されたシリアルデータの一例を図１０に示す。この場合、シリアルデータ送受信システム１は、ビット１１１乃至１２６に加えて、ビット１２７乃至１３４を送受信する。
【００５６】
図１０(ａ)は、１系統目のシリアルデータ通信路を流れるシリアルデータ１１６０の一例である。図１０(ｂ)は、２系統目のシリアルデータ通信路を流れるシリアルデータ１１７０の一例である。図１０(ｃ)は、３系統目のシリアルデータ通信路を流れるシリアルデータ１１８０の一例である。図１０(ｄ)は、３系統のシリアルデータ通信路を流れるシリアルデータのＥＸＯＲを取ったシリアルデータ１１９０の一例である。同期制御ビットＡ乃至Ｃは、時系列における３ビットごとに、それぞれ、１系統目乃至３系統目のシリアルデータに挿入される。図１０（ｄ）に示す通り、ビット１１３、１３０、及び、同期制御ビットＢのＥＸＯＲが示す値は、ビット１１２、１２１、及び、１２９のＥＸＯＲが示す値であるＸを反転した値である。同様に、ビット１１６、１２４、及び、同期制御ビットＣのＥＸＯＲが示す値は、ビット１１５、１２３、及び、１３２のＥＸＯＲが示す値であるＶを反転した値である。この場合は、シリアルデータ送受信システム１が備えるシリアルデータ通信路が１本増加することになるが、シリアルデータ１系統あたりに挿入される同期制御ビットは９ビットごととなり、データ転送効率が低下する度合いを、さらに減少させることができる。
【００５７】
＜第２の実施形態＞
図１１は第２の実施形態のシリアルデータ送信装置３０の構成を概念的に示すブロック図である。
【００５８】
本実施形態のシリアルデータ送信装置３０は、制御ビット挿入部３３、及び、生成部３４を備えている。
【００５９】
制御ビット挿入部３３は、同期して動作する複数、例えば２つのシリアルデータ通信路３０８乃至３０９を使用してデータをシリアルデータ受信装置４０に送信する際に、シリアルデータ通信路３０８乃至３０９のいずれかを流れるデータに対して、時系列な所定のビット間隔ごとに、シリアルデータ通信路３０８乃至３０９間において分散するように、同期制御ビットを挿入する。
【００６０】
生成部３４は、シリアルデータ受信装置４０が、シリアルデータ通信路３０８乃至３０９を経由して第一のクロックタイミングに受信した２ビットが示す値を基に所定の論理計算を行った結果を使用して前記複数のビットを取り込むタイミングを調整する場合に、第二のクロックタイミングに送信する同期制御ビット、及び、同期制御ビットを除く１以上のビットが示す値を基に所定の論理計算を行った結果が、第二のクロックタイミングの直前のクロックタイミングに送信する２ビットを基に所定の論理計算を行った結果と反転するように、同期制御ビットを生成する。
【００６１】
本実施形態に係るシリアルデータ送信装置３０は、シリアルデータ通信を行う装置間におけるクロックに関する同期制御を、簡易な構成により正確に行うことができる。その理由は、生成部３４が簡易な論理により生成した同期制御ビットを、制御ビット挿入部３３が２系統のシリアルデータにおける所定の位置に挿入することにより、シリアルデータ受信装置４０が、シリアルデータ送信装置３０との間において、クロックに関する同期制御を正確に行うからである。
【００６２】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図１１に示したシリアルデータ送信装置１０及び３０の各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる（ハードウェア構成を含む図１に示す送信データ分割部１１、Ｐ／Ｓ変換部１２、クレーム先頭挿入部１５、送信用クロック１供給部１６、及び、送信用クロック２供給部１７を除く）。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１２を参照して説明する。
【００６３】
図１２は、本発明の模範的な実施形態に係るシリアルデータ送信装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図１２は、図１、及び、図１１に示したシリアルデータ送信装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００６４】
図１２に示した情報処理装置９００は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）、ＲＯＭ９０２（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）、ＲＡＭ９０３（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）、ハードディスク９０４（記憶装置）、外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、及び、入出力インタフェース９０９を備え、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。
【００６５】
そして、上述した実施形態を例に説明した本発明は、図１２に示した情報処理装置９００に対して、その実施形態の説明において参照したブロック構成図（図１、及び、図１１）或いはフローチャート（図２Ａ乃至２Ｂ）の機能を実現可能なコンピュータプログラムを供給した後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００６６】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００６７】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００６８】
１    シリアルデータ送信システム
１０    シリアルデータ送信装置
１１    送信データ分割部
１２    Ｐ／Ｓ変換部
１３    制御ビット挿入部
１４    生成部
１４０    同期制御ビット生成回路
１４１    ＥＸＯＲゲート
１４２    ＥＸＮＯＲゲート
１５    フレーム先頭挿入部
１６    送信用クロック１供給部
１７    送信用クロック２供給部
２０    シリアルデータ受信装置
２１    受信データ統合部
２２    Ｓ／Ｐ変換部
２３    フレーム先頭検出部
２４    同期タイミング検出部
２５    受信用クロック１供給部
２６    受信用クロック２供給部
３０    シリアルデータ送信装置
３３    制御ビット挿入部
３４    生成部
４０    シリアルデータ受信装置
１０１    １６ビットパラレルデータ通信路
１０２乃至１０３    ８ビットパラレルデータ通信路
１０４乃至１０５    シリアルデータ通信路
１０６乃至１０７    シリアルデータ通信路
１０８乃至１０９    シリアルデータ通信路
１１１乃至１２６    ビット
１２７乃至１３４    ビット
２０１    １６ビットパラレルデータ通信路
２０２乃至２０３    ８ビットパラレルデータ通信路
２０４乃至２０５    シリアルデータ通信路
２０６乃至２０７    シリアルデータ通信路
３０８乃至３０９    シリアルデータ通信路
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記憶媒体
９０８    リーダライタ
９０９    入出力インタフェース
１０６０    シリアルデータ通信路１０６を流れるシリアルデータ
１０７０    シリアルデータ通信路１０７を流れるシリアルデータ
１０８０    シリアルデータ通信路１０６乃至１０７を流れるシリアルデータのＥＸＯＲを取ったシリアルデータ
１０９０    同期制御ビットＣに関する真理値表
１１００    シリアルデータ通信路１０８を流れるフレーム先頭データ
１１１０    シリアルデータ通信路１０９を流れるフレーム先頭データ
１１２０    シリアルデータ通信路１０８乃至１０９を流れるフレーム先頭データのＥＸＯＲを取ったシリアルデータ
１１３０    シリアルデータ通信路１０８乃至１０９を流れる通常データのＥＸＯＲを取ったシリアルデータ
１１６０    １系統目のシリアルデータ通信路を流れるシリアルデータ
１１７０    ２系統目のシリアルデータ通信路を流れるシリアルデータ
１１８０    ３系統目のシリアルデータ通信路を流れるシリアルデータ
１１９０    ３系統のシリアルデータ通信路を流れるシリアルデータのＥＸＯＲを取ったシリアルデータ
２０４０    シリアルデータ通信路２０４を流れるシリアルデータ
【図１】
2015115651.tif 000003
【図２Ａ】
2015115651.tif 000004
【図２Ｂ】
2015115651.tif 000005
【図３】
2015115651.tif 000006
【図４】
2015115651.tif 000007
【図５】
2015115651.tif 000008
【図６】
2015115651.tif 000009
【図７】
2015115651.tif 000010
【図８】
2015115651.tif 000011
【図９】
2015115651.tif 000012
【図１０】
2015115651.tif 000013
【図１１】
2015115651.tif 000014
【図１２】
2015115651.tif 000015