MCUの5V耐圧ピン

弊社FreeRTOS習得ページで使う評価ボード:LPCXpresso54114(Cortex-M4/100MHz、256KB Flash、192KB RAM)は、FreeRTOSだけでなく、Mbed OSZephyr OSなどオープンソース組込みRTOSにも対応しています。多くの情報がありRTOSを学ぶには適した評価ボードだと思います。

LPCXpresso54114 Board power diagram(出典:UM10973に加筆)
LPCXpresso54114 Board power diagram(出典:UM10973に加筆)

さて、このLPCXpresso54114の電圧ブロック図が上図です。MCUはデフォルト3.3V動作、低電力動作用に1.8Vも選択可能です。一方、Arduinoコネクタへは、常時5Vが供給されます。

本稿は、このMCU動作電圧とArduinoコネクタに接続するセンサなどの動作電圧が異なっても制御できる仕組みを、ソフトウェア開発者向けに説明します。

MCU動作電圧

高速化や低電力化の市場要求に沿うようにMCU動作電圧は、3.3V → 3.0V → 2.4V → 1.8Vと低下しつつあります。同時にMCUに接続するセンサやLCDなどの被制御デバイスも、低電圧化しています。しかし、多くの被制御デバイスは、未だに5V動作が多く、しかも低電圧デバイスに比べ安価です。

例えば、5V動作HD44780コンパチブルLCDは1個500円、同じ仕様で3.3V動作版になると1個550円などです。※弊社マイコンテンプレートに使用中のmbed-Xpresso Baseboardには、5V HD44780コンパチブルLCDが搭載されています。

レベルシフタ

異なる動作電圧デバイス間の最も基本的な接続が、間にレベルシフタを入れる方法です。

TI)TXS0108E:8ビットレベルシフタモジュールの例で示します。低圧A側が1.8V、高圧B側が3.3Vの動作図です。A側のH/L電圧(赤)が、B側のH/L電圧(緑)へ変換されます(双方向なので、B側からA側への変換も可能です)。

8ビットレベルシフタTXS0108Eのアプリケーション動作(出典:TI:TXS0108Eデータシート)
8ビットレベルシフタTXS0108Eのアプリケーション動作(出典:TI:TXS0108Eデータシート)

レベルシフタ利用時には、電圧レベルの変換だけでなく、データレート(スピード)も重要です。十分なデータレートがあれば、1.8VのH/L波形は、そのまま3.3VのH/L波形へ変換されますが、データレートが遅いと波形が崩れ、送り側のH/L信号が受け側へ正確に伝わりません。

例えば、LCD制御は、複数のLCDコマンドをMCUからLCDへ送信して行われます。データレートが遅い場合には、コマンドが正しく伝わらず制御ができなくなります。

MCUの5V耐圧ピン:5V Tolerant MCU Pad

LPCXpresso54114のGPIOピンには、5V耐圧という属性があります。PIO0_0の[2]が5V耐圧を示しています。

LPCLPCXpresso54114の5V耐圧属性(出典:5411xデータシート)
LPCLPCXpresso54114の5V耐圧属性(出典:5411xデータシート)

5V耐圧を簡単に説明すると、「動作電圧が3.3/1.8V MCUのPIO0_0に、5Vデバイスをレベルシフタは使わずに直接接続しても、H/L信号がデバイスへ送受信できる」ということです。または、「PIO0_0に、1ビットの5Vレベルシフタ内蔵」と解釈しても良いと思います。

※ハードウェア担当者からはクレームが来そうな説明ですが、ソフトウェア開発者向けの簡単説明です。クレームの内容は、ソフトウェア担当の同僚へ解説してください😌。

全てのGPIOピンが5V耐圧では無い点には、注意が必要です。但し、ArduinoコネクタのGPIOピンは、5V耐圧を持つものが多いハズです。接続先デバイスが5V動作の可能性があるからです。

また、I2C/SPIバスで接続するデバイスもあります。この場合でも、MCU側のI2C/SPI電圧レベルとデバイス側のI2C/SPI電圧レベルが異なる場合には、レベルシフタが必要です。MCU側I2C/SPIポートに5V耐圧属性がある場合には、GPIO同様直接接続も可能です。

I2Cバスは、SDA/SCLの2本制御(SPIなら3本)でGPIOに比べMCU使用ピン数が少ないメリットがあります。しかし、その代わりに通信速度が400KHzなど高速になるのでデータレートへの注意が必要です。

LPCXpresso54114以外にも5V耐圧ピンを持つMCUは、各社から発売中です。ちなみに、マイコンテンプレート適用のMCUは、6本の5V耐圧GPIOを使ってmbed-Xpresso Baseboard搭載5V LCDを直接制御しています。

mbed-Xpresso Baseboard搭載5V HD44780コンパチLCDの3.3V STM32G071RB直接制御例
mbed-Xpresso Baseboard搭載5V HD44780コンパチLCDの3.3V STM32G071RB直接制御例

5V耐圧MCUデータシート確認方法

MCUのGPIOやI2C/SPIを使って外部センサやLCDなどのデバイスを制御する場合、下記項目を確認する必要があります。

  1. MCU動作電圧と被制御デバイス動作電圧は同じか?
  2. MCU動作電圧と被制御デバイス動作電圧が異なる場合、外付けレベルシフタを用いるか、またはMCU内蔵5V耐圧ピンを用いるか?
  3. MCU内蔵5V耐圧GPIOやI2C/SPIを利用する場合、そのデータレートは、制御に十分高速か?

5V耐圧ピンは、使用するMCU毎に仕様が異なります。MCUデータシートは、英語版なら「tolerant」、日本語版なら「耐圧」で検索すると内容確認が素早くできます👍。

MCU動作電圧と接続デバイス動作電圧が異なっても、MCUのH/L信号が被制御デバイスへ正しく伝わればデバイスを制御できます。

MCU動作電圧に合わせたデバイス選定やレベルシフタ追加ならば話は簡単ですが、トータルコストや将来の拡張性などを検討し、5V耐圧ピンの活用も良いと思います。

MCUベンダAPI生成ツール比較

お知らせ

弊社サイト:マイコンRTOS習得を2020年版へ改版しました。前稿までのFreeRTOSサンプルコード(1)~(5)結果を、2017年版へ反映させた結果です。是非、ご覧ください。

MCUベンダAPI生成ツール一覧

FreeRTOSサンプルコード(1)で予告したベンダ毎に異なるAPI生成ツールやその違い、サンプルコードとの関係を説明します。本ブロブ掲載MCUベンダ5社のAPI生成ツール一覧が下表です。

MCUベンダトップシェア5社のMCU API生成ツール一覧
ベンダ API生成ツール ブログ掲載MCU API生成方法
Runesas CS+ RL78/G1x 個別ハードウェア設定
NXP SDK LPC111x/LPC8xx/Kinetis E/LPC5411x MCU設定
STM STM32CubeMX STM32Fx/STM32Gx 個別ハードウェア設定
Cypress PSoC Creator PSoC4/PSoC4 BLE/PSoC4000/PSoC6 個別ハードウェア設定
TI CCS STM432 MCU設定

IDEとは別のAPI生成ツール専用名があり、ツール単独で更新するのが、NXP)SDK、STM)STM32CubeMXです。Runesas)CS+、Cypress)PSoC Creator、TI)CCSは、IDEにAPI生成ツールが組込まれていますので、IDE名称をAPI生成ツール欄に記載しています。
※CS+のAPI生成ツールは、単独でコード生成と呼ぶこともあります。

さて、これらAPI生成ツールには、2種類のAPI生成方法があります。

  • MCU設定:利用MCUを設定し、内蔵ハードウェアAPIを一括生成…NXP)SDK、TI)CCS
  • 個別ハードウェア設定:利用内蔵ハードウェアを個別設定し、APIを生成…Runesas)CS+、STM)STM32CubeMX、Cypress)PSoC Creator

MCU設定タイプのAPI生成ツールは、全内蔵ハードウェアAPIを、ユーザ利用の有無に係わらず一括生成するため、規模が大きく、SDK(Software Development Kit)などパッケージ化してIDEへ提供されます。但し、コンパイル時に利用ハードウェアのみをリンクしてMCUへダウンロードするので、少Flashサイズでも問題はありません。

MCU設定タイプの特徴は、例えば、UART速度設定などのハードウェア動作パラメタは、APIパラメタとしてMCUソースコードにユーザが記述します。

MCU設定タイプのNXP)SDKのUART API例
MCU設定タイプのNXP)SDKのUART API例

一方、個別ハードウェア設定タイプは、UARTなどのハードウェア動作パラメタは、API生成前にGUI(Graphical User Interface)で設定し、設定後にAPIを生成します。このためユーザが、MCUソースコードのAPIに動作パラメタを追記することはありません。

個別ハードウェア設定タイプのSTM32CubeMXのUART API例
個別ハードウェア設定タイプのSTM32CubeMXのUART API例

API生成ツール比較

MCU設定タイプのAPI生成ツールは、使い方がMCU設定のみで簡単です。また、ハードウェア動作パラメタがMCUソースコード内にあるため、動作変更や修正もIDE上で行えますが、人手によるバグ混入の可能性も高まります。

個別ハードウェアタイプAPI生成ツールは、MCUソースコード内のAPI記述が簡素です。生成されたAPI内部に動作パラメタが含まれているからです。但し、ハードウェア動作変更には、IDEから一旦API生成ツールに戻り、APIの再生成が必要です。この場合でも、MCUソースコードは不変ですので、GUI設定にミスが無ければバグ混入は少ないでしょう。

どちらにも、一長一短があります。敢えて分類すると、ソフトウェア開発者向きが、MCU設定タイプ、ハードウェア開発者向きでTP:Test Program応用も容易なのが、個別ハードウェア設定タイプです。

個別ハードウェア設定タイプであっても、Cypress)PSoC Creatorなどは、通常パラメタはBasicタブ、詳細パラメタはAdvanceタブで分け、誰でも設定を容易にしたツールもあります。

MCUソフトウェアは、C言語によるMCU API制御です。MCU API生成ツールの使い勝手が、ソフトウェア生産性の半分程度を占めていると個人的には思います。

サンプルコード/サンプルソフトウェア

各社のサンプルコード/サンプルソフトウェアは、上記API生成ツールのMCUソースコード出力例です。

従って、サンプルコードには、出力例と明示的に判るよう多くのコメントが付加されています。初めてサンプルコードを見る開発者は、注意深くコメントを読んで、そのMCU開発の全体像を理解することが重要です。

全体像が理解済みであれば、より効率的な開発手法、例えば、(推薦はしませんが)個別ハードウェア設定タイプであっても、IDEからAPI生成ツールに戻らずに、直接MCUソースコードでハードウェア動作パラメタを変更するなどのトリッキーな使い方も可能です。

MCU開発とCOVID-19

新型コロナウイルス:COVID-19が世界的に流行しつつあり、工場閉鎖や物流への影響も出始めています。現状は治療薬が無いので、「個人の免疫力と体力」が生死の決め手です。

同時にMCU供給不足/停止など、開発への波及も懸念されます。これに対し「個人で第2のMCU開発力」を持つことが解決策を与えます。

本稿は、MCUベンダトップシェア5社のMCU API生成ツールを比較しました。MCUシェア評価ボード価格や入手性、個人の好みなど、是非ご自分にあった比較項目で、現在利用中のMCUに代わる第2のMCU開発力を持つことをお勧めします。

第2のMCU開発力は、現行と視点が変わり利用中MCUスキルも同時に磨くことができ、様々な開発リスクに耐力(体力)が付きます。短期で効果的な第2のMCU開発力の取得に、弊社マイコンテンプレートがお役に立てると思います。

MCUプロトタイプ開発のEMS対策とWDT

ノイズや静電気によるMCU誤動作に関する興味深い記事がEDN Japanに連載されました。

どのノイズ対策が最も効果的か? EMS対策を比較【準備編】、2019年10月30日
最も効果的なノイズ対策判明!  EMS対策を比較【実験編】、2019年11月29日

EMS:(ElectroMagnetic Susceptibility:電磁耐性)とは、ノイズが多い環境でも製品が正常に動作する能力です。

MCUプロトタイプ開発時にも利用すべきEMS対策が掲載されていますので、本稿でまとめます。また、ノイズや静電気によるMCU誤動作を防ぐ手段としてWDT:Watch Dog Timerも説明します。

実験方法と評価結果

記事は、インパルスノイズシュミレータで生成したノイズを、EMS対策有り/無しのMCU実験ボードに加え、LED点滅動作の異常を目視確認し、その時点のノイズレベルでEMS対策効果を評価します。

評価結果が、11月29日記事の図5に示されています。

結果から、費用対効果が最も高いEMS対策は、MCU実験ボードの入力線をなるべく短く撚線にすることです。EMS対策用のコンデンサやチョークコイルは、仕様やパーツ選定で効果が左右されると注意しています。

MCUプロトタイプ開発時のお勧めEMS対策

MCUプロトタイプ開発は、ベンダ提供のMCU評価ボードに、各種センサ・SWなどの入力、LCD・LEDなどの出力を追加し、制御ソフトウェアを開発します。入出力の追加は、Arduinoなどのコネクタ経由と配線の場合があります。言わばバラック建て評価システムなので、ノイズや静電気に対して敏感です。

このMCUプロトタイプ開発時のお勧めEMS対策が下記です。

1.配線で接続する場合は、特に入力信号/GNDのペア線を、手でねじり撚線化(Twisted pair)だけで高いEMS効果があります。

身近な例はLANケーブルで、色付き信号線と白色GNDの4組Twisted pairが束ねられています。このTwisted pairのおかげで、様々な外来ノイズを防ぎLANの信号伝達ができる訳です。

信号とGNDの4組Twisted pairを束ねノイズ対策をするLANケーブル
信号とGNDの4組Twisted pairを束ねノイズ対策をするLANケーブル

2.センサからのアナログ入力信号には、ソフトウェアによる平均化でノイズ対策ができます。

アナログ信号には、ノイズが含まれています。MCU内蔵ADCでアナログ信号をデジタル化、複数回のADC平均値を計算すればノイズ成分はキャンセルできます。平均回数やADC周期を検討する時、入力アナログ信号が撚線と平行線では、2倍以上(図5の2.54倍より)のノイズ差が生じるので重要なファクターです。従って、撚線で検討しましょう。
平均回数やADC周期は、パラメタ設定できるソフトウェア作りがお勧めです。

3.SWからの入力には、チャタリング対策が必須です。数ミリ秒周期でSW入力をスキャンし、複数回の入力一致でSW値とするなどをお勧めします。
※弊社販売中のMCUテンプレートには、上記ADCとSWのEMS対策を組込み済みです。

4.EMS対策のコンデンサやチョークコイルなどの受動部品パーツ選定には、ベンダ評価ボードの部品表(BOM:Bill Of Matrix)が役立ちます。BOMには、動作実績と信頼性がある部品メーカー名、型番、仕様が記載されています。

ベンダMCU評価ボードは、開発ノウハウ満載でMCUハードウェア開発の手本(=ソフトウェアで言えばサンプルコード)です。

特に、新発売MCUをプロトタイプ開発に使う場合や、MCU電源入力ピンとコンデンサの物理配置は、BOM利用に加え、部品配置やパターン設計も、MCU評価ボードを参考書として活用することをお勧めします。
※PCB設計に役立つ評価ボードデザイン資料は、ベンダサイトに公開されています。

MCU誤動作防止の最終手段WDT

EMS対策は、誤動作の予防対策です。EMS対策をしても残念ながら発生するノイズや静電気によるMCU誤動作は、システムレベルで防ぐ必要があります。その手段が、MCU内蔵WDTです。

WDTは、ソフトウェアで起動とリセットのみが可能な、いわば時限爆弾です。WDTを一旦起動すると、ソフトウェアで定期的にリセットしない限りハードウェアがシステムリセットを発生します。従って、ソフトウェアも再起動になります。

時限爆弾を爆発(=システムリセット)させないためには、ソフトウェアは、WDTをリセットし続ける必要があります。つまり、定期的なWDTリセットが、ソフトウェアの正常動作状態なのです。

ノイズや静電気でMCU動作停止、または処理位置が異常になった時は、この定期WDTリセットが無くなるため、時限爆弾が爆発、少なくとも異常状態継続からは復帰できます。

このようにWDTはMCU誤動作を防ぐ最後の安全対策です。重要機能ですので、プロトタイプ開発でもWDTを実装し、動作確認も行いましょう。

※デバッグ中でもWDTは動作します。デバッグ時にWDT起動を止めるのを忘れると、ブレークポイントで停止後、システムリセットが発生するのでデバッグになりません。注意しましょう!

ルネサスARM Cortex-Mコアマイコン:RAファミリ発表

2019年10月8日、ルネサスエレクトロニクス(以下ルネサス)が、ARM Cortex-M4/M23搭載のRAファミリを発表しました。ARMコアMCU市場へ、遅ればせながら(!?)参入したRAファミリの特徴、競合他社と比較評価しました。

Runesas RAファミリ(出典:ルネサス)
Runesas RAファミリに加筆(出典:ルネサス)

RAファミリの特徴

「攻めやすく、守りにくい」、これがARMコアMCU市場だと思います。先行する競合他社は、NXP、STM、Cypress、TIなどです。

後発ルネサスが選択したARMコアは、Cortex-Mコア最高性能のCortex-M4と、低消費電力+セキュリティ重視のCortex-M23/M33(M4はRA8でマルチコア化、M33予定)です。

同じARMコアの先行他社へ攻め込むには、他社比魅力的な内蔵周辺回路が必要です。上図の静電容量タッチセンサ、アナログなどがこれに相当するはずです。Cypress特許の静電容量タッチセンサ:CapSenseとの性能比較が楽しみです。
※CapSenseの特徴は、コチラの投稿などを参照してください。

RAファミリのターゲット市場は、産業機器、ビルオートメーション、セキュリティ、メータ、家電などで、車載を除く次世代IoTエッジデバイスです。

RAファミリの市場(出典:RAファミリパンフレット)
RAファミリの市場(出典:RAファミリパンフレット)

セキュリティニーズが高いIoTエッジMCUでは、Cortex-M3クラスでも性能不足が懸念されます。シングルコアなら最低でもCortex-M4、セキュリティ強化Cortex-M23/33のRAファミリのコア選択は、理解できます。

RAファミリとRunesas Synergyの違い

ルネサスは、これまでRunesas Synergy™としてARMコアMCUを販売してきました。このRunesas SynergyとRAファミリの違いが、10月8日MONOistの“ルネサスがArmマイコンで本気出す、「RAファミリ」を発売”記事に説明されています。

筆者は、Runesas Synergy™は、ルネサスがアプリケーション開発を手伝う形式で、個人レベルでの開発には金額的に手を出しにくいMCU、一方、RAファミリは、競合他社と同様CMSIS:Cortex Microcontroller Software Interface Standardに則った形式でユーザがアプリケーション開発できるMCUと理解しています。
※CMSIS:Cortex Microcontroller Software Interface Standardは、コチラの2章などを参照してください。

これで弊社も、競合他社と同じ土俵でルネサスARMコアMCUを使える可能性がでてきました。

RAファミリの開発環境

RAファミリの開発環境(出典:RAファミリパンフレット)
RAファミリの開発環境(出典:RAファミリパンフレット)

RAファミリパンフレットによると、IDEは、e2 studio(CS+はありません)、エミュレータは、Segger J-Linkまたは、E2エミュレータ Liteです。

例えば、Cortex-M4/48MHz/Flash:256KB/RAM:32KBの評価ボード:EK-RA4M1の概要が下記です。

EK-RA4M1 MCU 評価キット
EK-RA4M1 MCU 評価キット

Mouserで¥4,539で購入可能です。他社同様オンボードエミュレータですが、Arduinoコネクタを持っていません。価格も、後発なのに他社比、高い気がします😥。

RAファミリと競合他社比較

Cortex-Mコア、内蔵周辺回路、開発環境、評価ボード、日本語技術資料の5点から、ルネサスRAファミリを、競合他社ARMコアMCUと3段階(A/B/C)評価しました。

Cortex-Mコア=A、内蔵周辺回路=A、開発環境=B、評価ボード=C、日本語技術資料=C → 総合評価=B

総合評価Bは、普通レベルということです。個別評価結果が下記です。

Cortex-M4とM23/33コア選択や、タッチセンサ等の内蔵周辺回路は、後発なので当然ルネサスの市場調査結果によるものと思われ、A評価としました。IoTエッジMCUでは、これらコアや周辺回路が必須だと筆者も思います。
※コアと周辺回路は、現在、弊社注力中のCortex-M4コアテンプレート開発とCypress)PSoC 4 CapSenseテンプレート(開発中)に傾向が一致しています。

開発環境は、多機能すぎるe2 studioなのでBです(A評価は、NXP)MCUXpressoTI)CCS Cloud)。

評価ボードは、Arduinoコネクタなしで高価なためCです(A評価は、NXP)LPCXpressoやSTM)Nucleo32)。

日本企業のルネサスですが、RAファミリ動画などは英語です。重要技術資料も英語が多く、日本語資料はC評価です(A評価は、STM)。
※ソフトウェア開発者が、日本語資料にこだわること自体、時代錯誤、時代遅れかもしれません。しかし、イタリア+フランス企業のSTM日本語翻訳資料は、内容、和訳ともに優秀です。ルネサス技術資料は、これらと比べると低評価と言わざるを得ません。

総合評価Bですので、評価ボード:EK-RA4M1入手は、ペンディングとします。ルネサスRAマイコンを、本ブログへ追加した場合、ブログカテゴリと目標とする生産物は、下図になります。

また、2番目に示したターゲット市場図から、従来MCU とIoTエッジMCUとの境界が、Cortex-M3コアの可能性が見えてきました。この境界も追加しました。

ブログカテゴリと生産物(従来MCUとIoT MCU境界追加)
ブログカテゴリと生産物(従来MCUとIoT MCU境界追加)

筆者は、従来MCUは、IoTエッジのさらに外側、つまりIoT MCUのフロントエンドで機能し、Cortex-M4ソフトウェアの一部流用や活用により生産性が高く、しかも、エッジのカスタムニーズへも柔軟に対応するMCUへ発展すると思います。ARM Cortex-Mxコア間は、ソフトウェア流用が可能です(次回、詳細説明予定)。

ルネサスは、インターシルやIDT買収でMCUアナログフロントエンドを強化したはずです。しかし、新発売RAファミリに、これら買収技術は見当たらず、期待のSynergy効果も具体的には不明です(内蔵周辺回路の静電容量タッチセンサ、アナログに見えると期待)。

残念ながら現時点では、筆者には、RAファミリが魅力的なARMコアIoTエッジMCUとは思えません。今後に期待します。

エレクトロニクス分析専門家が見るルネサス

本ブログに開発者の立場で何度かルネサスエレクトロニクス批判(本心は応援?)をしましたが、エレクトロニクス分析専門家、大山 聡氏(グロスバーグ代表)がEE Times Japanに寄稿された「なぜルネサスは工場を停止しなければならないのか ーー 半導体各社のビジネスモデルを整理する」で、数値分析結果を示され、明確な危機感・不安感に変わりました。

NXP、STMと大きく異なるルネサスのSG&A

SG&A(selling, general and administrative expenses)は、販売費及び一般管理費のことで、顧客に対するサポート負担経費を示します。売り上げ11%が業界平均なのに、ルネサスは19%と吐出しています。原因は、Intersil買収。巨額IDT買収は、今後の負担としてさらに悪化する方向になるようです。

関連投稿:ルネサスのIDE買収とリスク分散ルネサスエレクトロニクス、IDE買収

詳しくは、寄稿内にあるグロスバーグ作成の「主な半導体メーカーのR&Dおよび、SG&A比較」図を見ると一目瞭然です。

個人開発者としてルネサスの統合開発環境や評価ボードの価格の高さは、いかがなものか(でもルネサスを贔屓するバイアスはありました)と思ってきましたが、この寄稿を読んで国産MCUの先行きに不安感が大きくなりました。

技術的に勝っていてもビジネスでは成功しない例は、日本では多い歴史があります。

日立、三菱、NECの統合・融合したルネサス、日本全体の地盤沈下が見え隠れするなか、国産MCU技術力も同じ歴史をたどるのでしょうか?
もし自分がルネサスMCU研究開発担当なら、このままでライバルと競えると考えるでしょうか?

Edge MCU評価ボード要件と検索方法

前稿で示したEdge MCUテンプレート構想を具体化します。MCU動作だけでなく、IoTサービス例を、開発者個人が、低価格かつ簡単に示すことを目的とするこの新しい「Edge MCUテンプレート」は、弊社が従来から販売してきた「汎用MCUテンプレート」のアプローチとは少し異なります。

それは、テンプレート出力がMCU動作だけでなくIoTサービスも含めるからです。たとえEdge MCUであっても普通のデバイスです。ベンダーは、その評価ボードでEdge MCUの特性を活かしたIoTサービスを示す場合が多いです。
従って、Edge MCUテンプレートのポイントは、いかに上手くIoTサービスを示すベンダー評価ボードを選べるかに掛かっています。

本稿は、Edge MCUテンプレートに用いるEdge MCU評価ボードの3要件と、これら要件を満たす評価ボード検索方法を示します。

Edge MCUテンプレートに用いるEdge MCU評価ボードの3要件

以下3要件を、Edge MCUテンプレートに用いるEdge MCU評価ボードと考えます。

  • R1. 低価格、入手先豊富なEdge MCU評価ボード <¥3,000
  • R2. 最新Edge MCU使用(2018年後半の新しいIoTトレンドに沿って開発されたEdge MCUであること)
  • R3. 何らかのIoTサービス例を簡単に示せる

要件(Requirements)を満たさない場合は、どの項目がNGかが解れば、開発者や場合によってはOKの場合もあります。¥3,000が低価格かは懐具合次第ですし、開発年度が新しいか古いか、何らかのIoTサービスなど、全て主観です。

ただ主観であっても、Edge MCU評価ボード選択にあたりR1~R3の要件があると、採否が簡単になります。仮に、最新Edge MCUでは無いが、低価格でIoTサービスも示せる評価ボードがあった場合には、「R2_NG」だが採用するなどの特例も取れます。そこで次に、この3要件を満たすEdge MCU評価ボードを効率的に選ぶ方法を示します。

3要件を満たすEdge MCU評価ボード検索方法

最新Edge MCUで、R1~R3要件を満たすEdge MCU評価ボードを選ぶには、Mouserの新製品(メーカー別)ページが便利です。DigiKeyやチップワンストップにも同様ページがありますが、サムネイル写真と概要付きなのでMouserが最も使いやすいと思います。

Mouser新製品ページ
Mouser新製品(メーカー別)ページ。メーカーロゴクリックで集計される。カテゴリ別や週別でも選べて便利。

例えば、STマイクロエレクトロニクス(以下STM)をクリックすると、「発売日順」にサムネイルと商品名、概要が列挙されます。この中から、Edge MCUテンプレートに使えそうな評価ボードの商品詳細を読み、3要件で採否を判断すれば良いという訳です。

STマイクロエレクトロニクスの発売日順検索結果
STマイクロエレクトロニクスの発売日順検索結果。写真、製品名、概要が判る。

守備範囲が広いSTM32G0投稿で示したNucleo-G071RB(¥1,203)もこの方法で上位ページ、つまり新商品順に表示されるので、直に探せます。
※年始には1ページ目上部に示されたNucleo-G071RBが、2ページ目下部に示されました。STMは他ベンダー比、新製品が多いのにも驚かされます!
※このようにベンダー毎の新製品数、評価ボード搭載デバイスの単体価格なども簡単に分かる点がマウザー新製品ページの利点です。

NXP、サイプレス、ルネサスとベンダーを変えて上記検索をすれば、R1~R3要件を満たすEdge MCU評価ボードが簡単に見つかります。

ルネサスは投稿時3要件を満たすEdge MCU評価ボードなし

残念ながらベンダーをルネサスで検索しても、2月末時点では価格要件:R1を満たすEdge MCU評価ボードが見つかりません。

例えば、RL78ファミリのロードマップ投稿で示したRL78/G11評価ボードYQB-R5F1057A-TB(¥3,961…!)やYRPBRL78G11(¥6,437)※秋月電子でも¥4,320は、ともに¥3,000を超えます。

また、低価格がセールスポイントのRX評価ボードTarget Board for RX130/231/65NでもR1を満たしません。

つまり、ルネサスEdge MCU評価ボードは、他ベンダー比、どれも価格高めです。企業レベルでの購入なら問題ないでしょう。しかし、これら価格は、実装部品から推測しても“個人開発者は顧客として眼中に無いのでは(!?)”、とも疑われるコスパだと思います。

※東洋経済Online2月19日に、ルネサス急ブレーキのしかかる1兆円買収記事が掲載されています。ルネサスを応援したいのですが、Edge MCU評価ボード入手も含め、手を出しにくい状況です。

2018年IoTトレンドと2019年予想記事をEdge MCU開発者観点で読む

セキュリティ、産業IoT、通信事業者との連携、ウェアラブルデバイスという4テーマで2018年IoTドレンドとその予想結果、2019年のそれらを予想した記事がTechTarget Japanに掲載されています。

本稿はこの記事内容を、マイコン:MCU、特に本ブログ対象Edge MCU開発者の観点から読みたいと思います。

IoTサービス観点からの顧客目線記事

一言でIoTと言っても様々な観点があります。本ブログ読者は、殆どがMCU開発者なので、顧客がどのようなIoT開発を要求し、それに対して自社と顧客双方のビジネス成功をもたらす「ソリューション提供」が最も気にする点だと思います。

一方、要求を出す側の顧客は、記事記載の「IoTサービス」に注意を払います。そのサービス実現手段として、ベンダー動向やMCU開発者自身の意見を聞いてくるかもしれません。そんな時、日頃の技術動向把握結果を具体的に顧客に提示できれば、顧客案件獲得に有効なのは間違いありません。

顧客と開発者のIoT捉え方は異なる。
顧客はサービス観点でIoTを捉える。開発者はソリューション提供でIoTを捉える。

そこで、記事の4テーマ毎にEdge MCU開発者の観点、特にEdge MCU最新動向を関連投稿とともに示します。

セキュリティ

Edge MCUセキュリティ強化策として、昨年頃からMCUにセキュリティ機能を内蔵するか、または、MCU外付けに専用セキュリティチップを追加する動きが出始めました。
要するに、IoTではEdge MCUでデジタルデータ暗号化機能実装が必須になりつつあるのです。
関連投稿:守備範囲が広いSTM32G0のアクセス・ライン製品
関連投稿:IoTマイコンとセキュリティの色々なセキュリティ強化方法

産業IoT

産業機器データ収集と分析の重要性は顧客に認識されていますが、IoT導入は記事にあるように初期段階です。Edge MCUも、産業用にも流用できるメリットを示すIoT MCU新製品もありますが、車載用の新製品が多い状況です。
関連投稿:NXP新汎用MCU S32K1

通信事業者との連携

国により大きく異なる通信事業者とそのサービスや連帯を一言で表すことは困難です。ただし、日本国内でのIoTフィールドテストは、今一つ盛り上がりに欠ける感じが個人的にはします。やはり、黒船(海外発のIoT通信デファクトスタンダードとその普及)が必要かな?と思います。

ウェアラブルデバイス

Edge MCUに近距離無線通信(NFC)機能を搭載したり、AI機能(機械学習)を搭載しHuman Activity Recognition:人間活動認識を実現したりする新しいEdge MCI製品が登場しています。
関連投稿:NFCを使うLPC8N04のOTA
関連投稿:MCUのAI機能搭載

2019年2月18日速報:タイムリーなことに、Motor Fan Techという自動車関連の情報誌で、次世代ARM v8.1-Mアークテクチャが、業界最小の組み込みデバイス向けに、強力な信号処理を実現が掲載ました。次世代Cortex-Mプロセサは、機械学習(ML)パフォーマンスを最大15倍、信号処理パフォーマンスを最大5倍向上させるそうです。

IoTサービス例を顧客に示せるEdge MCUテンプレート構想

2018年3月の弊社LPC8xxテンプレートV2.5改版以降、新開発のマイコンテンプレートはありません。その理由は、記事にもあるIoTの急速な普及・変化が無かったことも1つの理由です。

これまでの弊社マイコンテンプレートの目的は、「開発者個人が低価格でMCU開発を習得すること」でした。このため、各ベンダーの汎用MCUとBaseboardを使い、そのMCU基本的動作開発までを1つの到達点としてきました。

2018年後半から新しいIoTトレンドに沿った新Edge MCUが各ベンダーから発売済みです。そこで、マイコンテンプレートも、顧客目線やその観点を取り入れた到達点へステップアップしようと思います。

顧客は単にMCUが動作するだけでなく、何かしらのサービス提供をしているIoT MCUを見たいでしょう。この「IoTサービス例を、開発者個人が、低価格かつ簡単に示せるマイコンテンプレート」が新しいEdge MCUテンプレートの構想です。

IoTサービス例を示すEdge MCUテンプレート
IoTサービス例を示すEdge MCUテンプレート

この場合の顧客とは、ビジネス顧客に限らず、開発者の上司や同僚、さらに、開発者自身でも良いと思います。開発結果がIoTサービスに関連していれば、誰でもその効果が判り易いハズです。

期待されているIoTサービスならば、開発者もMCU開発がより楽しく、その習得や応用サービスへの発展もより具体的かつアグレッシブになると思います。と言っても、クラウドを含めたIoTサービスを開発・提供するのは、個人レベルでは無理です。
従って、ほんの触り、一部分のIoTサービスになります。それでも、見る側からは、開発内容が解りやすくなります。

もはやMCUが動作するのは、当たり前です。その上で、+αとしてEdge MCUがIoTで出来るサービス例を示し、さらに、Edge MCU習得も効率的にできるのがEdge MCUテンプレートです。

今後開発するEdge MCUテンプレートは、IoTサービス指向の結果、これまでマイコンテンプレートが持っていた汎用性が少し犠牲になる可能性もあります。ただ、従来の汎用MCUの意味・位置づけもIoTで変わりつつあります。
関連投稿:RL78ファミリから解る汎用MCUの変遷
関連投稿:STM新汎用MCU STM32G0

MCU基本動作に加え、何らかのIoTサービス提供例を示す工夫をEdge MCUテンプレートへ加えるつもりです。

Arduinoコネクタを持つMCU評価ボードが多い理由

ArduinoコネクタコンパチブルMCU評価ボード例
ArduinoコネクタコンパチブルMCU評価ボード例

本稿は、Arduinoコネクタを持つMCU評価ボードが多い理由を、少し丁寧に説明します。上図は、Arduinoコネクタレベルでコンパチブル(=置換え可能)なSTマイクロエレクトロニクス、サイプレス・セミコンダクター、NXPセミコンダクターズ各社のMCU評価ボードを示しています。

Arduinoコネクタ

イタリア発で「オープンソースハードウェア概念」の発端となったArduino(アルデュイーノ、もしくはアルドゥイーノ)。その制御系とArduinoシールドと呼ばれる被制御系ボード間の物理インタフェースがArduinoコネクタ(右下)です。
I2C(SCL/SDA)/ADEF(アナログ基準電位)/DIGITAL(PWM兼用)/ IOREF(IO基準電位)/RESET/POWER/ANALOG INのピン配置が決まっています。

Arduinoコネクタのおかげで、制御系とシールドに分離して開発でき、それぞれをArduinoコネクタで接続すれば、Arduinoボードシステムが完成します。

Wikipediaによると、2013年には制御系とシールド、公式非公式合わせて140万台ものArduinoボードが販売されていて、安価にプロトタイプシステム構築が可能となっています。

Arduinoコネクタを持つMCU評価ボードが多い理由その1:市販安価シールド資産が使える

既にこれだけの数のシールドが販売中ですので、MCU開発にそのまま流用や小変更で使えるシールドもあります。

Arduinoコネクタを持つMCU評価ボードが多い理由その1が、この既製品で安価なシールド資産が使えるからです。使用部品選定やアートワークパターンなども十分に練られた既製品が入手できるのです。しかもこれらは殆どの場合、オープンソースハードウェアなので詳細が開示済みです。

シールドは縦方向に段重ね(スタッカブル)できますので、複数段を重ね機能増加も可能です。

ハードウエア基板を0から動作するレベルにまでもっていくのは、時間もコストも掛かります。市販シールドを利用したプロトタイプ開発が可能なことが、MCU評価ボードにArduinoコネクタを持つ理由です。

Arduinoコネクタを持つMCU評価ボードが多い理由その2:MCU性能評価に使える

シールドを使ってハードウエアが用意されれば、後はソフトウェアです。

図のようにシールドは、複数ベンダーのMCU評価ボードに使えますし、同一ベンダー内の異なるMCUの性能評価にも使えます。

例えば、最も重要な処理に必要なシールドと、その制御ソフトウェアのみをプロトタイプ開発し、MCU性能が重要処理に十分か否かの評価を行います。この評価結果で、コストパフォーマンスに優れたMCU選択が可能となります。

場合によっては、ピンコンパチブル性を利用して他ベンダーのMCU選択も可能です。Cortex-M系MCUはどれも似通ってはいますが、例えば、サイプレスのPSoCシリーズはアナログブロントエンド機能内蔵など、各ベンダーでそれぞれ特徴があります。これらMCU特徴を活かした開発で競合他社との差別化もできます。

MCU評価ボードプロトタイプ開発スピードを上げるマイコンテンプレート

その1もその2もポイントは、プロトタイプ開発のスピードです。効率的に、しかも精度良くプロトタイプ構築し評価するには、MCU製品で使用頻度が高いLCD出力やアナログポテンショメータ入力、LED出力などの単機能シールドを複数使うよりも、これら機能実装済みの汎用Baseboardを使う方が、より低コストにプロトタイプハードウエアの構築ができます。

関連投稿:CY8CKIT-042とCY8CKIT-042-BLEへの機能追加、サンプルソフトが直に試せるマイコン開発環境の章

弊社マイコンテンプレートは、Baseboard動作に必要なソフトウェアをBaseboardテンプレートで提供済みです。開発要件に必要なシールドを見つけ、シールド単体でMCU性能評価を行い、さらにBaseboard実装機能を付加すれば、MCU製品完成形により近いプロトタイプシステムでの評価も可能です。

MCUプロトタイプ開発をスピードアップさせるマイコンテンプレート
MCUプロトタイプ開発をスピードアップさせるマイコンテンプレート

マイコンテンプレートは、MCU評価ボードプロトタイプ開発の「速さ」をより早めます。

MCU評価ボード、IDE、開発ツール、ベンダーが変わってもテンプレート本体は不変

テンプレート本体、具体的にはアプリケーションのLauncher機能は、MCU評価ボード、IDE、コード生成ツールなどの開発ツール、ベンダー各社には依存しません。つまり、単純なC言語でできています。

従いまして、開発ツールやIDEが時代により変化・更新しても、テンプレート本体は変わりません。ご購入頂いた弊社マイコンテンプレートの付属説明資料は、発売当時の環境をベースに解説しております。しかし、最新版のIDEやコード生成ツールに更新されても、このテンプレート本体は不変ですので、安心してお使いください。

まとめ

Arduinoコネクタを持つMCU評価ボードが多い理由は、市販安価シールド資産を活用し、MCU性能評価へも活用すれば、MCUプロトタイプ開発が効率的かつ容易になるからです。プロトタイプ開発スピードをさらに上げるためマイコンテンプレートが役立つことも示しました。

マイコンは種類が多く、どのベンダーの何を使って開発すれば良いかというご質問を時々頂きます。お好きなベンダーのArduinoコネクタを持つMCU評価ボードを使ってプロトタイプ開発することをお勧めしています。制御系ベンダー差は、Arduinoコネクタで消えます。先ずは着手、あえて言えば被制御系の開発着手が先決です。

MCUのAI機能搭載

