Isi kandungan:

ASAS PROTOKOL KOMUNIKASI SPI: 13 Langkah
ASAS PROTOKOL KOMUNIKASI SPI: 13 Langkah

Video: ASAS PROTOKOL KOMUNIKASI SPI: 13 Langkah

Video: ASAS PROTOKOL KOMUNIKASI SPI: 13 Langkah
Video: Praktikum Sistem Siber Fisik Modul 8: Komunikasi Serial I2C & SPI 2024, Julai
Anonim
ASAS PROTOKOL KOMUNIKASI SPI
ASAS PROTOKOL KOMUNIKASI SPI

Semasa anda menyambungkan mikrokontroler ke sensor, paparan, atau modul lain, adakah anda pernah memikirkan bagaimana kedua-dua peranti itu saling bercakap? Apa sebenarnya yang mereka katakan? Bagaimana mereka dapat saling memahami?

Komunikasi antara alat elektronik adalah seperti komunikasi antara manusia. Kedua-dua pihak perlu bertutur dalam bahasa yang sama. Dalam elektronik, bahasa-bahasa ini disebut protokol komunikasi. Nasib baik bagi kita, hanya ada beberapa protokol komunikasi yang perlu kita ketahui semasa membina kebanyakan projek elektronik DIY. Dalam siri artikel ini, kita akan membincangkan asas-asas tiga protokol yang paling biasa: Interface Periferal Serial (SPI), Inter-Integrated Circuit (I2C), dan Universal Asynchronous Receiver / Transmitter (UART). Pertama, kita akan memulakan dengan beberapa konsep asas mengenai komunikasi elektronik, kemudian menerangkan secara terperinci bagaimana SPI berfungsi. Pada artikel seterusnya, kita akan membincangkan komunikasi yang didorong oleh UART, dan pada artikel ketiga, kita akan menyelami I2C. SPI, I2C, dan UART sedikit lebih perlahan daripada protokol seperti USB, ethernet, Bluetooth, dan WiFi, tetapi jauh lebih mudah dan menggunakan sumber perkakasan dan sistem yang lebih sedikit. SPI, I2C, dan UART sangat sesuai untuk komunikasi antara mikrokontroler dan antara mikrokontroler dan sensor di mana sejumlah besar data berkelajuan tinggi tidak perlu dipindahkan.

Langkah 1: SERIAL VS. KOMUNIKASI PARALEL

SERIAL VS. KOMUNIKASI PARALEL
SERIAL VS. KOMUNIKASI PARALEL

Peranti elektronik bercakap antara satu sama lain dengan menghantar bit data melalui wayar yang disambungkan secara fizikal antara peranti. Sedikit seperti huruf dalam satu perkataan, kecuali daripada 26 huruf (dalam abjad Inggeris), bit adalah binari dan hanya boleh menjadi 1 atau 0. Bit dipindahkan dari satu peranti ke peranti lain dengan perubahan voltan yang cepat. Dalam sistem yang beroperasi pada 5 V, 0 bit dikomunikasikan sebagai nadi pendek 0 V, dan 1 bit dikomunikasikan oleh nadi pendek 5 V.

Bit data boleh dihantar sama ada dalam bentuk selari atau bersiri. Dalam komunikasi selari, bit data dihantar sekaligus, masing-masing melalui wayar yang berasingan. Gambar rajah berikut menunjukkan transmisi selari huruf "C" dalam binari (01000011):

Langkah 2:

Dalam komunikasi bersiri, bit dihantar satu persatu melalui satu wayar. Gambar rajah berikut menunjukkan penghantaran siri huruf "C" dalam perduaan (01000011):

Langkah 3:

Imej
Imej

Langkah 4: PENGENALAN KEPADA KOMUNIKASI SPI

PENGENALAN KEPADA KOMUNIKASI SPI
PENGENALAN KEPADA KOMUNIKASI SPI

SPI adalah protokol komunikasi biasa yang digunakan oleh banyak peranti yang berbeza. Contohnya, modul kad SD, modul pembaca kad RFID, dan pemancar / penerima tanpa wayar 2.4 GHz semuanya menggunakan SPI untuk berkomunikasi dengan mikrokontroler.

Satu kelebihan unik SPI adalah hakikat bahawa data dapat dipindahkan tanpa gangguan. Sebilangan besar bit boleh dihantar atau diterima dalam aliran berterusan. Dengan I2C dan UART, data dihantar dalam paket, terhad kepada jumlah bit tertentu. Keadaan mula dan berhenti menentukan permulaan dan akhir setiap paket, sehingga data terganggu semasa penghantaran. Peranti yang berkomunikasi melalui SPI berada dalam hubungan tuan-hamba. Master adalah alat pengendali (biasanya mikrokontroler), sementara hamba (biasanya sensor, paparan, atau cip memori) mengambil arahan dari master. Konfigurasi SPI yang paling mudah adalah sistem master tunggal, sistem hamba tunggal, tetapi satu master dapat mengawal lebih daripada satu hamba (lebih lanjut mengenai ini di bawah).

Langkah 5:

Imej
Imej

Langkah 6:

MOSI (Master Output / Slave Input) - Garis untuk master menghantar data kepada hamba.

MISO (Master Input / Slave Output) - Garis untuk hamba menghantar data kepada master.

SCLK (Jam) - Garis untuk isyarat jam.

SS / CS (Slave Select / Chip Select) - Garis untuk master memilih hamba untuk menghantar data

Langkah 7:

Imej
Imej

* Dalam praktiknya, jumlah hamba dibatasi oleh kapasitansi beban sistem, yang mengurangi kemampuan master untuk beralih antara tingkat voltan dengan tepat.

Langkah 8: BAGAIMANA SPI BERFUNGSI

JAM

Isyarat jam menyegerakkan output bit data dari master ke pensampelan bit oleh hamba. Satu bit data dipindahkan dalam setiap pusingan jam, jadi kecepatan pemindahan data ditentukan oleh frekuensi isyarat jam. Komunikasi SPI selalu dimulakan oleh master kerana master mengkonfigurasi dan menghasilkan isyarat jam.

Sebarang protokol komunikasi di mana peranti berkongsi isyarat jam dikenali sebagai segerak. SPI adalah protokol komunikasi segerak. Terdapat juga kaedah tak segerak yang tidak menggunakan isyarat jam. Sebagai contoh, dalam komunikasi UART, kedua-dua belah pihak ditetapkan pada baud rate yang telah dikonfigurasi sebelumnya yang menentukan kelajuan dan waktu penghantaran data.

Isyarat jam dalam SPI dapat diubah menggunakan sifat polaritas jam dan fasa jam. Kedua-dua sifat ini bekerjasama untuk menentukan kapan bit dikeluarkan dan kapan mereka diambil sampel. Polaritas jam dapat ditetapkan oleh induk untuk membolehkan bit dikeluarkan dan diambil sampel pada sisi naik atau turunnya kitaran jam. Fasa jam dapat diatur agar output dan persampelan berlaku di tepi pertama atau tepi kedua kitaran jam, tidak kira sama ada ia naik atau turun.

PILIH HILANG

Tuan boleh memilih hamba mana yang ingin dia bicara dengan menetapkan saluran CS / SS hamba ke tahap voltan rendah. Dalam keadaan tidak siaga, tidak menghantar, talian pilih hamba disimpan pada tahap voltan tinggi. Pelbagai pin CS / SS mungkin tersedia di master, yang membolehkan beberapa hamba disambungkan secara selari. Sekiranya hanya ada satu pin CS / SS, beberapa hamba dapat dihubungkan ke master dengan menggunakan daisy-chaining.

SPI PELBAGAI BANYAK

dapat diatur untuk beroperasi dengan satu master dan satu hamba, dan ia dapat disiapkan dengan beberapa hamba yang dikendalikan oleh satu master. Terdapat dua cara untuk menghubungkan beberapa hamba dengan tuan. Sekiranya tuan punya beberapa pin pilih hamba, hamba boleh disambungkan secara selari seperti ini:

Langkah 9:

Imej
Imej

Langkah 10:

MOSI DAN MISO

Master menghantar data kepada hamba sedikit demi sedikit, secara bersiri melalui talian MOSI. Hamba menerima data yang dihantar dari master di pin MOSI. Data yang dihantar dari tuan kepada hamba biasanya dihantar dengan bit yang paling penting terlebih dahulu. Hamba juga boleh menghantar kembali data ke master melalui talian MISO secara bersiri. Data yang dihantar dari hamba kembali ke master biasanya dihantar dengan bit yang paling tidak penting terlebih dahulu. LANGKAH PENGANGKUTAN DATA SPI 1. Master mengeluarkan isyarat jam:

Langkah 11:

Imej
Imej

Sekiranya hanya ada satu pin pilih hamba, hamba boleh dirantai daisy seperti ini:

Langkah 12:

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

MOSI DAN MISO

Master menghantar data kepada hamba sedikit demi sedikit, secara bersiri melalui talian MOSI. Hamba menerima data yang dihantar dari master di pin MOSI. Data yang dihantar dari tuan kepada hamba biasanya dihantar dengan bit yang paling penting terlebih dahulu.

Hamba juga boleh menghantar kembali data ke master melalui talian MISO secara bersiri. Data yang dihantar dari hamba kembali ke master biasanya dihantar dengan bit yang paling tidak penting terlebih dahulu.

LANGKAH PENGANGKUTAN DATA SPI

* Nota Gambar adalah Oboe yang disenaraikan yang dapat anda bezakan dengan mudah

1. Master mengeluarkan isyarat jam:

2. Master menukar pin SS / CS ke keadaan voltan rendah, yang mengaktifkan hamba:

3. Tuan menghantar data sedikit demi sedikit kepada hamba di sepanjang garis MOSI. Hamba membaca bit ketika diterima:

4. Sekiranya tindak balas diperlukan, hamba mengembalikan data sedikit demi sedikit kepada tuan di sepanjang garis MISO. Master membaca bit semasa diterima:

Langkah 13: KELEBIHAN DAN KELEBIHAN SPI

Terdapat beberapa kelebihan dan kekurangan menggunakan SPI, dan jika diberi pilihan antara protokol komunikasi yang berbeza, anda harus tahu kapan harus menggunakan SPI sesuai dengan kehendak projek anda:

KELEBIHAN

Tidak ada bit permulaan dan henti, jadi data dapat dialirkan secara berterusan tanpa gangguan Tidak ada sistem pengalamatan hamba yang rumit seperti I2C Kadar pemindahan data lebih tinggi daripada I2C (hampir dua kali lebih cepat) Pisahkan jalur MISO dan MOSI, sehingga data dapat dikirim dan diterima pada masa yang sama masa

KELEBIHAN

Menggunakan empat wayar (I2C dan UART menggunakan dua) Tidak ada pengakuan bahawa data telah berjaya diterima (I2C memilikinya) SPI. Teruskan bahagian kedua siri ini untuk mempelajari komunikasi UART, atau bahagian ketiga di mana kita membincangkan protokol I2C.

Sekiranya anda mempunyai pertanyaan, silakan bertanya di bahagian komen, kami sedia membantu. Dan pastikan untuk mengikuti

Salam: M. Junaid

Disyorkan: