より効率的なスマートデバイスの構築:第3部 – プロセッサの性能

Digi-Keyの北米担当編集者 の提供

編集者メモ:この3部構成シリーズでは、より効率的なスマートデバイスの構築について説明します。第1部では、電力と性能のバランスを保つための低電力設計技術について説明します。第2部では、透過型ユーザーセキュリティの課題への対処について取り上げます。第3部(本記事)では、設計目標を達成するために求められるMCUの仕様を確認します。

ユーザーはスマートデバイスが高度な性能とセキュリティを備え、しかもバッテリ寿命が長持ちすることを期待しています。こうした期待に応える支援をするため、開発者は今、直接的な機能要件に対応するための十分な低電力性能とメモリを提供するだけでなく、機能強化とバグ修正のための安全な更新をも可能にするMCUを使えるようになっています。

ウェアラブル、IoTデバイス、その他のスマートなポータブル製品の中核を成すMCUによって、これらの製品は、ますます高度化するソフトウェアアプリケーションを小さいフォームファクタで実行し、かつバッテリの流失を最小化する、高性能と低電力との適正な組み合わせを実現することが必須となっています。セキュリティの保証とともに、長い動作時間と使いやすさは、ユーザーエクスペリエンスにとって重要です。

この記事では、十分に信頼できる市販のMaxim IntegratedのMCUを使用して、こうした要件に対応する方法を示します。

優れたユーザーエクスペリエンスの定義

多くの面で、ユーザー要件は、過去に開発者が対応に努めてきた要件と、基本的にはさほど違っていません。それでも、設計者は、新たに出現したスマート製品のための受容可能なソリューションにおいて、重大な違いに直面しています。ユーザーは、コンパクトで軽量で、快適に身に着けることができ、家庭や職場でじゃまにならないような製品をさらに期待しています。ユーザーは、必要以上に注意しなくともよく、使用、再充電、更新に面倒な操作がいらない、それでいてセキュアなスマート製品をこそ受け入れるようになっています。

操作の容易さとともに、ユーザーはスマート製品が、「スタイル」も含め、同様の機能を提供していた従来の製品とほぼ同じサイズと外観を保つことを期待しています。たとえばユーザーは、手首についている変な見た目のデバイスよりは、ブレスレットや腕時計によく似ているフィットネスウェアラブルを受容するようになると思われます。

もちろん、使いやすさとスタイルについての試験をパスした製品でも、ユーザーに十分な価値を提供できなければ失格です。有用な情報を届けられないスタイリッシュなリストウェアラブルは、ただの高価なリストバンドにすぎません。テクノロジとスタイルがマッチするには、ある程度のレベルの目に見えないインテリジェンスが必要なのです。

こうした目に見えないインテリジェンスを実装するには、開発者は、快適な操作、親しみのある外観などの高いレベルの特性、それに、アプリケーションに適した明確な要件につながる高い価値の情報に適応する必要があります。

拡張された要件

設計者にとって、簡単な操作に対するユーザーの期待に応えることは、スマート製品上で実行しているより洗練されたアプリケーションソフトウェアからの結果を素早く届けるために十分な性能を提供するということを意味しています。これらの機能要件は、次に、増え続ける数のセンサモダリティからのより有用な情報を抽出しながらそのソフトウェアを実行することのできるプロセッサの必要性につながります。

この情報を得る際、これらのデバイスは、アプリケーションの性能を低下させることなく保護を提供する強力なセキュリティのメカニズムを必要とする特権情報へのアクセスを取得します。

こうした直接的なニーズにさらに加えて、スマートデバイスは、ユーザーに負荷をかけることなく見えないところで実行されるソフトウェア更新に伴う新たなタイプの攻撃に対処する必要があります。それと同時に、設計者は、かさばるバッテリや頻繁な再充電サイクルのような形でユーザーに負荷を強いることなくバッテリの寿命を延ばすための有効な節電機能を組み込む必要があります。

使いやすさを確保するために必要なこうした異なる要件は、単独でも課題となりますが、スマート製品の美学に対するユーザーの期待に応える必要性により、さらに制限を受けます。かさばるバッテリ、大きすぎる設計のフットプリント、扱いづらいユーザーインターフェースは、ユーザーが製品を使ってみようとする以前の段階でユーザーの興味を失わせる可能性があります。

設計にインテリジェンスを組み込むには、開発者は形と機能の両極のバランスを見つける必要があります。このバランスを実現する際に、開発者は、高性能と低電力、幅広い機能とフットプリント、柔軟性とセキュリティといった昔ながらの対立関係を解決することのできるオプションに着目して、ソリューションの選択肢をさらに選出する必要があります。

もう一つの要因はコストです。IoTと、ウェアラブルやスマート製品の急速な進化は、開発者が、将来の要件とソフトウェアの更新をサポートしなければならないということを意味しています。将来の機能拡張を計画する際に、開発者は、初期の設計に余分の馬力とストレージを追加するために必要となるであろうデバイスの増分のコストのバランスを考慮しなければなりません。

開発者にとっては、こうした広範な要件全体へのソリューションを見つける最善の機会は、組み込みのスマート製品設計の中心となるMCUにあります。8ビットや16ビットのMCUが依然として広く使用されていますが、ユーザーの期待が上がるにつれ、スマート製品はより高い性能と機能を提供する必要があります。結果として、32ビットのMCUも、スマート製品のシステム設計によく使われるようになりました。たとえば、8ビットや16ビットのMCUと比較すると、32ビットのMCUは、32ビットの加算のような基礎的な演算を、従来のMCUに対して、より少ない命令サイクルで完了することができます(リスト1)。

コピーする
    anl PSW, #0E7H   ;Register Bank 0
    mov a, r0        ;load X low byte into acc 
    add a, r4        ;add Y low byte
    mov r0, a        ;save result
    mov a, rl        ;load X next byte into acc 
    addc a, r5       ;add Y next byte with carry 
    mov rl, a        ;save result
    mov a, r2        ;load X next byte into acc 
    addc a, r6       ;add Y next byte
    mov r2, a        ;save result
    mov a, r3        ;load X high byte into acc
    addc a, r7       ;add Y high byte with carry
    mov r3, a
    mov C, OV
    ret
(A)
 
    mov a, r0
    add rl 
    mov r0, a 
    ret
(B)

リスト1:32ビットの加算を行うのに、同じ演算に対して、8ビットのMCUは、32ビットのサイクル数(B)よりも明らかに多い命令サイクル(A)を必要とします。(コード提供:Maxim Integrated)

高性能の32ビットMCUの必要性は、設計者が、センサフュージョンアルゴリズムで複数のセンサデータストリームを結合するようなときに、さらに重要性を増します。他のアプリケーションの中で、センサフュージョンアルゴリズムは、ユーザーがウェアラブルやモバイル製品に対してさらに期待するようになっている、正確な向きと屋内での位置情報を生成するために用いられます。この環境で、Maxim IntegratedDarwin MCUファミリのような先進のMCUは、目に見えないインテリジェンスをもたらすためには不可欠になっています。

目に見えないインテリジェンスの提供

Darwin MCUは、新たに出現したスマート製品の要件をサポートすることに特化して設計されました。低電力動作と包括的な統合された能力のセットとが組み合わされたこのファミリには、MAX32620MAX32625MAX32630があります。

浮動小数点ユニット(FPU)付きの32ビットのArm® Cortex®-M4をベースとして、Darwin MCUは、低電力度作動の包括的なサポートと、周辺機器の管理、電力監視、暗号化のために特化したブロックとを組み合わせています(図1)。MAX32631のようなセキュアなバージョンでは、スマート製品と外部ホストとの間のあらゆるやり取りにおいて、機密性、 完全性、信頼性をサポートすることができる、統合されたトラストプロテクションユニット(TPU)を通じて、セキュリティのサポートを拡張しています。

Maxim MAX32630 Darwin MCUの図

図1:MAX32630とそのセキュアなバージョンであるMAX32631などのDarwin MCUは、32ビット処理性能と、周辺機器、インターフェース、および、MAX32631で重要なセキュリティメカニズムをサポートするトラストプロテクションユニット(TPU)を含む特化したブロックの包括的なセットを組み合わせています。(画像提供:Maxim Integrated)

開発者は、MCUのアナログとデジタルの周辺機器、およびシリアルインターフェースを活用して、複数のセンサを使用するシステムのハードウェア設計を単純にすることができます。Maxim Integratedはこの単純化された設計について、MAXREFDES100評価キットでデモを行っています。このキットには、Maxim MAX30205人体温センサ、MAX30003 ECGアナログフロントエンド(AFE)、MAX30101パルス酸素濃度計、その他一般的にフィットネスウェアラブルで使用されるであろう複数のセンサの使用を示すボードと参照設計が含まれています。

より複雑なデータをキャプチャするためには柔軟なインターフェースが必要ですが、Darwinの命令セットアーキテクチャにより、これらのMCUは、こうしたデータから情報を抽出するために、以前にも増して必要となっている複雑なアルゴリズムを迅速に実行することができます。命令セットには16ビット命令と32ビット命令が混在しており、バイトあたりの命令をより多く処理できる32ビットアーキテクチャの能力を保持しながら、アプリケーションソフトウェアのフットプリントを削減します。統合されたFPUとともに、Darwin CPUアーキテクチャには高速のハードウェア積和演算(MAC)、単一命令複数データ(SIMD)並列処理機能が含まれており、デジタル信号処理機能を提供しています。

