« 2.54mmピッチのピンヘッダに1GHzの信号は通るか? | トップページ | GPIOおよびUSB3.0インタフェースの配線 »

2016.09.29

ピンヘッダに1GHzを通す(続き)

昨日のブログでは、SSTLとTMDSの使い方を間違っていたので、測りなおしました。

Pinheader


まず、TMDS_33は50Ωで3.3Vにプルアップするのが正しい使い方のようなのですが、昨日は間違って100Ωでプルアップしていました。そのため、↓の図のような波形になっていました。

左から順に、250MHz、500MHz、1GHzのクロック(矩形波)です。

Tmds33_250Tmds33_500Tmds33_1000

(TMDS_33 プルアップ抵抗値間違え クリックで拡大) 

50Ωでプルアップしたところ、

Tmds33_25050ohmTmds33_50050ohmTmds33_100050ohm

(TMDS_33 プルアップ抵抗値正しい クリックで拡大) 

となって、低速度(250MHz)のときの波形の凸凹がなくなりました。

sun

次にSSTLですが、SSTLは50ΩでVTT(終端電圧。普通はVCCの1/2)につながなければいけないのですが、昨日はおもいっきり間違えていました。

Diffsstl18_0250Difftl_500mhzDiffsstl_ghz

(DIFF_SSTL_18  終端抵抗間違い クリックで拡大)

DIFF_SSTL_15で、50ΩでVTTに終端した、正しい波形は以下のとおりです。

Diff_sstl15_250Diff_sstl15_500Diff_sstl15_1000_1

振幅は徐々に小さくなっていきますが、1GHzのクロックもちゃんと出ています。

sun

では、実際にデータっぽいものを流してみましょう。まずは、8b/10bでエンコードしたLVDS_25の波形をご覧ください。K28.5 D10.2 D10.2 D27.3という、SATAのALIGNプリミティブのつもりです。

Lvds25_random5Lvds25_random4

綺麗でしょ。アイがはっきりと開いています。

DIFF_SSTL_15の場合は、LVDS_25よりは汚いですが、信号自体には問題なさそうです。LVDSのほうがサグが発生しにくいです。

Diff_sstl15_random1Diff_sstl15_random2
(DIFF_SSTL_15 クリックで拡大)

TMDS_33の場合は、さらに汚いですが、信号自体には問題なさそうです。

Tmds33_random2_2Tmds33_random1_2

(TMSS_33 クリックで拡大)

LVDSもTMDSもSSTLも、信号が同じ値が2回続いたときに電圧が高くなる現象がネックになっています。MGTではプリエンファシス(デエンファシス)でこれを回避できるのですが、汎用I/Oではどうしても回避できません。

結論を言うと、

  • 波形の綺麗さは、LVDS_25 > DIFF_SSTL15 > TMDS_33 >> LVCMOS33
  • ピンヘッダでも、1GHzは通る
  • ピンヘッダだからどうこうというよりも、むしろ、汎用I/Oだからプリエンファシスが効かなくて、速度の制限が出る可能性の方が高い。

|

« 2.54mmピッチのピンヘッダに1GHzの信号は通るか? | トップページ | GPIOおよびUSB3.0インタフェースの配線 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 2.54mmピッチのピンヘッダに1GHzの信号は通るか? | トップページ | GPIOおよびUSB3.0インタフェースの配線 »