• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
24
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 AVR

AVR merupakan kepanjangan dari Advanced Virtual RISC (wikipedia). Arsitektur internalnya dirancang oleh 2 orang: Alf-Egil Bogen dan Vegard Wollen, pada Institut Teknologi Norwegia (NTH), dan kemudian dikembangkan oleh Atmel Norwegia. AVR merupakan salah satu peralatan RISC. RISC merupakan singkatan dari “Reduced Instruction Set Computing” yang artinya peralatan ini didesain untuk berjalan dengan sangat cepat dengan menggunakan sejumlah instruksi yang lebih sedikit. Jumlah instruksi yang lebih sedikit inilah yang menyebabkan peralatan RISC berjalan lebih cepat, karena berdasarkan faktanya, dengan jumlah instruksi mesin yang terbatas, semua instruksinya dapat dijalankan hanya dalam satu clock saja. Artinya prosesor AVR yang menggunakan clock 16 MHz dapat mengeksekusi hampir 16 juta instruksi perdetik.

Secara keseluruhan arsitektur dari Atmel AVR menyerupai sebuah mikrokomputer. AVR sudah memiliki sendiri sebuah CPU, memory, dan bagian I/O. Bagian CPU memang tidak dapat kita ketahui bagaimana cara kerjanya. Tapi memory dan bagian I/O dapat dilihat dengan jelas dan perlu kita pahami dengan baik jika ingin mendesain aplikasi dengan menggunakan AVR.

(2)

memory program. Konsep ini memungkinkan instruksi dieksekusi dalam setiap clock. Memory program yang digunakan dalam AVR adalah Flash Memory.

Register file yang digunakan dalam AVR adalah register umum 32 x 8 bit dengan waktu akses satu clock. Dengan menggunakan ini, operasi ALU dapat dilakukan dalam satu clock. Dalam operasi ALU yang biasa, dua operand didapat dari keluaran file register, operasi kemudian dijalankan, dan hasilnya kemudian disimpan lagi dalam file register- semuanya dilakukan dalam satu siklus clock.

Enam dari 32 register yang ada dapat digunakan sebagai indirect address register pointer 16 bit untuk pengalamatan data space, yang memungkinkan penghitungan alamat yang efisien. Satu dari pointer alamat ini juga dapat digunakan sebagai pointer alamat untuk look up table pada Flash memory. Selain itu juga ada 3 register tambahan pada AVR ini, yaitu register x, y, dan z, yang masing-masing sebesar 16 bit.

ALU yang digunakan mendukung operasi aritmatika dan logika antar register ataupun antara sebuah konstanta dan sebuah register. Operasi dengan register tunggal juga dapat dieksekusi di ALU. Setelah suatu operasi aritmatika dijalankan, status register diupdate untuk menyimpan informasi tentang hasil operasi yang baru saja dilakukan.

Aliran program dilakukan dengan menggunakan instruksi call dan jump bersyarat ataupun tak bersyarat, mampu secara langsung mengalamati seluruh alamat yang tersedia. Kebanyakan instruksi AVR memiliki format 16 bit. Setiap alamat memory program terdiri dari instruksi 16 atau 32 bit.

(3)

tersendiri untuk proses baca dan baca/tulis. Instruksi SPM yang menulis ke bagian program aplikasi harus disimpan di bagian boot program.

Selama pemanggilan interupt dan subrutin, alamat kembali pada PC (Program Counter) disimpan ke dalam stack. Stack ini terletak pada data umum di SRAM, dan konsekuensinya ukuran stack hanya dibatasi oleh ukuran total SRAM dan penggunaan SRAM. Semua program harus menginisialisasi SP dalam reset routine (sebelum subrutin atau interupt dieksekusi). Stack Pointer dapat diakses dengan baca/tulis pada bagian I/O. Data pada SRAM dapat diakses dengan mudah melalui lima metode pengalamatan berbeda yang didukung oleh arsitektur AVR. Ruang memory dalam arsitektur AVR semuanya bersifat linear dan memiliki peta memory yang umum.

(4)

