弊社マイコンテンプレート提供中のNXPが2015年下半期までにFreescaleを買収、合併します。これにより、自動車向け、汎用マイコンのシェアが一社(NXP?)にまとまります。
両社提供のARM Cortex-M0/M0+マイコンの見直しや統合、新ブランド発表の可能性もあります。ARMマイコンの世界も集約されつつあるのでしょうか?
結果的として弊社マイコンテンプレートは、全ての上位陣をカバーするので、喜んで良いのかな?
IoT MCU開発お役立ち情報満載
弊社マイコンテンプレート提供中のNXPが2015年下半期までにFreescaleを買収、合併します。これにより、自動車向け、汎用マイコンのシェアが一社(NXP?)にまとまります。
両社提供のARM Cortex-M0/M0+マイコンの見直しや統合、新ブランド発表の可能性もあります。ARMマイコンの世界も集約されつつあるのでしょうか?
結果的として弊社マイコンテンプレートは、全ての上位陣をカバーするので、喜んで良いのかな?
マルツオンラインで、ルネサスの最新省電力マイコンRL78/I1Dが入手可能になりました。1個410円~430円と手頃です。そこで、同じS3コアのRL78/G14とRL78/I1D、パッケージ比較をしました。30ピンLSSOPの場合を示します。
RL78/G1xのRL78/G14とRL78/G13は、ピンコンパチなので、同じパッケージなら置換え可能です。
しかし、残念ながらRL78/I1Dは、G1x系とはRESET、Vss、VddなどのSystemピンの配置が異なるため置換えができません。S3コアのRL78/G14と同じなら、CPU基板の流用ができただけに残念です。
RL78/I1Dで追加された、コンパレータやオペアンプなどのアナログ関連の周辺回路のせいでしょうか? 両者を比べると、Systemピンは近接しているのでピンコンパチの選択肢もあったと思います。どんなことでも親切に返答してくれる、かふぇルネに聞いてみると教えてくれるかもしれません。
やはり、RL78/I1DのCPUボード:RTE5117GC0TGB00000Rが個人購入できるまで待つのが良さそうです。
IoTに向けて汎用マイコンも変化しつつあります。今回は、この変化について考えます。
最近のマイコンADC分解能は、汎用タイプでも12ビットが標準的です。例えば、LPC824(NXP、2014/10発売)、RL78/I1D(ルネサス、2015/02発売)などです。従来10ビットに比べ4倍の分解能です。
接続されるセンサの性能向上や、マイコン向きの分解能として12ビットが選ばれたと思います。これ以上の分解能になると、キャリブレーションや測定誤差への対応が必須となり、ADC専用ICの領域となるからです。
DMA:Direct Memory Accessや、DTC:Data Transfer Controllerは、CPUに変わってデータを転送する機能です。CPU転送より低電力で動作するため、ADCとペアで使われるのが一般的です。ADC変換データをDMA/DTCを使ってRAMへ転送し、この間は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ファミリの動作モードを示します。
通常動作(MAIN RUN、ARMマイコンの場合はRUN)と低電力動作(HALT、ARMの場合はSLEEP)、動作停止(STOP)の基本3モードに加え、第4の新しい省電力動作モード(SNOOZE)があります。
SNOOZEは、HALTよりも更に低い電力で動作しますが、以下の点に注意が必要です。
これらに注意して、開発アプリでSNOOZEが有効に使えるか否かの判断が必要です。
例えば、RL78/G13でADCデータをDMAでRAM転送する場合には、SNOOZEは使えず、HALTで行う必要があります。あるいは、ADCはSNOOZEで行い、データ転送はCPUで行う方法もあります。
どちらが開発するアプリに適しているか、消費電力はどちらが低いか、SNOOZEからの復帰時間は問題ないかを検証し、決める必要があります。
最新マイコンRL78/I1Dは、RL78/G1xに比べこの制約が緩く、より簡単に広い条件で適用できる工夫も施されています。
また、さらに細かい省電力アプリへ対応すべく、10個もの動作モードを持つKinetis Lシリーズ(Freescale)などもあります。
ポイントは、各省電力動作モードの制約条件と復帰時間を考慮したうえでモード選択することです。
販売中のテンプレートは、通常動作:MAIN RUNと低電力動作:HALT(SLEEP)の2動作モードに対応しています。これは、
が理由です。
省電力動作モードには、多くの制約条件があります。言い換えると「動作するアプリや環境を想定した動作モード」とも言えます。この省電力動作モードの注意点をまとめます。
実は、前述のLPC1114進化のように、マイコンそのものを初めから低消費電力版へ変えることが一番簡単で確実だったりします(裏ワザ?)。
テンプレートとしても新しい省電力動作モードへの対応が必要です。以下の方針で開発予定です。
シンプル/メニュードリブンテンプレートに続く第3のテンプレート:省電力テンプレート(仮称)とは、
「通常時は現行テンプレートと同様MAIN RUNとHALT(SLEEP)で処理を行い、一定時間入力が無い場合は、STOPまたはSNOOZEになり、何らかの外部入力で通常動作へ戻る」
などでしょうか?
方針提案に対する、ご意見、ご希望など何なりとお気軽に、info@happytech.jpへお寄せください。参考にさせていただきます。
弊社ブログ記載のARM無償提供mbed OSのリリーススケジュールが、“ARM 「mbed OS」とは何か?その詳細と動向”記事にあります。本年2015年10月15日以降には、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テンプレートも同様です。
これらのページにより、より具体的にテンプレート使用方法がお判り頂けると思います。
テンプレートご購入者様、ご検討中の方にとって一番知りたいことは、「テンプレートが簡単に使えるかどうか」です。追加したページが、このご参考になることを期待しております。
IoT向けPCならマイコン技術者でなくても、誰でもIoTアプリが簡単に開発できる記事を見つけましたので紹介します。
IoT向けPCは、EdisonとRaspberry Pi 2を紹介済みです。両者ともGPIO×40を持ち、見た目はマイコン評価ボードのようですが、元々PCですのでEther接続は得意です。PCボード価格も5000円以下で、高性能マイコンの評価ボードと同程度です。
簡単に記事を説明すると、EdisonのGPIOに温度センサを接続し、MRAAというライブラリとNode-REDというGUIツールを使って周囲温度をスキャンし、計測値をネットへツイートします。GPIOアクセスやGUIツールの使い方が主体の記事です。これは、OSが必須のPCでは、GPIOへの直接アクセスはできないのが一般的だからです。マイコンとは、ココが違います。
同じことをマイコンでするなら、温度センサ接続やGPIO制御などは簡単ですが、Ether接続、ましてはツイッターへの送信などは、規定プロトコルをマイコンへポーティングするだけで大変です。
マイコンは、センサ制御や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マイコンが2月に発売されました。方針転換後に厳選した新製品と思われるので、その情報から最新マイコントレンドを考えました。
「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代替処理にも対応できるものです。
2010年発売の汎用マイコンRL78/G13やG14との違いから明らかなように、最新マイコンRL78/I1Dは、オペアンプ内蔵や高速オンチップオシレータ上限が24MHz、48ピンまでの小パッケージサイズなどから、センサアプリに特化したマイコンです。
RL78/G14の高速オンチップオシレータの実質周波数上限は32MHzなので、I1DのS3コア性能は多少劣りますが、低消費電力とより低電圧での動作など、そのトレンドは、「省エネ」追求です。
IoTでは、このRL78/I1Dのような省エネマイコンが数百億個使われと予想され、価格は、使用個数に応じて激減しますので、RL78/I1DもG13やG14と同程度、またはより低価格になるかもしれません。このように、IoTアプリケーション向けの周辺回路を持つ省エネマイコンでのシェア獲得がルネサスの狙いでしょう。汎用マイコンの機能を、IoTに会わせて見直した結果とも考えられます。
RL78/G1xテンプレートは、このRL78/I1Dへそのまま流用できるハズです。DTCやADCなどの周辺回路制御は、機種毎に異なりますが、テンプレート本体は、マイコンやベンダが異なっても基本的に同一だからです。
※RL78の場合は、ショート・ダイレクト・アドレッシングsreg領域を使ってARMマイコンテンプレートと比べて、少しチューニングしています。
RL78/I1DのCPUボード:RTE5117GC0TGB00000Rでテンプレートを試そうとしましたが、2015年2月現在、個人向け販売サイトには残念ながら見つかりません。入手可能になれば試す予定です。RL78/I1DがIoT汎用マイコンになる可能性が高いからです。
従来テンプレートは、シンプルテンプレート(テンプレート動作理解が目的)と、メニュードリブンテンプレート(所望処理の簡単な取出しが目的)の2本立てでした。
マイコンドレンドが「省エネ」で、DTCやDMAを使った「マイコン内データ転送も、汎用化」しつつあるので、これらに合わせたアプリテンプレート:IoTテンプレート(仮称)も今後検討したいと思います。
新発売のシングルボードコンピュータRaspberry Pi 2(Model B)にWindows10が無償提供されます。
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からスマホ、マイコンまで、全てのプロセサ事情が網羅され、まとめられた記事です。マイコン開発の技術者は、必読です。
8ビット、16ビット、32ビットと変わってきたマイコンの歴史や、位置づけ、現状入手可能なマイコン開発で押さえておくべき特徴などが解りやすく解説されています。この第4回に自分が担当するマイコン記載がない場合には、第2回のARM Cortex記事にくわしく解説されています。
ベンダによるCortex特徴記事は、他社と差別化点のみを強調する傾向があります。Cortexの変遷や特徴などを、ベンダを跨いで解説したARMコア特集の第2回記事を読めば、よりARMコアの理解が深まります。
マイコンの機種選定は、難しいものです。現在の価格、入手性は簡単に評価できますが、一旦開発すると納入先での長い運用が始まり、将来の拡張性や動向などを考慮することは、不可能な気もします。しかし、本記事記載の過去の経緯や変遷から、ご自分が開発したマイコンとその開発技術が、将来どうなるか、そして何が本質的に重要な要素かを考えてみるのも良いと思います。
私は、この記事から多くのヒントを得ました。その中の1つを示し、今後のマイコン開発に役立てたいと思います。
第1回より:IoTやセンサーにはMCUが必須で、切っても切れない関係にある。理由はコストと効率性である。MPUは「何でもできる」が「何をさせるのにも適している」わけではない。用途によってはMCU:マイコンを外付けにして、ここに作業をオフロードした方が賢明というケースは少なくない。
1月6日の記事でマイコン評価ボードを、CPUボードと制御系ボードの2種に分類し、周辺回路が実装済みの制御系ボードをお勧めしました。しかし、初期投資を抑え、所望の周辺回路のみを追加できるCPUボードも捨てがたい選択肢です。
RL78/G1xテンプレートは、これらCPUボードへも対応済みです。今回は、このルネサスCPUボードを購入する際に役立つサイトを紹介します。
RL78ファミリ14種、V850ファミリ12種、78Kファミリ17種のルネサスCPUボードは、内藤電誠のサイトから個人でも購入可能です。テンプレート動作のRL78/G13のQB-R5F100LE-TBとRL78/G14のQB-R5F104LE-TBも、ここから購入しました。
人気のCPUボードは品薄ですが、納期などのメール問合せなどにも、とても親切に対応してくれます。
もちろん、有名なマルツオンラインなどでも購入できます。
※ルネサスは、RSK:ルネサス スタータ キット、CPUボードの他に、RSSK:ルネサス ソリューション スタータ キットの開発販売を開始しましたが、個人購入には結構ムリな高値ですね!。
マイコンのCPU周りのアートワークは、クロック線や、パスコン位置、エミュレータとの配線、GND/VDDのベタ作成など多くの注意点があります。これらをおろそかにすると、ハード、ソフト両方に重大なトラブルを招きます。販売CPUボードは、2層なのでこれらの実務ノウハウの参考にも役立ちます。