マイコン評価ボードとは
マイコン評価ボードとは、機器制御用のワンチップマイコンのソフトウェアを開発する際に利用するボードで、一般的にマイコンを販売するメーカーから提供されているものです。
マイコンのソフトウェアを開発する場合、通常、周辺回路を含めて回路設計した後に、これを基板上に実装してはじめて可能となります。しかし、回路設計における不具合の可能性もあるため、回路設計上の不具合の改修と自ら開発したソフトウェアのデバッグ作業を同時並行して進めなければならないため、まともにソフトウェアが動き始めるためには相応の時間が必要です。
マイコン評価ボードはメーカーが提供することから、当然正常な動作が保証されるため、ソフトウェアのデバッグを早期に着手できるというメリットがあります。
マイコン評価ボードの使用用途
マイコン評価ボードは機器制御用のワンチップマイコンのソフトウェアを開発する際に使用されますが、特に開発の初期段階でその役割は重要となります。開発の初期段階では、最終的なターゲットとなるマイコン搭載機器は存在しません。
製品の開発において、マイコンの開発と同時並行して、筐体の設計、回路の設計が行われるからです。このように、ターゲット機器が存在しない状態でマイコンの開発を行わなければならないのが通常の製品開発のケースです。
この場合、マイコン評価ボードを仮想のターゲット機器と想定してマイコンのソフトウェアの開発を行います。
マイコン評価ボードの原理
マイコン評価ボードには、マイコンの周辺部品として最低限必要なハードウェアが実装されています。リセット回路やリセットボタン、マイコンを動作させるための発信回路用の発振子、出力ポートの先に動作確認用の7セグメントLEDもしくは液晶表示器や入力ポートの先にスイッチ類、シリアル通信ポートの先にシリアル通信用ドライバICと通信用コネクタなどです。
マイコン評価ボードに接続するエミュレータとして、以下に示すものが挙げられます。
1. ICE (In Circuit Emurator)
CPUの機能を担うことができ、開発中の基板にCPUの代わりに装着することでプログラムの動作検証が可能になります。ターゲットボード上にマイコンが無いためICE自体にエミュレーションチップやメモリを持っており、周辺回路の動作はターゲットボードが担います。
リアルタイムトレース等高度なデバッグ機能が使用できます。一般的には、マイコン評価ボードを動作させるためのサンプルプログラムが添付されていることが多いです。
2. オンチップエミュレータ
フラッシュメモリを内蔵したマイコンは、デバッグに必要なモジュールを内部に持つものもあります。ホストPCから統合開発環境を用いてプログラム実行等の命令を出すことができ、出力された命令はデバッグ用ケーブルやターゲットボード内にあるコマンドコンバータが命令変換を行います。
変換された命令はデバッグ用モジュールが解釈できる命令となっているため、受信コマンドに応じた命令をCPUに送信して実行します。このようにホストPCとターゲットマイコンの間に接続し、コマンドコンバータ機能を持つケーブルもしくは装置をオンチップエミュレータと呼びます。
3. JTAGエミュレータ
JTAGとは、集積回路や基板テストのBoundary Scan TestやTAP (テストアクセスポート) の標準規格のことです。JTAGエミュレータはCPUデバッガ機能を搭載したオンチップエミュレータの1種です。
端子にプローブを当てることが難しいBGAパッケージ等が実装された基板上でも、問題なく実装不良を検査することができます。製品開発においては、マイコンの評価ボードに実装されていないハードウェアの制御ソフトウェアの開発が必要となるようなケースもあります。
このような時は、マイコン評価ボードの先に必要なハードウェアを搭載した追加のボードを用意して接続します。接続方法はさまざまです。マイコンのI/Oポートと直結したり、シリアル通信によりつないだりするようなケースもあります。
マイコン評価ボードのその他情報
1. マイコン評価ボードの使い方
マイコン評価ボードは、マイコンのROMにプログラムを書き込むことにより、各出力ポートに電気信号を出力することができます。出力ポート以外にもネットワーク通信のモジュールが組み込んでいる製品もあり通信のテストに用いることも可能です。
製品により使用するプログラミング言語は変わりますが、おおよそのマイコン評価ボードではC言語による制御が可能になっています。
2. マイコン評価ボードFPGA
FPGA (Field Programmable Gate Array) とは、直訳すると「現場で書き換え可能な論理回路の多数配列」となります。FPGAの特徴としては、設計した「論理回路」を間違えてもその場で即座に「ハードウェア言語」にて修正可能なデバイスです。
ハードウェア言語
ハードウェア言語は半導体の回路記述をする際に用いられる言語です。どのような回路を作るのか設計しハードウェア言語で記述することになります。
論理回路
論理回路の最も基本的なものは下記の3点になります。
- AND回路: 論理積回路
- OR回路: 論理和回路
- NOT回路: 否定回路
この3点の論理回路を組み合わせ作られる論理回路が下記になります。
- NAND: 否定論理積
- NOR: 否定論理和
- EXOR: 排他的論理和
これらの論理回路をハードウェア言語で書き換えることにより動作させることができます。
2. マイコン開発ボードとの違い
マイコン開発ボードは、主に組み込み機器、IoT機器の開発用途に使用されます。8bitから64bitまで様々な製品があり、組み込み機器用のリアルタイムOSやLinuxなどのOSを搭載出来る製品もあります。
主に使用される用途は、センサーや駆動系 (モーター類) の制御や現在主流となりつつある、IoT (Internet of Things=物同士が自律的にインターネットに接続し制御情報や収集をやり取りする仕組み) の開発です。評価ボードの通り、製品に特化したデバイスではなくある程度汎用的に使用できるので、開発初期段階のプログラムテストや回路テストなどに用いられます。
参考文献
https://ednjapan.com/edn/articles/1410/24/news017.html
https://jp.misumi-ec.com/vona2/el_control/E3000000000/E3001000000/E3001040000/
https://dotstud.io/docs/microcon/
https://deviceplus.jp/hobby/basic-of-arduino/
https://www.macnica.co.jp/business/semiconductor/articles/intel/220/
https://japan.xilinx.com/japan/fpga-koza/chapter01.html
https://www.macnica.co.jp/business/semiconductor/articles/intel/220/