SMBus: Εργασία, Διαφορές & Εφαρμογές του

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Το SMBus κυκλοφόρησε το έτος 1995 από την Intel και βασίζεται στο πρωτόκολλο σειριακού διαύλου I²C της Philips. Αυτός ο δίαυλος μεταφέρει δεδομένα, CLK και οδηγίες όπου η συχνότητα ρολογιού κυμαίνεται από 10 kHz έως 100 kHz. Η κύρια πρόθεση του SMBus είναι να επιτρέψει σε μια φθηνή και ισχυρή μέθοδο ελέγχου και λήψης δεδομένων από συσκευές σε μητρική πλακέτα. Το SMBus χρησιμοποιείται συνήθως σε υπολογιστές για έλεγχο θερμοκρασίας, έξυπνες μπαταρίες και άλλες επικοινωνίες διαχείρισης συστήματος χαμηλού εύρους ζώνης.


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



Τι είναι το πρωτόκολλο SMBus;

Το SMBus (System Management Bus) είναι μια διεπαφή 2 συρμάτων, που χρησιμοποιείται συχνά μεταξύ διαφόρων συσκευών σε μια μητρική πλακέτα για επικοινωνία διαχείρισης συστήματος χαμηλής ταχύτητας. Αυτό το είδος λεωφορείου σχεδιάστηκε από τον Πρωτόκολλο I2C θεμέλια. Έτσι, τόσο το I2C όσο και το SMBus μπορεί να έχουν κάποιες ομοιότητες και μπορούν επίσης να λειτουργούν σε έναν παρόμοιο δίαυλο.

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



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

Προδιαγραφές SMBus

Η προδιαγραφή του SMBus αναφέρεται απλώς σε 3 είδη συσκευών host, master & slave.

  • Ένας κεντρικός υπολογιστής είναι ένας συγκεκριμένος κύριος και παρέχει την κύρια διεπαφή στην CPU του συστήματος.
  • Μια κύρια συσκευή που εκδίδει οδηγίες, δημιουργεί τα ρολόγια και τερματίζει τη μεταφορά.
  • Μια εξαρτημένη συσκευή λαμβάνει διαφορετικά αντιδρά σε μια εντολή.

Πώς λειτουργεί το SMBus;

Υπάρχουν 3 είδη συσκευών που χρησιμοποιούνται στην επικοινωνία SMBus, όπως ένας κεντρικός υπολογιστής, μια κύρια και μια υποτελής συσκευή, τα οποία φαίνονται στο παρακάτω διάγραμμα. Σε αυτόν τον δίαυλο, η κεντρική συσκευή είναι μια συγκεκριμένη κύρια διεπαφή που μοιάζει με εργασία με την CPU του συστήματος. ωστόσο, δεν είναι πάντα απαραίτητο. Ορισμένα συστήματα όπως τα απλά συστήματα φόρτισης μπαταριών μπορεί να είναι χωρίς κεντρικό υπολογιστή.

Μια κύρια συσκευή ξεκινά την επικοινωνία, οδηγεί το CLK και σταματά τη μεταφορά. Μια συσκευή μπορεί να επιλεγεί για να είναι απλώς μια κύρια ή μια κύρια-σκλάβη, όπου μπορεί να λειτουργήσει είτε ως κύρια συσκευή, διαφορετικά ως υποτελής συσκευή.

  Διάγραμμα SMBus
Διάγραμμα SMBus

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

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

Παρόμοια με το πρωτόκολλο I2C, κάθε slave σε αυτόν τον δίαυλο εκχωρείται απλώς με μια δευτερεύουσα διεύθυνση επτά bit όπου το bit ανάγνωσης ή εγγραφής προσαρτάται σε αυτήν τη διεύθυνση για να περιγράψει εάν η συσκευή διαβάζει ή γράφει το μήνυμα που μεταδίδεται στο δίαυλο.

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

Όταν η υποτελής διεύθυνση αυτού του διαύλου έρχεται σε διένεξη, τότε υποστηρίζει το πρωτόκολλο ARP ή Address Resolution Protocol. Μόλις ο κεντρικός υπολογιστής παρατηρήσει δύο συσκευές με παρόμοια υποτελή διεύθυνση, τότε η διαδικασία πρωτοκόλλου επίλυσης διευθύνσεων θα εκχωρήσει μια νέα μοναδική διεύθυνση δυναμικά στους υποτελείς. Το πρωτόκολλο ανάλυσης διεύθυνσης θα επιτρέψει στις συσκευές να χρησιμοποιηθούν αμέσως χωρίς την απαίτηση επανεκκίνησης του συστήματος.

