IoT機器の開発容易化と高付加価値化を提供 - ルネサス、新MCU「Synergyシリーズ」を用いた開発プラットフォームを発表
ルネサス エレクトロニクスは6月16日、Cortex-Mシリーズを利用した汎用向けMCUのラインナップとして「Renesas Synergyシリーズ」を発表した。このRenesas Synergyの詳細は米国にて10月に開催される「Renesas DevCon America」で発表され、また製品というかプラットフォームそのものは今年12月に発売予定ということで、現段階ではコンセプトと概略の発表に留まっている。この発表に先駆け、同社にて事前説明会が開催されたので、この内容をお届けしたい(Photo01,02)。
さて、そもそもRenesas Synergyシリーズのコンセプトは何か? といえば、「より高レベルなアプリケーションを簡単に構築できるようにすること」、である。概略説明を行った同社の中沢氏はWebカムを例に挙げ(Photo03)、「従来のソリューションというのは、Webカムを作って納入して終わりだったが、今はそのWebカムをクラウドと繋いで、例えば留守中の監視サービスとか、特定の人間がいる場合に合わせて調光などの自動調節といった、より新しいソリューションに移りつつある」とした。そもそもルネサスはIoTに自律という考え方を持ち込んでいるが、ここで同社がターゲットとするのは、従来のルネサスの顧客ではない、より幅広い開発者である(Photo04)。つまり、アプリケーションサービスは慣れているが、MCUは知らないあるいは余り経験がない、というユーザー向けのソリューションが、従来の同社には欠けていた。
このソリューションのキーは、Photo05に示された3つの課題を解決することである、と同社は説明する。
具体的にどう解決するか? というルネサスの解がこちらである(Photo06)。これはつまり、アプリケーションエンジニアはMCUの事を(まるっきりではないにしても、それほど)知らなくても、「X-Wave」のAPIさえ知っていればアプリケーションが記述できることになる。これにあわせてルネサスはRTOSのみならずドライバ類まですべてをまとめて「SSP(Synergy Software Package)」として提供する形だ。さらにToolやKit類もあわせて提供される事になり、開発者から見るとワンストップの形ですべての環境が揃う事になる。●Cortex-Mシリーズを採用した4種類のMCUをラインアップ
具体的に提供されるものがこちら(Photo08)である。先ほどPhoto07で「完全かつ品質認証されたプラットフォーム」とあったが、この品質認証とは何かといえば、機能と性能、テスト条件が明示されるということである。面白いのは、このうちBSPあるいはHALドライバに関しては、ソースコードの形で提供され、必要なら開発者が手を入れることも可能とされている点だ。もちろん手を入れたものに関してはサポート対象とはならないのだが、逆に何か袋小路に陥った場合はそこを元に戻せば再びサポート対象となるわけで、そこから開発をリスタートできる形だ。
さてこのSSPが動作するハードウェアプラットフォームとしては、S1~S7までの4種類のMCUが提供される。利用されるコアは冒頭に述べた通り、Cortex-Mシリーズで、具体的にはCortex-M0+とCortex-M4であるとする(Photo09)。S7はCortex-M7かと思ったが、今のところCortex-M7に関するプランは無いとか。またCortex-M3を採用する予定は無いとの事で、当面はこの2つの組み合わせになるだろう。まだ詳細は発表されていないが、恐らくS1/S3はCortex-M0+、S5/S7がCortex-M4で、S7のみが40nmプロセス(他は130nmプロセス)というあたりではないかと思う。Photo07にあるように、ピン互換とスケーラビリティが確保されるというのも特徴である。
では、先ほどのPhoto05の問題がRenesas Synergyシリーズでどう解決されるか? まずは開発期間の短縮である(Photo10)。これは、単なるBSPのみならずRTOSのポーティングやスタック/ミドルウェアまで提供されているから、システムコードの開発は最小に抑えられる事になる。
同社はこれによって短縮された開発期間を、さらなるイノベーションに振り分けて欲しい、としている。
2つ目がTCOの削減。同社に言えば、いわゆるBOMのような目に見えるコスト以外に、ソフトウェア的な隠れコストが馬鹿になっておらず、これの削減が強く求められていたとする(Photo11)。Renesas Synergyではこの隠れコストに当たる処理をルネサス自身が分担することで、相対的に隠れコストの削減に繋がる、というものだ(Photo12)
最後が開発障壁の削減である。ここで出てくるのが、先ほどPhoto07で出てきたGalleryである。敢えて言えばこれはmbedのDeveloper siteに近いものと考えるのが判りやすい。これはmbed OSの話ではなく、すでに広く使われているプロトタイプボードとしてのmbedの方だが、これを使う場合はまずmbed.orgにmbedボードを登録すると、オンラインのIDE経由でそのボードを使っての開発が可能になる。ここでさまざまなサンプルコード、あるいは他の開発者が作成したプロジェクトなどがImportできるし、コミュニティ経由で質問をすることも出来る。
Galleryは似たような形で、ここでSynergyプロセッサを登録すると、以後はそのプロセッサ用に開発環境やサンプルコードなどを入手できるようになるとする。またさまざまな開発キットが提供され、これで参入障壁を少しでも下げよう、という働きかけである。というか、提供される環境は、mbedのそれを非常に参考にした節がある。
こうなってくると、では既存のMCUのラインアップとの整合性は? ということになる。これに対して葛西氏は「IoTという世界は広いので、例えばギリギリまで消費電力を削りたいといった用途は無くならないし、こうした用途向けには引き続き従来のRX/RLシリーズを提供し続ける」とした上で、端的に言えばMCUが何をベースにしているかなどに拘らない様な用途向けにRenesas Synergyシリーズを提供する、としている。
●実はアメリカ主導で開発されたRenesas Synergyプラットフォーム
この製品分けは非常に面白いと思う。もしRenesas SynergyシリーズがMCUのみで提供された場合、それは既存のCortex-MベースのMCUを提供しているベンダーとの喰い合いになる。それどころか自社のRX/RLシリーズとも間違いなく喰い合いになるだろう。
ところがThreadXとのパッケージで提供することで、Cortex-Mを使いつつも実際は「ThreadXが利用できる汎用プラットフォーム」というポジションで製品を提供することになるからだ。
実はこのRenesas Synergyシリーズの企画は日本ではなくアメリカサイドから出たものらしい。アメリカではThreadXが広範に使われており、実際ルネサスも幾つかの製品でExpress Logicと提携している(例えばコレ)。もちろんThreadXはルネサス専用な訳ではなく多くのMCU(もちろんCortex-Mもそこに含まれる)をサポートしている( http://rtos.com/products/threadx/ の左ペインを参照)から、逆にここで使いやすいMCUパッケージを提供することで、より多くのThreadXを採用する開発者を集めたいという意図であると思われる。また国内に関して言えば、ThreadXそのものがμiTRONとのCompatible Kitを提供しており、これを利用する事でμiTRON採用の開発者を集めたい、という意図もあるようだ。
ただ、では例えばARMの提唱するmbed OSとか、OICやAllSeenなど、IoT向けには多くの標準規格が存在している。こうしたものへの互換性は? と確認したところ、それにあたるのがPhoto08に出てくるAdd-Onだという話だった。Photo08でSSPの脇にグレーで記されているBSPやVerified Software Add-Onがこれにあたる部分で、例えばmbed Deviceの振る舞いをするようなAdd-Onを提供すればmbed Device Serverとかに繋がるし、OIC(になるのかIoTivityになるのかは不明だが)のClientにあたるAdd-Onを用意すればOICに接続できることになる。
これはデバイスも同じで、S1~S7のRenesas SynergyプロセッサそのものにはWireless Connectivityが入る可能性は少ないようで、これは外付けの形で接続することになる。現時点ではどんなサードパーティが何を提供するか、に関してはまだ水面下で色々やっている状況で発表は出来ない(これが発表されるのは10月のRenesas Devconだろう)との話だが、こうしたデバイスはサードパーティがBSPやVerified Software Add-Onを提供する形になるとする。こうした拡張の余地があらかじめ用意されているという話であった。
現状はどちらかというとコンセプトの発表に近いので詳細はまだ未公開(というか未定)であるが、面白い形でのソリューション提供に踏み切ったな、というのが正直な感想である。当面の主戦場はアメリカと思われるが、国内ではどんな形でこれを普及させてゆくのかちょっと楽しみである。