IoT MCUとAI

ARM Cortex-Mコア利用のIoT MCU現状と、次のムーア則を牽引すると言われるAI(人工知能)の関係についてまとめました。

Cortex-Mコア、IoT/組込みデバイス主要ポジション堅持

ARMベースチップ累計出荷個数は1,800億個以上(出展:ニュースルーム、February 16, 2021)
ARMベースチップ累計出荷個数は1,800億個以上(出展:ニュースルーム、February 16, 2021)

2021年2月16日、英)ARM社は、ARMチップの2020年第4半期出荷が過去最高の67憶個、累計出荷個数1800憶個以上、Cortex-Mチップも4半期最高44憶個出荷で「IoT/組込みデバイス主要ポジション堅持」と発表しました(ニュースルーム)。

Cortex-Mチップの出荷内訳は不明ですが、Cortex-M4やCortex-M0+などコア別の特徴が解るARM社の解説は、コチラにあります(フィルタのProcessorファミリ>Cortex-Mを選択すると、提供中の全10種Cortex-Mコア解説が読めます)。

筆者は、セキュリティ強化コアCortex-M23/33/35P/55を除く汎用IoT/組込みデバイスでは、Cortex-M4/M0+コア使用数が急増していると思います。

関連投稿:Cortex-M33とCortex-M0+/M4の差分

半導体ムーア則、牽引はチップレット

ムーアの法則 次なるけん引役は「チップレット」、2021年2月16日、EE Times Japan

次のムーア則を牽引するAI処理能力(出典:AI Hardware Harder Than It Looks)
次のムーア則を牽引するAI処理能力(出典:AI Hardware Harder Than It Looks)

半導体製造プロセスを牽引してきたのは、PCやスマホでした。しかしこれからは、人工知能:AIで急増するAIデータ処理能力を実現するため、レゴブロックのようにコアの各モジュールを歩留まり良く製造・配線するチップレット手法が必要で、このチップレット、つまりAIが次の半導体ムーア則を牽引するというのが記事要旨です。

このチップレット手法で製造したIoT MCUやMPUへ、主にソフトウェアによるAI化は、シンギュラリティ後のAI処理量変化にも柔軟に対応できると思います。

関連投稿:今後30年の半導体市場予測

ルネサス:ハードウェアアクセラレータコアCNN(Convolutional Neural Network)

ルネサスのCNNアクセラレータ(出典:ニュースルーム)
ルネサスのCNNアクセラレータ(出典:ニュースルーム)

2021年2月17日、ルネサスは、世界最高レベルの高性能/電力効率を実現するディープラーニング性能を持つCNNアクセラレータコアを発表しました(ニュースルーム)。これは、主にハードウェアによるAI化の例です。

ADAS実現に向け、性能と消費電力を最適化した車載用コアです。このコアに前章のチップレット手法を使っているかは不明です。3個のCNNと2MB専用メモリの実装により、60.4TOPS(Tera Operations Per Second)処理能力と13.8TOPS/W電力効率を達成しています。

車載で実績を積めば、IoT MCUへも同様のハードウェアアクセラレータが搭載される可能性があります。

まとめ

凸版印刷社は、画像認識AIを活用し、古文書の“くずし字”を解読支援するツールを開発しました(2021年2月16日、IT media)。このように、AIは、半導体技術のムーア則だけでなく、IoT MCUアプリケーションや人間生活に浸透し、牽引しつつあります。

エッジAIをクラウド接続IoT MCUへ実装する理由は、クラウドAI処理とクラウド送信データ量の両方を軽減することが狙いです。AI処理をエッジ側とクラウド側で分担しないと、チップレット手法を用いて制御チップを製造できたとしても、コスト高騰無しに急増するAIビックデータ処理を実現することが不可能だからです。

IoT MCUのエッジAIが、ソフトウェアまたはハードウェアのどちらで処理されるかは判りませんが、必須であることは確実だと思います。実例を挙げると、STマイクロエレクトロニクスは、既にSTM32Cube.AIにより汎用STM32MCUへAI/機械学習ソフトウェアの実装が可能になっています。

IoT MCUの無線LAN

IoTに適した無線LANの条件とは?(TechTarget、2020年11月27日)記事を紹介し、IoT MCU関連のプライベート網無線LAN規格を説明します。

IoT向き無線LAN条件と規格

纏まった良い記事なので、一読をお勧めします。