Deskripsi pin :

Vcc Digital Supply Voltage

Gnd Ground

Port A (PA7..PA0) Port A digunakan sebagai masukan analog untuk ADC

Port B (PB7..PB0) Port B adalah sebuah port I/O dua arah 8 bit, dengan resistor pull up internal.

Port C (PC7..PC0) Port C mempunyai fungsi yang sama dengan Port B, yaitu sebagai port I/O dua arah 8 bit, dengan resistor pull up internal

Port D (PD7..PD0) Port D mempunyai fungsi yang sama dengan Port B, yaitu sebagai port I/O dua arah 8 bit, dengan resistor pull up internal. Selain itu port D juga digunakan untuk fitur-fitur khusus yang tersedia pada AT mega 8535

Reset Untuk mereset masukan. Jika pin ini mendapat masukan low maka pin ini akan mengeluarkan reset, bahkan jika tidak mendapat clock. XTAL 1 Masukan untuk penguat osilator inverting dan juga sebagai

masukan bagi clock internal AVR XTAL 2 Keluaran dari penguat osilator inverting

AVCC AVCC adalah pin supply tegangan untuk port A dan ADC. Pin ini harus dihubungkan secara eksternal dengan pin VCC, bahkan jika ADC tidak digunakan. Jika ADC digunakan, pin ini harus dihubungkan ke VCC melalui sebuah Low Pass Filter

(5)

ATMega 8535 adalah mikrokontroler CMOS 8 bit berdaya rendah yang dibuat berdasarkan arsitektur RISC AVR. Dengan mengeksekusi instruksi dalam satu clock, ATMega 8535 mempunyai kemampuan mendekati 1 MIPS per MHz sehingga perancang sistem dapat mengoptimalkan antara konsumsi daya dan kecepatan pemrosesan.

Inti dari AVR mengkombinasikan satu set instruksi yang beragam dengan 32 register umum. Semua register ini dihubungkan secara langsung ke ALU (Arithmetic Logic Unit), sehingga dua register yang terpisah dapat diakses dalam satu instruksi tunggal dan dieksekusi dalam satu siklus clock. Hasil dari arsitektur ini adalah kode yang lebih efisien tapi dengan hasil yang 10 kali lebih cepat daripada mikrokontroler CISC konvensional.

ATMega 8535 menyediakan fitur-fitur sebagai berikut: 8 Kbytes ISP flash memory dengan kemampuan baca sambil menulis (read while write), 512 byte EEPROM, 512 byte SRAM, 32 jalur I/O, 32 register umum, 3 timer/counter fleksibel, dengan mode pembandingan, interupt internal dan eksternal, USART, 2 wire serial interface berorientasi byte, ADC 10 bit dengan 8 channel dengan masukan diferensial (optional) dengan gain yang dapat diprogram di paket TQFP, watchdog timer yang dapat diprogram dengan osilator internal, port serial SPI, dan 6 mode penghematan daya yang dapat dipilih.

(6)

sementara perangkat lainnya dalam keadaan tidur. Mode ADC noise reduction menghentikan CPU dan semua modul I/O kecuali timer asinkron dan ADC, untuk meminimalkan noise selama proses pengkonversian ADC. Pada mode standby, osilator kristal akan terus berjalan sementara perangkat lainnnya tidur. Mode ini menghasilkan start up yang sangat cepat dengan konsumsi daya rendah. Pada mode extended standby, baik osilator maupun timer asinkron masih terus berjalan.

Perangkat ini dirancang dengan menggunakan teknologi memory nonvolatile berkepadatan tinggi milik Atmel. Dengan adanya on-chip ISP Flash memungkinkan memory program dapat diprogram ulang secara in-system melalui interface serial SPI, dengan pemrogram memory nonvolatile konvensional, atau dengan program on-boot chip yang berjalan pada inti AVR. Boot program bisa menggunakan interface apapun untuk mendownload program aplikasi ke dalam bagian aplikasi dari flash memory. Software pada bagian boot flash masih akan terus berjalan walaupun bagian aplikasi flash sedang diupdate, sehingga menyediakan operasi baca sambil menulis (read while write). Dengan mengkombinasikan CPU RISC 8 bit dengan in-system self-programmable flash dalam satu chip tunggal, Atmel ATMega 8535 adalah mikrokontroler ampuh yang menyediakan sebuah solusi yang fleksibel dengan harga yang efektif untuk banyak aplikasi sistem embedded.

