ARM Cortex-M0+準拠セキュリティ強化プロセサCortex-M23発表

Cortex-M Series Lineup
Cortex-M Series Lineup

ARMは、Cortex-M0+準拠でセキュリティ機能を強化したCortex-M23を発表しました。本ブログはこれまで、低価格低消費電力のCortex-M0/M0+コアを対象としてきましたが、これにCortex-M23も加えます。

Cortex-Mシリーズに於けるCortex-M0/M0+プロセサの位置付けは、コチラの記事をご覧ください。

Cortex-M23コア

ARMサイトによると、Cortex-M23は、IoTデバイスに必須と言われるハードによるセキュリティを強化したTrustZoneを搭載し、Cortex-M0+ソフト再利用が可能です。
IoT向きCortex-M0/M0+という位置付けだと思います。

Comparison of Cortex M23 and Cortex M0+
Comparison of Cortex M23 and Cortex M0+

Cortex-M23コアのMCUが登場すれば、本プログでフォローします。勿論、対応テンプレートも開発する予定です。

BluetoothとTHREAD両サポートのKinetis KW41Z

NXPからBLE 4.2とThread両方をサポートするKinetis WシリーズKW41Zが発売されました。低価格で有名な評価ボードですがFRDM-KW41Zは、約1万6千円します。USB-KW41Z Sniffer/Development Boardでも約6千円です。

Multiprotocol MCU Kinetis KW41Z
Multiprotocol MCU Kinetis KW41Z(説明動画より)

IoTマイコン無線規格:BLEまたはThreadか

様々なIoT無線規格が乱立するなかで、KW41ZがBLE4.2とThreadを選んだのは、これらが生残る可能性が高いためでしょう(IoT無線規格はコチラを参照してください)。両方のプロトコルをサポートするため、Cortex-M0+コアで最大512KB ROM/128KB RAMと大容量が必要です。USB-KW41Z の価格から推測すると、MCU単体価格も高そうです。

IoTアプリケーションも身近になりつつあります。無線規格確定まで待てないとお考えの方には、早期開発を成功させるツールとして役立つかもしれません。

www.nxp.com/FRDM-KW41Z/startnowに解りやすいスタートアップ方法が掲載されています。無線デモソフトをクローン化し、ユーザアプリを作る手法のようです。IoT無線ソフトを1から開発することは難しい証左でしょう。ベンダー提供ライブラリの活用領域と思われます。

米Qualcomm、NXPを300億ドルで買収か?

2015年、Freescaleを買収したNXPを、スマートフォンで有名なクアルコムが300億ドル以上で買収するかもしれないというニュースが飛び込んできました。

記事によると、買収目的は、スマホ市場の成長が停滞しつつあるので、組込と車載市場へ参入することで、買収が成立すれば、半導体業界史上、最大規模のM&Aになるそうです。

クアルコム製品でスマホによく用いられているSnapdragonを使ったシングルボードコンピュータ:SBCは、チップワンストップのコチラで参照できます。

個人的観測ですが、このところNXPに限らずマイコンベンダーの新製品開発が鈍っている気がします。IoT無線規格の見極めや、Eclipse Neon対応かなと思ってきましたが、業界再編の可能性も影響しているかもしれません。

IoTマイコン市場規模予測

9月26日の日経テクノロジーOnlineに“孫社長ですら過小評価、ARMはIoT時代に君臨する”という記事から、IoTマイコン開発者が、上司を説得し開発費を交渉する時や、自分自身のモチベーションアップに役立ちそうなキーワード、数値をピックアップします。

※記載内容は、全て記事から抜粋しております。

ARMはMicrosoftとIntelのウインテル以上

MicrosoftとIntel連合がパソコンの覇者であることは間違いありません。しかし、パソコン低迷とともにIntelチップの売上げも2015年は3億個弱と低下しつつあります。一方、ARMチップは、2015年が145億個でうなぎ上りに増加しており、1個あたり10円がARM社の収入とすると、2015年売上げ1791億円も納得できます。

Chip Sales number
チップ売上げ個数(記事より抜粋)

IoT時代のネット接続デバイス数

  • Cisco Systems社予測……500億個(2020年)
  • Trillion Sensors Universe(米国推進)での世界センサー数……1兆個(2020年)
  • コンピュータ性能が全人類能力を超えるシンギュラリティ時のセンサー数……250兆個(2045年)

