コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第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,」
© Copyright 2025 ExpyDoc