(7)

2.3 Komunikasi serial menggunakan SPI

SPI (Serial Peripheral Interface) adalah salah satu bentuk komunikasi serial yang disediakan dalam AVR sehingga memang direkomendasikan menggunakan SPI karena dari datasheet. SPI merupakan sebuah bus komunikasi serial sinkron, artinya transmitter dan receiver yang terlibat dalam komunikasi SPI harus menggunakan clock yang sama untuk mensinkronkan pendeteksian bit pada receiver. Normalnya bus SPI digunakan untuk komunikasi dengan jarak yang sangat pendek dengan perangkat atau mikrokontroler lain yang terletak pada papan rangkaian yang sama atau setidaknya dalam hardware yang sama. Ini berbeda dari UART, yang digunakan untuk komunikasi pada jarak yang lebih jauh, seperti antara sebuah mikrokontroler dan PC. Bus SPI dikembangkan untuk menyediakan bentuk komunikasi yang memiliki kecepatan yang relatif tinggi pada jarak dekat dengan menggunakan jumlah pin kontroler yang minimum. Komunikasi SPI terdiri dari sebuah master dan slave. Keduanya mengirim dan menerima data secara simultan, tapi master adalah yang bertanggung jawab untuk menyediakan sinyal clock untuk proses transfer data. Dengan cara ini masterlah yang mengatur kecepatan transfer data, dan karenanya, adalah yang mengendalikan transfer data.

(8)

berbeda mengalir dari slave ke master. Dengan cara ini master dan slave dapat saling bertukar data dalam satu komunikasi tunggal.

Gambar 2.2 Koneksi unit Master dan Slave

Adalah sangat memungkinkan untuk menghubungkan beberapa perangkat sekaligus menggunakan bus SPI, karena semua pin MOSI dan pin MISO dapat disambungkan sekaligus. Perangkat manapun dalam jaringan ini dapat menjadi master hanya dengan memutuskan untuk mengirimkan data. Sebuah perangkat dalam jaringan ini dapat menjadi slave ketika pin SS(slave select) digroundkan. Biasanya pin SS dari para slave ini dihubungkan entah dengan port paralel pada master atau dengan sebuah decoder yang akan menentukan perangkat mana yang akan menjadi slave.

(9)

Tambahan pula, ada bit yang digunakan untuk mengatur urutan pengiriman data, MSB first atau LSB first, dan ada juga bit yang digunakan untuk mengatur polaritas clock dan fase clock. Ada juga bit yang digunakan untuk mencocokkan antara peralatan komunikasi SPI dengan perangkat SPI lainnya.

Gambar 2.3 Definisi bit SPCR

• Bit 7 SPIE (SPI interupt enable): bit ini menyebabkan interupt SPI dijalankan jika bit SPIF pada register SPSR diset dan jika bit Global Interupt Enable pada SREG juga di set

• Bit 6 SPE (SPI enable): ketika bit SPE bernilai 1, SPI enable. Bit ini harus diset jika ingin menjalankan semua operasi SPI.

• Bit 5 DORD (Data order): ketika bit DORD bernilai 1, maka bagian LSB data akan dikirim terlebih dahulu. Ketika bit DORD bernilai 0, maka bagian MSB data akan dikirim terlebih dahulu.

• Bit 4 MSTR (Master/ Slave Select): bit ini akan memilih mode SPI Master jika bernilai 1, dan mode SPI Slave jika bernilai 0.

(10)

Table 2.1 Fungsionalitas CPOL

• Bit 2 CPHA (Clock phase): settingan pada CPHA akan menentukan apakah data diambil pada sisi awal (leading edge) atau sisi akhir (trailing edge) dari SCK. Fungsionalitas dari CPHA dirangkum sebagai berikut.

