フィールドプログラマブルゲートアレイ(FPGA)とマイクロコントローラー—違いは何ですか?
フィールドプログラマブルゲートまたはグリッドアレイ(FPGA)とマイクロコントローラーは似ていますが、同じではありません。どちらも本質的に「小型コンピューター」または他のデバイスや製品に組み込まれた集積回路です。主な違いはタイトルにあります。ユーザーは製造後にFPGAのハードウェアをプログラムして「フィールドプログラマブル」にすることができますが、マイクロコントローラーはより表面的なレベルでのみカスタマイズ可能です。さらに、FPGAは並列入力を処理でき、マイクロコントローラーは次の1行を読み取ります。一度にコードを作成します。
より高いレベルのパーソナライズが可能であるため、FPGAはより高価であり、プログラミングがより困難です。対照的に、マイクロコントローラーは費用対効果が高く、カスタマイズ性がはるかに低くなります。類似点とマイクロコントローラとFPGAの違い。一方が他方より優れているとは限りません。どちらを使用するかを決定するときは、複数の要因を考慮してください。
マイクロコントローラーとは
マイクロコントローラー(MCU)は基本的に小さなコンピューターであり、中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、入力など、他のコンピューターと同じ要素をすべて備えています。何千もの異なるプログラムを実行できるデスクトップコンピュータとは異なり、マイクロコントローラは1つのプログラムを実行する専用デバイスです。
1つのことを繰り返し、自動的に、またはユーザーの要求に応じて実行するように作られています。消費者、メーカー、医療、その他の種類の製品を問わず、他のデバイスに組み込まれています。低エネルギーで動作します—その消費電力はミリアンペアで測定可能です。その結果、マイクロコントローラーは手頃な価格になる傾向があります。ただし、マイクロコントローラーが組み込まれているデバイスのコストは大きく異なる可能性があります。
日常生活の中でマイクロコントローラーが身の回りにあります。マイクロコントローラーが組み込まれている民生用デバイスのいくつかを次に示します。
- キーボード
- モニター
- プリンター
- コピー機
- ファックス機
- 電話
- テレビのリモコン
- 電子レンジ
- 洗濯機と乾燥機
- 芝生のスプリンクラー
- 子供のおもちゃ
消費者向けアイテムに加えて、マイクロコントローラーは次のデバイスにも組み込まれています。
- 信号機
- 自動車のエンジン制御システム
- 動力工具
- 埋め込み型医療機器
これらはほんの一例です。マイクロコントローラーは、現代社会で依存しているあらゆる種類のデバイスに組み込まれています。各マイクロコントローラーには、特定の反復的な目的があります。フィードバック制御システムを使用して自動的に動作できます。 、信号機で見られるように。または、スイッチを切り替えたりボタンを押したりするなど、ユーザー入力信号で動作することもできます。後者の概念は、マイクロコントローラー、洗濯機、テレビのリモコンに当てはまります。
フィールドプログラマブルグリッドアレイとは何ですか?
フィールドプログラマブルゲートまたはグリッドアレイは、マイクロコントローラーよりも少し複雑です。ほとんどの場合、チップは事前にプログラムされています。ユーザーはソフトウェアを変更できますが、変更することはできません。ハードウェア。これにより、FPGAの定義要素がわかります。ユーザーは、購入後にハードウェアを構成できます。
エンジニアは、これが独自の特定用途向け集積回路のプロトタイピングに特に役立つと考えています。実際、IntelはFPGAの形式を使用して、独自のプロトタイピングプロセスを合理化しています。組み込まれているFPGAは、まったく新しいハードウェアを必要とせずに変更できます。
「FPGAsfor Dummies」の例によると、車両のリアビューカメラの高速動作を要求する規制が変更される可能性があります。これらのカメラがFPGAで動作する場合、メーカーは高価なものをインストールせずにこの変更を行うことができます。 、まったく新しいハードウェア。各車のリアビューカメラでFPGAを再プログラムするだけです。すでに走行中の車は、時代遅れにするのではなく、変更することができます。
どのように機能しますか?
FPGAには、統合ハードウェア回路の「アレイ」があります。これらのアレイは、プログラマブルロジックブロックのグループです。製造中、FPGAは特定の機能を持つように構成されていません。代わりに、ユーザーは次のことができます。構成し、後で選択した方法で再構成します。
ユーザーはハードウェア記述言語(HDL)を使用してこれを行います。FPGAにはANDやXORなどのロジックブロックがあり、ユーザーはこれらをインターコネクトと組み合わせることができます。最新のFPGAには多くのロジックゲートがあり、 RAMブロックであるため、複雑な計算に対応できます。一部のFPGAには、フィールドプログラマブルアナログアレイ(FPAA)と同様に、アナログからデジタルへのコンバーターまたはデジタルからアナログへのコンバーターもあります。
類似点
FPGAとマイクロコントローラーはどちらも基本的な目的は同じです。どちらもメーカーまたはエンドユーザーが機能を判断できるように構築されています。どちらも特定のアプリケーションを実行し、他のアプリケーションに組み込まれています。信号機であれ洗濯機であれ、デバイス。この汎用性により、身の回りにあるデバイスを見つけることができます。これらの小さな集積回路のおかげで、私たちが行うすべてのことが簡単になります。
訓練を受けていない人の目には、ほぼ同じように見えます。どちらも、プログラム可能なピンで囲まれた平らで正方形の小さなチップです。どちらも本質的にミニチュアコンピュータであり、明確な目的のためにプログラムされています。そのため、FPGAもマイクロコントローラーもパーソナルコンピューターまたはデスクトップコンピューターとして機能することはできません。代わりに、コマンドに従って、さまざまなレベルの複雑さで1つの機能を実行します。
基本コンポーネント
これらのデバイスにはいくつかの基本的な類似点があります。実際、これらは同じ基本コンポーネントで構成されています。FPGAとマイクロコントローラーはどちらもコンピューターロジックとバイナリを使用して動作する集積回路です。
>集積回路は、1つのフラットチップ上の電子回路のセットであり、半導体材料(多くの場合シリコン)で構成されています。計算を実行し、データを保存できます。集積回路は、デジタルまたはアナログ技術を使用します—上記のように、一部のFPGAは2つの間で変換できます。デジタルテクノロジーはバイナリロジックを利用しますが、アナログテクノロジーは入力の線形関数を決定して出力を計算します。
この基本概念である入力決定出力は、すべてのコンピューターがどのように機能するかを説明します。デジタルテクノロジーには、2値論理システム、つまりバイナリ(1または0、オンまたはオフ、はいまたはいいえ)が組み込まれています。マイクロコンピュータまたはFPGAをプログラミングするときは、コンピュータロジックの基本を理解することが重要です。
カスタマイズ
さらに、FPGAとマイクロコントローラーはどちらも製造後にある程度プログラム可能です。つまり、メーカーまたはエンドユーザーが機能を設計し、必要に応じて埋め込むことができます。これが、これらのデバイスに非常に多くの機能がある理由です。幅広い業界でのアプリケーション。
FPGAをカスタマイズできる範囲は、FPGAを際立たせます。そのため、これらは複雑で高度に技術的なアプリケーションに最も役立ちます。一方、マイクロコントローラーは、より単純なアプリケーションに適しています。
違い
FPGAとマイクロコントローラーの主な違いは、カスタマイズのレベルと複雑さです。価格と使いやすさも異なります。基本的に、FPGAでは、次のように、より高度なカスタマイズとより複雑なプロセスが可能です。また、ハードウェアへの遡及的な変更もあります。ユーザーには、FPGAを使用するためのより多くのスキルとノウハウが必要です。
FPGAには利点がありますが、マイクロコントローラーのコストは低く、使いやすいです。ほとんどの愛好家や初心者はマイクロコントローラーを購入することでメリットが得られますが、エンジニアリング会社やメーカーはFPGAを好む場合があります。
マイクロコントローラー
マイクロコントローラーの特徴は次のとおりです。
- 使いやすい: コーディングの基本を理解している人なら誰でもマイクロコントローラーをプログラムできます。 JavascriptやPythonなどのアセンブリ言語を使用してマイクロコントローラーをプログラムできます。これらの言語はオンラインコースで自分で学ぶことができます。
- 手頃な価格です: 大量生産が簡単なため、マイクロコントローラーの方がFPGAよりも初期費用が安くなります。
- 複雑なアプリケーションに常に理想的であるとは限りません: マイクロコントローラの専用プロセッサがすべての入力と出力を処理します。その結果、プロセスは他のプロセスが解決するのを待たなければならないため、ボトルネックが発生する可能性があります。並列機能を使用できないため、マイクロコントローラーはより単純な目的に適しています。
- 単純なアプリケーションに最適です: あなたの洗濯機について考えてください。服を着たら、2つか3つの設定をカスタマイズして、スタートを押します。同様に、コンピュータのマウスは、上にスクロール、下にスクロール、左クリック、右クリックなど、いくつかの入力を解釈する方法を知っているだけで済みます。このような単純で変化のないアプリケーションには、マイクロコントローラーが理想的です。
FPGA
FPGAの特徴を定義するものは次のとおりです。
- 使用するにはより多くのスキルが必要です: FPGAをプログラムするには、コーディング言語の基本的な理解以上のものが必要です。コーディング言語の知識に加えて、大量の変数を追跡できる必要があります。また、ハードウェア記述言語を理解する必要があります。ハードウェアの設計と再設計は初心者の仕事ではありません。
- より多くの並列処理が可能になります: FPGAには数千のロジックブロックがあり、そのすべてをプログラムできます。互いに独立したプロセスを作成して、マイクロコントローラーのようにボトルネックのインスタンスを減らすことができます。
- より高いレベルのカスタマイズが可能です: 簡単に言えば、自分が何をしているのかを知っていれば、マイクロコントローラーよりもFPGAで多くのことができます。複雑なものをプログラムしたい場合は、マイクロコントローラーが提供するよりも多くのカスタマイズ性が必要になります。
- コストが高くなる傾向があります: FPGAの欠点の1つは、マイクロコントローラーよりも高価になる傾向があることです。先行投資が高くても、遡及的な変更が必要になる可能性のある業界の費用を節約できます。リアビューカメラの例を考えてみてください。
- より複雑なアプリケーションに最適です: FPGAは並列プロセスを可能にするため、ボトルネックの問題に遭遇することなく、マイクロコントローラーよりもFPGAを使用してより多くの入力を実装できます。これにより、より複雑な操作に最適です。
- 後で変更できます: FPGAの最大の利点の1つは、ハードウェア自体を最初のプログラミング後に変更できることです。このため、ハードウェアを完全に交換しなくても、デバイスの機能を変更できます。これは、特に大量生産産業にとって、長期的にはより費用効果が高くなります。
プリント回路基板(PCB)でマイクロコントローラーまたはFPGAを使用する必要がありますか?
プリント回路基板は、概略図を生き生きとさせます。基板の導電層が多いほど、より多くの接続を確立できます。4層基板には、絶縁層を備えた4つの導電層があります。 PCBの組み立てには、かなりの技術的知識が必要です。初めて組み立てる場合は、専門用語を読んでください。専門のPCB製造サービスまたはPCBサプライヤーに頼ることを選択できます。
PCBでマイクロコントローラーとFPGAのどちらを使用するかは、次のようないくつかの要因に依存する必要があります。
- 必要なレベルの複雑さ。
- あなたの専門知識のレベル。
- 特にまとめて購入する必要がある場合は、予算。
- 必要になる可能性のある遡及的な変更。
必要なレベルの複雑さ
FPGAは一度に複数行のコードを実行できるため、独立した並列プロセスが可能です。高度なアプリケーションでは、この機能が必要です。FPGAは、より複雑な入力を処理し、同時操作を実行できます。 。欠点は、FPGAが正しく機能するために完璧なタイミングと精度が必要なことです。小さなミスがシステム全体を役に立たなくする可能性があります。
これとは対照的に、マイクロコントローラーは一度に1行のコードしか読み取らず、コマンドを順番に処理します。これはボトルネックの問題につながる可能性がありますが、利点があります。複雑さが少ないため、マイクロコントローラは、試行錯誤の方法を使用してプログラミングと再プログラミングが簡単です。単純なアプリケーションの場合、FPGAは必要以上に複雑になる可能性があり、プログラミングが必要以上に難しくなる可能性があります。
FPGAのプログラミングに誤りがあった場合、修復ははるかに複雑になります。これにより、FPGAとマイクロコントローラーのどちらを選択する必要があるかという次のポイントに進みます。専門知識のレベルに依存します。
あなたの専門知識のレベル
簡単に言うと、FPGAは初心者には適切な選択ではありません。ハードウェア記述言語は、アセンブリ言語よりも習得に時間と経験が必要です。カスタマイズのレベルが高いほど、より多くのスキルが必要になります。コンピューターエンジニアリングの経験が豊富な場合、FPGAは魅力的なレベルのカスタマイズ性を提供します。
あなたの予算
FPGAは、マイクロコントローラーよりも初期コストが高くなる傾向があることに注意してください。自動調光ライトや温度センサーなどの単純なものをプログラムする場合は、比較的費用対効果の高いマイクロコントローラーの方が適している可能性があります。
初期コストは高くなりますが、FPGAは後で費用を削減できます。特に、元の組み立て後に変更が必要になる可能性のある大量生産されたオブジェクトではそうです。
遡及的変更の必要性
さまざまな理由で、アプリケーションのハードウェアを変更する必要がある場合があります。その場合は、FPGAを使用できれば幸いです。これが多くの理由の一部です。業界はFPGAを好みます。法律、規格、規制、またはニーズが変化した場合、まったく新しいハードウェアシステムを実装するよりも、既存のFPGAを変更する方がはるかに安価で時間もかかりません。
ミレニアムサーキットに連絡して詳細をご覧ください
FPGAとマイクロコントローラーはどちらもさまざまな目的に役立ちます。その汎用性により、数千のアプリケーションに使用でき、その一部は毎日使用されています。両者の類似点と相違点を理解することは役に立ちます。目的に最適なオプションを決定します。
これらは同じ基本コンポーネントで構成されていますが、カスタマイズのレベル、複雑さ、価格、および必要な専門知識のレベルが異なります。どちらを選択するかは、複数の要因に依存する必要があります。ソリューションには、固有の利点と潜在的な欠点があります。
日曜大工のプロジェクトを設計する場合でも、新製品のプロトタイプを作成する場合でも、技術プロセスの合理化を検討している場合でも、これらの集積回路の1つが役立つはずです。ベアPCBで使用されるFPGAまたはマイクロコンピュータ技術について質問がある場合は、MillenniumCircuitsLimitedの専門家に詳細をお問い合わせください。
産業技術