(57)【特許請求の範囲】
【請求項１】
少なくとも伝送周波数、ビット幅、制御信号の構成および送受信プロトコルの少なくとも一つが異なる複数のパラレルインタフェースのパラレルデータをシリアルデータに多重化する集積回路装置であって、
記憶装置と、
上記記憶装置に格納されたデータを１ビットづつ、上記集積回路装置に接続される伝送路に出力する信号送出回路と、
上記複数のパラレルインタフェースのパラレルデータが入力可能に構成され、選択したパラレルインタフェースのパラレルデータを上記記憶装置に出力するインタフェース信号セレクタと、
上記複数のパラレルインタフェースのそれぞれの周波数およびビット幅について第１情報を保持し、上記インタフェース信号セレクタに選択すべきパラレルインタフェースを通知する制御信号を発行する転送プログラマとを有し、
上記記憶装置は、上記シリアルデータを記憶するための複数のスロットと、上記複数のスロットのそれぞれが上記複数のパラレルインタフェースのいずれによって用いられているかを示すヘッダ情報を記憶するヘッダ情報記憶部とを有し、
上記信号送出回路は、上記複数のスロットに記憶された上記シリアルデータと、上記ヘッダ情報を、上記伝送路に送出し、
上記制御信号には、上記複数のパラレルインタフェースのうち、上記周波数と上記ビット幅との積が、ビットデータが配置されるサイクルにおける上記複数のスロットの周波数と、上記複数のスロットのビット幅の合計と、の積と同じかそれよりも大きいパラレルインタフェースを、上記複数のスロットのいずれかの複数サイクル分に割り当てる信号が含まれる、集積回路装置。
【請求項２】
請求項１記載の集積回路装置において、
上記転送プログラマは、上記パラレルインタフェースのパラレルデータに含まれる所定の１または複数ビットデータの変化を検知し、上記変化の生じたパラレルインタフェースを上記インタフェース信号セレクタにより選択すべきパラレルインタフェースとして決定する集積回路装置。
【請求項３】
請求項１記載の集積回路装置において、
上記転送プログラマは、外部装置から上記複数のパラレルインタフェースのそれぞれについて選択の要否を指示する外部選択信号を受け、上記外部選択信号により選択すべきパラレルインタフェースを決定する集積回路装置。
【請求項４】
請求項１記載の集積回路装置において、
上記転送プログラマは、さらに複数のパラレルインタフェースの優先度について第２情報を保持し、
上記第１情報及び上記第２情報に基づき、上記選択信号を生成する集積回路装置。
【発明の詳細な説明】
【技術分野】  本発明は、複数のパラレルインタフェースのパラレルデータをシリアル化して高速伝送する集積回路装置、そのような集積回路装置を搭載した信号伝送システムに関する。
【背景技術】  一般に多くのシステムでは、処理を行う対象となるデータ、各種制御信号など、システムを構成している各部品間ないし各機器間で信号の受け渡しが必要となる。このような目的のために、伝送周波数、データ信号のビット幅、制御信号の構成、送受信プロトコルなどが規定されたインタフェースと呼ばれる信号の受け渡し方法に則り半導体チップや部品間を接続することが広く行われている。このような信号のやりとりを行うインタフェースとして、データ信号のビット幅が複数であるインタフェース（「パラレルインタフェース」と称する）と単一のビット幅であるインタフェース（「シリアルインタフェース」と称する）とがある。なお、ここで単一のビット幅の信号の受け渡しとは、信号線数が１本であることを要求するのでなく、位相の異なる信号（例えば、正相と逆相の互いに相補的な信号）で伝送する場合も含まれるものである。
さて、従来、信号線の数を削減する目的から、パラレルインタフェースの信号をいったんシリアル化して、機器間、部品間、半導体チップ間をシリアルインタフェースで伝送し、これを再度パラレル信号に復元するという、パラレル／シリアル変換とシリアル／パラレル変換に関する技術がある。このような技術としては、「ディジタル回路」、斉藤忠夫著、コロナ社、昭和５７年、ｐ１０８−ｐ１１０（従来技術１）、特開平６−１０３０２５号公報（従来技術２）、特開平６−９６０１７号公報（従来技術３）、特開平１０−２２８３８号公報（従来技術４）といったものが挙げられる。
【発明の開示】
（従来技術１）で開示された技術は、ある単一のインタフェースに属するパラレルデータを送信器でシリアル信号に変換して伝送し、これを受信器で再びパラレルデータに復元して利用することを開示する。信号の受け渡しにシリアル接続を用いるため配線数を削減することができる。このことは、ケーブルやプリント基板上の配線が少なくなるため、機器の小型化やシステムコストの削減などの効果が得られる。しかしながら、複数の異なるパラレルインタフェースが存在した場合に、複数のパラレルインタフェースの信号を対象とするシリアル化、パラレル化については検討されていない。ここで、複数の異なるインタフェースとは、伝送周波数、データ信号のビット幅、制御信号の構成、送受信プロトコルの少なくともいずれかが異なるインタフェースが複数存在していることを指すものである。（従来技術２）で開示されたパラレル／シリアル変換およびシリアル／パラレル変換についても、同様の問題が存在する。また、（従来技術３）で開示される技術は、複数の装置間の信号を多重化するものであるが、シリアル接続を複数の装置（図１では３つの装置）のバス接続として利用しているものである。ここでは、どの装置がシリアル接続に信号を送出するかといったことをあらかじめ時間的に割り当てることにより、複数の装置が同時に信号を送出しないようにする技術が開示されている。この技術においても、複数の異なるインタフェースのシリアル化については検討されておらず、さらに、バス接続を前提としているため、信号線の分岐部分での信号反射の影響により高速（高周波数）での信号の受け渡しが困難であるという問題も生じよう。
発明者らは、１つのシステムにおいて多数の集積回路が搭載され、それが多数のパラレル信号により接続されていることがシステムの小型化やコスト削減を妨げるおそれがあること、ひいてはシステムの拡張性を妨げるおそれがあることに気がついた。そこで、複数のパラレルインタフェースを選択的にシリアル伝送させる本発明の構成を想到するに至ったものである。そして、このような複数のパラレルインタフェースから幾つかを選択して多重化して伝送する際に効率的なネットワーク接続されたシステム構成を提供する。一方、（従来技術４）に開示される技術において、図１の５ないし８に示されるような通信ユニットは複数の異なるインタフェースをまとめてシリアル化した後、装置間を伝送し、これをパラレル化して復元するといった例が示されている。このような通信ユニットはあらかじめ決められた複数の機器のパラレル信号を静的にシリアル化したものに過ぎず、複数の機器のインタフェース信号から選択的にシリアル化したり、選択を動的に変化させるということが考えられていない。
開示される本発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。複数のパラレルインタフェースのパラレルデータをシリアルデータに多重化する集積回路装置を、記憶装置と、記憶装置に格納されたデータを１ビットづつ、集積回路装置に接続される伝送路に出力する信号送出回路と、複数のパラレルインタフェースのパラレルデータが入力可能に構成され、選択したパラレルインタフェースのパラレルデータを記憶装置に出力するインタフェース信号セレクタと、インタフェース信号セレクタに選択すべきパラレルインタフェースを通知する制御信号を発行する転送プラグラマとを有して構成される。
また、シリアル信号を受信するチップはシリアル伝送のフレーム構造についての第１のレジスタを持っており、第１のレジスタに従って該当するデータを抽出する。また、シリアル信号を送信するチップはシリアル伝送のフレーム構造についての第２のレジスタを持っており、第２のレジスタに従って該当するデータからシリアルデータを生成する。このレジスタは可変にすることもできる。
また、パラレルインタフェースに基づく伝送を搭載される基板や、伝送周波数、伝送帯域によってパラレルデータとして伝送するか、シリアル化してシリアル伝送するかを使い分ける。
以下、実施例を用い、本発明に係る集積回路装置及び信号伝送システムについて詳細に説明する。
【図面の簡単な説明】  第１図は、本発明の信号伝送システムにおける信号送信器の構成を示す図である。
第２図は、本発明の信号伝送システムにおける信号受信器の構成を示す図である。
第３図は、本発明の信号伝送システムにおける信号送信器の別の構成を示す図である。
第４図は、本発明の信号送信システムにおいて、シリアル伝送されるフレーム構成を示す図である。
第５図は、本発明の信号送信システムにおける信号送信器のさらに別の構成を示す図である。
第６図（ａ）（ｂ）は転送プログラマの構成を示す図である。
第７図（ａ）はインタフェース間で優先度をつける転送プログラマの構成を示す図であり、第７図（ｂ）は優先度を可変とした転送プログラマの構成を示す図である。
第８図（ａ）（ｂ）はインタフェース情報を可変とした転送プログラマの構成を示す図である。
第９図はインタフェース信号セレクタの第１の構成例を示す図である。
第１０図はインタフェース信号セレクタの第２の構成例を示す図である。
第１１図はインタフェース信号セレクタの第３の構成例を示す図である。
第１２図（ａ）（ｂ）は、本発明の信号伝送システムの構成例を示す図である。
第１３図（ａ）（ｂ）は、本発明の信号伝送システムの別の構成例を示す図である。
第１４図は、中継器の構成例を示す図である。
第１５図は、中継器におけるデータ分流処理を説明する図である。
第１６図は、本発明のビット割り当てレジスタの設定方法を示す図である。
第１７図は、中継器におけるデータ合流処理を説明する図である。
第１８図は、本発明の信号伝送システムのさらに別の構成例を示す図である。
第１９図は、中継器の別の構成例を示す図である。
第２０図は、本発明の信号伝送システムのさらに別の構成例を示す図である。
第２１図は、周辺モジュールの構成例を示す図である。
第２２図は、信号伝送システムを折りたたみ式携帯電話に適用した例である。
【発明を実施するための最良の形態】  以下、本発明に係る信号伝送システム及びそれに用いる集積回路の好適な実施形態につき、添付図面を参照しながら詳細に説明する。
第１図を用いて、信号伝送システムにおける信号送信器１００の基本構成を説明する。この信号送信器１００は、複数のパラレルインタフェースＩＦ−Ａ〜Ｄに対応する信号を生成する信号生成回路１０１を備え、信号生成回路から生成された出力データをシリアル化して伝送路１０６に送出する。
パラレルインタフェースＩＦ−Ａ〜Ｄの各々に対応して信号生成回路ＩＦ−ＳＧ−Ａ〜Ｄが設けられ、各信号生成回路ＩＦ−ＳＧは該当するインタフェースの各ビットの値を生成する。信号生成回路ＩＦ−ＳＧ−Ａ〜Ｄのそれぞれは、従来の単一インタフェース用の信号生成回路と同様に構成される。インタフェース信号セレクタＩＦＳは、信号生成回路ＩＦ−ＳＧ−Ａ〜Ｄが生成したインタフェースごとの信号を選択的に取り出し、シリアルビットアレイＳＢＡＴに出力する。インタフェース信号セレクタＩＦＳの動作は、転送プログラマＴＰからの制御情報３０１により制御される。制御情報３０２はインタフェース信号セレクタＩＦＳが選択するインタフェースを指示するものである。シリアルビットアレイＳＢＡＴはメモリまたはレジスタであって、インタフェース信号セレクタＩＦＳからの出力を受け取り、これをシリアルなデータ列として保持する。
信号送出回路ＴＸは、シリアルビットアレイＳＢＡＴに格納されているデータを伝送路１０６について規定された物理仕様に整合した電圧または電流レベルに変換後、これを伝送路１０６に送出する。信号送出回路ＴｘがシリアルビットアレイＳＢＡＴの先頭ビットのデータを出力すると、シリアルビットアレイＳＢＡＴはその内部データが先頭側に向けて１ビットシフトされる。これにより、信号送出回路ＴＸは常にシリアルビットアレイの先頭のデータを取り出し、規定された物理仕様に合致した電圧または電流に変換後、伝送路１０６に送出すればよい。
また、第２図を用いて、信号伝送システムにおける信号受信器２００の基本構成を説明する。信号受信回路ＲＸは、伝送路２０１について規定された物理仕様に整合した電圧または電流レベルで伝送路２０１からの信号を受け取り、これを信号受信器２００で用いられる信号レベルに変換する。変換される信号レベルはシステムまたは半導体内部で用いられるデジタルデータの信号レベルであることが一般的である。
シリアルビットアレイＳＢＡＲは、メモリまたはレジスタであって、信号受信回路ＲＸが信号レベルの変換を行ったデータを順にシリアルなデータ列として保持する。ここで、受信プログラマＲＰは、信号送信器１００がシリアル信号を伝送路に送出する際に、複数のインタフェースの中からどのインタフェースを選択し、どのような順番で多重化したかの情報を信号送信器１００から受け取り、この情報に基づきシリアルビットアレイＳＢＡＲに格納されたデータを、多重化する前の複数のパラレルインタフェースのデータへと復元し、これを各インタフェースのパラレルデータとしてパラレルビットアレイＰＢＡに出力する。パラレルビットアレイＰＢＡは、各インタフェースのパラレルデータを保持するメモリまたはレジスタである。パラレルビットアレイＰＢＡに出力されたパラレルデータは、各インタフェースに対応する信号受信回路ＩＦ−ＳＲ−Ａ〜Ｄに受け渡される。
このように、信号送信器１００および信号受信器２００では、転送プログラマＴＰおよび受信プログラマＲＰが複数のインタフェースの中からどのインタフェースを選択し多重化と復元とを行うかをそれぞれ制御する。信号送信器１００が選択したインタフェースの信号がシリアル接続上に多重化される手続きに則り、信号受信器２００は選択されたインタフェースが多重化される前のデータの復元を行う必要がある。従って、受信プログラマＲＰはどのインタフェースが多重化され、シリアルデータのどこがどのインタフェースに対応するデータであるか特定できなければならない。そのやり方としては（１）モジュールとして多重化を固定してしまう、（２）シリアルデータのフレーム毎に多重化情報を含ませる、（３）多重化方法を変えたときだけ、多重化情報を伝送する、といった方法が考えられる。（１）の方法はシステムに余裕があるときには最も簡易に実現でき、（３）の方法は柔軟性が高く、かつ伝送効率もよい。
信号送信器１００における転送プログラマＴＰが複数のインタフェースの中から幾つかのインタフェースを選択して多重化する方法について説明する。第１図に第１の多重化方法の例を示す。転送プログラマＴＰは、複数のインタフェースの信号生成回路ＩＦ−ＳＧ−Ａ〜Ｄの出力信号（３０２、３０３、３０４、３０５）をモニタし、シリアルビットアレイＳＢＡＴに格納するインタフェースを選択する。第１の例は、プロトコルとして規定された信号のうち、送信を開始する場合に特定のビット（またはビット群）を変化させる仕様を有するプロトコルに適している。例えば、標準インタフェースの一つとして広く用いられているＰＣＩインタフェースがそのようなインタフェースに該当する。ＰＣＩインタフェースではデータの送信に先立ってＦＲＡＭＥ信号が低いレベルにセットされる。転送プログラマＴＰは、このような特定のビットまたはビット群（ＰＣＩインタフェースの場合はＦＲＡＭＥ信号）が変化することを検知することで、そのインタフェースが伝送を開始しようとしていることを知ることができる。したがって、送信プログラマＴＰは、複数のインタフェースのうちから上述のような特定のビット（ビット群）の変化が検知されたものを選択し、これらのインタフェースの信号をシリアルビットアレイＳＢＡＴに転送を行う。
第３図に第２の多重化方法の例を示す。この例では、複数のインタフェースの信号生成回路ＩＦ−ＳＧ−Ａ〜Ｄの入力にデータを与える回路ブロック４０６（例えばＭＰＵ）が、送信開始を意味する信号ＲＡ、ＲＢ、ＲＣ、ＲＤを出力する。転送プログラマＴＰは、明示的に信号ＲＡ、ＲＢ、ＲＣ、ＲＤ（４０２、４０３、４０４、４０５）を受けて、シリアルビットアレイＳＢＡＴに格納するインタフェースを選択する。
なお、第１図、第３図に示される方法は、互いに組み合わせて利用することも可能である。すなわち、データの送信元である回路ブロックが明示的にインタフェースの使用についての通知が可能である場合には第３図の方法を用い、明示的な通知が得られない場合には第３図の方法を用いることが可能である。
次に、選択された複数のインタフェースの信号が、信号送信器１００のシリアルビットアレイＳＢＡＴにどのように配置されるかを第４図（ａ）〜（ｃ）を用いて説明する。いずれも、複数のインタフェースから幾つかのインタフェースが選択される場合として、インタフェースＩＦ−Ａ、ＩＦ−Ｃ、ＩＦ−Ｄが選択され、それぞれ対応する信号Ａ１〜Ａ３、Ｃ１〜Ｃ２、Ｄ１〜Ｄ２が入力された場合の配置を示したものである。
第４図（ａ）の場合、シリアルビットアレイＳＢＡＴの先頭から順にインタフェースＩＦ−Ａ、ＩＦ−Ｃ、ＩＦ−Ｄのビットデータ（５０１、５０２、５０３）が格納されている。しかしながら、信号送信器１００がこのようなデータ配置を行ったことを信号受信器２００は知らないため、データを復元することが不可能である。従って、シリアルビットアレイＳＢＡＴにおけるデータ配置に関する情報を信号送信器１００から信号受信器２００へ伝達する仕組みが必要となる。
第４図（ｂ）はデータ配置情報を伝達するための第１のビットデータ配置の例を示したものである。シリアルビットアレイＳＢＡＴに各インタフェースのビットデータ（５０１、５０２、５０３）に加え、それらに先行するビット位置に引き続くビット配置についてのヘッダ情報ＳＬＨを配置する。ヘッダ情報ＳＬＨは後続するどのビットにどのインタフェースのデータが配置されているかを示すものである。この例では、第１領域５０４にインタフェースＩＦ−Ａの信号が配置された（すなわち、インタフェースＩＦ−Ａが選択された）ことを示しており、インタフェースＩＦ−Ａのビットデータの配置位置は、例えば開始ビット位置を示す第２領域５０５に格納されているビット位置ｓｔｂ１から始まり、終了ビット位置を示す第３領域５０６に格納されているビット位置ｅｎｂ１までであることを示している。インタフェースＩＦ−Ｃ、ＩＦ−Ｄについても同様である。例えば、第１領域５０４は２ビット、第２領域５０５・第３領域はそれぞれ６ビットで構成する。なお、このようなデータ配置情報についての信号送信器１００と信号受信器２００の間でのやりとりは、インタフェースの選択状況が変化したタイミングで行われればよい。したがって、第４図（ｂ）の例では、選択されたインタフェースがＩＦ−Ａ、ＩＦ−Ｃ、ＩＦ−Ｄとなったタイミングでその状態を示すヘッダ情報ＳＬＨを信号受信器２００に送信し、その後は選択されたインタフェースに変更が生じるまでヘッダ情報ＳＬＨを含まない形で送信を継続することが通信効率を高めるために望ましい。
第４図（ｃ）はデータ配置情報を伝達するための第２のビットデータ配置の例を示したものである。この例では、シリアルビットアレイＳＢＡＴのビット列を予め一定の大きさのスロットに分割しておく。ヘッダ情報ＳＬＨには、各スロットがどのインタフェースにより利用されるかということを示す情報（５０７１、５０８１、５０９１）が格納される。この例では、第１領域５０７１に第１スロットＳＬ１を用いるインタフェース（インタフェースＩＦ−Ａ）を、第２領域５０８１に第２スロットＳＬ２を用いるインタフェース（インタフェースＩＦ−Ｃ）を、第３領域５０９１に第３スロットＳＬ３を用いるインタフェース（インタフェースＩＦ−Ｄ）を指示するようにする。このような方法によれば、各インタフェースの開始ビット位置や終了ビット位置を示す必要がなくなるため、本来のビットデータに先行する配置情報のデータ量を少なくすることが可能となる。例えば、第２の例ではヘッダ情報ＳＬＨの第１〜第３領域のそれぞれを２ビットとして、第１の例と比べヘッダ情報ＳＬＨに要するデータ量を大きく削減できる。また、スロットの大きさが予め定められているために、信号受信器２００で異なるインタフェースの区切りとなるビット位置を検出するためのビット位置検出機構も単純化することが可能になる。
第５図は、信号送信器１００において複数のインタフェースの中から幾つかのインタフェースを選択して多重化する別の方法を示しており、転送プログラマＴＰに制御されるインタフェース信号セレクタＩＦＳを介することなくインタフェース信号生成回路ＩＦ−ＳＧ−Ａ〜ＤとシリアルビットアレイＳＢＡＴとを直接に接続する構成を示している。この構成では、全てのインタフェースのビットデータを漏れなくシリアルビットアレイＳＢＡＴに配置するためには、シリアルビットアレイＳＢＡＴが各インタフェースのビット幅に応じた配置領域を有することが必要となる。つまり、シリアルビットアレイＳＢＡＴのビットサイズは、全てのインタフェースのビット幅分必要となる。
上述のように、シリアルビットアレイＳＢＡＴは先頭のビットに接続された信号送出回路ＴＸが１ビットのデータを伝送するごとに１ビットシフト動作を行う。そのため、各インタフェースの周波数が異なる場合、インタフェース信号生成回路ＩＦ−ＳＧ−Ａ〜ＤがシリアルビットアレイＳＢＡＴの各領域６０２〜６０５に各々の周波数でビットデータを格納すると、シフト動作によりデータが破壊されてしまう可能性がある。そのため、いずれのインタフェースのビットデータももれなく信号送出回路ＴＸから伝送されるようにするためには、一定の周期毎に一斉にシリアルビットアレイＳＢＡＴのデータが入れ替えられるようにする必要がある。
第６図（ａ），（ｂ）により、転送プログラマＴＰが複数のインタフェースから幾つかのインタフェースを選択し、ビットデータをシリアルビットアレイＳＢＡＴに転送する方法について説明する。ここでは、第４図（ｃ）に示したようなスロット構成による伝送を行う場合に、転送プログラマＴＰが、インタフェースをスロットに割り当てる制御方法について説明する。
転送プログラマＴＰは、複数のインタフェースのそれぞれに関してその周波数Ｆとビット幅ＢＷを記載したインタフェース情報テーブル７０１と、これを利用してシリアルビットアレイＳＢＡＴ中のどのスロットにどのインタフェースの信号を配置するかを示す制御信号を生成するスロットアライナＳＬ−ＡＬを有する。以降、先に第１図、第３図を用いて説明したような手順により複数のインタフェースから幾つかのインタフェースが選択される場合にはインタフェースＩＦ−Ａ、ＩＦ−Ｃ、ＩＦ−Ｄが選択されるものとする。言い換えれば、実際にデータ転送が必要とされているのはインタフェースＩＦ−Ａ，ＩＦ−Ｃ，ＩＦ−Ｄであるものとする。
シリアル伝送は１９２０ＭＨｚの周波数で動作し、１９２０Ｍｂｐｓ（ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ：ビットパーセカンド）分のデータ転送帯域を有するとする。また、シリアルビットアレイＳＢＡＴの各インタフェースのビットデータが格納される領域は３２ビット幅であり、６０ＭＨｚの周波数で格納されているデータが入れ替えられるものとし、さらに３２ビット幅は８ビット幅のスロットに分割されているものとする。したがって、１スロットあたりの伝送帯域が６０ＭＨｚ×８＝４８０Ｍｂｐｓとして決められている。転送プログラマＴＰはあらかじめ各インタフェースが使用する伝送帯域と、この１スロットあたりの伝送帯域とを比較し、どのサイクルのどのスロットに各インタフェースの信号を配置するかを決定する。今、第６図（ａ）に示されるように、インタフェースＩＦ−Ａ〜Ｄがそれぞれ３０ＭＨｚ×３２ビット（９６０Ｍｂｐｓ）、１０ＭＨｚ×３２ビット（３２０Ｍｂｐｓ）、１５ＭＨｚ×５６ビット（８４０Ｍｂｐｓ）、２ＭＨｚ×８ビット（１６Ｍｂｐｓ）のデータ転送帯域を使用するものとすれば、これら全てのデータ転送帯域を加算すると２１３６Ｍｂｐｓの帯域が必要となる。
第６図（ａ）のスロットアライナＳＬ−ＡＬは、実際にどのインタフェースでデータ転送が必要されているかにかかわらず、インタフェースＩＦ−Ａ、ＩＦ−Ｂ、ＩＦ−Ｃ、ＩＦ−Ｄの全てを選択するように、インタフェース信号セレクタＩＦＳに制御信号３０１を出力する例である。例えば、インタフェース情報テーブル７０１に登録されているインタフェース４種類（ＩＦ−Ａ〜Ｄ）の全てを順に選択するよう指示する制御信号７０３を生成する。６０ＭＨｚの周波数でのサイクルごとにシリアルビットアレイＳＢＡＴの３２ビットデータ（４スロット（それぞれスロットＳＬ１〜４とする）に相当）は入れ替えされ、各インタフェースのビット幅に応じて第１サイクルより順に各スロットのビットデータを配置する。この場合、転送プログラマＴＰは第１サイクルでインタフェースＩＦ−Ａの信号を配置するべくインタフェースＩＦ−Ａのビットデータを取り込む制御信号７０４を出力する。インタフェースＩＦ−Ａは３２ビット幅であるから、シリアルビットアレイＳＢＡＴの４スロットを１サイクル占有する（第１サイクル）ことで配置できる。次に、転送プログラマＴＰはインタフェースＩＦ−Ｂの信号を配置するべくインタフェースＩＦ−Ｂのビットデータを取り込む制御信号７０５を出力する。インタフェースＩＦ−Ｂも３２ビット幅であるから、シリアルビットアレイＳＢＡＴの４スロットを１サイクル占有する（第２サイクル）ことで配置できる。次に、転送プログラマＴＰはインタフェースＩＦ−Ｃの信号を配置するべくインタフェースＩＦ−Ｃのビットデータを取り込む制御信号７０６を出力する。インタフェースＩＦ−Ｃは５６ビット幅であるから、シリアルビットアレイＳＢＡＴの４スロットを１サイクル占有する（第３サイクル）のみでは配置されず、残りのビットデータを配置するため、第４サイクルで残りの３スロットを用いるよう制御信号７０７を出力する。さらに制御信号７０７では空いた１スロットをインタフェースＩＦ−Ｄの信号を配置するために用いている。インタフェースＩＦ−Ｄは８ビット幅であるから、結局４サイクルで全てのインタフェースのビット幅の和に相当するビット数が得られている。
しかしながら、このように単純にインタフェース情報テーブル７０１に登録されているインタフェースからのビットデータの全てをシリアルビットアレイＳＢＡＴに転送する方式は、実装容易であるものの転送帯域の不足が生じやすい。ここで、インタフェースＩＦ−Ａに着目する。インタフェースＩＦ−Ａは３０ＭＨｚで３２ビットのデータを転送する必要がある。これに対して、シリアルビットアレイＳＢＡＴに格納されるデータは６０ＭＨｚのサイクルで４サイクルに１回の３２ビットのデータである。従って、１５ＭＨｚのサイクルで３２ビットデータが配置されるに過ぎない。これでは３０ＭＨｚのサイクルで３２ビットデータを転送しなければならないインタフェースＩＦ−Ａのデータ転送帯域を満たすことができない。したがって、この転送方法では、インタフェースＩＦ−Ａでは必要なデータの転送が行えない状態が発生してしまう。
しかしながら、上述のように常に全てのインタフェースからビットデータが転送されるとは限らず、ある時間帯を取ってみればデータの転送が必要なインタフェースはそのうちのいくつかである。第６図（ｂ）は、実際にデータの転送が必要なインタフェースがＩＦ−Ａ、ＩＦ−Ｃ、ＩＦ−Ｄである場合に、転送プログラマＴＰがシリアルビットアレイＳＢＡＴにデータを配置する別の方法である。第６図（ａ）と同様に６０ＭＨｚの周波数でのサイクルごとにシリアルビットアレイＳＢＡＴの３２ビットデータ（４スロット相当）は入れ替えされる。転送プログラマＴＰは第１サイクルでインタフェースＩＦ−Ａの信号を配置するべくインタフェースＩＦ−Ａのビットデータを取り込む制御信号７０９を出力する。次に、転送プログラマＴＰはインタフェースＩＦ−Ｂの信号は転送する必要がないことを検知して、インタフェースＩＦ−ＢについてのシリアルビットアレイＳＢＡＴへの配置は行わない。代わりにインタフェースＩＦ−Ｃの信号を配置するべく第２サイクルでインタフェースＩＦ−Ｃのビットデータを取り込む制御信号７１０を出力する。インタフェースＩＦ−Ｃは５６ビット幅であるから、シリアルビットアレイＳＢＡＴの４スロットを占有してもまだ全てのデータがシリアルビットアレイＳＢＡＴに配置されてはいない。しかし、転送プログラマＴＰは、インタフェースＩＦ−Ａの信号をシリアルビットアレイＳＢＡＴに配置するべく第３サイクルでインタフェースＩＦ−Ａのビットデータを取り込む制御信号７１１を出力する。次に、第４サイクルでインタフェースＩＦ−ＣのデータでまだシリアルビットアレイＳＢＡＴに配置されていない２４ビット（５６ビット（インタフェースＩＦ−Ｃのデータ幅）−３２ビット（第２サイクルでシリアルビットアレイＳＢＡＴに配置されたビット数））を残りの３スロットに配置するよう制御信号７１２を出力する。さらに制御信号７１２では空いた１スロットをインタフェースＩＦ−Ｄの信号を配置するために用いている。以下、この４サイクルを繰り返す。
さて、第６図（ｂ）のような転送を行った場合、インタフェースＩＦ−Ａでは、第１サイクルと第３サイクルでそれぞれ４つのスロットを用いて３２ビットずつのデータがシリアルビットアレイＳＢＡＴに転送されている。すなわち、２サイクルに１回の３２ビットデータが配置される。したがって、６０ＭＨｚの半分である３０ＭＨｚのサイクルで３２ビットのデータがシリアルビットアレイＳＢＡＴに配置され、信号送出器ＴＸを介して転送できる。これは、インタフェースＩＦ−Ａが必要とする転送帯域３０ＭＨｚ×３２ビットと同じである。次にインタフェースＩＦ−Ｃに着目すると、第２サイクルと第４サイクルにそれぞれ４スロット、３スロットを用いて合計７スロット分のデータが配置される。従って、４サイクルに５６ビットのデータが転送可能である。これはすなわち６０ＭＨｚの１／４である１５ＭＨｚで５６ビットの転送帯域を持つこととなり、インタフェースＩＦ−Ｃが必要とする転送帯域と同じである。さらに、インタフェースＩＦ−Ｄでは、第４サイクルに１スロット分を利用してデータの配置がなされる。すなわち、６０ＭＨｚの１／４である１５ＭＨｚで８ビットのデータ転送が可能である。これは１５ＭＨｚ×８ビット＝１２０Ｍｂｐｓに相当する。一方インタフェースＤが必要とする転送帯域は２ＭＨｚ×８ビット＝１６Ｍｂｐｓであるから、上記１２０Ｍｂｐｓより小さく、転送帯域の問題は生じない。このように、選択されているインタフェースに応じて多重化の方法を異ならせることで、転送帯域の不足が生じる可能性を下げることが可能になる。
第７図（ａ）は転送プログラマＴＰがインタフェースをスロットに割り当てる制御方法の別の例であり、インタフェース間での転送帯域に対する要求満足度を考慮して割り当てる場合の例である。このような制御方法は、要求満足度がインタフェースによって異なり、要求満足度の低いインタフェースでは転送帯域が守られない場合があってもシステムとしての問題が小さい場合に好適なものである。この例では、このような転送帯域要求の厳しさを考慮して、転送プログラマＴＰはシリアルビットアレイＳＢＡＴに各インタフェースからのビットデータを配置する。
この例では、シリアル伝送は１２８０ＭＨｚの周波数で動作し、１２８０Ｍｂｐｓ分のデータ転送帯域を有し、４０ＭＨｚの周波数ごとに３２ビット幅のシリアルビットアレイＳＢＡＴに格納されているデータを入れ替えるものとする。第７図（ａ）の例では、インタフェース情報テーブル８０１において要求満足度を示す指標として各インタフェースに対して優先度Ｐが付されている。インタフェースＩＦ−Ｄ、ＩＦ−Ｂ、ＩＦ−Ａ、ＩＦ−Ｃの順に優先度がつけられているため、インタフェースＩＦ−Ａ、ＩＦ−Ｃ、ＩＦ−Ｄが選択されている場合、優先度Ｐが高いインタフェースほどそのビットデータを早いサイクルに配置するようにする。
優先度つきスロットアライナＰ−ＳＬ−ＡＬは、最も優先度Ｐの高いインタフェースＩＦ−Ｄの信号を配置するべく第１サイクルでインタフェースＩＦ−Ｄのビットデータを取り込む制御信号８０３を出力する。インタフェースＩＦ−Ｄのデータは８ビット幅であるから、シリアルビットアレイＳＢＡＴのサイズ１スロットに第１サイクルで配置される。また、転送プログラマＴＰは、第２優先度のインタフェースＩＦ−Ｂの信号が転送する必要がないことを検知して、制御信号８０３により第３優先度のインタフェースＩＦ−Ａの信号を配置するべく第１サイクルの残りのスロットにインタフェースＩＦ−Ａのビットデータを取り込ませる。これによりまずインタフェースＩＦ−Ａのうち２４ビット分が、シリアルビットアレイＳＢＡＴの３スロットに第１サイクルで配置される。次に、優先度つきスロットアライナＰ−ＳＬ−ＡＬは、インタフェースＩＦ−Ａの残りの８ビットデータを第２サイクルで配置するよう制御信号８０４を出力する。また、制御信号８０４は、第２サイクルの残りの３スロットにインタフェースＩＦ−Ａの次の２４ビットデータを配置させる。続いて、インタフェースＩＦ−Ａの残りの８ビットデータを配置するべく第３サイクルでインタフェースＩＦ−Ａのビットデータを取り込む制御信号８０５を出力する。制御信号８０５は、第３サイクルの残りの３スロットでインタフェースＩＦ−Ａの次の２４ビットデータを配置させる。第４サイクルではインタフェースＩＦ−Ａの残りの８ビットデータを配置するべくインタフェースＩＦ−Ａのビットデータを取り込む制御信号８０６を出力する。制御信号８０６はインタフェースＩＦ−Ｃのデータのうち２４ビットを第４サイクルの残りの３つのスロットに配置する。なお、インタフェースＩＦ−Ｃは５６ビットデータであるため、残りの３２ビットは未だ配置されていない。第５サイクルでは、シリアルビットアレイＳＢＡＴにインタフェースＩＦ−Ａの次のデータを配置すべくインタフェースＩＦ−Ａのビットデータを取り込む制御信号８０７を出力する。第６サイクルでは、さらにインタフェースＩＦ−Ａの次のデータを配置すべくインタフェースＩＦ−Ａのビットデータを取り込む制御信号８０８を出力する。第７サイクルでは、シリアルビットアレイＳＢＡＴにインタフェースＩＦ−Ａの次のデータを配置すべくインタフェースＩＦ−Ａのビットデータを取り込む制御信号８０９を出力する。第８サイクルではインタフェースＩＦ−Ｃの次のデータをシリアルビットアレイＳＢＡＴに配置すべくインタフェースＩＦ−Ｃのビットデータを取り込む制御信号８１０を出力する。以下、上記８サイクルを繰り返す。
上記のような転送を行った場合に、各インタフェースの必要とする転送帯域を満たしつつデータ転送が行えるかどうかを確認する。まず、インタフェースＩＦ−Ｄについては、第１サイクルで１スロット分のデータが配置され、以降第８サイクルまでデータが配置されることはない。したがって、５ＭＨｚ（４０ＭＨｚ／８）の周波数に１回８ビットのデータが転送される、すなわちこれは５ＭＨｚ×８ビットのデータ転送帯域であり、インタフェースＩＦ−Ｄが必要とする転送帯域より少ないためなんら問題は生じない（データ転送帯域の剰余分はデータを配置しないことで対応可能である）。次にインタフェースＩＦ−Ａに着目すると、第１サイクルから第４サイクルと第５サイクルから第８サイクルまでのそれぞれに１２のスロットが配置される。従って、１０ＭＨｚ（４０ＭＨｚ／４）当たり３２×３ビットのデータ転送が行われ、これは、インタフェースＩＦ−Ａが必要とする転送帯域３０ＭＨｚ×３２ビットと同じであるためなんら問題は生じない。次にインタフェースＩＦ−Ｃに着目すると、第４サイクルと第８サイクルにそれぞれ３スロット、４スロットを用いて合計７スロット分のデータが配置される。従って、８サイクルに５６ビットのデータが転送可能である。すなわち５ＭＨｚ（４０ＭＨｚ／８）で５６ビットの転送帯域を持つこととなり、インタフェースＩＦ−Ｃが必要とする転送帯域の１５ＭＨｚ×５６ビットより少なく、インタフェースＩＦ−Ｃの転送帯域を満足できない。しかしながら、インタフェースＩＦ−Ｃの要求満足度が他のインタフェース（すなわち、ここではＩＦ−ＡやＩＦ−Ｄ）より低くても構わない場合、このようなインタフェースＣにおける転送帯域の不足は、他のインタフェースの転送帯域の不足よりは望ましいといえる。
第７図（ｂ）はインタフェース情報テーブル８１３における優先度Ｐを固定の値とせず、変更可能なレジスタまたはメモリへの書き込みとして実装する例を示している。このようにすれば、システムの製造時に固定的にインタフェース間の優先度を決定することなく、柔軟にシステム設計後またはシステム起動後に優先度（８１１または８１２）を変更することが可能となる。
第８図（ａ）は、各インタフェースの情報をシステム製造後においてもインタフェース情報テーブルに変更可能とした構成を示したものである。すなわち、インタフェース情報テーブル９０１には、予め登録されたインタフェースの情報（９０２、９０３）に加えて、これらが格納されている領域とは別の領域（９０４、９０５）に、システム製造後、別のインタフェース情報（９０６、９０７）が登録され得る。全てのインタフェース情報の登録がシステム製造後に行われてもよい。第８図（ｂ）は、優先度つきインタフェース情報テーブルに関して、システム製造後、またはシステム稼動後にインタフェース情報が追加登録される例を示したものである。
第９図〜第１１図により、インタフェース信号セレクタＩＦＳの構成例を説明する。インタフェース信号セレクタＩＦＳは、信号生成回路が生成した複数のインタフェースから選択された幾つかのインタフェースのデータを取り出しシリアルビットアレイＳＢＡＴに出力する機能を有する。インタフェースの選択は、転送プログラマＴＰから受け取る制御情報３０１をもとになされる。第９図では、インタフェース信号セレクタＩＦＳは、複数のインタフェースの信号２１０１を受け取り、転送プログラマからの制御信号３０１によって、シリアルビットアレイＳＢＡＴに出力するインタフェースを選択する。複数のインタフェースからの信号のそれぞれは、シリアルビットアレイＳＢＡＴへの出力２１０３に接続されるセレクタ２１０５に入力される。転送プログラマＴＰからの制御信号３０１により選択されたインタフェースの信号は、セレクタコントローラＳＥＬＣＯＮに制御されたセレクタ２１０５によって選択され、シリアルビットアレイＳＢＡＴに配置される。第１０図は別の構成例を示す図である。複数のインタフェースの周波数が同一である場合、各インタフェースからの信号をいったん一時的に保存すべく基準信号２１０７に同期させてメモリ２１０６に格納した後、セレクタ２１０５へ出力する。これにより、複数のインタフェースからの信号の間で入力タイミングに相違がある場合にでも、いったんこれを基準信号２１０７に同期させてメモリ２１０６に格納した後、再び基準信号２１０７に同期させて同一のタイミングで出力することにより、セレクタ２１０５以後の信号伝播経路にタイミングの相違の影響を伝えないようにできる。このようなメモリ２１０６はＤフリップフロップなどのクロック信号に同期して値を保存および出力する回路により実現できる。第１１図はさらに別の構成例を示す図である。複数のインタフェースの周波数が異なる場合、各インタフェースからの信号を一時的に保存する際に異なる基準信号（２１０８、２１０９、２１１０、２１１１）に同期させてメモリ格納した後、再び別の基準信号２１１２に同期させて出力するものである。
第１２図（ａ）は、本発明の信号伝送システムの構成例であり、プリント基板１００１上にマイクロプロセッサＭＰＵ１と２つの周辺モジュール（ＰＭ１、ＰＭ２）を備えている。周辺モジュールとは、例えばカメラモジュール、液晶ディスプレイモジュール、メモリモジュールなど、マイクロプロセッサにより制御されるデバイスや、マイクロプロセッサのための記憶装置、画像処理や音声処理等の専用の演算を行う補助プロセッサなどのマイクロプロセッサ以外の構成部品を指す。正確にはカメラモジュール、液晶ディスプレイモジュールには集積回路だけでなくカメラや液晶ディスプレイの本体も含まれているが、図ではプリント基板１００１上の集積回路部分のみ示している。マイクロプロセッサＭＰＵ１は、第１図に示した複数のインタフェース信号をシリアル信号へと多重化して送信する送信ユニットと、第２図に示したような多重化されたシリアル信号を受信して各々のインタフェースのパラレル信号に復元する受信ユニットとを備えているものとする。図の例では、２本の信号線を対にした差動信号伝送路でデータおよびクロックの送信を行っている。
マイクロプロセッサＭＰＵ１に接続される差動シリアル信号伝送路は、マイクロプロセッサＭＰＵ１から周辺モジュールＰＭ１に送信されるデータ用の差動信号伝送線路１００３、マイクロプロセッサＭＰＵ１が受信するデータ用の差動信号伝送路１００５、マイクロプロセッサＭＰＵ１からの送信データに同期したクロック信号用差動信号伝送線路１００４、マイクロプロセッサＭＰＵ１が受信するデータに同期したクロック信号用差動信号伝送路１００６の４組である。図では理解の一助として、信号の方向を伝送線路の傍に矢印を記入して示している。
第１２図（ａ）のシステム構成で用いられている周辺モジュールＰＭ１，ＰＭ２は、従来のパラレルインタフェースを具備しているとする。このため、各周辺モジュールのパラレルインタフェースに合致したパラレル信号を送受信する中継器ＲＬ１，ＲＬ２が必要となる。中継器の構成については、別図を用い後で詳しく説明するが、ここでは機能だけについて説明する。中継器ＲＬ１はマイクロプロセッサＭＰＵ１から送信される多重化されたシリアル信号を、差動シリアル信号伝送路１００３を介して受信し、パラレル信号に変換し、周辺モジュールＰＭ１に必要な信号だけを選択してパラレル信号伝送路１０１５を介して周辺モジュールＰＭ１に送信する機能と、周辺モジュールＰＭ１から送信されたパラレル信号を、パラレル信号伝送路１０１５を介して受信し、中継器ＲＬ２から送信されたシリアル信号を、差動シリアル信号線１００９を介して受信し、これらの受信信号から多重化されたシリアル信号を生成し、差動信号伝送線路１００５を介して、マイクロプロセッサＭＰＵ１に送信する機能を有する。さらに、中継器ＲＬ１は、マイクロプロセッサＭＰＵ１から送信された多重化されたシリアル信号を、差動シリアル信号伝送路１００３を介して受信し、差動シリアル信号伝送路１００７を介して中継器ＲＬ２に送信する機能を有する。中継器ＲＬ２も中継器ＲＬ１とほぼ同様の機能を有するが、別の中継器への接続がない点で中継器ＲＬ１と異なる。このような信号伝送は、例えば、２つの周辺モジュールがカメラモジュールと液晶ディスプレイモジュールの場合のように、マイクロプロセッサと周辺モジュールとの間でのデータ転送のみが存在し、周辺モジュール間のデータ転送がない場合に生じる信号伝送である。これに対して、周辺モジュール間のデータ転送が存在する場合もある。例えば、周辺モジュールがメモリと画像処理プロセッサの場合は、画像処理プロセッサとマイクロプロセッサのどちらもがメモリにアクセスし、また、画像処理プロセッサとマイクロプロセッサ間に信号の送受信がありえる。この場合、中継器ＲＬ１はマイクロプロセッサＭＰＵ１から送信されたシリアル信号をパラレル信号に変換し、周辺モジュールＰＭ１に必要な信号だけを選択してパラレル信号伝送路１０１５を介して周辺モジュールＰＭ１に送信するだけでなく、中継器ＲＬ２から送信されたシリアル信号をパラレル信号に変換し、周辺モジュールＰＭ１に必要な信号だけを選択してパラレル信号伝送路１０１５を介して周辺モジュールＰＭ１に送信することも行う。また、周辺モジュールＰＭ１から送信されたパラレル信号を、パラレル信号伝送路１０１５を介して受信し、マイクロプロセッサＭＰＵ１に送信するのか、周辺モジュールＰＭ２に送信するのかを判断し、マイクロプロセッサＭＰＵ１に送信する場合は、中継器ＲＬ２から送信されたシリアル信号との合成により多重化されたシリアル信号を生成して、差動シリアル信号伝送路１００５を介して、マイクロプロセッサＭＰＵ１に送信する。一方、周辺モジュールＰＭ２に送信する場合は、マイクロプロセッサＭＰＵ１から送信されたシリアル信号との合成により多重化されたシリアル信号を生成して、差動シリアル信号伝送路１００７を介して、中継器ＲＬ２に送信する。このように、従来は、第１２図（ａ）のパラレル伝送線路１０１５，１０１６の全てがマイクロプロセッサＭＰＵ１に接続せざるを得ないことを考えれば、マイクロプロセッサに接続する信号伝送路の数が従来よりも大きく削減できることが容易に理解できる。
第１２図（ａ）の差動伝送線路に代えて、シングルエンドと呼ばれるいわゆる１線式の伝送線路を用いた例を第１２（ｂ）に示す。１線式と２線式では、マイクロプロセッサや中継器内の入出力回路が異なるが、１線式ではＴＴＬ、ＳＳＴＬ、ＨＣＭＯＳ、２線式ではＬＶＤＳやＣＭＬなどの公知の技術を用いればよいため、本図では省略してある。本発明ではこれらの入出力回路を限定するものではない。
また、第１２図（ａ）（ｂ）においては、クロック信号は送信側からシリアルデータに同期して送信される。第１２図（ａ）では、マイクロプロセッサＭＰＵ１から送信されるシリアルデータに同期したクロック信号を送信する差動信号伝送路１００４、中継器ＲＬ１からマイクロプロセッサＭＰＵ１に送信するシリアルデータに同期したクロック信号を送信する差動信号伝送路１００６、中継器ＲＬ１から中継器ＲＬ２に送信するシリアルデータに同期したクロック信号を送信する差動信号伝送路１００８、中継器ＲＬ２から中継器ＲＬ１に送信するシリアルデータに同期したクロック信号を送信する差動信号伝送路１０１０によってクロック信号伝送路が構成される。同様に第１２図（ｂ）では、マイクロプロセッサＭＰＵ１から送信されるシリアルデータに同期したクロック信号を送信する信号伝送路１０１９、中継器ＲＬ１からマイクロプロセッサＭＰＵ１に送信するシリアルデータに同期したクロック信号を送信する信号伝送路１０２０、中継器ＲＬ１から中継器ＲＬ２に送信するシリアルデータに同期したクロック信号を送信する信号伝送路１０２３、中継器ＲＬ２から中継器ＲＬ１に送信するシリアルデータに同期したクロック信号を送信する信号伝送路１０２４によって、クロック信号伝送路が構成される。高速のシリアルデータ転送を行う場合は、スキューと呼ばれるデータとクロックのタイミングずれを最小に抑える必要があり、図のようにクロックとデータの信号伝送線路をできるだけ長さや経路を同一並走させて、送信側がシリアルデータと共にクロックを送信する方法が用いている。
第１３図は本発明の信号伝送システムの別の構成例であり、第１２図とは異なるクロック供給を行っている。第１３図（ａ）は、シリアルデータの転送周波数が比較的低い場合に適している。この構成では、マイクロプロセッサＭＰＵ１からクロック信号伝送線路１１０１により、全てのモジュールにクロック信号が分配されている。本図では、クロック信号伝送線路を差動信号でなく１本の信号で伝送する例を示している。また、逆に第１２図（ａ）（ｂ）よりさらに高速のシリアル伝送を行う場合は、データとクロックとの微小のスキューでさえ問題となるために、第１３図（ｂ）に示したようにデータに同期したクロックの伝送を行わずに、送信側でデータにクロックを埋め込み送信し、受信側で受信信号からデータとクロックを再現するいわゆるクロック・データリカバリ回路を用いればよい。これらの技術は公知のものが存在するのでここでは説明を省く。
第１４図は、第１２図（ａ）に示した信号伝送システムの中継器ＲＬ１の内部構成を詳しく示した図である。マイクロプロセッサＭＰＵ１からは、２つの周辺モジュールへ送信されるデータを多重シリアル化して差動信号伝送線路１００３に送信され、シリアルデータに同期したクロック信号が差動信号伝送線路１００５に送信される。中継器ＲＬ１は、シリアル受信器ＳＲ１で差動信号を受信する。受信したシリアルデータは、シリアル／パラレル変換器ＳＰ１に入力される。受信したクロックは、中継器内部のクロック信号線１２１４で、クロック分周器ＣＤＶ１、シリアル／パラレル変換器ＳＰ１、パラレル／シリアル変換器ＰＳ１、シリアル送信器ＳＴ１に分配される。以下では、このクロック信号を「第１のシリアルクロック」と呼ぶ。クロック分周器ＣＤＶ１では、第１のシリアルクロックを分周し、第１のシリアルクロックより低い周波数のクロックを生成する。以下では、これを「第１のパラレルクロック」と呼ぶ。第１のパラレルクロックは、中継器内部のクロック信号線１２１６で、シリアル／パラレル変換器ＳＰ１、データ分流器ＤＤ１、パラレル／シリアル変換器ＰＳ１、パラレル送受信回路ＰＴＶ１に分配される。シリアル／パラレル変換器ＳＰ１では、シリアルデータをパラレルデータに変換する。シリアル／パラレル変換器は例えばシフトレジスタを用いることにより容易に実現できる。例えばパラレルデータが１６ビットである場合、第１のシリアルクロックと第２のパラレルクロックの周波数の比率を１６対１に設定し、シリアルクロックをシフトレジスタのシフトクロックとして用い、第１のパラレルクロックで１６ビットのレジスタからデータを取り出すことでシリアル／パラレル変換が行われる。生成されたパラレルデータは、データ分流器ＤＤ１に入力される。データ分流器では、パラレルデータの中から、定められた規則に従い、周辺モジュールＰＭ１に送信されるべきデータに相当するビットデータを選択し、パラレル送受信器ＰＴＶ１に渡し、パラレル信号伝送線路１０１５を介して、周辺モジュールＰＭ１に送信する。データ分流器ＤＤ１の機能は、先に説明した第２図の実施例における受信プログラマＲＰと同等の機能である。また、パラレルデータは、パラレル／シリアル変換器ＰＳ１に渡され、再度シリアルデータに変換し、シリアル送信器ＳＴ１から、差動シリアル信号伝送路１００７を介して中継器ＲＬ２に送信する。図では、パラレル／シリアル変換器ＰＳ１に入力するパラレルデータは、周辺モジュールＰＭ１に送信したパラレルデータを除いたビット数を示している。元のパラレルデータをそのままシリアル変換して送信しても構わない。この場合、中継器ＲＬ１は接続される周辺モジュールにかかわらない汎用的なものとして構成できる。一方、周辺モジュールＰＭ１に送信したパラレルデータのビットをＨレベルやＬレベルや任意のデータとして送信してもよい。この場合、その後のシリアル伝送における周波数成分をより単純なものとして通信負荷を減らすことが出来る。また、マイクロプロセッサＭＰＵ１から受信したシリアルデータを、シリアル／パラレル変換器ＳＰ１やパラレル／シリアル変換器ＰＳ１を通さずにそのまま中継器ＲＬ２に送信する図示しない信号経路を設けても良い。
中継器ＲＬ２からは、マイクロプロセッサＭＰＵ１に送信されるデータをシリアル化して差動信号伝送線路１００８に送信され、シリアルデータに同期したクロック信号が差動信号伝送線路１０１０に送信される。中継器ＲＬ１は、シリアル受信器ＳＲ２で差動信号を受信する。受信したシリアルデータは、シリアル／パラレル変換器ＳＰ２に入力される。受信したクロックは、中継器ＲＬ１内部のクロック信号線１２１５で、クロック分周器ＣＤＶ２、シリアル／パラレル変換器ＳＰ２、パラレル／シリアル変換器ＰＳ２、シリアル送信器ＳＴ２に分配される。以下では、このクロック信号を「第２のシリアルクロック」と呼ぶ。クロック分周器ＣＤＶ２では、第２のシリアルクロックを分周し、シリアルクロックより低い周波数のクロックを生成する。以下、これを「第２のパラレルクロック」と呼ぶ。第２のパラレルクロックは、中継器内部のクロック信号線１２１７で、シリアル／パラレル変換器ＳＰ２、データ合流器ＤＪ１、パラレル／シリアル変換器ＰＳ２、パラレル送受信器ＰＴＶ１に分配される。シリアル／パラレル変換器ＳＰ２では、シリアルデータをパラレルデータに変換する。変換されたパラレルデータは、データ合流器ＤＪ１に入力される。一方、周辺モジュールＰＭ１からは、パラレル信号伝送線路１０１５を介して、パラレルデータが送信され、パラレル送受信器ＰＴＶ１で受信する。パラレルデータはデータ合流器ＤＪ１に入力される。データ合流器ＤＪ１は、入力された２つのパラレルデータを定められた規則に従って並べた１つのパラレルデータを生成し、パラレル／シリアル変換器ＰＳ２に入力する。パラレル／シリアル変換器ＰＳ２では、入力されたパラレルデータをシリアルデータに変換し、シリアル送信器ＳＴ２から送信される。シリアルデータと第２のシリアルクロックは、差動信号伝送線路１００４および差動信号伝送線路１００６を介して、マイクロプロセッサＭＰＵ１に送信される。
第１４図において、第１図及び第２図との関係を説明しておく。第１４図においては説明の簡略のため、異なるインタフェースの選択という観点についてはふれていない。そのため、ここで対応関係を示しておく。第１図の構成はパラレル／シリアル変換器ＰＳ１及びシリアル送信器ＳＴ１、またはパラレル／シリアル変換器ＰＳ２及びシリアル送信器ＳＴ２に含まれる構成である。また、第２図の構成はシリアル／パラレル変換器ＳＰ１及びシリアル受信器ＳＲ１、またはシリアル／パラレル変換器ＳＰ２及びシリアル受信器ＳＲ２に含まれる構成である。
次に、第１５図を用いて、中継器内のデータ分流動作を説明する。マイクロプロセッサＭＰＵ１から送信され、中継器ＲＬ１で受信されたシリアルデータ１３００は図の左から右に進むものとする。シリアルデータは、シリアルクロック信号１３０６に同期し、フレーム１３０１と呼ばれる連続したデータの範囲を１つの塊として扱う。フレームの構造は信号伝送システムの規約として定められるものである。この例では、１６ビットのデータを１フレームとし、フレームの区切りを判断するために、先頭に３ビットのフレーム同期ビット１３０２、１３０３が挿入されている。また、中継器ＲＬ２への転送データがフレーム同期ビットに続く９ビット（１３０４）、周辺モジュールＰＭ１への転送データは残りの４ビット（１３０５）とする。シリアル／パラレル変換ＳＰ１では、１フレーム単位、すなわち１６ビットのデータ毎にパラレルデータに変換する。そのため、パラレルクロック１３０７は、シリアルクロックの１６分の１に分周されたクロックである。１フレーム分のパラレルデータ１３０８がデータ分流器ＤＤ１に取り込まれ、データ分流器ＤＤ１では、周辺モジュールＰＭ１へ転送すべきパラレルデータ１３０９のみを選択し、パラレル送受信回路ＰＴＶ１から周辺モジュールＰＭ１に転送する。パラレルデータ１３０８は再度シリアル化され、シリアルデータ１３１０として、中継器ＲＬ２に転送される。周辺モジュールＰＭ１へ転送すべきパラレルデータ１３０９を選択するために用いているのがビット割り当てレジスタ１３１１である。本実施例では、ビット割り当てレジスタ１３１１は、選択すべきビット位置に１を、それ以外のビット位置に０を格納した構造をとっている。なお、この構造以外にも例えば選択するビットの開始ビット位置と最終ビット位置とを記憶する構造や、開始ビット位置とビット数とを記憶する構造もとり得る。割り当てレジスタは、中継器ＲＬ１のみでなく、中継器ＲＬ２にも存在する。ビット割り当てレジスタの内容を書き換えることで、どの転送先にどこからどこまでのビットを割り当てるかを変更できる。例えば、第１６図（ａ）に示したようにシステムの起動（Ｓ２００１）の後に各中継器のビット割り当てレジスタを設定し（Ｓ２００１）、その後その設定にしたがってシステム処理を行うことも可能である（Ｓ２００３〜２００５）。ビット割り当てレジスタを変更しない場合は、例えば、中継器は図示しない不揮発メモリ（例えば読み出し専用メモリやフラッシュメモリ）にそのデータを格納しておき、起動時に読み込めばよい。これに対して、システム動作中にシステム動作状況に応じて、ビット割り当てレジスタを変更することも可能である。例えば、第１６図（ｂ）に示したように各処理ごと（Ｓ２０１３，Ｓ２０１５，Ｓ２０１７）に適切なにビット割り当てレジスタの設定を行ってもよい（Ｓ２０１２，Ｓ２０１４，Ｓ２０１６）。これにより、効率的な信号伝送線路の利用が可能となる。このようなビット割り当てレジスタの変更はマイクロプロセッサＭＰＵ１の指示にしたがって行う。例えば、そのようなビット割り当てレジスタの変更を指示するための制御線をマイクロプロセッサＭＰＵ１との間に設けておくことで、実現することが可能である。
次に、第１７図により中継器内のデータ合流動作を説明する。第１７図において、中継器ＲＬ１が中継器ＲＬ２から受信したシリアルデータ１４０１は図の右から左に進むものとする。なお、この例においてもシリアルデータは第１５図の例と同じフレーム構成をとるものとするが、本図ではフレーム同期ビットは省略し、ビットデータに相当する１３ビット分のみを示している。中継器ＲＬ２からマイクロプロセッサＭＰＵ１への転送データは先頭の５ビットとする。シリアル／パラレル変換ＳＰ２では、１フレーム単位にパラレルデータに変換する。パラレル変換された１フレーム分のパラレルデータ１４０３がデータ合流器ＤＪ１に取り込まれる。また、周辺モジュールＰＭ１から取り込まれた８ビットのパラレルデータ１４０４もデータ合流器ＤＪ１に取り込まれる。データ合流器ＤＪ１では、中継器ＲＬ２からのシリアルデータをパラレル変換した１３ビットのパラレルデータ１４０３の中に、周辺モジュールＰＭ１からマイクロプロセッサＭＰＵ１に転送するパラレルデータ１４０４を埋め込む。埋め込むビット位置は、ビット割り当てレジスタ１４０６を参照して決定される。第１５図と同様に、埋め込むべきビット位置に１を、それ以外のビット位置に０を格納した構造をとっている。このようにして作られたパラレルデータ１４０５は、パラレル／シリアル変換器ＰＳ２によりシリアルデータ１４０２に変換され、マイクロプロセッサＭＰＵ１に送信される。ビット割り当てレジスタ１４０６の設定も第１６図（ａ）（ｂ）で説明したような設定が可能である。
なお、本発明における中継器は必ずしも１つの周辺モジュールと接続するものに限定されない。例えば、第１８図は複数のパラレル送受信器を持ち、複数の周辺モジュールと接続可能なシステム構成である。第１８図は、第１２図と同様にプリント基板１００１上にマイクロプロセッサＭＰＵ１および２つの周辺モジュールＰＭ１、ＰＭ２で構成されるシステムの例である。中継器ＲＬ３が２つの周辺モジュールＰＭ１、ＰＭ２の両方に、パラレル伝送線路１０１５、１０１６を介して接続している点で異なる。
第１９図に中継器ＲＬ３の内部構成を示す。マイクロプロセッサＭＰＵ１からは、２つの周辺モジュールへ多重化されたシリアル信号が差動信号伝送線路１００３に送信され、シリアルデータに同期したクロック信号が差動信号伝送線路１００５に送信される。中継器ＲＬ３は、シリアル受信器ＳＲ３で差動信号を受信する。受信したシリアルデータは、シリアル／パラレル変換器ＳＰ３に入力される。受信したクロックは、中継器内部のクロック信号線１２１４で、クロック分周器ＣＤＶ３、シリアル／パラレル変換器ＳＰ３に分配される。以下では、このクロック信号を「第１のシリアルクロック」と呼ぶ。クロック分周器ＣＤＶ３では、第１のシリアルクロックを分周し、シリアルクロックより低い周波数のクロックを生成する。以下では、これを「第１のパラレルクロック」と呼ぶ。第１のパラレルクロックは、中継器内部のクロック信号線１２１６で、シリアル／パラレル変換器ＳＰ３、データ分流器ＤＤ２、パラレル送受信器ＰＴＶ２、ＰＴＶ３に分配される。シリアル／パラレル変換器ＳＰ３は、シリアルデータをパラレルデータに変換する。生成されたパラレルデータは、データ分流器ＤＤ２に入力される。データ分流器ＤＤ２は、パラレルデータの中から、定められた規則に従い、周辺モジュールＰＭ１に送信されたデータに相当するビットを選択してパラレル送受信器ＰＴＶ２に渡し、周辺モジュールＰＭ２に送信されたデータに相当するビットを選択し、パラレル送受信器ＰＴＶ３に渡す。パラレル送受信器ＰＴＶ２は受け取ったパラレル信号をパラレル信号伝送線路１０１５を介して周辺モジュールＰＭ１に送信し、パラレル送受信器ＰＴＶ３は受け取ったパラレル信号をパラレル信号伝送線路１０１６を介して、周辺モジュールＰＭ２に送信する。また、マイクロプロセッサＭＰＵ１にシリアルデータ送信するために、高速な第２のシリアルクロックと低速な第２のパラレルクロックを生成するフェーズロックドループ（ＰＬＬ）１６０２がある。ＰＬＬ１６０２には、クロック源１６０５が入力されている。クロック源１６０５は、マイクロプロセッサＭＰＵ１から供給するか、プリント基板上にある他のクロック源から供給しても良い。第２のシリアルクロックは中継器内部のクロック信号線１６０４で、シリアル／パラレル変換器ＰＳ３とシリアル送信器ＳＴ３に供給される。第２のパラレルクロックは、中継器内部のクロック信号線１６０３で、データ合流器ＤＪ２、パラレル／シリアル変換器ＰＳ３、パラレル送受信器ＰＴＶ２、ＰＴＶ３に分配される。周辺モジュールＰＭ２からは、パラレル信号伝送線路１０１６を介してパラレルデータが送信され、パラレル送受信器ＰＴＶ３で受信されたパラレルデータはデータ合流器ＤＪ２に入力される。一方、周辺モジュールＰＭ１からは、パラレル信号伝送線路１０１５を介してパラレルデータが送信され、パラレル送受信器ＰＴＶ２で受信されたパラレルデータはデータ合流器ＤＪ２に入力される。データ合流器ＤＪ２では、入力された２つのパラレルデータを定められた規則に従い並べた１つのパラレルデータを生成し、パラレル／シリアル変換器ＰＳ３に入力する。パラレル／シリアル変換器ＰＳ３では、入力されたパラレルデータをシリアルデータに変換する。シリアル送信器ＳＴ３から送信されたシリアルデータと第２のシリアルクロックは、差動信号伝送線路１００４および差動信号伝送線路１００６を介して、マイクロプロセッサＭＰＵ１に送信される。
以上、説明した中継器の機能を周辺モジュールそのものが有していてもよい。第２０図（ａ）は周辺モジュールが中継器の機能を内部に備えている場合の構成例を示している。第２０図（ａ）では、周辺モジュールＰＭ３がマイクロプロセッサＭＰＵ１からの多重化されたシリアル信号を受信し、自らに送信されたデータのみを取り込み、周辺モジュールＰＭ４にシリアルデータを送信する機能と、周辺モジュールＰＭ４からのシリアル信号を受信し、自らがマイクロプロセッサに送信すべきデータを多重化したシリアル信号を生成し、マイクロプロセッサＭＰＵ１に送信する機能とを有する。周辺モジュールＰＭ４は、シリアルデータを受信し、自らに送信されたデータのみを取り込む機能と、自らがマイクロプロセッサに送信すべきデータをシリアル信号として送信する機能を持つことにより実現できる。第２０図（ｂ）は、やはり、周辺モジュールが中継器を介さずに直接シリアル信号を送受信する機能を内部に備えている場合の構成例であるが、シリアル信号伝送線路に複数の周辺モジュールが接続された所謂バス接続になっている。この例では、マイクロプロセサＭＰＵ１、周辺モジュールＰＭ３、ＰＭ４のシリアル信号の受信方法は第２０図（ａ）と同様であるが、送信時には注意を要する。複数のモジュールが同時に伝送線路を駆動すると信号の衝突が発生し、正常のデータの転送ができなくなってしまう。そこで、夫々のモジュールに割り当てられたビットを送信する時のみ伝送線路を駆動するといった制御が必要になる。また、信号伝送線路に分岐があるために信号の反射が生じるため、高周波のシリアル伝送を行う場合には適さない。
第２１図に第２０図（ａ）の周辺モジュールＰＭ３の内部構成を示す。周辺モジュールＰＭ３は、伝送ユニット１８０１と主回路１８０２から成る。伝送ユニット１８０１は、第１４図等の構成例における中継器と同じ機能を果たす回路部分である。異なるのは、例えば第１４図の中継器ＲＬ１内のパラレル送受信器ＰＴＶ１が、主回路の内部バス１８０４とデータの受け渡しを行うためのバス接続回路ＢＣＣ１に置き換えられている点である。主回路１８０２は、夫々の周辺モジュールの動作そのものを行う回路部分である。伝送ユニット１８０１を設計資産（ＩＰ）として保存し、広く再利用や流通させることにより、多くの周辺モジュールが本発明のシステム構成に中継器なしに接続可能となる。
さらに、本発明は１枚のプリント基板上の信号伝送システムに限定されることなく、複数の基板をケーブルにより信号を伝送する信号伝送システムや複数の装置間の信号伝送システムにも適用可能である。第２２図に複数のプリント基板間の信号伝送システムへの適用実施例として、折りたたみ式携帯電話への適用例を示す。折りたたみ式携帯電話１９０１は、主筐体１９０２と副筐体１９０３を可動式のヒンジ部１９０４で接続した構成になっている。主に、操作キーが主筐体上に設置され、カメラ１９１３や液晶ディスプレイ１９１４は副筐体に設置される。マイクロプロセッサＭＰＵ２は主筐体１９０２に格納される主基板１９０５上に設置される。本来、主基板１９０５上には、マイクロプロセッサだけでなく、多くの集積回路や受動素子が高密度で集積されているが、本図では説明の本質に関係がないために省略し、マイクロプロセッサとパラレル信号伝送線路で接続されたメモリモジュールＭＭ１のみを示している。一方、カメラ制御集積回路ＣＣ１や液晶制御集積回路ＬＣＤＣ１は副基板１９０６上に設置され、副筐体１９０３に格納される。カメラ制御集積回路ＣＣ１はカメラ１９１３と、液晶制御集積回路ＬＣＤＣ１は液晶表示装置１９１４と、それぞれパラレルケーブルで接続されている。マイクロプロセッサＭＰＵ２は、カメラ制御集積回路ＣＣ１および液晶制御集積回路ＬＣＤＣ１とデータの転送を行うために、接続する必要がある。従来技術ではパラレルケーブルで接続されるため、多くの本数のケーブルを、狭いヒンジ部に通す必要があった。ヒンジ部が回転することにより、配線ケーブルが圧迫されて断線することが問題になっていた。また、ヒンジ部を通る多くの配線から放射される電磁放射ノイズも問題となっていた。本発明の信号伝送システムによれば、液晶制御集積回路ＬＣＤＣ１とカメラ制御集積回路ＣＣ１の間を副基板１９０６上のシリアル伝送線路で接続し、マイクロプロセッサＭＰＵ２と液晶制御集積回路ＬＣＤＣ１の間は本数の少ないシリアルケーブル１９１０で接続する。これにより、従来と比較し、ヒンジ部を通す配線ケーブルの本数を大きく削減可能となり、断線やノイズの問題を軽減できることになる。第２２図の構成においては、主基板上に搭載されているメモリモジュールＭＭ１は、シリアル信号伝送でなくパラレル信号伝送方式で接続している。この理由が２点ある。第１の理由は周辺モジュールとマイクロプロセッサの搭載位置関係にある。メモリモジュールＭＭ１は、液晶制御集積回路ＬＣＤＣ１やカメラ制御集積回路ＣＣ１と同様にマイクロプロセッサに接続する周辺モジュールの一つであるが、液晶制御集積回路ＬＣＤＣ１とカメラ制御集積回路ＣＣ１がカメラ１９１３や液晶表示装置１９１４が設置してある副筐体１９０３に近接させるために副基板１９０６に搭載されているのと異なり、メモリモジュールＭＭ１の接続は主基板１９０５上でマイクロプロセッサに近接して配置されている。このような異なる基板への転送では、同一基板内の転送に比べて、配線本数を削減できる本発明のシリアル信号伝送方式を適用する効果が大きいことが、伝送方式を変えた理由の一つである。特にこの例では、上で説明したように、副基板への転送ケーブルは狭いヒンジ部を通す必要があり、配線本数を削減する効果がさらに大きい。第２の理由は、周辺モジュールとマイクロプロセッサのデータ伝送レートの違いである。メモリモジュールが６６ＭＨｚで動作する１６ビット幅のＳＤＲＡＭであるとすると、データ転送レートは１Ｇｂｐｓに達する。これをシリアル伝送する場合は、１ＧＨｚのシリアルクロックで転送しなくてはならない。一方、カメラや液晶表示装置では、２００Ｍｂｐｓ程度の信号レート、つまり２００ＭＨｚのシリアルクロックで十分である。携帯電話器の基板での１ＧＨｚの転送を行うのは、正しい信号伝送を行うための設計コストやノイズ対策部品コストの上昇を招く。
このように第２２図の伝送システムにおいては、異なる基板に搭載されるモジュール間には多重化したシリアル伝送を用い、同一の基板に搭載されるモジュール間はパラレル伝送を用いることが１つの特徴である。同様の考え方で、１つのパッケージに実装された複数のモジュール（チップ）間ではパラレル伝送を用い、当該パッケージの実装された基板に搭載されるモジュール（チップ）との間は多重化したシリアル伝送を用いることができる。また、この伝送システムにおいては、パラレル接続されるモジュール間の信号伝送レートがシリアル接続されるモジュール間の信号伝送レートより高いことも特徴の１つである。もちろん、これらの特徴は一般的な例について述べたもので、個々のシステムにおいて、コスト低減効果とコスト上昇のトレードオフを勘案して決定されるものであり、シリアル伝送が異なった基板間や低速なビットレートの転送のみに限定されるものでない。例えば、ＧＨｚ以上の伝送レートであっても、サーバやルータなど、元々高速な信号伝送を行っているシステムであれば、高速信号伝送を行うための設計コストやノイズ対策部品コストの上昇がさほど大きくない場合もあり、その場合は本発明の適用が容易になる。また、同一基板内の伝送であっても、集積回路のピン数を削減することによりパッケージコストを大きく削減できる場合や、基板配線層数を減らせることにより基板コストを大きく削減できる場合においては、シリアル伝送が好適な場合もある。
【産業上の利用可能性】  汎用プロセッサ、信号処理プロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ゲートアレイ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、画像処理プロセッサ、半導体メモリ、メモリモジュール、液晶ディスプレイ、プラズマディスプレイ、カメラモジュール、音源チップ等、及びそれらをプリント基板やケーブル等で接続したコンピュータシステム、携帯機器システム、民生用エレクトロニクスシステム、パッケージ内システムまたはシステムインパッケージ等への応用が可能である。
【図１】
0004619364.tif 000002
【図２】
0004619364.tif 000003
【図３】
0004619364.tif 000004
【図４（ａ）】
0004619364.tif 000005
【図４（ｂ）】
0004619364.tif 000006
【図４（ｃ）】
0004619364.tif 000007
【図５】
0004619364.tif 000008
【図６（ａ）】
0004619364.tif 000009
【図６（ｂ）】
0004619364.tif 000010
【図７（ａ）】
0004619364.tif 000011
【図７（ｂ）】
0004619364.tif 000012
【図８（ａ）】
0004619364.tif 000013
【図８（ｂ）】
0004619364.tif 000014
【図９】
0004619364.tif 000015
【図１０】
0004619364.tif 000016
【図１１】
0004619364.tif 000017
【図１２（ａ）】
0004619364.tif 000018
【図１２（ｂ）】
0004619364.tif 000019
【図１３（ａ）】
0004619364.tif 000020
【図１３（ｂ）】
0004619364.tif 000021
【図１４】
0004619364.tif 000022
【図１５】
0004619364.tif 000023
【図１６（ａ）】
0004619364.tif 000024
【図１６（ｂ）】
0004619364.tif 000025
【図１７】
0004619364.tif 000026
【図１８】
0004619364.tif 000027
【図１９】
0004619364.tif 000028
【図２０（ａ）】
0004619364.tif 000029
【図２０（ｂ）】
0004619364.tif 000030
【図２１】
0004619364.tif 000031
【図２２】
0004619364.tif 000032