そろそろ次の開発環境の調べに進むために、別のターゲットを準備することにいたしました。現状「虎の子」状態のNUCLEO-F072RBボードを使ってMbedで周辺デバイスを繋げるシリーズを別口で始めてしまったので、NUCLEOはしばらくMbed固定にせざるを得ないためです。その別のターゲットボードにUSB接続の口などは無くシリアル接続でした。ターゲットの接続のためにシリアルポートが必要というのは「ちょっと前なら普通」です。そこで、なにはともあれ、USBシリアル変換モジュールを準備しておくことにいたしました。
※「鳥なき里のマイコン屋」投稿順Indexはこちら
買ってきたUSB-シリアル変換モジュール(例によって秋月)は、このシリーズの第28回でもとりあげさせていただいたFTDI社の
FT232RLチップ
を24ピンDIPサイズに押し込めたような基板です。
まったくの蛇足ですが、このチップの「232」という型番を聞けば、「RS-232C」が頭に思い浮かびます。実際、このボードはRS-232Cではなく、USBからUARTへのブリッジというべきなのですが、シリアルといえばRS-232Cというのは定番中の定番。しかし本物のRS-232Cの実物を使ったことがある人は年寄りばかりでしょう。私が最初に買った「モデム」は24ピンのD-Subコネクタでしたから本来のRS-232C体験世代かと思います。その後、IBMがPC/ATなどに使うので必要な端子だけを選んで9ピンのD-Subに変え(多分、拡張基板の高さの中にコネクタを複数乗せたかったので小さくしたのだと想像)、それもRS-232Cと呼ばれるようになりました(本当はEIA-574と呼ぶべきらしい。)ただ、初期のPC/AT系では、9ピンから24ピンへの変換コネクタなどが付属していたりして、シリアル・ケーブルとしては依然24ピンD-Sub用を前提としていたので、それをRS-232Cと呼ぶのは間違いでもなかった気がします。しかし、時代が変わります。その9ピンD-Subコネクタさえ撤去されてしまったUSB登場以降のPCでは、USBからRS-232Cへの「変換」アダプタが使われるようになります。その辺りからFTDI社の活躍も始まるんだと思います。しかし、9ピン、その上、普通のICには直結できない(直結すると壊れるかも)信号レベルの出力では使い勝手も悪く、結局、このチップのようにUSBとその先のICの間を「ブリッジ」する(多くはボード上に局所的に現れるだけの)UART接続になったものと思われます。
Windows10の場合、何もしなくても定番FTDIのUSBシリアルは、接続すれば使えるようです。例によって、Analog Discovery 2のUARTプロトコルのキャプチャ機能で見てみればこんな感じ。パソコンの仮想COMポートから出力した文字「W」がTXDに出力されているのが分かります。
買ったままのジャンパの設定では、USBの5V電源で動作する設定、かつTXDやRXDなどI/O端子の電圧が3.3Vになっていました。USBバスパワーで動作するのは希望通りなのですが、今回ターゲットにするつもりのボードは5V電源でOKのボードです。ジャンパを切り替えてFT232RL内蔵の3.3V電源出力をUSBからの5V電源に切り替えました。一応、波形を確認。5Vになっています。
しかし、これだけだと、ただPCに繋いで波形を確認しただけ、ということになってちょっと寂しい。
FTprog
というFT232RLチップの設定E2PROMの内容を確認したり書き換えたりできるツールを使ってみることにいたします。FTDI社のUtilityというところからインストールし、DEVICEメニューからサーチをかけると、接続されているFTDI社のチップを見つけて諸元を表示してくれます。
C0という端子にTXLED#という機能が割り当てられていることが分かります。別な目的にこの端子を再プログラムすることもできるようなのですが、今回は、「デフォルト用途」の回路をそのまま構成してみることにいたしました。TX=送信の時、LED#=LEDチカチカ、です。ぶちゃけC0(端子名はCBUS0)にLEDと電流制限抵抗をつけただけのいわゆる「Lチカ」回路。
光っているのが分かりますかね。これでUSBシリアルアダプタで「Lチカ」ができました。シリアルポートを準備できたので、次回は新しいターゲット・ボードで、次の開発環境の調べに突入の予定。