拡張コネクタに UART デバイスを接続して制御

次は UART(Universal Asynchronous Receiver Transmitter)を使用して外部デバイスとのシリアル通信を試してみます.
BeagleBone Black では基板上のコネクタ J1 に UART0 が割り当てられており,デバッグ用ポートとして使用できますが,今回はこちらのポートは使用せずに,SPI を使用した場合と同様に Device Tree Overlay の仕組みを用いて拡張コネクタ上に引き出されている端子を UART に機能変更して使用します.

ターゲットはGPSモジュールGM615T

今回のターゲットは,aitendo で入手した GPS モジュール GM615T です.アンテナも内蔵されており,UART でホストに接続するだけで使用できます.

製品説明はこちら:http://www.aitendo.com/product/4012
データシートはこちら:http://aitendo3.sakura.ne.jp/aitendo_data/product_img/gps/gm615/GM615_aitendo.pdf

bbb_gm615t

H/W 接続

今回は BeagleBone Black の拡張コネクタ P9 24, 26 に接続されている UART1 を使用します.拡張端子とモジュールの UART 各端子(Tx/Rx 2端子のみ使用)は以下の対応で接続します.

BBB 端子GM615T 端子
P9 24Tx
P9 26Rx

 

端子設定

GM615T との接続に使用した拡張コネクタ P9 の 端子 24 と 26 は,デフォルトではそれぞれ GPIO に割当てられているため,Device tree overlay で UART に機能変更します.UART 用 dtb ファイルは既に用意されているため,コマンドラインから以下の設定をすることで端子機能が変更されます.

echo BB-UART1 > /sys/devices/bone_capemgr.9/slots

 

ソフト

UART を通して GPS モジュールと通信するためのターミナルソフトを用意します.今回は minicom を使用しました.

minicom は以下でインストール可能.

apt-get install minicom

ターミナルを起動後,デバイス名を ttyO1,9600bps にセットアップします.

minicom -s

無事起動すると,GPS の NMEA フォーマットのデータ列がターミナル上に定期的に表示されます.

 

参考文献

 

 

参考 URL

http://www.armhf.com/beaglebone-black-serial-uart-device-tree-overlays-for-ubuntu-and-debian-wheezy-tty01-tty02-tty04-tty05-dtbo-files/
https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/uart