Table 2.2 Fungsionalitas CPHA

• Bit 1, 0 SPR1 dan SPR0 (SPI clock rate select 1 dan 0): kedua bit ini mengatur kecepatan SCK dari perangkat yang diatur sebagai master. SPR1 dan SPR0 tidak mempunyai efek pada slave. Hubungan antara SCK dan frekuensi clock osilator fosc ditunjukkan pada tabel di bawah ini.

(11)

2.4 Komunikasi menggunakan I2C

I2C merupakan standar komunikasi dengan menggunakan 2 kabel dengan

kecepatan yang cukup tinggi maka antara IC yang satu dengan yang lainnya dapat berkomunikasi dengan baik. Dengan memanfaatkan jalur bus dan address yang bervariasi maka I2C mampu mengalamati banyak device. I2C terdiri dari beberapa bagian yaitu :

1. Transmitter: bagian yang berfungsi mengirimkan data ke Bus 2. Receiver: bagian yang menerima data dari Bus

3. Master: bagian yang melakukan transfer, mengenerate Clock dan membatalkan transfer data

4. Slave: bagian yang ditunjuk oleh master sebagai tempat yang dituju.

5. Multi–Master: lebih dari satu master dapat mengontrol Bus dalam waktu bersamaan tanpa membuat corrupt pada data yang ada.

6. Arbitration: Prosedur yang menentukan/membatasi Multi Master dan membuat hanya satu dari dua master yang dapat mengatur Bus sehingga tidak terjadi Corrrupt pada data.

7. Synchronization: prosedur yang mencocokkan antara Sinyal Clock dan beberapa device.

(12)

Pada gambar 2.4 komunikasi antara 2 mikrokontroller A dan mikrokontroller B dan device-device lainnya (Gate Array, LCD Driver, ADC, Static RAM/ EEPROM) dilakukan dengan menggunakan 2 jalur (SDA dan SCL). SDA merupakan Serial Data Line yang merupakan jalur untuk mengirimkan data-data secara serial. Sedangkan SCL merupakan Serial Clock Line yang berfungsi untuk mengirimkan Clock yang berfungsi untuk sinkronisasi dan menandakan pengiriman paket-paket data. Berikut merupakan timing diagram dari I2C (Gambar 2.5).

Gambar 2.5 Timing diagram dari I2C

Komunikasi antar IC dengan menggunakan metode I2C harus memperhatikan

(13)

sebagai penanda ketika data berhasil diterima oleh IC tujuan. “Stop condition” atau penanda bahwa semua data telah dikirimkan, ditandai dengan perubahan SDA dari low ke high (“rising edge”) yang diikuti dengan logic high pada SCL. Berikut ini merupakan paket-paket data yang digunakan dalam komunikasi I2C (Gambar 3.3):

Gambar 2.6 Paket data untuk melakukan penulisan menuju slave

Untuk melakukan penulisan dari master menuju ke slave device maka beberapa paket data dibutuhkan untuk melakukan proses tersebut antara lainnya: start bit, address, R/W, ACK, Data yang hendak dikirimkan, ACK dan pengiriman data yang selanjutnya, ACK dan stop bit. Untuk perintah R/W master device harus menunggu ACK dari slave device yang menandakan bahwa perintah R/W berhasil diterima dan di konfirmasi. Demikian juga halnya untuk data yang dikirimkan harus menunggu ACK dari slave device jika pengiriman berhasil dilakukan maka ditandai dengan adanya ACK jika tidak master device harus mengirimkan data tersebut kembali.

(14)

• Start Condition : menentukan kapan data tersebut mulai dikirim

• Acknowledge : untuk memeriksa dan mencocokkan address yang akan diterima oleh device slave dan menentukan bagianbagian dari data yang dikirimkan dan memilah-milah sehingga tidak terjadi kesimpang siuran antara address dan data yang dikirimkan

• Stop Condition : kondisi yang menentukan suatu data selesai dikirim.

2.5 Pemrograman memory

