SPI - Η σειριακή περιφερειακή διεπαφή

SPI σημαίνει σειριακή περιφερειακή διεπαφή. Με το SPI μπορείτε να ανταλλάσσετε δεδομένα ταχύτατα μεταξύ δύο συσκευών. Και χρειάζεστε μόνο τέσσερα καλώδια.

Χαρακτηριστικά SPI

Η σειριακή περιφερειακή διεπαφή είναι μια σύγχρονη διεπαφή επικοινωνίας για μικρές αποστάσεις. Σύγχρονη σημαίνει ότι τα δεδομένα αποστέλλονται με τη μορφή μπλοκ ή πλαισίων και ότι οι δύο συσκευές συγχρονίζονται με τη χρήση ρολογιού. Πρόκειται για σειριακή διασύνδεση, οπότε οι συσκευές στέλνουν ένα bit κάθε φορά (σε αντίθεση με την παράλληλη επικοινωνία). Μία από τις συσκευές είναι ο "Κύριος" και υπαγορεύει τον κύκλο του ρολογιού. Η άλλη συσκευή είναι ο "σκλάβος". Συνήθως η επικοινωνία γίνεται σε λειτουργία πλήρους διπλής όψης. Ως εκ τούτου και οι δύο συσκευές μπορούν να στέλνουν δεδομένα, ακόμη και ταυτόχρονα.

Χαρακτηριστικά SPI
Χαρακτηριστικά SPI

Καλωδίωση

Χρειάζεστε μόνο τέσσερα καλώδια για τη σύνδεση, οπότε είναι πολύ εύκολο να το εγκαταστήσετε.

Καλωδίωση SPI
Καλωδίωση SPI

Υπάρχουν τέσσερις ακροδέκτες που χρειάζεστε για μια σύνδεση SPI: το σειριακό ρολόι (SCL ή SCLK), η είσοδος Master Output Slave Input (MOSI), η έξοδος Master Input Slave Output (MISO) και ο ακροδέκτης Chip Select ή Slave Select (CS ή SS).

Συνδέστε τους αντίστοιχους ακροδέκτες στις συσκευές Master και Slave.

Μια κύρια συσκευή μπορεί να συνδεθεί με πολλές συσκευές Slave, αρκεί να διαθέτει αρκετές ακίδες επιλογής τσιπ. Το Master ελέγχει ποια συσκευή Slave λαμβάνει τα δεδομένα θέτοντας την αντίστοιχη ακίδα επιλογής chip σε LOW ή HIGH.

Το Raspberry Pi 4 διαθέτει 7 διαύλους SPI . Αν θέλετε να μάθετε πώς να αποκτήσετε πρόσβαση στους διαύλους SPI 1 έως 6, τότε αφήστε ένα σχόλιο παρακάτω.

Ας ρίξουμε μια ματιά στο Δίαυλος SPI 0.

Raspberry Pi Pinout
Raspberry Pi Pinout

Όπως μπορείτε να δείτε στο γραφική παράσταση pinout ο παραπάνω ακροδέκτης 23 είναι ο ακροδέκτης SCLK του Raspberry Pi. Το MISO είναι ο ακροδέκτης 21 και το MOSI είναι ο ακροδέκτης 19. Ο δίαυλος 0 έχει δύο ακροδέκτες CS που είναι οι ακροδέκτες 24 και 26.

Αν θέλετε να χρησιμοποιήσετε το δίαυλο 0, φροντίστε να τον ενεργοποιήσετε πρώτα.

Εκτελέστε την εντολή

sudo raspi-config

Στη συνέχεια επιλέξτε 3 Επιλογές διασύνδεσης και κάντε κλικ στο I4 SPI. Τέλος πατήστε Ναι και Εντάξει για να ενεργοποιήσετε το SPI.

Λειτουργίες SPI

Υπάρχουν τέσσερις διαφορετικοί τρόποι μετάδοσης δεδομένων που πρέπει να γνωρίζετε. Διαφέρουν ως προς την πολικότητα του ρολογιού και τη φάση του ρολογιού.

Λειτουργίες SPI
Λειτουργίες SPI

Και τα δύο μπορούν να είναι είτε 0 είτε 1. Όσον αφορά την πολικότητα του ρολογιού, το 0 σημαίνει κατάσταση αδράνειας LOW και το 1 σημαίνει κατάσταση αδράνειας HIGH. Μια φάση ρολογιού 0 σημαίνει ότι τα δεδομένα αποστέλλονται στην πτωτική ακμή, ενώ ένα 1 σημαίνει ότι τα δεδομένα αποστέλλονται στην ανοδική ακμή. Προτού μπορέσουν να στείλουν δεδομένα, ο Κύριος και ο Σκλάβος πρέπει να συμφωνήσουν σε έναν από τους τέσσερις τρόπους λειτουργίας.

Πλεονεκτήματα

Τα μεγαλύτερα πλεονεκτήματα είναι η υψηλή ταχύτητα, η εύκολη εγκατάσταση υλικού και λογισμικού και η χαμηλή απαίτηση ισχύος.

Πλεονεκτήματα
Πλεονεκτήματα

Μειονεκτήματα

Η σειριακή περιφερειακή διασύνδεση δεν είναι πραγματικά επεκτάσιμη σε εύρος και αριθμό συσκευών, αφού το Master χρειάζεται ένα chip select pin για κάθε συσκευή. Επίσης, δεν υπάρχει επιβεβαίωση υλικού Slave, οπότε ο Master δεν γνωρίζει αν τα δεδομένα έχουν ληφθεί από οποιονδήποτε.

Μειονεκτήματα
Μειονεκτήματα

Περιπτώσεις χρήσης

Οι περισσότερες συσκευές SPI είναι ενσωματωμένες συσκευές ή LCD-οθόνες. Γενικά, χρησιμοποιείται σε περιοχές όπου απαιτούνται λίγες συσκευές και γρήγορη μετάδοση δεδομένων.

Επιτρέπει στο Raspberry Pi να διασυνδέει όλα τα είδη των αισθητήρες και συσκευές. Σχεδόν όλες οι συσκευές που είναι συμβατές με το Raspberry Pi χρησιμοποιούν τη διεπαφή SPI ή I2C.

Οι κάρτες SD χρησιμοποιούν επίσης τη διασύνδεση SPI, οπότε ακόμη και η συσκευή ανάγνωσης καρτών SD στο Raspberry Pi διαθέτει κάποιες εσωτερικές ακίδες MISO και MOSI.

Αφήστε ένα σχόλιο