Πίνακας περιεχομένων:

ΒΑΣΙΚΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΕΠΙΚΟΙΝΩΝΙΑΣ ΤΟΥ SPI: 13 Βήματα
ΒΑΣΙΚΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΕΠΙΚΟΙΝΩΝΙΑΣ ΤΟΥ SPI: 13 Βήματα

Βίντεο: ΒΑΣΙΚΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΕΠΙΚΟΙΝΩΝΙΑΣ ΤΟΥ SPI: 13 Βήματα

Βίντεο: ΒΑΣΙΚΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΕΠΙΚΟΙΝΩΝΙΑΣ ΤΟΥ SPI: 13 Βήματα
Βίντεο: 5 πράγματα που πρέπει να κάνεις στο σεξ για να κολλήσει μαζί σου 2024, Ιούλιος
Anonim
ΒΑΣΙΚΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΕΠΙΚΟΙΝΩΝΙΑΣ ΤΟΥ SPI
ΒΑΣΙΚΑ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ ΕΠΙΚΟΙΝΩΝΙΑΣ ΤΟΥ SPI

Όταν συνδέετε έναν μικροελεγκτή σε έναν αισθητήρα, οθόνη ή άλλη μονάδα, σκέφτεστε ποτέ πώς οι δύο συσκευές μιλούν μεταξύ τους; Τι ακριβώς λένε; Πώς μπορούν να καταλάβουν ο ένας τον άλλον;

Η επικοινωνία μεταξύ ηλεκτρονικών συσκευών είναι σαν επικοινωνία μεταξύ ανθρώπων. Και οι δύο πλευρές πρέπει να μιλούν την ίδια γλώσσα. Στα ηλεκτρονικά, αυτές οι γλώσσες ονομάζονται πρωτόκολλα επικοινωνίας. Ευτυχώς για εμάς, υπάρχουν μόνο μερικά πρωτόκολλα επικοινωνίας που πρέπει να γνωρίζουμε κατά την κατασκευή των περισσότερων ηλεκτρονικών έργων DIY. Σε αυτήν τη σειρά άρθρων, θα συζητήσουμε τα βασικά των τριών πιο συνηθισμένων πρωτοκόλλων: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) και Universal Asynchronous Receiver/Transmitter (UART) επικοινωνία. Αρχικά, θα ξεκινήσουμε με κάποιες βασικές έννοιες για την ηλεκτρονική επικοινωνία και στη συνέχεια θα εξηγήσουμε λεπτομερώς πώς λειτουργεί το SPI. Στο επόμενο άρθρο, θα συζητήσουμε την επικοινωνία που βασίζεται στην UART και στο τρίτο άρθρο, θα βουτήξουμε στο I2C. Τα SPI, I2C και UART είναι αρκετά πιο αργά από πρωτόκολλα όπως USB, ethernet, Bluetooth και WiFi, αλλά είναι πολύ πιο απλά και χρησιμοποιούν λιγότερους πόρους υλικού και συστήματος. Τα SPI, I2C και UART είναι ιδανικά για επικοινωνία μεταξύ μικροελεγκτών και μεταξύ μικροελεγκτών και αισθητήρων, όπου δεν απαιτείται μεταφορά μεγάλων ποσοτήτων δεδομένων υψηλής ταχύτητας.

Βήμα 1: ΣΕΙΡΑ VS. ΠΑΡΑΛΛΗΛΗ ΕΠΙΚΟΙΝΩΝΙΑ

ΣΕΙΡΑ VS. ΠΑΡΑΛΛΗΛΗ ΕΠΙΚΟΙΝΩΝΙΑ
ΣΕΙΡΑ VS. ΠΑΡΑΛΛΗΛΗ ΕΠΙΚΟΙΝΩΝΙΑ

Οι ηλεκτρονικές συσκευές μιλούν μεταξύ τους στέλνοντας κομμάτια δεδομένων μέσω καλωδίων που συνδέονται φυσικά μεταξύ των συσκευών. Το bit μοιάζει με ένα γράμμα σε μια λέξη, εκτός από τα 26 γράμματα (στο αγγλικό αλφάβητο), ένα bit είναι δυαδικό και μπορεί να είναι μόνο 1 ή 0. Τα bit μεταφέρονται από τη μία συσκευή στην άλλη με γρήγορες αλλαγές τάσης. Σε ένα σύστημα που λειτουργεί στα 5 V, ένα 0 bit επικοινωνείται ως ένας σύντομος παλμός 0 V και ένα 1 bit επικοινωνείται με έναν σύντομο παλμό 5 V.

Τα δυαδικά ψηφία δεδομένων μπορούν να μεταδοθούν είτε σε παράλληλη είτε σε σειριακή μορφή. Σε παράλληλη επικοινωνία, τα κομμάτια δεδομένων αποστέλλονται όλα ταυτόχρονα, το καθένα μέσω ξεχωριστού καλωδίου. Το παρακάτω διάγραμμα δείχνει την παράλληλη μετάδοση του γράμματος "C" σε δυαδική μορφή (01000011):

Βήμα 2:

Στη σειριακή επικοινωνία, τα δυαδικά ψηφία αποστέλλονται ένα προς ένα μέσω ενός μόνο σύρματος. Το παρακάτω διάγραμμα δείχνει τη σειριακή μετάδοση του γράμματος "C" σε δυαδική μορφή (01000011):

Βήμα 3:

Εικόνα
Εικόνα

Βήμα 4: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΚΟΙΝΩΝΙΑ SPI

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΚΟΙΝΩΝΙΑ SPI
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΚΟΙΝΩΝΙΑ SPI

Το SPI είναι ένα κοινό πρωτόκολλο επικοινωνίας που χρησιμοποιείται από πολλές διαφορετικές συσκευές. Για παράδειγμα, μονάδες κάρτας SD, μονάδες ανάγνωσης καρτών RFID και ασύρματος πομπός/δέκτες 2,4 GHz χρησιμοποιούν όλα SPI για επικοινωνία με μικροελεγκτές.

Ένα μοναδικό όφελος του SPI είναι το γεγονός ότι τα δεδομένα μπορούν να μεταφερθούν χωρίς διακοπή. Οποιοσδήποτε αριθμός δυαδικών ψηφίων μπορεί να αποσταλεί ή να ληφθεί σε συνεχή ροή. Με το I2C και το UART, τα δεδομένα αποστέλλονται σε πακέτα, περιορισμένα σε έναν συγκεκριμένο αριθμό bit. Οι συνθήκες έναρξης και διακοπής καθορίζουν την αρχή και το τέλος κάθε πακέτου, οπότε τα δεδομένα διακόπτονται κατά τη μετάδοση. Οι συσκευές που επικοινωνούν μέσω SPI βρίσκονται σε μια σχέση master-slave. Ο κύριος είναι η συσκευή ελέγχου (συνήθως ένας μικροελεγκτής), ενώ ο υποτελής (συνήθως ένας αισθητήρας, μια οθόνη ή ένα τσιπ μνήμης) λαμβάνει οδηγίες από τον κύριο. Η απλούστερη διαμόρφωση του SPI είναι ένα ενιαίο κύριο, ενιαίο σύστημα σκλάβων, αλλά ένας κύριος μπορεί να ελέγξει περισσότερους από έναν σκλάβους (περισσότερα για αυτό παρακάτω).

Βήμα 5:

Εικόνα
Εικόνα

Βήμα 6:

MOSI (Master Output/Slave Input) - Γραμμή για την αποστολή δεδομένων στον κύριο κύριο από τον κύριο.

MISO (Master Input/Slave Output) - Γραμμή για την αποστολή δεδομένων στον κύριο από τον υποτελή.

SCLK (Ρολόι) - Γραμμή για το σήμα του ρολογιού.

SS/CS (Slave Select/Chip Select) - Γραμμή για τον κύριο κύριο να επιλέξει σε ποιον σκλάβο θα στείλει δεδομένα

Βήμα 7:

Εικόνα
Εικόνα

*Στην πράξη, ο αριθμός των υποτελών περιορίζεται από τη χωρητικότητα φορτίου του συστήματος, γεγονός που μειώνει την ικανότητα του πλοιάρχου να αλλάζει με ακρίβεια μεταξύ των επιπέδων τάσης.

Βήμα 8: ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΤΟ SPI

ΤΟ ΡΟΛΟΪ

Το σήμα ρολογιού συγχρονίζει την έξοδο των δυαδικών ψηφίων από το κύριο στη δειγματοληψία των δυαδικών ψηφίων από τον υποτελή. Ένα κομμάτι δεδομένων μεταφέρεται σε κάθε κύκλο ρολογιού, οπότε η ταχύτητα μεταφοράς δεδομένων καθορίζεται από τη συχνότητα του σήματος ρολογιού. Η επικοινωνία SPI ξεκινά πάντα από τον κύριο, αφού ο κύριος διαμορφώνει και παράγει το σήμα του ρολογιού.

Κάθε πρωτόκολλο επικοινωνίας όπου οι συσκευές μοιράζονται ένα σήμα ρολογιού είναι γνωστό ως σύγχρονο. Το SPI είναι ένα σύγχρονο πρωτόκολλο επικοινωνίας. Υπάρχουν επίσης ασύγχρονες μέθοδοι που δεν χρησιμοποιούν σήμα ρολογιού. Για παράδειγμα, στην επικοινωνία UART, και οι δύο πλευρές ρυθμίζονται σε ένα προκαθορισμένο ρυθμό baud που υπαγορεύει την ταχύτητα και το χρόνο μετάδοσης δεδομένων.

Το σήμα ρολογιού στο SPI μπορεί να τροποποιηθεί χρησιμοποιώντας τις ιδιότητες της πολικότητας του ρολογιού και της φάσης του ρολογιού. Αυτές οι δύο ιδιότητες συνεργάζονται για να καθορίσουν πότε τα bit εξέρχονται και πότε γίνονται δειγματοληψία. Η πολικότητα του ρολογιού μπορεί να ρυθμιστεί από τον κύριο για να επιτρέψει την έξοδο των δυαδικών ψηφίων και τη δειγματοληψία είτε στην άνοδο είτε την πτώση του άκρου του κύκλου του ρολογιού. Η φάση του ρολογιού μπορεί να ρυθμιστεί ώστε η έξοδος και η δειγματοληψία να πραγματοποιηθούν είτε στην πρώτη άκρη είτε στη δεύτερη άκρη του κύκλου ρολογιού, ανεξάρτητα από το αν ανεβαίνει ή πέφτει.

SLAVE SELECT

Ο κύριος μπορεί να επιλέξει σε ποιον σκλάβο θέλει να μιλήσει ρυθμίζοντας τη γραμμή CS/SS του υποτελούς σε επίπεδο χαμηλής τάσης. Στην κατάσταση αδράνειας, μη μετάδοσης, η γραμμή επιλογής slave διατηρείται σε επίπεδο υψηλής τάσης. Πολλές καρφίτσες CS/SS μπορεί να είναι διαθέσιμες στο master, το οποίο επιτρέπει την παράλληλη σύνδεση πολλών υποτελών. Εάν υπάρχει μόνο ένας ακροδέκτης CS/SS, μπορούν να συνδεθούν πολλαπλά σκλάβοι στον κύριο με αλυσίδα μαργαρίτας.

ΠΟΛΛΑΠΛΟΥΣ ΔΟΥΛΟΥΣ SPI

μπορεί να ρυθμιστεί για να λειτουργεί με έναν μόνο κύριο και έναν σκλάβο και μπορεί να ρυθμιστεί με πολλούς σκλάβους που ελέγχονται από έναν κύριο. Υπάρχουν δύο τρόποι σύνδεσης πολλών σκλάβων στον κύριο. Εάν ο κύριος έχει πολλαπλές καρφίτσες επιλογής slave, οι υποτελείς μπορούν να συνδεθούν παράλληλα ως εξής:

Βήμα 9:

Εικόνα
Εικόνα

Βήμα 10:

ΜΟΣΙ ΚΑΙ ΜΙΣΟ

Ο κύριος αποστέλλει δεδομένα στον υπάλληλο bit -bit, σειριακά μέσω της γραμμής MOSI. Ο υποτελής λαμβάνει τα δεδομένα που αποστέλλονται από τον κύριο στην ακίδα MOSI. Τα δεδομένα που αποστέλλονται από τον κύριο στο σκλάβο συνήθως αποστέλλονται πρώτα με το πιο σημαντικό bit. Ο σκλάβος μπορεί επίσης να στείλει δεδομένα στον κύριο μέσω της γραμμής MISO σε σειριακή σειρά. Τα δεδομένα που αποστέλλονται από τον υπάλληλο πίσω στον κύριο αποστέλλονται συνήθως με το λιγότερο σημαντικό bit πρώτα. ΒΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ ΔΕΔΟΜΕΝΩΝ SPI 1. Ο κύριος εκπέμπει το σήμα του ρολογιού:

Βήμα 11:

Εικόνα
Εικόνα

Εάν διατίθεται μόνο ένας καρφίτσα επιλογής σκλάβου, οι σκλάβοι μπορούν να είναι αλυσοδεμένοι έτσι:

Βήμα 12:

Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα

ΜΟΣΙ ΚΑΙ ΜΙΣΟ

Ο κύριος αποστέλλει δεδομένα στον υπάλληλο bit -bit, σειριακά μέσω της γραμμής MOSI. Ο υποτελής λαμβάνει τα δεδομένα που αποστέλλονται από τον κύριο στην ακίδα MOSI. Τα δεδομένα που αποστέλλονται από τον κύριο στο σκλάβο συνήθως αποστέλλονται πρώτα με το πιο σημαντικό bit.

Ο σκλάβος μπορεί επίσης να στείλει δεδομένα στον κύριο μέσω της γραμμής MISO σε σειριακή σειρά. Τα δεδομένα που αποστέλλονται από τον υπάλληλο πίσω στον κύριο αποστέλλονται συνήθως με το λιγότερο σημαντικό bit πρώτα.

ΒΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ ΔΕΔΟΜΕΝΩΝ SPI

*Σημείωση Οι εικόνες είναι εισηγμένες στο Oboe που μπορείτε εύκολα να διακρίνετε

1. Ο κύριος παράγει το σήμα του ρολογιού:

2. Ο κύριος μεταβαίνει τον πείρο SS/CS σε κατάσταση χαμηλής τάσης, η οποία ενεργοποιεί την υποτελή:

3. Ο κύριος αποστέλλει τα δεδομένα ένα bit κάθε φορά στο slave κατά μήκος της γραμμής MOSI. Ο σκλάβος διαβάζει τα κομμάτια κατά την παραλαβή τους:

4. Εάν απαιτείται απάντηση, ο υποτελής επιστρέφει δεδομένα ένα bit κάθε φορά στον κύριο κατά μήκος της γραμμής MISO. Ο κύριος διαβάζει τα κομμάτια κατά την παραλαβή τους:

Βήμα 13: Πλεονεκτήματα και μειονεκτήματα του SPI

Υπάρχουν ορισμένα πλεονεκτήματα και μειονεκτήματα στη χρήση του SPI, και εάν έχετε την επιλογή μεταξύ διαφορετικών πρωτοκόλλων επικοινωνίας, θα πρέπει να γνωρίζετε πότε θα χρησιμοποιήσετε το SPI σύμφωνα με τις απαιτήσεις του έργου σας:

ΠΛΕΟΝΕΚΤΗΜΑΤΑ

Δεν υπάρχουν δυαδικά ψηφία έναρξης και διακοπής, έτσι ώστε τα δεδομένα να μπορούν να μεταδίδονται συνεχώς χωρίς διακοπή. χρόνος

ΜΕΙΟΝΕΚΤΗΜΑΤΑ

Χρησιμοποιεί τέσσερα καλώδια (το I2C και το UART χρησιμοποιούν δύο) Δεν υπάρχει επιβεβαίωση ότι τα δεδομένα έχουν ληφθεί με επιτυχία (το I2C το έχει αυτό) Δεν υπάρχει κανένας τύπος ελέγχου σφάλματος όπως το bit ισοτιμίας στο UART Επιτρέπει μόνο έναν κύριο ελπίζουμε ότι αυτό το άρθρο σας έδωσε καλύτερη κατανόηση του SPI. Συνεχίστε στο δεύτερο μέρος αυτής της σειράς για να μάθετε για την επικοινωνία που βασίζεται στο UART ή στο τρίτο μέρος όπου συζητάμε το πρωτόκολλο I2C.

Εάν έχετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να το ρωτήσετε στην ενότητα σχολίων, είμαστε εδώ για να σας βοηθήσουμε. Και φροντίστε να ακολουθήσετε

Με εκτίμηση: M. Junaid

Συνιστάται: