0% menganggap dokumen ini bermanfaat (0 suara)
83 tayangan20 halaman

Pengenalan Protokol I2C untuk Mikroprosesor

Makalah ini membahas tentang protokol Inter-Integrated Circuit (I2C) yang merupakan standar komunikasi serial antara integrated circuit. I2C menggunakan dua kabel, SDA untuk data serial dan SCL untuk clock serial. Protokol I2C menggunakan konsep master dan slave dimana master mengontrol komunikasi dengan mengirimkan alamat 7-bit ke slave tertentu dan melakukan transfer data satu byte diikuti acknowledgement bit."

Diunggah oleh

Agus Cjdw
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
83 tayangan20 halaman

Pengenalan Protokol I2C untuk Mikroprosesor

Makalah ini membahas tentang protokol Inter-Integrated Circuit (I2C) yang merupakan standar komunikasi serial antara integrated circuit. I2C menggunakan dua kabel, SDA untuk data serial dan SCL untuk clock serial. Protokol I2C menggunakan konsep master dan slave dimana master mengontrol komunikasi dengan mengirimkan alamat 7-bit ke slave tertentu dan melakukan transfer data satu byte diikuti acknowledgement bit."

Diunggah oleh

Agus Cjdw
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd

INTER-INTEGRATED CIRCUIT

( I2C )

APLIKASI MIKROPROSESOR

Oleh :
Dwi Wahyu Wijaya
NIM : 0815000003
Program Studi Sistem Komputer

ASIAN BANKING FINANCE AND INFORMATICS INSTITUTE


PERBANAS, JAKARTA
2011

KATA PENGANTAR

Puji Syukur penulis panjatkan kepada Allah SWT yang telah


memberikan nikmat sehat dan kesempatan, sehingga dapat
menyelesaikan tugas dalam penyusunan makalah tentang InterIntegrated Circuit ini. Makalah ini sebagai tugas mata kuliah Aplikasi
Mikroprosesor pada ABFI Institute Perbanas.
Makalah ini ditujukan agar dapat memberikan pengetahuan
dan gambaran tentang Inter-Integrated Circuit. Tak ada gading yang
tak retak, penulis menyadari bahwa makalah ini masih jauh dari
kesempurnaan, untuk itu mohon maaf kiranya atas kekurangan
yang ada dalam makalah ini.
Makalah ini tidak akan terwujud tanpa bantuan pihak lain baik
secara langsung maupun tidak langsung. Oleh karena itu melalui
tulisan ini penulis ingin menyampaikan rasa terima kasih kepada
semua pihak yang telah membantu dalam penulisan karya ilmiah
ini.
Penulis juga mengucapkan terimakasih kepada ABFI Institute
Perbanas yang telah memberikan kesempatan kepada penulis utuk
menimba ilmu di Institute tersebut. Ibu Nani Krisnawaty T., S.Kom.,
M.T. selaku Ketua Program Studi Sistem Komputer ABFI Institute
Perbanas, Bapak Dicky Susilo S.T sebagai dosen mata kuliah
Aplikasi Mikroprosesor.
Akhirnya penulis berharap semoga kebaikan dan bantuan
yang diberikan mendapat balasan yang setimpal dari Allah SWT dan
semoga karya ilmiah ini dapat bermanfaat.
Jakarta,

Januari 2011

Dwi Wahyu Wijaya

Page |2

DAFTAR ISI

KATA PENGANTAR......................................................................2
DAFTAR ISI..................................................................................
3
INTER-INTEGRATED CIRCUIT.......................................................5
1.1.

Pendahuluan..............................................................5

1.2.

Latar Belakasng dan Konsep I2C.................................6

1.2.1.

Kondisi Start dan Stop................................................7

1.2.2.

Pengalamatan 7-bit....................................................7

1.2.3.

Acknowledge.............................................................8

1.3.

Fitur Utama I2C........................................................10

1.4.

Keuntungan I2C........................................................10

1.5.

Cara Kerja I2C Bus....................................................10

1.5.1.

Terminologi..............................................................11

1.5.2.

Karakter perangkat keras.........................................12

1.5.3.

Karakter Transfer Data Bit........................................13

1.5.4.

Karakter Transfer Data Byte......................................14

1.5.5.

Cara kerja I2C Bus (Format 7 bit address)..................15

1.6.

Multi Master.............................................................17

1.6.1.

Clock Synchronization...............................................18

1.6.2.

Arbitration...............................................................19

1.7.

Kesimpulan..............................................................20

Page | 3

ABSTRAK
Protokol bus I2C merupakan protokol yang pertama kali
dikembangkan oleh Philips semiconductor. Bus I2C sendiri
merupakan sistem bus serial yang didasarkan pada konsep master
dan slave. Piranti master dalam suatu sistem bus I2C dapat
merupakan mikrokontroler yang memang diperuntukkan untuk
melakukan komunikasi dalam sistem bus I2C dengan antar muka
yang telah terintegrasi didalamnya. Tetapi, tidak menutup
kemungkinan dikarenakan kesederhanaan protokol bus I2C
menjadikannya dapat secara mudah untuk diemulasikan pada suatu
mikrokontroler biasa.
Dalam Tugas Akhir ini, dilakukan emulasi konsep komunikasi
berdasarkan protokol bus I2C pada mikrokontroler AT89C51 dan juga
dibuat suatu rangkaian yang digunakan untuk mendemonstrasikan
komunikasi antara master dan slave pada suatu sistem bus I2C.
Dilakukan pengujian perangkat lunak emulasi bus I2C pada
mikrokontroler AT89C51, pengujian fungsi dari tiap slave yang
terhubung pada sistem bus I2C.

Page |4

INTER-INTEGRATED CIRCUIT
1.1. Pendahuluan
Ada beberapa macam standar komunikasi serial yang telah
dikembangkan oleh perusahaan-perusahaan semikonduktor di
dunia. Salah satu standar yang popular adalah teknik komunikasi
I2C (Inter Integrated Circuit) karena kesederhanaan arsitektur dan
protokolnya. Untuk memahami konsep komunikasi berdasarkan
standar komunikasi bus I2C maka harus dilakukan pemahaman pada
konsep dan protokol dari bus I2C.
Mikrokontroler Atmel AT89C51 merupakan mikrokontroler
boolean yang tidak mendukung konsep komunikasi bus I2C. Tetapi
karena kesederhanaan konsep arsitektur dan protokol dari standar
komunikasi bus I2C, membuatnya dapat diemulasikan dan
diwujudkan dalam suatu sistem bus I2C master tunggal dengan
beberapa buah slave yang merupakan IC-IC yang mendukung
standar komunikasi bus I2C.

1.2. Latar Belakasng dan Konsep I2C


Pada saat ini desain elektronik dituntut untuk semakin ringkas dan
fleksibel, dimana ukuran fisik IC semakin diperkecil dan jumlah pin
diminimalkan dengan tetap menjaga fleksibilitas dan kompabilitas IC
sehingga mudah untuk digunakan dalam berbagai keperluan desain
yang berbeda, oleh karenanya banyak perusahaan semikonduktor
yang berusaha mengembangkan cara baru komunikasi antar IC
yang lebih akomodatif terhadap tuntutan diatas sebagai alternatif
dari hubungan antar IC secara paralel (parallel bus) yang sudah kita
kenal luas. Salah satu metode yang telah matang dan dipakai
secara luas adalah IIC (sering ditulis juga I2C) singkatan dari Inter
Integrated
Circuit
bus
yang
dikembangkan
oleh
Philips
Semiconductor sejak tahun 1992, dengan konsep dasar komunikasi
2 arah antar IC dan/atau antar sistem secara serial menggunakan 2
kabel.
Bus I2C merupakan singkatan dari bus Inter Integrated Circuits yang
secara langsung menjelaskan fungsi dasarnya yaitu menyediakan
jalur komunikasi

Page | 5

diantara Rangkaian Terintegrasi (Integrated Circuits IC). Bus I2C


bekerja berdasarkan prinsip master dan slave. Secara fisik sistem
bus I2C terdiri dari 2 buah kawat aktif dan jalur catu daya serta
ground. Dua buah kawat aktif yaitu SDA yang merupakan
kepanjangan dari Serial Data dan SCL yang merupakan kepanjangan
Serial Clock merupakan jalur kawat dua arah (bidirectional)
Dalam konsep bus I2C ada beberapa istilah yang didefinisikan
sebagai berikut :
Komponen yang mengirim sinyal ke bus I2C disebut sebagai
transmitter
Komponen yang menerima sinyal disebut sebagai receiver
Komponen yang mengontrol transfer sinyal pada bus I2C
dengan frekuensi detak tertentu disebut sebagai master
Komponen yang dikontrol oleh master disebut sebagai slave
Dalam konsep komunikasi bus I2C hanya dibutuhkan enam operasi
dasar sederhana untuk mentransmisikan dan menerima informasi.
Keenam kode operasi itu adalah sebagai berikut :
1. Sebuah bit start
2. Suatu alamat slave 7-bit
3. Suatu bit read/write yang akan menentukan apakah slave
akan berfungsi sebagai transmitter atau receiver.
4. Suatu bit pemberitahuan (acknowledge)
5. Bit pesan yang dibagi ke dalam segmen 8-bit
6. Suatu bit stop

1.2.1.

Kondisi Start dan Stop

Kondisi START didefinisikan sebagai perubahan logika jalur data dari


high ke low pada saat logika jalur detak berada pada logika high
sedangkan kondisi STOP didefinisikan sebagai perubahan logika
jalur data dari low ke high pada saat logika jalur detak berada pada
logika high. Kedua kondisi ini diilustrasikan pada gambar dibawah.

Page |6

Gambar Kondisi Start Dan Stop

1.2.2.

Pengalamatan 7-bit

Setelah dikirimkannya kondisi start, maka dilakukan pengiriman


alamat dari slave yang akan diakses. Pengiriman ini dilakukan dalam
byte pertama dengan susunan dari byte pertama ini diilustrasikan
pada gambar dibawah.

Gambar Format Pengalamatan 7-bit


7-bit pertama dari byte pertama yang dikirim oleh master adalah
alamat dari slave yang akan diakses. Bit terakhir akan menentukan
arah data. Jika bit ini berlogika 0 maka berarti master akan
mengirimkan data ke slave yang dialamati pada 7 bit pertama,
sedangkan jika bit ini berlogika 1 maka master akan menerima
data dari slave.
Setiap piranti yang terhubung pada sistem bus I2C memiliki alamat
unik tersendiri. Umumnya susunan 7-bit dari alamat piranti terdiri
dari bit alamat tetap dan bit alamat yang dapat diprogram. Susunan
bit alamat tetap ditentukan oleh Philips Semiconductor sebagai
pemegang hak paten dari bus ini. Sedangkan susunan bit yang
dapat diprogram ditentukan oleh desainer dari

Page | 7

sistem bus yang akan digunakan.


Setiap pengiriman data pada bus I2C dilakukan dalam paket satu
byte. Satu bit data akan dikirim untuk setiap pulsa detak. Data
harus stabil selama periode logika high dari detak. Jalur data hanya
dapat berubah saat jalur detak berada pada logika low. Tranfer bit
data ini diilustrasikan dengan gambar dibawah.

Gambar Tranfer Bit Data

1.2.3.

Acknowledge

Dalam suatu sistem bus I2C, untuk setiap transfer data satu byte
yang terjadi harus diikuti dengan suatu bit acknowledge atau bit not
acknowledge.
Master
akan
membangkitkan
pulsa
detak
acknowledge. Transmitter akan melepaskan jalur data (SDA) selama
pulsa detak acknowledge. Jika tidak terdapat kesalahan, receiver
akan mem-pull down jalur SDA selama periode logika high dari pulsa
detak acknowledge. Jika suatu slave receiver tidak dapat
memberikan sinyal acknowledge maka slave akan membuat jalur
SDA tetap berkondisi high dan master akan membangkitkan kondisi
Stop untuk membatalkan pengiriman data. Jika suatu master
receiver membuat jalur SDA tetap berlogika high saat pulsa detak
acknowledge, master memberikan sinyal akhir dari transmisi dan
slave transmitter akan melepaskan jalur data sehingga master
dapat menggerakkan kondisi Stop.

Page |8

Kondisi acknowledge pada bus I2C ini diilustrasikan pada gambar


dibawah.

Gambar Kondisi Acknowledge


Suatu contoh komunikasi lengkap yang terjadi pada bus I2C dapat
dilihat pada gambar dibawah.

Gambar Contoh Komunikasi pada Bus I2C

1.3. Fitur Utama I2C


Fitur utama I2C bus adalah sebagai berikut :

Page | 9

Hanya melibatkan dua kabel yaitu serial data line (selanjutnya


disebut SDA) dan serial clock line (selanjutnya disebut SCL).
Setiap IC yang terhubung dalam I2C memiliki alamat yang
unik yang dapat diakses secara software dengan master/slave
protocol yang sederhana, dan mampu mengakomodasikan
multi master (akan dijelaskan lebih detil pada bagian lain).
I2C merupakan serial bus dengan orientasi data 8 bit (byte),
komunikasi 2 arah, dengan kecepatan transfer data sampai
100Kbit/s pada mode standart dan 3,4 Mbit/s pada mode
kecepatan tinggi.
Jumlah IC yang dapat dihubungkan pada I2C bus hanya
dibatasi oleh beban kapasitansi pada bus yaitu maksimum
400pF.

1.4. Keuntungan I2C


Keuntungan yang didapat dengan menggunakan I2C antara lain :
Meminimalkan jalur hubungan antar IC (bandingkan dengan
parallel bus !).
Menghemat luasan PCB yang dibutuhkan.
Membuat sistem yang didesain berorientasi software (mudah
diekspan dan diupgrade).
Membuat sistem yang didesain menjadi standart, sehingga
dapat dihubungkan dengan sistem lain yang juga
menggunakan I2C bus.

1.5. Cara Kerja I2C Bus


Sebelum memahami cara kerjanya, ada beberapa terminologi,
karakter dan kondisi penting dalam I2C yang harus dipahami
terlebih dahulu, yaitu :

1.5.1.

Terminologi

Transmitter yaitu device yang mengirim data ke bus.


Receiver yaitu device yang menerima data dari bus.
Master yaitu device yang memiliki inisiatif (memulai dan
mengakhiri) transfer data dan yang membangkitkan sinyal clock.

P a g e | 10

Slave yaitu device yang dialamati (diakses berdasarkan


alamatnya) oleh Master.
Multi-master yaitu sistem yang memungkinkan lebih dari satu
Master melakukan initiatif transfer data dalam waktu yang
bersamaan tanpa terjadi korupsi data.
Arbitration yaitu prosedur yang memastikan bahwa jika ada
lebih dari satu Master melakukan inisiatif transfer data secara
bersamaan, hanya akan ada satu Master yang diperbolehkan
dengan tanpa merusak data yang sedang ditransfer.
Synchronization yaitu prosedur untuk menyelaraskan sinyal
clock dari dua atau lebih device.

Gambar Contoh Sistem dengan IIC Bus

1.5.2.

Karakter perangkat keras

Kedua pin pada I2C yaitu SDA dan SCL harus memiliki
kemampuan input dan output serta bersifat open drainatau open
collector.

Page | 11

Kedua pin tersebut terhubung pada I2C bus yang telah di pull-up
dengan resistor ke suplai positif dari sistem
Semua device yang terhubung pada bus harus terhubung pada
ground yang sama sebagai referensi.

Gambar Koneksi IIC Bus

1.5.3.

Karakter Transfer Data Bit

Data bit dikirim/diterima melalui SDA, sedangkan sinyal clock


dikirim/ diterima melalui SCL, dimana dalam setiap transfer data bit
satu sinyal clock dihasilkan, transfer data bit dianggap valid jika
data bit pada SDA tetap stabil selama sinyal clock high, data bit
hanya boleh berubah jika sinyal clock dalam konsisi low, lihat
gambar 3.

P a g e | 12

Gambar Transfer Data Bit Pada I2c Bus

1.5.4.

Karakter Transfer Data Byte

I2C Bus berorientasi pada 8 bit data (byte), dengan most significant
bit / MSB ditransfer terlebih dulu, serta 2 macam data byte yaitu
Address Byte dan Data Byte.

Kondisi
START dan STOP
Apabila pada SDA terjadi transisi dari kondisi high ke kondisi low
pada saat SCL berkondisi high, maka terjadilah kondisi START.
Apabila pada SDA terjadi transisi dari kondisi low ke kondisi high
pada saat SCL berkondisi high, maka terjadilah kondisi STOP.
Kondisi START dan STOP selalu dibangkitkan oleh Master, dan bus
dikatakan sibuk setelah START dan dikatakan bebas setelah STOP.

Gambar Kondisi Start dan Stop


ACK dan NACK
Kondisi ACK terjadi apabila receiver menarik SDA pada kondisi low
selama 1 sinyal clock.
Kondisi NACK terjadi apabila receiver membebaskan SDA pada
kondisi high selama 1 sinyal clock.

Page | 13

Gambar Kondisi Ack dan Nack

1.5.5.

Cara kerja I2C Bus (Format 7 bit address)

Cara kerja I2C bus dapat dibedakan menjadi format 7 bit addressing
dan format 10 bit addressing, dalam artikel ini hanya akan dibahas
format 7 bit addressing, untuk format 10 bit addressing dapat anda
baca keterangan lengkapnya dalam
The I2C-BUS Specification Version 2.1 January 2000 yang dirilis
oleh Philips Semiconductor. Inisiatif komunikasi/transfer data selalu
oleh Master dengan
mengirimkan kondisi START diikuti dengan address byte (7 bit
address + 1 bit pengarah/data direction bit) seperti pada ilustrasi
dibawah ini

Gambar Format Address Byte


Ada dua jenis komunikasi dasar dalam I2C bus yaitu :

Master-transmitter menulis data ke slave-receiver


teralamati
Master-receiver membaca data dari slave-transmitter
Teralamati

yang
yang

P a g e | 14

Gambar Transfer Data Lengkap I2c Bus

Gambar Master-Transmitter Menulis Data Ke Slave -Receiver


Yang Teralamati

Gambar Master-Receiver Membaca Data Dari Slave


-Transmitter
Yang Teralamati

Gambar Kombinasi Master-Transmitter dan Master Receiver


Address byte terdiri dari bagian yang tetap dan bagian yang dapat
diprogram, bagian yang tetap merupakan bawaan dari IC ,

Page | 15

sedangkan yang dapat diprogram biasanya berupa pin address pada


IC yang bersangkutan, sebagai
contoh IC PCF8591, memiliki address byte sbb : 1 0 0 1 A2 A1 A0 ,
dimana 1001 adalah bagian yang tetap dan A2,A1,A0 adalah bagian
yang dapat diprogram sesuai dengan kondisi logika pada pin IC
PCF8591.
Sinyal Acknowledge (ACK) terjadi :
Dari Slave ke Master Transmitter :
Sesudah address byte diterima dengan baik oleh slave
Setiap kali slave selesai menerima data byte dengan baik
Dari Master Receiver ke Slave :
Setiap kali Master selesai menerima data byte dengan baik
Sinyal Negative Acknowledge (NACK) terjadi :
Dari Slave ke Master Transmitter :
Setelah slave gagal menerima address byte dengan baik
Setiap kali slave gagal menerima data byte dengan baik
Slave tidak terhubung pada bus
Dari Master Receiver ke slave :
Setelah Master menerima data byte yang terakhir dari slave

1.6. Multi Master


Pada I2C bus bisa terjadi situasi dimana lebih dari 1 device
mengambil initiatif transfer data sebagai Master, dengan protocol
Master/slave dan karakter hardware open drain/open collector yang
bersifat wired AND, hal ini tidak menyebabkan terjadinya korupsi
data, inilah yang disebut dengan Multi Master.
Untuk dapat melakukan Multi Master ada 2 hal yang penting yaitu
Clock Synchronization dan Arbitration.

P a g e | 16

1.6.1.

Clock Synchronization

Gambar Clock Synchronization


Karena sifat wired AND dari I2C bus, dimana jika salah satu device
menarik bus dalam kondisi low maka device lain tidak dapat
membuat bus tersebut menjadi high (sifat dari logika AND),
sehingga jika ada lebih dari satu device yang melakukan initiatif
transfer data sebagai Master dengan membangkitkan sinyal clock
pada SCL pada saat yang bersamaan harus ada sinkronisasi clock
yang dapat dijelaskan (seperti terlihat pada gambar diatas) sebagai
berikut :
Jika Master1 (Clock 1) memulai periode low sinyal clocknya, maka
SCL menjadi low, Master2 mendeteksi kondisi tersebut dan harus
juga memulai menghitung periode low sinyal clock-nya.
Saat Master1 (Clock 1) akan memulai periode high sinyal clocknya dan mendeteksi bahwa SCL masih dalam kondisi low
(disebabkan periode low sinyal clock dari Master 2 (Clock 2)
masih belum selesai) maka dia harus menunggu dan tidak
menghitung periode high sinyal clock-nya terlebih dahulu.

Page | 17

Saat Master2 (Clock 2) memulai periode high sinyal clock-nya,


maka kondisi SCL mehjadi high, Master1 (Clock1) yang
mendeteksi kondisi tersebut juga harus memulai menghitung
periode high sinyal clock-nya.
Karena Master 1 (Clock1) terlebih dahulu menyelesaikan periode
high sinyal clock-nya dan memulai periode low maka kondisi SCL
menjadi low, maka Master 2 (Clock 2) yang mendeteksi kondisi
tersebut juga harus memulai menghitung periode low sinyal
clock-nya, demikian seterusnya sehingga terjadilah sinkronisasi
sinyal clock antara Master1 dan Master2.

Secara singkat sinkronisasi clock dapat disimpulkan sbb:


1. Jika kondisi SCL tetap low pada saat Master mencoba
membuatnya high, maka Master tersebut harus memulai
mengitung periode low sinyal clock-nya
2. Jika Master akan memulai periode high sinyal clock-nya, maka
Master tersebut harus menunggu kondisi SCL menjadi high
sebelum memulai menghitung periode high sinyal clock-nya.
Sehingga sinkronisasi clock yang terbentuk sbb:
Periode low akan mengikuti periode low dari device
membangkitkan sinyal clock dengan periode low
terpanjang.
Periode high akan mengikuti periode high dari device
membangkitkan sinyal clock dengan periode high
terpendek.

1.6.2.

yang
yang
yang
yang

Arbitration

P a g e | 18

Gambar Arbitration
Dalam Multi Master, bisa terjadi kemungkinan lebih dari satu device
melakukan initiatif transfer data menjadi Master, walaupun transfer
data hanya bisa dilakukan jika kondisi bus bebas, tetapi sangat
memungkinkan lebih dari
satu device mendeteksi kondisi bus sebagai bebas dan
membangkitkan kondisi START sedikit berselisih waktu tetapi masih
dalam batas-batas kondisi START yang valid.
Untuk kondisi seperti dijelaskan diatas, maka arbitration
diberlakukan bit demi bit hingga selesai, dimana sekali lagi
sifat/karakter bus yang wired AND memungkinkan hal tersebut
terjadi. Untuk jelasnya perhatikan gambar diatas yang dapat
dijelaskan sebagai berikut :
Ambil contoh Master 1 (Data 1) akan mentrasfer data 101xxxxxB
sedangkan Master 2 (Data 2) akan mentransfer data 100101xxB.
Kedua Master mendeteksi bus dalam keadaan bebas, dan
membangkitkan sinyal START yang hampir bersamaan, Master 1
lebih dahulu membangkitkan START sehingga kondisi SDA
mengikuti Master 1, baru kemudian Master 2 membangkitkan
START, tetapi kondisi START pada SDA masih valid untuk Master2.
Kedua Master mentransfer MSbit (sama-sama 1), kemudian
data bit berikutnya (sama-sama 0), pada bit yang berikutnya
Master1 berusaha untuk membuat SDA high sesuai dengan data
bit-nya, sedangkan Master 2 berusaha untuk membuat SDA low
(sesuai dengan data bit-nya), karena sifat wired AND dari SDA,
maka kondisi SDA menjadi low, karena itu Master 1 dikatakan
kehilangan arbitrasi (dengan kata lain bisa disebut sebagai
kehilangan kontrol) atas SDA.

Page | 19

Bagi Master 1 yang kehilangan arbitrasi bisa terus


membangkitkan sinyal clock sampai transfer data selesai dan bus
dalam kondisi bebas lagi, bagi Master 2 yang memenangkan
arbitrasi (mendapat kontrol) atas SDA dapat menyelesaikan
transfer data-nya tanpa ada data yang terkorupsi sama sekali.

1.7. Kesimpulan
Komunikasi I2C dapat memenuhi target desain elektronika saat ini,
dengan karakter hardware dan master/slave protocol yang
sederhana tetapi tangguh.
Jika digunakan device yang telah dilengkapi dengan kemampuan I2C
secara built-in, akan sangat mudah untuk melaksanakan komunikasi
baik single Master maupun multi Master, tetapi bagi device yang
tidak, masih dapat mengemulasikan I2C protocol pada pin-pin I/Onya asalkan memenuhi syarat karakter hardware dengan cukup
mudah untuk single Master tetapi sedikit rumit untuk multi Master.
Artikel ini tidak membahas secara lengkap seluruh kemampuan I2C
seperti misalnya I2C mode kecepatan tinggi, tetapi cukup detil
memberikan gambaran tentang I2C.

P a g e | 20

Anda mungkin juga menyukai