Αυτός ο δίαυλος χρησιμοποιεί 2 καλώδια για επικοινωνία όπως το καλώδιο SMBDAT & το καλώδιο SMBCLK όπου το καλώδιο SMBDAT χρησιμοποιείται για τη μεταφορά σειριακών δεδομένων και το καλώδιο SMBCLK λειτουργεί όπως το σειριακό ρολόι. Στο παραπάνω SMBus, ο κύριος απλώς οδηγεί το SMBCLK που κυμαίνεται από 10 έως 100 kHz, ωστόσο, οποιαδήποτε γραμμή μπορεί να οδηγήσει το SMBDAT.

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

Το πακέτο δεδομένων αυτού του διαύλου περιέχει ένα bit Start, ένα bit ACK ή NACK, 8 bit δεδομένων και ένα bit Stop. Η μεταφορά δεδομένων του SMBus χρησιμοποιεί ορισμένες από τις λειτουργίες διαφορετικά πρωτόκολλα διαφορετικών SMBus κατά την αποστολή μηνυμάτων όπως Αποστολή Byte, Γρήγορη εντολή, Ανάγνωση Word, Εγγραφή Byte, Ανάγνωση Byte, Εγγραφή Word, Επεξεργασία κλήσης, Αποκλεισμός εγγραφής, Αποκλεισμός ανάγνωσης, Ανάγνωση διαδικασίας κλήσης και Αποκλεισμός Εγγραφή-Αποκλεισμός.

Αυτός ο δίαυλος υποστηρίζει επίσης PEC (έλεγχος σφαλμάτων πακέτου) για τη βελτίωση της αξιοπιστίας της επικοινωνίας. Έτσι, αυτό μπορεί να εκτελεστεί συμπεριλαμβάνοντας έναν κωδικό σφάλματος πακέτου στο τέλος κάθε μηνύματος.

Λειτουργίες

Λειτουργίες SMBus ονομάζονται επίσης πρωτόκολλα. Έτσι τα κύρια πρωτόκολλα του SMBus είναι Quick Command, Send Byte, Receive Byte, Write Byte, Read byte, Process Call, Block Write/Read Block Write-Block Read Process Call, SMBus Host Notify Protocol, Write-32 Protocol, Read-32 Πρωτόκολλο, Write 64-Protocol & Read 64 Protocol.

Μορφή μηνύματος SMBUS

Μετά την συνθήκη START, ο κύριος θα εντοπίσει τη διεύθυνση 7-bit της εξαρτημένης συσκευής και πρέπει να διευθυνθεί στο δίαυλο. Έτσι, το μήκος της διεύθυνσης είναι 7 bit ακολουθούμενο από ένα 8 bit που σημαίνει την κατεύθυνση μεταφοράς δεδομένων (R/W). ένα ONE καθορίζει ένα αίτημα για READ (δεδομένα) και ένα ZERO καθορίζει ένα WRITE (μετάδοση).

  Μορφή μηνύματος
Μορφή μηνύματος

Η μεταφορά δεδομένων τερματίζεται πάντα από μια συνθήκη STOP που δημιουργείται μέσω του master.

Κάθε byte περιλαμβάνει 8 bit και κάθε byte μεταφέρεται στο SMBus και πρέπει να ακολουθείται μέσω ενός bit επιβεβαίωσης. Τα byte μεταδίδονται πρώτα μέσω του MSB (το πιο σημαντικό bit).

Μια τυπική συσκευή SMBus περιλαμβάνει ένα σύνολο εντολών μέσω των οποίων τα δεδομένα μπορούν απλά να διαβαστούν και να γραφτούν. Το μήκος όλων αυτών των εντολών είναι 1 byte ενώ τα ορίσματά τους, καθώς και οι επιστρεφόμενες τιμές, μπορούν να αλλάξουν εντός του μήκους.

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

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

Συνθήκες έναρξης και διακοπής για το πρωτόκολλο SMBus

Η κατάσταση START & STOP ενός μηνύματος θα οριστεί από δύο μοναδικές συνθήκες διαύλου από υψηλή έως χαμηλή και χαμηλή σε υψηλή.

  Συνθήκες έναρξης και διακοπής
Συνθήκες έναρξης και διακοπής

