福田昭のセミコン業界最前線

WindowsとAndroidの次を狙う、ルネサスの「Synergy」

 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を搭載した機器に特化

「Renesas Synergy Platform」の開発を主導してきた米国ルネサスのPeter Carbone氏。Internet of Thingsビジネスユニット担当バイスプレジデントを務める

 ただし今のところ「Synergyプラットフォーム」は、IoT/組み込み機器の全領域をカバーする枠組みとはなっていない。もう少し具体的に説明すると「Synergyプラットフォーム」がカバーするのは、リアルタイムOSを載せた32bitシステムである。

 「Synergyプラットフォーム」で実現するIoT/組み込み機器の適用範囲は、いくつかの分野に焦点を合わせている。同プラットフォームの開発を主導してきたPeter Carbone氏(Renesas Electronics AmericaでInternet of Thingsビジネスユニット担当バイスプレジデントを務める)によると、ファクトリオートメーション、ビルディングオートメーション、ホームアプライアンス、エネルギー(スマートメーター)が当面の注力分野となる。

IoT/組み込み機器の分類と「Renesas Synergy Platform」がカバーする領域。なお、自動車分野は対象としていない。自動車用プラットフォームをルネサスでは「Renesas Synergy Platform」とは別に、開発中である
Synergyプラットフォームが想定する応用分野。Peter Carbone氏へのインタビューから筆者が作成

限界にきた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プラットフォーム」の内部構成。動作検証済みミドルウェア群とリアルタイムOS、動作検証済みのアドオンソフトウェアなどで構成する「Synergy SoftWare」、32bitマイコン「Synergy Microcontrollers」、開発環境「Synergy Tools & Kits」、製品サンプル「Synergy Solutions」、クラウドベースのダウンロードサービス「Synergy Gallery」の5つの要素で構成される
IoT/組み込み機器の開発手順の比較(概略)。左は従来の開発手順、右は「Synergyプラットフォーム」を活用した開発手順。ルネサスの資料を元に、筆者が作成したもの
IoT/組み込み機器の開発期間の比較。上は従来の手順による開発期間。ハードウェア設計、ドライバ設計、ミドルウェア設計などによって開発期間が長期化していることが分かる。下はプラットフォームベースの開発期間。アプリケーションの開発に着手するまでの期間が大幅に短縮されている

プラットフォーム化によって開発のパラダイムが変化

 「Synergyプラットフォーム」に代表される開発のプラットフォーム化は、開発のパラダイムを根本的に変化させる可能性を秘めている。ルネサスはサーモスタットの開発を例に、そのことを示した。

 従来の開発手法では、要求仕様に基いてプロセッサを選択し、プロセッサ周辺のハードウェアを設計する。それからソフトウェア部品(ファームウェア)を選択し、組み合わせてテストする。テストが完了したら、アプリケーションソフトウェアのプログラミングにとりかかる。そして最終テストを経て、製品が完成する。

従来の開発手順(サーモスタットの例)

 これに対してプラットフォームを活用した開発では、始めにユーザーがサーモスタットをどのように利用するかを検討する。検討結果に基づき、「Synergyプラットフォーム」から製品のサンプルを取り出す。利用方法の検討結果からは例えば、ヒューマンマシンインターフェイス(HMI)とコネクティビティが重要だと分かったとしよう。関連するプロトコルやミドルウェアなどはプラットフォームに用意されている。そこで、重要部分に関するアプリケーションソフトウェアのプログラミングにとりかかる。この結果、ユーザーがサーモスタットを利用するシーンをあらかじめ想定することによる、使いやすさや楽しさなどを優先した製品の開発が容易になる。

ユーザーによる使用方法とプラットフォームをベースとした開発手順(サーモスタットの例)

無償のダウンロードサービスから「Synergy」を使い始める

 「Synergyプラットフォーム」を利用するためには最初に、クラウドベースのダウンロードサービス「Synergy Gallery」でアカウント(無償)を作成しなければならない。アカウントを作成してから以降は、ソフトウェア部品や開発ツールなどを検索し、無償でダウンロード可能になる。

クラウドベースのダウンロードサービス「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/組み込み機器開発企業の要望が強かったからだとする。

「Synergy Microcontrollers」を構成するマイコンのシリーズ。ローエンドの「S1」シリーズからハイエンドの「S7」シリーズまで、4つのシリーズを用意する

 今、マイコンベンダー各社はIoTに向けたさまざまなソリューションを相次いで開発し、IoT/組み込み機器の開発企業に提供しつつある。IoT向けのソリューションの多くは、特定の用途を想定したものだ。マイコンベンダーは基本的には販売数量の増大を目指すので、販売数量が多めの特定用途を意識したソリューションに傾きがちになる。

 「Synergyプラットフォーム」は、一定の範囲ではあるものの、汎用を目指している。特定用途向けソリューションとは、逆行する動きと言える。当然ながら、多くのマイコンベンダーが提供する特定用途向けソリューションが、IoT/組み込みの世界でカバーできる領域はわずかにとどまってしまう。マイコンの購入数量が少ない顧客(IoT/組み込み機器開発企業)は、置いてきぼりだ。そこをSynergyプラットフォームはすくい取ろうとする。

 「Synergyプラットフォーム」が、IoTの世界でWindowsやAndroidのような存在になれるかどうか。Synergyプラットフォームを導入した開発企業が、スマートフォンに近い規模で普及するコンピューティングデバイスを生み出せれば、「Synergy」は「Android」に近い言葉になるだろう。少なくともその第一歩を、「Synergy」というプラットフォームは歩み出している。

(福田 昭)