平成13年2月9日
情報工学科 r00h0390 不死川魔沙王
7.各部の詳細
CPU部
ACPUボード(拡張部)
左の40ピンのICが8255
拡張I/Oポート8255について
今回のマイクロマウスでは、モータ制御用に8本の出力端子(PIO1ポートが必要)・センサ制御用に10本の入力端子(PIO2ポートが必要)が必要となる。AKI80のPIOは2ポートしかないため、PIOを増設する必要がある。そこで8255を用いて増設を行った。
8255は、8ビットパラレルデータ転送専用LSIである。8ビットPIOを3ポート持っており、各々のポートを入出力ポートにプログラムできる。MPU(マイクロプロセッサ)と接続することにより、PA(ポートA),PB(ポートB),PC(ポートC),CWR(コントロールワードレジスタ)とMPU間のデータ転送ができる。
CWRの内容によって、各ポートの入出力設定を行うことができる。今回はPA・PCを入力ポート、PBを出力ポートとした。
8255のポートセレクト信号(A1とA0で制御)と選択されるポートの関係は以下のとおりである。
ポートセレクト信号 |
選択されるポート |
|
A1 | A0 | |
0 | 0 | PA |
0 | 1 | PB |
1 | 0 | PC |
1 | 1 | CWR |
8255とCPUボード本体部の結合方法
アドレスデコーダには74138を使用した。
アドレスデコーダ接続図
74138では、G1='H'かつG2A=G2B='L'のときだけ出力が'L'となる(有効となる)。ゆえに、MPUアドレスバスと選択ポートの関係は以下のようになる。
MPUアドレスバス |
ポート番号(16進数) |
8255内部選択ポート |
A7〜A0 | ||
0 0 1 0 0 0 0 0 | 20h | PA |
0 0 1 0 0 0 0 0 | 21h | PB |
0 0 1 0 0 0 0 0 | 22h | PC |
0 0 1 0 0 0 0 0 | 23h | CWR |
8255入出力ポートの割り振り
入出力ポート | 使用箇所 |
PA0〜PA7 | 横センサからの入力(下図参照) |
PB0〜PB7 | モータドライブ回路への出力 |
PC0,PC7 | 前センサからの入力(下図参照) |
センサ部フォトリフレクタの配置(上から見た場合。PCが前センサ、PAが横センサを担当)
PA7 PA6 PA5 PA4 |
PC7 PC0 |
PA3 PA2 PA1 PA0 |