download

Percobaan 3
PENGENALAN INTERFACE I2C
I.
Tujuan
1. Untuk Mengenal Modul Serial port dengan I2C
2. Mengenal protocol I2C.
3. Mempelajari IC PCF8574 Remote 8 bit I/O Expander for I2C Bus.
4. Mengirim dan menerima data menggunakan IC PCF8574 dengan interface
LED Display Board dan Switch Input Board.
II. Ruang Lingkup
A. Teori Singkat
I2C merupakan standar komunikasi dengan menggunakan 2 kabel dengan
kecepatan yang cukup tinggi maka antara IC yang satu dengan yang lainnya dapat
berkomunikasi dengan baik. Dengan memanfaatkan jalur bus dan address yang
bervariasi maka I2C mampu mengalamati banyak device.
I2C terdiri dari beberapa bagian yaitu :
1. Transmitter : bagian yang berfungsi mengirimkan data ke Bus
2. Receiver : bagian yang menerima data dari Bus
3. Master : bagian yang melakukan transfer, mengenerate Clock dan
membatalkan transfer data
4. Slave : bagian yang ditunjuk oleh master sebagai tempat yang dituju.
5. Multi-Master : lebih dari satu master dapat mengontrol Bus dalam waktu
bersamaan tanpa membuat corrupt pada data yang ada.
6. Arbitration : Prosedur yang menentukan/membatasi Multi Master dan
membuat hanya satu dari dua master yang dapat mengatur Bus sehingga
tidak terjadi Corrrupt pada data.
7. Synchronization : prosedur yang mencocokkan antara Sinyal Clock dan
beberapa device.
Gambar 3.1 Konfigurasi I2C dengan lebih dari 2 device
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 1 dari 7
Pada gambar 3.1 komunikasi antara 2 mikrokontroller A dan
mikrokontroller B dan device-device lainnya (Gate Array, LCD Driver, ADC,
Static RAM/ EEPROM) dilakukan dengan menggunakan 2 jalur (SDA dan SCL).
SDA merupakan Serial Data Line yang merupakan jalur untuk
mengirimkan data-data secara serial. Sedangkan SCL merupakan Serial Clock
Line yang berfungsi untuk mengirimkan Clock yang berfungsi untuk sinkronisasi
dan menandakan pengiriman paket-paket data. Berikut merupakan timing
diagram dari I2C (Gambar 3.2).
Gambar 3.2 Timing diagram dari I2C
Komunikasi antar IC dengan menggunakan metode I2C harus
memperhatikan beberapa hal antara lainnya pada awal SDA mengirimkan transisi
data dari high ke low (“falling edge”) sedangkan SCL harus berada pada kondisi
high. Kondisi ini menandakan mulainya pengiriman data (“start condition”).
Selanjutnya pengiriman address yang ditandakan dengan SCL yang akan
mengirimkan transisi data dari high ke low dan ke high lagi. Selanjutnya
pengiriman status untuk menulis atau membaca data yang ditandai dengan tansisi
data SCL dari low ke high. Setelah mendapatkan ack dari IC tujuan yang ditandai
dengan satu clock penuh pada SCL, maka data akan dapat dikirimkan menuju IC
tujuan dengan transisi SCL dari low ke high (“rising edge”) , ACK dapat
diartikan sebagai penanda ketika data berhasil diterima oleh IC tujuan. “Stop
condition” atau penanda bahwa semua data telah dikirimkan, ditandai dengan
perubahan SDA dari low ke high (“rising edge”) yang diikuti dengan logic high
pada SCL.
Berikut ini merupakan paket-paket data yang digunakan dalam komunikasi I2C
(Gambar 3.3):
Gambar 3.3 Paket data untuk melakukan Penulisan menuju slave
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 2 dari 7
Untuk melakukan penulisan dari master menuju ke slave device maka beberapa
paket data dibutuhkan untuk melakukan proses tersebut antara lainnya: start bit,
address, R/W, ACK, Data yang hendak dikirimkan, ACK dan pengiriman data
yang selanjutnya, ACK dan stop bit. Untuk perintah R/W master device harus
menunggu ACK dari slave device yang menandakan bahwa perintah R/W
berhasil diterima dan di konfirmasi. Demikian juga halnya untuk data yang
dikirimkan harus menunggu ACK dari slave device jika pengiriman berhasil
dilakukan maka ditandai dengan adanya ACK jika tidak master device harus
mengirimkan data tersebut kembali.
Gambar 3.4
Sedangkan untuk melakukan pembacaan yang harus dilakukan ialah hanya
mengganti perintah untuk pembacaan (logic high) setelah data pertama didaptkan
maka master mengirimkan ACK ke slave device, untuk data yang selanjutnya
yang diterima, master tidak perlu mengirimkan ACK.
Istilah-istilah yang digunakan dalam komunikasi dengan menggunakan I2C:
• Start Condition : menentukan kapan data tersebut mulai dikirim
• Acknowledge
: untuk memeriksa dan mencocokkan address yang akan
diterima oleh device slave dan menentukan bagianbagian dari data yang dikirimkan dan memilah-milah
sehingga tidak terjadi kesimpang siuran antara address
dan data yang dikirimkan
• Stop Condition : kondisi yang menentukan suatu data selesai dikirim.
B. Daftar Alat
1. EX-01 LED Display Board
2. EX-03 Switch Input Board
3. EX-07 I2C Based-16 bit I/O Board
4. Serial Interface Board
kode :
kode :
kode :
kode :
III. Referensi
• Manual Book Serial Interfacing INex CITS NX-2000
• Microsoft Visual Basic 6 Step by Step
• http://homepages.which.net/~paul.hills/Software/I2CBody.html
• http://www.ping.be/~ping0751/i2cfaq/i2cproto.htm
• http://www.esacademy.com/faq/i2c/index.htm
• http://users.telenet.be/educypedia/electronics/I2C.htm
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 3 dari 7
IV. Urutan Instruksi Kerja
A. Prosedur
1. Mengirim Data melalui I2C
• Hubungkan Serial Board dengan PC.
• Hubungkan dengan menggunakan I2C bus antara Serial Board dengan
I2C Based 16 Bit I/O Board (Modul EX-07).
• Hubungkan dengan dengan menggunakan data bus antara modul Led
Display Board (EX-01) dengan I2C Based-16 Bit I/O Board (EX-07)
melalui DATA BUS #2 pada modul tersebut.
• Keseluruhan koneksi modul dapat dilihat pada gambar berikut ini
(Gambar 3.5)
Gambar 3.5 Koneksi antara modul output dengan modul I2C
dan Serial board
•
•
•
Jalankan Microsoft Visual Basic.
Untuk dapat mengontrol I2C masukkan modul I2Cser.bas. Lihat panel
project lalu click add module I2Cser.bas.
Masukkan perintah sebagai berikut
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 4 dari 7
Program Mengirim Data melalui I2C
Private Sub Command1_Click()
Sendout Val("&H" & Text1.Text)
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.PortOpen = True
End Sub
Bentuk tampilannya dapat dilihat pada gambar 3.6 di bawah ini :
Gambar 3.6 Bentuk Tampilan Mengirim Data Dengan I2C
Program tersebut akan mengirimkan 1 byte data pada text box dengan
menggunakan protokol I2C dan menampilkannya pada led display
board.
Tugas Praktikum 1:
Buatlah program mengirimakan data ke Modul Output dengan
akses per bit.
2. Menerima Data melalui I2C
• Tambahkan koneksi pada prosedur 1 di atas (Gambar X.x) dengan
cara menghubungkan dengan menggunakan data bus antara modul
switch input Board (EX-03) dengan I2C Based-16 Bit I/O Board (EX07) melalui DATA BUS #1 pada modul tersebut.
• Keseluruhan koneksi modul dapat dilihat pada gambar berikut ini
(Gambar 3.7)
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 5 dari 7
Gambar 3.7 Koneksi antara modul output dengan modul I2C
dan Serial board
•
Tambahkan program pada prosedur 1 di atas untuk menerima input
dengan I2C sebagai berikut :
Program Mengirim Data melalui I2C
Private Sub Timer1_Timer()
Call I2CStart
'Start’
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 6 dari 7
Call Send8BIT(&H79) 'Control Word Read’
Call Ack
'Acknowledge’
Text2.Text = Hex(Read8Bit)'Read Data’
Call Ack
'Acknowledge’
Call I2CStop
'Stop’
End Sub
Bentuk tampilannya dapat dilihat pada gambar 3.8 di bawah ini :
Gambar 3.8 Bentuk Tampilan Mengirim Data Dengan I2C
Program tersebut akan menerima 1 byte data dengan menggunakan
protokol I2C dari input eksternal (switch input) dan menampilkannya
pada text box.
Tugas Praktikum 2:
Buatlah program untuk menampilkan data hexadecimal pada
Modul Output ketika input diberikan pada Modul Input.
B. Tugas Laporan
1. Definisi, dan Pengertian dan Cara kerja I2C
2. Fungsi dan aplikasi I2C
3. Mengenai IC PCF8574
4. Flowchart semua program dan fungsi timer
5. Kesimpulan
C. Tugas Pendahuluan
1. Apa yang anda ketahui tentang I2C? Apa kelebihannya dan terangkan cara
kerjanya!
2. Terangkan cara kerja IC PCF8574!
Pedoman Praktikum Aplikasi Mikroprosesor & Interfacing
Percobaan 3
UPT Perangkat Keras
Halaman : 7 dari 7