次期マイコンテンプレートのターゲット考察

NXPとFreescaleの合併、予想さえしなかったことです。激動するマイコン世界ですが、現在のマイコンテンプレート状況を整理し、次期テンプレートのターゲットとなるマイコンについて考えます。

入手性の良いマイコンとテンプレート販売状況

以前紹介した入手性が良いマイコンが一目で解る、チップワンストップサイトのマイコン/開発ツール検索を今回も利用させていただきます。サイト中央のマイコン/ボードタグをクリックすると、8/16/32bit処理ビットとベンダ毎に分けられたマイコンが表示されます。

一覧表が以下です。緑色がARM仕様のマイコン、青色がベンダ仕様マイコン、赤囲みがテンプレート対応マイコンで、現在4種のテンプレートを1000円(税込)で販売中です。

入手性の良いマイコンとテンプレート提供状況
入手性の良いマイコンとテンプレート提供状況

表中NXPはARM Cortex-M0のみですが、Cortex-M0+のLPC8xxも供給しています。
32bitマイコンの主流は、緑のARMマイコンです。表内のARMコアの特徴をまとめたものが下表です。

ARMコア 名称 概要
Cortex-Mx エンベデッド プロセサ 32bitの高い処理効率を維持し、業界最先端の動作と最小限のスリープ/ダイナミック電力、最小限のダイ面積を目指し設計。以下の4サブ構成。
Cortex-M0:低消費電力マイコン
Cortex-M0+:超低消費電力マイコン
・Cortex-M3:汎用マイコン
・Cortex-M4:デジタル信号制御マイコン
Cortex-Ax アプリケーション プロセサ 高度なオペレーティングシステム:OSが実行可能なメモリ管理ユニットMMU搭載マイコン
ARMx Classic プロセサ ARM11、ARM9、ARM7などコスト効果の高いマイコン

 

32bitマイコンのテンプレート対象は、Cortex-M0/M0+です。
Cortex-M3クラスになると、高価なうえに動作周波数も70MHz以上でControlよりもComputeが得意になります。IoT向けPCのEdisonRaspberry Pi 2(Cortex-A7搭載)と競合する可能性もあります。Cortex-M0/M0+は、16bitマイコン市場の置換えも視野に入れたマイコンですので、今後の普及も期待できます。
16bitマイコンは、ルネサスの超低消費電力マイコンRL78に、RL78/G1xテンプレートを販売中です。

4種テンプレートに付記した動作電圧からみえるのは、そのマイコンの想定アプリケーションです。
FreescaleのKinetis Eは、5V耐性やノイズ耐力を高めたマイコンです。また、NXPのLPC8xxは、バッテリ駆動ができ、小ピンですがスイッチマトリクスによりピン配置の自由度が高く、LPC111xも同じくバッテリ駆動可能で、第3世代でアクティブ消費電流が116uA/MHzまで低下したマイコンです。ルネサスのRL78は、広い動作電圧がセースルポイントのマイコンです。

以上が現状マイコンテンプレートの状況です。「16bitのHigh Performanceマイコンから32bit Entry+alphaのマイコンで、容易に入手できメジャーなもの」へテンプレートを提供し、「対象マイコンの速習と早期アプリ開発」が誰でもできます。テンプレートの詳細は、マイコンテンプレートサイトを参照してください。

IoTアプリケーション向きの超低消費電力マイコンと次期テンプレート

開発アプリケーションに適したマイコンを選ぶこと、これが最も重要です。汎用マイコンでも、想定した応用の範囲内で能力を発揮するように設計されているからです。
次期テンプレートは、よりアプリケーション指向の強いマイコンを選びます。当りハズレはありますが、当たればより多くのテンプレートが売れる可能性があるからです。

プログ記載の2015年1月~2月に集中して最新マイコンドレンドを分析した結果、各ベンダは、巨大マーケットを持つ「IoTアプリと車載アプリ」へのマイコン開発に力点を置きつつあることが解りました。特に車載マイコンでのこの動きの結果、NXPとFreescaleの合併となったとも言えるでしょう。

