dengan peripheral lainnya yang mendukung komunikasi dengan SPI. Adapun berikut ini penjelasan untuk 3 jalur utama dari SPI adalah sebagai berikut.
a MOSI Master Output Serial Input
Perangkat yang bertindak sebagai master, maka pin MOSI digunakan sebagai pin output, tetapi jika digunakan sebagai slave, maka pin MOSI tersebut berfungsi
sebagai pin input. b
MISO Master Input Slave Output Perangkat yang bertindak sebagai master, maka pin MISO sebagai pin input, tetapi
jika digunakan sebagai slave, maka pin MISO tersebut berfungsi sebagai pin output.
c SCK Serial Clock
Berfungsi sebagai clock data. Dimana pin SCK dari master akan memberikan clock ke pin SCK slave, guna menyelaraskan komunikasi antar kedua perangkat tersebut.
Selain tiga jalur tersebut, terdapat pula SS Slave Select yang digunakan untuk memilih perangkat slave mana yang akan digunakan, tentu saja bila lebih dari satu slave.
Sebuah perangkat master dapat memberikan perintah pada beberapa perangkat slave. Sedangkan untuk perangkat slave tidak dapat memberikan perintah, hanya memberikan
data sesuai instruksi yang diberikan oleh perangkat master.
2.5.1. Operasi SPI Bus
SPI bus dapat dioperasikan dengan sebuah perangkat single master dan dengan satu atau lebih perangkat slave. [15] Untuk memulai komunikasi, bus master mengkonfigurasi
clock, menggunakan frekuensi yang didukung oleh perangkat slave, biasanya hingga beberapa MHz. Master kemudian memilih perangkat slave dengan logika level 0 pada
select line. Jika masa tunggu diperlukan, seperti untuk konversi analog ke digital, master harus menunggu setidaknya periode waktu sebelum mengeluarkan clock cycle.
Selama setiap siklus clock SPI, sebuah transmisi data full duplex dua arah terjadi. Master mengirimkan satu bit pada garis MOSI dan slave membacanya, sementara slave
mengirimkan satu bit pada garis MISO dan master membacanya. Urutan ini dipertahankan
bahkan ketika hanya transfer data satu arah. Dalam komunikasi SPI hanya 1 bagian yang mengirimkan clock yang mana akan disebut master dan bagian lainya disebut slave.
Dalam SPI, hanya satu sisi menghasilkan sinyal clock biasanya disebut CLK atau SCK untuk Serial Clock. Sisi yang menghasilkan clock disebut master, dan sisi lain
disebut slave. Selalu ada hanya satu master yang hampir selalu mikrokontroler, tetapi bisa ada beberapa slave. [16]
Ketika data dikirim dari master ke slave, data tersebut dikirim pada garis data yang disebut MOSI Master Out Slave In. Jika slave harus mengirim respon kembali ke
master, master akan terus menghasilkan sejumlah siklus clock yang diatur sebelumnya, dan slave akan menempatkan data ke baris data yang ketiga yang disebut miso Master
InSlave Out.[16] Perhatikan bahwa SPI adalah full duplex memiliki baris sent dan reveive yang
terpisah, dengan demikian dalam situasi tertentu, Anda dapat mengirim dan menerima data pada saat yang sama. Pada Gambar 2.8 diperlihatkan pengiriman clock cycle, data
MISO, dan data MISO pada master-slave.
Gambar 2.8 Pengiriman Data SPI [16] Baris data berikutnya adalah SS untuk memilih Slave. Ini memberitahu slave yang
harus bangun dan menerima mengirim data dan juga digunakan ketika beberapa slave yang terkoneksi untuk memilih salah satu yang ingin diajak komunikasi.