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

Σχεδιασμός I2C Master σε VHDL: 5 βήματα
Σχεδιασμός I2C Master σε VHDL: 5 βήματα

Βίντεο: Σχεδιασμός I2C Master σε VHDL: 5 βήματα

Βίντεο: Σχεδιασμός I2C Master σε VHDL: 5 βήματα
Βίντεο: Embedded Systems 1a 2024, Νοέμβριος
Anonim
Σχεδιασμός I2C Master σε VHDL
Σχεδιασμός I2C Master σε VHDL

Σε αυτό το διδακτικό, συζητείται ο σχεδιασμός ενός απλού κυρίου I2C σε VHDL.

ΣΗΜΕΙΩΣΗ: κάντε κλικ σε κάθε εικόνα για να δείτε ολόκληρη την εικόνα

Βήμα 1: Επισκόπηση διαύλου I2C

• Στέκεται για Inter Integrated Circuit.

• Σύγχρονη, Half duplex.

• Διεπαφή δύο καλωδίων - SDA και SCL.

• SDA - Γραμμή σειριακών δεδομένων που ελέγχεται από Master και Slave

• SCL - Serial Clock που δημιουργήθηκε από τον Master

• Multi-master, Multi-slave πρωτόκολλο.

• Δύο λειτουργίες - 100 kbits/sec και 400 kbits/sec: αργή και γρήγορη.

Βήμα 2: Σχεδιασμός RTL σε VHDL

Προδιαγραφές σχεδίασης του I2C Master μας

  • Πλαίσιο δεδομένων 8-bit.
  • Μονοκατευθυντικός έλεγχος SCL μόνο.
  • 7-bit διεύθυνση slave.
  • Υποστηρίζει τόσο αργές όσο και γρήγορες λειτουργίες.
  • Ενιαίος Δάσκαλος, Πολυ-δούλος.
  • Συμμορφώνεται με τις αυθεντικές προδιαγραφές I2C της Philips.

Χρησιμοποιείται καθαρός κωδικός RTL. Έτσι, η IP είναι εύκολα φορητή σε όλα τα FPGA. Συμπαγής σχεδιασμός βασισμένος στο FSM με χρήση εσωτερικού ρολογιού εξασφαλίζει βέλτιστη περιοχή και απόδοση.

Βήμα 3: Προσομοίωση και δοκιμή

Περιβάλλον δοκιμής

  • Λειτουργική προσομοίωση και δοκιμή χρησιμοποιώντας IP τρίτων I2C Slave.
  • Συντέθηκε χρησιμοποιώντας το σετ εργαλείων Xilinx Vivado.
  • Εφαρμόστηκε και δοκιμάστηκε στον πίνακα Artix-7 FPGA.
  • Επαληθευμένος χρόνος σχεδιασμός για 100 MHz.
  • Δοκιμασμένες κυματομορφές σε DSO/CRO.
  • Επιτυχής δοκιμή επικοινωνίας με το Arduino UNO ως I2C Slave.

Βήμα 4: Σημαντικές σημειώσεις

  • Ενώ δοκιμάζετε το Master χρησιμοποιώντας I2C Slave IP, διαμορφώστε τον κωδικό slave σύμφωνα με τις απαιτήσεις σας. Μπορεί να θέλετε να αλλάξετε την προεπιλεγμένη συχνότητα ρολογιού και τη διεύθυνση slave. Η συχνότητα ρολογιού πρέπει επίσης να ρυθμιστεί στον κύριο κωδικό.
  • Κατά τη δοκιμή επί του σκάφους, μην ξεχνάτε τις αντιστάσεις έλξης καθώς η γραμμή SDA είναι κοινή έξοδος αποστράγγισης !!! Ελέγξτε τη Google για προτεινόμενη αντίσταση έλξης για διαφορετικές ταχύτητες i2c. Χρησιμοποίησα 2,2K για 100 kHz.
  • Εάν δεν χρησιμοποιείτε δοκιμαστικό πάγκο και προσομοιώνετε το Master ανεξάρτητα, προσομοιώστε προσεκτικά το σήμα SDA, καθώς είναι σήμα αμφίδρομης (εισόδου). Διαθέτει δύο οδηγούς, κύρια πλευρά και δευτερεύουσα πλευρά. Θα πρέπει να γνωρίζετε πότε να «αναγκάζετε» και πότε να «αναγκάζετε».
  • Το SCL είναι μονόδρομος. Δεν χρειάζεται pull-up.
  • Παρακαλώ περάστε προσεκτικά από την τεκμηρίωση IP.

Βήμα 5: Επισυνάπτονται αρχεία

  • Όλοι οι κωδικοί RTL του I2C Master.
  • Δοκιμαστικός πάγκος, κωδικοί σκλάβων I2C επίσης, για δοκιμή.
  • Τεκμηρίωση IP.

Για οποιαδήποτε απορία, μη διστάσετε να επικοινωνήσετε μαζί μου:

Μίτου Ρατζ

ακολουθήστε με:

Για ερωτήματα, επικοινωνήστε με: [email protected]

Συνιστάται: