Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Antarmuka I/O Dasar TKC210 - Teknik Interface dan Peripheral
Eko Didik Widianto Teknik Sistem Komputer - Universitas Diponegoro
Bahasan Kuliah
Antarmuka I/O Dasar @2011,Eko Didik Widianto
I
Koneksi peripheral I/O sederhana ke mikrokontroler secara langsung (direct I/O) dan terprogram (memory-mapped I/O) I
I
I
Direct I/O: pin-pin I/O prosesor secara langsung dihubungkan ke peripheral, misalnya saklar, LED, dll Memory-mapped I/O (program-controlled I/O): peripheral I/O dipetakan ke dalam alamat memori, sehingga komunikasi prosesor dengan peripheral seperti prosesor berkomunikasi dengan memori
Teknik-teknik I/O I
Analisis pewaktuan dan pembebanan
Antarmuka I/O Secara Langsung
Kompetensi Dasar
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
I
Mahasiswa mampu menjelaskan perbedaan operasi direct I/O dan program-controlled I/O dengan tepat
I
Mahasiswa mampu mengaplikasikan teknik antarmuka secara direct I/O dan program-controlled I/O dengan tepat
I
Mahasiswa mampu menganalisis pewaktuan dan pembebanan dalam interkoneksi prosesor dan peripheral I/O
Referensi
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
1. Ken Arnold, “Embedded Controller Hardware Design”, Bab 8, 2004 2. Microcontroller Interfacing. http://cq.cx/interface.pl 3. Switch Debouncing. http://www.labbookpages.co.uk/electronics/debounce.html
Bahasan
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Direct I/O
@2011,Eko Didik Widianto
I
I
Pin I/O prosesor dihubungkan langsung dengan peripheral, misalnya saklar, tombol, LED, sensor Kadang perlu untuk mengkonversikan level tegangan dan arus prosesor agar sesuai dengan peripheral I
Perlu menerjemahkan spesifikasi dan batasan kemampuan rangkaian I
I
Misalnya spesifikasi DC dibandingkan dengan kebutuhan untuk mendrive rangkaian LED sederhana Misalnya bounce (koneksi open dan close beberapa kali dalam milidetik) yang terjadi untuk masukan tombol mekanik perlu debouncer. Debouncer bisa diimplementasikan secara software maupun hardware
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Port I/O 8051 I
Port I/O 8051 dipetakan ke alamat SFR (Special Function Register) I I I
Lokasi memori data internal di 80h - FFh Dapat memberikan arus 10-100 uA Bersifat bit-addressable I
Misalnya Port 1 (P1) dipetakan ke alamat 90h. P1 juga ada di lokasi bit addressable di lokasi 90h - 97h (P1.0 di alamat 90h, P1.7 ada di alamat 97h)
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Reset dan Set Port I/O
Antarmuka I/O Dasar @2011,Eko Didik Widianto
I
I
Perintah mereset port-port I/O mikrokontroler ke nilai 0 dan mengeset ke nilai 1 dapat dilakukan untuk semua jalur dalam port tersebut atau setiap jalur/pin Contoh untuk port P1 dengan alamat 90h: I I I I I I I I I
MOV 90h, #0 MOV P1, #0 CLR 97h CLR P1.7 MOV 90h, #FFh MOV P1, #0ffh SETB 97h SETB P1.7 JB P1.0,addr
; Reset semua jalur P1 ; P1 adalah nama simbol untuk port 1 ; Clear jalur di alamat 97h (P1.7) ; Menggunakan simbol ; Set semua jalur P1 dengan 1 ; P1 adalah nama simbol untuk port 1 ; Set jalur di alamat 97h (P1.7) ; Menggunakan simbol ; Jump ke
jika bit P1.0 set
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Transfer Data di Port I/O
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana
I
Dekoding Alamat I/O (Memory-Mapped)
Contoh: I
I I I
MOV 90h,A port 1 MOV P1,A MOV A,P1 MOV C,P1.1
; Data dari akumulator dikirimkan ke ; Menggunakan nama simbol ; ACC <= Port 1 ; C <= P1.1
Antarmuka I/O Dasar
Rangkaian Port I/O
@2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
I
Operasi: masukan (I), keluaran (O) atau masukan/keluaran (I/O) I
I
Input: NMOSFET dimatikan dengan menulis 1 Pull-up secara internal
Antarmuka I/O Dasar
Pin I/O Dua Arah
@2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana
I
Pull-up sebagai current source I
I
Sekitar 50uA ke beban eksternal
Arus sink lebih besar, beberapa mA
Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Batasan Arus Keluaran
@2011,Eko Didik Widianto Antarmuka I/O Secara Langsung
I
Arus source? 50uA
Port I/O untuk Keluarga 8051
I
Arus output low: 15 mA (max), absolute max
Peripheral I/O Sederhana
I
I I
LED butuh 10mA agar terang
I
Tegangan di kaki LED 1.5 - 2 volt
Arus total sink untuk 8 port: 26 mA I
I
Jika lebih akan merusak chip
Jika semua LOW, maka tiap port sekitar 3 mA
Arus yang mengalir di LED adalah 5−2 330 ≈ 9mA
Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Supply Lebih Banyak Arus
@2011,Eko Didik Widianto
I
Arus source= 50uA
I
Arus yang mengalir di LED adalah 50u × β I
I
I
LED butuh 10-20mA agar terang penuh
I
Tegangan di kaki LED 1.5 2 volt
β merupakan gain transistor NPN Kebutuhan arus besar: transistor Darlington
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Driver Luaran PNP
@2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051
I
Arus sink lebih besar daripada source
I
Untuk arus sink low 1.6mA dan gain transistor 50, arus LED 80mA
Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Saklar
@2011,Eko Didik Widianto
I
Mikrokontroler sudah mempunyai resistor pullup I
I
I
Nilai masukan 1 saat saklar terbuka Nilai masukan 0 saat saklar tertutup
Problem: bouncing, osilasi antara 1 dan 0 I
I
Berhenti setelah beberapa mdetik Perlu debouncer I
Mengabaikan transisi 1 dan 0 untuk beberapa waktu
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Debouncer
@2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051
I
Peripheral I/O Sederhana
Tipe: I I
Dekoding Alamat I/O (Memory-Mapped)
Rangkaian IC I
I I
MAX6816, MC14490
Digital swictch (PLD) Software
I
Menggunakan inverter
I
http://www.labbookpages.co.uk/electronics/debounce.html
Operasi Debouncer
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Saklar Terisolasi dengan Opto-isolator
Antarmuka I/O Dasar @2011,Eko Didik Widianto
I
Pertimbangan safety
I
menggunakan phototransistor I
I
Vin=0, maka masukan mikro HIGH I
I
MCT62: dual phototransistor
Arus sink: 500uA
Vin maksimum: 61.5Volt = 1.5V + 60mA. 1k I
Vin minimum: 1+1.5V=2.5V, sehingga arus yang mengalir 1/1k=1mA bisa membuat LED aktif
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Antarmuka I/O Dasar
Keyboard Matriks
@2011,Eko Didik Widianto
I I
Termultipleks: 4 row, 4 column Menghemat pin:
Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana
I
I
I
64 kunci? I
I
menggunakan 4-ke-2 enkoder: column menggunakan 2-ke-4 decoder: row 8-ke-3 enkoder dan 3-ke-8 dekoder
IC keypad: 74HC922 I
Dapat dipetakan di
Dekoding Alamat I/O (Memory-Mapped)
Tampilan Matriks
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
I
Termultipleks: scanned/refreshed secara kolum dan baris
Memory-mapped I/O Partial Address Decoding
I
Pengalamatan memory-mapped I/O untuk switch dan LED
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)
Peta Alamat I/O
Antarmuka I/O Dasar @2011,Eko Didik Widianto Antarmuka I/O Secara Langsung Port I/O untuk Keluarga 8051 Peripheral I/O Sederhana Dekoding Alamat I/O (Memory-Mapped)