35
2.5. Komunikasi Data
2.5.1. I2C
Pada perkembangan teknologi kini, baik didunia industri, otomotif, hingga pendidikan menengah dan tinggi telah menggunakan peralatan yang
memiliki teknologi yang tinggi. Salah satunya ialah penggunaan mikrokontroler. Untuk menggunakan mikrokontroler dengan perangkat keras
lainnya diperlukan senuah komunikasi data. Salah satu komunikasi data yang bisa digunakan adalah komunikasi I2C dan SPI.
Bus adalah sistem penghantar yang dilengkapi dengan komponen pengendali untuk melayani pertukaran data antara komponen perangkat keras
satu dengan komponen perangkat keras lainnya. pada sistem mikrokontroler terdapat bus data, bus alamat, dan beberapa penghantar pengendali. Semakin
tinggi frekuensi clock processor, maka semakin lebih cermat pengembang untuk memperhatikan waktu dari seluruh omponen yang terlibat, agar tidak
terjadi kesalahan dalam transaksi data. Bus yang sering digunakan adalah bus yang bersfat paralel. Transaksi data dilakukan secara paralel sehingga
transaksi data lebih cepat. Akan tetapi disisi lain memiliki biaya yang cukup mahal. Jika sistem relatif tidak membutuhkan transaksi yang cepat, maka
penggunaan serial bus menjadi pilihan. Salha satu sistem data bus yang bisa digunakan yaitu I2C Inter Integrated Circuit. Sistem bus I2C pertama kali
diperkenalkan oleh Firma Philips pada tahun 1979. I2C atau Inter Integrated Circuit adalah standar komunikasi serial dua
arah menggunkan dua saluran yang didesain khusus untuk mengirim data.
36 Sistem I2C terdiri dari saluran SCL Serial Clock dan SDA Serial Data
yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C bus dapat dioperasikan sebagai Master
dam slave. Master adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk
sinyal Stop, dan membangkitkan sinyal Clock. Slave adalah piranti yang dialamati master.
Sinyal Start merupakan sinyal untuk memulai semua perintah, yang didefinisikan sebagai perubahan tegangan SDA dari “1” menjadi “0” pada
saat SCL “1”. Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan dari “0” menjadi “1”
pada saat SCL “1”. Kondisi sinyal Start dan sinyal Stop seperti pada gambar
berikut
Gambar II.9. Kondisi sinyal Start dan Stop
Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan ACK. Setelah transfer data oleh master berhasil diterima slave,
slave akan menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA menjadi “0” selama siklus clock ke 9. Ini menunjukkan
37 bahwa Slave telah menerima 8 bit data dari Master. Kondisi sinyal
acknowledge pada gambar berikut.
Gambar II.10. sinyal ACK dan NACK
Dalam melakukan transfer data pada I2C Bus, ada beberapa tata cara yang telah ditetapkan yaitu:
1. Transfer data hanya dapat dilakukan ketika Bus tidak dalam
keadaan sibuk. 2.
Selama proses transfer data, keadaan data pada SDA harus stabil selama SCL dalam keada
an tinggi. Keadaan perubahan “1” atau “0” pada SDA hanya dapat dilakukan selama SCL dalam keadaan
rendah. Jika terjadi perubahan keadaan SDA pada saat SCL dalam keadaan tinggi, maka perubahan itu dianggap sebagai sinyal Start
atau sinyal Stop.
Gambar II.11. Transfer Bit pada I2C bus
38 Berikut ini merupakan definisi-definisi kondisi Bus :
1. Bus not busy
Pada saat ini Bus tdak dalam keadaan sibuk, SCL dan SDA dua- duanya dalam keadaan HIGH
2. Start data transfer
Ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL HIGH.
3. Data valid
Data yang dikirim bit demi bit dianggap valid jika setelah START, kondisi SDA tidak berubah selama SCL HIGH, baik
SDA HIGH maupun SDA LOW tergantung dari bit yang ingin ditransfer. Setiap siklus HIGH SCL baru menandakan pengirim
bit baru. Duty cycle untuk SCL tidak mesti 50, ttapi frekuensi kemunculannya hanya ada 2 macam, yaitu mode standar 100khz
dan fast mode cepat 400kHz. Setelah SCL mengirimkan sinyal HIGH yang kedelapan, arah transfer SDA berubah, sinyal
kesembilan pada SDA ini dianggap sebagai acknowledge dari receiver ke transmitter
4. Acknowledge
Setiap receiver wajib mengirimkan sinyal acknowledge atau sinyal balasan setiap selesai pengiriman 1-byte atau 8-bit data.
Master harus memberikan ekstra clock pada SCL, yaitu clock kesembilan untuk memberikan kesempatan receiver mengirimkan
39 sinyal acknowledge ke transmitter berupa keadaan LOW pada
SDA selama SCL HIGH. Meskipun master berperan sebagai receiver, ia tetap sebagai penentu sinyal STOP. Pada bit-akhir
penerimaan byte terakhir, master tidak mengirimkan sinyal acknowledge, SDA dibiarkan HIGH oleh receiver dalam hal ini
master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti sinyal STOP. Brian, p. t.thn
2.6. LabVIEW 2011