Ads 468x60px

Rabu, 22 Mei 2013

Pengalamatan 7-bit dan 8-bit pada komunikasi I2C Arduino


Tiap device dengan antarmuka I2C pasti memiliki alamat yang akan digunakan dalam proses komunikasinya. Alamat tersebut harus bersifat unik untuk masing-masing device yang terhubung dalam satu bus I2C. Adapun I2C memiliki beberapa jenis pengalamatan, namun yang umum digunakan adalah pengalamatan 7-bit dan 8-bit.

Arduino mendukung I2C dengan format pengalamatan 7-bit. Format pengalamatan 7-bit menggunakan 8-bit data dimana 7-bit MSB digunakan sebagai alamat device, dan 1-bit terakhir digunakan sebagai bit read/write untuk penanda operasi baca atau tulis. Ilustrasi pengalamatan 7-bit I2C adalah seperti pada gambar di bawah.


Format pengalamatan 8-bit sebenarnya adalah sama dengan format pengalamatan 7-bit, hanya saja bit read/write diikutkan sebagai alamat bersama dengan 7-bit sebelumnya. Maka dari itu device dengan format pengalamatan 8-bit memiliki dua buah alamat (untuk operasi baca dan tulis). Sebagai contoh adalah modul sensor DT-Sense Temperature Sensor. Modul tersebut memiliki dua buah alamat (untuk operasi baca dan tulis) untuk tiap pengaturan jumper address-nya.


Agar DT-Sense Temperature Sensor dapat digunakan bersama dengan modul Arduino, maka format pengalamatan 8-bit DT-Sense Temperature Sensor harus disesuaikan ke dalam format pengalamatan 7-bit. Penyesuaian dapat dilakukan dengan cara seperti yang diilustrasikan pada gambar di bawah.


Sebagai contoh, jika alamat DT-Sense Temperature Sensor adalah 0xE0 untuk operasi baca dan 0xE1 untuk operasi tulis, maka kita lakukan operasi shift right sebanyak 1-bit pada salah satu alamat saja. Hasil dari shift right 1-bit untuk alamat baca maupun tulis diatas adalah 0x70. Nilai inilah yang dapat digunakan pada Arduino untuk proses komunikasinya dengan DT-Sense Temperature Sensor. Hal ini tidak hanya berlaku pada produk DT-Sense Temperature Sensor saja, namun dapat diterapkan untuk semua produk Innovative Electronics yang menggunakan pengalamatan 8-bit.

sumber: http://www.totalphase.com/support/kb/10039/

Selamat berinovasi!!!!!!!

1 komentar:

  1. Dear Innovative Electronics...

    Kebetulan saya sudah membeli Modul DT-Sense Gas Sensor nya, hanya saja saya mengalami kesulitan untuk bisa meng-komunikasikannya lewat I2C dengan Arduino. Saya sudah baca datasheet dan http://blog.innovativeelectronics.com/2013/05/pengalamatan-7-bit-dan-8-bit-pada.html juga tapi masih belum paham. Mungkin bisa di share contoh library/Arduino code nya agar DT-Sense Gas Sensor bisa dikomunikasikan dengan Arduino

    Terima kasih...

    BalasHapus