« MITOUJTAGの最新版パッチをリリース | トップページ | SATAの実験(2) »

2011.04.11

SATAの実験(1)

最近、特殊電子回路のSpartan-6 PCI Express評価ボード「EXPARTAN-6T」で、SATAのドライブをつなぎたいというご要望をよくいただきます。

SATAを動かすにはIPコアが必要なのですが、そう簡単には入手できません。
ないなら自分で作ることができないだろうかと考え、思案中です。

まず、SATA用のギガビットトランシーバを動かしてみることにします。
簡単なGTPデザインをFPGAに入れ、EXPARTAN-6TのSATA1コネクタを手近なパソコンのSATAドライブ用のコネクタに接続し、電源をいれます。

すると、
Sata_comreset

おおっ! 電気的IDLEが6回下がっているのが観測されました。

これはCOMRESETというSATAのプロトコルで、(K28.5 D10.2 D10.2 D27.3)×4、を6回繰り返しているのです。
1回の送信で16シンボルという短い時間しか送ってこないので、PLLがロックしないので、どんな内容なのかは見ることができません。信号があるか/ないか、しかわからないのですが、それを利用してOOB(Out Of Band)というシーケンスを構築しています。
この信号が「あり」の時間と「なし」の時間を大雑把に測って、相手の有無とリセットを認識します。

拡大してみると、D10.2とか、K28,5とか、断片的に見えます。
Sata_comreset2

FPGAからPCに同じ信号を返してあげれば、初期化シーケンスは次のステップに進めるはずです。
ちょっと実験してみたくなりました。

|

« MITOUJTAGの最新版パッチをリリース | トップページ | SATAの実験(2) »

コメント

コメントを書く



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




« MITOUJTAGの最新版パッチをリリース | トップページ | SATAの実験(2) »