PIC (コントローラ)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
PIC(ピック)とは、Peripheral Interface Controllerの略称であり、マイクロチップ・テクノロジー社(Microchip Technology Inc.)が製造しているマイクロコントローラ(制御用IC)製品群の総称である。コンピュータの周辺機器接続の制御用として1980年代にゼネラル・インスツルメント(General Instruments Corporation)社により開発された。後にPICの事業部門が独立してマイクロチップ社となり現在に至る。
PICにはCPU、メモリ(RAM、ROM)、I/Oなどが1チップに収められており、ROMに書き込まれたプログラムにより制御される。回路構成が簡単であり、安価なので電子工作を行う人の間で人気がある。
目次 |
[編集] 特徴
RISCライクに命令数を抑えた構造になっているほか、コードエリアとデータエリアが分離されたハーバードアーキテクチャになっているのが特徴。「ビットコア」とはコードメモリの1命令のビット数をさす。
パッケージは主に長方形のDIPタイプで、さらに小型の表面実装タイプのものもある。ピン数の少ない製品が多く、下は8ピンのものから存在する。汎用パラレルポートのほか、タイマやA/Dコンバータなどを内蔵するもの、動作用のクロック回路を内蔵するもの、プログラムコード用にフラッシュROMを備えたものもある。なお、バスは一切出力されていない。シリアルコントローラ(USART,IIC)を内蔵している品種もある。
開発環境は、MPLABというアセンブラベースの統合開発環境がメーカーから無償で配布されているほか、C言語コンパイラも何種類か発売されている。
日本では、電子工作雑誌で紹介されたり、秋葉原などにある電子パーツ店ではライタなどのキットを発売されている。PICチップやライタ、開発環境が入手しやすいため普及した。
PICは電子部品を扱う複数の会社がキットで提供しているため、電子工作でよく使われている。秋葉原では最も基本的なモデルである16F84と、I/Oピンと機能が多くプログラムメモリもかなり広い16F877が大量に安価で出回っており、ほとんどの回路ではこれが利用される。今まで専用のLSIやICなどで構成されていた回路をPICに置き換えている電子工作キットなどもある。 また、プレイステーションなどをはじめとした各種ゲーム機を信号的に騙し、プロテクトを不正に外すチップ(通称MODチップ)に利用されたこともある(不正競争防止法の改正により現在は違法)。
[編集] PICの種類
[編集] データメモリ8ビット
12、14ビットコアのシリーズは下記のような独特な特徴を持つ。
- 一定サイズ以上のプログラムはページ切り替えを必要とする
- 定数テーブルは作れないので値を返すリターン命令で代用する
- 汎用レジスタが一つしかない代わりにデータメモリを「ファイルレジスタ」として使用できる
- 分岐にはスキップ命令を組み合わせる
- スタックが8(12ビットコアでは2)段階に抑えられている、など
16ビットコアのシリーズはアーキテクチャが高級言語向きになるなど、より汎用マイコンらしく拡張されている。
- ベースラインシリーズ(命令12ビット長コア)
- PIC10系
- 10F200
- 10F202
- 10F204
- 10F206
- 10F220
- 10F222
- PIC12系
- 12F509
- 12F629 クロック内蔵の8PinのPIC。
- 12F675 A/Dコンバータを搭載。
- 12F683 PWMを搭載・内部クロック8MHz
- PIC10系
- ミッドレンジシリーズ(命令14ビット長コア)
- PIC16系
- 16F84A PIC入門用として最適。本もたくさん出版されている。ただ、付加機能が少なく昔からあるチップのため少々高価
- 16F648A 16F84Aに付随機能を付けたタイプ、内蔵クロックを搭載したため外付けクロック不要で実験できるため扱いやすい、PWM・SPI・USARTを搭載。
- 16F88 18PinのPICでは最強と言われている、A/Dコンバータ搭載、内蔵クロック8MHz搭載
- 16F877A 機能が豊富。プログラムメモリも8Kで、大容量。使いやすい。
- PIC16系
- ハイエンドシリーズ(命令16ビット長コア)
- PIC18系
[編集] データメモリ16ビット
- dsPIC
- dsPIC30系 命令24ビット長・データ長16ビットのCPUコアと、DSPを内蔵。
[編集] PIC互換
- SCENIX SXシリーズ - SCENIX(現在はUbicom)のCPUで、ミップス・テクノロジーズをスピンオフしたチームが開発した。PICとバイナリ互換で命令を4倍速にし、さらに50MHzや75MHzと高クロック化されている。PIC12相当のものとPIC16相当のものがある。
[編集] 関連項目
[編集] 外部リンク
カテゴリ: 制御工学 | マイクロプロセッサ | コンピュータ関連のスタブ項目