次期テンプレートもこのドレンド:IoTアプリ向けの超低消費電力マイコンに開発します。例を挙げると、ARM Cortex-M0/M0+コアでは、より低い消費電力、高エネルギー効率と低コストを狙ったFreescaleのKinetis LシリーズやNXPのLPC82x、ルネサスRL78:S3コアでは、RL78/I1Dなどです。

これらには、従来テンプレートに添付したシンプル/メニュードリブンテンプレートに加え、IoTアプリ開発の重要なポイントになる省電力テンプレート(仮称)も加える予定です。

 

IntelシニアフェローStephen Pawlowski氏によると、「これからの10年は、エレクトロニクスのイノベーションの歴史で最もエキサイティングな時代になるだろう。」だそうです。弊社マイコンテンプレートが、このエキサイティングな時代に活躍する技術者/開発者の方へ、少しでもお役立てれば幸いです。

NXPがFreescaleを買収

弊社マイコンテンプレート提供中のNXPが2015年下半期までにFreescaleを買収、合併します。これにより、自動車向け、汎用マイコンのシェアが一社(NXP?)にまとまります。

両社提供のARM Cortex-M0/M0+マイコンの見直しや統合、新ブランド発表の可能性もあります。ARMマイコンの世界も集約されつつあるのでしょうか?
結果的として弊社マイコンテンプレートは、全ての上位陣をカバーするので、喜んで良いのかな?

S3コアのRL78/G14とRL78/I1D、置換えは可能か?

マルツオンラインで、ルネサスの最新省電力マイコンRL78/I1Dが入手可能になりました。1個410円~430円と手頃です。そこで、同じS3コアのRL78/G14とRL78/I1D、パッケージ比較をしました。30ピンLSSOPの場合を示します。

RL78/G14とRL78/I1Dパッケージ比較
RL78/G14とRL78/I1Dのパッケージ比較

G1x系とRL78/I1DはCompatibilityなし

RL78/G1xのRL78/G14とRL78/G13は、ピンコンパチなので、同じパッケージなら置換え可能です。

RL78/G1x系のIOポート配置例
RL78/G1x系のIOポート配置例

しかし、残念ながらRL78/I1Dは、G1x系とはRESET、Vss、VddなどのSystemピンの配置が異なるため置換えができません。S3コアのRL78/G14と同じなら、CPU基板の流用ができただけに残念です。

RL78/I1Dで追加された、コンパレータやオペアンプなどのアナログ関連の周辺回路のせいでしょうか? 両者を比べると、Systemピンは近接しているのでピンコンパチの選択肢もあったと思います。どんなことでも親切に返答してくれる、かふぇルネに聞いてみると教えてくれるかもしれません。

やはり、RL78/I1DのCPUボード:RTE5117GC0TGB00000Rが個人購入できるまで待つのが良さそうです。

最新マイコンのドレンド考察

IoTに向けて汎用マイコンも変化しつつあります。今回は、この変化について考えます。

ADC分解能12ビット

最近のマイコンADC分解能は、汎用タイプでも12ビットが標準的です。例えば、LPC824(NXP、2014/10発売)、RL78/I1D(ルネサス、2015/02発売)などです。従来10ビットに比べ4倍の分解能です。
接続されるセンサの性能向上や、マイコン向きの分解能として12ビットが選ばれたと思います。これ以上の分解能になると、キャリブレーションや測定誤差への対応が必須となり、ADC専用ICの領域となるからです。

CPU代替データ転送

DMA:Direct Memory Accessや、DTC:Data Transfer Controllerは、CPUに変わってデータを転送する機能です。CPU転送より低電力で動作するため、ADCとペアで使われるのが一般的です。ADC変換データをDMA/DTCを使ってRAMへ転送し、この間はCPUを休ませる、その目的は、消費電力の低減です。

CPU消費電流低下

