高速オシロでSATAの波形を観察
高速オシロを借りたので、特電ボードのいろいろな波形を見てみることにしました。
40GHzサンプリングで、2.5GHz帯域というすごいものです。アクティブプローブや、アクティブ差動プローブも付いています。
まずは、懸案だったCosmo-ZのSATA信号を見てみます。
ただ見るだけでは何もわからないので、FPGAがトリガ信号を生成します。
↓の図は、わかる人にはわかると思いますが、COMWAKEやCOMINITといった手続きで、リンクアップ前の初期化が行われるところです。
より長い時間で見てみましょう。
時間軸は10us/divです。COMINIT/COMWAKEの後、何かのデータが送られてきて、その後、少し休みを挟んでから、60μくらいのところで別のデータが送られてきているのがわかります。
最初の固まっているところのデータを見てみると、下の図のようになっていました。
こういう波形を見るときは、5bit分、値が変化しない場所を探します。
高速シリアルで、5bit分、値が変換しないのは、K28.5とK28.7に限られるからです。
※K28.7は0011111000と、0や1が連続しすぎてあまり良くない。実際にはあまり使われない。
この11111を目印にしてデータを「目で」解析していきます。すると、K28.5、D10.2、D10.2、D27.3であることがわかります。これはSATAのAlignPrimitiveでした。
また、後ろのほうのデータの塊を見ると、
これは、1.5GbpsでのAlignPrimitiveでした。3.0Gのほうはオーバーシュートが出ているので、SSDの中にある出力バッファを切り替えているのかもしれません。
波形を見てわかった結果は、
SATAの速度の切り替え中はD10.2を送る、とものの本には書いてあるのですが、このSSDではD10.2は観察されずElectrical Idleのようでした。
Cosmo-Zの基板で見たところ、波形も大きく乱れることなく、綺麗でした。
GHz対応のオシロでは、高速シリアル通信がオーディオ信号のようにワキワキ動いて見えるのが楽しいですね。
| 固定リンク
コメント