Σε μια μετάβαση γραμμής ΥΨΗΛΟ σε ΧΑΜΗΛΟ SMBDAT, όταν το SMBCLK είναι ΥΨΗΛΟ τότε υποδεικνύει μια συνθήκη ΕΝΑΡΞΗΣ ενός μηνύματος.

Σε μια μετάβαση γραμμής SMBDAT LOW σε HIGH, όταν το SMBCLK είναι HIGH τότε ορίζει μια συνθήκη STOP ενός μηνύματος. Έτσι αυτές οι δύο συνθήκες δημιουργούνται πάντα από τον κύριο του διαύλου. Το λεωφορείο είναι απασχολημένο μετά την κατάσταση της ΕΚΚΙΝΗΣΗΣ. Το λεωφορείο θα μείνει ξανά σε αδράνεια μετά από ορισμένο χρόνο μετά από μια συνθήκη STOP.

Απαιτήσεις υλικού SMBus

Οι απαιτήσεις υλικού του SMBus για την αποτελεσματική, καθώς και την απρόσκοπτη επικοινωνία μεταξύ ενός υπολογιστή και ορισμένων από τα πιο βασικά του υλικού, είναι δύο καλώδια όπως SMBDAT & SMBCLK, PSU (Μονάδα τροφοδοσίας), σετ IC, προγράμματα οδήγησης και ανεμιστήρες ψύξης. . Βασικά, αυτός ο ελεγκτής SMBus επιτρέπει σε έναν υπολογιστή να χειρίζεται και να εκτελεί εντολές με επιτυχία, όπως η ενεργοποίηση του PSU του και ο έλεγχος των ανεμιστήρων ψύξης του.

Η μεταφορά δεδομένων SMBus χρησιμοποιεί διαφορετικά πρωτόκολλα ή λειτουργίες κατά τη μεταφορά μηνυμάτων όπως Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write κ.λπ. Υποστηρίζει επίσης έλεγχο PEC ή σφαλμάτων πακέτου για βελτιώνοντας την αξιοπιστία της επικοινωνίας συμπεριλαμβάνοντας απλώς έναν κωδικό σφάλματος πακέτου σε κάθε τέλος μηνύματος.

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

SMBus εναντίον I2C

ο διαφορά μεταξύ SMBus και I2C περιλαμβάνει τα ακόλουθα.

SMBus

2C

Ο όρος SMBus σημαίνει «Δίαυλος Διαχείρισης Συστήματος». Ο όρος I2C σημαίνει 'Inter-Integrated Circuit'.
Το SMBus είναι ένας δίαυλος ελέγχου 2 καλωδίων που χρησιμοποιείται σε εργασίες διαχείρισης ενέργειας και συστημάτων. Το I2C είναι ένα ενσωματωμένο πρωτόκολλο επικοινωνίας που χρησιμοποιείται για χαμηλό εύρος ζώνης και μικρές αποστάσεις.
Ένα σύστημα μπορεί να χρησιμοποιήσει αυτόν τον δίαυλο για να δρομολογήσει μηνύματα από και προς συσκευές αντί να ενεργοποιήσει μεμονωμένες γραμμές ελέγχου.

Το I2C χρησιμοποιείται συνήθως για τη σύνδεση περιφερειακών βασισμένων σε χαμηλή ταχύτητα, όπως μικροελεγκτές και αισθητήρες, σε επεξεργαστές σε μικρές αποστάσεις σε ένα IC.
Η μέγιστη ταχύτητα CLK είναι 100 kHz. Η μέγιστη ταχύτητα CLK είναι 400 kHz.
Η ελάχιστη ταχύτητα CLK είναι 10 kHz. Χωρίς ελάχιστη ταχύτητα CLK.
Χαμηλό χρονικό όριο CLK 35 ms. Δεν υπάρχει τάιμ άουτ.
Έχει σταθερά επίπεδα λογικής. Τα λογικά του επίπεδα εξαρτώνται από το VDD.
Έχει διάφορους τύπους διευθύνσεων όπως δεσμευμένη, δυναμική κ.λπ. Έχει διαφορετικούς τύπους διευθύνσεων, όπως γενική υποτελή διεύθυνση κλήσεων, 7-bit και 10-bit.
Διαθέτει διάφορα πρωτόκολλα διαύλου όπως κλήσεις διαδικασίας, γρήγορες εντολές κ.λπ. Δεν έχει πρωτόκολλα διαύλου.

SMBus εναντίον Pmbus

Η διαφορά μεταξύ SMBus και Pmbus περιλαμβάνει τα ακόλουθα.

