bab06 - perencanaan hardware
DESCRIPTION
PPI - PIT - PICTRANSCRIPT
Minimum sistem 8088 53
6. Perencanaan Hardware (PPI + PIC + PIT)
6.1. Perencanaan Unit Memori dan Peralatan I/O
Dalam merencanakan sistem minimum maka harus dipikirkan
komunikasi sistem internal dan eksternalnya. Dengan adanya sistem bus,
maka perlu diperhatikan pembagian address untuk unit memori dan I/O
device. Biasanya digunakan memory map dan I/O map.
Dalam sistem minimum ini direncanakan kapasitas memori sebesar
16 + 2 Kbyte dengan konfigurasi sebagai berikut:
00000
FA800
6116 2Kbyte
FBFFF
FC000
27128 16 Kbyte
FFFFF
Keterangan :
EPROM 27128 direncanakan untuk sistem boot pada address
0100H
RAM 6116 direncanakan untuk daerah pengembangan.
Minimum sistem 8088 54
Sebagai unit I/O digunakan 2 PPI 8255, PIC dan PIT yang konfigurasinya
sebagai berikut:
00H : port A PPI 1
01H : port B PPI 1
02H : port C PPI 1
03H : control word PPI 1
04H : port A PPI 2
05H : port B PPI 2
06H : port C PPI 2
07H : control word PPI 2
08H : PIC - ICW1
09H : PIC - ICW2, ICW4, OCW1
0CH : kanal 0 PIT
0DH : kanal 1 PIT
0EH : kanal 2 PIT
0FH : control word PIT
Dalam merencanakan hardware dari minimum sistem 8088 dibagi menjadi 6
modul bagian yang terpisah yaitu:
Minimum sistem 8088 55
1. MODUL SISTEM MINIMUM berisi
uP 8088
buffer 74LS245
latch 74LS373
decoder 74LS138 untuk menghasilkan sinyal kontrol
clock generator
slot ekspansion
2. MODUL MEMORI mengandung
RAM 6116
EPROM 27128
dekoder 74LS138
3. APLIKASI I/O 1
rangkaian display 10 x 7 segmen untuk tampilan dis-play
secara buffer data
keypad
4. APLIKASI I/O 2
rangkaian untuk pemakaian kontrol ON/OFF atau Read /
Write ADC.
5. APLIKASI PIC 8259
rangkaian untuk interupsi
6. APLIKASI PIT 8253
rangkaian untuk timer
Minimum sistem 8088 56
6.2. Sistem Minimum
Rangkaian sistem minimum seperti berikut:
gambar 6.1. Minimum sistem 8088
Data (D0-D7) dan lower address (A0-A7) pada 8088 dimultipleks
sehingga dibutuhkan rangkaian untuk memisahkan keduanya. Hal ini
diwujudkan oleh IC transparent latch 74LS373 dan IC bidireksional
Minimum sistem 8088 57
buffer/transceiver 74LS245. Pada saat T1, ALE 0 dan DEN 1 sehingga
74LS373 bekerja sebagai buffer biasa dan 74LS245 dalam keadaan tristate.
Saat T2,T3,Tw dan T4, ALE dan DEN dalam kondisi sebaliknya, yang
menyebabkan 74LS373 dalam kondisi meyimpan (latch) data sebelumnya
dan 74LS245 bekerja normal.
A16-A19/S3-S6 berisi address dan info status yang dimultipleks
sehingga diperlukan latch 74LS373 untuk memisahkan A16-A19. Dalam
hardware yang direncanakan, informasi status tidak dipakai sehingga tidak
diperlukan IC untuk memisahkannya. Timing diagram pin ini sama dengan
timing diagram AD0-AD7.
A15-A18 tidak dimultipleks sehingga cukup diberi buffer
undireksional (satu arah) IC 74LS373. Demikian pula untuk sinyal kontrol
(MEMR, MEMW,IOW,INTA,AEN,dan RESET_DRV)
Semua latch dan buffer, kecuali untuk kontrol : ALE, INTA, AEN,
RESET_DRV mengambang pada siklus hold acknowledge dengan cara
menghubungkan pin ENABLE / G untuk buffer dan output kontrol /OC
untuk latch ke pin HLDA dari 8088 (aktif HIGH). Dengan demikian
peralatan lain dapat menggunakan sistem bus pada siklus ini.
Perhitungan fan out untuk rangkaian latch dan buffer adalah
sebagai berikut:
74LS373 mempunyai IOH = 2,6 mA dan IOL = 12 mA
74LS245 mempunyai IOH = 3 mA dan IOL = 12 mA.
IC - IC ini direncanakan terhubung melalui address bus dengan 1
RAM statis 6116, 1 EPROM 27128, 1 PPI 8255 yang mempunyai IIL=IIH
=10 uA dan PIT 8253/8254 yang mempunyai IIL = IIH = 10 uA.
Minimum sistem 8088 58
6.3. Mikroprosesor 8088
Konfigurasi pin dari mikroprosesor 8088 dalam mode minimum
dapat dilihat pada gambar 6.1. Mikroprosesor 8088 diset pada mode
minimum dengan memberi logika HIGH pada pin 33 dan logika LOW jika
difungsikan dalam mode maksimum. Untuk pengalamatan memori ,
mikroprosesor 8088 menyediakan 20 bit address yang 8 diantaranya
dimultipleks dengan data yaitu AD0-AD7. Sedangkan A16-A19
dimultipleks dengan sinyal kontrol S3-S6.
Untuk pengalamatan I/O Port dan memori , 8088 menggunakan pin
28 , jika pin 28 dalam kondisi HIGH maka alamat yang dikirim adalah
alamat untuk I/O port dan jika dalam kondisi LOW maka alamat yang
difungsikan adalah alamat dari memori. Selain itu 8088 juga dapat
mengirimkan sinyal RD dan WR (keduanya aktif low) yang bertujuan untuk
membaca dan menulis di memori atau I/O Port. Untuk itu digunakan
rangkaian tambahan seperti terlihat di bawah ini:
Gambar 6.2 Sistem dekoding pengalamatan memori atau I/O
Minimum sistem 8088 59
Mikroprosesor 8088 juga menyediakan 2 buah pin untuk fasilitas
interupsi yaitu pin 17 untuk non maskable interrupt dan pin 18 untuk
interrupt biasa. Fasilitas interupsi akan dapat diperbanyak dengan
menggunakan IC PIC 8259A yang akan dibahas pada aplikasi selanjutnya.
Untuk sinyal clock , dalam minimum sistem ini menggunakan IC
8284 yang akan mengeluarkan pulsa clock berfrekuensi 4.77 Mhz .
Fasilitas Reset pada 8088 terdapat pada pin 21 . Reset adalah
interrupt paling tinggi prioritasnya pada 8088 . Jika terjadi reset maka 8088
akan menunjuk ke alamat physiscal address FFFF0h . Karena alamat
terakhir yang dapat diakses 8088 adalah FFFFFh maka tersedia tempat
sebesar 16 byte untuk perintah jump ke awal program.
Minimum sistem 8088 60
Gambar 6.3. Address latch buffer dan data buffer
6.4. Memori
Minimum sistem menggunakan dua buah macam memori yaitu
EPROM 27128 berkapasitas 16 K Bytes dan RAM Statis 6116 yang
berkapasitas 2 K Bytes. Karena mikroprosesor akan menujuk pertama kali
pada alamat FFFF0h maka pada alamat tersebut harus sudah ada instruksi
lompat ke awal program , oleh karena itu EPROM diletakkan pada bagian
Minimum sistem 8088 61
terakhir memori sedangkan RAM diletakkan pada bagian awal memori
karena untuk penggunaan interrupt, 8088 memakai alamat 00000h-003FFh
sebagai tabel vector interrupt.
Dalam minimum sistem , memori dibagi menjadi 8 zone yang berarti
interval tiap zone adalah 128 KByte. Oleh karena itu sebagai zone bit
dipakai A17-A19 seperti terlihat pada rangkaian di bawah ini :
Gambar 6.4 Memori Minimum Sistem dan dekoder alamatnya
Minimum sistem 8088 62
Gambaran memori mapping dari rangkaian memori dalam minimum
sistem di atas dapat dilihat pada tabel 6.2
Tabel 6.2 Memory Mapping dari Minimum Sistem
00000 H RAM STATIS
007FF H 6116 ( 2 KB)
00800 H ZONE 7
1FFFF H
20000 H ZONE 6
3FFFF H
40000 H ZONE 5
5FFFF H
60000 H ZONE 4
7FFFF H
80000 H ZONE 3
9FFFF H
A0000 H ZONE 2
BFFFF H
C0000 H ZONE 1
DFFFFH
E0000 H ZONE 0
FE000 H EPROM 27128
FFFFFH (16 K B)
6.5. I/O PORT
Untuk peralatan I/O dari minimum sistem digunakan IC
Programmable Peripheral Interface 8255. PPI 8255 merupakan peripheral
interface yang dapat diprogram fungsinya. PPI ini dibagi menjadi 2 group,
group A yang terdiri dari port A dan port C upper, group B yang terdiri dari
port B dan port C lower. Fungsi masing-masing pin adalah sebagai berikut :
Minimum sistem 8088 63
* Data (D0-D7) : merupakan jalur data
* Chip Select (CS) : untuk mengaktifkan PPI
* Read (RD) : untuk mengambil data dari PPI
* Write(WR) : untuk mengeluarkan dara dari PPI
* Address (A0-A1) : untuk menentukan internal register
dalam 8255 yang akan dibaca atau
ditulis
* Reset : untuk mereset register PPI
Dalam minimum sistem , PPI 8255 ditaruh pada alamat yang menggunakan
bit address-nya sebagai berikut:
A4 A3 A2 A1 A0 Port
0 0 0 0 0 A 1
0 0 0 0 1 B 1
0 0 0 1 0 C 1
0 0 0 1 1 Control Word 1
0 0 1 0 0 A 2
0 0 1 0 1 B 2
0 0 1 1 0 C 2
0 0 1 1 1 Control Word 2
Rangkaiannya adalah sebagai berikut :
Minimum sistem 8088 64
Gambar 6.6. PPI 8255 dan dekoding alamatnya
Rangkaian PIC8259 terdiri dari 8 tombol IRQ yaitu IR0 sampai
dengan IR7. IR0 mempunyai prioritas tertinggi, sedangkan IR7 mempunyai
prioritas terendah. Output dari tombol di NOT Schmitt Trigger karena IR0 -
IR7 aktif HIGH.
Pin data dihubungkan dengan data bus dari minimum sistem, pin
INT dihubungkan dengan pin INT dari uP 8088, pin INTA dihubungkan
dengan pin INTA dari uP8088, pin CS dihubungkan dengan CS2 dari
dekoder di atas dan pin A0 dengan A0 untuk memilih ICW dan OCW.
Minimum sistem 8088 65
gambar 6.7. PIC 8259
Rangkaian PIT terdiri dari 3 input dan 3 output. Pin data bus
dihubungkan dengan data bus minimum sistem, A0 dan A1 dihubungkan
dengan pin alamat A0 dan A1 dari uP8088 untuk memilih kanal PIT yang
aktif, sedangkan CS dihubungkan dengan CS3 dari dekoder di atas.
Minimum sistem 8088 66
g
ambar 6.8. PIT 8253
6.6. Cara menentukan alamat jump reset :
Misal ROM yang digunakan 16 Kb, maka perhitungannya adalah sebagai
berikut:
FFFFF (uP 8088 mampu mengakses 1 Mb)
2FFF (kapasistas ROM)
-------- -
FD000 (awal EPROM)
FFFF0 (tempat jump reset pada 8088)
FD000 (awal EPROM)
-------- -
1FF0 (lokasi jump reset pada EPROM
16Kb)
kemudian dengan menentukan origin dari software, misal origin 100H :
Minimum sistem 8088 67
FE000 : FE00 : 0000 (org 0H)
100
-------- -
FDF00 : FDF0 : 0100 (org 100H)
1FF0
100
------- -
20F0 (lokasi jump reset pada EPROM
16Kb dengan org 100H)