PICマイクロコントローラプログラミング: すべての設計者のための基礎

Microchip Technologyの PIC® マイクロコントローラ 製品ライン は、価格、性能、広範な設計サポートなど、さまざまな理由から設計エンジニアに人気があります。多様なアプリケーションの要件に合わせて慎重に設計されたPICマイクロコントローラ (MCU) も幅広く取り揃えています。

PICを使い始めることは、事実上あらゆるMCUを使い始めることと似ています。最も基本的なレベルでは、設計者はMCUのハードウェアに実装されるロジックを詳細に知っておく必要があります。多くのデザインでは、デザイナーがロジックを完全に考えていないために問題が発生します。

回路ロジックの強固な基盤を構築することに加えて、アプリケーションに関する詳細な知識があれば、必要な入力と出力の数、パフォーマンスのレベル、満たさなければならないコストと開発時間の予算など、ミッションクリティカルな質問に対する答えが得られます。

MCUが処理しなければならない、単純な電子設計を超えた重要な質問もあります。システム レベルのデバイスはどこで使用されるのでしょうか (環境条件と地理的位置)?どのような業界標準に準拠する必要があり、他の製品と相互運用する必要がありますか?健康、安全、環境の要件に関する業界および政府の規制にはどのようなものがありますか?

図1 I/Oといくつかの周辺機器を備えたMicrochip TechnologyのPIC16F84のブロック図を示します。1990年代初頭に導入され、基本的な機能を実行します。今日の8ビットMCUは通常、複数の周辺機器を統合しており、アプリケーション開発者にとってソフトウェアの複雑さが増します。

Microchip Technology PIC16F84のブロック図 (IOおよび周辺機器付き)

図1. PIC16F84は、シリアル プログラミング アルゴリズムとEEPROMメモリを搭載した最も初期のMCUの1つです。出典: Microchip Technology Inc.

PICマイクロコントローラのハードウェアの基本

PICマイクロコントローラをプログラムするには、構成レジスタ、バス、メモリ タイプなど、特定のデバイスの基本的な構成要素を知っておく必要があります。PICプログラミング言語を理解することは、必須ではないにしても、非常に役立ちます。適切なセットを選択する ソフトウェア開発ツール また、立ち上げがより簡単かつ迅速になります。

多くのPICの基盤となるメモリ アーキテクチャはハーバード アーキテクチャであり、これはIntelの8051 MCUで初めて広く導入されました。このアーキテクチャには、プログラム コマンドを格納するためのメモリ領域が1つあり、データ用に別の領域が割り当てられます。オンチップのフラッシュメモリ、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マイクロコントローラ アーキテクチャを使い始めたばかりの設計者には、10年以上前から存在し、今でも人気があるPIC16Fシリーズのチップが最適です。その結果、このファミリはインターネット上で利用可能な最大のコード ライブラリを持ち、多くの基本コードが記述されており、簡単にダウンロードできるようになっています。

このリソースの宝庫は非常に貴重です。特に、PIC16F877には豊富なコードと回路図があり、オンライン教師や教室教師、また多数のプロの設計者によって多くの「スターター」プロジェクトで使用されてきました。ただし、これは古いMCU設計であり、Microchipは新しいプロジェクトにはこれを推奨していません。幸いなことに、PIC16F877の設計サポートのほぼすべては、ピンレイアウトと周辺機器のオプションがほぼ同じであるPIC16F887でも引き続き使用できます。

PIC16F887は、最大でもわずかな変更を加えた同じコードを実行します。また、より安価なソフトウェア開発ツールも使用します。

PIC16F887は、256バイトのEEPROMデータ メモリと、自動車、産業、家電、または民生用アプリケーションのA/Dアプリケーションに適した周辺機器セットを備えています。データシートは こちらにあります

PICマイクロコントローラのプログラミング方法

PICマイクロコントローラ (または任意のMCU) をプログラムするには、通常、次のソフトウェア ツールが必要です。

  • アプリケーション用に記述された記号ロジックをプログラムコマンドに変換するIDE(統合開発環境)
  • コンパイラは、プログラムをMCUアセンブリ言語(設計エンジニアの間ではHEXファイルとして一般的に知られている)に変換する。
  • 最終的にプログラム調整後に16進ファイルをPICに転送するために使用されたIPE (統合プログラミング環境)
  • インサーキットデバッガ/プログラマ

Microchip社のソフトウェア開発ツールは、そのパフォーマンスと使いやすさで高く評価されています。同社のMPLAB®X IDE、MPLAB®XCコンパイラ、MPLAB® IPEは、設計者がサードパーティのツールを比較して購入する負担を軽減します。Microchipの基本ツールは無料で提供されます。すべての Microchip開発ツールの概要は、ここからアクセスできます

図2 は、Microchip社のMPLABX統合開発環境 (IDE) の5つのカテゴリで利用可能な製品を示しています。

Microchip社製品は5つのカテゴリで提供されており、MPLABX統合開発環境IDEも提供されています

図2. MPLAB X IDEは、MCUプログラミングの補助機能を幅広くカバーしています。出典: Microchip Technology Inc.

Microchip社は、初めて8ビットPICを使用するユーザー向けに、ツールのダウンロード、インストール、構成、定期的な更新といった面倒な作業を省いたクラウドベースのIDEであるMPLAB® Xpressをリリースし、さらに簡単に使い始められるようにしました。MPLAB XpressにはMPLAB Code Configuratorが含まれており、ユーザーはグラフィカル インターフェイスとピン マップを使用して、8ビット (および16ビット) PIC MCUの初期化およびアプリケーションCコードを自動的に生成できます。

他のMCUと同様に、最初のステップは構成レジスタを設定することです。これらのレジスタにプログラムされたビットは、発振器モード、ウォッチドッグ タイマー、プログラミング モード、コード保護などの基本的なデバイス動作を指定します。コードを正常に実行するには、これらのビットを正しく設定する必要があります。

構成ビットが設定されると、プログラム作成プロセスの残りの部分はアプリケーションによって異なります。コードが完成したら、次のステップでは、ロジックベースのエンティティを実際のビットの世界に移動します。

統合プログラミング環境 (IPE) は、PCまたはワークステーションで作成されたプログラムをMCUに転送するなど、さまざまな機能に役立ちます。前述のように、Microchipの環境ではこれらの機能が組み合わされていますが、重要な概念はPICのシミュレーション、デバッグ、プログラミングの3つです。ソフトウェア ツールとその使用方法の詳細な説明は、この記事の範囲外です。

PICkit™ 3インサーキットデバッガ/プログラマ ただし、これは追加のハードウェアであり、概念的には他のツールのソフトウェア構成よりも一歩進んでいるため、言及する価値があります。アプリケーションプログラムをMCUに転送した後に使用します。PICkit 3は、MPLABX IDEソフトウェアを実行するPCによって制御され、ツール スイートの不可欠な部分です。

伝説の 図3 プログラムまたはデバッグ中のMCUとMicrochip TechnologyのMPLABX IDEを実行するPC間の主な接続を示します。

プログラムまたはデバッグ中のMCU間の主な接続を示す凡例 - Microchip PICkit 3インサーキット デバッガ プログラマ

図3. MicrochipのPICkit 3は、幅広いMCUをデバッグおよび/またはプログラムするためのハードウェアを提供します。出典: マイクロチップテクノロジー

PICマイクロコントローラの利点

PIC MCUを使い始めるには、アプリケーション、使用するPICの基本的なハードウェア アーキテクチャ、およびソフトウェア ツール チェーンを十分に理解する必要があります。Microchipは、他のMCUに精通しているエンジニアだけでなく、まったくの初心者の設計者にとっても、実際の設計プロセスを非常にアクセスしやすいものにしました。無料のソフトウェア ツールによりセットアップ コストが合理的になり、Microchipの設計エコシステム内とWeb全体にわたって豊富なコードとアドバイスが提供されます。PIC設計者を目指す人に求められるのは、着手したいという意欲と、プロジェクトを最後までやり遂げる粘り強さだけです。


あなたはリストに載っていますか?
特別オファー、製品発表、最新の業界ニュースを受け取るにはサインアップしてください。

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here