Daftar Isi:

DASAR-DASAR PROTOKOL KOMUNIKASI SPI: 13 Langkah
DASAR-DASAR PROTOKOL KOMUNIKASI SPI: 13 Langkah

Video: DASAR-DASAR PROTOKOL KOMUNIKASI SPI: 13 Langkah

Video: DASAR-DASAR PROTOKOL KOMUNIKASI SPI: 13 Langkah
Video: Sistem Mikrokontroler - 10 - Serial Peripheral Interface (SPI) 2024, Juli
Anonim
DASAR-DASAR PROTOKOL KOMUNIKASI SPI
DASAR-DASAR PROTOKOL KOMUNIKASI SPI

Ketika Anda menghubungkan mikrokontroler ke sensor, layar, atau modul lain, apakah Anda pernah berpikir tentang bagaimana kedua perangkat berbicara satu sama lain? Apa sebenarnya yang mereka katakan? Bagaimana mereka bisa saling memahami?

Komunikasi antar perangkat elektronik seperti komunikasi antar manusia. Kedua belah pihak perlu berbicara dalam bahasa yang sama. Dalam elektronik, bahasa ini disebut protokol komunikasi. Beruntung bagi kami, hanya ada beberapa protokol komunikasi yang perlu kami ketahui saat membangun sebagian besar proyek elektronik DIY. Dalam rangkaian artikel ini, kita akan membahas dasar-dasar dari tiga protokol yang paling umum: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), dan komunikasi yang digerakkan oleh Universal Asynchronous Receiver/Transmitter (UART). Pertama, kita akan mulai dengan beberapa konsep dasar tentang komunikasi elektronik, kemudian menjelaskan secara rinci cara kerja SPI. Di artikel berikutnya, kita akan membahas komunikasi berbasis UART, dan di artikel ketiga, kita akan membahas I2C. SPI, I2C, dan UART sedikit lebih lambat daripada protokol seperti USB, ethernet, Bluetooth, dan WiFi, tetapi mereka jauh lebih sederhana dan menggunakan lebih sedikit sumber daya perangkat keras dan sistem. SPI, I2C, dan UART ideal untuk komunikasi antara mikrokontroler dan antara mikrokontroler dan sensor di mana sejumlah besar data berkecepatan tinggi tidak perlu ditransfer.

Langkah 1: SERIAL VS. KOMUNIKASI PARALEL

SERI VS. KOMUNIKASI PARALEL
SERI VS. KOMUNIKASI PARALEL

Perangkat elektronik berbicara satu sama lain dengan mengirimkan bit data melalui kabel yang terhubung secara fisik antar perangkat. Sedikit seperti huruf dalam sebuah kata, kecuali bukan 26 huruf (dalam alfabet Inggris), bit adalah biner dan hanya bisa menjadi 1 atau 0. Bit ditransfer dari satu perangkat ke perangkat lain dengan perubahan tegangan yang cepat. Dalam sistem yang beroperasi pada 5 V, bit 0 dikomunikasikan sebagai pulsa pendek 0 V, dan bit 1 dikomunikasikan oleh pulsa pendek 5 V.

Bit data dapat ditransmisikan baik dalam bentuk paralel atau serial. Dalam komunikasi paralel, bit data dikirim semua pada waktu yang sama, masing-masing melalui kabel terpisah. Diagram berikut menunjukkan transmisi paralel huruf "C" dalam biner (01000011):

Langkah 2:

Dalam komunikasi serial, bit dikirim satu per satu melalui satu kabel. Diagram berikut menunjukkan transmisi serial huruf "C" dalam biner (01000011):

Langkah 3:

Gambar
Gambar

Langkah 4: PENGANTAR KOMUNIKASI SPI

PENGANTAR KOMUNIKASI SPI
PENGANTAR KOMUNIKASI SPI

SPI adalah protokol komunikasi umum yang digunakan oleh banyak perangkat berbeda. Misalnya, modul kartu SD, modul pembaca kartu RFID, dan pemancar/penerima nirkabel 2,4 GHz semuanya menggunakan SPI untuk berkomunikasi dengan mikrokontroler.

Salah satu manfaat unik dari SPI adalah fakta bahwa data dapat ditransfer tanpa gangguan. Sejumlah bit dapat dikirim atau diterima dalam aliran kontinu. Dengan I2C dan UART, data dikirim dalam paket, terbatas pada jumlah bit tertentu. Kondisi start dan stop menentukan awal dan akhir setiap paket, sehingga data terputus selama transmisi. Perangkat yang berkomunikasi melalui SPI berada dalam hubungan master-slave. Master adalah perangkat pengendali (biasanya mikrokontroler), sedangkan budak (biasanya sensor, layar, atau chip memori) mengambil instruksi dari master. Konfigurasi paling sederhana dari SPI adalah master tunggal, sistem budak tunggal, tetapi satu master dapat mengontrol lebih dari satu budak (lebih lanjut tentang ini di bawah).

Langkah 5:

Gambar
Gambar

Langkah 6:

MOSI (Master Output/Slave Input) – Jalur untuk master mengirim data ke slave.

MISO (Master Input/Slave Output) – Jalur untuk slave untuk mengirim data ke master.

SCLK (Jam) – Jalur untuk sinyal jam.

SS/CS (Slave Select/Chip Select) – Baris untuk master untuk memilih slave mana yang akan dikirimi data

Langkah 7:

Gambar
Gambar

*Dalam praktiknya, jumlah budak dibatasi oleh kapasitansi beban sistem, yang mengurangi kemampuan master untuk secara akurat beralih di antara level tegangan.

Langkah 8: BAGAIMANA SPI BEKERJA

JAM

Sinyal clock menyinkronkan output bit data dari master ke pengambilan sampel bit oleh slave. Satu bit data ditransfer dalam setiap siklus clock, sehingga kecepatan transfer data ditentukan oleh frekuensi sinyal clock. Komunikasi SPI selalu dimulai oleh master sejak master mengkonfigurasi dan menghasilkan sinyal clock.

Setiap protokol komunikasi di mana perangkat berbagi sinyal clock dikenal sebagai sinkron. SPI adalah protokol komunikasi sinkron. Ada juga metode asinkron yang tidak menggunakan sinyal clock. Misalnya, dalam komunikasi UART, kedua sisi diatur ke kecepatan baud yang telah dikonfigurasi sebelumnya yang menentukan kecepatan dan waktu transmisi data.

Sinyal clock di SPI dapat dimodifikasi menggunakan sifat-sifat polaritas clock dan fase clock. Kedua properti ini bekerja sama untuk menentukan kapan bit dikeluarkan dan kapan diambil sampelnya. Polaritas jam dapat diatur oleh master untuk memungkinkan bit menjadi keluaran dan sampel pada tepi naik atau turun dari siklus jam. Fase jam dapat diatur agar keluaran dan pengambilan sampel terjadi pada tepi pertama atau tepi kedua dari siklus jam, terlepas dari apakah itu naik atau turun.

PILIHAN BUDAK

Master dapat memilih slave mana yang ingin diajak bicara dengan mengatur jalur CS/SS slave ke level tegangan rendah. Dalam keadaan idle, non-transmisi, saluran pilih slave disimpan pada level tegangan tinggi. Beberapa pin CS/SS mungkin tersedia pada master, yang memungkinkan beberapa slave disambungkan secara paralel. Jika hanya satu pin CS/SS yang ada, beberapa slave dapat disambungkan ke master dengan daisy-chaining.

GANDA BUDAK SPI

dapat diatur untuk beroperasi dengan satu master dan satu budak, dan dapat diatur dengan beberapa budak yang dikendalikan oleh satu master. Ada dua cara untuk menghubungkan beberapa budak ke master. Jika master memiliki beberapa pin pilih budak, budak dapat ditransfer secara paralel seperti ini:

Langkah 9:

Gambar
Gambar

Langkah 10:

MOSI DAN MISO

Master mengirimkan data ke slave sedikit demi sedikit, secara serial melalui jalur MOSI. Slave menerima data yang dikirim dari master pada pin MOSI. Data yang dikirim dari master ke slave biasanya dikirim dengan bit yang paling signifikan terlebih dahulu. Slave juga dapat mengirim data kembali ke master melalui jalur MISO secara serial. Data yang dikirim dari slave kembali ke master biasanya dikirim dengan bit paling tidak signifikan terlebih dahulu. LANGKAH-LANGKAH TRANSMISI DATA SPI 1. Master mengeluarkan sinyal clock:

Langkah 11:

Gambar
Gambar

Jika hanya satu pin pilihan slave yang tersedia, slave dapat dirantai daisy seperti ini:

Langkah 12:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

MOSI DAN MISO

Master mengirimkan data ke slave sedikit demi sedikit, secara serial melalui jalur MOSI. Slave menerima data yang dikirim dari master pada pin MOSI. Data yang dikirim dari master ke slave biasanya dikirim dengan bit yang paling signifikan terlebih dahulu.

Slave juga dapat mengirim data kembali ke master melalui jalur MISO secara serial. Data yang dikirim dari slave kembali ke master biasanya dikirim dengan bit paling tidak signifikan terlebih dahulu.

LANGKAH-LANGKAH TRANSMISI DATA SPI

*Catatan Gambar Tercantum Oboe Anda dapat dengan mudah membedakannya

1. Master mengeluarkan sinyal clock:

2. Master mengalihkan pin SS/CS ke status tegangan rendah, yang mengaktifkan slave:

3. Master mengirimkan data satu per satu ke slave di sepanjang jalur MOSI. Budak membaca bit saat diterima:

4. Jika respons diperlukan, slave mengembalikan data satu per satu ke master di sepanjang jalur MISO. Master membaca bit saat diterima:

Langkah 13: KEUNTUNGAN DAN KEKURANGAN SPI

Ada beberapa keuntungan dan kerugian menggunakan SPI, dan jika diberi pilihan antara protokol komunikasi yang berbeda, Anda harus tahu kapan harus menggunakan SPI sesuai dengan kebutuhan proyek Anda:

KEUNTUNGAN

Tidak ada bit start dan stop, sehingga data dapat dialirkan terus menerus tanpa gangguan Tidak ada sistem pengalamatan slave yang rumit seperti I2C Kecepatan transfer data lebih tinggi daripada I2C (hampir dua kali lebih cepat) Pisahkan jalur MISO dan MOSI, sehingga data dapat dikirim dan diterima secara bersamaan waktu

KEKURANGAN

Menggunakan empat kabel (I2C dan UART menggunakan dua) Tidak ada pengakuan bahwa data telah berhasil diterima (I2C memiliki ini) Tidak ada bentuk pemeriksaan kesalahan seperti bit paritas di UART Hanya memungkinkan untuk satu master Semoga artikel ini memberi Anda pemahaman yang lebih baik dari SPI. Lanjutkan ke bagian dua dari seri ini untuk mempelajari tentang komunikasi yang digerakkan oleh UART, atau ke bagian tiga di mana kita membahas protokol I2C.

Jika Anda memiliki pertanyaan, jangan ragu untuk bertanya di bagian komentar, kami di sini untuk membantu. Dan pastikan untuk mengikuti

Salam: M. Junaid

Direkomendasikan: