DSPとRTOSおよびIOTの組み合わせ

公式アカウントをフォロー+スターを付けて、楽しいコンテンツをお見逃しなく

32ff1858948cdcbd0ae49afecbe0ad79.gif

ソース | ネットワーク

基本ネットワークの包括的なカバーにより、モノのインターネット (IOT) が急速に発展し、IoT 端末デバイスがますます増加しています。

この記事では、IoT に最適な RTOS を搭載した新世代のハイブリッド DSP テクノロジーについて説明します。

DSPテクノロジーの進化

DSP は現実世界のアナログ信号の変換と処理に使用され、この処理操作は複雑な信号処理アルゴリズムを通じて実行されます。DSP は 1980 年代に登場した技術であり、ハードウェア機能、ソフトウェア開発ツール、インフラストラクチャの面で大きな進歩を遂げました。初期のアルゴリズムはアセンブリ言語で DSP にプログラムされていました。DSP 市場が拡大し、アルゴリズムがより複雑になるにつれて、そのアーキテクチャが進化し、高級言語コンパイラの開発が促進されました。

DSP コアが組み込まれたチップは通常、専用タスクの実行に必要なプログラム全体を収容するのに十分な大きさのオンチップ メモリと統合されています。新世代の DSP アプリケーションは、オーディオ/音声処理、画像処理、通信信号処理、センサー データ処理、システム制御をカバーします。今日の IoT 市場は、これまでの多くのユースケースのほぼすべての組み合わせをカバーしています。業界アナリスト会社マーケッツ・アンド・マーケッツは、世界のIoTテクノロジー市場が2027年までに5,664億ドルに成長すると予想しています。このような巨大な IoT 市場に直面するには、新世代の DSP テクノロジーが不可欠です。

DSP が IoT デバイスに適しているのはなぜですか?

IoT では、さまざまな種類のセンサーを使用してデータを収集することで、現実世界のあらゆるもの間の通信と接続が可能になります。DSP は、センサーからの連続的に変化する信号を分析して処理します。現在では、複数のセンサー情報を処理および融合するために使用されるセンサー ハブ DSP (CEVA-SensPro2 など) が登場し、コンテキストを認識したニューラル ネットワーク推論に使用されます。DSP は、オーディオやビデオ、温度、圧力、湿度などのさまざまな現実世界の信号を分析および処理するように設計されており、そのタスクには正確かつ正確なリアルタイムの反復デジタル計算が含まれます。IoT 市場が成長し、導入されるセンサーの数が増えるにつれ、収集されたすべてのデータをリアルタイムで効率的に処理する必要があります。データ処理は、処理のためにクラウドに送信するのではなく、IoT デバイス上で直接行う必要があることがますます明らかになってきています。

現在 IoT デバイスで起こっているもう 1 つの傾向は、データのローカリゼーションのための人工知能 (AI) ベースのアルゴリズムの使用が増加していることです。AI アルゴリズムはニューラル ネットワーク モデルに基づいており、効果的に実行するには高レベルの並列処理が必要です。並列コンピューティング機能は、汎用の中央処理装置 (CPU) に対する DSP の主な利点です。この要件を満たすために、最新の DSP アーキテクチャはワイド ベクトルおよび単一命令複数データ (SIMD) 関数を使用する傾向があります。

つまり、最新の IoT デバイスの高性能コンピューティングと低電力需要を同時に満たすことができる、強力な DSP ベースのソリューションです。

DSP が RTOS と相性が良いのはなぜですか?

DSP が専用プロセッサであるのと同様に、RTOS も専用オペレーティング システムです。DSP は現実世界のデータを極めて迅速かつ確実に処理することに特化しており、一方 RTOS は応答時間/反応時間の点で特定のタイミング要件を確実に満たすことに特化しています。DSP は汎用 CPU に比べてコンパクトであり、RTOS は通常のオペレーティング システムに比べてコンパクトです。これらの特性は IoT デバイスのニーズに完全に一致するため、DSP と RTOS は IoT アプリケーションに最適です。

歴史的に、組み込みデバイスは通常、RTOS なしで動作できる特殊用途のマイクロコントローラー (通常は 8 ビットまたは 16 ビット) を利用してきました。しかし、今日の IoT デバイスはより複雑で、制御機能を管理し、複雑な信号処理を実行するには、RTOS を備えた DSP と組み合わせた 32 ビット CPU が必要です。

しかし問題は、新世代の DSP が IoT デバイスの信号処理と制御機能を同時に完了するのに十分なのかということです。答えは「はい」です。DSP 指向の機能とコントローラー指向の機能の両方を提供できるハイブリッド DSP アーキテクチャは、IoT およびその他の組み込みデバイスで急速に採用されています。このハイブリッド DSP は、超低命令語 (VLIW) アーキテクチャの実装、単一命令複数データ (SIMD) 演算、単精度浮動小数点演算、コンパクトなコード サイズ、フル RTOS、超高速コンテキスト スイッチング、動的分岐予測、これにより、RTOS を実行するためにデバイスに追加のプロセッサが必要なくなります。

