I²C: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μ Ρομπότ: προσθήκη σήμανσης επαληθευσιμότητας
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 32:
[[Αρχείο:I2C StartStop.jpg|center|frame|500px|'''Ακολουθίες Έναρξης''' Λήξης]]
 
Τα δεδομένα μεταφέρονται σε ακολουθίες των 8 bit. Τα bit τοποθετούνται στη γραμμή SDA, ξεκινώντας από το ''περισσότερο σημαντικό bit (MSB)''. Η γραμμή SCL μεταβαίνει στη κατάσταση high και μετά low. Για κάθε 8 bit δεδομένων που μεταφέρονται, η συσκευή που λαμβάνει στέλνει πίσω ένα ''bit επιβεβαίωσης (ACK)''. Έτσι στην πραγματικότητα απαιτούνται 9 παλμοί ρολογιού, για την μεταφορά των 8 bit κάθε ενός byte δεδομένων. Εάν η συσκευή που λαμβάνει, στείλει πίσω ένα low ''bit επιβεβαίωσης (ACK)'', τότε έχει λάβει τα δεδομένα και είναι έτοιμη να λάβει το επόμενο byte δεδομένων. Εάν στείλει πίσω ένα high bit επιβεβαίωσης (που συμβολίζεται και με NACK, από τη φράση Not Acknowledged), αυτό δείχνει ότι η συσκευή που λαμβάνει, δεν μπορεί να λάβει περαιτέρω δεδομένα και η master συσκευή πρέπει να τερματίσει την αποστολή δεδομένων, εκπέμποντας μία ακολουθία λήξης.
[[Αρχείο:I2CByteSend M2.jpg|frame|center|<center>'''Αποστολή ενός Byte. Πάνω είναι η γραμμή δεδομένων SDA και κάτω η γραμμή ρολογιού SCL. Όπως φαίνεται αλλαγές κατάστασης (από Low σε High και αντιστρόφως) της γραμμής δεδομένων SDA γίνονται μόνο όταν το ρολόι SCL είναι σε κατάσταση Low'''</center>]]
 
== Διευθυνσιοδότηση συσκευών του I²C διαύλου ==
Γραμμή 39:
 
[[Αρχείο:I2CAddressSend M.jpg|frame|center|<center>'''Αποστολή Διεύθυνσης 7 bit'''</center>]]
<br />Όταν στέλνουμε την διεύθυνση των 7–bit '''Α6Α5Α4Α3Α2Α1Α0''' της συσκευής με την οποία θέλουμε να επικοινωνήσουμε, ακόμη και τότε στέλνουμε 8 bit. To επιπλέον (R/W) bit χρησιμεύει να πληροφορήσει την slave συσκευή, εάν η master συσκευή πρόκειται να γράψει (δηλ. να στείλει δεδομένα) ή να διαβάσει (δηλ. να λάβει δεδομένα) από αυτήν. Εάν το bit (R/W) είναι μηδέν η master συσκευή πρόκειται να γράψει στη slave. Εάν είναι 1 (ένα) πρόκειται να διαβάσει από την slave. Τα 7 bit της διεύθυνσης τοποθετούνται στα 7 πάνω (περισσότερο σημαντικά MSBs) bit του byte, ενώ bit ανάγνωσης/εγγραφής (R/W) στο λιγότερο σημαντικό bit (LSB), όπως απεικονίζεται στο παραπάνω σχήμα (το Α στο σχήμα, σημαίνει Address Bit, δηλ. bit διεύθυνσης).
 
== Δεσμευμένες Διευθύνσεις ==
Γραμμή 71:
* Το ''Fast Mode'' Plus με ταχύτητες ρολογιού μέχρι 1ΜHz (και επομένως η ταχύτητα μεταφοράς δεδομένων 1Mbps)
* ''Το High Speed Μode'' με ταχύτητες ρολογιού μέχρι και 3,4&nbsp;MHz (και επομένως η ταχύτητα μεταφοράς δεδομένων 3,4Mbps) και
* Το Ultra Fast Mode (UFmUFM) με ταχύτητες από DC έως 5MHz ([http://www.nxp.com/documents/user_manual/UM10204.pdf ''I<sup>2</sup>C-bus specification and user manual)''].
 
== Επιμήκυνση ρολογιού (Clock stretching) ==
Γραμμή 105:
Με τα δύο προηγούμενα βήματα, γράφεται ο ''καταχωρητής-δείκτης της slave συσκευής'', σύμφωνα με αυτά που αναφέραμε νωρίτερα, για γρήγορη πρόσβαση στα δεδομένα
# Στέλνει πάλι την ''ακολουθία έναρξης (επαναλαμβανόμενη έναρξη '''rS'''-'''r'''epeated '''S'''tart)''
# Στέλνει παλιπάλι την διεύθυνση της slave συσκευής ''με το R/W bit '''high''' (περιττή διεύθυνση),'' για να δηλώσει ότι επιθυμεί ανάγνωση
# Διαβάζει τα δεδομένα (ένα ή περισσότερα byte). Μετά από την λήψη κάθε byte, η συσκευή που λαμβάνει ε''πιβεβαιώνει ('''ACK''') τη λήψη''.
# Στέλνει την ''ακολουθία λήξης (Stop)''
Ανακτήθηκε από "https://el.wikipedia.org/wiki/I²C"