富士エレクトロニクス株式会社

Texas Instruments 技術情報

USB-TO-GPIOを使ってGPIOとI2Cの評価を簡単に行おう!

[最終更新日 : 2017/11/9]


はじめに

こんにちは、TAZです。今回は少し、毛色の変わった記事を書いてみました。

マイコンやDSP、プロセッサなどの組み込みソフトウェア開発において、別のICとの通信を評価することはよくあることだと思います。その時I2Cのスレーブ側の評価をしたいのにマスター側がないケースや、I/Oの評価をしたいだけなのに外部から入出力する準備が整っていない・・・などで悩んだことは誰にでもあるはず。

そんな悩みはTexas Instruments(以降、TI)社がリリースしているUSB-TO-GPIOで解決しましょう!

USB-TO-GPIOについて

USB-TO-GPIOはその名の通り、USB通信によってGPIO制御することができるツールですが、それだけではなく、I2C通信やSMBus通信などの制御もすることができます。また、専用のGUIが用意されていますので、これらの制御をすぐに行うことができます。

USB-TO-GPIO

対応している機能は以下の通りです。

  • GPIO制御
  • I2C通信(※マスターのみ)
  • SMBus
  • PMBus

USB-TO-GPIOを実際に使ってみた ~GPIO編~

それでは早速、GPIO制御を試してみます。GPIOの制御には下記の環境を用意しました。

準備するもの

ハードウェア

  • USB-TO-GPIO
  • PC(Windows7 64bit)
  • GPIO出力を確認できるもの(今回はロジックテスターを使用)

ソフトウェア

ハードウェアの接続

まずは下図のように機器を接続しました。今回はロジックテスターでGPIOの出力を確認することにしています。

USB-TO-GPIO GPIO接続

ちなみに、今回のUSB-TO-GPIOに付属されているフラットケーブルのピンの配置は、以下のようになっています。

USB-TO-GPIO コネクタ

動作確認の手順

FUSION_DIGITAL_POWER_DESIGNERをインストールし、ハードウェアの接続が済んだら、すべてのプログラム --> Texas Instruments --> Fusion Digital Power Designer --> Tools --> SMBus & I2C & SAA Debug ToolをクリックしてGUIを立ち上げましょう。

GUIには複数の機能が用意されています。各機能はGUIの下図の箇所に対応しています。

USB-TO-GPIO GUI

それでは、このGUIを使用してGPIOの動作を確認してみましょう。

まず、USB-TO-GPIOの10番ピン(GPIO0)と、6番ピン(GND)をそれぞれロジックテスターに接続して、動作の確認をしてみます。デフォルトでは、以下のようにHighになりました。

USB-TO-GPIO High出力

次に、GUI上で、b0のチェックマークをはずして、Read/Writeボタンをクリックします。

USB-TO-GPIO GPIO制御

すると、、、GPIO0がちゃんとLowに変化することが確認できました。

USB-TO-GPIO Low出力

再度Highにする場合は、チェックボックスのチェックを入れてRead/Writeボタンをクリックしてください。

USB-TO-GPIOを実際に使ってみた ~I2C編~

続いてI2C制御について確認してみます。I2C制御はI2Cマスターとしてのみ制御することができます。

準備するもの

ハードウェア

  • USB-TO-GPIO
  • PC(Windows7 64bit)
  • マイコンの評価ボード(今回はTI社のMSP-EXP430G2を使用)

ソフトウェア

ハードウェアの接続

I2Cの動作は以下の構成で確認しました。

通常、I2Cはデバイスの外部でプルアップする必要がありますが、USB-TO-GPIOはその内部でプルアップされているため、別途プルアップする必要はありません。

USB-TO-GPIO I2C接続

マイコンの評価ボードの準備

次にマイコンの評価ボードを準備します。今回はMSP-EXP430G2という評価ボードと、そのサンプルコードを含んでいるMSP430Wareを使用します。MSP430Wareは以下のページから無償でダウンロード可能です。

上記をインストールすると、以下のパスにI2Cのサンプルコードが用意されています。

  • ファイル名:msp430g2xx3_uscib0_i2c_07.c
  • ファイルの場所:C:\ti\msp\MSP430Ware_3_60_00_10\examples\devices\MSP430G2xx\MSP430G2xx3_Code_Examples\C

このサンプルコードをCode Composer Studio でビルドし、MSP-EXP430G2のデバッグを開始します。

GUIを使ってI2C通信する

GUIのTarget/Miscellaneousにスレーブアドレスを入力しましょう。使用したサンプルコードではスレーブアドレスは0x48に設定されていましたので、それを入力しています。

USB-TO-GPIO スレーブアドレス設定

次に画面右側のWrite Data内のSend Byte を選択し、CmdをHEXで入力します。(この値は任意のもので構いません。) その後、Sendボタンをクリックします。正常に動作すれば、Statusに緑色で”ACK”と表示されるはずです。

USB-TO-GPIO I2C送信

また、ログ出力にも以下のように表示されます。

USB-TO-GPIO I2C送信ログ

私の環境では、MSP-EXP430G2側のI2Cの受信割り込みも入り、送信した0x90をちゃんと受信できていることも確認できました。

USB-TO-GPIO I2C受信結果

連続的にデータを送信したり、受信したりしたい場合は、Sendボタンの隣にある”Keep Sending”のチェックボックスにチェックを入れて、Sendボタンをクリックすることで実現できるようです。これは特に連続で受信したい時に便利な機能ではないでしょうか。

おわりに

本記事では、TI社が提供するUSB-TO-GPIOの動作方法を記載いたしました。センサーにはI2Cで通信を行うものもありますので、それらの評価を行う時にもUSB-TO-GPIOを使用することができそうです。こういった評価ツールを使用することで検討や評価に掛かる時間を短縮できるかもしれません。本製品に関するより詳細な情報をお求めの方は弊社の問い合わせフォームからお問い合わせください。

お問い合わせはこちら

関連情報はこちら

 


 

最新の技術記事やFAQ、エンジニアと交流できるフォーラムがある「富士エレ技術ラボ」はこちら!

富士エレ技術ラボ

取り扱いメーカー

お問い合わせ