Το SPI, ένα σύγχρονο πρωτόκολλο σειριακής επικοινωνίας που αναπτύχθηκε αρχικά από τη Motorola (τώρα Freescale), έχει γίνει πανταχού παρόν στα ενσωματωμένα συστήματα για τη σύνδεση μικροελεγκτών με περιφερειακά όπως αισθητήρες, μονάδες μνήμης και οθόνες. Η δημοτικότητά του προέρχεται από την ευελιξία του, την ικανότητα υψηλής ταχύτητας και την απλή υλοποίηση υλικού.
Το τυπικό πρωτόκολλο SPI χρησιμοποιεί τέσσερις κύριες γραμμές σήματος:
Το SPI λειτουργεί σε διαμόρφωση master-slave όπου το master ξεκινά όλες τις επικοινωνίες. Ενώ θεωρητικά υποστηρίζει αμφίδρομη επικοινωνία, οι περισσότερες εφαρμογές LCD/OLED χρησιμοποιούν ημιαμφίδρομη λειτουργία. Η λειτουργία του πρωτοκόλλου που μοιάζει με καταχωρητή μετατόπισης επιτρέπει ταυτόχρονη αμφίδρομη μεταφορά δεδομένων, αν και οι πρακτικές υλοποιήσεις συχνά απαιτούν διαδοχικές φάσεις εντολών και δεδομένων.
Οι ελεγκτές οθόνης εφαρμόζουν συνήθως δύο παραλλαγές SPI: "SPI 3-αγωγών" και "SPI 4-αγωγών", που διακρίνονται κυρίως από την προσέγγισή τους για τη διαφοροποίηση εντολών από δεδομένα.
Η παραδοσιακή διαμόρφωση 4-αγωγών περιλαμβάνει:
Αυτή η αρχιτεκτονική αντικατοπτρίζει τους ελεγκτές παράλληλης διασύνδεσης που διατηρούσαν ξεχωριστά μητρώα εντολών και δεδομένων, χρησιμοποιώντας τη γραμμή C/D (μερικές φορές με την ετικέτα A0) για εναλλαγή μεταξύ τους.
Η βελτιωμένη έκδοση 3-αγωγών εξαλείφει την αποκλειστική γραμμή C/D, αντ' αυτού κωδικοποιεί αυτές τις πληροφορίες στη ροή δεδομένων:
Εδώ, ένα επιπλέον bit (τυπικά το MSB) υποδεικνύει εάν η μετάδοση περιέχει εντολές (1) ή δεδομένα (0), δημιουργώντας αποτελεσματικά μεταδόσεις 9-bit αντί για τυπικές μεταφορές 8-bit.
Ορισμένοι ελεγκτές χρησιμοποιούν κωδικοποίηση δεδομένων 3-αγωγών ενώ χρησιμοποιούν φυσικά τέσσερα καλώδια (προσθέτοντας MISO για λειτουργίες ανάγνωσης). Πιο σύνθετες παραλλαγές μπορεί να ενσωματώσουν ένα δέκατο bit για την κωδικοποίηση της λειτουργικότητας ανάγνωσης/εγγραφής, δημιουργώντας αμφίδρομη επικοινωνία μέσω μιας μόνο γραμμής δεδομένων.
Ενώ το SPI 3-αγωγών μειώνει τις φυσικές συνδέσεις, το μη τυπικό μήκος μετάδοσής του μπορεί να περιπλέξει τις υλοποιήσεις υλικού SPI. Οι σύγχρονοι επεξεργαστές με ευέλικτους ελεγκτές SPI μπορεί να φιλοξενήσουν μεταφορές 9-bit, αλλά πολλά παραδοσιακά συστήματα θεωρούν το SPI 4-αγωγών πιο απλό στην υλοποίηση.
Η αρχιτεκτονική του SPI που μοιάζει με καταχωρητή μετατόπισης το καθιστά ιδιαίτερα κατάλληλο για συσκευές αλυσιδωτής σύνδεσης:
Αυτή η προσέγγιση απλοποιεί τα συστήματα πολλαπλών συσκευών, αλλά εισάγει λανθάνουσα κατάσταση ανάλογη με το μήκος της αλυσίδας και απαιτεί από όλες τις συσκευές να υποστηρίζουν αλυσιδωτή σύνδεση.
Η εκμάθηση των υλοποιήσεων SPI είναι απαραίτητη για τους ενσωματωμένους προγραμματιστές που εργάζονται με τεχνολογίες οθόνης. Η επιλογή μεταξύ SPI 3-αγωγών και 4-αγωγών εξαρτάται από συγκεκριμένες δυνατότητες υλικού και απαιτήσεις ελεγκτή. Ενώ το 3-αγωγών προσφέρει οικονομία σύνδεσης, το 4-αγωγών διατηρεί τη συμβατότητα με το τυπικό υλικό SPI. Η κατανόηση αυτών των αποχρώσεων εξασφαλίζει τη βέλτιστη ενσωμάτωση οθόνης σε ενσωματωμένα έργα.