Εμφάνιση αποτελεσμάτων : 1 έως 9 από 9

Θέμα: I2C ή SPI επικοινωνία

  1. #1
    Μέλος
    Όνομα
    .
    Εγγραφή
    Sep 2011
    Περιοχή
    .
    Μηνύματα
    802

    Προεπιλογή I2C ή SPI επικοινωνία

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

    0 Not allowed! Not allowed!

  2. #2
    Μέλος Το avatar του χρήστη bchris
    Όνομα
    Χρηστος
    Εγγραφή
    Nov 2011
    Περιοχή
    Lugano
    Μηνύματα
    2.104

    Προεπιλογή

    Το I2C δεν θα ελεγα οτι ειναι πιο ευκολο, μαλλον το ιδιο με το SPI ειναι.

    Η διαφορα τους ειναι στην ταχυτητα. Το SPI ειναι πολυ πιο γρηγορο (10 με 20 φορες).
    Απο την αλλη, το SPI θελει 3 κοινα pins και ενα για καθε περιφερειακο, ενω το I2C θελει μονο 2.

    Βασικα αν μιλας σε κατι γρηγορο, μιλα του με SPI.
    Αν μιλας σε περιφερειακα που δεν σε ενδιαφερει τοσο η ταχυτητα, τοτε I2C.

    0 Not allowed! Not allowed!

  3. #3
    Μέλος
    Όνομα
    .
    Εγγραφή
    Sep 2011
    Περιοχή
    .
    Μηνύματα
    802

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από bchris Εμφάνιση μηνυμάτων
    Το I2C δεν θα ελεγα οτι ειναι πιο ευκολο, μαλλον το ιδιο με το SPI ειναι.

    Η διαφορα τους ειναι στην ταχυτητα. Το SPI ειναι πολυ πιο γρηγορο (10 με 20 φορες).
    Απο την αλλη, το SPI θελει 3 κοινα pins και ενα για καθε περιφερειακο, ενω το I2C θελει μονο 2.

    Βασικα αν μιλας σε κατι γρηγορο, μιλα του με SPI.
    Αν μιλας σε περιφερειακα που δεν σε ενδιαφερει τοσο η ταχυτητα, τοτε I2C.
    Θα μιλάω με A/D Converters και θέλω αρκετά μεγάλο SPS (Samples per second) οπότε προτείνετε το SPI?

    Δεν γίνετε να έχω κοινό SS pin σε όλα τα slaves και να δηλώνω προγραματιστικα σε ποιο θέλω να μιλήσω..? δηλαδή να έχω ένα κοινό bus όπως στο I2C..?

    0 Not allowed! Not allowed!

  4. #4
    Μέλος Το avatar του χρήστη bchris
    Όνομα
    Χρηστος
    Εγγραφή
    Nov 2011
    Περιοχή
    Lugano
    Μηνύματα
    2.104

    Προεπιλογή

    Απ' οσο ξερω οχι.
    Πολλες συσκευες υποστηριζουν daisy chain (cascade), οπου η εξοδος του ενος, παει στο αλλο.
    Για παραδειγμα το MAX6957.

    0 Not allowed! Not allowed!

  5. #5
    Μέλος
    Όνομα
    .
    Εγγραφή
    Sep 2011
    Περιοχή
    .
    Μηνύματα
    802

    Προεπιλογή

    Ποιος τύπος καλωδίου ενδείκνυται για επικοινωνία μέσω SPI (το πολύ 5MHz) , για μήκος καλωδίου το πολύ 0.4 - 0.5m. Σκεφτόμουν για UTP CAT5, τι λέτε είναι εφικτό??

    0 Not allowed! Not allowed!

  6. #6
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Έχε πάντα στο μυαλό σου ένα μεγάλο μειονέκτημα του SPI: επειδή οι συσκευές-εξαρτήματά του διασυνδέονται με σειριακό τρόπο (daisy chain), αν κάποιο απο την αλυσίδα πάθει κάτι, αυτομάτως βγαίνουν εκτός λειτουργίας τα υπόλοιπα. Στο I2C δεν σε απασχολεί αυτό, απλά βγαίνει εκτός η προβληματική συσκευή ενώ όλες οι υπόλοιπες εργάζονται κανονικά.

    Εκτός αυτού, χρειάζεσαι για κάθε SPI εξάρτημα και μια έξοδο slave για να το ελέγχεις...

    1 Not allowed! Not allowed!

  7. Ένα μέλος ευχαρίστησε τον manolena για αυτό το χρήσιμο μήνυμα:

    thanasis 1 (30-11-14)

  8. #7
    Μέλος
    Όνομα
    .
    Εγγραφή
    Sep 2011
    Περιοχή
    .
    Μηνύματα
    802

    Προεπιλογή

    Δεν θα χρησημοποιησω daisy chain. Καθε slave με δικο του CS pin. Το ερωτημα αφορα στον τυπο του καλωδιου ετσι ωστε να μπορω να στειλω και βα διαβασω δεδομενα με ακριβεια κυριως κοντα στα 3 mhz, το πολυ 5mhz.

    0 Not allowed! Not allowed!

  9. #8
    Μέλος Το avatar του χρήστη ALAMAN
    Όνομα
    Γιώργος
    Εγγραφή
    Oct 2005
    Περιοχή
    -
    Μηνύματα
    2.525

    Προεπιλογή

    Το spi είναι για αποστάσεις πλακέτας, συνεπώς δεν χρειάζονται κοινα καλώδια που χρησιμοποιούμε για μεταφορά δεδομένων. Αν θες να κάνεις κάποιο πείραμα η testing χρησιμοποίησε μονόκλονα καλωδιάκια 10 - 15 εκ.

    Το i2c είναι addresses oriented πρωτόκολλο που χρησιμοποιείται σε multi-node συστήματα ενω το spi είναι κ αυτο σειριακό και σύγχρονο και χρησιμοποιείται για επικοινωνία υψηλών ταχυτήτων όπως μνήμες. Και σε απλούς Μικροελεγκτές μπορείς να συνδέσεις εως 2-3 slave συσκευές.

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

    2 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη ALAMAN : 30-11-14 στις 19:05

  10. #9
    Μέλος
    Όνομα
    .
    Εγγραφή
    Sep 2011
    Περιοχή
    .
    Μηνύματα
    802

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από ALAMAN Εμφάνιση μηνυμάτων
    Το spi είναι για αποστάσεις πλακέτας, συνεπώς δεν χρειάζονται κοινα καλώδια που χρησιμοποιούμε για μεταφορά δεδομένων. Αν θες να κάνεις κάποιο πείραμα η testing χρησιμοποίησε μονόκλονα καλωδιάκια 10 - 15 εκ.
    Δεν λεω αν χρειάζεται καλωδιο ρε παιδια, λεω οτι θελω να χρησημοποιησω καλωδιο για συνδεση master και slave που ειναι σε διαφορετικες πλακετες. Πειραματα ειναι το μονο προφανες οτι θα κανω, απλα ρωταω αν υπαρχει κατι δοκιμασμενο.

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. SD Card SPI
    By ALAMAN in forum Γενικά
    Απαντήσεις: 33
    Τελευταίο Μήνυμα: 17-12-14, 20:38
  2. SPI Επικοινωνια 3.3V με 5V
    By billtech in forum Μικροελεγκτές
    Απαντήσεις: 6
    Τελευταίο Μήνυμα: 16-08-10, 11:49
  3. spi επικοινωνια
    By giannhssdra in forum Μικροελεγκτές
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 03-05-10, 20:36
  4. RF modules με I2C, SPI
    By billtech in forum Εξαρτήματα & Datasheets
    Απαντήσεις: 19
    Τελευταίο Μήνυμα: 13-03-10, 22:47
  5. SPI ή I2C ????
    By viper in forum Μικροελεγκτές
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 27-05-09, 01:34

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας