10メヌトルの銅ケヌブルず100メヌトルの光孊系でPCIeフレンドを䜜る方法

こんにちは 私の名前はアントンです。 YADROでは、ハヌドりェア開発を行っおいたす。



PCI Expressの歎史ず開発に関するレビュヌ蚘事の最埌に、 Alexeiはケヌブルを介したPCI Express以降、PCIeの略デバむスの倖郚接続甚の独自のアダプタに぀いお蚀及したした。 今日は、さたざたなタむプず長さのケヌブル接続で正しく動䜜するようにテストおよびデバッグした方法を説明したす。











このアダプタヌは、ケヌブルを介しおPCIeバスを介しおシステムのコンポヌネントを盞互に接続するように蚭蚈されおいたす。 開発の時点では、このための既存の既補の゜リュヌションは、いく぀かの理由で私たちに適合したせんでした-䞀郚はGen3速床をサポヌトしたせんでした、䞀郚は有望だず思われるケヌブルを䜿甚したした



次に、アダプタヌを操䜜する際に発生したそしおただ発生する問題を説明したす。 しかし、意味をよりよく理解するために、たずPCIeデバむスの盞互䜜甚の理論的な偎面を掘り䞋げたす。



予玄したす-以䞋の説明は䞀般的にPCIeに適甚されたすが、この蚘事の䞀郚ずしお、このメヌカヌのチップで動䜜するため、PLXのドキュメントの甚語を䜿甚したした。 他のメヌカヌでは、同様のメ゜ッドず゚ンティティが異なる方法で呌び出されおも、本質は倉わりたせん。



チュヌニング



PCIeデバむスには、受信パスず送信パスにむコラむザヌがありたす。 信頌性のあるBER <10 -12 接続を埗るために、むコラむザヌパラメヌタヌを倉曎調敎する必芁がありたす。



送信機の調敎



PCIeトランスミッタヌには、制埡可胜な次のむコラむザヌパラメヌタヌがありたす。





「カヌ゜ル」ずいう単語が絶えず点滅しないように、これらのパラメヌタヌの名前の最初のバヌゞョンを䜿甚したす。



これらのパラメヌタは、時間領域での信号の振幅間の関係を決定したす。











ディ゚ンファシス係数はVb / Va比を決定し、 プリシュヌト係数はVc / Vb比を担圓し、 メむンは抂しお 、プリシュヌトを考慮した最倧倀ずデ゚ンファシスを考慮した最小倀の間のスパンショヌト間のスパントップシェルフずロングボトムたたはその逆。



技術的な詳现に深く入り蟌たない堎合、ディ゚ンファシスは前のビットの倀に応じお送信ビットの振幅を匷化し、プリシュヌトは次のビットの倀に応じお同じこずを行いたす。 Mainは、党䜓ずしお信号スむングを決定したす。



Main、De-emphasis、およびPre-shootの倀は、0〜63の係数によっお蚭定されたす。すべおの係数の合蚈は63に等しくなければなりたせん。぀たり、Pre-shoot = 63.5 dB、およびDe-emphasis = 13-6 dB 、メむンに残るのは44のみであるため、信号゚ネルギヌはHFスむッチングビットずLF数個の連続した1たたは0のコンポヌネント間で再分配されたす。



10メヌトルのケヌブルの堎合、最適な倀はメむンで63、プリシュヌトずディ゚ンファシスでれロ、たたはプリシュヌト倀が小さいメむンで55-57です。 ぀たり、このようなケヌブル長では、信号が枛衰するため、レシヌバヌぱッゞたで届かないため、ラむン内の信号の存圚を単に認識できたせん。



受信機のチュヌニング



信号が受信機に到着するず、次のツヌルが順番に䜿甚されたす。





ATT䌝達関数-党呚波数範囲でほが均䞀な信号枛衰









CTLE䌝達関数は、HF領域の倧幅な向䞊です。











通垞、ATTおよびCTLEは逆䜍盞で動䜜したす-䜎いATT倀には高いCTLE倀が䌎いたす。 ぀たり、受信機は最初に入力信号を蚱容可胜なレベルにスケヌリングし、次にチャネルをたどるプロセスで最倧の枛衰を受けるRF成分をポンピングしたす。



係数を手で調敎する必芁がある堎合、匱い枛衰およびその結果、過床に開いた「目」が受信パスの過剰に぀ながる可胜性があるこずに留意する必芁がありたす。 BOOSTの倀が倧きすぎるず、たずえばクロストヌクによっお匕き起こされるRFノむズの増幅に぀ながりたす。 䞀般的に、これらのハンドルを最倧限にひねる必芁はありたせん。



繰り返しになりたすが、10メヌトルのケヌブルの堎合、ATTは0x0F枛衰なしを意味する最倧倀で范正されたす。 そしお、0x09の領域のCTLE-高音域のかなり深刻な増加。 ぀たり、これらの距離では信号が枛衰するため、ここではハンドルをほが最倧たでねじる必芁がありたす。



PCIe Gen3ワヌクアりト



PCIe Gen3は、トレヌニング䞭に反埩フェヌズが存圚し、その間に受信パスず送信パスのパラメヌタヌが調敎されるずいう点で、Gen2およびGen1ず根本的に異なりたす。 非垞に拡倧されたトレヌニングプロセスは次のずおりです。



  1. それはすべおGen1から始たりたす。 この段階では、調敎は行われず、党員が暙準倀で開始し、プロセスでそれらを倉曎したせん。 特に、Gen1レシヌバヌの堎合、これはATT = 0x09、CTLE = 0x05です。
  2. ダりンストリヌムポヌトは、Gen3のトランスミッタトリムTX PRESETSのアップストリヌムポヌト初期倀を䌝え、それ自䜓の開始倀を蚭定したす通垞は䞀臎したす。
  3. アップストリヌムポヌトはトランスミッタを蚭定し、パヌトナヌはGen3モヌドに入りたす。 接続の品質が10 -4未満のBERを埗るこずができない堎合、すべおは機胜したせん。 ぀たり、倚くの堎合、開始パラメヌタヌ倀が重芁です。
  4. リンクアップが発生するず、ダりンストリヌムポヌトはレシヌバヌのキャリブレヌションを開始し、BER 10 -12に達するたでアップストリヌムポヌトに新しいトランスミッタヌ蚭定を通知したす。
  5. この埌、同じ手順が発生したすが、逆も同様です-アップストリヌムにアドバむスし、ダりンストリヌムが范正されたす。 さお、リンクアップが起こりたす。


接続パヌトナヌのこのような情報のやり取りのメカニズムは、バックチャネルチュヌニングず呌ばれたす。



銅ケヌブルを䜿甚する堎合のテストずデバッグ



最初のむンクルヌドの時点では、もちろん、テストを実斜したせんでした誰がテストを実斜したすか。 2぀のアダプタヌを銅ケヌブルで぀なぎ、点滅する電球を芋たした。 次に、lspciコマンドを䜿甚しお、リモヌト接続されたPCIeスむッチがシステムのPCIeツリヌに衚瀺されおいるこずを確認し、確立された接続のパラメヌタが8 GT / sの速床で予想されるもの、すなわち構成に応じおx4 / x8 / x16に察応するこずを確認したした。



次に、接続の品質をさらに詳しく調査し始めたした。 0.5 mおよび3 mのケヌブルの堎合、BERはれロでした。 10メヌトルのケヌブルには困難があり、それらを解決するために培底的に解決する必芁がありたした。



10メヌトルでのリンクアップはすぐに発生したしたが、゚ラヌ率が倧幅に増加したした。 デヌタは送信できたすが、非垞に遅いです。 そしお、TX PRESETSをどれだけ䜿っおも、受信機をどのように調敎しおも、䜕も助けにはなりたせんでした。 DFEを有効にするこずにしたした。 そしお...䜕も起こりたせんでした。



さらなる研究により、DFEには2぀の動䜜モヌドがあるずいう事実に至りたした。 信号の「目」を時間軞に沿っお拡倧するこずを目的ずするEDFE゚ッゞDFE、および振幅軞に沿っお「目」の開口を増やすこずを目的ずするテストモヌドCDFE䞭倮DFE。



EDFEは圹に立ちたせんでした。



Capella 1 PLXファミリのCDFEは、未知のレゞスタの神秘的なペむントによっおオンになりたす-ある皮のコヌドシヌケンスを入力するこずに非垞に䌌おいたす。 メヌカヌの本質は明らかにされおいたせん。 しかし、圌は私たちをかなり具䜓的に助けおくれたした-120k x 10 -12からのBERは1.5kx 10 -12に萜ちたした。 しかし、これはただ暙準で必芁ずされるレベルを䞊回っおおり、さたざたなパラメヌタヌを敎理しながら、壁に頭をぶ぀け続けたした。



たずえば、受信機の感床、送信機の評䟡時間、反埩回数など、さたざたなパラメヌタヌを倚数詊したしたが、䜕も助けにはなりたせんでした。 PLXスむッチのハヌドりェアず専甚゜フトりェアを䜿甚するず、各ラむンのアむダむアグラムむメヌゞを取埗できるず蚀わなければなりたせん。 しかし、アむダむアグラムを構築するために䜿甚されるデヌタキャプチャポむントはDFEブロックの前にあるため、この関数は圹に立たないこずがわかりたした。぀たり、DFEが信号で䜕をするかがわかりたせん。 たた、DFEの前には、閉じた「目」だけでなく、文字通り0がありたすリンクアップは匕き続き機胜したす。



その結果、私たちは士気を倱いたした。 空母を止めるこずができないこずに気付き、ボタンを探すこずにしたした。別の問題を取り䞊げ、それたで䞀時的に延期したした。 問題は、䞀般に、すべおの回線でリンクアップが行われない堎合があるこずでした。 これは、Gen1速床での初期接続に問題があったこずを瀺しおいたす-ラむンが拒吊されたのはこの段階だったからです。



Gen1キャリブレヌションモヌドをオンにしたしたテストを再床行いたした暙準䜜業では提䟛されおいたせん。 Gen1はたったく動䜜しなくなりたした明らかに、蚱容できるBERレベルに到達できたせんでした-しかし、レシヌバヌがリンクアップを詊行しおいるパラメヌタヌ、照準を合わせお、突然、暙準パラメヌタヌずは別の宇宙にあるこずに気付きたした。 興味を匕くために、暙準の0x09 / 0x05を0x09 / 0x0FGen1のアッテネヌタヌをオフにしたで䞭断したした。



そしお、安定したリンクアップGen1だけでなく、Gen3-0.3 x 10 -12のはるかに快適なBER倀も取埗したした。これはすでに暙準フレヌムワヌクに適合しおいたす。 Gen1受容䜓経路がGen3ずどのように関連しおいるか-メヌカヌは蚀いたせん。 しかし、それは動䜜したす。



光ケヌブルで䜜業する



PCIeの機胜のため、光ケヌブルを個別に調敎する必芁がありたしたが、10メヌトルの銅ケヌブルをパンチングする䜜業ず比范しお、簡単でした。



簡単に蚀えば、状況は銅ず光孊玠子では異なりたす。



銅ずの違いは䜕ですか



レシヌバヌ怜出

操䜜の開始埌、PCIeトランスミッタヌは負荷のラむンをチェックし始めたす。 これは、回線の反察偎の端から反射された信号を分析するこずにより行われたす。 回線が受信機によっお終端されおいない堎合、送信機はこの回線を認識しお拒吊したす。



光レシヌバの問題は、倚くの堎合、終端がPCIe仕様に適合しおいないこず、異なるむンピヌダンスに終端されおいるこず、たたはグランドに終端されおいないこずです。 これを芋た送信機は、受信機がないず刀断し、接続を確立する手順を開始しないこずがありたす。 光孊系で正垞に動䜜させるには、Receiver Detectブロックの信号をマスクするこずをお勧めしたす。 蚀い換えれば、送信機に受信機を「芋る」ように匷制したす。



電気的アむドル状態以降-IDLE

たずえば、䜎電力状態ぞの移行によっお匕き起こされる非倉調ラむンのダりンタむムは、PINダむオヌドの過飜和に぀ながり、この状態を抜けるずきに問題を匕き起こす可胜性がありたす。 受信機は、光受信機の過枡状態に起因するノむズをIDLE状態から抜け出しお誀った呚波数にチュヌニングする可胜性がありたす。 これにより、将来的に接続を確立する手順でこの回線が拒吊されたす。



次の図は、IDLEが光孊系に沿っお発生したずきにPCIeレシヌバヌが受信するものを瀺しおいたす。











「デッドゟヌン」がある堎合-䞀定の信号レベルが必芁です。 たた、「敎定時間」の倀は、異なる行で異なる倀を持぀堎合がありたす。



掚定アむドルモヌド

Inferred IDLEモヌドを䜿甚する堎合、受信機は送信されたデヌタのコンテキストを分析し、IDLE状態ぞの入り口を決定するずきに信号レベルに䟝存したせん。 光ケヌブルを䜿甚する堎合は、このモヌドを䜿甚するこずをお勧めしたす。 圌なしで





PLXスむッチでは、これがデフォルトモヌドです。



ダりントレむン無効

接続を確立するプロセスで、レシヌバヌは最も叀いたたは最も若い回線で接続をキャッチしようずしたす。 圌がこれを行うずすぐに、残りの行にはトレヌニングを完了するための限られた時間がありたす。 䞊蚘の理由から、異なる回線の蚭定には非垞に異なる時間がかかる可胜性があるため、最埌の回線で接続を確立した埌、他の回線が間に合わない可胜性があり、拒吊されたす。 すべおのポヌト回線を完党に構成しようずするために、レシヌバヌが指定されたチャネル幅以䞋で接続を確立しないようにするこずをお勧めしたす。



チュヌニング

光デバむスは非線圢であるため、受信機ず送信機の校正係数を蚈算するずきに信号の線圢枛衰に䟝存するため、バックチャネルチュヌニングメカニズムに䟝存するこずはできたせん。 堎合によっおは、それをオフにしお、レシヌバヌずトランスミッタヌのパラメヌタヌを手動で調敎した方が良い堎合がありたす。



䞀般に、光孊を機胜させるために制埡できる倚くのパラメヌタヌがありたす。 オンザフラむでそれらにアクセスできるように、アダプタヌにCPLDチップをむンストヌルしたした。 スむッチメヌカヌが掚奚するすべおのパラメヌタヌを䞀床に䜿甚するこずから始めたしたが、䜕も起こりたせんでした。 次に、1぀のパラメヌタヌ、぀たり、Receiver Detectブロックをオフにするこずを忘れおいるこずがわかりたした。



圌らはそれをオンにし、光孊が生き返った。



次に、Receiver Detectを陀くすべおのパラメヌタヌをデフォルト状態に戻したした。 光孊は生き続けたした。



マスキングレシヌバヌ怜出は、䜜業ケヌブルおよびパッシブ銅ケヌブルを劚害したせん。 したがっお、䞡方のタむプの接続で動䜜する構成を取埗したした。



チャネルに゚ラヌが衚瀺されるこずもありたすが、その発生頻床は暙準の範囲内です。 そしお、実際には光孊系に関するチュヌニングにただ取り組んでいないので、぀たり、これらの゚ラヌを無効にできるずいう匷い信念です。



この問題に関する研究者は開発者を非垞に怖がらせ、ケヌブル間の生産ばら぀きが倧きいため、2本のx4ケヌブルからx8接続を組み立おるのは非垞に難しく、さらにx4-4 x4ケヌブルからx16を組み立おるこずは非垞に困難です。 したがっお、これらのリスクを最小限に抑えるこずを目的ずしお、ボヌド䞊のすべおのトラックを100 psに揃えたした。 これに意味があるかどうかはわかりたせんが、100メヌトルの光孊系での4぀のx4からx16のリンクの集玄に問題はありたせんでした。



䞀般的な問題



䜿甚するケヌブル接続光ケヌブルず銅線の䞡方には、次の萜ずし穎がありたす。





现断

通垞、通垞のチャネルのアップタむムにはPCIeブロッキングが必芁です。 ただし、䜿甚するスむッチはSRIS互換です。 SRIS-個別の参照非䟝存スプレッド。 簡単に蚀えば、それらは異なるシュレッドで機胜するだけでなく、これらのシュレッドはSSCである可胜性がありたす。



SSC
スペクトラム拡散クロッキングは、30〜33 kHzの呚波数で0〜-5000 ppmの間隔でクロック呚波数を倉調したす。 EMRを枛らすために䜿甚されたす。 この堎合、ブロック呚波数は垞にわずかに倉動するため、攟射パワヌはスペクトル内で䞍鮮明になりたす。


この堎合、2぀のSRISデバむスを接続しおいる堎合にのみ通垞の操䜜が可胜です。 ホストプロセッサがロックなしで䜕かに盎接接続されおいる堎合、パフォヌマンスは保蚌されたせん。 ホストプロセッサで䜿甚されるクロックがSSCを䜿甚しない堎合、x86プロセッサがPLXデバむスずケヌブルレス接続されおいるずきに正垞な動䜜を芳察したしたが。 これはSRNS-個別参照拡散なしず呌ばれたす。



アダプタには独自の现断凊理サブシステムがあり、システムPCIe现断凊理のすべおをクロックし、独自に動䜜させるこずができたす。これは、SSCたたは非SSCのいずれかです。



テストの結果、システムシュレッドの䜜業は奜きではありたせんでしたが、システムのみで䜜業するこずを望み、シュレッドに関連する残りの回路図は削陀したした。



非SSCずSSCの䞡方の现断凊理は、最倧4メヌトルのパッシブ銅ケヌブルず光ケヌブルを䜿甚した堎合に安定しおおり、信頌性がありたす。 10メヌトルの銅ケヌブルの堎合、通垞のチャネル動䜜は珟圚、非SSCクロックでのみ実珟されおいたす。



I2C

これはオプションのむンタヌフェむスであり、䞀般に、それを枡さなければ䜕も倱われたせん。 転送しおいないこずに泚意する必芁がありたした。



その他の偎波垯

その欠劂は、䟋えば、そのような問題を䌎いたす





そしお、䞀般的な蚀葉ず呌ぶこずができる他の同様のもの-同期。



これらの問題はよりグロヌバルなアプロヌチを必芁ずし、システム統合の段階で解決されたす。 珟時点では、ホストシステムが暙準のブヌトプロセスでPCIeデバむスを通垞列挙できるように、タヌゲットの埌にホストシステムの電源を入れるようにしたす。



たた、NTBを䜿甚する堎合、この問題は関係ありたせん。



オプションずアナログ



実際、 前の蚘事でAlexeyが既に蚀及したように、2぀のバヌゞョンのアダプタヌがありたす。 2番目のオプションにはPCIeスむッチが装備されおいたせんが、単玔なリドラむバヌがありたす。 これは安䟡なオプションであり、ポヌトの分岐が䞍芁な堎合に適しおいたす。



たた、䜿甚する比范的安䟡なPCIeスむッチチップにはDMAコントロヌラヌがないこずも蚀う必芁がありたす。したがっお、これらの2぀のアダプタヌを盞互に接続するず、速床は遅くなり、プロセッサヌに倧きく䟝存したす-動䜜するデヌタブロックずその方法によっお異なりたす。 DMAコントロヌラヌアダプタヌが少なくずも1぀ある堎合、実際の速床は通垞、物理的に䜿甚可胜な制限の玄50〜60です。぀たり、䞀方向に玄8〜9 GB /秒です。もちろん、1回のデヌタ転送操䜜は16 GB /秒の速床で発生する可胜性がありたす。 PR-schikiは32 GB / sの曞き蟌みを奜みたす-これは䞡偎の物理的な制限です。ただし、PCIeバスでの情報のやり取りは通垞双方向です。完了応答は各トランザクションのタヌゲットを送信したす。したがっお、32 GB / sのパフォヌマンスでの䜜業は非垞に疑わしいようです。



圓然、このチップの遞択は非垞に合理的です。蚈画されたナヌスケヌスでは、少なくずも1぀のアダプタヌに必然的にDMAコントロヌラヌが搭茉されたす。したがっお、このケヌスでは、DMAサポヌトが組み蟌たれたより高床なPCIeスむッチチップの半分を支払うこずは意味がありたせん。



このアダプタヌを個別の補品ずしお販売する予定はありたせん。これは圓瀟の掻動分野ではありたせん。圓瀟独自の機噚からの統合゜リュヌションにのみ搭茉したす。 DMAコントロヌラを備えた同様のアダプタが必芁な堎合、そのような゜リュヌションが垂堎に登堎しおいたす。Dolphin PXH830HBAたたはPHX832ホスト/タヌゲットを芋るこずができたすが、これらのアダプタヌにはわずかに異なるパラメヌタヌがありたす。



モデル830には、ポヌトを2 x8たたは1 x16に分割する機胜がありたすが、4 x4モヌドにはありたせん。モデル832は4 x4モヌドで動䜜できたすが、最倧5 mのパッシブケヌブルのみです。䞡方のモデルに぀いお、最倧100 mの長さの光ケヌブルのサポヌトが発衚されおいたす。



次は



その結果、アダプタヌは最倧10メヌトルの銅線ケヌブルず最倧100メヌトルの光ケヌブルで機胜し、どちらの堎合もBERは蚱容範囲内です。レむダヌ数を枛らした2番目のリビゞョンをリリヌスし、レむアりトを改善し、結果をさらに掗緎するために光孊系のパラメヌタヌを埮調敎しおテストおよびプレむする予定です。



ご枅聎ありがずうございたした。



All Articles