記事を要約すると、IoT向きの無線LANの選定には、3つの検討ポイントがあります。

  1. 省電力性:バッテリーだけで長時間無線LAN通信ができる
  2. 長距離伝送性:アクセスポイント(AP)から1km以上離れる場合がある
  3. 国より異なる利用周波数の空き状態確認

各ポイントを満たす無線LAN規格として下記3つを挙げ特徴を説明しています。

  • IEEE 802.11ah(別名Wi-Fi HaLow):Target Wake Time(TWT)により通信タイミングを調整しAP通信競合を防ぐと同時にスケジュールタイムまでスリープし電力消費を抑える
  • IEEE 802.11ba:TWTに加えWake-Up Radio省電力機能を利用しAPからの通信要求に対応
  • IEEE 802.11af: 54MHz~698MHz利用で900MHz~1GHzの802.11ah/802.11baより長距離伝送可能
    ※11afは、テレビ用ホワイトスペースのVHF/UHFバンド(54 MHz~790 MHz)利用なので空き状態により耐ノイズ注意

IoT向き無線LANとBluetooth

無線LANには、2.4GHz利用、数m~10m程度の「近距離無線通信規格」:IEEE 802.15.1(別名Bluetooth)もあります。コイン電池で1年以上動作できるなど超省電力動作ですが、低速です。PCやスマートフォンでは、マウス/キーボード/ヘッドホンなどの周辺機器との接続に使われます。

より高速、より長距離(400m程度)、より高スループットを目指し、Bluetooth v4.2、Bluetooth 5などと規格が変化しています。

IoT MCUへの実装は、Bluetooth 5内蔵MCUBluetooth 5モジュールとMCUを接続する方法があります。

IoT 向き無線LANとPC/スマホ向き無線LAN

2020年12月時点のPC/スマートフォン無線LAN規格が下表です(出展:NTT西日本公式ホームページ)。

規格 周波数帯 最大通信速度
IEEE 802.11b 2.4GHz 11Mbps
IEEE 802.11g 2.4GHz 54Mbps
­­­­IEEE 802.11a 5GHz 54Mbps
IEEE 802.11n 2.4GHz 600Mbps
5GHz
IEEE 802.11ac 5GHz 6.9Gbps
IEEE 802.11ad(WiGig) 60GHz 6.8Gbps
IEEE 802.11ax 2.4GHz 9.6Gbps
5GHz

IoT向き無線LANと異なるのは、周波数帯がより高周波の2.4GHz/5GHzを利用する点と、新規格11ac/11ad/11ax、従来規格11b/11g/11a/11n、ともにデータ伝送速度が速い点です。スマホのAPは、家庭や店舗に設置された無線LANルータで、高周波利用のため伝送距離は精々100m程度、60GHzの11adでは10m程度です。公衆網5G高速化に伴い新無線LAN規格:11ac/11ad/11axが普及しつつあります。

動画再生などの利用形態も多いPC/スマホ向き無線LANは、「高速大容量化」が求められます。IoTの「長距離省電力」要求とは、異なる無線LAN規格となっています。

まとめ:IoT MCUプライベート網の無線LAN規格

無線LANアクセスポイントからの伝送距離変化
無線LANアクセスポイントからの伝送距離変化

プライベート網無線LAN規格は、APからの伝送距離により、

  1. 「近距離(10m以下)超省電力」規格(周辺機器向き):Bluetooth(IEEE 802.15.1)
  2. 「短距離(100m程度)高速大容量」規格(PC/スマホ向き):IEEE 802.11a/11b/11g/11n/11ac/WiGig(11ad)/11ax
  3. 「長距離(1km以上)省電力」規格(IoT向き):Wi-Fi HaLow (IEEE 802.11ah)/11.af/11.ba

の3種類があります。

IoT MCUには、最新のBluetooth 5や屋外や1km半径の広い敷地内でも使える長距離省電力規格のWi-Fi HaLowが望まれるようです。

但し、普及済みのPC/スマホ向き無線LAN規格が使えると、屋内の既存PC/スマホ無線LANルータをインターネット空間へのAPに利用でき、常時電力供給も可能なため、低コストIoT MCUを実現する方法になりうると思います。


IoT MCUコア次世代像

PCのCPUは、IntelとAMDの2社が独占状態でした。しかし、AppleがARMベースの新CPU:M1を発表し、そのコストパフォーマンスは、Intel/AMDの3倍(!)とも言われます(記事:「ソフト技術者もうなるApple「M1」の実力、新アプリに道」や、「Apple M1の実力を新世代のIntel/AMD CPUと比較」など)。

