マイコン開発ってどうやるの?マイコン開発のポイントと流れを解説!
今回の記事では、マイコン開発のポイントやマイコン開発の流れをご説明します。
マイコンとは何か
マイコンとは、電子機器などの組み込みシステムに使われるICチップのことです。マイコンのみで多くの制御が可能となるため部品点数を少なくすることができ、電子機器の小型化も実現できます。また、安く大量生産が可能という点もマイコンの特長になります。
マイコンの用途
マイコンを用いてプログラムを作成すると複雑な制御が可能となります。そのため、制御が複雑で多機能、高性能が求められるパソコンやオフィスコンピュータ、自動車エンジン、家庭用電気機器などに組み込まれています。
マイコンの開発方法
マイコンの開発方法は、開発するハードウェアやソフトウェア、プログラムによって異なります。
マイコン開発の流れ
ここからはマイコン開発の流れを解説いたします。
書き込みツールの準備
マイコンの選定においては設計仕様に加え開発のしやすさなど条件を加味する必要があります。新規のマイコンを使用する場面では多くの場合、途中でトラブルシュートが必要となるため、なるべく過去の使用実績があったり、ドキュメントや情報が入手しやすいマイコンを選定します。
設計仕様としては下記条件に合わせ選定していきます。
・電源(電源電圧、消費電流)
・クロック周波数
・I/Oピン数
・メモリ容量
・機能モジュール
開発のし易さについては下記に注意して選定していきます。
・開発環境の使いやすさ(コンパイラ、デバッガ)
・書き込みツールの入手性、使いやすさ
・データシート、アプリケーションノートなど資料の入手性
・評価ボードの入手性
周波数が低く、単機能の実装でよければマイコン(MCU)を選定します。
周波数が高く、小型のPCをイメージしたシステムを構築する場合はマイクロプロセッサ(MPU)を選定します。
マイコン(MCU)の利用シーン
・タイマユニット
・ON/OFFディレイI/O
・シーケンサ
・通信ゲートウェイ
マイクロプロセッサ(MPU)の利用シーン
・パネルコンピュータ
・タブレット端末
・多チャンネルI/O
・高速A/D変換
マイコンはチップ単体で動作することが前提となるため、RAMを増設することなどは一般的にできません。マイクロプロセッサはピンとして外部バスが引き出されていることが多く、メモリやその他バス接続デバイスを拡張することができます。
また、マイクロプロセッサはOSが使用できることが多いため汎用的に使用できる場合が多いです。
一般的に複雑かつ高速処理を行う場合はマイクロプロセッサ(もしくはPC)で検討を進めます。
評価ボードの選定
評価ボードに書き込み機能が内蔵されていてUSBケーブルで書き込みができる場合は書き込みツールは不要です。
最終的に独自の基板にマイコンを搭載する場合は書き込みツールが必要となる場合が多いです。
・シリアルポート(RS-232C)
・ICSP(SPI)
・JTAG
書き込みを行うために書き込みツールを準備します。使用する開発環境が選定した書き込みツールに対応していることを確認します。
開発環境のセットアップ
開発環境をセットアップします。
C言語で開発を行う場合は開発ツールとコンパイラが別の場合もあります。ドキュメントにて開発環境のセットアップ方法を確認します。セットアップが完了したらサンプルプログラムなどをロードしてビルドを行ってみます。
さらに選定したデバイスを指定したプロジェクトを作成し、ビルドできるか確認を行います。その他必要なツールがあればインストールします。
書き込みテスト
評価ボードのサンプルプロジェクトやテストプロジェクトを開発ツールにロードして実際に書き込みを行います。一般的にボード上のLEDを点滅(blink)させるだけのサンプルが提供される場合が多いです。
テストプログラムの実行
ソースコードからスタートアップ関数を探します。スタートアップ関数に独自コード(LED点滅など簡単なもの)を記述し、期待通りの動作となることを確認します。
マイコン開発のポイント
ここからはマイコン開発のポイントを解説いたします。
マイコン制御による制御盤の小型化・コスト削減
PLCを含む制御盤を多数製作して設置する場合、筐体サイズを小さくし、コストを削減する必要があります。
期待通りの動きをしない際の、マイコンチェックのポイント
異なる機器間で調歩同期型シリアル通信を行う場合、ボーレートを合わせてもビットレートの誤差の影響により通信頻度やデータ量によっては通信異常が発生する場合があります。相互のビットレートを合わせる必要があります。
マイコンの動作状況によっては大きな電流が流れることがあり、電源の供給能力によっては電源電圧の低下が発生して正常に起動しなかったり動作中のプログラムが停止/リセットする場合があります。
IC/デバイスの未使用端子が適切に処理されていない場合、回路が正常動作しない場合があります。
マイコンの割り込み
マイコンのハードウェア割り込みは特定の状態変化を即座に検出してプログラム動作に反映させたいケースで使用しますが、割り込み処理自体の処理時間が長いと他のプロセスが動作できる時間が短くなってしまい全体の動作レスポンスが低下します。複数の割り込みを同時に使用する場合、優先順位を適切に設定し個々の割り込み動作が正常に機能するよう調整する必要があります。
まとめ
今回の記事では
・マイコンとは何か
・マイコン開発の流れ
・マイコン開発のポイント
についてご説明しました。
当社は、設計開発代行やODMサービスを提供し、大手精密機器メーカー様を始めとした皆様に選ばれています。マイコン開発でお困りの方は組み込み機器・組み込みハードウェア 設計製作.comにご相談ください。
技術情報・技術コラム

- 組み込み機器
SoCとは?FPGAとの違いを解説!
今回の記事では、SoCとは何か、SoCの用途、SoCのメリット・デメリット、SoCとFPGAとの違いについてご説明いたします。

- 組み込み機器
組み込みLinuxとは?組み込みLinuxの特徴と開発までの流れを解説!
今回の記事では、組み込みLinuxとは何か、組み込みLinuxの特徴についてご説明いたします。

- 組み込みボード
マイコン開発ってどうやるの?マイコン開発のポイントと流れを解説!
今回の記事では、マイコン開発のポイントやマイコン開発の流れをご説明します。

- 組み込みボード
FPGA設計:テスト動作までの流れを解説!
本記事ではFPGA設計のポイントやFPGA設計の流れをご説明します!

- 組み込みハードウェア
ハードウェア設計を外注する際に注意すべき点
「ハードウェア設計」と一口に言っても、設計する要素は多数あります。それもまた、10、20といったレベルではありません。これは機器に使用されるソフトウェア以外は、ハードウェアと言うことができ、ハードウェアの定義が非常に幅広いためです。

- 組み込みボード
ASICとFPGAの違いについて解説!
ASIC(エーシック)とは、ある特定の用途や分野のために使われる電子機器やシステムに搭載される、「大規模集積回路」の総称で、FPGA とは、Field Programmable Gate Arrayの文字通り、設計者がフィールド(現場)で論理回路の構成をプログラムできるゲート(論理回路)を集積したデバイスのことを指します。
当記事では ASICとFPGAについて、それぞれの違いも含めて詳しく説明しています。

- 組み込みボード
FPGAとは?メリット・デメリットについて解説!
本記事ではFPGAとは何かについて、わかりやすく解説します!
FPGAとよく混同されがちな、マイコン、CPU、CPLD、DSP、GPU、ASIC、ASSPとの違いについてや、メリットデメリットについて詳しく解説します!

- 組み込み機器
組み込み機器とは?組み込み機器の例、構成、設計事例、IoTとの関係について解説!
組み込み機器とは、コンピュータを埋め込み、ある特定の機能を実現したシステムを用いて作られた機器のことを言います。当記事では、組み込み機器とは?組み込み機器の例・構成・設計事例・IoTとの関係について詳しく解説します。組み込み機器の基礎知識を知りたい方に是非読んでいただきたい記事です!ぜひご覧下さいませ。

- 組み込み機器
- 組み込みボード
組み込みソフトウェアとは?搭載機器や開発の流れ、開発言語について解説!
組み込みソフトウェアとは、ある特定の機能を実現したシステムを用いて作られた機器に搭載され動作を制御するプログラムのことです。
この記事では、組み込みソフトウェアを搭載している機器の具体例、開発の流れ、そのプログラミング言語を解説しています。組み込みソフトウェアの基礎知識を知りたい方にぜひ読んでいただきたい記事です!ぜひご覧下さいませ。

- 組み込みハードウェア
組み込みハードウェアとは?組み込みハードウェアの種類・設計要素・設計のポイントを解説!
組み込みハードウェアとは、「組み込み機器に使用される、特定用途に限定されたハードウェア」のことです。当記事では、組み込みハードウェアとは?組み込みハードウェアの種類・設計要素・設計のポイントについて詳しく解説します。組み込みハードウェアの基礎知識を知りたい方に是非読んでいただきたい記事です!ぜひご覧下さいませ。