SPI, protokol komunikasi serial sinkron yang awalnya dikembangkan oleh Motorola (sekarang Freescale), telah menjadi sangat umum dalam sistem tertanam untuk menghubungkan mikrokontroler dengan periferal seperti sensor, modul memori, dan tampilan. Popularitasnya berasal dari fleksibilitasnya, kemampuan kecepatan tinggi, dan implementasi perangkat keras yang mudah.
Protokol SPI standar menggunakan empat jalur sinyal utama:
SPI beroperasi dalam konfigurasi master-slave di mana master memulai semua komunikasi. Meskipun secara teoritis mendukung komunikasi full-duplex, sebagian besar aplikasi LCD/OLED menggunakan mode half-duplex. Operasi seperti shift-register protokol memungkinkan transfer data dua arah secara bersamaan, meskipun implementasi praktis seringkali memerlukan fase perintah dan data berurutan.
Pengontrol tampilan umumnya mengimplementasikan dua varian SPI: "SPI 3-kabel" dan "SPI 4-kabel," yang dibedakan terutama oleh pendekatan mereka untuk membedakan perintah dari data.
Konfigurasi 4-kabel tradisional mencakup:
Arsitektur ini mencerminkan pengontrol antarmuka paralel yang mempertahankan register perintah dan data terpisah, menggunakan jalur C/D (terkadang diberi label A0) untuk beralih di antara keduanya.
Versi 3-kabel yang disederhanakan menghilangkan jalur C/D khusus, sebagai gantinya mengkodekan informasi ini dalam aliran data:
Di sini, bit tambahan (biasanya MSB) menunjukkan apakah transmisi berisi perintah (1) atau data (0), secara efektif membuat transmisi 9-bit, bukan transfer 8-bit standar.
Beberapa pengontrol menggunakan pengkodean data 3-kabel sambil secara fisik menggunakan empat kabel (menambahkan MISO untuk operasi baca). Varian yang lebih kompleks dapat menggabungkan bit kesepuluh untuk mengkodekan fungsionalitas baca/tulis, membuat komunikasi dua arah melalui satu jalur data.
Meskipun SPI 3-kabel mengurangi koneksi fisik, panjang transmisi yang tidak standar dapat mempersulit implementasi perangkat keras SPI. Prosesor modern dengan pengontrol SPI yang fleksibel dapat mengakomodasi transfer 9-bit, tetapi banyak sistem tradisional menganggap SPI 4-kabel lebih mudah diimplementasikan.
Arsitektur SPI seperti shift-register membuatnya sangat cocok untuk perangkat daisy-chained:
Pendekatan ini menyederhanakan sistem multi-perangkat tetapi memperkenalkan latensi yang sebanding dengan panjang rantai dan mengharuskan semua perangkat mendukung daisy-chaining.
Menguasai implementasi SPI sangat penting bagi pengembang tertanam yang bekerja dengan teknologi tampilan. Pilihan antara SPI 3-kabel dan 4-kabel bergantung pada kemampuan perangkat keras tertentu dan persyaratan pengontrol. Sementara 3-kabel menawarkan penghematan koneksi, 4-kabel mempertahankan kompatibilitas dengan perangkat keras SPI standar. Memahami nuansa ini memastikan integrasi tampilan yang optimal dalam proyek tertanam.