IoT MCU汎用Baseboard

弊社が考えるIoT MCU向き汎用Baseboardを示します。要件は、(1)IoT MCU向き、(2)低価格、(3)入手性の良さです。

Arduino UNOプロトタイプシールド ブレッドボード付き(¥480)と、従来から使ってきたBaseboardを併用した汎用Baseboardの特徴、FRDM-KL25Zを使った3.3V MCUと5V LCDのCMOSデバイス直結適用例を示します。

図1 Arduino UNO プロトタイプ シールド ブレッドボード 付き
図1 Arduino UNO プロトタイプ シールド ブレッドボード 付き

NXP IoT Module Baseboard

“IoT Baseboard”で検索すると、NXPのIoT Module Baseboard($160)が現れます。これは、右下にLPC54018(Cortex-M4/180MHz)をAdd-onし、EthernetやSD Card等の機能追加を行う「専用」Baseboardです。Baseboardに加え、ArduinoコネクタでもLPC54108へ機能追加できることが判ります。

図2 IoT Module Baseboard(UM11079に加筆)
図2 IoT Module Baseboard(UM11079に加筆)

LPC54018専用Baseboardで$160と高価ですが、Arduinoシールドが追加できる点が重要です。つまり、IoT Module Baseboardで基本機能追加、開発用途に応じた機能追加はArduinoシールドやPmodで行うという2通りの機能追加方式です。

Arduinoシールドで、様々なプロトタイピング開発に対応できる訳です。

Arduinoシールド

多くのMCU評価ボードは、上記LPC54018専用Baseboardと同様、Arduinoコネクタで機能追加が可能です。安価で豊富な種類のArduinoセンサシールドが販売中であることがその理由です。

弊社IoT MCU汎用Baseboardも、Arduinoシールドで機能追加できることをポイントと考えました。FRDM-KL25Zを例に説明します。

FRDM-KL25Zは、Arduinoコネクタが未実装ですのでコネクタを追加したのが図3です。Arduinoコネクタは、複数シールドをスタッカブルに装着するため、上側がメス、下側がオスの貫通ピンで構成されます。

図3 Arduinoコネクタ追加のFRDM-KL25Z
図3 Arduinoコネクタ追加のFRDM-KL25Z

Arduinoコネクタピン(青色)と、FRDM-KL25Zピン(赤色)の対応表です。例えば、右下のPTA1は、D0に対応するなど、MCU評価ボード開発時は赤色ピン、これがArduinoコネクタ利用時は青色ピンへ変わります。

図4 Arduinoコネクタピン(青色)とFRDM-KL25Zピン(赤色)対応表
図4 Arduinoコネクタピン(青色)とFRDM-KL25Zピン(赤色)対応表

MCU評価ボードにはArduinoピンのシルク印刷はありません。開発するMCU評価ボードのArduinoコネクタ対応表をよく見て、MCU評価ボードピンとArduinoピンマッピングを間違わないように注意する必要があります。

Arduino UNOプロトタイプシールド プレッドボード付き

図1のArduino UNOプロトタイプシールドは、MCUボード上に装着してもFRDM-KL25Zのタッチセンススライダの操作はできます。また、評価ボード上のLED動作は、プロトタイプシールドのスルーホールから目視できます。

さらに、プロトタイプシールドには、評価ボードRESETに並列接続済みリセットボタンと2個のLED、1個のSWが実装されています(図1回路図参照)。

プロトタイプシールドのLEDとSWは、評価ボードとは未接続ですが、付属のブレッドボードを使って配線すれば、LチカなどのMCU動作確認にも便利に使えます。

※Arduino UNOプロトタイプシールド プレッドボード付きの動作は、5章:3.3V MCUと3.3V LCD接続で示します。

IoT MCU汎用Baseboardと適用例

以上のようにArduino UNOプロトタイプシールドは、Arduinoコネクタを持つMCU評価ボードの機能追加や動作テストに便利に出来ています。

そこで、このプロトタイプシールドを、弊社が従来から使ってきた5V動作Baseboardと併用します。

MCU評価ボードへのIoTセンサやセキュリティ機能などはArduinoシールドで追加、LCDやポテンショメータなどの機能は5V動作Baseboardにより追加、この2通り機能追加で「汎用開発」に使えるIoT MCU Baseboardになります。

MCU評価ボードとして3.3V動作FRDM-KL25Zと、Baseboard実装の「5V動作LCD」とをCMOSデバイス直結で接続した適用例を示します(CMOSデバイス直結は、関連投稿を参照してください)。

図5 IoT MCU汎用BaseboardのFRDM-KL25Z適用例
図5 IoT MCU汎用BaseboardのFRDM-KL25Z適用例

※IoTセンサシールド等を追加する場合は、MCU評価ボード(FRDM-KL25Z)の直上、または直下へスタック装着を想定しています。図5は、IoTセンサシールド等を省略した例と考えてください。

3.3V MCUと3.3V LCD接続

プロトタイプシールドを装着したFRDM-KL25Zへ、前章の「5V動作LCD」の代わりに「3.3V動作LCD」を接続した例も示します。FRDM-KL25Zソフトウェアは、どちらも同じものです。

関連投稿では未検証であった3.3V MCU開発ソフトウェア動作確認に、CMOSデバイス直結を利用し5V動作Baseboardが利用できることが、LCD表示が同じであることにより実証できました。

図6 プロトタイプシールド利用の3.3V MCU評価ボードと3.3V LCD接続例
図6 プロトタイプシールド利用の3.3V MCU評価ボードと3.3V LCD接続例

ブレッドボードに実装したのは、LCD表示コントラスト調整用スライド抵抗です。5V系センサ等と3.3V MCU評価ボードをCMOSデバイス直結時に必須となるMCU入力電流保護抵抗は、ブレッドボードへ実装し対応できます。

まとめ

Arduinoプロトタイプシールドと、従来から弊社が使ってきた5V Baseboard併用の、IoT MCU汎用 Baseboardを示しました。IoT関連の機能追加はArduinoシールドで、LCD等の機能追加は5V Baseboardで行い、低価格、入手性が良く、様々なIoT MCUプロトタイピングに使えます。

最低限必要なロジックをプロトタイプシールド付属ブレッドボードへ実装すれば、3.3V系MCU評価ボードと5V系ハードウェアの制御ソフトウェア開発に、CMOSデバイス直結が使えることを実証しました。

本稿で示したFRDM-KL25Z とIoT MCU汎用Baseboardを使ったKinetis Lテンプレートは、年内に発売予定です。ご期待ください。


マイコン開発ツールの考察

最近のマイコン開発環境の動きと、その効果的な習得方法について考察します。

一人でできる最新マイコン開発環境習得の経費

一人でできる最新マイコン開発環境習得の経費
一人でできる最新マイコン開発環境習得の経費

マイコン本体選定と頻度

最重要は、システムに使うマイコン本体の選定です。私は、入手性、価格、性能、開発のし易さの順に選びます。個人利用可能な電子部品サイトは、秋月通商、マルツ、DigiKey、Mouserなどがあり、1個当たりのマイコン本体価格比較も簡単です。性能と使い易さは、日頃マイコン記事などをチェックして見当をつけます。

使用マイコンが会社で決まっている場合もあるでしょう。しかし、たまには個人で選定することも大切です。会社で決まったまま数年たって気が付くと、浦島太郎状態になるからです。1マイコン精通もアリですが、最近の環境変化対応は必須です。

マイコン本体は、端的に言うとARMマイコン以外は各社各様で、その変化幅と世代の変化量も大きいです。車のポルシェのように、最新版が常に最高!とは言いませんが、半導体の変化スピードもこれに近いものがあります。1件当たりの開発期間を半年~1年と仮定すると、2~3回開発が終わる度に最新状況チェックは必要です。

本内容がこの状況のご参考になれば幸いです。

評価ボード選定の留意点

主要マイコンには、性能や使い方を試す評価ボードが必ずあります。この評価ボードには、マイコン本体と電源、デバッグ回路、スイッチやLEDなどの最低限ハードが実装されたシンプルなCPUボードから、UARTドライバやLCD、ブザーなどの周辺回路が実装された制御系ボードまで様々です。

例えば、ルネサスのRL78/G1xならBB-RL78G13-64が後者:制御系ボードになり、G13スタータキット、G14スタータキット、QB-R5F100LE-TB、QB-R5F104LE-TBなどが前者:CPUボードです。

初期投資を抑えるならCPUボードです。しかし、アプリ動作テスト時にそのままでは使えません。結局、周辺回路を後付けすることになり、その手間と接続ミスの可能性などを考えると、ある程度の周辺を含んだ制御系ボードがお勧めです。

制御系ボードと被制御対象間のインタフェース

この制御系ボードは、マイコン本体の発売から数年以内に発売されるものが殆どです。このような制御系ボードの種類が多いものが、チマタで(世界的に)流行しているマイコンと考えても良いでしょう。多くの周辺回路を含んで¥2000以内と、驚異的な低価格で販売しているfreescaleのFRDMシリーズボードなどもその1つです。

実アプリ動作には、この制御系ボードに、被制御対象が接続されたものが必要です。被制御対象とは、例えば、モータ、ソレノイド、LED照明本体などです。汎用性がある制御系に対して、被制御対象は、アプリの依存性があるハードです。

制御系と被制御対象間のインタフェースとして、Arduino Unoやmbedなどの業界インタフェースがあります。被制御対象をこれら業界インタフェースで開発すれば、制御系が高性能化しても被制御対象はそのまま対応できるというメリットがあります。

開発環境IDEと業界インタフェース

マイコン開発は、高速開発が要求されます。ソフト的にこれをサポートするために、ルネサスのコード生成や、freescaleのProcessor ExpertなどのRAD: Rapid Application Development ツールがIDEに付属します。また、IDEの慣れの問題を解決する手段として、対象マイコンのコンパイラを変えればいろいろなマイコンに対応できるIARやKEILなどの商用IDEもあります。これらIDEとツールを使えば、素早いソース作成が可能です。

ただし、ソース作成のみではソフト開発では、道なかばです。実機動作テスト、ハードとの結合デバッグが必須だからです。実機テストには、制御系は最低限必要です。被制御対象は、ソフト開発と並行して進められることが多く、経験上、ソフト側へのリリースは遅れます。ソフト開発者は、これに留意したうえで開発スケジュールの立案が要求されます。

この立案の助けになるのが、開発速度を上げることをハード的にサポートする制御系と被制御対象間のインタフェースです。業界標準のArduino Unoやmbedを採用していれば、被制御対象の市販ボード代用も可能です。

マイコン開発環境の狙い

制御系デバッグ効率は、経験やツールが活かされる分野です。Eclipse IDEは、多くのデバッグアドオンツールで、だれもが効率的にデバッグできる環境を提供しています。開発分業(専業)体制にマッチします。

開発規模が大きくなると分業は必要です。人間、一度に集中できるエリアは、そんなに広くないからです。各種IDE付属ツール(コード生成、Processor Expert)や業界標準IDE(Eclipse)、インタフェース(Arduino Uno、mbed)が生まれる背景、目的はこの高速分業体制です。

個人レベルの技術習得

個人レベルでこれらの高速分業マイコン開発環境への慣れや備えは、必要です。例えれば、数学を解くには、ツールとして算数や暗算、時には電卓を使うと役に立つのと同じです。

限られた時間とお金に余裕がない個人レベルで、これら最近のマイコン開発全体を俯瞰し、効率的に速習するには、評価ボードで実動作する弊社マイコンテンプレートを使うのも1つの方法です。必要経費を、最初の表に示しました。この程度の金額であれば個人でチャレンジすることも容易だと思うのです。