本稿は、これらPC CPUコアの現状から、次世代IoT MCUコアの3層構造と筆者希望的観測を示します。

CPUコア:Apple/Intel/AMD

筆者が学生だった頃は、マシン語のPCソフトウェアもありました。CPUコア性能が低いため、ユーザ要求を満たすアプリケーション開発には、ソフトウェア流用性や開発性を無視したマシン語開発もやむを得ない状況でした。

現在のCPUコア性能は、重たいGUIやネットワーク処理を複数こなしても、ユーザ要求を満たし、かつ流用性も高いC/C++などの高級言語でのアプリケーション開発が普通です。Appleは、この状況でIntel/AMDコストパフォーマンス比3倍のM1 CPUを開発しました。

このM1 CPUを使えば、従来CPUのボトルネックが解消できるために、より優れたGUIや新しいアプリケーションの開発が期待できます。

このM1実現の鍵は、5nmルールの製造技術と新しいCPU設計にあるようです。

MCUコア:ARM/Non ARM

MCUはARMコアとNon ARMコアがありますが、Non ARMコアのコストパフォーマンス比は、M1程ではありません。従って、主流はARM Cortex-M系シングルコア採用MCUで、事実上ARMコア独占状態です。開発言語はC言語でベアメタル開発、製造プロセスも数10nmと、いわば、数10年前のIntel独占CPUコアに近い状況です。

RISC-Vという新しいMCUコアも出てきましたが、まだ少数派でその性能も未知数です。Intel/AMD CPUと比較記事の最後に記載された「競争こそユーザの利益」には、MCU世界はなっていません。

ARMはコア設計図のみ提供し、デバイス実装はMCUベンダが担当します。従って、現状のMCU世界が続く場合には、MCU高速化は製造技術進化とマルチコア化が鍵です。

ARMは、エッジAIに向けたNPUを発表しました。独自MCUコアと付随する開発環境を提供でき、かつコストパフォーマンスがARMコアの数倍を実現できるMCUベンダが無い現状では、ARMの頑張りがIoT MCUを牽引すると思います。

NVIDIAによるARM買収が、今後のARM動向に及ぼす影響は気になる状況ではあります。

IoT MCUコア

MCUコアとCPUコアの一番の差は、ユーザ要求コストです。これは、同じコアのMCU製品に、内蔵周辺回路やFlash/RAM容量の異なる多くのデバイスをベンダが提供中であることからも解ります。ユーザは、MCUに対して無駄なコストは払いたくないのです。

つまり、MCUデバイスはアプリケーション専用製品、CPUデバイスは超汎用製品、ここが分岐点です。

IoT MCUには、エッジAI、セキュリティ、無線通信(5GやWi-Fi)などのIoT機能追加が必要です。これら機能を並列動作させる手段として、RTOSも期待されています。この状況対応に、MCUコアも高性能化やマルチコア化に進化しつつあります。

セキュリティや無線通信は、予め決まった仕様があり、これら対応の専用ライブラリがベンダより提供されます。但し、セキュリティは、コストに見合った様々なセキュリティレベルがあるのも特徴です。ソフトウェア技術者は、専用ライブラリのMCU実装には神経を使いますが、ライブラリ本体の変更などは求められません。この仕様が決まった部分を「IoT基本機能」と本稿では呼びます。

MCUソフトウェア開発者が注力すべきは、ユーザ要求に応じて開発するIoTアプリケーション部分です。この部分を、「IoT付加機能」と呼び、「IoT基本機能」と分けて考えます。

ユーザのアプリケーション専用MCU製品意識は、IoT MCUでも変わりません。例えば、IoT基本機能の無線機能は不要や、ユーザがコストに応じて取捨選択できるセキュリティレベルなどのIoT MCU製品構成になると思います。一方、IoT付加機能だけを実装するなら、現状のMCUでも実現可能です。

以上のことから、IoT MCUは3層構造になると思います。

IoT MCUコアの3層構造
IoT MCUコアの3層構造
機能 追記
Back End IoT MCU IoT基本機能+付加機能+分析結果表示 収集データ分析結果ビジュアル表示
IoT MCU IoT基本機能+付加機能 高性能、マルチコア、RTOS利用
Front End IoT MCU センサデータ収集などのIoT付加機能
最小限セキュリティ対策
収集データは上層へ有線送信
コスト最重視

最下層は、ユーザ要求アプリケーションを実装し、主にセンサからのデータを収集するFront End IoT MCUです。ここは、現状のARM/Non ARMコアMCUでも実現できIoT付加機能を実装する層です。デバイスコスト最重視なので、最小限のセキュリティ対策と収集データを有線、または無線モジュールなど経由で上位IoT MCUへ送信します。IoT MCUサブセット版になる可能性もあります。