マイコンCPU本体の消費電力が改善される好例が、LPC1114(NXP)です。トラ技2012年10月掲載のLPC1114評価ボードのCPUは、LPC1114/301でした。LPC1114/xx1 → xx2 → xx3(xx1の数字が世代を示し、現在は第3世代)で180uA/MHz → 140uA/MHz → 116uA/MHzと世代が進む毎にアクティブ消費電流が36%も低下しました。

これらの変化は、5Vレギュレータ動作から、バッテリーなどのより低く、しかも変動する電圧でも長時間動作する省電力マイコンが目的です。

基本動作モードと省電力動作モード

RL78カタログ資料より抜粋したRL78ファミリの動作モードを示します。

RL78ファミリの動作モード
RL78ファミリの動作モード

通常動作(MAIN RUN、ARMマイコンの場合はRUN)と低電力動作(HALT、ARMの場合はSLEEP)、動作停止(STOP)の基本3モードに加え、第4の新しい省電力動作モード(SNOOZE)があります。

SNOOZEは、HALTよりも更に低い電力で動作しますが、以下の点に注意が必要です。

  1. SNOOZE動作するには、STOP動作モードから入る必要あり。
  2. SNOOZE中に動作する周辺回路は機種によりに異なりRL78/G13、G14の場合は、ADC、CSI00スレーブ受信、UART0データ受信の3機能のみ。
  3. HALT → MAIN RUNに復帰する時間に比べ、起動時間がかかる。

これらに注意して、開発アプリでSNOOZEが有効に使えるか否かの判断が必要です。

例えば、RL78/G13でADCデータをDMAでRAM転送する場合には、SNOOZEは使えず、HALTで行う必要があります。あるいは、ADCはSNOOZEで行い、データ転送はCPUで行う方法もあります。
どちらが開発するアプリに適しているか、消費電力はどちらが低いか、SNOOZEからの復帰時間は問題ないかを検証し、決める必要があります。
最新マイコンRL78/I1Dは、RL78/G1xに比べこの制約が緩く、より簡単に広い条件で適用できる工夫も施されています。
また、さらに細かい省電力アプリへ対応すべく、10個もの動作モードを持つKinetis Lシリーズ(Freescale)などもあります。

Kinetis Lシリーズの動作モード
Kinetis Lシリーズの動作モード

ポイントは、各省電力動作モードの制約条件と復帰時間を考慮したうえでモード選択することです。

現行テンプレートの動作モード

販売中のテンプレートは、通常動作:MAIN RUNと低電力動作:HALT(SLEEP)の2動作モードに対応しています。これは、

  • この2動作モードは、全マイコンにあり、機種に依存しないテンプレートとして実現できること
  • 省電力化に最も効果があり、通常動作への復帰も高速なので確実(バグなし)に動作すること

が理由です。

省電力動作モードの注意点と裏ワザ

省電力動作モードには、多くの制約条件があります。言い換えると「動作するアプリや環境を想定した動作モード」とも言えます。この省電力動作モードの注意点をまとめます。

  • 想定したアプリや動作環境を見極め、それに沿って開発しないと徒労になる
  • 通常動作への復帰時間を吟味した上で使わなければ、取れにくいバグを生むリスクがある
  • 苦労して省電力動作モードを実装しても、そのモードの全体動作に対する相対時間が少なければ、得られる効果も少ない

実は、前述のLPC1114進化のように、マイコンそのものを初めから低消費電力版へ変えることが一番簡単で確実だったりします(裏ワザ?)。

省電力テンプレートの方針

テンプレートとしても新しい省電力動作モードへの対応が必要です。以下の方針で開発予定です。

  • 省電力アプリを特定し、その上で、応用範囲の広い適用例で開発
  • 省電力アプリの有効性を確実に示せるマイコンに実装(そもそも省電力動作モードそれ自身に、想定動作があるので機種依存性が生じるのも仕方がないかも…)

シンプル/メニュードリブンテンプレートに続く第3のテンプレート:省電力テンプレート(仮称)とは、
「通常時は現行テンプレートと同様MAIN RUNとHALT(SLEEP)で処理を行い、一定時間入力が無い場合は、STOPまたはSNOOZEになり、何らかの外部入力で通常動作へ戻る」
などでしょうか?

方針提案に対する、ご意見、ご希望など何なりとお気軽に、info@happytech.jpへお寄せください。参考にさせていただきます。

無償mbed OS 10月15日リリース予定

mbed OSリリーススケジュール(記事より抜粋)
mbed OSリリーススケジュール(記事より抜粋)

弊社ブログ記載のARM無償提供mbed OSのリリーススケジュールが、“ARM 「mbed OS」とは何か?その詳細と動向”記事にあります。本年2015年10月15日以降には、mbed OSを試せそうです。

mbed OS層構造

mbed OSの構造(記事より抜粋し加筆)
mbed OSの構造(記事より抜粋し加筆)

ARM Cortex-M0/M0+のマイコンに無償で使えるmbed OSは、図のように各種標準通信プロトロルを提供します。ROM容量の少ないマイコンは、この中の一部を選択して実装できるそうです。

CMSISとIPv4、IPv6実装済み無償OSがC++ APIで使える10月15日が待ち遠しいです。弊社テンプレート提供中のARMマイコン、LPC812、LPC1114/5、Kinetis Eにも適用できそうです。

実物を診ないと断言はできませんが、テンプレートもこのmbed OSの上(Applicationsの層)に配置できる気がします。超うすいテンプレートだからです。勝手にライバル視してきましたが、実は、CMSISと同じ感覚でネット接続APIが使える可能性もあり、ますます待ち遠しいです。
一方、IoT向けPC:Raspberry Pi 2に無償提供されるWindows 10にとっては、強力ライバルソフトになりそうです。Raspberry Pi 2は、ARM搭載ですので、当然このmbed OSが実装できると思うからです。

マイコンテンプレート利用法ページ追加

販売中の4種マイコンテンプレート説明資料に、テンプレート利用法ページを追加しました。
既にテンプレートご購入の皆様へは、近日中に追加済みのテンプレート説明資料をメールにて送付いたしますので、しばらくお待ちください。

テンプレート利用法ページの内容一部抜粋

テンプレート利用法ページには、ソースコードを見やすくするための記述の工夫テンプレート機能とその処理関数どこにユーザ関数を追加した結果、シンプル/メニュードリブンテンプレートになるのかを3ページにわたって示しております。
説明資料の全ページ内容は、テンプレートサイトの各テンプレート説明資料右下のもくじを参照して下さい。P1とP2は、サイトからダウンロード可能です。

RL78/G1xテンプレートの内容を一部抜粋します。他の3種LPC8xx、LPC111x、Kinetis Eテンプレートも同様です。

テンプレート機能とその処理関数
テンプレート機能とその処理関数(RL78/G1xテンプレートの例)
テンプレートに追加するユーザ関数の場所
RL78/G1xテンプレートに追加したユーザ関数:LedBluToggle()の例

これらのページにより、より具体的にテンプレート使用方法がお判り頂けると思います。

テンプレートご購入者様、ご検討中の方にとって一番知りたいことは、「テンプレートが簡単に使えるかどうか」です。追加したページが、このご参考になることを期待しております。

Edisonを使った温度センサのツイート例

IoT向けPCならマイコン技術者でなくても、誰でもIoTアプリが簡単に開発できる記事を見つけましたので紹介します。

周囲温度をEdisonでツイート

Wiring the Internet of Things with Intel Edison and Node-REDより抜粋
Wiring the Internet of Things with Intel Edison and Node-REDより抜粋

IoT向けPCは、EdisonRaspberry Pi 2を紹介済みです。両者ともGPIO×40を持ち、見た目はマイコン評価ボードのようですが、元々PCですのでEther接続は得意です。PCボード価格も5000円以下で、高性能マイコンの評価ボードと同程度です。

