コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第2週目

コンピュータ系実験Ⅲ
「ワンチップマイコンの応用」
第1週目
目的と実験の流れ

PICと呼ばれるワンチップマイコンを用いて、計算機
の基本的な動作について知ってもらう

実験は全4週で行う
 第1週:PICを用いた回路の作成,
アセンブリ言語の演習
 第2週:アセンブリ言語によるプログラミング
 第3週:割り込みプログラムの作成
 第4週:レポート提出&筆記試験
アセンブリ言語の演習
講義資料

講義資料を以下のURLにて配布する
 翌週の火曜日までにはその週の講義資料を
アップロードするので、各自のノートPCにダウン
ロードしてから実験に臨むこと

実験室のネットワークは使用できません
http://www.am.ics.keio.ac.jp/members/yomi/pic.html
マイコンとは?
マイクロコントローラ、マイクロコンピュータの
略
 家電製品などに組み込んで使用する小型の
コンピュータのこと
 性能も機能も限定されるが、簡素で安価とい
う利点を持つ

 そのため、家電製品以外にも、教育目的などでも
使用される
PICとは?


Peripheral Interface Controllerの略
その名の通り、
 コンピュータの周辺機器(Peripheral)の
 接続部分(Interface)を
 制御(Control)

するために開発されたワンチップマイコン
内部に演算処理部、メモリ、入出力部が組み込まれ
ているため、PICだけで制御部を構成可能
 回路を簡潔にすることができる
PICの構造
加算や減算、
各種論理演算
を行うブロック
プログラムが
格納されて
いるメモリ
プログラムメモリ
(EEPROM)
PICの動作設定、
演算のための
データ格納用メモリ
演算処理部
メモリ
(レジスタ
ファイル)
PIC外部との
データの入出力
のためのポート
入
出
力
ポ
ー
ト
PICの特徴 ①

プログラムメモリとしてEEPROM(Electrically Erasable
Programmable Read-Only Memory)を内臓



電気によってデータ(この場合はプログラム)を書き込み・消去可能な
メモリ
1000回程度までならプログラムを自由に書き換えられる
RISC(Reduced Instruction Set Computer)思想による設計

命令を単純化・固定長化して、パイプライン処理の効率を上げることで、
性能向上を図るという考え方



PowerPC(IBM, Motorola), SPARC(Sun Microsystems)など
PICでは命令数が35と非常に少ない
逆の考え方に、CISC(Complex Instruction Set Computer)がある

Pentium(Intel)など
RISCとCISC ①


RISC
命令の単純化




CISC
命令の複雑化

各命令が同じクロック数で
終了
プロセッサの高クロック化が
可能
必ず1サイクルで1命令ロー
ド可能
パイプラインが乱れない
1つの命令で複雑な処理を
行う


同じ処理を行う場合、CISC
に比べて命令数が増加する
命令の固定長化


1つの命令であまり複雑な処
理を行わない





命令によって要するクロック
数が異なる
プロセッサの高クロック化が
難しい
同じ処理を行う場合、RISC
に比べて命令数が少ない
命令が固定長でない


命令のロードに複数クロック
要する場合がある
パイプラインが乱れる
RISCとCISC ②


現在のRISCとCISCは互いの利点を取り込むことに
よって、その差異はあいまいとなっている
RISC
 命令数の増加
 複数命令同時実行などを取り入れたことにより、プロセッ
サ内部が複雑化

CISC
 プロセッサ内部でRISCに似た命令に変換して処理
(例)Pentium系プロセッサのμOPコード
PICの特徴②

ハーバードアーキテクチャ
 データバスとプログラムバスが別になっているアーキテク
チャ
 全ての命令を1ワードで構成することが可能

つまり、1クロックで必ず1命令ロード可能
 データバスとプログラムバスが共通のものをノイマン型
アーキテクチャという


命令が複数ワードになることがある
これらの特徴の詳細、他の特徴に関しては実験書
の3~14ページを参照
全ての命令を1ワードで構成

汎用計算機の世界ではデータは1バイト(=8bit)を
基本として扱う
 データバス、データメモリは必ずバイト単位(8bit単位)
 8bit, 16bit, 32bit, 64bit・・・(一般に2の乗数幅)

