Memahami tentang Protokol Komunikasi SPI di Tertanam

Coba Instrumen Kami Untuk Menghilangkan Masalah





Komunikasi memainkan peran penting dalam perancangan sistem tertanam. Tanpa menggunakan protokol, perluasan periferal sangat kompleks dan memakan daya tinggi. Itu sistem tertanam pada dasarnya menggunakan komunikasi serial untuk berkomunikasi dengan periferal.
Ada banyak protokol komunikasi serial, seperti komunikasi UART, CAN, USB, I2C dan SPI. Serial protokol komunikasi karakteristik termasuk kecepatan tinggi dan kehilangan data rendah. Itu membuat perancangan tingkat sistem lebih mudah, dan memastikan transfer data yang andal.

Komunikasi Data Serial

Informasi yang diberi kode secara elektrik disebut data serial, yang dikirimkan sedikit demi sedikit dari satu perangkat ke perangkat lainnya melalui seperangkat protokol. Pada embedded system, sensor kendali dan data aktuator diterima atau ditransmisikan ke perangkat pengontrol seperti mikrokontroler sehingga data tersebut selanjutnya dianalisis dan diproses. Karena mikrokontroler bekerja dengan data digital, informasi dari sensor analog , aktuator dan perangkat lainnya diubah menjadi satu byte (8-bit) kata biner sebelum dikirim ke mikrokontroler.




Komunikasi Data Serial

Komunikasi Data Serial

Data serial ini ditransmisikan sehubungan dengan pulsa clock tertentu. Tingkat transmisi data disebut sebagai baud rate. Jumlah bit data yang dapat ditransmisikan per detik disebut baud rate. Misalkan data berukuran 12 byte, maka setiap byte diubah menjadi 8 bit sehingga ukuran total transmisi data adalah sekitar 96 bit / detik dari data (12bytes * 8 bit per byte). Jika data dapat dikirim setiap detik, baud rate sekitar 96bits / detik atau 96 baud. Layar tampilan menyegarkan nilai data sekali setiap detik.



Dasar-dasar Antarmuka Periferal Serial

Komunikasi SPI adalah singkatan dari serial peripheral interface protokol komunikasi , yang dikembangkan oleh Motorola pada tahun 1972. Antarmuka SPI tersedia pada pengontrol komunikasi populer seperti PIC, AVR, dan Pengontrol ARM , dll. Memiliki link data komunikasi serial sinkron yang beroperasi dalam dupleks penuh, yang berarti sinyal data membawa kedua arah secara bersamaan.

Protokol SPI terdiri dari empat kabel seperti MISO, MOSI, CLK, SS yang digunakan untuk komunikasi master / slave. Master adalah mikrokontroler, dan budak adalah periferal lain seperti sensor, Modem GSM dan modem GPS, dll. Beberapa budak dihubungkan ke master melalui bus serial SPI. Protokol SPI tidak mendukung komunikasi Multi-master dan digunakan untuk jarak pendek dalam papan sirkuit.

Dasar-dasar Antarmuka Periferal Serial

Dasar-dasar Antarmuka Periferal Serial

Garis SPI

MISO (Master in Slave out) : Garis MISO dikonfigurasi sebagai input di perangkat master dan sebagai output di perangkat slave.


MOSI (Master out Slave in) : MOSI adalah jalur yang dikonfigurasi sebagai output di perangkat master dan sebagai input di perangkat pendukung yang digunakan untuk menyinkronkan pergerakan data.

SCK (jam serial) : Sinyal ini selalu digerakkan oleh master untuk transfer data sinkron antara master dan slave. Ini digunakan untuk menyinkronkan pergerakan data baik yang masuk maupun keluar melalui jalur MOSI dan MISO.

SS (Slave Select) dan CS (Chip Select) : Sinyal ini digerakkan oleh master untuk memilih budak individu / perangkat Periferal. Ini adalah jalur input yang digunakan untuk memilih perangkat budak.

Master Slave Communication dengan SPI Serial Bus

Penerapan SPI Single Master dan Single Slave

Di sini, komunikasi selalu diprakarsai oleh sang master. Perangkat master terlebih dahulu mengkonfigurasi frekuensi clock yang kurang dari atau sama dengan frekuensi maksimum yang didukung perangkat pendukung. Master kemudian memilih slave yang diinginkan untuk komunikasi dengan menyeret chip select line (SS) dari perangkat slave tersebut ke status rendah dan aktif. Master menghasilkan informasi ke baris MOSI yang membawa data dari master ke slave.

Master Slave Communication

Master Slave Communication

Implementasi Master Tunggal dan Beberapa Slave