DSP 用の RTOS

DSP ベースの RTOS は、DSP の高性能機能を最大限に活用するように設計されています。これは、非常に短い割り込み遅延を提供する、プリエンプティブな優先順位ベースのマルチタスク オペレーティング システムです。このタイプの RTOS には、DSP チップ用にカスタマイズされた DSP 機能を実行するためのドライバー、アプリケーション プログラミング インターフェイス (API)、およびチップ サポート ライブラリ (CSL) が付属しています。キャッシュ メモリ、ダイレクト メモリ アクセス (DMA)、タイマー、割り込みユニットなど、すべてのオンチップ周辺機器を制御できます。その結果、IoT アプリケーション開発者は、リソース要求を効率的に処理し、システムを管理するように RTOS を簡単に構成できます。

RT-Thread は、IoT デバイス向けに最適化されたオープンソース RTOS であり、リソース使用量が非常に低く、高い信頼性と強力な拡張性を備えています。RT-Thread は、IoT デバイスに必要なミドルウェア、ハードウェア、ソフトウェアの豊富なエコシステムによって広くサポートされています。

RT-Thread は、GCC、Keil、IAR などの主流のコンパイル ツールをすべてサポートし、POSIX、CMSIS、C++ アプリケーション環境、Micropython や Javascript などのさまざまな標準インターフェイスをサポートします。

RT-Thread は、すべての主流の CPU および DSP アーキテクチャに対する強力なサポートも提供します。スレッド、信号セマフォ、その他のサービス間の通信と同期は、RTOS メッセージ パッシングを通じて一貫して効率的に処理できます。

現在、RT-Thread には 2 つのバージョンがあります。1 つはリソースが豊富な IoT デバイス用の Standard エディションであり、もう 1 つはリソースに制約のあるシステム用の Nano エディションです。

DSP と RT スレッドの完璧な組み合わせ

特定の DSP (CEVA DSP など) アーキテクチャ設計は、RTOS 機能と超高速コンテキスト スイッチングをネイティブにサポートしているため、CEVA DSP と RT スレッド RTOS を使用して実装された IoT デバイスは、RTOS 通信タスクを中断することなく、異なるリソース間の複数のトランザクションを処理できます。たとえば、マルチコア通信インターフェイス (MCCI) メカニズムは、コア間のコマンド通信とメッセージ受け渡しをサポートします。コア間の通信は、AXI スレーブ ポートを使用して専用コマンド レジスタに直接アクセスすることで実現されます。DSP には特別な制御と命令があり、MCCI を介して通信のステータスを追跡できます。

d9203005231c58651888928026e7d007.png

図 1: マルチコア通信インターフェイスのアーキテクチャ。(出典:CEVA)

コア間のメッセージングは​​、MCCI_NUM 専用コマンド レジスタ (両方とも 32 ビット) を使用して実行されます。32 ビット COM_REGx レジスタは、AXI スレーブ ポートを介して外部コアによって書き込まれ、コアによってのみ読み出すことができます。128 ビット AXI バスの場合、コマンド生成コアは最大 4 つのレジスタに同時に書き込むことができ、256 ビット AXI バスの場合、この数は 8 に増加します。

コマンド生成コアが COM_REGx にコマンドを出力すると、アドレス指定レジスタが更新され、COM_STS レジスタ内の関連ステータス ビットも更新されます。さらに、割り込み (MES_INT) がアサートされて受信コアに通知されます。

受信コアが COM_REGx レジスタの 1 つを読み取ると、読み取り指示信号をイニシエータに送信します。読み取り指示信号は、専用の RD_IND (読み取り指示) MCCI_NUM ビット バス インターフェイスを使用して受信コアによって送信されます。RD_IND バスの各ビットは、COM_REGx レジスタの 1 つからの読み取りを表します。IO インターフェイスを使用すると、受信コアは一度に 1 つの COM_REGx レジスタのみを読み取ることができます。これにより、異なるコア間の同期が容易になるだけでなく、同じコア内の異なるタスク間の同期も簡単になります。

元のリンク:

https://www.ceva-dsp.com/ourblog/iot-dsp-and-rtos-a-perfect-match/

免責事項:この記事の内容はインターネットから得たものであり、著作権は元の著者に属します。著作権上の問題が含まれる場合は、削除するよう私に連絡してください。

------------ 終了 ------------

642bdb65a15d556f8fcb3cd7e30c7405.gif

●コラム「組み込みツール

●コラム「組込み開発」

●コラム「Keilチュートリアル」

●埋め込み列に選択されたチュートリアル

公式アカウントに注意し、ルールに従って技術交流グループに参加するには「 Jiagroup 」と返信し、さらに多くのコンテンツを表示するには「 1024」と返信します。

c851b622602459ee28a59fdffc927c3d.jpeg

d2c2880c63c58a8395ecfdd51e4df508.png

さらに共有を確認するには、元のテキストを読む」をクリックしてください。

おすすめ

転載: blog.csdn.net/ybhuangfugui/article/details/132241874