パンデミックによって引き起こされたサプライチェーンの混乱は、組込みシステム業界に大きな影響を与えました。企業は、顧客の注文に応じるためにあるサプライヤから別のサプライヤに切り替えることを余儀なくされ、エンジニアリング チームは膨大な量の手直しに直面しました。これにより、ハードウェアの再設計が必要になっただけでなく、ソフトウェアの変更も必要になりました。ハードウェア、リアルタイムオペレーティング システム(RTOS)レイヤー、Bluetooth または Wi-Fi チップセット、および TCP/IP ネットワークスタックなどのコンポーネントとの接続を抽象化することは、やり直しの負担を軽減する方法の 1 つです。
コンポーネント不足の影響は数多くあり、次のようなものがあります。
•業界標準に準拠するための再設計、再開発、および再認証のための追加費用
•必要なコンポーネントを入手できないことによる、多くの業界セグメントでの生産の遅延と停止
•生産停止が長期化した場合の工場閉鎖の可能性
•自宅から必要なツールにアクセスできないことによる開発効率の低下
•リモート作業では開発経験とデバッグ情報の共有が困難なため、開発時間が遅くなる
抽象化ベースのソリューションを実装することは、コンポーネント不足の問題に対処する効率的な方法です。抽象化ベースのアプローチを実装する際には、多くの要因を考慮する必要があります。これらには、プロセッサアーキテクチャ、マイクロコントローラ/マイクロプロセッサ ユニット (MCU/MPU)、OS/RTOS、Bluetooth または Wi-Fi チップセット、ハードウェアインターフェイス、TCP/IP ネットワークスタック、永続的ストレージ、およびデバッグソフトウェアの抽象化が含まれます。抽象化ベースのコネクティビティソリューションを実装する方法を説明するために、Clarinox によって開発された ClarinoxSoftFrame の例を使用します。
半導体の抽象化
半導体不足への対応では、プロセッサのアーキテクチャやMCU/MPUに柔軟性を持たせることを検討することが重要です。この柔軟性により、エンジニアは既存のソフトウェアの一部を再利用できるため、サポートされている半導体から別の半導体に変更する作業は、従来の移植に比べて大幅に軽減されます。
オペレーティングシステムの抽象化
コンポーネントの不足により、OS/RTOS の変更が必要になる場合もあります。繰り返しになりますが、このレイヤーの抽象化により、OS/RTOS を変更するときに移植を実行する必要がなくなるため、生産性が大幅に向上します。
ワイヤレスチップセットの抽象化
ワイヤレスシステムでは、ワイヤレスチップセットも重要な要素です。半導体やオペレーティングシステムの抽象化と同様に、このレベルでの抽象化により、ワイヤレスチップセットに変更が必要になった場合に、切り替えを迅速に行うことができます。このような抽象化を実現するには、中間にあるBSP(ボードサポートパッケージ)レイヤーを使用する必要があります。このようなレイヤーは、明確に定義された簡便なインターフェースアーキテクチャを使用して実装できます。
ハードウェア インターフェイスの抽象化
さまざまなハードウェアインターフェイスを使用して、デバイスに接続できます。Wi-Fi は通常、SDIO、PCIe、USB、または SPI インターフェイスを使用しますが、Bluetooth はより一般的に UART または USB を使用します (ただし、一部の設計では SDIO または SPI が使用されます)。ClarinoxSoftFrame は、これらすべての可能なインターフェイスを考慮しています。このレベルでの抽象化は、チップセット不足の影響を受けるプロジェクトでハードウェアを変更する必要がある場合に柔軟性を提供します。
TCP/IP ネットワークスタックの抽象化
TCP/IP ネットワークスタックは、今日の接続可能な組込みデバイスにとって重要な考慮事項であり、多くのオープンソースおよび商用の選択肢があります。Microsoft が NetX/NetX-Duo をAzureRTOS (以前の ThreadX RTOS) とともに提供している例のように、TCP/IP スタックが RTOS の一部として提供される場合があります。このレイヤーの抽象化を作成すると、変更が必要な場合のプロセスが簡素化され、製品ライフ サイクルの延長に役立ちます。
永続的ストレージの抽象化
もう 1 つの重要な抽象化は、永続的ストレージの抽象化です。ファイルシステムまたはフラッシュ/EEPROM メモリ インターフェイスが使用されているかどうかにかかわらず、抽象化メカニズムにより、変更が必要な場合のアプリケーションの書き換えが回避されます。スタックによる接続では、ペアリングおよびボンディング情報または構成データのストレージを必要とする場合があります。このレベルの抽象化では、接続時にスタックが汎用メモリアクセス関数を利用する必要があります。
デバッガの抽象化
ClarinoxSoftFrame 抽象化レイヤーにはデバッガー ClariFi が含まれており、プロトコルの詳細、メモリ状態、アプリケーションの致命的なエラー、警告、テスト メッセージなど、接続されたレイヤーをリアルタイムで明確に表示します。また、詳細なログファイルによる包括的な事後分析、複雑なフィルタリング、パフォーマンス分析、および自動テストも可能であり、これらすべてが開発をスケジュールどおりに進めるのに役立ちます。
ソフトウェア設計への抽象化ベースのアプローチは、過去 2 年間で組込みソフトウェア開発に広範な影響を与えてきたコンポーネント不足の状況に特に関連しています。MCU/MPU、Bluetooth または Wi-Fi チップセット、OS/RTOS、TCP/IP ネットワークスタック、永続的ストレージ、およびデバッグ ソフトウェアの抽象化を含む、ハードウェアおよびソフトウェア ベースの抽象化の複数のレイヤーが推奨されます。ClarinoxSoftFrame は、これらのさまざまなレベルでの抽象化の実装を容易にするソフトウェア パッケージの例です。
Clarinoxについて
Clarinox Technologies Pty Ltd は、組込み製品を開発する企業向けに費用対効果の高い革新的なワイヤレス組込みシステムソリューションを提供することを目的として設立されました。Clarinox チームのメンバーは、組込みシステム設計の経験を活用して、最先端の Bluetooth および Wi-Fi ソリューションを開発しています。ClarinoxWiFi は、STA、AP、P2P、およびセキュリティプロトコルを提供します。ClarinoxBlue は、Bluetooth Low Energy オーディオ プロファイル/サービスおよび LC3 コーデックを含め、Classic と Low Energy の両方をカバーする Bluetooth バージョン 5.2 として認定されています。Clarinoxは、組込みシステム開発向けの柔軟で堅牢なワイヤレスプロトコルソフトウェアの提供に情熱を注いでいます。