Nordic nRF52840 ボードで UART ポートを使うときの配線。
環境
nRF5_SDK_16.0.0_98a08e2
この SDK には nRF52840 用のものとして pca10056,pca10059 用のサンプルプログラムが多く含まれている。
pca10056,pca10059 というのは Nordic 公式の開発ボード「nRF52840 DK」「nRF52840 Dongle」のこと。
特に nRF52840 DK(pca10056) が標準的なものとして扱われている。
nRF52840 DKボード
残念ながら 「nRF52840 DKボード」は技適が取れていない。
開発に使える代替品
代わりになるボードとして以下のようなものがある。
MDBT50Q DB
アオノドン2019
UART ポートの割当
「nRF52840 DKボード」の UART ポートは以下のように定義されています。
# define RX_PIN_NUMBER 8
# define TX_PIN_NUMBER 6
# define CTS_PIN_NUMBER 7
# define RTS_PIN_NUMBER 5
記載場所は
(SDKディレクトリ)/components/boards/pca10056.h
です。
ポートを再割り当てすれば自由に使えますが、サンプルプログラムをなるべく変更せずに使うための方法を示します。
MDBT50Q DB
UARTを接続するためのポートが出されています。
これはピンをはんだ付け加工したもの。
アオノドン2019
ピン配置はこうなっています。
後に述べる CP2104 ボードのピン配置に合わせています。
CP2102 USBシリアル変換アダプタ
UARTポートをPCに接続する時にUSBシリアル変換アダプタを使います。
以下は僕の御用達のUSBシリアルアダプタです。
- CP2102搭載
- フェイクチップ問題に悩まされない
- 安定して使える
- 安価
これを使った配線例を示します
配線
pca10056定義 | nRF52840側信号 | USBシリアルアダプタ側信号 |
---|---|---|
GPIO0.08 | RX | TX |
GPIO0.06 | TX | RX |
GPIO0.07 | RTS | CTS |
GPIO0.05 | CTS | RTS |
GND | GND |
MDBT50Q DBの場合
↑この写真ではピンヘッダ列の方に配線しています。
赤色のジャンパーは5Vです。USBシリアルアダプタから電源を供給しています。3.3Vを供給することもできますが、こちらの方が流せる電流量に動作に余裕があります。
アオノドン2019の場合
RTS/CTSが必要ない場合
ここでも、5Vラインを使って電源を供給しています。
アオノドン2019はウラ面のGrove端子にRTS/CTSが出ています。
pca10056定義 | nRF52840側信号 | アオノドン2019端子 | USBシリアルアダプタ側信号 |
---|---|---|---|
GPIO0.08 | RX | UART端子TX | TX |
GPIO0.06 | TX | UART端子TX | RX |
GPIO0.07 | RTS | Grove端子白 | CTS |
GPIO0.05 | CTS | Grove端子黃 | RTS |
GND | GND |