この浮動小数点とDSP命令の組み合わせにより、Darwin MCUは、次世代の製品にインテリジェンスを組み込むのに必要な、データ集約型のアルゴリズムをより高速に実行できます。それと同時に、MCUにはアルゴリズムとその他のアプリケーションコードを格納するのに十分な大きさのオンチップメモリが、リアルタイムカーネル、通信スタック、セキュリティプロトコルスタックを含むシステムレベルソフトウェアの増大する補完物とともに統合されています。Darwin MCUファミリのメンバの中から、開発者はアプリケーションに最適なフラッシュとSRAMの組み合わせを見つけることができます。MAX32630/MAX32631 MCUは2メガバイトのフラッシュと512キロバイトのSRAMを、MAX32620は2メガバイトのフラッシュと256キロバイトのSRAMを、MAX32625は512キロバイトのフラッシュと160キロバイトのSRAMを提供します。これらのメモリでの作業を簡単にするため、Darwin MCUはさまざまなメモリのタイプとメモリにマッピングされたレジスタを単一のアドレス空間で統合する、一貫したメモリマップをサポートしています(図2)。

単一アドレス空間を使用するDarwin MCUの図

図2:Darwin MCUはさまざまなメモリタイプとメモリにマッピングされた機能ブロック用のレジスタを含む単一のアドレス空間を使用します。(画像提供:Maxim Integrated)

開発者は、非常に大きいコードセットやシステムライブラリをサポートするために使用できるフラッシュをさらに拡張することができます。Darwin MCUはXIP(execute-in-place)操作をサポートします。これは、CPUが外部フラッシュから直接コードを実行できるようにするものです。Maxim IntegratedはこのアプローチをMAXREFDES100参照設計でデモンストレーションしています。これには32メガバイトのCypress Semiconductor S25FS256SAGNFI001フラッシュデバイスが含まれています。

大きなメモリと処理性能をもちながら、Darwin MCUはそれでも開発者の低電力消費のニーズに応えます。MAX32630/MAX32631 MCUは、ここで挙げている中で最大の統合されたメモリをサポートしており、512キロバイトのSRAMをわずか3.4マイクロワット(µW)で保持します。完全なアクティブモードでも、130µW/MHzしか消費しません。また、これらは2つの間の中間点も提供します。これは、統合された周辺機器管理ユニット(PMU)を使用して、CPUコアが非常に低電力のスリープ状態にあっても周辺機器の動作を可能とする特殊なモードで、30µW/MHzを消費します。

プロセッサがスリープ状態にあっても周辺機器を駆動できるDarwin MCUの能力により、開発者は、CPUがアクティブモードにとどまる必要のある時間を制限することで電力を削減できます。センサを定期的にポーリングして結果をホストに送信するのに完全にアクティブなCPUを使用するのではなく、開発者はDarwin MCU命令のWait for Interrupt、Wait for Event、Sleep on Exitを使用して、アクティブなデューティサイクルを最小にし、全体としてのシステム電力を削減できます(図3)。

CPUが低電力スリープ状態にある時間を最大化することでシステムの電力を大幅に削減する図

図3:ウェアラブルやその他のセンサシステムで、開発者は、CPUが低電力スリープ状態にある時間を最大化し、センサデータを取得して結果をホストに送信するのに十分な時間だけ起動するようにすることで、システムの電力を大幅に削減できます。(画像提供:Maxim Integrated)

5µsの起動時間によって、これらのMCUは、低速のMCUがスリープからアクティブモードへ移行する際に毎回浪費される電力量を削減します。SRAM保持のスリープ状態との組み合わせにより、これらのデバイスは、長い遅延も、外部の不揮発性メモリを使用した状態の保存と復元で浪費される電力もなしに、迅速に処理を再開できます。結果として、エンジニアは非常に効率のよい、電力を意識したアプリケーションを開発できます。

こうしたアプリケーションの開発をサポートするため、MaximはMAX326XXファームウェアソフトウェア開発(SDK)を提供します。これには、周辺機器ドライバ、ボードサポートドライバ、サンプルアプリケーションが含まれています(図4)。

Maxim統合MAX326XXファームウェアソフトウェア開発(SDK)の図

図4:Maxim統合MAX326XXファームウェアソフトウェア開発(SDK)は、アプリケーションソフトウェア開発者を、Arm Cortex Microcontroller Software Interface Standard(CMSIS)API上で構築されたSDKの周辺機器ドライバとボードドライバの使用法を示すサンプルアプリケーションでサポートします。(画像提供:Maxim Integrated)

MAX326XXファームウェアSDKの周辺機器およびボードライブラリは、Arm Cortex Microcontroller Software Interface Standard(CMSIS)API上で構築されます。次に、アプリケーションソフトウェアは一般的に周辺機器およびボードライブラリとのやり取りを行いますが、必要に応じて、CMSISと直接やり取りしてその基になっているハードウェアに到達できます。

結論

ユーザーは、ウェアラブル、IoTデバイス、その他のスマートデバイスが、操作しやすく、快適にフィットし、大きな価値をもたらすシステムで洗練されたアプリケーションを提供してくれることを期待しています。こうした需要に応えるため、開発者は幅広い機能、高い性能の処理、低電力動作を合わせもつMCUを必要としています。

こうした要件への対応に特化して設計されたMaxim IntegratedのDarwinファミリのMCUにより、開発者は、スマート製品へのユーザーの期待に応えるために必要な、目に見えないインテリジェンスを備えたデバイスを、より簡単に構築することができます。

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

出版者について

Digi-Keyの北米担当編集者