Komunikasi Data SPI pada Mikrokontroler MCS51

dokumen-dokumen yang mirip
TnEX ADC GPIO UART PWM I2C SPI GPIO

Interfacing. Materi 7: SPI Communication. Disusun Oleh: I Nyoman Kusuma Wardana

TEKNIK ANTARMUKA SECARA SERIAL PERIPHERAL INTERFACE (SPI) MENGGUNAKAN PLATFORM ARDUINO DAN MATLAB

Mikrokontroler 89C51 Bagian II :

BAB 3 PERANCANGAN SISTEM. Bab ini akan membahas tentang perancangan sistem yang digunakan dari alat

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN UNIVERSITAS BRAWIJAYA FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

BAB III PERANCANGAN STAND ALONE RFID READER. Dalam penelitian ini, perancangan sistem meliputi :

BAB II TINJAUAN PUSTAKA

Mikrokontroler AVR. Hendawan Soebhakti 2009

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

MICROCONTROLER AVR AT MEGA 8535

BAB III PERANCANGAN SISTEM

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

MICROCONTROLER AVR AT MEGA 8535

BAB II LANDASAN TEORI

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iv DAFTAR GAMBAR... vii DAFTAR TABEL... x DAFTAR LAMPIRAN... xi

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

Sistem Mikrokontroler FE UDINUS

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

8. Mengirimkan stop sequence

Tabel 1. Karakteristik IC TTL dan CMOS

BAB II DASAR TEORI. 2.1 Kecepatan

BAB II KONSEP DASAR PERANCANGAN

BAB II WATERPAS DIGITAL

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

Sumber Clock, Reset dan Antarmuka RAM

APLIKASI HITACHI M1632 LCD PADA SC - AVR

BAB III METODE PENELITIAN. Tujuan dari tugas akhir ini yaitu akan membuat sebuah mobile Robot

BAB II DASAR TEORI Sensor Akselerometer ADXL345

MIKROKONTROLER AT89S52

BAB 2 LANDASAN TEORI

2. Rangkaian Konverter Level Tegangan Dan Hubungan antara Rangkaian Konverter, Modul TRW2.4G, dan Mikrokontroler

KOMPONEN INTERFACING. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Organisasi Sistem Komputer. Port Serial

Chapter 6 Input/Output

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

Atmel Corporation, 2009, AT89S52 Datasheet,

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

Sistem Komputer. Tiga komponen utama : CPU

GARIS-GARIS BESAR PROGRAM PEMBELAJARAN (GBPP)

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

DCH1B3 Konfigurasi Perangkat Keras Komputer. Input/Output

BAB III PERANCANGAN SISTEM

STANDALONE AVR PROGRAMMER

BAB 3 PERANCANGAN SISTEM. tanpa terhubung dengan komputer. Blok diagram keseluruhan pada sistem ini adalah. Gambar 3.1 Blok diagram sistem

AN2014 : Pembuatan Jam Digital dengan Development System DST -R8C

Materi 5: Protokol I2C

BAB III PERENCANAAN DAN REALISASI

MAX6675 K-Type Thermocouple Temperature Sensor

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

ELEKTRONIKA DIGITAL PIC 8259

BAB III PERANCANGAN DAN PEMBUATAN ALAT

Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran)

BAB III DESAIN DAN PENGEMBANGAN SISTEM

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT

Gambar 1.1. Diagram blok mikrokontroller 8051

BAB III PERANCANGAN SISTEM

ROBO-STORE

II.4 Keypad II.5 LCD II.6 Pengenalan Perangkat Lunak Visual Basic Pada PC (Server) II.6.1 Integrated Development Environment...

Organisasi Sistem Komputer. Connections: Ports Serial

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB III PERANCANGAN SISTEM

PC-Link Application Note

BAB II LANDASAN TEORI

Sistem Tertanam. Pengantar Atmega328 dan Arduino Uno. Dennis Christie - Universitas Gunadarma

DAFTAR ISI LEMBAR PENGESAHAN... LEMBAR PERSETUJUAN... PERNYATAAN KEASLIAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... vii DAFTAR ISI...

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB II DASAR TEORI Arduino Mega 2560

BAB II LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN DAN REALISASI ALAT

