Variable dan Tipe Data

2.3 SPI Serial Peripheral Interface

Dalam menggunakan SD Card shield, ada satu library yang dideklarasikan selain library ‘SD.h’ yang memang didedikasikan untuk menangani SD Card. Library selain SD.h itu adalah library ‘SPI.h’ [8]. Library SPI.h adalah library yang khusus bertugas menangani komunikasi serial sinkron SPI Serial Peripheral Interface di Arduino. Serial sinkron adalah protocol komunikasi data secara serial namun membutuhkan jalur clock untuk sinkronisasi antara transmitter dan receiver . Sedangkan secara khusus istilah ‘serial sinkron SPI’ ditujukan untuk tipe protocol komunikasi serial sinkron yang memiliki 3 jalur kabel yakni MISO Master In Slave Out. MOSI Master Out Slave In dan SCLK Serial Clock. MOSI merupakan jalur pengiriman data dari master ke slave, sedangkan MISO merupakan kebalikannya. Biasanya ada satu tambahan pin yang digunakan untuk mengaktifkanmematikan perangkat slave SPI yang dinamakan CS Chip Select atau SS Slave Select. Pin CSSS bersifat spesifik untuk tiap perangkat slave yang menggunakan komunikasi SPI sehingga bisa berbeda-beda untuk masing-masing perangkat. Ilustrasi cara kerja protocol SPI ini ditunjukkan pada gambar 2.8. Gambar 2.8. Ilustrasi kerja protokol SPI Dalam implementasinya, SPI banyak digunakan sebagai alternative untuk berkomunikasi dengan perangkat lain misalnya EEPROM SPI EEPROM, sensor barometer, tekanan, dll, komponen elektronika SPI digital potensiometer atau controller lain Arduino, AVR, MCS51, ARM, dll. Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS. Keempat pin tersebut dijelaskan sebagai berikut [20] : 1. Serial Clock SCLK 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 perangkat, istilah yang digunakan untuk pin ini adalah SCK. 2. Master Output Slave Input MOSI merupakan pin yang berfungsi sebagai jalur data pada saat data keluar dari master dan masuk ke dalam slave. Instilah lain untuk pin ini antara lain Slave Input Master Output SIMO, Serial Data In SDI, Data In DI, dan Serial In SI. 3. Master Input Slave Output MISO merupakan pin yang berfungsi sebagai jalur data Slave Output Master Input SOMI, Serial Data Out OUT, Data Out OUT, dan Serial Out SO. 4. Slave Select SS merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif actice low. Istilah lain untuk SS antara lain chip select CS, nCS, nSS, dan Slave Transmit Enable STE. 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 dari pin MISO dan MOSI harus sesuai dengan ketentuan. Ketentuan tersebut adalah pin MISO pada master harus dihubungkan dengan pin MOSI pada slave, begitu sebaliknya [21]. Hal ini dilakukan untuk menghindari terjadinya kesalahah prosedur pada pengiriman data. Istilah pin-pin SPI untuk berbagai perangkat mungkin saja mempunyai istilah yang berbeda dengan istilah diatas tergantung pada produsen. Gambar di bawah ini merupakan komunikasi master-slave pada SPI. Gambar 2.9. Komunikasi master-slave SPI