NIデジタルI/Oデバイスを用いたI2C、SPI、およびJTAG通信

更新しました Nov 21, 2018

使用製品

Hardware

  • PXI-6552
  • NI-9375
  • NI-9401
  • NI-9402
  • NI-9403
  • PXI-6541
  • PXI-7953
  • PCI-4652
  • PXI-6513
  • PXI-6515
  • PXI-6259

その他

デジタルI/O(DIO), 高速デジタルI/O(HSDIO)

問題

  • I2C、SPI、またはJTAGプロトコルのいずれかを使用してデバイスと通信したいのですが、どのナショナルインスツルメンツのデジタルI/Oデバイスがこれを行うことができるのか分かりません。
  • デジタルI/Oデバイスでこれらのプロトコルを実装するために使用できる既存のライブラリはありますか?

解決策

ナショナルインスツルメンツのデジタルI/Oハードウェアの選択:


NIハードウェアタイミングのデジタルI/O(DIO)デバイスを使用して、SPIおよびJTAGデバイスと通信することができ、多くのNI 65XXデバイスと多機能I/Oデバイスでサポートされています。ハードウェアタイミングのDIOがサポートされているかどうかを確認するには、デバイスの仕様書を参照してください。

I2Cデバイスと通信するには、DIOデバイスはHSDIO 655xシリーズのように、波形を生成するためのサイクルごとのトライステート機能を追加する必要があります。NI 9402などのデバイスは、双方向通信が可能なため、I2Cプロトコルも使用できます。 これらのデバイスのために知っておくべき1つのことは、製品のマニュアルで確認できるシステムのスイッチング待ち時間です。

 

アプリケーションソフトウェアの開発:


NIのシステムエンジニアリンググループは、これらの3つの共通プロトコル( I2CSPIおよびJTAG)のリファレンスアプリケーションを開発しました。

これらのライブラリは、各ライブラリのリンクから記事の右側にあるDownloadセクションからsetup.exeをダウンロードできます。ライブラリをダウンロードしてインストールすると、ヘルプ>>サンプルを検索を選択して、NIサンプルファインダの参照タブでディレクトリ別の表示にすることでサンプルプログラムを見つけることができます。ここでは、ライブラリの名前(I2C Digital Waveform、SPI Digital Waveform、またはJTAG Digital Waveform)の下にサンプルが配置されます。

追加情報

システムエンジニアリンググループによって開発された 上記のリファレンスアプリケーションには、下記が含まれています。
 
  • ソフトウェアでのプロトコルパケットの生成
  • デジタルI/Oデバイスとの相互作用により、波形パケットを信号生成

NI-HSDIOドライバは、654x/655xシリーズデバイスのプログラミングに使用され、NI-DAQmxは653x/652x/651x/650xおよび多機能I/Oデバイスのプログラミングに使用されます。リンクされたデジタル波形デバイス用シリアルプロトコル通信リファレンスデザインには、NI-HSDIOおよびNI-DAQmx互換デバイスを使用してプロトコルパケットを生成する例があります。

さらに、これらのプロトコル通信用のソフトウェアタイミングデジタルI/Oソリューションは、ハードウェアでのACK(Acknowledge)ビットの認識と応答をサポートしていません。ただし、セットアップ時のテストでは通常この機能は必要ありません。ハードウェアでACKビットを認識して応答するには、プログラマブルFPGAを搭載するRシリーズデバイスの一つで調べる必要があります。 

SPI/I2C通信をより簡単に実装するには、NI-845xドライバ(NI-845x)でUSB-8451またはUSB-8452を使用することを検討してください。

この記事はお役に立ちましたか?

いいえ