中間層は、高度なセキュリティと市場に応じた無線通信、エッジAI機能などのIoT基本機能がフル実装できる高性能MCUコアやマルチコア、RTOS利用へ進化した層です。IoT付加機能も同時実装可能で、下層の複数Front End IoT MCUが収集したセンサデータを、まとめて上位Back End IoT MCUまたは、インターネット空間へ直接送信できます。製造技術進化とマルチコア化、ARM新コア(Cortex-M23/33/55など)が寄与し、IoT MCUの中心デバイスです。

最上層は、第2層のIoT MCU機能に加え、インターネット空間で収集データを分析・活用した結果をユーザへビジュアル表示する機能を追加した超高性能MCUコア活用層です。自動車のADAS(Advanced Driver-Assistance Systems:先進運転支援システム)のおかげでユーザへのビジュアル表示要求はより高度になります。このユーザ要求を満たす次世代の超高性能IoT MCU(またはMPU)が実現します。

最下層のFront End IoT MCUは、現状のCortex-M0+/M4コアで弊社テンプレート適用のMCUが生き残ってほしい、というのが筆者の希望的観測です。
それにしてもAppleのコスパ3倍M1、凄いです。iPhoneもそうですが、抜きん出た技術と経営能力、Jobs精神、健在ですね。

MCUセキュリティ話題

MCU開発中、進捗が詰まることはだれでもあります。そんな時にスタックした気分を変えるMCUセキュリティ関連話題を投稿します。

MCU開発には集中力が必要ですが、その持続は、精々数時間です。人のスタック深さは有限ですので、開発を経過時間で区切るのが1つ、別方法として集中気分を切替て開発詰まりを乗切る時の話題を示します。

気分転換が目的ですので、硬い話ではありません😁。

セキュリティ更新終了

Microsoftが、Office 2010は今年2020年10月13日、Windows 10バージョン1903は2020年12月8日にサポートを終了します。これらソフトウェアご利用中の方は、新ソフトウェアへの入替が必要です。

サポート終了とは、「セキュリティ更新プログラム配布終了」のことです。ソフトウェア自体がPCで使えなくなる訳ではありません。しかし、ハッカーなどによる新たなサイバー攻撃を防ぐ手段が無くなりますので、安全・安心な利用ができなくなります。

ところで、安全・安心の根拠、セキュリティ、セーフティ、セキュア…などの日本語は、あいまいに使われます。しかし、英語の「SecurityとSafetyは別物」です。

オンラインセミナー:STマイクロエレクトロニクスのTrustZone対応マイコンによるIoTセキュリティによると、

  • Security:外部からの危害(攻撃や改竄)から、MCU内部が保護されている状態
  • Safety:MCU誤動作や故障などが原因で、MCU外部へ衝突や爆発などの危害を与えない状態

英語でのSecurityとSafetyの使い分けは、対象がMCU内部ならSecurity、MCU外部ならSafetyと、明確な区別があります。

MCUセキュリティ関連資料を英語で読むときは、対象は単語で解ります。日本語訳資料を読むときは、対象がMCU内部か外部かを区別して理解する必要があります。

IoT機器侵入調査

総務省、IoT機器に侵入を試みる際のIDとパスワードの組み合わせを、従来の100通りから600通りに増やし、侵入できたIoT機器所有ユーザへ対策を呼び掛けた。2020年9月11日、ITmedia。

つまり、ハッカーの代わりに総務省)国立研究開発法人情報通信研究機構(NICT)が、NOTICE:National Operation Towards IoT Clean Environmentに参加しているISP 62社のIPアドレスに対して、疑似攻撃をしかけ、問題があったIPアドレスユーザへ注意を促した、ということです。

過去のサイバー攻撃にあったIDとパスワードにたまたまなっていた場合、たとえ厳重な管理であっても安全でない(!Security)訳です。IoT機器のアクセス方式、「IDとパスワード」には、限界があるかもしれません。

多要素承認

金融庁、銀行・決済各社に本人確認の徹底を要請。2020年9月16日、ITmedia。

ハッカーによるドコモ口座の不正利用が、多要素認証で防げるのかについてのセキュリティ専門家解説は、筆者には正直言って判りません。

多要素認証とは、セキュリティ情報アクセス時、スマホなどの本人しか持たないモバイルデバイスへ送った認証コードなどを使ってログインする仕組みです。「パスワードレスログイン」とも言われます。

海外ドラマでは、スマホの乗っ取りも簡単です。モバイルデバイスの2要素認証コード入力で十分なのでしょうか? スマホを持たない人は、決済サービスを利用できない、またはさらに生体認証が必要なのでしょうか?

この多要素認証をMCUへ実装する場合、どうすれば良いのでしょうか?

暗号化脆弱性

TLS 1.2とそれ以前に脆弱性、2020年9月16日、マイナビニュース。

ブラウザ経由でクレジットカード番号を送る時、通信データを暗号化し盗聴を防ぐしくみが、TLS:Transport Layer Securityです。このTLS 1.2に脆弱性が見つかり、TLS 1.3を使うなどの対策が示されています。

MCUで以前は問題無かった暗号化技術にこのような対策を実施するには、組込み済みソフトウェア、またはハードウェアの一部更新が必要です。

暗号化部品が壊れた、または脆弱性発見時、対象部品のみ交換できるMCU機器があれば良いのですが…。

デジタル後進国

“デジタル後進国”で検索すると、「日本はデジタル、IT後進国」だという記事概要が多く見つかります。

セキュリティ用語の区別もあいまいなままの日本です。先進国開発済みのMCUセキュリティ技術を、理解不足のまま流用しても当面は良いのでしょうが…、セキュリティとあいまい性、本質的に相反する気がします。
ハッカーの攻撃は、あいまい性で生じるMCUセキュリティのすきまを狙うのですから。

MCUセキュリティに関しては、何事にもあいまい性が好まれ日本不得意な「明確さ」、これが必須だと思います。

*  *  *

MCU開発時、スタック気分を変える時に役立つMCUセキュリティ関連話題を5つ投稿しました。

IDとパスワードで保護するMCUセキュリティ
IDとパスワードで保護するMCUセキュリティ

Sony)SPRESENSEオープンプラットフォーム開発環境

2019年9月、Sony)IoT向けMPU:SPRESENSE開発環境は、オープンプラットフォーム:Arduino IDEとSDK:Software Development Kitの2段構えにしたという記事が掲載されました。

オープンプラットフォームArduino IDEとSDKの2段構え開発環境(出典:記事)
オープンプラットフォームArduino IDEとSDKの2段構え開発環境(出典:記事)

本稿は、このオープンプラットフォーム開発環境の目的について、記事内に判り易い説明があったので紹介します。

MPU:Sony)SPRESENSE

Sony版ArduinoボードのSPRESENSEは、ARM Cortex-M4F/156MHzを6個(!)搭載したマルチコアMPUです。Raspberry Pi 4でお馴染みのMPU:Micro Processor UnitやArduinoなどのSingle Board Computerは、オープンプラットフォームと呼ばれ、仕様公開が特徴です。

Cortex-M4Fコア6個から構成されるSPRESENSE(出典:Sonyサイト)
Cortex-M4Fコア6個から構成されるSPRESENSE(出典:Sonyサイト)

最近になってCortex-M4とCortex-M0+のディアルコアが出始めた新世代MCU開発にも参考になる開発環境があるかも(?)と思い記事を読みました。

全コアが同等機能を持つシステムをSMP:Symmetric Multi-Processing、一方、一部コアの機能が異なるのはASMP:Asymmetric Multi-Processingと呼びます。SPRESENSEは、1個のメインコアが全体を管理し、残り5個のサブコアへのメッセージ送信でタスク指示するASMPです。ASMPは、組込みシステムへの最適化などに向いているそうです(関連記事:ASMPのアーキテクチャを学ぶ)。

実装コア数は違いますが、新世代ディアル/マルチコアMCUもアーキテクチャはASMPになると思います。新世代MCU:Micro Controller Unitとアーキテクチャは同じ、MCUも仕様公開されていますので、SPRESENSEと新世代MCUの環境は、同じ(近い)と言えます。

MCUとMPUのデバイス差は、弊社固定ページにもありますのでご覧ください。

オープンプラットフォーム開発環境の目的

記事では、“ArduinoやRaspberry Piなどの「オープンプラットフォームユーザ」は、このデバイスを使ったら、どんな面白い商品を作れるかというチャレンジからベンダー製品を使い始める”とあります。このチャレンジ判断に適しているのが、Arduino IDE開発環境です。

「MCUユーザ」は、“ベンダー製品を手に取るとき、既にユースケースが決まっていて、MCUラインナップの中でユースケースにフィットするメモリサイズや処理性能デバイスを選ぶ”のだそうです。コスト最重視の従来MCU製品では、当然の選択方法です。

