Daftar Isi:
- Langkah 1: SERIAL VS. KOMUNIKASI PARALEL
- Langkah 2:
- Langkah 3:
- Langkah 4: PENGANTAR KOMUNIKASI SPI
- Langkah 5:
- Langkah 6:
- Langkah 7:
- Langkah 8: BAGAIMANA SPI BEKERJA
- Langkah 9:
- Langkah 10:
- Langkah 11:
- Langkah 12:
- Langkah 13: KEUNTUNGAN DAN KEKURANGAN SPI
Video: DASAR-DASAR PROTOKOL KOMUNIKASI SPI: 13 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
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
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:
Langkah 4: 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:
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:
*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:
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:
Jika hanya satu pin pilihan slave yang tersedia, slave dapat dirantai daisy seperti ini:
Langkah 12:
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:
Jam Internet: Menampilkan Tanggal dan Waktu Dengan OLED Menggunakan ESP8266 NodeMCU Dengan Protokol NTP: 6 Langkah
Jam Internet: Tampilkan Tanggal dan Waktu Dengan OLED Menggunakan ESP8266 NodeMCU Dengan Protokol NTP: Hai teman-teman dalam instruksi ini kami akan membuat jam internet yang akan mendapatkan waktu dari internet sehingga proyek ini tidak memerlukan RTC untuk dijalankan, hanya perlu a koneksi internet yang berfungsi Dan untuk proyek ini Anda memerlukan esp8266 yang akan memiliki
Tampilan Berikutnya - Antarmuka dan Protokol Dijelaskan Dengan PIC dan Arduino: 10 Langkah
Tampilan Berikutnya | Antarmuka dan Protokol Dijelaskan Dengan PIC dan Arduino: Tampilan Nextion sangat mudah digunakan dan antarmuka yang mudah dengan pengontrol mikro. Dengan bantuan editor Nextion kita dapat mengonfigurasi tampilan dan kita dapat mendesain UI pada tampilan. Jadi berdasarkan peristiwa atau perintah tampilan Nextion akan bertindak untuk menampilkan
Layar LCD I2C / IIC - Gunakan LCD SPI ke Layar LCD I2C Menggunakan Modul SPI ke IIC Dengan Arduino: 5 Langkah
Layar LCD I2C / IIC | Menggunakan LCD SPI ke Layar LCD I2C Menggunakan Modul SPI ke IIC Dengan Arduino: Hai teman-teman karena LCD SPI 1602 yang normal memiliki terlalu banyak kabel untuk dihubungkan sehingga sangat sulit untuk menghubungkannya dengan arduino tetapi ada satu modul yang tersedia di pasaran yang dapat ubah tampilan SPI menjadi tampilan IIC sehingga Anda hanya perlu menghubungkan 4 kabel
Papan Pemberitahuan Digital Menggunakan Raspberry Pi dan Protokol MQTT: 8 Langkah
Papan Pemberitahuan Digital Menggunakan Raspberry Pi dan Protokol MQTT: Papan Pemberitahuan hampir digunakan di mana-mana, seperti kantor, sekolah, rumah sakit, dan hotel. Mereka dapat digunakan berulang kali untuk menampilkan pemberitahuan penting atau mengiklankan acara atau pertemuan yang akan datang. Tapi pemberitahuan atau iklan harus dicetak
Pendahuluan* SPI pada Pi: Berkomunikasi Dengan Akselerometer 3-sumbu SPI Menggunakan Raspberry Pi: 10 Langkah
Pendahuluan* SPI pada Pi: Berkomunikasi Dengan Akselerometer 3-sumbu SPI Menggunakan Raspberry Pi: Panduan langkah demi langkah tentang cara mengatur Raspbian, dan berkomunikasi dengan perangkat SPI menggunakan perpustakaan SPI bcm2835 (TIDAK sedikit terbentur!) Ini masih sangat awal… Saya perlu menambahkan gambar yang lebih baik dari hubungan fisik, dan mengerjakan beberapa kode yang canggung