About

Ahmad Edi Saputra

Monday, January 19, 2015

I2C (Inter Intgrated Circuit)

I2C merupakan komunikasi serial dua kabel yang menggunakan SDA sebagai jalur data dan SCL sebagai jalur clock. pada komunikasi ini, clock untuk mengirimkan data bersumber dari master atau host. host lah yang mengatur jalanya aliran data baik mengirim maupun menerima data sampai memilih slave yang akan berkomunikasi dengan host. Karena I2C merupakan komunikasi antar IC maka komunikasi ini mampu digunakan untuk beberapa IC seperti terlihat pada gambar dibawah ini.
SDA dan SCL merupakan pin open drain/kolektor sehingga membutuhkan pull-up agar sinyal dapat dihasilkan dengan baik. keuntungan dari sistem pull-up adalah hanya tinggal mengganti VCC pada pull-up untuk menghasilkan level sinyal yang berbeda.

Agar host (misalnya Device1) mampu menunjuk slave yang akan diajak berkomunikasi, maka masing-masing slave memiliki slave address. slave address ini harus ditunjuk pertamakali sebelum pertukaran data dilakukan. setelah slave addres ditunjuk. misalnya Device2, maka slave lain akan mengabaikan data apapun yang diterimanya.


Frame data pada pengiriman data I2C dapat dilihat pada gambar diatas. pertama-tama, I2C host mengirim sinyal start ataupun repeat start jika start gagal. setelah sinyal start berhasil dikirim, host mengirim addres untuk menunjuk slave. addres slave ini hanya 7 bit MSB tetapi dalam pengirimanya address menjadi 8-bit karena memiliki 1-bit kondisi komunikasi yaitu untuk read (bit 0 = 1) atau write (bit 0 = 0). setelah penunjukan slave address berhasil, slave akan mengirim ACK(ACKnowledge) dan host hanya bisa menerima/ mengirim data setelah ACK ini diterima.  selanjutnya host siap mengirim data.

berikut ini sinyal start dan stop dari I2C
sinyal start ditandai dengan transisi turun pin SDA saat pin SCL masih tinggi sedangkan sinyal stop ditandai dengan transisi naik pin SDA saat SCL masih tinggi. hal ini terjadi karena pada dasarnya SCL merupakan clock yang akan naik dan segera turun setelah sampling selesai sementara SDA hanya akan bertransisi saat sampling sudah selesai atau SCL rendah.

No comments :

Post a Comment