40
Setelah device menerima alamat yang dikirim, maka device akan
melakukan komparasi dengan alamat device itu sendiri. Jika alamat tidak
cocok, maka device akan menunggu sampai bus dalam kondisi Stop,
ketika alamat cocok, maka device akan mengirimkan sinyal Acknowledge.
3.
Setelah Master menerima sinyal acknowledge, maka transmisi data dapat
dilakukan. Ketika transmisi data sudah selesai, master akan mengirimkan
kondisi Stop.
Dalam proses transmisi data, I2C dapat digunakan dalam topologi single
master atau multi master. Pada topologi single master tidak ada masalah collision
karena hanya satu master device yang menentukan kapan untuk melakukan operasi
read atau write. Namun, pada topologi multi master, dibutuhkan metode transmisi
data untuk memastikan tidak adanya collision. Sebelum transmisi data dilakukan,
dibutuhkan prosedur berikut:
1.
Backing off:
Sebelum master melakukan transmisi data, master harus mengecek
bus apakah bus sedang dipakai, jika bus sedang dipakai, maka master
akan
menunggu hingga bus sedang dalam kondisi tidak terpakai.
2.
Software Time-outs:
Bahkan dengan prosedur backing off, dibutuhkan prosedur lain untuk
memastikan tidak adanya collision, karena masih ada kemungkinan dua atau
lebih master menggunakan bus pada saat yang sama. Maka setiap device
yang terhubung ke bus harus mengamati jalur SDA dan SCL apakah jalur
tersebut sedang dipakai dalam waktu yang sangat lama secara terus-menerus.
Jika device mendapatkan kondisi tersebut, maka device tersebut harus
melakukan inisialisasi ulang modul I2C dan melepaskan bus yang terhubung.
2.10
GPIO (General Purpose Input/Output)
General-purpose input/output
(GPIO) merupakan suatu pin
yang dapat
ditemukan di suatu integrated circuit (IC) dimana arah data pada pin tersebut dapat
dikontrol oleh user. GPIO memiliki kapabilitas sebagai berikut:
Pin
GPIO yang ada pada Raspberry Pi dapat diakses untuk mengontrol
hardware seperti lampu LED, motor, relay, dan peripheral
lainnya sebagai output.
Pin
GPIO ini juga dapat dikonfigurasi sebagai input
sehingga Raspberry Pi dapat
|