説明

半導体装置、シリアライザ/デシリアライザ評価方法およびプログラム

【課題】SerDes評価を自動で行うことができ、かつ、装置の低コスト化を図ることができる、半導体装置を提供する。
【解決手段】制御部801は、機能部804に対するコンフィグレーションが実行される前に、クロック出力部802からのクロックをサンプリングクロックとしてSerDes入出力評価部805へ供給させる。SerDes入出力評価部805は、リンク先デバイスから受信したデータをサンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果をリンク先デバイスへ向けて送信するとともに、リンク先デバイスから自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアルインタフェースを用いたデータ伝送技術に関し、特に、シリアライザ/デシリアライザ(SerDes)の評価技術に関する。
【背景技術】
【0002】
現在、デバイス間で頻繁に用いられる高速シリアルインタフェース(I/F)のコンフィグレーション(ここでは、自動ネゴシエーションを指す)においては、リンク相手(Link Partner)との接続を第一に考えている。このため、エンファシス(Emphasis)設定/スイング(Swing)設定共に、最大設定をデフォルト値とする傾向にある。
【0003】
しかしながら、エンファシスおよびスイングを共に最大値に設定した場合、リンク相手側で、受信信号の振幅が大きすぎることによるDCスペック割れが生じたり、エンファシスが強すぎることにより、差動信号のクロスポイントにばらつきが発生してジッタ特性が悪化したりする。また、振幅が大きすぎると、高速信号を出力するドライバの消費電力が増大することになるため、近年の消費電力削減の傾向に反することにもなる。
【0004】
上記のようなことから、デバイス間を高速シリアルI/Fを介して接続するシステムにおいては、一度、リンク相手とのリンクを確立した後に、適正なエンファシス値/スイング値を波形評価により決定している。例えば、波形評価では、受信端側で、高速シリアル信号のアイダイヤグラムおよびジッタを測定し、その測定結果に基づいてエンファシス/スイングの最適な設定値を見積もる。これにより、DCスペック割れやジッタ特性の悪化を抑制する。
【0005】
しかし、波形評価の作業は、人為的な作業を伴い、非常に時間を要するため、高速シリアルI/Fが増加している近年では評価遅延の一因ともなっている。
【0006】
特許文献1には、エンファシス/スイングの最適値を自動で決定する調整方法が記載されている。この調整方法では、送信側装置が、送信器の出力振幅(出力スイング振幅)およびエンファシスを所定範囲で設定変更しながらサンプルデータを送信する。受信側装置は、送信側装置から受信したサンプルデータからアイダイヤグラムを作成し、このアイダイヤグラムから受信可能な位相範囲データを検出し、その検出データを送信側装置へ送信する。送信側装置は、受信側装置から受信した位相範囲データを、設定変更された出力振幅およびエンファシスと対応付けてテーブルに格納する。所定範囲での設定変更が全て終了した際には、所定範囲内における出力振幅およびエンファシスの各設定変更値に対する位相範囲データが格納されたテーブルが作成されることになる。送信側装置は、その作成されたテーブルを参照して、出力振幅およびエンファシスの最適値を決定する。
【0007】
上記の調整方法によれば、出力振幅およびエンファシスの各設定を自動化させることができるので、実機評価時間を削減することができる。
【0008】
特許文献2には、受信信号の品質を自動的に補正することができるシリアル伝送システムが記載されている。このシリアル伝送システムでは、受信機が、送信機から受信したデータの品質を測定し、その測定結果に基づき、送信機の送信出力の補正要求データを生成し、その生成した補正要求データを送信機に送信する。送信機は、受信機からの補正要求データに基づいて自機の送信出力の設定(振幅およびエンファシス)を変更する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−53648号公報
【特許文献2】特開2008−164457号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
一般に、高速シリアルI/Fを介して接続されたデバイス間のリンクを確立するためのネゴシエーションを実行した後に、ブート用ファームウェア等がデバイスへロードされる(デバイスコンフィグレーション)。このデバイスコンフィグレーション前に、シリアライザ/デシリアライザ(SerDes)評価を行う必要があるが、そのようなSerDes評価を自動で行うことのできる低コストの装置は、これまでに提案されていない。
【0011】
特許文献1に記載の調整方法および特許文献2に記載のシステムはいずれも、スイング/エンファシス設定の自動化に特化したものであり、デバイスコンフィグレーション前のネゴシエーション実行の際にSerDes評価を自動で行うための具体的な構成を提供するものではない。したがって、これら調整方法およびシステムに基づいて、上記のようなSerDes評価を実現することは困難である。
【0012】
本発明の目的は、上記問題を解決し、デバイスコンフィグレーション前にシリアライザ/デシリアライザ(SerDes)評価を自動で行うことができ、かつ、装置の低コスト化を図ることができる、半導体装置、シリアライザ/デシリアライザ評価方法、プログラムおよび無線通信装置を提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明の一態様による半導体装置は、
シリアルインタフェースを介して相互に通信可能に接続された複数のデバイスを有し、
前記複数のデバイスのそれぞれは、
クロックを出力するクロック出力部と、
第1および第2の出力端子を備え、前記クロック出力部からのクロックを前記第1および第2の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第1の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第2の出力端子から出力されたクロックに基づいて動作するシリアライザ/デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第2の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第1の出力端子から出力させる制御部と、を有し、
前記シリアライザ/デシリアライザ入出力評価部は、リンク先デバイスのデータ伝送品質が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから受信した自デバイスのデータ伝送品質に対する前記判定結果に基づき、自デバイスのデータ伝送条件を決定する。
【0014】
本発明の一態様によるシリアライザ/デシリアライザ評価方法は、シリアルインタフェースを介してデータが送受信されるデバイスのシリアライザ/デシリアライザ評価方法であって、
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ/デシリアライザ評価用のサンプリングクロックとして用い、
リンク先のデバイスから受信した受信データを前記サンプリングクロックでサンプリングし、該サンプリングデータの品質が許容範囲内か否かを判定し、該判定結果を前記リンク先のデバイスへ向けて送信するとともに、前記リンク先のデバイスから受信した自デバイスのデータ伝送品質に対する前記判定結果に基づき、自デバイスのデータ伝送条件を決定することを特徴とする。
【0015】
本発明の一態様によるシリアライザ/デシリアライザ評価プログラムは、
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ/デシリアライザ評価用のサンプリングクロックとして用いる処理と、
リンク先のデバイスから受信した受信データを前記サンプリングクロックでサンプリングし、該サンプリングデータの品質が許容範囲内か否かを判定し、該判定結果を前記リンク先のデバイスへ向けて送信するとともに、前記リンク先のデバイスから受信した自デバイスのデータ伝送品質に対する前記判定結果に基づき、自デバイスのデータ伝送条件を決定する処理とをコンピュータに実行させることを特徴とする。
【0016】
本発明の一態様による無線通信装置は、外部無線通信装置とシリアルインタフェースを介した無線通信が行われる無線通信装置であって、
クロックを出力するクロック出力部と、
第1および第2の出力端子を備え、前記クロック出力部からのクロックを前記第1および第2の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第1の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第2の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ/デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第2の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第1の出力端子から出力させる制御部と、を有し、
前記シリアライザ/デシリアライザ入出力評価部は、前記外部無線通信装置から受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記外部無線通信装置へ向けて送信するとともに、前記外部無線通信装置から自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。
【発明の効果】
【0017】
本発明によれば、デバイスコンフィグレーション前に、シリアライザ/デシリアライザ(SerDes)評価を自動で行うことができる低コストの装置を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態である半導体装置の構成を示すブロック図である。
【図2】SerDes評価処理が組み込まれた自動ネゴシエーション処理の一手順を示すフローチャートである。
【図3】図1に示す半導体装置のSerDes入出力評価部の具体的な構成を示すブロック図である。
【図4】図3に示すSerDes入出力評価部の動作を説明するためのフローチャートである。
【図5】図3に示すSerDes入出力評価部の動作を説明するためのフローチャートである。
【図6】図1に示す半導体装置のRX比較器によるDCスペック比較方法を説明するための模式図である。
【図7】図1に示す半導体装置のRX比較器によるジッタスペック比較方法を説明するための模式図である。
【図8】本発明の他の実施形態である半導体装置の構成を示すブロック図である。
【発明を実施するための形態】
【0019】
次に、本発明の実施形態について図面を参照して説明する。
【0020】
図1は、本発明の一実施形態である半導体装置の構成を示すブロック図である。本実施形態の半導体装置は、シリアルインタフェースを介して相互に通信可能に接続された複数のデバイスを有する。ここでは、同一基板上に形成された2つのデバイスがシリアルインタフェースを介して相互に通信可能に接続されており、これらデバイスの一方がローカルデバイスとされ、他方がリモートデバイスとされている。両デバイスは、シリアライザ/デシリアライザ(SerDes)評価に係る部分として同じ構成を有する。説明を簡単化するため、以下の説明では、主としてローカルデバイスの構成を説明する。
【0021】
図1を参照すると、ローカルデバイス10は、CPU(Central Processing Unit)100、PLL(Phase-locked loop)コントローラ101、内部ROM(Read Only Memory)102、ドライバ103、レシーバ104、シリアライザ/デシリアライザ(SerDes)入出力評価部105、内部RAM(Random Access Memory)107、および他の機能部108を有する。
【0022】
SerDes評価用のブートプログラムが、内部ROM102に格納されている。内部ROM102は、CPU100に接続されている。ローカルデバイス10の起動直後に、CPU100は、内部ROM102に格納されたブートプログラムによって起動される。通常、ファームウェアがローカルデバイス10にロードされ、そのロードされたファームウェアに従い、CPU100がローカルデバイス10を動作させる。このファームウェアのロード前に、CPU100が内部ROM102に格納されたブートプログラムによって起動され、SerDes評価のための処理が実行される。このSerDes評価のための処理では、ブートプログラムに従って、CPU100だけでなく、PLLコントローラ101、ドライバ103、レシーバ104およびSerDes入出力評価部105等も動作する。
【0023】
CPU100、SerDes入出力評価部105および内部RAM107はそれぞれ、内部バス106に接続されている。
【0024】
PLLコントローラ101は、メインPLL1011およびデマルチプレクサ1012を有する。リファレンスクロックがメインPLL1011に入力される。メインPLL1011は、入力されたリファレンスクロックの周波数を逓倍したクロック信号を出力する。メインPLL1011の出力は、デマルチプレクサ1012に供給される。
【0025】
デマルチプレクサ1012は、出力端子として「0」端子と「1」端子を備え、CPU100からの制御信号に従って、メインPLL1011から供給されたクロック信号をいずれかの出力端子に供給する。「0」端子から出力されたクロック信号は、SerDes評価時のサンプリングクロックとして、CPU100およびSerDes入出力評価部105に供給される。「1」端子から出力されたクロック信号は、通常起動時のサンプリングクロックとして、除算器を介してCPU100および他の機能部108に供給される。
【0026】
図1に示したローカルデバイス10において、電源投入直後またはデバイスリセット解除直後に動作する部分は、CPU100、PLLコントローラ101、内部ROM102、ドライバ103、レシーバ104、SerDes入出力評価部105の一部の機能、内部バス106および内部RAM107である。ローカルデバイス10の起動直後に、CPU100は、内部ROM102に格納されたブートプログラムによって起動される。内部RAM107において、ブートプログラムが一時的に展開される。内部バス106は、ブートプログラム展開時に経路として使用される。
【0027】
ドライバ103およびレシーバ104は、高速シリアルI/Fの周辺装置であって、ローカルデバイス10の電源投入直後またはリセット解除直後から自動ネゴシエーション(AN)が実施される。SerDes入出力評価部105の一部の機能により、ドライバ103およびレシーバ104が制御される。
【0028】
本実施形態のローカルデバイスでは、デマルチプレクサ1012において、メインPLL1011からのクロックを、通常起動時とSerDes評価時とで出力先を切り分ける。これにより、デバイスのコンフィグレーションが行われる前に、メインPLL1011をサンプリングクロック生成用のPLLとして使用することが可能となっている。
【0029】
SerDes評価時において、メインPLL1011から出力されたサンプリングクロックが、デマルチプレクサ1012を介してCPU100およびSerDes入出力評価部105に供給される。CPU100は、内部ROM102に格納されているSerDes評価用の制御プログラム(ブートプログラム)にて起動されている。SerDes入出力評価部105は、高速シリアルI/Fのローカルドライバとリモートドライバ(リンク相手のドライバ)のエンファシス設定とスイング設定の評価を行う。SerDes入出力評価部105による評価中にサンプリングされたデータは、電源投入後は未使用である内部RAM107へ内部バス106を介して一時的に格納される。このような構成により、デバイスへの電源投入後またはリセット解除後に自動的にSerDes評価を実施することができる。
【0030】
加えて、メインPLL1011および内部RAM107を、通常起動時とSerDes評価時とで併用することで、回路規模を小さくすることができ、コストを削減することができる。
【0031】
また、上記のような特徴的な構成により、自動ネゴシエーション処理にSerDes評価処理を組み込むことが可能となり、デバイスのコンフィグレーションとともにSerDes評価を行うことができる。
【0032】
図2は、SerDes評価処理が組み込まれた自動ネゴシエーション処理の一手順を示すフローチャートである。この自動ネゴシエーション処理は、SerDes入出力評価部105により実行される。
【0033】
図2に示す手順において、ステップ200の「AN Start」は、Ethernet(登録商標)の自動ネゴシエーションのフローとしてIEEE802.3に掲げられている自動ネゴシエーション処理の開始を示す。
【0034】
ステップ200の「AN Start」に続いて、自動ネゴシエーションを有効にし(ステップ201の「AN Enable」)、自動ネゴシエーション処理を開始させる(ステップ202の「AN Restart」)。次に、ローカルデバイス10のSerDes能力をリンク相手へ通知する(ステップ203の「Ability Detect」)。次に、リンク相手のSerDes能力を受信する(ステップ204の「Acknowledge Detect」)。次に、ローカルデバイスとリンク相手の能力が一致するか否かを確認する(ステップ205の「Complete Acknowledge」)。能力確認後のリンク確立確認として、アイドルパターンの送出及び受信を行う(ステップ206の「Idle Detect」)。次に、リンク確立の確認完了の処理を行う(ステップ207の「1st Link OK」)。IEEE802.3では、この確認完了の処理は、"Link OK"と表記されている。
【0035】
本実施形態では、上記のステップ207までのフローに対し、SerDes評価用の新たなステップ208〜212が追加されている。
【0036】
まず、ステップ208の「SerDes Driver Setting」で、SerDesの設定を行う。次に、ステップ209の「Re-Auto Negotiation」で、ローカルドライバの設定変更後に、再度、リンク確立を行う。この「Re-Auto Negotiation」の処理では、上述のステップ201〜206が実行される。
【0037】
次に、ステップ210の「SerDes Setting evaluation」で、ステップ208で行われた設定が適切か否かを判定する。この「SerDes Setting evaluation」の処理は、自デバイスのSerDes設定の評価ステップと、リンク相手のSerDes設定の評価ステップとを含む。リンク相手のSerDes設定の評価ステップでは、リンク相手から送信された信号(レスポンス)を受信し、該受信信号の出力(スイングの大小、エンファシスの強弱)が適切か否かを評価し、その評価結果をレスポンスとしてリンク相手に送信する。一方、自デバイスのSerDes設定の評価ステップでは、送信出力の設定(スイングとエンファシスの設定)が適切であったか否かの評価結果をリンク相手から受信し、その受信評価結果を送信出力に反映する。
【0038】
SerDes設定が適切で無い場合は、ステップ208の処理に戻る(ステップ2001)。設定が適切である場合は、ステップ211の「2nd Link OK」で、ステップ210の評価結果がOKとなった状態であることを確認する。そして、ステップ212の「AN complete」で、自動ネゴシエーションが完了した状態であることを確認する。
【0039】
次に、本実施形態のローカルデバイスの特徴部の構成および動作をさらに詳細に説明する。
【0040】
他の機能部108を起動させるために、ローカルデバイス10を含む装置全体のホストCPUによって展開されるブート用ファームウェア(WF/W)がローカルデバイス10へロードされる。このブート用ファームウェアのロード前に、電源投入及びデバイスリセット解除直後から動作する上記の各機能部のみを利用し、SerDesのエンファシス設定およびスイング設定の評価を行う。この評価を実現するため、SerDes入出力評価部105は、図3に示すような構成を有する。
【0041】
図3を参照すると、SerDes入出力評価部105は、CDR(Clock Data Recovery)回路300、同期部301、リクエスト/レスポンス検出部302、サンプリング部303、UI(Unit Interval)検出部304、TXドライバ出力決定部305、SerDes制御部306、RX比較部307、DCスペックテーブル308、ジッタスペックテーブル309、マルチプレクサ310、RX/TXカウンタ311、およびTXタイマ312を有する。
【0042】
CDR回路300は、リンク相手からの高速シリアル受信信号からクロックとデータをリカバリする。リカバリした受信クロックは同期部301へ供給され、リカバリした受信データはリクエスト/レスポンス検出部302に供給される。図1に示したデマルチプレクサの「0」端子から出力されたサンプリングクロックが同期部301に供給される。
【0043】
同期部301は、入力されたサンプリングクロックをCDR回路300から供給されるクロックに同期させる。すなわち、同期部301は、受信データのサンプリングデータにバラつきが発生しないように、サンプリングクロックと受信データの同期を取る。受信データとの同期が取られたサンプリングクロックは、同期部301からサンプリング部303およびTXタイマ312に供給される。
【0044】
リクエスト/レスポンス検出部302は、CDR回路300でリカバリした受信データがローカルデバイスのSerDes評価リクエストに対するレスポンスなのか、リンク相手からのSerDes評価リクエストなのかを判定する。具体的には、受信データがローカルデバイスのSerDes評価リクエストに対するレスポンスである場合は、そのことを示すフラグ「Res. flag」が受信データに付与されている。このフラグに基づいて、受信データがレスポンスであるか否かの判定を行うことができる。また、受信データがリンク相手からのSerDes評価リクエストである場合は、そのことを示すフラグ「Req. flag」が受信データに付与されている。このフラグに基づいて、受信データがリクエストであるか否かの判定を行うことができる。
【0045】
受信データがローカルデバイスのSerDes評価リクエストに対するレスポンスである場合、リクエスト/レスポンス検出部302は、そのローカルデバイスSerDes評価レスポンス情報をTXドライバ出力決定部305に供給する。受信データがリンク相手からのSerDes評価リクエストである場合は、リクエスト/レスポンス検出部302は、その受信データをサンプリング部303に供給する。
【0046】
サンプリング部303は、同期部301からのサンプリングクロックに基づいて、リクエスト/レスポンス検出部302からの受信データの波形信号をサンプリングする。サンプリングデータは、サンプリング部303からUI検出部304に供給される。また、サンプリングデータは、サンプリング部303から内部バス106を介して内部RAM102に格納される。
【0047】
UI検出部304は、サンプリング部303からのサンプリングデータから、UI(Unit Interval)の位置(例えば、サイクル周期)を特定し、その位置を示すフラグをサンプリングデータに付ける。フラグ付けがなされたデータは、UI位置データ(UI Position Data)として、UI検出部304から内部バス106を介して内部RAM102に格納される。
【0048】
DCスペックテーブル309には、高速シリアル信号の受信スペックのデータ(最小値と最大値)が格納されている。ジッタスペックテーブル309には、周期的ジッタスペック(Periodic Jitter Spec.)のデータが格納されている。
【0049】
CPU100の制御により、内部バス106を通じて、サンプリングデータおよびUI位置データが、内部RAM102からRX比較器307へ供給される。RX比較器307は、内部RAM102から読み出されたサンプリングデータの振幅がDCスペックテーブル309に格納されたDCスペックデータ(最大値および最小値)の範囲内であるか否かを判定する(振幅比較)。また、RX比較器307は、内部RAM102から読み出された複数周期分のUI位置データに基づいて、サンプリングクロックの立ち上がりエッジとUI位置の差分時間からジッタを測定し、その測定値がジッタスペックテーブル309に格納されたジッタスペックデータ(周期的ジッタスペック情報)の範囲内であるか否かを判定する(ジッタ比較)。ここで、差分時間は、UI位置により得られるサイクル周期とサンプリングクロックのサイクル周期の間の時間差に対応する。振幅比較結果およびジッタ比較結果は、RX評価結果としてRX比較器307からマルチプレクサ310の「1」端子に供給される。
【0050】
TXドライバ出力決定部305は、リクエスト/レスポンス検出部302から供給されるローカルデバイスSerDes評価レスポンスデータに基づいて、図1に示したドライバ103(TXドライバ)の出力の増減量を決定する。SerDes制御部306は、TXドライバ出力決定部305による決定結果に基づいて、ドライバ103(TXドライバ)の出力を増減するためのTX設定値情報を出力する。TX設定値情報は、SerDes制御部306からマルチプレクサ310の「0」端子に供給される。
【0051】
マルチプレクサ310は、CPU100からの制御に従い、RX比較器307からのRX評価結果とSerDes制御部306からのTX設定値情報を選別する。マルチプレクサ310の出力は、図1に示したドライバ103に供給される。
【0052】
次に、ローカルデバイスの動作を、図3から図5を参照して詳細に説明する。図4および図5は、図3に示したSerDes入出力評価部105の動作を説明するためのフローチャートである。
【0053】
まず、CPU100が、RX/TXカウンタ311のTXカウンタのカウント値を調べ、そのカウント値に基づいて、SerDes評価が初期状態かどうかを確認する(図4のステップ401)。カウント値が0である場合は、初期状態であると判定する。カウント値が1以上であれば、初期状態ではないと判定する。
【0054】
ステップ401にて初期状態でないと判定された場合は、CPU100は、内部バス106を介してリクエスト/レスポンス検出部302にアクセスし、CDR回路300でリカバリした受信データに付与されたフラグを確認する(図4のステップ402)。
【0055】
リカバリした受信データのフラグがリンク相手からのリクエストフラグである場合は、CPU100は、内部バス106を介してRX/TXカウンタ305にアクセスし、リンク相手からの何回目のリクエストフラグであるのかを管理するためのRXカウンタセット処理を行う(図4のステップ403)。
【0056】
次に、サンプリング部303が、同期部301からのサンプリングクロックに基づいて、CDR回路300でリカバリした受信データをサンプリングする(図4のステップ404)。サンプリングデータは、UI検出部304に供給されるとともに、内部バス106を介して内部RAM102に格納される。
【0057】
次に、UI検出部304が、サンプリング部303からのサンプリングデータについて、その振幅情報から0Vとのクロスポイントを検出し、UIの位置を特定する(図4のステップ405)。具体的には、UI検出部304は、サンプリングポイントが0Vを跨ぐ箇所をUIと認識し、そのサンプリングポイントを、リカバリした受信データのUI位置データとして、内部バス106を介して内部RAM102に格納する。UI位置データは、ステップ404で得られたサンプリングデータと関連付けて内部RAM102に格納される。この関連付けでは、UIの位置がどのサンプリングポイントに対応するかがわかるような括り付けを行う。
【0058】
次に、CPU100による制御に基づき、内部RAM102に格納されているサンプリングデータが、内部バス106を通じてRX比較器307へ供給される。そして、RX比較器307が、内部RAM102から読み出されたサンプリングデータの振幅がDCスペックテーブル309に格納されたスペックデータ(最大値および最小値)の範囲内であるか否かを判定する(図4のステップ406)。
【0059】
ステップ406で、サンプリングデータの振幅がDCスペックの範囲外(DC Spec. OUT)と判定された場合は、RX比較器307は、SerDes用のパケットの中に埋め込むフラグに、スイングアップフラグまたはスイングダウンフラグを立てる(図4のステップ407)。具体的には、サンプリングデータの振幅がDCスペックの最小値より小さい場合は、スイングアップフラグを立て、サンプリングデータの振幅がDCスペックの最大値より大きい場合は、スイングダウンフラグを立てる。
【0060】
次に、CPU100による制御に基づき、内部RAM102に格納されている複数周期分のUI位置データが、内部バス106を通じてRX比較器307へ供給される。そして、RX比較器307が、内部RAM102から読み出された複数周期分のUI位置データに基づいて、サンプリングクロックの立ち上がりエッジとUI位置の差分時間からジッタを測定し、その測定値がジッタスペックテーブル309に格納されたジッタスペックデータの範囲内であるか否かを判定する(図4のステップ408)。
【0061】
ステップ406でサンプリングデータの振幅がDCスペック範囲内(DC Spec. In)と判定され、かつ、ステップ408でジッタの測定値がジッタスペック範囲内(Jitter Spec. In)と判定された場合は、RX比較器307は、SerDes用のパケットにRXコンプリートフラグを付与する(図4のステップ409)。RXコンプリートフラグは、リンク相手からのSerDes出力に対する修正を行う必要がないことを示す。
【0062】
ステップ408でジッタの測定値がジッタスペック範囲外(Jitter Spec. OUT)と判定された場合は、RX比較器307は、SerDes用のパケットにエンファシスアップフラグまたはエンファシスダウンフラグを立てる(図4のステップ410)。具体的には、ジッタの測定値がジッタスペックの期待値より小さい場合は、エンファシスアップフラグを立て、ジッタの測定値がジッタスペックの期待値より大きい場合は、エンファシスダウンフラグを立てる。
【0063】
上記のDCスペック比較およびジッタスペック比較を行った後で、ステップ409でRXコンプリートフラグを立てた後に、または、ステップ410でエンファシスアップフラグまたはエンファシスダウンフラグを立てた後に、RX比較器307は、レスポンスフラグおよびIDをSerDes用のパケットに付与する(図4のステップ411)。レスポンスフラグは、SerDes用のパケットがリンク相手へのレスポンスであることを示す。IDは、リンク相手がいつのリクエストに対するレスポンスであるかを判断するためのものであり、RX/TXカウンタ311のRXカウンタのカウント値である。
【0064】
次に、RX比較器307は、ステップ411でレスポンスフラグおよびIDが付与されたSerDes用のパケットを、評価結果として、マルチプレクサ310を介してリンク相手へ送信する(図4のステップ412)。その後、再び「SerDes評価Start」からの処理を実行する。
【0065】
ステップ401において、TXカウンタ値が0である場合は、CPU100は、SerDes評価が初期処理状態であると判断し、TXカウンタに1をセットする(図4のステップ413)。そして、TXドライバ出力決定部305が、SerDesのスイング値を最小値に設定し(図4のステップ414)、SerDesのエンファシスを最大値に設定する(図4のステップ415)。
【0066】
次に、TXドライバ出力決定部305は、SerDes用のパケットに、TXカウンタのカウンタ値「1」をIDとして付与するとともに、リンク相手へのリクエストであることを示すリクエストフラグを立てる(図4のステップ416)。次に、CPU100が、TXタイマ312をスタートさせ(図4の417)、同時に、SerDes制御部306が、ステップ413〜416の処理を経て各値が設定されたSerDes用のパケットをテストパターンと一緒に送信する(図4のステップ418)。その後、再び「SerDes評価Start」からの処理を実行する。
【0067】
ここで、TXタイマ312は、テストパターンの送信開始時点からレスポンスを受信するまでに要した時間をカウントする。SerDesのスイングおよびエンファシスの設置値が不適切である場合は、リンクを張ることができず、リンク相手からレスポンスが戻ってこない。CPU100は、TXタイマ312を用いて、テストパターンの送信開始後、リンク相手からのレスポンスを所定の時間内に受信できたか否かを判定する。レスポンスを所定の時間内に受信できなかった場合は、SerDesの設定値を変更するための処理が行われる。
【0068】
ステップ402にて受信データのフラグがローカルデバイスの評価リクエストに対するリンク相手からのレスポンスを示すレスポンスフラグであると判定された場合は、CPU100は、TXタイマ312を確認する(図5のステップ500)。この確認において、予めSerDes評価にかかる時間が設定されたTXタイマ値以内にレスポンスがあった場合は、CPU100は、TXタイマ312をクリアする(図5のステップ501)。
【0069】
次に、CPU100は、リクエスト/レスポンス検出部302にアクセスし、リンク相手からのSerDes評価結果にRXコンプリートフラグが立っているか否かを確認する(図5のステップ502)。
【0070】
ステップ502でSerDes評価結果にRXコンプリートフラグが立っていると判定された場合は、TXドライバ出力決定部305は、SerDes用のパケットに、TXコンプリートフラグを立てる(図5の503)。この後、図4のステップ419の処理が実行される。
【0071】
ステップ502でSerDes評価結果にRXコンプリートフラグが立っていないと判定された場合は、CPU100は、リクエスト/レスポンス検出部302を通じてスイングフラグが立っているか否かを確認する(図5のステップ504)。
【0072】
ステップ504でスイングフラグが立っていると判定された場合は、TXドライバ出力決定部305は、そのフラグの指示に従い、スイングアップまたはスイングダウンの処理を1回分(1ステップ分)だけ実効する(図5のステップ505)。
【0073】
次に、CPU100は、リクエスト/レスポンス検出部302を通じてエンファシスフラグが立っているか否かを確認する(図5のステップ506)。ステップ506でエンファシスフラグが立っていると判定された場合は、TXドライバ出力決定部305は、そのフラグの指示に従い、エンファシスアップまたはエンファシスダウンの処理を1回分(1ステップ分)だけ実行する(図5のステップ507)。
【0074】
ステップ500において、TXタイマ312がタイムアウトしてもレスポンスを受信できなかった場合は、CPU100が、TX側のスイング設定が適切でなく、リンクアップに失敗したものと判断する。そして、TXドライバ出力決定部305が、前回設定していたスイング設定と最大スイング設定の中間のスイング設定を行い(図5のステップ512)、エンファシスの設定値として最大値を設定する(図5のステップ513)。
【0075】
ステップ504〜507またはステップ512、513でSerDesの再設定が完了した後、CPU100は、TXカウンタの値を1インクリメントする(図5のステップ508)。次に、TXドライバ出力決定部305が、SerDes用のパケットに、そのTXカウンタ値をIDとして付与し、リクエストフラグを立てる(図5のステップ509)。次に、CPU100が、TXタイマ312をスタートする(図5のステップ510)。これと同時に、SerDes制御部306が、ステップ504〜507またはステップ512、513の処理とステップ508、509の処理を経て各値が設定されたSerDes用のパケットをテストパターンと一緒に送信する(図5のステップ511)。その後、再び「SerDes評価Start」からの処理を実行する。
【0076】
最後に、CPU100は、リクエスト/レスポンス検出部302を通じて、リンク相手のSerDes評価結果(図4のステップ409のRXコンプリートフラグ)とローカルデバイスのSerDes評価結果(図5のステップ503のTXコンプリートフラグ)を確認する(図4のステップ419)。RXコンプリートフラグおよびTXコンプリートフラグがともに立っていることが確認された場合に、SerDes評価の処理は終了する。RXコンプリートフラグおよびTXコンプリートフラグの少なくとも一方が立っていない場合は、再び「SerDes評価Start」からの処理に戻り、フラグが立っていない側の評価を継続して実行する。
【0077】
尚、図4および図5に示した処理を実行するための前提条件として、ローカルデバイスからTXのSerDes評価リクエストを受けたリンク相手は、ローカルデバイスに対して、TXのSerDes評価レスポンスを返すまでは、リンク相手側のTXのSerDesのスイング設定及びエンファシス設定は行わないものとする。
【0078】
また、図2のステップ208の処理が、図4および図5におけるスイングやエンファシスのアップ/ダウンのセッティングに対応し、図2のステップ210の処理が、図4におけるスイングやエンファシスのスペック比較に対応する。
【0079】
次に、RX比較器307の具体的な動作について説明する。
【0080】
図6は、RX比較器307によるDCスペック比較方法を説明するための模式図である。サンプリングデータの精度を保つためにはサンプリング数が高いことが望ましいことから、図6に示す例では、前提条件として、サンプリングクロックの供給元であるPLLコントローラ101のメインPLL1011の逓倍数を最大値に設定している。高速シリアルI/Fで使用されるクロックは、数パターンに決められている。これに対し、サンプリングクロックの周波数は、メインPLL1011の最大値に固定されるため、1UI当りのサンプリング数も数パターンに決定される。
【0081】
図6において、符号603はリンク相手から受信したデータのアイダイヤグラムを示す。符号600は振幅の最大閾値を示し、符号601はアイダイヤグラム603の開口時の振幅の最小閾値を示す。符号602は、ACカップリング実施時のセンタレベルを示す。また、1UI当りのサンプリング数を11サンプルとする。符号D1〜D11は、サンプリングデータである。符号S1〜S18は、サンプリングクロックの立ち上がりエッジのタイミングを示す。1UIを11等分した場合のDCスペックサンプルポイントとして、アイダイヤグラム603をMinimum値としたスペックサンプルポイントP1〜P11が決定される。このようにして決定されたDCスペックサンプルポイントP1〜P11はそれぞれ、サンプリングデータD1〜D11のDCスペックの最小値を示す。残りの高速シリアルI/Fで使用されるクロックの数パターンについても、同様にして、DCスペックサンプルポイントを決定する。
【0082】
上記のようにして決定したDCスペックサンプルポイントを、DCスペックテーブル308に予め格納しておく。
【0083】
DCスペック比較を行う場合は、例えば、サンプリング部303から出力されたサンプリングデータからUI検出部304が検出するマイナス振幅からプラス振幅へ転じた最初のサンプルポイント(図6のD1)をUI位置として記憶する。そして、その記憶した最初のサンプルポイントと図6のDCスペックサンプルポイントのUI位置に相当するP1との間の振幅を比較する。この振幅比較は、パターン毎に行われる。
【0084】
図7は、RX比較器307によるジッタスペック比較方法を説明するための模式図である。図7において、符号S1〜S18はサンプリングクロックの立ち上がりエッジのタイミングを示し、符号701は0Vラインを示す。符号701、702はサンプリングポイント(サンプルデータ)を示す。符号700は、図3のUI検出部304で検出したUI位置を示す。
【0085】
ジッタスペック比較を行う場合は、UI検出部304で検出したUI位置700を基準にして、そのUI位置に対応するサンプルデータ701を検出する。さらに、その検出したサンプルデータ701とその1サンプル前のサンプルデータ702との間を線形補間する。そして、線形補間により得られたラインと0Vライン704とのクロスポイント705をサンプリングする。同様な方法で、UI検出部304で検出した複数のUI位置についてクロスポイントを取得し、それらクロスポイントから得られる周期的ジッタが、ジッタスペックテーブル309に格納されている周期的ジッタの範囲に収まっているか否かを判定する。この周期的ジッタの判定は、パターン毎に行われる。
【0086】
また、図7に示すようなクロスポイントを検出するためには、図4のステップ418や図5のステップ511で送信するテストパターンは、論理が0,1交互に連続するパターンが数回くることが望ましい。このため、ここでは、高速シリアルのアイドルパターンとして用いられるK28.5+D5.6を一使用例として挙げる。
【0087】
以上説明した本実施形態において、コンフィグレーション時とSerDes評価時とでPLL回路の出力クロックの振り分けが行われる構成としており、これにより、図2に示したように自動ネゴシエーション処理にSerDes評価処理を組み込むことが可能になっている。この構成により、デバイスコンフィグレーション前に、シリアライザ/デシリアライザ(SerDes)評価を自動で行うことができる低コストの半導体装置を提供することができる。
【0088】
また、1デバイス上でSerDes評価を実施できるように構成しているので、デバイスへの電源投入及びリセット解除後に、自動的にSerDes評価を実施できる。
【0089】
さらに、サンプリングクロックを固定化(メインPLLのMAX値)し、且つ、サンプリングクロックをリカバリクロックと同期させることで、リカバリデータのUI位置が固定化できる。このため、予めサンプリングデータと比較させるためのスペックデータを固定値として決定でき、比較処理の高速化を図ることができる。
【0090】
これに対して、特許文献1に記載の調整方法では、スイング/エンファシスの設定を自動化することはできるものの、スイング/エンファシスの値を評価するためのテーブルをアイダイヤグラムから作成する必要がある。このため、アイダイヤグラム測定に必要な時間を判定時間として要し、短時間でスイング/エンファシスの設定を行うことは困難である。したがって、同一基板上のデバイス間のコンフィグレーションのように、短時間でスイング/エンファシスの設定を行う必要があるケースに、特許文献1に記載の調整方法をそのまま適用することは困難である。
【0091】
本実施形態において、図2、図4および図5に示した一連の処理は、基本的には、プログラムをコンピュータが実行することにより実現することができる。ここで、コンピュータは、各デバイスを制御するコアCPUであり、例えば、DSP(Digital Signal Processer)等である。このプログラムは、CD−RやDVDに代表される記録媒体により提供されてもよく、また、インターネット等を通じて提供されてもよい。
【0092】
(他の実施形態)
図8は、本発明の他の実施形態である半導体装置の構成を示すブロック図である。図8を参照すると、本実施形体の半導体装置は、シリアルインタフェース806、807を介して相互に通信可能に接続されたデバイス800、810を有する。デバイス800、810は同じ構成を有する。ここでは、デバイス800の構成を例に、その詳細を説明する。なお、デバイス800、810は同一基板上に形成されてもよく、別々の基板上に形成されてもよい。
【0093】
デバイス800は、制御部801、クロック出力部802、デマルチプレクサ803、機能部804およびシリアライザ/デシリアライザ入出力評価部805を有する。
【0094】
クロック出力部802は、PLL回路により構成されるものであって、具体的には、図1に示したPLLコントローラ101のメインPLL1011である。デマルチプレクサ803は、第1および第2の出力端子を備え、クロック出力部802からのクロックを第1および第2の出力端子のいずれかから出力する。
【0095】
機能部804は、デマルチプレクサ803の第1の出力端子から出力されたクロックに基づいて動作する。デマルチプレクサ803の第2の出力端子から出力されたクロックがサンプリングクロックとしてシリアライザ/デシリアライザ入出力評価部805に供給される。
【0096】
制御部801は、機能部804に対するコンフィグレーションが実行される前に、クロック出力部802からのクロックをデマルチプレクサ803の第2の出力端子から出力させ、コンフィグレーションの実行時は、クロック出力部802からのクロックをデマルチプレクサ803の第1の出力端子から出力させる。
【0097】
シリアライザ/デシリアライザ入出力評価部805は、リンク先のデバイス810から受信したデータをサンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信する。また、シリアライザ/デシリアライザ入出力評価部805は、リンク先のデバイス810から自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。シリアライザ/デシリアライザ入出力評価部805は、図1および図3に示したシリアライザ/デシリアライザ入出力評価部105に対応する。
【0098】
本実施形態においては、機能部804へクロックを供給するクロック出力部802の出力クロックを、機能部804に対するコンフィグレーションが実行される前に、シリアライザ/デシリアライザ評価用のサンプリングクロックとして用いる。そして、リンク先のデバイスから受信した受信データをサンプリングクロックでサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果をリンク先デバイスへ向けて送信するとともに、リンク先デバイスから自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。この一連の処理は、プログラムをコンピュータが実行することにより実現することができる。ここで、コンピュータは、各デバイスを制御するコアCPUであり、例えば、DSP(Digital Signal Processer)等である。このプログラムは、CD−RやDVDに代表される記録媒体により提供されてもよく、また、インターネット等を通じて提供されてもよい。
【0099】
本実施形態によれば、デバイスコンフィグレーション前に、シリアライザ/デシリアライザ(SerDes)評価を自動で行うことができる低コストの半導体装置を提供することができる。
【0100】
以上説明した各実施形態は、本発明の一例であり、その構成および動作は、発明の趣旨を逸脱しない範囲で適宜に変更することができる。
【0101】
本発明は、半導体装置の他、SerDes評価が行われる通信システム全般に適用することができる。具体的には、移動体通信システムを構成する移動局(無線通信装置)と基地局(無線通信装置)の間のシリアルデータ伝送において、本発明を適用することができる。本発明を適用した移動体通信システムも、基本的には、図8に示した構成により実現される。具体的には、移動局と基地局のそれぞれが、図8に示したデバイス800の構成を有する。
【0102】
具体例として、図8に示した構成を有する無線通信装置(移動局また基地局)の構成を簡単に説明する。この無線通信装置は、外部無線通信装置とシリアルインタフェースを介した無線通信が行われる無線通信装置であって、クロックを出力するクロック出力部802と、第1および第2の出力端子を備え、クロック出力部802からのクロックを第1および第2の出力端子のいずれかから出力するデマルチプレクサ803と、デマルチプレクサ803の第1の出力端子から出力されたクロックに基づいて動作する機能部804と、デマルチプレクサ803の第2の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ/デシリアライザ入出力評価部805と、機能部804に対するコンフィグレーションが実行される前に、クロック出力部802からのクロックをデマルチプレクサ803の第2の出力端子から出力させ、コンフィグレーションの実行時は、クロック出力部802からのクロックをデマルチプレクサ803の第1の出力端子から出力させる制御部801と、を有する。シリアライザ/デシリアライザ入出力評価部805は、外部無線通信装置から受信したデータをサンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記外部無線通信装置へ向けて送信する。また、シリアライザ/デシリアライザ入出力評価部805は、外部無線通信装置から自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。
【0103】
上記の無線通信装置(移動局と基地局)は、図1および図3に示したようなデバイスの構成を有していてもよい。移動局と基地局との間では、上り回線および下り回線のそれぞれでシリアルでの無線通信が行われる。移動局と基地局のそれぞれにおいて、前述の各実施形態で説明したようなSerDes評価を実行することができる。
【符号の説明】
【0104】
800、801 デバイス
801 制御部
802 クロック出力部
803 デマルチプレクサ
804 機能部
805 シリアライザ/デシリアライザ入出力評価部

【特許請求の範囲】
【請求項1】
シリアルインタフェースを介して相互に通信可能に接続された複数のデバイスを有し、
前記複数のデバイスのそれぞれは、
クロックを出力するクロック出力部と、
第1および第2の出力端子を備え、前記クロック出力部からのクロックを前記第1および第2の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第1の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第2の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ/デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第2の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第1の出力端子から出力させる制御部と、を有し、
前記シリアライザ/デシリアライザ入出力評価部は、リンク先デバイスから受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する、半導体装置。
【請求項2】
前記シリアライザ/デシリアライザ入出力評価部は、
前記デマルチプレクサの第2の出力端子から出力されたクロックを前記リンク先デバイスからの受信データに同期させる同期部と、
前記同期部からのクロックを用いて前記受信データをサンプリングするサンプリング部と、
前記サンプリング部からのサンプリングデータから得られたアイダイヤグラムのサイクル周期と前記同期部からのクロックのサイクル周期との間の時間差である周期的ジッタの大きさが許容範囲内か否かを判定し、該判定結果に基づくエンファシスの調整指示を前記リンク先デバイスへ向けて出力する比較部と、を有する、請求項1に記載の半導体装置。
【請求項3】
前記クロック出力部の出力クロックの周波数は固定であり、前記シリアルインタフェースで使用されるクロックのパターンが複数あり、該パターンのそれぞれについて、前記周期的ジッタの許容範囲が設定されており、前記比較部は、該パターン毎に、周期的ジッタの大きさが許容範囲内か否かの判定を行う、請求項2に記載の半導体装置。
【請求項4】
前記シリアライザ/デシリアライザ入出力評価部は、
前記デマルチプレクサの第2の出力端子から出力されたクロックを前記リンク先デバイスからの受信データに同期させる同期部と、
前記同期部からのクロックを用いて前記受信データをサンプリングするサンプリング部と、
前記サンプリング部からのサンプリングデータから得られたアイダイヤグラムのスイングの最大値および最小値が許容範囲内か否かを判定し、該判定結果に基づくスイングの調整指示を前記リンク先デバイスへ向けて出力する比較部と、を有する、請求項1に記載の半導体装置。
【請求項5】
前記クロック出力部の出力クロックの周波数は固定であり、前記シリアルインタフェースで使用されるクロックのパターンが複数あり、該パターンのそれぞれについて、前記スイングの許容範囲が設定されており、前記比較部は、該パターン毎に、前記スイングの最大値および最小値が許容範囲内か否かの判定を行う、請求項4に記載の半導体装置。
【請求項6】
前記複数のデバイスは同一基板上に設けられている、請求項1から5のいずれか1項に記載の半導体装置。
【請求項7】
シリアルインタフェースを介してデータが送受信されるデバイスのシリアライザ/デシリアライザ評価方法であって、
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ/デシリアライザ評価用のサンプリングクロックとして用い、
リンク先デバイスから受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する、シリアライザ/デシリアライザ評価方法。
【請求項8】
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ/デシリアライザ評価用のサンプリングクロックとして用いる処理と、
リンク先デバイスから受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する処理とをコンピュータに実行させるシリアライザ/デシリアライザ評価プログラム。
【請求項9】
外部無線通信装置とシリアルインタフェースを介した無線通信が行われる無線通信装置であって、
クロックを出力するクロック出力部と、
第1および第2の出力端子を備え、前記クロック出力部からのクロックを前記第1および第2の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第1の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第2の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ/デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第2の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第1の出力端子から出力させる制御部と、を有し、
前記シリアライザ/デシリアライザ入出力評価部は、前記外部無線通信装置から受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記外部無線通信装置へ向けて送信するとともに、前記外部無線通信装置から自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する、無線通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図8】
image rotate

【図6】
image rotate

【図7】
image rotate