Έναρξη i2c και να σταματήσει η ανίχνευση

V

vipulsinha

Guest
Hi all

Είμαι εφαρμογή του I2C Slave και είμαι I2C χρησιμοποιώντας το ρολόι για SCL
ανίχνευση της έναρξης και προϋπόθεση.Είμαι ανίχνευση της έναρξης και
σταματήσει επιτυχώς στην προσομοίωση, αλλά δεν είμαι σε θέση να κάνει το ίδιο σε
μετά την σύνθεση σενάριο.Περισσότερα έτσι έχω αρχίσει να setup time
παράβαση για την ίδια χρονική στιγμή στην ανάλυση.Είμαι λειτουργίας της I2C
σε πολύ αργή ταχύτητα των 100kHz.

Ο κώδικας είναι παρακάτω

διαδικασία (SDA_IN, START_RST, RST)
αρχίζω
αν RST ='1 'τότε
STARTOP <='0 '?
- Elsif (START_RST ='1 '), τότε
- STARTOP <='0 '?
elsif (SDA_IN'event και SDA_IN ='0 ') τότε
STARTOP <= SCL?
τέλος, αν?
τέλος της διαδικασίας?
-------------------------------------------------- ----------------------------
-
Να σταματήσουν προϋπόθεση ανίχνευσης
διαδικασία (ΤΥ, SCL, SDA_IN, STARTOP)
αρχίζω
αν RST ='1 'ή SCL ='0' ή STARTOP ='1 'τότε
STOPOP <='0 '?
elsif SDA_IN ='1 'και στη συνέχεια SDA_IN'event
αν SCL ='1 'τότε
STOPOP <='1 '?
τέλος, αν?

τέλος, αν?
τέλος της διαδικασίας?

Μπορεί να μου δώσει μία αξιόπιστος τρόπος για την ανίχνευση της έναρξης και
προϋπόθεση ότι η σύνθεση doesnot εργαλείο παρέχει κάθε setup time
παραβίαση.Δεν είμαι χρησιμοποιώντας ένα υψηλό ρολόι για τη δειγματοληψία, όπως η απαίτηση
είναι η χρήση των SCL μόνο.Μπορεί να είναι για την εξοικονόμηση του σκάφους και resourse διάστημα.

Βοήθεια θα εκτιμηθεί.Είμαι χρησιμοποιώντας @ ltera max ΙΙ CPLD και την
σύνθεση εργαλείο qu (σε) rtus 9,0

Ευχαριστώ

Vipul

 
Ο κωδικός είναι χρονισμό δημοσιεύτηκε στις SDA_IN αντί SCL.

 
Έχω να ανιχνεύει την περίπτωση όταν η SCL είναι μεγάλη και αλλάζει τα δεδομένα από το μεγαλύτερο στο μικρότερο τότε είναι μια αρχή κατάσταση και όταν η SCL είναι υψηλό και τα δεδομένα από τις αλλαγές στην Ανώτατη Κατώτερη τότε αυτό είναι ένα STOP κατάσταση.Πλέον μου σχεδιασμό και τον κωδικό που είναι στο χρονικό όριο SDA_IN

Κάθε άλλο τρόπο, θα είναι ιδιαίτερα

 

Welcome to EDABoard.com

Sponsor

Back
Top