AVR menyediakan beberapa cara untuk memprogram memory, yaitu secara paralel, serial, maupun JTAG.

(15)

Tabel 2.4 Pemetaan nama pin Nama sinyal Nama pin I/O Fungsi

RDY/BSY PD1 O 0: alat sedang sibuk memprogram; 1: alat sudah siap untuk perintah baru OE PD2 I Output Enable (active low)

WR PD3 I Write pulse (active low)

BS1 PD4 I Byte select 1 (“0” untuk byte low, “1” untuk byte high)

XA0 PD5 I XTAL action bit1

XA1 PD6 I XTAL action bit 2

PAGEL PD7 I Page load untuk memory program dan data EEPROM

BS2 PA0 I Byte select 2 (“0” untuk low byte, “1” untuk high byte)

DATA PB7-0 I/O Bus data 2 arah (menjadi output ketika OE bernilai low).

Untuk memasukimode pemrograman parallel, digunakan algoritma berikut :

1. Beri tegangan sebesar 4,5-5,5 v antara Vcc dan GND, dan tunggu setidaknya selama 100 μs.

2. Beri RESET nilai “0”, tunggu setidaknya selama 100 ns dan aktifkan XTAL1 setidaknya 6 kali.

(16)

4. Beri tegangan sebesar 11,5-12,5 v pada RESET. Aktifitas apapun yang dilakukan pada pin prog_enable dalam 100 ns setelah pemberian tegangan 12 v dilakukan pada RESET, akan menyebabkan kegagalan dalam memasuki mode pemrograman paralel.

2.5.2 Pemrograman serial

Baik memory flash maupun EEPROM bisa diprogram dengan menggunakan jalur serial SPI ketika RESET dihubungkan ke GND. Interface serial ini terdiri dari pin SCK, MOSI (input), dan MISO (output). Setelah RESET diberi nilai low, instruksi programming enable harus dieksekusi dahulu sebelum operasi pemrograman/ penghapusan dapat dilakukan. Ketika menulis data serial ke ATmega8535, data diclock pada rising edge dari SCK. Ketika membaca data serial dari ATmega8535, data diclock pada falling edge dari SCK. Sistem ini menggunakan komunikasi SPI dengan algoritma :

1. Beri daya antara Vcc dan Ground ketika RESET dan SCK diset 0. Di beberapa sistem, programmer tidak bisa menjamin bahwa SCK tetap bernilai low selama proses power-up. Untuk kasus ini, RESET harus diberi sinyal pulsa positif setidaknya selama dua kali clock setelah SCK diset 0.

2. Tunggu setidaknya selama 20 ms dan aktifkan pemrograman serial dengan mengirimkan instruksi serial programming enable ke pin MOSI.

(17)

Jika 0x53 tidak dikirim balik (echo), beri RESET pulsa positif dan kirim perintah programming enable yang baru.

4. Flash diprogram satu page per waktu. Ukuran page bisa ditemukan pada table 2.5

di bawah. Halaman memory diload per byte dengan memberikan 6 LSB alamat dan data bersama dengan instruksi Load Program Memory Page. Untuk menjamin proses loading page yang tepat, byte low pada data harus diload terlebih dahulu sebelum byte high data diload ke alamat yang diberikan. Program Memory Page disimpan dengan meload instruksi Write Program Memory Page bersama dengan 8 MSB alamat. Jika polling tidak digunakan, user harus menunggu selama setidaknya tWD_FLASH sebelum mengirimkan page berikutnya. Mengakses interface

programming serial sebelum operasi penulisan Flash selesai dapat menyebabkan pemrograman yang tidak tepat.

5. Array EEPROM diprogram perbyte dengan cara mengirim alamat dan data bersamaan dengan instruksi Write yang diinginkan. Lokasi memory EEPROM pertama-tama akan dihapus secara otomatis sebelum data yang baru ditulis. Jika polling tidak digunakan, user harus menunggu setidaknya selama tWD_EEPROM

sebelum mengirimkan byte berikutnya.