スマホの顔/指紋認証や、写真の高度処理などにAI機能(機械学習)が搭載され始めています。本稿は、AI機能搭載プロセッサ最新記事からルネサスマイコン:MCU関連を抜き出し、さらに、STマイクロエレクトロニクスのコード生成ツールSTM32CubeMXに追加されたAI機能拡張パックSTM32Cube.AIを紹介します。

ルネサスMCU AI機能の現状

2019年1月10日のEE Times Japanに、“2019年も大注目! 出そろい始めた「エッジAIプロセッサ」の現在地とこれから”が掲載されました。

MCUだけでなく、スマホ、車載などAI機能を処理するプロセッサ全般の現状分析と今後について、分かりやすく解説されています。AI機能の搭載は、一過性ブームではなくADAS(先進運転支援システム)やセキュリティなど更に多くの処理へ適用されると予想しています。

この記事で、昨年本ブログ投稿のRZファミリ搭載「DRP(Dynamically Reconfigurable Processor)」の現状(図1)と、7nm製造プロセス換算での性能比較(図5)が示されています。

関連投稿:NXPとルネサスのMCU開発動向、ルネサスのMCU開発動向の章

図1:AIプロセッシングを実行する演算器の関係(出典:テカナリエレポート)
図1:AIプロセッシングを実行する演算器の関係(出典:テカナリエレポート)
図5:7nmプロセスで製造した場合の性能(出典:カタリナレポート)
図5:7nmプロセスで製造した場合の性能。小さい程高性能。(出典:カタリナレポート)

日本オリジナルのルネサスAI IPが、公表通り推論処理能力1000倍の開発ロードマップで進めば、低コスト/低電力なMCU AI機能が実現できそうです。RZだけでなく、RL78やRX MCUへの搭載も期待します。

STM32CubeMXにAI機能拡張パックを提供

STMのコード生成ツールSTM32CubeMX version 5.0.1以降から、AI機能実装の拡張パックSTM32Cube.AIが2019年1月3日に発表されました。

Cortex-M4クラスの低電力MCUが前提ですが、ニューラルネットワークを使ったHuman Activity Recognition:人間活動認識(HAR)や、Acoustic Scene Classification:音響シーン分類(ASC)のアプリケーションに適しているそうです。

Human Activity Recognition (HAR)(出典:Neural Networks on the STM32)
Human Activity Recognition (HAR)(出典:Neural Networks on the STM32)
Audio Scean Classification (ASC)(出典:Neural Networks on the STM32)
Audio Scean Classification (ASC)(出典:Neural Networks on the STM32)

MCU AI機能の搭載

現状は、ルネサスはRZ、STMはCortex-M4と高性能MCUがAI機能の対象デバイスです。

例えば、スマホで指紋認証時、本人なのに認証されないとイラッ😡ときます。安全側評価で仕方がないとは思いますが、リアルタイムで結構な処理を行っているのでしょう。例外処理で、カメラ起動などは認証なしで動作させるなどの工夫が見られます。

AI機能は、このように相手が人間なだけにリアルタイムで高負荷な処理になります。MCUへのAI機能搭載は、このかなり高いハードルをこなせる処理能力が必要です。記事にもあるように、プロセス微細化による低コスト/低電力化や、開発環境を含めたベンダー側の対応が普及の鍵になるでしょう。

個人的には、AI機能の「アプリケーションレベルでのライブラリ化」を望みます。ベンダー側でMCU処理能力に応じてライブラリ内部を工夫し、開発者である我々は、MCU選択でAI機能レベル(誤認識率、深層解析能力など)も選択できれば嬉しいですね😁。

2018 IoT MCUを振り返る

今年も多くの方々に本HappyTechブログをご覧いただき、また、多くの方々にマイコンテンプレートをご購入いただいたことに心より感謝いたします。ありがとうございました。

2018年の弊社ブログ投稿を振り返って、IoT MCUの2018動向を総括します。

ノードとエッジに2層化するIoT MCU

IoT時代には、数十億個以上もの膨大な数が必要と言われるIoTエッジMCU、これが本ブログ対象マイコンです。低コスト、低消費電力、効率的ハードウェア/ソフトウェア生産性が求められます。

これらIoTエッジMCUを束ね、クラウドと無線通信するのがIoTノードMCU。IoT MCUは、ノードとエッジの2層化傾向があります。

IoT MCU日本ベンダー動向

ルネサス エレクトロニクス:アナログフロントエンド強化の買収継続
NXPセミコンダクターズ:クアルコム買収断念で独自性維持
サイプレス・セミコンダクター:超低電力Cortex-M0+製品強化
STマイクロエレクトロニクス:日本語資料強化

自動車と産業、セキュリティがIoT MCUを牽引

超高性能、セキュリティ、CAN FD、低電力が自動車向け要求、同じくセキュリティ重視だが、コストパフォーマンスも重視、低電力が産業向け要求、両要求ベクトルがIoT MCUベンダー開発を牽引中。

MCUコアのこだわり不要

要求を満たすには広いMCUカバー能力と低電力動作が必要で、Cortex-M0+とCortex-M4のマルチコアや、シングルコア動作周波数の引上げが見られます。製造プロセス微細化も進むでしょう。

エンドユーザ(顧客)は、いわゆるソリューション(解)を求めていて、要求を満たせばMCUコアが何でも構わないので、開発者は、手段であるMCUコアにこだわる必要性を少なくすることが求められます。

つまり、最適ソリューションのハードウェア/ソフトウェアを、様々なベンダー、MCUから自ら選択し、効率的に解を提供できるIoT MCU開発者がプロフェッショナルです。

そこで、ソリューション提供・提案をする開発者個人向けツールとして、弊社マイコンテンプレートを発展させる予定です。ブログ対象IoT MCUも、この基準にフォーカスし情報提供します。

以上簡単ですが2018年のIoT MCUを総括しました。2019年も引き続きよろしくお願いいたします。