これらデバイスの半分、50%に低消費電力が最大の特徴であるARMプロセサが使われると、125兆円のARM社売上げも予測可能です。この結果、半導体売上高トップ10にARM社がランクインし、2030年頃には、1位Intelや2位Samsungを脅かす可能性が高いでしょう。

半導体産業を牽引するのは、パソコンやスマホではなくIoTだ

以上の数値などから今後、半導体産業を牽引するのは、IoTであり、ARMはIoT時代に君臨するでしょう。

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から簡単に実行できます。

効率的マイコン習得の評価ボード

“学問に王道なし”とは言いつくされた諺です。しかし効率的にマイコンを習得する1番の方法は、ベンダー評価ボードを使うことだと私は思います。理由は、価格と確実動作、サンプルソフトの多さです。複雑な内容を理解、習得するには、文章説明だけでは限界があります。マイコンは、1つでも設定を間違うと、動作しない状態になるのも理由です。

ところが、このベンダー評価ボードも数多くあり、どれが良いか初めての開発者には分かり難い面も多いでしょう。そこで、個人的に最も好きなCypressマイコンの評価ボードを例に、評価ボードを分類し、特徴を解説します。

Cypressマイコンが好きな理由

ルネサス)RL78/G1x、NXP)LPC8xx/LPX111x、Kinetis L/Kと比較して、私がCypress)PSoC/PRoCが好きな理由は、ハード的にはアナログ/デジタル両方の機能が豊富な点、ソフト的にはIDEのPSoC Creatorが使いやすい点です。
また、Cypressサイトも他社より情報が豊富で充実しています。豊富なだけでなく、きちんと整理、分類されているので、検索も容易です。内容が良く解った技術者がサイトを構築すると、このようになると思います。

4種類のCypressマイコン評価ボート

そんなCypressマイコンの評価ボードは、4種類に分類されます。他社サイトでは、評価ボードが一覧で表示されることが多いのですが、最初にこのような分類が無いと混乱します。

4 Evaluation Board Types
4 Evaluation Board Types
Cypressの4種類の評価ボード比較
評価ボード分類 特徴 個人的解釈
Prototyping Kits 超低価格 単独で動作させるには十分だが、サンプルソフトテストには、外付けLEDやハードウエア追加が必要で、その手間暇がかかる。
Pioneer Kits 低価格 サンプルソフトテストに十分な外付けハードも一緒にした評価ボード。さらにArduinoコネクタ実装なので、拡張性も高い。
Arduino Shields Arduinoのシールド Arduinoコネクタ実装の拡張機能基板で、最近のマイコン開発にはArduinoコネクタがデファクトスタンダードになりつつある。
Partner Kits 高機能 高機能/高性能マイコンを評価するためのボード。

お勧めは、Pioneer Kitsです。この分類の評価ボードなら、サンプルソフトをそのままダウンロードして動作確認ができる上、Arduinoシールドを使って自分なりの拡張機能もテストできます。使用するMCUのPioneer Kitsを探して開発に着手すれば良い理由を以下に示します。

マイコン初心者トラブルの回避

経験からマイコン初心者がトラブル箇所で多いのが、MCU初期設定、IDE操作ミスです。いずれも、ユーザーマニュアルの初めの方に記述されていますが、読み間違いや勘違いにより発生します。
その結果、マイコンを思った通りに動かせず、最初の段階でつまずいてしまします。これがアセリを誘発し、さらに悪循環を生みます。チョットした事ですが、一度生じた先入観は簡単には元に戻りません。

Pioneer Kits評価ボード+サンプルソフトで確実にマイコンを動作させると、上記のミスはかなり防げます。とりあえず取説どおりに設定し、サンプルソフトが動けば、嬉しいしアセリは生じません。その後でMCUユーザーマニュアルを読めば、冷静に設定内容も理解できます。

MCUユーザーマニュアルは、文章だけで説明するが役目です。しかし、動く評価ボードを実際に操作しながら内容を理解すると、自分の勘違いやミスにすぐに気が付きます。本当に些細なミスであっても、アセリが有るのと無いのでは、雲泥の差です。

サンプルソフトソースからポイントをつかむ

サンプルソフトは、マイコン開発のバイブルです。しかし付属の説明文章は、細かい内容や、開発のポイントは記載していません。開発で重要となるこの部分は、サンプルソフトのソースから、開発者自らが獲得するのが一番良いと思います。サンプルソフトの読み方は、コチラにも記述しています。“木を見て森を見ず”にならないようにしましょう。

動作ソフトへ変更を加え経験を積む