6. Lokasi memory dapat diverifikasi dengan menggunakan instruksi baca yang akan mengembalikan isi dari alamat yang dipilih pada pin output serial MISO.

7. Pada akhir sesi pemrograman, RESET bisa diset high untuk melanjutkan operasi normal.

(18)
(19)

Table 2.5 Jumlah word dalam satu page dan jumlah page dalam Flash

2.5.3 JTAG

JTAG, singkatan dari Joint Test Action Group, adalah nama yang umum digunakan untuk standar IEEE 1149.1 bernama “Standard Test Access Port and Boundary Scan Architecture”. JTAG distandarisasi tahun 1990 seperti pada IEEE Std. 1149.1-1990. Pada 1994, pelengkapnya yang mengandung BSDL (Boundary Scan Description Language) ditambahkan. Sejak saat itu, standar ini telah diadopsi oleh perusahaan elektronik di seluruh dunia. Walaupun awalnya dirancang untuk PCB, JTAG sekarang umumnya digunakan untuk pengujian IC, dan juga mekanisme yang berguna dalam proses debugging pada embedded system. Module debug yang ada memungkinkan programmer untuk melakukan debugging software dari sebuah embedded system.

Interface JTAG adalah interface khusus dengan 4/5 pin yang ditambahkan ke chip, didesain sehingga beberapa chip yang terletak di board bisa dihubungkan sekaligus dengan menggunakan JTAG, dan perangkat penguji rangkaian hanya perlu dihubungkan ke satu port JTAG untuk bisa mengakses seluruh chip ini. Pin penghubungnya adalah:

1. TDI (Test Data In) 2. TDO (Test Data Out) 3. TCK (Test Clock) 4. TMS (Test Mode Select)

(20)

Gambar 2.9 Contoh rangkaian JTAG

Karena hanya ada satu jalur data tersedia, protokol ini bersifat serial seperti SPI. Pin TCK digunakan untuk masukan clock. Konfigurasi ini dilakukan dengan memanipulasi satu bit setiap setiap waktu melalui pin TMS. Satu bit data dikirim masuk dan keluar setiap pulsa clock TCK pada pin TDI dan TDO. Mode instruksi berbeda dapat digunakan untuk membaca ID chip, sample input pin, mengendalikan pin output, memanipulasi fungsi chip, ataupun melakukan bypass. Frekuensi operasi TCK berbeda-beda tergantung pada chip, tetapi umumnya berkisar antara 10-100 MHz.

Ketika melakukan boundary scan pada IC, sinyal dimanipulasi di antara blok fungsional yang bebeda dari chip, bukannya antara chip yang berbeda. Pin TRST adalah pin yang bersifat optional, merupakan pin reset dengan active low untuk logika pengujian, biasanya asinkron, tapi terkadang sinkron, tergantung dari chipnya. Jika pin ini tidak tersedia, logika pengujian bisa direset dengan memberi clock pada instruksi reset secara sinkron.

2.6 Memori Eksternal AT24C512

(21)

tersusun atas 65.536 word masing-masing sebesar 8 bit. Perangkat ini bisa dihubungkan sampai maksimum 4 buah EEPROM dengan menggunakan bus 2 wire.

Gambar 2.10 Konfigurasi pin AT24C512

Dekripsi fungsi pin :

Serial Clock (SCL) : Serial Clock input.

Serial Data: Untuk transfer data serial dua arah.

Alamat device (A1, A0): Pin A1 dan A0 adalah pin alamat alat, yang bisa dihubungkan atau dibiarkan tak tersambung. Ketika pin dihubungkan (hardwire), sebanyak 4 EEPROM 512K bisa dihubungkan dalam satu sistem bus tunggal. Ketika pin ini tidak disambungkan, nilai default dari A1 dan A0 adalah 0. Write protect (WP): Pin untuk perlindungan penulisan. Jika dihubungkan ke

(22)

AT24C512 tersusun atas 512 page masing-masing sebesar 128 byte. Untuk pengalamatan wordnya diperlukan alamat sebesar 16 bit.

2.6.1 Pengalamatan AT24C512

