質問に対する答えは、最終目標が何であるかによって異なります。これらのデバイスを少数またはそれ以下必要とする場合、部品のコストを気にせずに開発を容易にする必要があります。これらを1000個以上作成する場合は、要件を分析し、デバイスハードウェアのコストを削減する価値があります。
少量
これらのデバイスを1回限りまたは小規模に実行する場合、開発努力によりアイテムごとのコストが圧迫されるため、コスト/開発コストではなく、開発が最も簡単/最速のものに集中する必要があります。マイクロエレクトロニクスのサイズ。
一般に、カプセル化により複雑さが軽減され、生産性が向上します。BLDC制御、PIDループなど、いくつかの厳しいリアルタイム要件がある場合は、ユーザーインターフェイスやその他の非リアルタイムを保持するコントローラーと通信するタスク専用のコントローラーを個別に使用する方が速い場合があります。時間のタスク。
したがって、この場合、質問に対する答えは次のとおりです。
多くのマルチタスクを実行する必要がある場合、オールインワンアプローチは良いアイデアですか、またはセグメント化して分離する方が良いですか?
スケールは、セグメンテーションと分離に向けてわずかに傾いています。主な理由は、リアルタイムシステムのデバッグには非常に時間がかかる可能性があり、そのようなタスクを独自のプロセッサに保持すると、何かが正しく動作しない理由を見つけるために測定または制御する必要がある変数が制限されるためです。
私が見ているマイクロコントローラーがタスクのリストに基づいて必要なことを行うのに十分な計算能力を持っているかどうかを直感的に見つけるにはどうすればよいですか?
この場合、多くのリソースを備えた32ビットプロセッサと限られたリソースを備えた8ビットプロセッサのコストの差は、開発に費やす時間に比べて小さくなります。どれだけの電力が必要なのか試してみる理由はほとんどありません。開発して使用できると感じる最大のプロセッサを入手するだけです。後の時点で設計のコストを最適化する必要がある場合、実際のプロセッサリソース使用量を比較的簡単に測定し、実際の負荷を処理できる貸手プロセッサを選択します。それまでは、最大のものを使用し、「最適」を見つけることを心配しないでください。
大量生産
これらのデバイスの多くを作成する場合は、慎重な分析により大幅なコスト削減が実現します。一般的に、大型のマイクロコントローラーは、必要な特定のタスクに応じて例外がありますが、単一のマイクロコントローラーを置き換えることができる2つのマイクロコントローラーよりも安価です。これらの数量では、ハードウェアのコストは開発コストよりもはるかに大きくなる可能性があるため、要件を分析して開発を実行する時間は、ごく少数の場合よりも多くなると予想されるはずです。
多くのマルチタスクを実行する必要がある場合、オールインワンアプローチは良いアイデアですか、それともセグメント化して分離する方が良いでしょうか?
一般に、オールインワンアプローチは、複数のプロセッサよりもプロジェクト全体の期間にわたって安価です。さまざまなタスクが競合しないことを確認するには、より多くの開発およびデバッグ時間が必要になりますが、厳密なソフトウェア設計では、個別のハードウェアを使用する場合とほぼ同じくらい制限されます。
私が見ているマイクロコントローラーがタスクのリストに基づいて必要なことを行うのに十分な計算能力を持っているかどうかを直感的に見つけるにはどうすればよいですか?
実行したいタスクと、それらがどれだけのリソースを使用するかを理解する必要があります。次のことが当てはまると仮定します。
BLDC PIルーチンは、1秒間に100回のプロセッサ時間のXサイクルを消費します。各ルーチンには、動作に約50バイトのRAM、チューニングに16バイトのEEPROM、コードに1kフラッシュが必要です。マイクロコントローラーには、それぞれ3つの16ビットPWM周辺機器が必要です。特定の割り込みレイテンシ要件を持つジッタを指定する必要がある場合があります。
USBおよびシリアルルーチンは、必要に応じてYサイクルのプロセッサ時間、2k RAM、64バイトEEPROM、および8kフラッシュを消費します。USBおよびシリアル周辺機器が必要です。
GUIは1秒間に30回のプロセッサパワーのZサイクルを消費し、2kのRAM、128バイトのEEPROM、および10kのフラッシュを必要とします。LCD、ボタン、ノブなどとの通信に19 I / Oを使用します。
初めて起動するとき、X、Y、Zが実際に何であるかを理解するのは難しいかもしれません。これは、プロセッサーのアーキテクチャーによって少し変わります。ただし、概算で、設計に必要なRAM、EEPROM、フラッシュの量、および必要な周辺機器を理解できる必要があります。メモリと周辺機器の要件を満たし、そのファミリ内で幅広いパフォーマンスオプションを備えたプロセッサファミリを選択できます。その時点で、開発のために、ファミリで最も強力なプロセッサを使用できます。設計を実装したら、設計または開発環境を変更せずに、低コストのオプションに簡単に移行できます。
これらの設計を十分に行った後、X、Y、およびZをより適切に推定できるようになります。BLDC PIルーチンは、頻繁に実行されますが、非常に小さく、必要なサイクルが非常に少ないことがわかります。USBおよびシリアルルーチンは多くのサイクルを必要としますが、まれにしか発生しません。ユーザーインターフェイスは、変更を見つけるために頻繁に数サイクルを必要としますが、たとえば、ディスプレイを更新するために頻繁に多くのサイクルを必要とします。