組み込みデバイスの進化:複雑な設計上の課題への対処
組み込みデバイスは、モノのインターネットの前に設計するのが比較的簡単でした。アプライアンス、産業用コントローラー、または環境センサーの設計者は、入力信号をインターフェースし、マイクロコントローラーで処理し、出力制御を提供するだけで済みます。システムはスタンドアロンでした。リバースエンジニアリング以外に、ハッカーがシステムにアクセスするインセンティブはありませんでした。
スマートフォンの導入により、デバイスはスマートでアップグレード可能であり、インターネット経由でアクセスできることが期待されています。セキュリティはオプションではありません。セキュリティを真剣に受け止めないと、データ、ブランドの評判、収益の流れがすべて影響を受けます。また、組み込みシステムはより複雑になり、すべての専門家になることはできません。幸い、既存の標準とスタックライブラリを使用して、プロジェクトをタイムリーで安全な方法で完了することができます。
この記事では、組み込み開発者が今日直面している主要な設計上の課題と、設計者がこれらの課題に対処するのに役立ついくつかの新しいテクノロジーについて概説します。
主要な設計上の課題と市場の期待
- 豊富なユーザーインターフェース
最初のスマートフォンは、高品質のディスプレイとタッチスクリーンを備えたリッチなユーザーインターフェースを導入しました。ハイエンドの組み込みデバイスには、LCDおよびOLEDディスプレイとタッチスクリーンが追加されています。これにより、処理要件が増加し、アプリケーションプロセッサと豊富なオペレーティングシステムの必要性が高まりました。アプリケーションプロセッサを必要としないもののために、技術の進歩により、マイクロコントローラのクロック速度は数十メガヘルツから数百メガヘルツに、メモリサイズは数メガバイトに押し上げられました。これにより、設計者はArmCortex-Mで使用されているような使い慣れたアーキテクチャの恩恵を受け続けることができます。
多くの組み込みシステムは、構成と時折の制御のためにユーザーインターフェイスのみを必要とします。消費者向けおよび産業用IoTデバイスは価格に敏感であり、インターネット接続の恩恵を受けて、Webインターフェイスまたはスマートフォンアプリを介した制御を可能にします。例として、産業用センサーからのデータをリモートで監視して、パフォーマンスとエラーを管理し、潜在的な障害を未然に防ぐことができます。これは、組み込みエンジニアにとって新たな課題です。彼らは今、RF、プロトコルスタック、セキュリティ、リモート管理、ファームウェアアップデートについて知る必要があります。
図1:スマートホームコントロール(出典:Getty Images、ID 908590688、Elena Pejchinova)
- ローカルおよびリモートコントロール
イーサネット、WiFi、Bluetooth、Z-Wave、Zigbee、またはスレッドを介してローカルおよびリモート制御を実装できます。電力消費、複雑さ、およびコストに関しては、それぞれに利点があります。 。一般に、Bluetooth Low Energy、Z-Wave、Zigbeeなどの低電力プロトコルは、バッテリアプリケーションに適したソリューションです。これらには、ドアロック、環境センサー、ワイヤレス警報システムが含まれます。防犯カメラやセンサーゲートウェイなど、より多くの帯域幅を必要とするデバイスは、WiFi経由で接続されます。または、遠隔地にあるデバイスはセルラーを使用します。興味深いオプションは、WiFiとBluetooth LowEnergyを組み合わせることです。次に、Bluetoothを試運転と低遅延のローカルアクセスに使用し、WiFiをインターネット経由のリモートアクセスに使用します。
組み込み設計開発者にとっての課題は、製品に適切なソリューションを選択する方法だけでなく、無線、通信スタック、および電力管理の統合の複雑さです。コストを増やすことなく。
図2:都市のネットワーク(出典:Getty Images、ID 811360940、Dong Wenjie)
- 低電力および低電力
バッテリ駆動のアプリケーションでは、低消費電力が重要です。たとえば、スマート水道メーターは、メーターの寿命(最大20年)の間、単一のバッテリーで機能する必要があります。一方、ドアロックでは、バッテリーは年に1回交換される可能性があり、これには慎重な設計が必要です。省電力に使用される手法の1つは、ユーザーの操作を感知するために非常に短時間オンになる非常に低電力のマイクロコントローラーを設計することです。その後、長時間スリープします。
- デバイスはよりスマートになっています
デザイナーは、スマートな機能を追加することで製品を差別化する方法を探しています。スマート機能は通常、デバイスがユーザー、環境、およびシステムについてより多くを学習し、機能を調整できることを意味します。
機械学習は、学習と適応が可能なアルゴリズムを使用してスマート機能を追加する1つの方法です。今日、私たちは、指紋のロック解除(指紋画像の小さなセットとの照合)やFacebookの自動タグ付け機能など、私たちの周りで機械学習を目にしています。ただし、これは組み込みのコスト制約のあるシステム内のかなり新しいソリューションです。
組み込み向けの機械学習の優れた例は、スマートサーモスタットです。サーモスタットは、ユーザーのライフスタイルに基づいてユーザーの行動を学習し、時間の経過とともに、温度を最も快適な設定に自動的に調整します。産業市場の場合、例としてモーターの振動センサーがあります。センサーはモーターの通常の振動特性を学習し、ユニットのメンテナンスが必要な場合や故障が発生しそうな場合に担当者に警告します。
組み込み設計者にとっての課題は、機械学習アルゴリズムを使い始め、アプリケーションのニーズに合わせてアルゴリズムを適応させることです。
図3:スマートホーム空調システム(出典:Getty Images、ID 474200292、MaxiPhoto)
- 製品を更新する必要があります
今日の製品には、最終的な機能セットが付属していることはめったにありません。無線(OTA)アップデートを通じて、新しいファームウェアをダウンロードして、機能を追加したり、バグを修正したり、セキュリティホールにパッチを適用したりして、製品の耐用年数を大幅に延ばすことができます。また、製品は、コードサイズと機能を増やすことができるように、メモリと処理能力に十分なヘッドルームを備えて設計する必要があります。
1つの課題は、ファームウェアの更新とすべての通信が安全であることを確認することです。ファームウェアの脆弱性にパッチが適用されている場合、システムはファームウェアのロールバックを許可しないようにする必要があります。存在する場合、脆弱性が露呈します。
図4:OTAの更新が必要な組み込みアプリケーションの例(出典:ゲッティイメージズの画像、ID 145676156、Earl Wilkerson。アイコン:アーム)
設計者がこれらの課題に対処するのに役立つ新しいテクノロジー
組み込み設計者が直面している課題とそれを推進する業界のトレンドについて概説しましたが、潜在的なソリューションについてはどうでしょうか。上で定義したすべての領域に影響を与える3つの基本的な設計手法があると思います。信号処理の実装、デバイスの保護、機械学習によるインテリジェンスの追加です。
信号処理を簡素化してコストを節約するにはどうすればよいですか?
ほとんどの組み込みシステムにはアナログインターフェースがあります。これらは、アナログ-デジタルコンバーターを介して温度を読み取るのと同じくらい簡単で、複数のマイクからの音の処理(ビームフォーミング)や音声認識などのより複雑なシステムになります。
以前の設計では、アナログドメインでほとんどのアプリケーションとフィルタリングを実行していましたが、専用のデジタルシグナルプロセッサ(DSP)を使用すると、処理がデジタルドメインに移行しました。これは、DSPがより正確で、製造において再現性があり、時間の経過とともに調整できるためです。
デジタルシグナルコントローラー(DSC)、またはDSP拡張機能を備えたマイクロコントローラーの導入により、設計者は両方の長所を活用できるようになりました。 DSPおよび制御機能を実行できる単一のコントローラーにより、コスト、ボードスペース、および消費電力を削減できます。
デジタル信号処理は複雑になる可能性がありますが、高度な処理を使用するために設計者が専門家である必要はありません。たとえば、Armは、組み込みアプリケーション用の無料のソフトウェアフレームワーク、CMSIS-DSPライブラリを提供しています。
セキュリティを気にする必要があるのはなぜですか?
不十分なセキュリティで出荷される製品は、データの損失、恥ずかしい宣伝、経済的コスト、および顧客の不満につながる可能性があります。セキュリティ攻撃はすべてのセクターに及ぶ可能性があり、ホームオートメーションシステムへのアクセスや照明のオン/オフの切り替えから、産業スパイやIoTデバイスを介したネットワークへのアクセスの取得まで、さまざまなレベルの影響を及ぼします。
外部の脅威は、通信、ライフサイクル、ソフトウェア、物理の4つの攻撃タイプに分類できます。しかし、どの脅威を防ぐ必要があるのか、そしてデバイスに適切なレベルのセキュリティを適用して設計する方法をどのように知るのでしょうか。昨年、接続されたデバイスを設計するすべての人のためのセキュリティフレームワークであるPlatform Security Architecture(PSA)を立ち上げました。これは、設計者と開発者がセキュリティのレベルと選択すべき脅威の軽減を決定するために必要なすべてのものを提供する3段階のプロセスです。 PSAのドキュメントとオープンソースコード(Trusted Firmware-M)により、開発者は簡単に始めることができます。
図5:セキュリティの脆弱性を軽減するために利用できるArmテクノロジー(出典:Arm)
スマート機能を追加するにはどうすればよいですか?
データサイエンティストによって作成された複雑なアルゴリズムを実装することで、スマートな機能を追加できます。音声コマンドに応答するシステムは、音声サンプルを分析し、これらを各コマンドのテンプレートと比較することによって実装できます。このアプローチの問題は、1人のユーザーにはうまく機能する可能性がありますが、広範囲のユーザーには機能せず、ノイズの多い環境や変化する環境では堅牢ではないことです。
機械学習を使用するスマート機能では、さまざまな環境や条件で多くの話者が話す音声コマンドなどのデータセットを使用してシステムをトレーニングする必要があります。このトレーニングでは通常、クラウドサーバーを使用します。モデルが構築され、最適化されると、モデルの推論または使用は、組み込みプロセッサで完了することができます。
1つのソリューションは、パフォーマンスを最大化し、Cortex-Mプロセッサコア上のニューラルネットワークのメモリフットプリントを最小化するために開発された無料のニューラルネットワークライブラリであるCMSIS-NNです。
新しい時代–新しい機会と新しい課題の両方
組み込みデバイスがこれまで以上に複雑になっていることは間違いありません。製品要件が高まっており、コストへの圧力が高まっており、特に接続されたデバイスのセキュリティに関する懸念が高まり続けています。
これらの要因はすべて、開発者にとって重大な課題をもたらします。しかし、幸いなことに、業界はIP、ソフトウェア、ツール、トレーニングリソースでこれをサポートするように進化しており、組み込み開発者が可能なことの限界を押し上げるのに役立ちます。
Phil Burrは、ArmのEmbeddedGroup内で確立された製品ポートフォリオのディレクターです。彼は、ArmのCPUポートフォリオを担当するチームを率い、これらのプロセッサが新規および既存のパートナーの革新を可能にするのを支援しています。 Philは、ArmIPへの低コストで簡単にアクセスできるルートであるArmDesignStartprogramも管理しています。
モノのインターネットテクノロジー