SMBus

Pmbus

Το SMBus είναι ένας δίαυλος μονού άκρου 2 καλωδίων που χρησιμοποιείται για ελαφριά επικοινωνία. Η επέκταση του SMBus είναι το Pmbus και είναι ένα πρωτόκολλο χαμηλού κόστους που χρησιμοποιείται κυρίως για επικοινωνία μεταξύ συσκευών διαχείρισης ενέργειας.
Η λειτουργία υποτελούς λειτουργίας αυτού του διαύλου επιτρέπει τις τιμές ρυθμών δεδομένων όπως 10 kbps, 50 kbps, 100 kbps και 400 kbps. Η λειτουργία slave αυτού του διαύλου επιτρέπει απλώς τιμές ρυθμού δεδομένων όπως 100 kbps & 400 kbps.
Αυτός ο τύπος διαύλου λειτουργεί με υλικό I2C, ωστόσο περιλαμβάνει λογισμικό δεύτερου επιπέδου, επιτρέποντας την εναλλαγή των συσκευών χωρίς επανεκκίνηση του συστήματος. Αυτός ο δίαυλος επεκτείνει το SMBus ορίζοντας απλώς ένα σύνολο εντολών της συσκευής και είναι ειδικά σχεδιασμένος για το χειρισμό μετατροπέων ισχύος, την έκθεση χαρακτηριστικών της συσκευής όπως μετρούμενο ρεύμα, τάση, θερμοκρασία κ.λπ.
Το SMBus είναι ένα υπερσύνολο του I2C Το PMBus είναι ένα υπερσύνολο του SMBus
Αυτός ο δίαυλος περιλαμβάνει και τα δύο επίπεδα σύνδεσης δικτύου και δεδομένων. Αυτός ο δίαυλος περιλαμβάνει το επίπεδο μεταφοράς και ένα σύνολο εντολών.

Διάγραμμα χρονισμού

ο Διάγραμμα χρονισμού SMBus φαίνεται παρακάτω.

  Διάγραμμα χρονισμού του SMBus
Διάγραμμα χρονισμού του SMBus

Το TLOW.SEXT είναι η εξαρτημένη συσκευή που επεκτείνει τους κύκλους CLK μέσα σε ένα μόνο μήνυμα από το START έως το STOP. Επομένως, είναι εφικτό η κύρια ή άλλη εξαρτημένη συσκευή να επεκτείνει επίσης τον κύκλο CLK ώστε ο χαμηλός παρατεταμένος χρόνος του συνδυασμένου CLK να είναι υψηλότερος από το TLOW.SEXT. Έτσι, αυτή η παράμετρος μετριέται απλώς μέσω της εξαρτημένης συσκευής όπως ο μοναδικός στόχος ενός πλοιάρχου πλήρους ταχύτητας.

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

Εφαρμογές

ο εφαρμογές του SMBus περιλαμβάνουν τα ακόλουθα.

  • Το SMBus χρησιμοποιείται ως τσιπ στοιχείου συστήματος που χρησιμοποιείται για την επικοινωνία μέσα σε ένα σύστημα. Πιο συγκεκριμένα, επιτρέπει στις μπαταρίες να επικοινωνούν με άλλα στοιχεία του συστήματος, όπως εξαρτήματα που σχετίζονται με την τροφοδοσία και την CPU.
  • Αυτό χρησιμοποιείται για ελαφριά επικοινωνία.
  • Αυτός ο δίαυλος χρησιμοποιείται για την παρακολούθηση κρίσιμων παραμέτρων στο ενσωματωμένα συστήματα & σε μητρικές πλακέτες Η/Υ.
  • Αυτός είναι ο πιο κοινός τύπος επικοινωνίας για προηγμένους μετρητές καυσίμου της Texas Instruments.
  • Αυτό χρησιμοποιείται σε επικοινωνία διαχείρισης συστήματος που βασίζεται σε λιγότερο εύρος ζώνης.

Επομένως, πρόκειται για όλα μια επισκόπηση ενός SMBus – εργασία με εφαρμογές. Αυτός είναι ένας απλός δίαυλος με ένα άκρο που χρησιμοποιείται για ελαφριά επικοινωνία. Αυτός ο δίαυλος χρησιμοποιείται σε μητρικές πλακέτες υπολογιστών για επικοινωνία με την πηγή ρεύματος για οδηγίες ON ή OFF. Εδώ είναι μια ερώτηση για εσάς, τι είναι το πρωτόκολλο I2C;