Ini adalah konfigurasi beberapa slave dengan satu master dan beberapa slave melalui bus serial SPI. Beberapa budak terhubung secara paralel ke perangkat master dengan bus serial SPI. Di sini, semua jalur jam dan jalur data dihubungkan bersama, tetapi pin pilih chip dari setiap perangkat pendukung harus dihubungkan ke pin pemilih budak yang terpisah pada perangkat maser.

Master tunggal dan banyak budak

Master tunggal dan banyak budak

Dalam proses ini, kontrol setiap perangkat pendukung dilakukan oleh chip select line (SS). Pin pilih chip menjadi rendah untuk mengaktifkan perangkat budak dan menjadi tinggi untuk menonaktifkan perangkat budak.

Transfer data diatur dengan menggunakan register geser pada perangkat master dan slave dengan ukuran kata yang diberikan masing-masing sekitar 8-bit dan 16-bit. Kedua perangkat tersebut dihubungkan dalam bentuk cincin sehingga nilai register geser maser ditransmisikan melalui jalur MOSI, dan kemudian slave menggeser data dalam register gesernya. Data biasanya digeser dengan MSB terlebih dahulu dan menggeser LSB baru ke register yang sama.

Transfer Data antara Master dan Slave

Transfer Data antara Master dan Slave

Signifikansi Polaritas Jam dan Fase

Umumnya transmisi dan penerimaan data dilakukan sehubungan dengan pulsa clock di tepi naik dan tepi jatuh. Mikrokontroler tingkat lanjut memiliki dua frekuensi: frekuensi internal dan frekuensi eksternal. Periferal SPI dapat ditambahkan dengan berbagi jalur MISO, MOSI dan SCLK. Periferal memiliki jenis atau kecepatan yang berbeda seperti ADC, DAC, dll. Jadi kita perlu mengubah pengaturan SPCR antara transfer ke periferal yang berbeda.

Daftar SPCR

Daftar SPCR

Bus SPI beroperasi di salah satu dari 4 mode transfer berbeda dengan polaritas jam (CPOL) dan fase jam (CPHA) yang menentukan format jam yang akan digunakan. Polaritas jam dan kecepatan jam fase bergantung pada perangkat periferal mana yang Anda coba komunikasikan dengan master.
CPHA = 0, CPOL = 0: Bit pertama dimulai sebagai sinyal yang lebih rendah - data diambil sampelnya pada tepi naik dan data berubah pada tepi jatuh.

CPHA = 0, CPOL = 1: Bit pertama dimulai dengan clock yang lebih rendah - data diambil sampelnya pada tepi jatuh dan data berubah pada tepi naik.

CPHA = 1, CPOL = 0: Bit pertama dimulai dengan clock yang lebih tinggi - data diambil sampelnya di tepi jatuh dan data berubah di tepi naik.

CPHA = 1, CPOL = 1: Bit pertama dimulai dengan clock yang lebih tinggi - data diambil sampelnya pada tepi naik, dan data berubah pada tepi jatuh.

Pengaturan waktu SPI Bus

Pengaturan waktu SPI Bus

Protokol Komunikasi SPI

Banyak mikrokontroler memiliki protokol SPI bawaan yang menangani semua pengiriman dan penerimaan data. Setiap operasi mode data (R / W) dikendalikan oleh kontrol dan register status dari Protokol SPI. Di sini, Anda dapat mengamati antarmuka EEPROM ke mikrokontroler PIC16f877a melalui protokol SPI.

Di sini, 25LC104 EEROM adalah memori 131072 byte dimana mikrokontroler mentransfer dua byte data ke Memori EEROM melalui bus serial SPI. Program untuk antarmuka ini diberikan di bawah ini.

Komunikasi Master to Slave melalui bus serial SPI

Komunikasi Master to Slave melalui bus serial SPI

#include
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
Batal menginisialisasi EEROM ()
Batalkan main ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP=0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

Keuntungan dari Protokol SPI

  • Ini adalah komunikasi dupleks penuh.
  • Ini adalah bus data berkecepatan tinggi 10MHz.
  • Itu tidak terbatas pada 8 bit saat mentransfer
  • Antarmuka perangkat keras sederhana melalui SPI.
  • Slave menggunakan jam utama dan tidak membutuhkan osilator yang berharga.

Ini semua tentang komunikasi SPI dan nya berinteraksi dengan mikrokontroler . Kami menghargai ketertarikan dan perhatian Anda yang besar untuk artikel ini dan karenanya mengantisipasi pandangan Anda tentang artikel ini. Selanjutnya, untuk setiap pengkodean dan bantuan antarmuka, Anda dapat bertanya kepada kami dengan berkomentar di bawah ini.

Kredit Foto: