2016/8/22
FT2232の評価 I2Cでセンサと接続
- はじめに
FT2232にはMPSSE(Multi-Protocol Synchronous Serial Engine)と言うモードがあり、MPSSEモードでは設定によりI2C、SPI、JTAG等のシリアル通信を行うことが出来ます。
今回はFT2232のMPSSEモードを利用して、I2C接続タイプの温湿度センサと接続し、PCに温湿度センサのデータを取り込む一連の動作確認を行います。
- 温湿度センサについて
今回使用する温湿度センサはHDC1000(Texas Instruments)で、このセンサが基板に実装された秋月電子製のモジュールを使用します。
HDC1000は、デバイス内に温度と湿度両方のセンサが実装されており、I2Cの通信により測定値の取得やデバイス設定などが出来ます。
- FT2232基板について
FT2232と周辺回路等が基板に実装されたストロベリーリナックス製のモジュール「FT2232H(2ch)高速USBシリアル変換モジュールキット」を使用します。
- 基板間の接続
センサモジュール、FT2232基板、PC間の接続は以下のとおりです。
FT2232基板の電源はUSBバスパワーで、センサモジュールの電源はFT2232基板で生成された3.3Vを使用します。 - PCプログラム
PC側のプログラムは、Excelのマクロ言語VBAを使用してセンサデータを取得しExcel上のセルに温度と湿度を表示させます。
参考のため、FT2232を制御して温度と湿度を取得するサブルーチンを以下に掲載します。
プログラムは動作確認のため、エラーチェック等動作確認に必須ではない機能は入れておりません、また細かいタイミング仕様の整合性確認/修正も未実施の状態です。 あくまでも参考ソースと言うことでご注意願います。 VBAソースこのプログラムはFT2232Hに適用します。FT2232Dでは一部対応していないコマンドが含まれます。
また。APIの宣言はVBA64ビット版に適用します。
サブルーチンは、およそ以下の構成となっております。1)FT2232の初期設定(オープン~MPSSEモードの設定)
2)センサとの通信実行
3)センサデータから温湿度の換算
4)FT2232のクローズ今回はこのサブルーチンを1分サイクルでコールして、1分ごとの温度と湿度を表形式で表示するデータロガープログラムを作成しました。
- 動作確認
温度と湿度の変化が容易に分かる環境として、夏の室内で冷房を入れていない室温が上がった状態から、冷房を入れて室温が下がっていく状況で温度と湿度を取得し、動作確認を行いました。
VBAで作成された表を元にExcel操作でグラフ表示させた結果が以下のグラフです。
グラフにより室温と湿度が取得出来て、室温が冷房の動作に応じて徐々に下がっていく状況を確認することが出来ました。
- 応用例
I2Cを使用して制御出来るデバイスはセンサ以外にも色々な種類の物があります。
PCからI2Cデバイスを直接制御する様なシステム構築の例としまして、以下のような用途への応用が可能です。1)2次電池の充放電特性の取得
2)使用電力モニタ/デマンド監視システム
3)気象観測システム
4)モーター制御システム