DT-ARM Application Note. AN221 Web Server I/O Remote

LAPORAN RESEARCH GRANT PENGEMBANGAN MODUL APLIKASI INTERFACING I/O PARALEL DAN I/O SERIAL UNTUK PENGENDALIAN UNIT MELALUI JARINGAN LOKAL.

DT-51 Application Note

BAB 3 PERANCANGAN SISTEM

BAB II LANDASAN TEORI

BAB III DESKRIPSI MASALAH

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN. Dalam bab ini akan dibahas mengenai deskripsi alat, perancangan dan realisasi dari

PERANCANGAN APLIKASI RFID (RADIO FREQUENCY IDENTIFICATION) DAN MCS-51 UNTUK ADMINISTRASI KESISWAAN (HARDWARE)

Programmable Peripheral Interface 8255

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

I/O dan Struktur Memori

BAB II TINJAUAN PUSTAKA

BAB III MIKROKONTROLER

BAB III PERANCANGAN ALAT

TUGAS AKHIR SISTEM TELEMETRI KUALITAS AIR KOLAM IKAN DENGAN RFM12-433S SEBAGAI CENTRAL UNIT

Transkripsi:

Komunikasi Data SPI pada Mikrokontroler MCS51 Amin Mutohar Embedded System Laboratory Program Studi Fisika Institut Teknologi Bandung Copyleft 2008, Si Cicil Cicil (mutoharamin@gmail.com) SPI (serial peripheral interface bus) m erupakan salah satu me tode pengiriman data dari suatu devais ke devais lainnya. Metode ini merupakan metode yang bekerja pada metode full duplex dan merupakan standar sinkronasi serial data link yang dikembangkan oleh Motorola. Pada SPI, devais dibagi menjadi dua bagian yaitu master dan slave dengan master sebagai devais yang menginisiasi pengiriman data. Dalam aplikasinya, sebuah master dapat digunakan untuk mengatur pengiriman data dari atau ke beberapa slave sekaligus. Kadang-kadang, SPI disebut juga dengan four wire serial bus untuk membedakannya dengan bus serial tiga, dua, dan satu kebel. Pin Pin Penghubung pada SPI Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS. Berikut ini adalah penjelasan singkat mengenai ke 4 pin tersebut: 1

SCLK (serial clock) merupakan data biner yang keluar dari master ke slave yang berfungsi sebagai clock dengan frekuensi tertentu. Clock merupakan salah satu komponen prosedur komunikasi data SPI. Dalam beberapa devais, istilah yang digunakan untuk pin ini adalah SCK. MOSI (master out slave input) merupakan pin yang berfungsi sebagai jalur data pada saat data keluar dari master dan masuk ke dalam slave. Istilah lain untuk pin ini antara lain SIMO, SDI, DI, dan SI. MISO (master input slave output) merupakan pin yang berfungsi sebagai jalur data yang keluar dari slave dan mesuk ke dalam master. Istilah lain untuk pin ini adalah SOMI, SDO, DO, dan SO. SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif (active low). Istilah lain untuk SS antara lain CS (chip select), ncs, nss, dan STE (slave transmit enable). Pin SCLK, MOSI, dan SS merupakan pin dengan arah pengiriman data dari master ke slave. Sebaliknya, MISO mempunyai arah komunikasi data dari slave ke master. Pengaturan hubungan antara pin SDO dan SDI harus sesuai dengan ketentuan. Pin SDO pada master harus dihubungkan dengan pin SDI pada slave, begitu juga sebaliknya. Hal ini penting untuk diperhatikan untuk menghindari terjadinya kesalahan prosedur pada pengiriman data. Istilah pin -pin SPI untuk berbagai devais mungkin saja mempunyai istilah yang berbeda dengan istilah di atas tergantung produsen yang membuatnya. Prosedur Operasi SPI 2

Komunikasi data SPI dimulai pada saat master mengirimkan clock melalui SCK dengan frekuensi lebih kecil atau sama dengan frekuensi maksimum pada slave. Kemudian, master memberi logika nol pada SS untuk mengaktifkan slave sehingga pengiriman data (berupa siklus clock) siap untuk dilakukan. Pada saat siklus clock terjadi transmisi data full duplex terjadi dengan dua keadaan sebagai berikut: Master mengirim sebuah bit pada jalur MOSI, slave membacanya pada jalur yang sama. Slave mengirim sebuah bit pada jalur MISO, master membacanya pada jalur yang sama.. Transmisi dapat menghasilkan beberapa siklus clock. Jika tidak ada data yang dikirim lagi maka master menghentikan clock tersebut dan kemudian menon-aktifkan slave. Diagram Pewaktuan Diagram pewaktuan (timing diagram) SPI dimulai pada saat SS diaktifkan (low). Pada saat tersebut siklus clock (cycle #) dimulai, pada contoh diatas dalam satu siklus terdapat 8 bit pengir iman data. Saat SS aktif, MISO/MOSI mulai mengirimkan data mulai dari MSB (most significant bit) data tersebut. Pada saat clock berubah maka proses pengiriman data dilanjutkan pada bit yang lebih rendah. Proses tersebut berlangsung sampai pengiriman data selesai dengan mengirimkan bit LSB (least significant bit) dan siklus clock berakhir serta SS kembali dinon-aktifkan (high). Pada saat ini biasanya slave mengirimkan interrupt ke master yang mengindikasikan bahwa pengiriman data telah selesai dan siap untuk melakukan pengiriman data selanjutnya. Dalam 3

diagram pewaktuan, clock mempunyai beberapa mode pengaturan pada polaritas (CPOL) dan fasa (CPHA). Pengaturan kedua mode tersebut jelas terlihat perbedaannya pada ilustrasi di atas. Konfigurasi SPI Slave Independen Pada konfigurasi ini, pemilihan slave independen untuk masing-masing slave. Karena pin MISO dihubungkan secara bersamaan maka pengiriman data dapat dipilih berdasarkan pin SS yang diaktifkan. Konfigurasi SPI Daisy Chain Pada konfigurasi ini pengiriman data dari atau ke master dilakukan secara berantai pada beberapa slave. 4

SPI dapat digunakan untuk pengaturan beberapa peripheral oleh suatu master (mikrokontroler atau PC). Berikut adalah beberapa peripheral yang dapat menggunakan komunikasi data SPI: Sensor: temperatur, tekanan, ADC, touchscreen Control devices: audio codecs, digital potentiometers, DAC Komunikasi: Ethernet, USB, USART, CAN, IEEE 802.15.4 Akses memori : flash and EEPROM RTC (real-time clock) LCD display Beberapa MMC atau SD card Pemrograman SPI pada Mikrokontroler MCS51 Mikrokontroler dapat digunaan sebagai master ataupun slave pada komunikasi data SPI. Hal ini dikarenakan SPI merupakan sebuah protokol yang sederhana sehingga dapat dengan mudah diterapkan pada suatu sistem embedded. Hal ini juga berlaku pada mikrokontroler MCS51. Bahkan, ada beberapa mikrokontroler dari keluarga ini yang mendukung komunikasi data SPI secara hardware seperti pada AT89S8252/53. Oleh karena itu, Komunikasi data SPI pada mikrokontroler MCS51 secara umum dapat dibagi menjadi 2 macam, yaitu secara software dan hardware. Keduannya dibedakan pada fitur dari mikrokontroler yang digunakan. Jika sebuah mikrokontroler mempunyai fitur SPI serial interface maka pemrograman SPI pada mikrokontroler tersebut hanya mengatur register SPI yang ada pada SFR (spesial function register ). Komunikasi data ini disebut dengan komunikasi data SPI secara hardware, seperti pada AT89S8252/53. Sebaliknya, jika sebuah mikrokontroler tidak memiliki fitur SPI serial interface maka kominikasi data SPI dilakukan dengan cara software dengan membangun protokol SPI berdasarkan timing diagram-nya. Komunikasi data SPI secara Software Komunikasi ini dilakukan dengan cara menciptakan protokol SPI secara software dengan menggunakan algoritma diagram pewaktuan SPI. Dalam hal ini, pemrograman dilakukan untuk memenuhi prosedur pengiriman data antara lain pengaturan SS, MOSI, MISO, dan SCK seperti pada uraian sebelumnya. 5

Berikut ini adalah contoh-contoh pemrograman SPI secara hardware: Prosedur pengiriman data void SPI_Out (int b) { int i ; for ( i = 7 ; i >= 0; i ) { if (b & (1 << i ) ) SetMOSI( ) ; else ClearMOSI( ) ; waitmicrosec(2) ; SetSCK( ) ; waitmicrosec(3) ; ClearSCK( ) ; waitmicrosec(2) ; } } Prosedur Penerimaan data int SPI_In ( ) { int i, b = 0 ; for ( i = 7 ; i >= 0; i ) { SetSCK( ) ; waitmicrosec(2); if (GetMISO( )) b = 1 << i ; waitmicrosec(3); ClearSCK( ) ; waitmicrosec(2); } return b ; } 6

Komunikasi data SPI secara Hardware Komunikasi ini dilakukan dengan memanfaatkan fitur SPI yang ada pada mikrokontroler. Seperti diagram blok di atas, Prosedur atau protokol SPI sudah tersedia pada mikrokontroler. Pemrograman dilakukan hanya untuk mengakses beberapa register yang ada pada diagram blok tersebut. Register-register tersebut terdapat pada register khusus SPI yang terdapat pada SFR yang terdiri dari SPCR (SPI control register), SPSR (SPI status register ), dan SPDR (SPI data register). Register-register tersebut terletak masing -masing terletak pada alamat D5h, AAh, dan 86h seperti terlihat pada diagram SFR berikut. 7

8

SPCR terdiri dari 8 buah bit alamat yang digunakan untuk mengatur proses komunikasi data SPI. Bit tersebut meliputi SPIE, SPE, DORD, MSTR, SPOL, CPHA, SPR0 dan SPR1. SPIE digunakan untuk mengaktifkan interupsi SPI dan terhubung dengan bit ES (IE.4) pada register IE (interrupt enable). SPE digunaan untuk mengaktifkan komuniksi data SPI sehingga digunakan sebagai penghubung registerregister SPI dengan pin-pin SPI pada mikrokontroler, yaitu SS (P1.4), MOSI (P1.5), MISO (P1.6), dan SCK (P1.7). DORD digunakan untuk memilih urutan pengiriman data, dari LSB atau MSB terlebih dahulu. MSTR digunakan untuk mengatur mikrokontroler digunakan sebagai master atau slave. CPOL dan CPHA digunakan untuk pengaturan polaritas dan fasa dari clock seperti pada diagram pewaktuan di atas. Bit terakhir, SPR0 dan SPR1 digunakan untuk mengatur frekuensi dari SCK dengan 4 buah pilihan, yaitu 1/4, 1/16, 1/64, dan 1/128 dari frekuensi osilator yang digunakan oleh mikrokontroler. Register SPSR digunakan untuk melihat status pengiriman data pada SPI. Bit yang digunakan dalam SPSR hanya 2 buah saja yaitu SPIF dan WCOL. SPIF merupakan bit yang menandai bahwa suatu pengiriman data telah selesai sedangkan WCOL merupakan bit yang menandai bahwa pengiriman data sedang berlangsung. Register SPDR merupakan regis ter yang menyimpan data yang terdapat pada read data buffer SPI AT89S8252 seperti pada diagram blok SPI. 9

Kesimpulan Komunikasi data SPI merupakan komunikasi data yang mengunakan protokol pengiriman data SPI. Komunikasi ini dapat digunakan pada mikrokontroler untuk berinteraksi dengan suatu perangkat. Prosedur SPI merupakan prosedur yang digunakan untuk proses pengiriman data antara master dan slave. Dalam pelaksaannya, prosedur tersebut harus sesuai dengan diagram pewaktuan SPI sehingga pengiriman data dapat dilakukan. Komunikasi data SPI dibedakan menjadi dua buah macam berdasarkan fitur yang tersedia pada suatu mikrokontroler, yaitu komunikasi data SPI sec ara software dan hardware. Daftar Referensi [1] Wikipedia: en.wikipedia.org. [2] Jelmer Vernooij: Programming the AT89S8252 using SPI, 2003. [3] Atmel: AT89S8252 Datasheet. [4] Atmel: 8051 Microcontrollers Aplication Note, SPI Program Example. 10