命令(プログラム)はそのプロセッサの設計によって
は長さが8bit単位とは限らない
 PICでは12bit(ローレンジ),
14bit(ミッドレンジ), 16bit(ハ
イエンド)
 これを8bit幅のデータメモリに格納すると、2ワード分の領
域が必要になる

ハーバードアーキテクチャではプログラムメモリと
データメモリが異なるので、1命令を格納するのに1
ワードで済む
本日の実験
1.部品のチェック
 2.部品の特性の測定
 3.LED点灯回路の作成
 4.MPLABのインストール
 5.アセンブリ言語の演習(16:10から)

1.部品のチェック

実験書P15の表3に示される部品が全部ある
かどうか確認
 USB-シリアル変換ケーブル、PICライタは実際に
使うときに貸し出すので、この時点では無くてOK
 電源は2人で1個あればOK
足りないものがあれば、TAに申告して、補充
する
 終わったら、TAに報告

2.部品の特性の測定

以下の素子について、値を測定する
 抵抗:4.7kΩと240Ωの抵抗の抵抗値をテスタで測定
 LED:LEDに抵抗と電源を接続し、LEDが点灯することを
確認する


LEDのアノードとカソードを逆に接続して、点灯しないことも確認
ブレッドボード上で行う
 電源:5Vに設定されているか確認

4.9V以下、または5.1V以上の場合はTAに調整してもらう
 終わったら、TAに報告
抵抗値の測定

電源を使用せず、抵抗の各端子にテスタの
端子を当てて測定する
 テスタは抵抗を測定する場合、テスタ内部の電源
を使用して、“どの程度電流が流れるのか”を測
定する
 他の電源による電流が流れていると、正しい抵抗
値を測定できない
LEDの動作確認

電源とLEDのみの回路で点
灯確認を行わないこと
 必ず抵抗を入れること
 LEDが壊れます
LEDは電球と異なり、抵抗値が
ほぼ0
 オームの法則
(電流)=(電圧)/(抵抗)
に当てはめると・・・
 巨大な電流が流れることになる

Vcc
3.LED点灯回路の作成

実験書P16図10、P17図11の回路を作成
 1枚のブレッドボードに両方の回路を作成
 実験書P17~P18の注意をよく読むこと

PICのピン配置、LEDの向き等
 配線用の線材が足りなくなったら、TAに補充しても
らうこと
線材の色は実験書P17の注意書きに従うこと
 引き出しの中に元から入っている配線は使用しないこと

 作成し終わったら、TAに報告し、サンプルのPICを
用いて動作確認
回路の配置

回路はブレッド
ボードを半分ずつ
使用して作成する
(縦でも横でも構わ
ない)
図10
の回路
図10
の回路
図11
の回路
図11
の回路
ブレッドボードの注意点

矢印で示された部
分はつながってな
いので、電源線と
GND線をつなぐ必
要がある
積層セラミックコンデンサについて

積層セラミックコンデ
ンサはそれぞれの
PICの電源とGNDを
直接接続するように
配置する(別に図の
ようにまたぐ必要は
無い)
18
1
Vss(GND) 5
9
PIC
14 VDD(電源)
10
電解コンデンサについて

電解コンデンサは電源付近に配置する
 ブレッドボードの電源コネクタに直接接続するの
が一番確実
その他の作成のポイント

LEDの配置
 適当に並べないこと

配線
 不必要に長い線材を使用しないこと

PIC
 実験中に何度も取り外しを行うので、取り外しや
すい配置にすること
4.MPLABのインストール

TAからMPLABのファイル一式を受け取り、
自分のノートPCにインストール
 USBメモリから自分のノートPCにコピーしてか
らインストールする

USBメモリに入っているデータは全てコ
ピーすること
 サンプルプログラム
 USB-Serial変換ケーブルのドライバ
実験書の訂正
実験書8ページのステータスレジスタの説明
 下記の赤字の部分が訂正点
1. 3bit目「SLEEP命令を実行すると0になる」
2. 5~6bit目「(RP0,RP1)=10の場合に
Bank1, (RP0,RP1)=01の場合にBank2,」
