Komunikasi I2C (Inter-Integrated Circuit) / Two-wire (TWI)
|
Komunikasi I2C (Inter-Integrated Circuit) |
- Pendahuluan
Baiklah
sekarang kita akan membahas tentang “Komunikasi
I2C (Inter-Integrated Circuit) / Two-wire (TWI)”. Pembahasan kali ini kita
akan berbagi tentang pengertian apa itu I2C, mekanisme kerja dari I2C, cara mengakses
komunikasi I2C Pada Arduino dengan sedikit contoh program untuk mengetahui
alamat I2C sebuah modul yang akan dihubungkan ke Arduino.
Bus adalah sistem pengantar yang dilengkapi dengan
komponen pengendali untuk melayani pertukaran data antara komponen Hardware
satu dengan komponen Hardware lainnya. Pada sistem mikrokontroler terdapat bus
Data, bus Alamat, dan beberapa pengantar pengendali. Semakin tinggi frekuensi
clock prosesor, maka semakin lebih cermat pengembang untuk memperhatikan Timing
dari seluruh komponen yang terlibat, agar tidak terjadi kesalahan dalam
transaksi data.
Bus yang cukup sering digunakan adalah bus bersifat
paralel. Transaksi data dilakukan secara paralel sehingga transaksi data lebih
cepat. Akan tetapi disisi lain sistem ini tergolong Mahal. Jika sistem relatif
tidak membutuhkan transaksi yang cepat, maka penggunaan Serial Bus menjadi
pilihan. Salah satu pilihan sistem data bus yang sering digunakan adalah I2C (Inter Integrated Circuit). Sistem Bus
I2C sendiri pertamakali diperkenalkan oleh Firma Philips pada tahun 1979.
Agar data dapat didistribusikan oleh master dengan tepat
ke beberapa slave, menurut konsep I2C, semua jenis IC I2C diproduksi dengan
nomor group tersendiri yang diatur oleh Philips, sehingga produsen IC lain yang
memproduksi IC I2C harus mendaftarkan produknya ke Philips untuk mendapatkan
nomor group.
contohnya,
- IC
serial EEPROM memiliki no group =
1010 biner,
- IC Remote 8 bit I/O Expander memiliki no group = 0111 biner. dll
No group dimasukan ke 4 bit msb untuk mensetting device adress dan 3
bit berikutnya A0, A1 ,A2 kaki
ic yg bersangkutan. Dengan
demikian pada I2C Bus total bisa dipasang paling banyak 8 IC sejenis.
contoh : IC EEPROM 24C02 kaki A2, A1 dan A0 kita groundkan, maka device
address Ic 24C02 tsb adalah 1010 000x ,
x = 1 jika operasi baca , x=0 jika operasi tulis.