説明

パケットとシリアル・データの対応関係確認方法

【課題】編集したパケットと、出力のシリアル・データ・パターンの関係を容易に確認できるようにする。
【解決手段】ユーザは、周知の方法で所望の1パケットを編集する(104)。すると、編集された1パケットのパケット構造を表示される(106)。信号発生装置は、ストライピング、スクランブル、8b/10b変換を経て1パケットをシリアル・データに変換(114)し、1パケットから生成されるシリアル・データ全体に対応するシリアル・データ・バーを表示する(116)。ユーザがシリアル・データ・バーの任意の範囲を指定する(118)と、指定範囲に対応するパケット構造の部分を識別可能に表示する(120)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高速シリアル・インタフェース用パケットの編集に関し、編集したパケットと、これから生成されるシリアル・データとの対応関係を容易に確認するための対応関係確認方法に関する。
【0002】
PCI Expressは、より高速なデータ通信を可能にするインターフェースとして普及してきた。これは、パケット・ベースのプロトコルを採用し、また、電気的な通信にシリアル通信を採用している。
【0003】
図1は、PCI Expressの構造12を示す図である。ソフトウェア層10は、PCIと互換性があり、PCIで動作していたソフトウェアは、PCI Expressを用いたシステムでも動作する。トランザクション層14は、ソフトウェア層10からデータを受取り、トランザクション層パケット(TLP)を生成して、データ・リンク層16に送る。データ・リンク層16は、2つのデバイス間でTLPを確実に交換するため、TLPにデータ・リンク層パケット(DLLP)を付加して物理層18に渡す。物理層18は、更に物理層パケット(オーダード・セット:Ordered Set)を加え、電気信号に変換して送信する。メカニカル層19は、利用形態に応じた機械的な機構として用意される。受信する場合は、処理の流れが逆になり、物理層が通信相手からの電気信号を受けてパケットに変換し、データ・リンク層を介してトランザクション層へ渡すことになる。こうして各層は、通信先のデバイスの対応する層との間でパケットのやり取りを行う。
【0004】
図2は、パケット構造を示し、トランザクション層から物理層へと進むにつれて、外側にパケットが付加される。トランザクション層においてオプションで付加されるECRC(End to end CRC)は、TLPダイジェストとも呼ばれ、CRC(Cyclic Redundancy Check:巡回冗長検査)用いてTLPのエラー有無確認に利用される。データ・リンク層では、TLPの基本的な信頼性を保証するため、LCRC(Link CRC)を付加する。これによって、エラーを検出し、必要に応じてTLPを再送してエラーを回復できるようにする。シーケンス番号はパケットの通し番号であり、受信側では、これを用いてTLPの重複や欠落の有無を検出できる。物理層は、データ・リンク層から渡されたパケットに、パケット先頭の目印(スタート・フレーム)として、Kキャラクタ(制御符号)のSDP(Start of DLLP)又はSTP(Start of TLP)を付加する。また、末尾にはエンド・フレームとしてENDを付加する。
【0005】
図3は、物理層のブロック図である。これは、送信側と受信側とがある。送信側では、Txバッファ20がデータ・リンク層から渡されたパケットを受け、マルチプレクサ24においてKコードが付加される。バイト・ストライピング部26は、レーン数に応じて、データを分配する。スクランブラ28は、G(X)=X16+X+X+X+1で表される式に従ってデータ・パターンをランダム化するもので、リニア・フィードバック・シフト・レジスタ(LFSR)で実現される。これは、EMIが特定周波数に集中することを避けることを目的としている。スクランブラ28は、TLP及びDLLPに含まれるDキャラクタ(データ)はスクランブルするが、Kキャラクタはスクランブルしないので、通信先デバイスはKキャラクタを容易に認識できる。
【0006】
8b/10bエンコーダ30は、8ビット・データを1又は0の連続を最大5サイクルに抑えた10ビット・パターンに変換する。1又は0が長いサイクル連続しないことで、受信側でデータからのクロック再生が容易になる。なお、PCI Expressの仕様では、エンコード前の8ビット・データをキャラクタ(Character)と呼び、エンコード後の10ビット・データをシンボル(Symbol)と呼ぶ。
【0007】
パラレル・シリアル変換回路32は、8b/10bエンコーダ30からの10ビット・データを送信側のTxクロックに従ってシリアル・データに変換する。このシリアル・データは、Txドライバ34から差動の電気信号として出力される。各レーンは、送信側2本、受信側2本の4本の伝送路で構成される。このとき、伝送路においては、低周波数成分に比較して高周波成分の減衰が大きいため、伝送中のエラーを低減するため、ドライバ34が出力する電気信号はデエンファシスされる。
【0008】
受信側では、レシーバ40で差動信号を受け、クロック再生回路42が受信信号からクロック(即ち、Txクロック)を再生する。バッファ46は、再生クロックに従って、差動信号からデータを取り出し、受信側のRxクロックに従って、シリアル・パラレル変換回路46に供給する。以降の処理の多くは、上述の物理層送信側での処理を逆にしたものとなる。
【0009】
信号発生装置は、ユーザが所望する波形データをメモリ等の記憶装置に予め記憶し、その波形データをデジタル・アナログ変換することにより、アナログ電気信号として出力できる装置である。これは、いくつかの用途で利用可能である。その1つは、開発中の電子装置において、未完成の回路が出力するはずの信号を信号発生装置から出力させ、未完成回路の後段の回路が正常に動作するか否か確認する用途である。別の用途としては、意図的にジッタや歪みのある信号を出力させ、被測定回路のジッタ等に対する耐性を試験するといったことにも利用される。更には、PCI Express等の高速シリアル・インタフェースにおいて、その伝送路の特性を調べるため、試験に適した波形パターンの信号を出力し、被試験伝送路の出力をオシロスコープで受けて、そのアイパターンを観測するといった用途にも利用される。こうした信号発生装置としては、例えば、米国テクトロニクス社製AWG7000Bシリーズ型シグナル・ジェネレータが知られている。
【0010】
図4は、信号発生装置のブロック図である。CPU(中央演算装置)70は、ハードディスク・ドライブ装置(HDD)74に記憶されたプログラムに従って装置全体の動作を制御する。また、HDD74は、常時には使用しないデータを大量に保存するためにも利用される。RAMなどが用いられるメモリ72は、HDD74からのプログラムを読み込み、CPU70との間でデータ交換しながら一時的な作業の処理をするのに利用される。ユーザは、キー、ノブ等で構成される操作パネル84を用いて、信号発生装置に必要な設定を行う。表示装置82は、信号パターンに関する情報やユーザが設定に必要となる情報を提供する。外部表示出力回路80は、ビデオ出力を供給する回路で、これに必要に応じて外部表示装置94を接続すれば、本体の表示装置82とあわせて、広い表示領域を提供できる。信号発生回路76は、ユーザが所望するパターンの信号を発生させる回路である。この例では、2チャンネルの出力端子があり、また、トリガ信号、イベント信号の入力端子を有し、これら信号に応じた条件付動作が可能となっている。入出力ポート88は、例えば、外付けキーボード90やマウス92等のポインティング・デバイスの接続に利用される。これら外付けキーボード90やマウス92も、信号発生装置の操作手段として機能する。これらの回路は、バス78によって相互に接続される。更に信号発生装置のバス78上にLAN(ローカルエリアネットワーク)インターフェース26を設けて、これを介して外部のパソコン96と接続しても良い。外部のパソコン96を用いることで、信号発生装置を外部からリモート制御し、所望の動作をさせることができる。
【0011】
ユーザが出力したい電気信号の波形は、波形データとしてメモリに記憶される。こうした波形データは、例えば、パソコン上で、周知の波形データ編集ソフトなどを用いて生成できる。こうした波形データ編集ソフトウェアとしては、例えば、米国テクトロニクス社製ArbExpressなどが知られている。また、米国特許公開第2008/0313516号明細書は、波形データ編集ソフトウェアを用いた波形データ編集について開示している。
【0012】
PCI Expressの物理層送信側ドライバから出力される差動信号を、信号発生装置を用いて生成するようにすれば、PCI Expressにおける各種特性試験において大変便利である。なぜなら、信号発生装置であれば、意図的にジッタを含めた任意の信号を生成し、順次異なる信号パターンを出力するようにシーケンスを設定するといったことも容易だからである。
【0013】
図5は、表形式を用いたパケット編集画面を示す。これは、例えば、信号発生装置の表示装置82の画面上に表示され、ユーザが、操作パネル84、キーボード90、マウス92等を用いたグラフィカル・ユーザ・インタフェースによって、パケット編集を行うものである。「Label」の列には、パケットの構成要素が示される。ユーザは、各構成要素に設定したい設定パケット・ファイル名を「Block / Sub Sequence」の列に入力する。設定パケット・ファイルは、予めライブラリに用意されており、ユーザが所望のものを選択できる。設定パケット・ファイルは、仕様で決まっているものもあるが、ユーザが予めライブラリに用意されたファイルのデータを修正することもできる。「Repeat」列には、設定したデータを何回繰り返すかを設定する。「Go To」列には、そのパケットに続いてジャンプする先を指定できる。
【0014】
ユーザは、信号発生装置で設定されたパケットに対応する電気信号を生成し、これを伝送路に入力し、伝送路の出力信号をオシロスコープによってアイパターンとして観測しても良い。これによって、種々の信号パターンを供給したときの伝送路の特性を測定できる。
【特許文献1】米国特許公開第2008/0313516号明細書
【発明の開示】
【発明が解決しようとする課題】
【0015】
図5に示した表形式によるパケット編集では、実際に出力されるシルアル・パターンとの関係が示されないので、対応関係を容易には確認できない。このため、例えば、シルアル・パターンにエラーがあった場合でも、それは、パケットのどの要素によるものか、わかりに難い。そこで、編集したパケットと出力されるシリアル・データの対応関係を容易に確認できるようにすることが望まれている。
【課題を解決するための手段】
【0016】
本発明は、信号発生装置などにおいて利用されるシリアル・インタフェース用パケット編集におけるパケットとシリアル・データの対応関係を確認する方法に関する。この方法は、所望の1パケットを編集するステップと、編集された1パケットのパケット構造を表示するステップと、1パケットをシリアル・データに変換するステップと、1パケットから生成されるシリアル・データ全体に対応するシリアル・データ・バーを表示するステップと、シリアル・データ・バーの任意の範囲を指定するステップと、指定された範囲に対応するパケット構造の部分を識別可能に表示するステップとを具えている。これにより、編集されたパケットから生成されるシリアル・データを視覚的に容易に確認できる。
【0017】
更に、シリアル・データ・バーの任意の範囲を指定するステップにおいて、CRCを用いたチェックを行うことによって、範囲を指定するようにしても良い。
【0018】
本発明の目的、効果及び新規な点は、以下の詳細な説明を特許請求の範囲及び図面と合わせて読むことによって明らかとなろう。
【図面の簡単な説明】
【0019】
【図1】PCI Expressの階層構造を示す図である。
【図2】パケット構造を説明する図である。
【図3】物理層の詳細なブロック図である。
【図4】信号発生装置のブロック図である。
【図5】表形式を用いたパケット編集の一例を示す図である。
【図6】本発明によるパケットとシリアル・データの対応関係確認方法の好ましい実施形態のフローチャートである。
【図7】編集したパケット構造の表示例を示す図である。
【図8】編集したパケットの構造と、シリアル・データの対応関係を表示した本発明による表示例を示す図である。
【図9】本発明によるパケットとシリアル・データの対応関係確認方法の好ましい実施形態の他の例のフローチャートである。
【図10】図9に示す方法に基づく表示例を示す図である。
【発明を実施するための形態】
【0020】
本発明は、シリアル・インタフェース用パケット編集における編集されたパケットとシリアル・データの対応関係を確認する方法に関する。図6は、本発明による方法のフローチャートである。ここでは、図4に示した信号発生装置での処理を想定して説明する。このとき、信号発生装置は、PCI Expressでの処理と同等の処理をソフトウェアで実現することで、編集されたパケットに対応する信号を生成して出力する。
【0021】
ユーザは、マウス92等の操作によって、パケット編集ウィンドウを開く(ステップ102)。ステップ104では、図5に関して説明したのと同様に、例えば表形式を用いてパケットを編集し、また、レーン数を設定する。すると、表示装置82の表示画面には、図7に示すように、編集されたパケットに対応するパケット構造が表示される(ステップ106)。このパケット構造は、図3のマルチプレクサ24の出力に対応する。次にユーザは、後続の処理で確認したいシリアル・データのレーン番号を選択する(ステップ108)。選択するレーン番号は、複数でも良い。信号発生装置は、編集済パケットについて、バイト・ストライピングを行う(ステップ110)。そして、選択されたレーン番号のデータに関し、スクランブル及び8b/10b変換を行い(ステップ112)、更にパラレル・シリアル変換を行う(ステップ114)。すると、生成されたシリアル・データに時間的に対応するシリアル・データ・バーが表示される(ステップ116)。
【0022】
図8Bは、シリアル・データ・バーの表示例を示す。シリアル・データ・バーは、第1及び第2時間カーソル300及び302が示され、バー先端の時間を0秒として、それらの示す位置のバー先端からの時間がカーソルに近接して表示される。また、レーン番号が表示される。ユーザは、マウス・カーソル308を用いたドラッグ操作で、これら時間カーソルの位置を変更できる。このとき、時間カーソルの移動可能な刻みは、データのシンボル単位としても良い。なお、図8では、選択されたレーンが1つの例を示すが、レーンが複数選択された場合には、表示画面内の別のウィンドウに図8B及び図8Cに示す内容をレーン毎に表示しても良い。
【0023】
シリアル・データ・バーにおいて、第1及び第2時間カーソル300及び302で指定される範囲は、識別可能に表示される。指定範囲は、図8Bでは、斜線(他の部分と異なるパターン)で示すが、他の部分と異なる色や輝度で示しても良い。指定範囲に対応するパケットの部分は、図8Aに示すように、他の部分と識別可能に表示される(ステップ120)。また、指定範囲に対応するシリアル・データのパターン(論理パターン)を、図8Cに示すように、スクロール・バー310と共に表示しても良い(ステップ122)。スライダー312をマウス・カーソル308でドラッグすることで、シリアル・データ・パターンの任意部分を表示できる。このシリアル・データは、図3に示すパラレル・シリアル変換回路32の出力信号に対応する。なお、ステップ120及び122の順番は、どちらが先でも良い。
【0024】
ユーザは、こうした表示により、編集したパケットと、信号発生装置からの出力に使用されるデエンファシス前のシリアル・データとの対応関係を視覚的に確認できる。これによって、編集したパケットの修正の必要性の有無を容易に確認できるので、パケット編集作業を効率よく行うことができる。
【0025】
図9は、本発明による他の実施形態を示すフローチャートである。図6と対応するステップには、同じ番号を付し、説明を省略する。ステップ200では、CRCを用いて編集済パケットをチェックする。CRCは、例えば、ECRC又はLCRCである。もし編集済パケットにエラーがあると、図10Aに示すように、エラーのあるパケット部分が他の部分と識別可能に表示される(ステップ202)。また、図10Bに示すように、シリアル・データ・バー上において、エラーのあるパケット部分に対応する部分が識別可能に表示される(ステップ204)。ユーザは、シリアル・データ・バーの識別可能に表示された部分のシリアル・データ・パターンを確認したい場合、これら複数の識別表示部分の1つを、マウス・カーソル308を用いて選択する(ステップ206)。この選択部分は、選択されていることが識別できるように表示しても良い。すると、図10Cに示すように、選択部分に対応するシリアル・データ・パターンが表示される(ステップ208)。これによって、パケットにエラーがある場合、どのようなシリアル・データが出力されるのかを確認することができる。
【0026】
以上、本発明について明確に理解できるよう詳細に記述してきた。しかし、これらは開示したそのままの通りに本発明を限定するものではない。例えば、図10に示す第1及び第2パケット・カーソル400及び402を用いてパケットの任意の範囲を指定するか、又は、マウス・カーソル308で任意のパケット要素を選択すると、シリアル・データ・バー上の対応部分を識別可能に表示しても良い。更に、シリアル・データ・バー上の識別可能に表示された部分をマウス・カーソル308で選択することにより、選択部分に対応するシリアル・データ・パターンを表示しても良い。なお、上述では、PCI Expressを前提にした実施形態を説明したが、本発明はPCI Expressでの実施に限定されるものではない。
【符号の説明】
【0027】
18 物理層
20 Txバッファ
24 マルチプレクサ
26 バイト・ストライピング部
28 スクランブラ
30 8b/10bエンコーダ
32 パラレル・シリアル変換回路
34 Txドライバ
36 Txクロック発振回路
70 CPU
72 メモリ
76 信号発生回路
78 バス
80 外部表示出力回路
82 表示装置
84 操作パネル
86 LANインターフェース
88 入出力ポート
90 外付けキーボード
92 マウス
94 外部表示装置
96 パソコン

【特許請求の範囲】
【請求項1】
シリアル・インタフェース用パケット編集における上記パケットとシリアル・データの対応関係を確認する方法であって、
所望の1パケットを編集するステップと、
編集された上記1パケットのパケット構造を表示するステップと、
上記1パケットをシリアル・データに変換するステップと、
上記1パケットから生成される上記シリアル・データ全体に対応するシリアル・データ・バーを表示するステップと、
上記シリアル・データ・バーの任意の範囲を指定するステップと、
指定された上記範囲に対応する上記パケット構造の部分を識別可能に表示するステップと
を具えるパケットとシリアル・データの対応関係確認方法。
【請求項2】
上記シリアル・データ・バーの任意の範囲を指定するステップにおいて、
CRCを用いたチェックを行うことによって、上記範囲を指定することを特徴とする請求項1記載のパケットとシリアル・データの対応関係確認方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate