top of page

SPI Bus: Teori dan Implementasi


SPI adalah singkatan dari "Serial to Peripheral Interface", dan ini merupakan protokol komunikasi perangkat keras dan firmware yang dikembangkan oleh Motorola dan kemudian diadopsi oleh semua orang. SPI Bus hanya digunakan pada PCB. Saya yakin beberapa dari Anda akan bertanya: "Mengapa SPI Bus hanya digunakan pada PCB? Apa yang mencegah kami menggunakannya di luar area PCB?" SPI Bus dirancang khusus untuk bertukar data hino indonesia antara berbagai chip IC, dengan kecepatan sangat tinggi; katakanlah, pada 180 MHz atau bahkan lebih. Karena aspek kecepatan tinggi ini, jalur Bus tidak boleh terlalu panjang, karena reaktansinya meningkat terlalu banyak, dan Bus menjadi tidak dapat digunakan. Namun, jika Anda mau, Anda bisa menggunakan SPI Bus di luar PCB dengan kecepatan rendah, tetapi ini tidak terlalu praktis - SPI Bus membutuhkan 3 atau 4 jalur komunikasi, yang agak terlalu banyak, jika dibandingkan dengan 1 atau 2 jalur yang biasanya diperlukan untuk berkomunikasi, secara efisien, dengan perangkat lapangan yang terletak di luar PCB. Bagaimanapun, pada PCB, Bus SPI sangat baik, karena kita dapat melampirkan Bus sebanyak IC (atau perangkat) yang kita inginkan. Maafkan saya karena tidak memberikan gambar SPI Bus, tetapi yakinlah Anda tidak memerlukannya: Bus SPI sangat sederhana sehingga Anda akan memahami semuanya dengan kata-kata. Pertanyaan selanjutnya adalah: "Mengapa SPI Bus ini sangat berguna?" Selain dari pertukaran data antara berbagai chip IC, SPI Bus adalah metode mengalikan pin mikrokontroler. Dengan kata lain, jika Anda memiliki mikrokontroler 8 pin yang mungil, Anda bisa mengendalikan monster kecil itu dengan ratusan input dan output digital hino motor sales indonesia. Ini mengesankan, dan saya yakin banyak yang meragukan kata-kata saya. Mari kita jelaskan ini. SPI Bus berisi tiga baris, dan mereka dapat berada pada pin pengontrol I / O umum. Jalur Bus ini adalah: Jam, Data-Masuk, dan Data-Out. Selain itu, setiap IC yang terhubung ke Bus SPI membutuhkan jalur Enable individual. Hal-hal bekerja seperti ini: misalkan kita memiliki empat perangkat, A, B, C, dan D; semuanya disambungkan ke jalur SPI Bus, dan Bus itu sendiri disambungkan ke tujuh pin pengontrol - ini adalah 3 jalur Bus ditambah 4 yang Aktifkan. Ketika kami ingin mengirim pesan ke perangkat C, kami mengaktifkan Enable line-nya terlebih dahulu, lalu kami mengirim pesan secara serial, sedikit demi sedikit. Pada saat yang sama perangkat A, B, dan D tidak melakukan apa-apa, karena tidak diaktifkan. Keindahan dengan Bus SPI adalah, Synchronous, artinya, ketika controller mengirim pesan ke satu IC, ia juga dapat menerima data dari IC itu, pada saat yang sama. Aspek khusus dari protokol SPI ini sangat cocok untuk komunikasi mikrokontroler-ke-mikrokontroler. Sekarang, kita telah melihat mikrokontroler 8 pin kecil dapat mengontrol 4 perangkat (IC) menggunakan 7 pin. Memperhatikan satu perangkat tipe A, B, C, atau D dapat memiliki delapan atau bahkan enam belas port I / O, ini masih jauh dari ratusan Input dan Output yang saya janjikan kepada Anda. Hal indah berikutnya tentang SPI Bus adalah: satu perangkat IC dapat diserialisasi dengan lebih banyak dari jenis yang sama! Sebagai contoh, kita dapat memiliki B1, B2, B3, B4, B5, dan sebagainya. Semua IC tipe B # diserialisasi bersama, dan mereka hanya membutuhkan 4 pin mikrokontroler untuk membuatnya bekerja; garis Enable adalah umum untuk semuanya. Selanjutnya, kita dapat menggunakan setiap perangkat tipe A, B, C, dan D sebagai kelompok puluhan IC serupa. Kecepatan pengaktifan setiap port I / O pada Bus SPI lebih lambat, ketika mengalikan pin mikrokontroler, tetapi selalu mempertimbangkan perangkat bidang I / O yang tidak selalu membutuhkan kecepatan, katakanlah masing-masing 1.000 aktivasi AKTIF / MATI per detik, hanya karena kebanyakan dari mereka tidak dapat menangani kecepatan itu. Namun, ada beberapa teknik firmware yang sangat cerdas seperti jenis fungsi "barrel-shift", yang memungkinkan kita untuk mempertahankan pengiriman pesan berkecepatan tinggi di Bus SPI, bahkan jika kita memiliki ratusan I / Os. Pada saat yang sama, fungsi "barrel-shift" memungkinkan manajemen waktu yang lebih baik di dalam mikrokontroler, sehingga memiliki lebih banyak waktu untuk melakukan tugas-tugas lain - masuk akal bagi saya! Sebagai penutup, saya yakin sudah jelas sekarang kita dapat, memang, membangun ratusan jalur I / O yang efisien pada pengontrol 8 pin kecil.


bottom of page