いろいろなサンプルソフトを動かしていると、ここを変更すればもっと良いのではないか?と思う箇所も発見します。そんな時は、変更を加えトライできます。もしNGなら、その原因が解ります。NG:失敗も経験です。効率的に経験を積むことができる、これがPioneer Kits評価ボードです。

超低価格のPrototyping Kitsでも外付けハードを追加すれば、Pioneer Kitsと同様のことができます。但し、追加の手間がかかります。ハード追加時にミスが発生するとソフト開発は先へ進みません。電子工作習得やハード開発の経験を積む意味では良いのですが、ここは割り切ってソフト開発に適したPioneer Kitsを選ぶのが得策です。

まとめ

マイコンテンプレートも数年前は、Prototyping Kits的な評価ボードを使って販売した経験があります。この時は、ご購入者様からは、ハードウエアを追加したが動ないというご相談を多数頂きました。トラブル原因は、UARTのTX/RX配線ミスなどで解決しましたが、動かないとご購入者様もストレスが溜まります。

そこで、ハード追加が不要なPioneer Kits相当の評価ボードで販売すると、不動作トラブルは無くなりました。簡単に動作することが、初期段階では重要である証左と言えます。

販売中のマイコンテンプレートは、全てPioneer Kits評価ボード相当を動作ボードに選定しています。是非、お試しになり、効率的にマイコンを習得してください。

※一部、配線のみ追加するBaseboardを使って機能拡張しています。配線のみですのでハード追加に比べミス確率は低いです。Baseboardでの機能拡張については、コチラなどを参照ください。

新生NXPマイコンラインアップ

NXPがFreescaleを買収後、新生NXPのARMコアMCU製品ラインアップが一目で解る図を見つけたので掲載します。
出典は、組込みシステム向けコンテンツ・プロバイダ)インスケイプ様のマガジンVOLUME.13:「さらなる高みへ。新生NXPのマイコン戦略に迫る MCU約1,100ラインアップ。シナジー効果の最大化へ」です。

NXP+FreescaleのARM Cortex MCUラインアップ

NXPサイトは、NXPのLPCマイコンと旧FreescaleのKinetisマイコンがそれぞれ別ページで示されるので、経営統合後のARM Cortex MCU製品ラインアップが分かりにくいのが現状です。

既存ユーザにはページ分離記載で問題ないでしょうが、以前記載した今後を予想するには、下図が解りやすいと思います。

NXP ARM Cortex MCU Lineup
NXP ARM Cortex MCU Lineup(記事より抜粋)

左側の汎用MCUでは、Cortex-M0/M0+でLPC800、LPC1100/1200とKinetis Lシリーズが競合しています。IDEも、それぞれのMCU対応にLPCXpressoとKinetis Design Studioの2種を提供中です。
一方、右側の特定用途MCUでは、Kinetisシリーズにより製品補完がされたことが解ります。

出典記事に、各MCUの詳しい特徴が解りやすく記載されております。

統合により、NXPは、ARMコア提供数は(恐らく)世界最大で、MCUコアのデファクトスタンダードCortex MCUのリーダーです。今後の動向が気になります。

CortexーM0/M0+対応マイコンテンプレート

弊社は、コスト重視で8/16ビット市場の置換えを狙う32ビットMCUコアCortex-M0/M0+を使ったLPC8xx、LPC111x、Kinetis Eに対してマイコンテンプレートを販売中です。動向によっては、このラインアップも変わるかもしれません。

※Kinetis Lシリーズは、Kinetis Eとソフト、ピン互換性があります。Kinteis EテンプレートのLシリーズへの適用は、弊社へお問合せください。

mbed OS 5リリース

2016年8月5日、ARM mbed OS 5がリリースされました。mbed OS 5対応評価ボードは、現在39種類あります。本プロブ対象のARM Cortex-M0/M0+クラス評価ボードは、このうち6種ありました。

上記ページのHardwareタグでBoardsを選択し、Filterでmbed OS 5をチェックすると対応ボードが一覧表示されます。

Cortex-M0/M0+クラスのRTOS必要性

コスト重視のARM Cortex-M0/M0+マイコン:MCUに、リアルタイムOS:RTOSが必要か否かは、意見が分かれるところです。RTOSを使うためのROM/RAMのオーバーヘッドと、無線通信ドライバ/ライブラリの必要性がポイントだと思います。

FreeRTOSの場合は、ライブラリを除くと約5KB ROMが必要であることを以前示しました。mbed 5 OSは、BLEなどの各種無線通信をサポートしますが、コア部分は、(おそらく)同程度だと思います。
※MCUとMPU/SBC間の無線通信規格はコチラにまとめています。

IoT向けMCU実現には、無線通信機能は必須です。ここを1からMCUに実装するのは結構大変です。RTOSライブラリで提供されれば、Cortex-M0/M0+クラスMCUへの適用も現実的になるかもしれません。

一方、CypressのPSoC 4 BLEやPRoCは、RTOSを使わずにBLE通信を実現済みです。

Cortex-M0/M0+クラスへのRTOS適用は、まだ不透明だと思います。しかし仮にRTOSが誰にでも安心して使えるようになると、残念ながら弊社販売中のマイコンテンプレートは不要になるかもしれません。

マイコンテンプレート対抗馬は、本記事のmbed OS 5、FreeRTOSです。

ソフトバンク、ARM買収を発表

ソフトバンクは、IoT戦略の加速を目的に、英ARM株式100%取得し買収することを発表しました。

9月30日までに買収完了予定です。IoTデバイス開発の関係者にとってはサプライズニュースです。

テクノロジーのパラダイムシフト

ソフトバンク発表資料(免責事項にふれる可能性があるため非掲載)によると、現在のモバイルインターネットの次のパラダイムシフトはIoTです。また、ARMベースSoC:System on Chipの出荷台数は、148億個(2015年)で、未だに発展段階の成長を続けていることが解ります。

ARM Cortex-M0/M0+を用いる本ブログ対象の組込用途マイコン:MCUや、IoTコンピュータ:MPU/SBCなどの2020年市場予測も掲載されています。今後Cortex-M0/M0+の採用を検討されている開発者の方々にも有用な情報です。

SoftBank+ARM

組込の世界では、実質ルネサスのみであった日本プレーヤーに、株主とはいえソフトバンクが参加することは、日本人として少し嬉しい気がします。
しかし、孫社長の後継者問題、英国EU離脱のARM陣営への財務基盤強化などが、今後IoT、特にMCU分野にどう影響するかは、要注意でしょう。

SoftBank携帯で、IoT MCUソフトウエア開発を行う状況が来るかもしれません。

IoTマイコン無線規格

6月の本ブログは、ThreadやBluetooth 5など、マイコン:MCUとIoTコンピュータ:MPU/SCB間の無線通信規格に関する記載が多くなりました。モノをインターネットへ接続するIoTの要となる無線インタフェースが、今変動中であることが解ります。

私は、コスト重視のMCUは、最終的にはどれか1つの規格(Threadが良いと思います)になり、カバー範囲重視のMPU/SBCは、複数規格(Wi-Fiは必須で、BluetoothやThread…)を実装すると思います。

このMCUとMPU/SCB間の無線規格の現状を考えた面白い記事を見つけたので紹介します。

IPアドレスとの親和性

記事によると、無線規格の要件として、よく言われる低消費電力動作の必要性以外にも、既に出来上がったWi-Fi世界との親和性が重要だとしています。IEEEでもこの線に沿った「Wi-Fi Halow」と「Passive Wi-Fi」規格検討が進んでいるそうです。

かつて私も有線通信:ATMの研究開発にたずさわったので多少解りますが、IEEE(アイトリプルイー)の規格化が済むと、直ぐに商用製品が発売され、Businessに裏打ちされた規格が開発される場、それがIEEEです。そして、MCUとMPU/SCB間の無線技術を含む多くの通信課題が解決される場でもあります。

確かに、IPアドレスとの親和性が高いと、NIC: Network Interface Cardのハードやソフトが流用でき、これらを実装したMCUでのパケット化処理(UART over IP)も簡単になるかもしれません。

MCUとMPU/SCB間の無線技術

UART、つまりSCIを実装しないMCUはありません。
SCI入出力を簡単に無線化できるソフト/ハード技術、これがIoT MCU無線規格の本命になると思います。今日時点の内容は以下ですが、この技術の一覧表を固定ページに追加しました。固定ページは、適宜、内容を更新します。

IoT MCU Wireless Specifications
無線規格 特徴 備考
Bluetooth 4.2 128ビットAES対応など従来比セキュア機能拡張 スマホへ普及中
Bluetooth 5 4.2比通信速度、通信距離、ブロードキャスト容量拡大 2017年初めリリース予定
Thread メッシュ網構成
Wi-Fi Halow Wi-Fiとの親和性高く、室内外40m、屋外1㎞通信 IEEE 802.11ah
Passive Wi-Fi IEEE 802.bベース、超低消費電力(電池駆動10年)目標