簡単に記事を説明すると、EdisonのGPIOに温度センサを接続し、MRAAというライブラリとNode-REDというGUIツールを使って周囲温度をスキャンし、計測値をネットへツイートします。GPIOアクセスやGUIツールの使い方が主体の記事です。これは、OSが必須のPCでは、GPIOへの直接アクセスはできないのが一般的だからです。マイコンとは、ココが違います。

同じことをマイコンでするなら、温度センサ接続やGPIO制御などは簡単ですが、Ether接続、ましてはツイッターへの送信などは、規定プロトコルをマイコンへポーティングするだけで大変です。

マイコンとIoT向けPCの得意処理

マイコンは、センサ制御やGPIOデータ収取などの「Control」が得意です。しかし、「Compute」には高性能が必要で、ネットアクセスと並んでIoT向けPCの得意領域です。これらマイコンとIoT向けPCは、データ収集エリア近くに多数配置され、ここから集められたデータがクラウド内のデータセンタでビッグデータとして処理、加工されます。これがIoTの全体構造と考えられています。

各ベンダの最新マイコンは、このIoT内でシェア確保を狙い、ADC分解能や低消費電力、小型低価格化などのControl性能向上に力点がシフトしつつあります。IoT向けPCとの接続用に従来のUARTから、USBやBluetoothなどが汎用化するかもしれません。

一方、IoT向けPCには、ソフト開発者用としてWindows無償提供や各種ライブラリ/ツールなどで、より簡単で高機能なCompute処理の実装ができる環境が提供されます。

汎用マイコン機能見直しの兆し

マイコンとIoT向けPC、それぞれが、機能選択とコスト最適化を目指して変化しつつあるのが現状だと思います。IoTビッグマーケットに対して「競合か共存か」、両者ともに注視する必要がありそうです。

新しいRL78/I1Dからマイコントレンド抽出

ルネサスの業績が黒字に回復し、「縮小と撤退」から「拡大と攻勢」へ転換したそうです。うれしいです。このルネサスからRL78/I1Dという新しいRL78マイコンが2月に発売されました。方針転換後に厳選した新製品と思われるので、その情報から最新マイコントレンドを考えました。

従来RL78マイコンと新マイコンRL78/I1Dの違い

RL78/I1D説明資料P11より抜粋
RL78/I1D説明資料P11より抜粋

「RL78/I1D」ご紹介資料P11から、従来RL78/G13、G14とRL78/I1Dの差が解ります。RL78/I1Dは、S3コアで、ADC分解能、オペアンプ、RUN動作電流などの機能が強化されています。また、従来RL78では、動作電圧に応じてオペレーションモードが固定であったのが、ソフトで変更できるようになりました。これにより、電源電圧が低下しても機能停止せず、しかもRUN動作電流も激減しましたので、長い期間マイコンが動作可能です。

さらに、非同期タイマも追加され、センサの長時間間欠動作もCPU停止:STOPのまま可能となりました。CPU起動は、「高速wakeup」対応の中速オンチップオシレータを使うと4us程度で可能です。
※RL78/G1xテンプレートは、CPU:HALTで低消費電力対応しているため、0.5us/32MHzで起動します。

ADCの計測データは、DTCで直接RAMへ転送可能です。DTCとは、簡単に言うと、DMAがメモリアクセス専用のCPU代替転送機能なのに対し、より複雑なCPU代替処理にも対応できるものです。

マイコンドレンド:省エネとIoT

2010年発売の汎用マイコンRL78/G13やG14との違いから明らかなように、最新マイコンRL78/I1Dは、オペアンプ内蔵や高速オンチップオシレータ上限が24MHz、48ピンまでの小パッケージサイズなどから、センサアプリに特化したマイコンです。

RL78/G14の高速オンチップオシレータの実質周波数上限は32MHzなので、I1DのS3コア性能は多少劣りますが、低消費電力とより低電圧での動作など、そのトレンドは、「省エネ」追求です。

IoTでは、このRL78/I1Dのような省エネマイコンが数百億個使われと予想され、価格は、使用個数に応じて激減しますので、RL78/I1DもG13やG14と同程度、またはより低価格になるかもしれません。このように、IoTアプリケーション向けの周辺回路を持つ省エネマイコンでのシェア獲得がルネサスの狙いでしょう。汎用マイコンの機能を、IoTに会わせて見直した結果とも考えられます。

RL78/I1D CPUボード入手できず

RL78/I1D CPUボード
RL78/I1D CPUボード

RL78/G1xテンプレートは、このRL78/I1Dへそのまま流用できるハズです。DTCやADCなどの周辺回路制御は、機種毎に異なりますが、テンプレート本体は、マイコンやベンダが異なっても基本的に同一だからです。
※RL78の場合は、ショート・ダイレクト・アドレッシングsreg領域を使ってARMマイコンテンプレートと比べて、少しチューニングしています。

RL78/I1DのCPUボード:RTE5117GC0TGB00000Rでテンプレートを試そうとしましたが、2015年2月現在、個人向け販売サイトには残念ながら見つかりません。入手可能になれば試す予定です。RL78/I1DがIoT汎用マイコンになる可能性が高いからです。

マイコントレンドに合わせたIoTテンプレート

従来テンプレートは、シンプルテンプレート(テンプレート動作理解が目的)と、メニュードリブンテンプレート(所望処理の簡単な取出しが目的)の2本立てでした。

マイコンドレンドが「省エネ」で、DTCやDMAを使った「マイコン内データ転送も、汎用化」しつつあるので、これらに合わせたアプリテンプレート:IoTテンプレート(仮称)も今後検討したいと思います。

Raspberry Pi 2にWindows10無償提供

新発売のシングルボードコンピュータRaspberry Pi 2(Model B)にWindows10が無償提供されます。

Raspberry Pi 2
Raspberry Pi 2

Raspberry Pi 2は、RSコンポーネントで4291円、EthernetやHDMI、USB2.0×4、GPIO×40などのIOを持つPCです。Windows10が実装されると、マイコン技術者だけでなく、誰でもソフト開発が出来そうです。

マイコンでEthernetを実装するのは大変ですので、複数マイコンを束ねて、IoTサーバへ接続するホストとして使えるかもしれません。2014年10月27日記載の、極小PC:Edisonの対抗機になりそうです。

マイコン技術者必読情報

PC Watchサイトの2015年1月1か月集中講座:「IoTの波に乗るマイコン事情」という記事を紹介します。PC用のCPUからスマホ、マイコンまで、全てのプロセサ事情が網羅され、まとめられた記事です。マイコン開発の技術者は、必読です。

マイコン技術者は第4回から読むと良いかも?

8ビット、16ビット、32ビットと変わってきたマイコンの歴史や、位置づけ、現状入手可能なマイコン開発で押さえておくべき特徴などが解りやすく解説されています。この第4回に自分が担当するマイコン記載がない場合には、第2回のARM Cortex記事にくわしく解説されています。

ベンダによるCortex特徴記事は、他社と差別化点のみを強調する傾向があります。Cortexの変遷や特徴などを、ベンダを跨いで解説したARMコア特集の第2回記事を読めば、よりARMコアの理解が深まります。

過去、現在、そして将来

マイコンの機種選定は、難しいものです。現在の価格、入手性は簡単に評価できますが、一旦開発すると納入先での長い運用が始まり、将来の拡張性や動向などを考慮することは、不可能な気もします。しかし、本記事記載の過去の経緯や変遷から、ご自分が開発したマイコンとその開発技術が、将来どうなるか、そして何が本質的に重要な要素かを考えてみるのも良いと思います。

IoTへのヒント

私は、この記事から多くのヒントを得ました。その中の1つを示し、今後のマイコン開発に役立てたいと思います。

第1回より:IoTやセンサーにはMCUが必須で、切っても切れない関係にある。理由はコストと効率性である。MPUは「何でもできる」が「何をさせるのにも適している」わけではない。用途によってはMCU:マイコンを外付けにして、ここに作業をオフロードした方が賢明というケースは少なくない