つまり、誰でも簡単に「デバイスを使って得られるサービスや機能にフォーカス」したのがArduino IDEで、どのように作ったか、その性能などを明らかにする一般的なIDEとは、その目的が異なるのです。

どうしても処理ソースコードや使用メモリ量などの(HowやWhere、Why)に目が行く筆者とは、オープンプラットフォームユーザの視点(What)が違うことが記事から理解できました。

例えば、マルチコアのサンプルアプリケーション実行は、Arduino IDEを使えば、開発環境セットアップに25分、プログラム実行に5分、合わせて作業時間30分で完成するそうです(関連記事より)。

デバイスで出来ることを、「すぐに試し判る」のがオープンプラットフォーム:Arduino IDEの目的です。

IoT MCUセキュリティ実装判断にArduino IDE環境

記事を読んだ後、IoT MCUのセキュリティ実装に関して、Arduino IDE(的)環境が適すと思いました。

セキュリティ機能は、セキュリティ専門家が開発したソースコード(ライブラリ)に対して、実装担当のMCU開発者が工夫をこらす余地はありません(頑張ってコード改良や開発しても、時間の無駄になる可能性大です)。

要は、目的のセキュリティ機能が、使用予定のIoT MCUへ実装できるか、将来追加の可能性があるセキュリティ実装に対して余力/余裕はあるか、が判れば十分です。

これを判断するには、Arduino IDEと同じような開発環境が適すと思います。IoT MCUへのセキュリティ実装や機能更新は、必須になりつつあります(前回投稿参照)。苦労して開発したIoT MCUであっても、セキュリティ機能が実装できなければ、全く役立たなくなるのです。

従って、多くのセキュリティライブラリから目的の機能を選び、簡単にIoT MCUへ実装し、動作確認できるArduino IDE(的)開発環境にも、これからのMCU開発者は慣れていることが必要だと思います。

TI)MSP432P401R評価ボード:MSP-EXP432P401R LaunchPad

Texas Instrument)MCU:MSP432P401R(ARM Cortex-M4F、48MHz、浮動小数点ユニット、DSPアクセラレーション、256KB/Flash、64KB/RAM)搭載の評価ボード:MSP-EXP432P401R LaunchPad™は、TI純正無償IDE:CCSコードサイズ制限のため、Cortex-M4カテゴリデバイスとして採用失敗したと投稿しました。

しかし、MSP-EXP432P401R LaunchPadの開発環境には、Arduino IDEによく似たEnergia IDEもあります。このEnergia IDEの詳細や、MSP-EXP432P401R LaunchPad™での使い方が分かりましたら投稿します。

Energia IDE(出典:Energiaサイト)
Energia IDE(出典:Energiaサイト)

P.S.:2019/3Q発売予定のPSoC 4000S/4100S専用タッチUIテンプレート開発も遅れが発生しており、上述MSP432P401RのCortex-M4カテゴリ採用失敗等々…トラブル続きです。猛暑でPC(と筆者)の調子が悪いのが、諸悪の根源だと思います😭。
本稿のEnergia IDEが、MSP432P401R採用失敗の挽回策になれば嬉しいのですが、暫くEnergia IDEを使ってから判断したいと考えています。

ISDN終了とIoTキラーアプリ

2020年以降、現行のISDN公衆交換電話網Public Switched Telephone Network:PSTNが、Internet Protocol:IP網へ全面移行します。ISDNの次の世代はATM:Asynchronous Transfer Modeと思いその研究開発が社会人スタートだった私には隔世の感があります。データ中心のコンピュータIP網が次世代ISDNの解に決まったからです。

IoTキラーアプリ

障害予測、適応型診断、状態適用型メンテナンス、これらが産業用IoTキラーアプリ候補だという記事があります。キラーアプリとは、技術を爆発的に普及させるアプリケーションのことです。

記事の中で、“キラーアプリケーションは、新技術の普及を促進するとともに、多くの場合、基板となるコンポーネントの複雑さを覆い隠す。大多数のユーザーは、その技術から得られるメリットを求めるのであり、その内部構造には関心がない”という記述があります。

これは真理です。ATMがIPに負けたのも、キラーアプリの成せる業です。

アプリよりのIoTマイコンテンプレート

販売中のマイコンテンプレートは、汎用性を重視しています。
しかし、IoT向けのマイコンテンプレートには「汎用性よりも、よりアプリよりのテンプレート提供」が求められそうです。記事を参考にIoTマイコンテンプレートの構成を検討します。

Qualcomm、10nmプロセスのSnapdragon 835発表

NXPを買収したQualcommがSnapdragon 835を発表しました。この発表の解説記事:“820比で消費電力25%削減、GPU性能25%向上、Windows 10へも対応”から、今後のIoTマイコン開発を予測します。

マイコン製品のロングライフ化

バッテリ機能低下のスマホは文鎮化します。3年使い続けた私のNexus5:2300mAhも、最近はどう工夫しても半日程度しかバッテリが持ちません。500回と言われるリチウムイオン電池の充電サイクルは、とうに過ぎているので仕方ないことです。

数年のライフでも許されるスマホと違って、組込用途のIoTマイコン:MCU製品は、一度設置されると10年程度はメンテなしで動作する必要があります。MCU製品のロングライフ化が、開発トレンドになると思います。(IoT端末の必須技術も参照)。

MCUハードの進化は、スマホMPUやパソコンCPUの後追いです。NXPのLPC8xxの2017年ロードマップのように、半導体プロセス進化と共に、新たな低電力マイコンが発売されます。
MCUソフトは、動作周波数を下げる、不要な周辺回路を停止するなどの定番手段がありますが、低電力化の要求は、ソフト記述テクニックそのものにも影響を与えるかもしれません。

レファレンスデサイン利用

スマホ開発は、レファレンスデザイン利用が一般的です。Nexus5もスマホOS:Androidの生みの親Google提供のレファレンスデザインの1つとも言えます。レファレンスデザインの利用目的は、独自仕様のハードや付加アプリの早期開発のためです。

従来MCU開発は、サンプルソフトと開発ボードで行ってきました。弊社マイコンテンプレートもこれに相当します。

しかし、高度なセキュリティと無線通信が必須のIoT MCU製品開発の場合は、リアルタイムOS:RTOSの実装も(おそらく)必要となります。従来の開発方法では、本来の差別化技術開発に到達する前段階で時間が掛かると思います。さらに、無線通信規格の乱立も開発時間を増やす要因です。

これらの対応にIoTマイコン開発も、mbed OS 5やFreeRTOSなどのRTOSが実装済みのレファレンスデザインキット提供が必要だと思います。例え無線規格変更やRTOS変更が生じても、キットの基本部分は同一で、無線モジュール載せ替えとRTOS APIを利用していればアプリ側の小変更で対応できるからです。

IoTマイコンには、UARTとは比べ物にならない複雑な通信処理と高度なセキュリティが必須です。数10億個とも言われるマーケットに普及させるには、スマホ開発やWindowsアプリ開発に近い新たな開発環境が要求されると考えます。

2016年マイコン業界と超速開発

2016年マイコン業界

Qualcomm ← NXP ← Freescale、買収先の企業へ矢印を付けるとこのようになります。
QualcommはSnapdragonなどのスマホチップセットを供給する半導体ベンダーです。車載を得意とするNXPの社名は残りそうですが、買収後のNXP/旧FreescaleのCortex-M系マイコンラインアップは気になります。
さらに、Windows 10がこのQualcommのSoCで動作するというニュースは、IoT向けPCやスマホにMicrosoftが参入し、数多くある無線規格の収束を早めるかもしれません。

先ず2017年3月、開発環境LPCXpressoとKinetis Design Studioが新しいMCUXpressoに統合されます。また、先日発表の2017ロードマップによると、スイッチマトリクスを持つLPC8xxシリーズが充実します。QualcommとのシナジーによりIoT無線規格のIoTマイコン発売が期待できます。

一方、RunesasもSynergyで遅ればせながらARM Cortex-Mマイコン開発に乗り出し、従来からある独自コアを持つRL78の16ビットマイコンやIDE:CS+は肩身が狭くなった気がします。既存マーケットにはRL78、IoTにはSynergyのCortex-M23/M33という住み分けを意識したかのようです。

Cypressは、Spansion買収によりCortex-M0+コアを入手し、PSoC4へ適用し始めました。アナログ技術が豊富なPSoC4/PRoC/PSoC4 BLEマイコンが更に強化されました。私はCortex-M0/M0+開発では、最も使いやすいIDE:PSoC CreatorとPSoC4/PRoC/PSoC4 BLEの組合せがピカ一だと評価しています。Cortex-M23のラインアップ追加が待ち遠しいです。

※上記は、下記個人レベルで準備できる「入手性が良く、低コストマイコン」の選択基準に合致する半導体ベンダーに限定して分析しております。

超速開発環境

顧客が許容するマイコンソフト/ハード開発時間は、ますます短くなります。
顧客側の技術理解レベルが追い付かないのも原因の1つですが、状況変化が激しいので即開発し、市場でのフィードバック、改良などを繰り返しながら製品化が必要なことが大きな要因です。

短い開発時間は、マイコン開発者にプレッシャーや焦りを生じさせます。しかし、焦りは禁物です。
良い成果物を効率的に出力できるワザ、これがマイコン開発者には必要です。

このワザ習得には、時間を気にせずに没頭できる環境、例えば自宅などで、新しいマイコンや現状マイコンを、身銭を使うので低コストで、しかも短時間で習得できる方法が必要です。
技術は、食べ物と同じで自分で習得(食べ物なら消化)してこそ身に付きます。食べ過ぎて消化不良になるのを避ける手段/方法があります。

この習得方法が超速開発環境、マイコン評価ボード(=スターターキット)+拡張ボード(=mbed-Xpresso Baseboard)+そして弊社マイコンテンプレートです。

マイコンテンプレート(税込1000円)は、懇切丁寧な添付資料や多くの(冗長な!?)コメントをソースに付加しています。従って、初心者が陥りがちな初期トラブルを避けることができ、ベンダー提供のサンプルソフトを活用したマルチタスクで、評価ボードと拡張ボードを動かせます。
ソフト担当者は、マイコンを自分で動かせれば、安心して厳しい状況でも開発できます。

また、基板開発時に問題となるアートワーク(配線引き回し)に配慮したIO割付を実ボードで検証できるので、基板化障壁も下がります。
ハードのみの担当者であっても、この超速開発環境はマイコン回りのベンダー推薦配線チェック、アートワークに適したIO割付をソフト開発者へ提案、基板テストプログラム開発時などにも役立ちます。

*  *  *

販売中のマイコンテンプレート5種
販売中のマイコンテンプレート5種

「入手性が良く、低コストマイコン」という基準で、現在5種マイコンをピックアップし、そのマイコンテンプレートを開発/販売することで、超速開発をサポートするのが本サイトの目的です。ご要望により新たなマイコンを追加する可能性もあります。

サイトに対するご意見、ご要望、追加マイコンなどお気軽にinfo@happytech.jpへお寄せください。

本年もありがとうございました。来年も引き続き弊社サイト、どうぞよろしくお願い申し上げます。

米クアルコム、NXPを470億ドルで買収

先日の記事で記載した米クアルコムは、現地時間の2016年10月27日、NXPを約470億ドルで買収したと発表しました。

Qualcomm to acquire NXP
Qualcomm to acquire NXP

NXPのPresident & CEOのRick Clemmer氏から関係者宛(ユーザ登録のみの私も含む)メールで判明しました。

ARMコアが業界標準になった時の差別化技術

9月23日の日経テクノロジーOnlineに“技術も市場も混沌としたIoT、ソフトバンクだけが視界明瞭”という記事で、興味深い内容を2つ見つけたので抜粋します。

記事は、ソフトバンクのARM買収の意味と影響を分析しています。

差別化はアナログ技術

“IoTマイコンに於けるARM優位性がこのまま維持され事実上の業界標準になれば、MCU各社の差別化技術はアナログ分野になる。”

本ブログで扱う低価格MCUコアは、ARM Cortex-M0/M0+がデファクトスタンダードで、Runesas 1社のみが独自RL78-S1/S2/S3コアです。そのRunesasも9月13日に、電圧制御やのアナログ分野に強みがある米インターシルの買収を発表しました。記事の予想は、正しいと思います。

センサー、通信マイコン、電源ICがIoT端末必須技術

“IoT端末の必須技術は、センサー、通信マイコン、電源ICの3つ。”

弊社が言うIoTマイコン各社が、アナログ技術を強化すれば、センサーインタフェースへ適用するでしょう。
例えば、オペアンプ実装などです。また、MCUとMPU/SCB間無線技術も、仕様が固まれば、当然実装されます。

これらが実装済みのIoTマイコンが、待ち遠しいです。ROMやRAMの容量次第では、マイコンテンプレートの活きる場所もありそうです。また、ARMと親和性が高いEclipseベースのIDEであっても、その使い勝手や、アナログ技術の取り込み方法の上手さもMCU選択の重要な基準となると思います。

追記:Cypress PSoC Creator 3.42.4が、3.25.0に更新されています。更新は、Update Managerから簡単に実行できます。