福田昭のセミコン業界最前線
WindowsとAndroidの次を狙う、ルネサスの「Synergy」
(2015/10/22 12:17)
IoT(Internet of Things)/組み込み機器向けの開発プラットフォーム「Renesas Synergy Platform」の内容を、大手マイコンベンダーのルネサス エレクトロニクスが米国で開催した開発者向け会議「Renesas DevCon 2015」(2015年10月12日~15日、米国カリフォルニア州オレンジカウンティ)で公表した。
「Renesas Synergy Platform」が米国の開発者向けイベントで発表されたのには理由がある。「Renesas Synergy Platform」(以下は「Synergyプラットフォーム」と呼称)は、ルネサスの米国法人Renesas Electronics Americaが考案し、開発したプラットフォームだからだ。「Synergyプラットフォーム」は当然ながら日本を含めた全世界で販売を予定しているが、当初の注力地域は米国市場になる模様だ。
IoT/組み込みの開発スタイルをPC/スマートフォンに似せる
「Synergyプラットフォーム」はIoT/組み込み機器が必要とする、アプリケーションソフトウェアを除くほとんどの構成要素をあらかじめ備えている。IoT/組み込み機器が必要とする主なハードウェアとソフトウェアの両方を用意してある。IoT/組み込み機器の開発エンジニアは「Synergyプラットフォーム」を導入すると、開発作業をアプリケーションソフトウェアのプログラミングから始められるのだ。言い換えると従来の開発手順ではアプリケーション開発の手前に存在していた複雑かつ面倒な作業の大半を、「Synergyプラットフォーム」の導入によって省けるようになる。
「Synergyプラットフォーム」を利用した開発スタイルは、PCやスマートフォンなどと似ている。PCやスマートフォンなどでアプリケーションソフトウェアを開発するように、IoT/組み込み機器でもアプリケーションソフトウェアを開発できるようになる。言い換えるとPCにおけるWindowsプラットフォーム、スマートフォン/タブレットにおけるAndroidプラットフォームが業界標準であるのに対し、IoT/組み込み機器における標準プラットフォームの地位を目指す候補が「Synergyプラットフォーム」だとも言える。
リアルタイムOSを搭載した機器に特化
ただし今のところ「Synergyプラットフォーム」は、IoT/組み込み機器の全領域をカバーする枠組みとはなっていない。もう少し具体的に説明すると「Synergyプラットフォーム」がカバーするのは、リアルタイムOSを載せた32bitシステムである。
「Synergyプラットフォーム」で実現するIoT/組み込み機器の適用範囲は、いくつかの分野に焦点を合わせている。同プラットフォームの開発を主導してきたPeter Carbone氏(Renesas Electronics AmericaでInternet of Thingsビジネスユニット担当バイスプレジデントを務める)によると、ファクトリオートメーション、ビルディングオートメーション、ホームアプライアンス、エネルギー(スマートメーター)が当面の注力分野となる。
限界にきたIoT/組み込み機器の開発手法
組み込み機器の開発手法は元来、プラットフォーム化とは相容れない。なぜならば、生産方式の基本が「多品種少量生産」であるからだ。たった1個のシステムのために、設計と開発を実施し、システムを組み上げることが珍しくない。従って最適なシステムを実現するためには、ハードウェアの仕様とソフトウェアの仕様を独自に決定し、仕様書にしたがって設計を実施することが求められる。つまりカスタム設計である。
これに対してプラットフォーム化とは、ソフトウェア仕様とハードウェア仕様を固定化することである。もちろん設計仕様に柔軟性は持たせるものの、カスタム設計に比べると自由度は格段に低い。それでもプラットフォーム化が必要なのは、なぜだろうか。
それは最新の組み込み機器では、設計と開発の工程が過去に比べるとはるかに複雑かつ煩雑なものになってしまったからだ。過去の組み込み機器、特に16bit/8bitマイコンの組み込み機器が主流だった時代は、設計作業は比較的簡素だった。ハードウェア設計とソフトウェア設計のバランスでみると設計の比重はハードウェア設計が大きく、ソフトウェア開発が設計工程に占める割合は小さかった。その象徴がOSである。16bitマイコンの組み込み機器までは、OSを必要としないことが多かった。DOSベースの開発は一部で導入されていたものの、主流ではなかった。
事情が大きく変化したのは、32bitマイコンが登場し、組み込み機器のネットワーク接続が普及し始めて以降だ。高性能で安価な32bitマイコンは、ソフトウェアで実行可能な領域を大きく広げた。設計バランスに占めるハードウェア設計の割合が減少し、ソフトウェア設計の割合が高まった。ソフトウェアは設計の柔軟性が高い。いろいろな機能を、ソフトウェアで簡単に実装できるようになった。
ネットワーク接続の普及は、通信プロトコルソフトウェアの実装を標準的なものとした。組み込み機器にも通信プロトコルは従来から存在していたが、有線接続を基本とするパラレルバスが多く、計測機器やFA(Factory Automation)機器などの一部の組み込み機器が装備するに留まっていた。ところがインターネットの登場と無線通信技術の普及は、組み込み機器の無線通信機能とインターネット接続機能を標準仕様としつつあり、また一方で、無線通信機能とインターネット接続機能を前提とした新しい組み込み機器「IoT」を生み出した。
最新のIoT/組み込み機器は、制御機能と無線通信機能、インターネット接続機能を標準的に装備する。そしてグラフィカルなユーザーインターフェイスや画像処理機能、音声処理機能、セキュリティ機能などを備えていることが少なくない。
これらの半ば標準的な機能を実現するソフトウェア部品を調達し、単体で動作を確認し、さらにはハードウェアに組み込んで全体の動作を検証する作業は、エンジニアにとって多大な手間を要する「お荷物」となってきた。その結果が、開発スケジュールの「遅延」の頻発である。ルネサスのCarbone氏によると、IoT/組み込み機器開発プロジェクトの50%が、スケジュールの遅延に直面しているという。
動作検証済みソフトウェア群をライセンス不要で提供
製品ブランドが極めて強力な企業や製品の販売数量規模が非常に大きな企業などは比較的、これらの問題に対処しやすい。ブランド力の強い企業は、設計/開発を外部に委託するという手法が使える。販売数量規模が大きな企業は、数量の多さによって製品1個当たりの設計/開発コストを吸収できる。すなわち、数多くのエンジニアを雇える。
しかしIoT/組み込み機器を設計/開発する企業の大半は、製品ブランド力が極端に強いわけではなく、また、販売数量がものすごく多くもない。これら数多くのIoT/組み込み機器開発企業のために、「Synergyプラットフォーム」は存在する。
「Synergyプラットフォーム」を構成するのは、32bitマイコンとリアルタイムOS、ミドルウェア群、標準C言語のAPI(Application Programming Interface)、開発ツール、クラウドベースのダウンロードサービスなどである。特筆すべきは、リアルタイムOSやミドルウェア群などのソフトウェア部品はマイコンでの動作確認が済んでおり、ルネサスが動作を保証することと、ソフトウェアすべてのライセンスが不要(ルネサスがライセンスを代行)であることだろう。極端に言えば、「Synergyプラットフォーム」のソフトウェアと開発ツールをWebブラウザ経由でダウンロードすれば、すぐにC言語ベースでアプリケーションソフトウェアの開発に取り掛かれる。
プラットフォーム化によって開発のパラダイムが変化
「Synergyプラットフォーム」に代表される開発のプラットフォーム化は、開発のパラダイムを根本的に変化させる可能性を秘めている。ルネサスはサーモスタットの開発を例に、そのことを示した。
従来の開発手法では、要求仕様に基いてプロセッサを選択し、プロセッサ周辺のハードウェアを設計する。それからソフトウェア部品(ファームウェア)を選択し、組み合わせてテストする。テストが完了したら、アプリケーションソフトウェアのプログラミングにとりかかる。そして最終テストを経て、製品が完成する。
これに対してプラットフォームを活用した開発では、始めにユーザーがサーモスタットをどのように利用するかを検討する。検討結果に基づき、「Synergyプラットフォーム」から製品のサンプルを取り出す。利用方法の検討結果からは例えば、ヒューマンマシンインターフェイス(HMI)とコネクティビティが重要だと分かったとしよう。関連するプロトコルやミドルウェアなどはプラットフォームに用意されている。そこで、重要部分に関するアプリケーションソフトウェアのプログラミングにとりかかる。この結果、ユーザーがサーモスタットを利用するシーンをあらかじめ想定することによる、使いやすさや楽しさなどを優先した製品の開発が容易になる。
無償のダウンロードサービスから「Synergy」を使い始める
「Synergyプラットフォーム」を利用するためには最初に、クラウドベースのダウンロードサービス「Synergy Gallery」でアカウント(無償)を作成しなければならない。アカウントを作成してから以降は、ソフトウェア部品や開発ツールなどを検索し、無償でダウンロード可能になる。
マイコンは「Synergyプラットフォーム」の一部として存在
「Synergyプラットフォーム」では、マイコン「Synergy Microcontrollers」はプラットフォームの一部として存在する。言い換えると、単体のマイコン製品としては存在しない。つまり、マイコンだけでは販売しない。
「Synergy Microcontrollers」に選択したCPUアーキテクチャは、ARM Cortex-M0+コアと、ARM Cortex-M4コアである。そして4つのシリーズが用意される。シリーズ名は、ローエンド側から「S1」、「S3」、「S5」、「S7」と名付けられている。「S1」シリーズのCPUコアはM0+、そのほかのシリーズのCPUコアはM4である。ARMコアを選んだのは、IoT/組み込み機器開発企業の要望が強かったからだとする。
今、マイコンベンダー各社はIoTに向けたさまざまなソリューションを相次いで開発し、IoT/組み込み機器の開発企業に提供しつつある。IoT向けのソリューションの多くは、特定の用途を想定したものだ。マイコンベンダーは基本的には販売数量の増大を目指すので、販売数量が多めの特定用途を意識したソリューションに傾きがちになる。
「Synergyプラットフォーム」は、一定の範囲ではあるものの、汎用を目指している。特定用途向けソリューションとは、逆行する動きと言える。当然ながら、多くのマイコンベンダーが提供する特定用途向けソリューションが、IoT/組み込みの世界でカバーできる領域はわずかにとどまってしまう。マイコンの購入数量が少ない顧客(IoT/組み込み機器開発企業)は、置いてきぼりだ。そこをSynergyプラットフォームはすくい取ろうとする。
「Synergyプラットフォーム」が、IoTの世界でWindowsやAndroidのような存在になれるかどうか。Synergyプラットフォームを導入した開発企業が、スマートフォンに近い規模で普及するコンピューティングデバイスを生み出せれば、「Synergy」は「Android」に近い言葉になるだろう。少なくともその第一歩を、「Synergy」というプラットフォームは歩み出している。