2012/12/14

FT311D Development Moduleを動かしてみました(その2)

 前回に引き続きFT311DのDevelopment Moduleを動かしてみました。
今回は簡易ロジアナを接続してどんな波形が出てるか見てみました。

GPIOモード

 まずはGPIOモードを見てみました。
モードは基板の3つのジャンパプラグで選べるようになっています。
下図の丸で囲んだ部分です。基板のシルク印字に従ってOpen/Closeを設定してから電源入れるとOKです。


 GPIO0とGPIO6を出力にして波形を見てみました。
まったく同タイミングで立ち上がっているようです。

 どうせ後で簡易ロジアナを使うならGPIO0~GPIO6全部を観測すれば良かったのですが、この時点ではオシロで測ってました。
おそらくですが、GPIO0~GPIO6は全て同一タイミングで変化するんじゃないかと想像してます。

 力業で何かのプロトコルを実現するのもできそうですね。

 GPIOの状態ですが、Androidのアプリが終了しても維持されるみたいです。
AndroidとのUSB接続が切れた時にFT311D側がリセットされるようで、出力に指定していたピンもハイインピーダンスになるみたいです。

PWMモード

 次はPWMモードで動かしてみました。
簡易ロジアナでPWM0, PWM1, PWM2を見てみました。設定は
  • 周期1ms
  • PWM0 デューティ 20%
  • PWM1 デューティ 40%
  • PWM2 デューティ 60%
としてます。
周期は1~250msを1ms単位で、デューティは5~95%を1%単位で指定できるみたいです。デモアプリの動きを見ると、デューティは0%も指定できるみたいです。

 波形はこんな風でした。
チャンネル間で立ち下がりが一致する形で動いているのが分かります。

 PWMモードもAndroidのアプリが終了しても信号出力は維持されるようです。
AndroidとのUSB接続が切れた時点で全チャネルLowになるみたいです。

SPI Masterモード

 最後にSPI Masterモード (FT311Dがマスターになる) を試してみました。

 デモアプリから何バイトかWriteしてみてSS0, CLK, MOSIを観測してみました。
上から3Byte, 4Byte 8Byteを送出した場合です。
3Byteの時は時間分解能が異なります。


 SSをかなりがっつりアサートしているようです。まぁ、きわどいのよりはいいです。
若干不思議なのは、送出バイト数によってSSの立ち上がりタイミングが遅くなったり早くなったりするみたいです。細かいことですが…。

 1Byteを送出した時のCLKとMOSIはこんな感じでした。
SPIはモードが4つありますが、FT311Dでは Androidのアプリ側から設定して切り替えられるようです。

 アプリの準備などができたら、どのくらいのレートが出るか測ってみたいな、と考えています。

0 件のコメント:

コメントを投稿