技術情報・技術コラム
FPGAとマイコンの違いと双方のメリット
FPGA
マイコン
近年非常に注目・重宝されているFPGAやマイコンについて、皆さんは詳しくご存じですか。当記事では意外としらないFPGAとマイコンの違いと双方のメリットについて詳しく解説します。組み込みボードの基礎を学びたい方に是非読んでいただきたい内容となりますので、ご一読いただけると嬉しいです。
※ちなみに、当社ではFPGAやマイコンボードなど幅広い組み込みボードの設計・開発を承っていますので、詳しくは下記よりご覧ください。
FPGAとは?
FPGAは、Field Programmable Gate Arrayの略です。現場でプログラミングが可能な論理デバイスを指します。そのため、このFPGAを用いることによって、様々な論理回路を自由に構築することが可能です。
さらに詳しくいうと、通常のICと異なり、FPGAは任意の論理ゲートや回路をプログラムで構築できる特徴があります。これにより、特定のアプリケーションに合わせてカスタマイズされたデジタル回路を構築できるのです。このFPGAはハードウェアであるため、構築した各論理ブロックはすべて同時に動作します。
ちなみに、このFPGA内の論理を表すためには、主に以下の2種類の言語が使われます。(※弊社ではどちらの言語にも対応しております。)
・VHDL
・Verilog HDL
マイコンとは?
マイコン(マイクロコントローラユニット:MCU、マイクロプロセッサユニット:MPU)とは、自動車、家電製品など、あらゆる電気製品に用いられている汎用的な演算用のLSI(ソフトウェア)を指します。マイコンを用いることで、電子機器の複雑な制御が可能となります。
具体的に、マイコンでは中核となるCPUがメモリからプログラムを読み出し→データをロード→演算といった処理単位1つ1つを順番に処理を行います。つまり、マイコンは沢山の命令の系列を順番に実行することで、特定の処理を実現しています。
FPGAとマイコンの違い・双方のメリット
FPGAの内部には独立した複数の回路を組み込むことが出来るので、独立した多くのタスクを同時に処理ができることがCPU(マイコン)との大きな違いです。FPGAでは複数の回路で並列処理ができることに加えて、内部の回路の処理が早く、CPU(マイコン)に比べて遅延時間が短いので、リアルタイムな高速処理に向いています。またFPGAは処理に必要な最小限の回路を組み込めば良いので、CPU(マイコン)で処理するよりも大幅に低消費電力にできます。
複雑な計算やイレギュラーな処理などはCPU(マイコン)に組み込むほうが簡単に実装できる場合が多いですが、同時に多くの計算を素早く行いたいときは、CPU(マイコン)よりも優位になることが多いです。
ただし、設計する時点で処理する内容が確定していない場合、例えばPCやスマホに後からアプリをインストールして購入時には出来なかった処理を行わせることなどは、FPGAで実現することは難しいので、CPU(マイコン)を使うことが必須とも言って良いです。
FPGAは、ASICと比べると単価、消費電力、性能の点で劣りますが、イニシャル投資コストが不要で後から書き換えができるという点で、柔軟な対応が必要になる分野や少量生産品で使われることが多いです。
FPGAボードに関連する開発実績
具体的に当社がこれまで対応してきたFPGAボードに関連する開発実績をご紹介します。
事例①:プラント業界向け 警報装置
当警報装置では、LAN、RS232CのインターフェースをCPU(PIC)にて制御します。CPUとFPGA間通信はSPI通信を採用しています。
FPGAを用いて警報データ、音片データの合成を行い、最大音声合成時でも歪みなく合成することを実現しています。また、音片データの出力回路としてDAC、オーディオアンプ等を装備しています。
当事例では、基板設計・製作といったハードウェア領域はもちろん、ファームウェアの開発といったソフトウェア領域まで一貫して対応しております。この社内一貫対応体制により、コミュニケーションロスが少ない高品質な開発を可能としてます。組み込み機器・ボードのことならお気軽に当社にご相談ください。
事例②:リアルタイム 動画検査装置
当検査装置では、PXIレイド機能+LabVIEWによる高速保存(1ファイル1GB)を実現しています。また、C++、LabVIEWが並行で動作し、保存が終了したファイルから1枚分の画像を抜き取り要求処理を実行します。
細かな処理内容はGUIで指定しています。処理のひな型はC++より提供しています。C++にて、GUIで指定された内容で動作するように構成しています。
デシリアライザICにより、画像データをシリ/パラ変換し、CameraLinkへ出力しています。また、FPGAにより、画像データバッファリング、フォーマット変換及びクロック付替えを行い、UART通信の制御を行っています。
マイコンボードに関連する開発実績
具体的に当社がこれまで対応してきたマイコンボードに関連する開発実績をご紹介します。
雨樋水位モニタリングシステム
当システムの全体像を上図に示しています。監視用デバイスからSigFox 経由でクラウド上へ雨水情報を送信し、PCのブラウザにてモニタリングを行います。雨量データは4段階で判断しており、雨量が各基準を越えたら、監視用デバイスから通信モジュールを経由し、サーバーにリアルタイムで情報を送信しています。
当監視用デバイスについては、市販の水位センサーを使用せず当社にて開発しています。理由として、要求仕様や電源等の基本仕様に合致する水位センサーがなかったことや、有効スペースの問題で小型化を実現する必要があったから、という点があります。監視用デバイスについて、ハードウェアから組み込みソフトまで当社にて設計しています。
また、監視用デバイスからの情報はWEBブラウザによりモニタリングします。監視用デバイスからサーバに至るインターフェース設計、クラウドサーバーの開発、モニタリングを行うWEBアプリケーション・ファームウェア開発といったシステム領域も当社にて開発しています。
FPGAボード・マイコンボードの設計・開発なら、組み込みシステム・IoT機器開発.comまで!
組み込みシステム・IoT機器開発.comを運営する山勝電子工業では、基板設計、部品実装、機器・ボード制作といった組み込みハードウェアの開発から、組み込みソフト、インフラ開発、WEBアプリケーションまで社内一貫対応しております。
この社内一貫対応の体制により、ハードウェアとソフトウェアの協調開発ができ、コミュニケーションロスを減らし、効率的且つ、高品質なシステム開発を実現しています。組み込みボード・組み込みシステムの開発なら、当社にお気軽にご相談ください。