LabVIEW通信入門 シリアル通信:UART

シリアル通信(UART)とは

  • シリアル通信とは、1本の信号線を使って1ビットずつ順番に(直列に)送信する通信方式です。
  • 主な種類は、USB、RS-232C、UART、I2Cがあり、通信に必要なパラメータは同じで、配線、特徴、仕様が異なります。
  • UART(Universal Asynchronous Receiver / Transmitter)は、TX(送信)と RX(受信)の 2本の信号線でビットを1つずつ送る非同期シリアル通信です。 クロック信号を持たないため、送受信双方が同じ設定になっている必要があります。

UART(シリアル通信)の基礎

UARTフレーム構造(1バイト送信時)

UARTフレーム構造

主要設定パラメータ

パラメータ代表的な値説明
ボーレート9600, 115200, 4608001秒間に送るビット数(bps)。送受信で必ず合わせる!高いほど高速だがノイズに弱い。
データビット8(ほぼ固定)1フレームのデータ部分のビット数。通常 8bit = 1バイト。
パリティNone, Odd, Even簡易エラー検出用ビット。多くの場合 None。
ストップビット1, 2フレーム末尾の休止ビット数。通常は 1。
フロー制御None, RTS/CTS, XOn/XOff送受信の流量制御方式。組み込みでは None が多い。

NI-VISA

  • LabVIEWでUART通信(シリアル通信)を行うには、VISA(Virtual Instrument Software Architecture)ドライバを使用します。
  • VISAは、GPIB、シリアル、USB、イーサネット、PXIなどの通信を簡単に制御できるLabVIEW標準のAPIです。

LabVIEWでUART通信 

LabVIEWでは、VISA関数を使用してUART通信を行うことができます。

VISA関数
ステップ使用VI(関数)動作
1ポートオープン・設定VISA Configure Serial Portポートを開いて通信条件の設定
2データ送信VISA Writeデータを送信
3データ受信VISA Readデータを受信
4ポートクローズVISA Closeポートを閉じる

LabVIEWのVISA関数の詳細はこちら

Hiwonder miniArm(Arduino)のLabVIEWプログラム例

Hiwonder miniArm(Arduino)とUART通信を行い、 ロボットアームを制御することができます

  1. 通信ポートを開いて、通信パラメータを設定
  2. コマンドを送信(miniArmの制御コマンドを送信)
  3. 通信ポートを閉じる
Hiwonder miniArm(Arduino)LabVIEW開発

Raspberry PiのLabVIEWプログラム例

Raspberry PiとUART通信を行い、 Raspberry Piを制御することができます。

  1. 通信ポートを開いて、通信パラメータを設定
  2. データを送信(PINをInputにする設定コマンドを送信)
  3. データを送信(PINのON/OFFを読み出すコマンドを送信)
  4. データを受信( PINのON/OFFデータを読み出す)
  5. 通信ポートを閉じる