Pada EEPROM 512K, setelah pengiriman start bit, berikutnya perlu dikirimkan 8 bit alamat alat untuk memulai operasi pembacaan ataupun penulisan (lihat gambar di bawah). Lima bit pertama dari alamat alat adalah 10100, sama dengan semua memory EEPROM 2 wire lainnya.

EEPROM 512 menggunakan dua bit alamat A1 dan A0 sehingga sebanyak 4 alat bisa terhubung dalam bus yang sama. Kedua bit ini kemudian dibandingkan dengan pin inputnya.

Bit kedelapan dari alamat alat adalah bit untuk memilih operasi baca/ tulis. Untuk melakukan operasi baca, bit ini diberi nilai 1, sebaliknya untuk operasi tulis diberi nilai 0.

Gambar 2.11 Device Addressing untuk AT24C512

2.6.2 Operasi Penulisan

(23)

pengirim, dalam hal ini adalah AVR programmer, kemudian harus mengakhiri proses penulisan dengan mengirimkan stop bit. Pada waktu ini EEPROM akan memasuki periode siklus penulisan (tWR) ke memory non volatile. Pada periode penulisan ini semua

input akan dinonaktifkan dan EEPROM tidak akan merespon sampai proses penulisan selesai.

Gambar 2.12 Urutan operasi penulisan

2.6.3 Operasi Baca

Proses untuk mengawali operasi baca sama dengan operasi tulis, hanya saja bit baca/tulis pada alamat alat diset 0. Ada tiga operasi baca: current address read, random address read, dan sequential read.

(24)

Gambar 2.13 Urutan operasi baca (current address read)

Random read : Untuk operasi pembacaan random read, pertama harus dikirim perintah baca untuk mengirimkan alamat word data. Setelah alamat alat dan alamat word data sudah dikirimkan dan EEPROM mengirimkan ACK, mikrokontroler harus mengirimkan perintah start bit berikutnya. Dengan begitu mikrokontroler sekarang memulai proses baca current address read dengan mengirimkan alamat alat dengan bit baca/ tulis yang diberi nilai 1. Setelah menerima alamat alat EEPROM akan mengirimkan word data. Setelah selesai proses pengiriman, dilanjutkan dengan mikrokontroler mengirimkan stop bit.

Gambar

Gambar 2.2 Koneksi unit Master dan Slave
Gambar 2.3 Definisi bit SPCR
Table 2.2 Fungsionalitas CPHA
Gambar 2.4 Konfigurasi I2C dengan lebih dari 2 device
+7

Referensi

Dokumen terkait

Keamanan sistem informasi pada layanan ATM dilakukan dengan : PIN, pengiriman PIN ke komputer pusat dilakukan dengan encripted/ dienkripsi (data atau pesan yang dikirim

Protokol adalah sebuah bahasa pada mesin yang berada pada layer OSI tertentu, dan digunakan untuk parameter komunikasi yaitu pengiriman data baik yang bersifat

Dengan sistem bahan bakar injeksi, pengiriman campuran bahan bakar dan udara akan berlangsung terus menerus dengan tepat dan pengiriman tersebut tidak tergantung pada

Pembinaan merupakan sebuah proses, pembuatan, cara pembinaan, pembaharuan, usaha dan tindakan yang dilakukan secara berdaya guna dan berhasil dengan baik. Masdar

Packet Scheduler adalah modul yang berfungsi dalam proses pendistribusian radio resource dengan menentukan proses pengiriman data berdasarkan radio resource yang

Data yang diproses pada arus transmisi ditandai dan disimpan pada file yang beranekaragam, kemudian file digunakan untuk memperoleh hasil yang diinginkan, seperti loss rate,

komunikasi dari PC ke telepon, software dari PC melakukan konversi sinyal suara analog ke digital dan dikompresi ke dalam paket IP, kemudian data digital

Seperti halnya dengan kamus bahasa yang berfungsi menjelaskan lebih detail suatu kata maupun kalimat, kamus data yang digunakan dalam analisis struktur dan desain