PICマイクロコントローラプログラミング:すべての設計者向けの基本
Microchip Technology’s PIC®シリーズのマイクロコントローラは、価格、性能、広範な設計サポートを含む多くの理由から設計エンジニアに人気があります。また、多様なアプリケーションの要件に合うように慎重に設計された、広範な選択肢のPICマイクロコントローラ(MCU)があります。 PICの導入は、ほぼすべてのMCUの導入に似ています:最も基本的なレベルでは、設計者はハードウェアとしてMCUに実装されるロジックを詳細に知る必要があります。多くの設計で問題が発生するのは、設計者がロジックを完全に考慮していないためです。 回路ロジックの確固たる基盤を構築することに加えて、アプリケーションに関する詳細な知識は、必要な入力と出力の数、性能レベル、達成すべきコストと開発時間の予算など、重要なミッションクリティカルな質問への回答を提供します。 MCUによって対応されるべき、単純な電子設計を超えた重要な質問もあります:システムレベルのデバイスはどこで使用されるか(環境条件および地理的位置)?それが準拠しなければならない業界標準と、互換性を持つ必要がある他の製品は何か?健康、安全、および環境要件に関する業界および政府の規制を満たさなければならないものは何か? 図 1は、入出力と一部の周辺機器を備えたMicrochip Technology’s PIC16F84のブロック図を示しています。1990年代初頭に導入され、基本的な機能を果たします。今日の8ビットMCUは通常、開発者にとってソフトウェアの複雑さを増す複数の周辺機器を統合しています。

Figure 1. PIC16F84は、シリアルプログラミングアルゴリズムとEEPROMメモリを備えた最初期のMCUの一つです。出典:Microchip Technology Inc.
PIC マイクロコントローラーのハードウェア要点
PICマイクロコントローラーをプログラムするには、設定レジスタ、バス、メモリタイプなど、特定のデバイスの基本的な構成要素を知っている必要があります。PICプログラミング言語を理解することは非常に役立ちます - 必須と言っても過言ではありません。適切なソフトウェア開発ツールを選ぶことも、効率的かつ迅速な立ち上げを可能にします。 多くのPICの基盤となるメモリアーキテクチャは、Intelの8051 MCUで広く使用され始めたハーバードアーキテクチャです。このアーキテクチャは、プログラムコマンドを格納するためのメモリ空間と、データ用の別の空間を割り当てます。オンチップのフラッシュメモリ、ROM、RAM、または外部チップであることが可能な分離されたメモリ空間により、通常、プログラム実行が迅速に行われます。(「ハーバードアーキテクチャ」という用語は頻繁に緩く使用されます。「ハーバード」と呼ばれる多くのMCUは、ハーバードとフォン・ノイマンメモリアーキテクチャを混合することで変更されています。) これ以上進む前に、設計に選ばれるPIC MCUについてかなり具体的に決める必要があります。8ビットPICは良い選択であり、一般的に、16ビットや32ビットMCUよりも低コストで、十分な周辺機器セット(A/Dコンバータなど)を備えており、優れた性能を提供します。 Microchipは、いくつかの8ビットPICファミリーを提供しています。PIC10FおよびPIC12Fは最も安価ですが、メモリが少なく、ピン数が少なく、周辺機器も少ないです。最も低コストなPICチップを選ぶことは、設計の途中でMCUがアプリケーションのニーズを完全に満たしていないことを発見するリスクを伴います。PIC18Fシリーズは、Microchipの8ビット製品の性能スペクトルの他方に位置しています。より洗練されており、高度に専門化されたオンチップ周辺機器を提供し、また最も高価なファミリーです。最初の設計では、PIC18Fシリーズはおそらく過剰でしょう。
PICマイクロコントローラで設計する
PICマイクロコントローラ(または任意のMCU)をプログラムするためには、通常以下のソフトウェアツールが必要です。
- IDE(統合開発環境)、これはアプリケーション用に書かれたシンボリックロジックをプログラムコマンドに変換します
- コンパイラ、これはプログラムを設計エンジニアに広く知られるMCUアセンブリ言語、通称HEXファイルに変換します
- IPE(統合プログラミング環境)、これは最終的にプログラムの調整を経てPICにHEXファイルを転送するために使用されます
- オンボードデバッガー/プログラマー

図 2. MPLAB X IDEは幅広い補助MCUプログラミング機能をカバーしています。出典:Microchip Technology Inc.
初めて8ビットPICを使用するユーザーに向けて、MicrochipはMPLAB® Xpressを立ち上げ、クラウドベースのIDEによってツールのダウンロード、インストール、構成、定期的な更新の手間を省きました。MPLAB XpressにはMPLAB Code Configuratorが含まれており、グラフィカルインターフェースとピンマップを使用して、8ビット(および16ビット)PIC MCUの初期化およびアプリケーションCコードを自動生成することができます。 MCUを使用する際は、最初のステップとして構成レジスタを設定する必要があります。このレジスタにプログラムされたビットは、オシレータモード、ウォッチドッグタイマー、プログラミングモード、コード保護などの基本的なデバイスの動作を指定します。これらのビットは、コードが正常に動作するために正しく設定する必要があります。 構成ビットが設定されると、プログラム作成プロセスの残りはアプリケーションに応じて決定されます。そしてコードが完成すると、次のステップでは、論理ベースのエンティティをビットの実世界に移行します。 統合プログラミング環境(IPE)は、PCやワークステーションで作成されたプログラムをMCUに転送するなど、様々な機能で活用されます。前述の通り、Microchipの環境はこれらの機能を組み合わせていますが、重要な3つの概念はシミュレーション、デバッグ、PICのプログラミングです。ソフトウェアツールの詳細な説明と使用方法はこの記事の範囲を超えています。 しかし、PICkit™ 3 インサーキットデバッガー/プログラマーは追加のハードウェアであるため、他のツールのソフトウェア構成を超えた概念的なステップを進めます。アプリケーションプログラムをMCUに転送した後に使用されます。PICkit 3は、MPLABX IDEソフトウェアを実行するPCによって制御され、ツールスイートの不可欠な部分です。 図3の凡例は、Microchip TechnologyのMPLABX IDEを実行するPCとプログラムまたはデバッグされるMCUとの主な接続を示しています。

図3. MicrochipのPICkit 3は、幅広いMCUのデバッグおよび/またはプログラムを行うためのハードウェアを提供します。出典: Microchip Technology.
PICマイクロコントローラの利点
PIC MCUを使い始めるには、アプリケーション、使用するPICの基本ハードウェアアーキテクチャ、およびソフトウェアツールチェーンについての徹底的な理解が必要です。Microchipは、他のMCUに精通している技術者や初心者の設計者にも実際の設計プロセスを非常にアクセスしやすくしています。無料のソフトウェアツールによってセットアップコストを合理的にし、Microchipの設計エコシステム内外で豊富なコードやアドバイスがウェブ上で提供されています。必要なのは、PIC設計者になりたいという意欲と、プロジェクトを完了するまでの粘り強さです。
記事タグ
