I2C VHDL πλοίαρχος

M

mr_j

Guest
μπορεί να με βοηθήσει κάποιος με ένα σκληρό-κωδικοποιημένες, μη μικροελεγκτή εξαρτώνται I2C πυρήνα;Βασικά, θέλω να είναι σε θέση να μετατρέψει τη σειρά σε CPLD μου, και να το ερώτημα μια συσκευή σκλάβος, τότε το φως ένα LED με βάση τις πληροφορίες που λαμβάνει.Το i opencores είμαι διαπίστωση είναι 1000 LOC και τρόπο να φαίνεται περίπλοκη.Ψάχνω να βρω κάτι με βασικές i_clk και τον SDA και SCL έξω ...

Σε ευχαριστώ.

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

 
GCK -
Ευχαριστώ για το pdf.Έχω πράγματι περάσει από το xapp333, καθώς και η VHDL κώδικα που παρέχουν με αυτό.Έχει ακόμα ένα τεράστιο διεπαφή ucontroller.Η λύση τους είναι 15 VHDL αρχεία και 1000 του LOC.Είναι πολύ δύσκολο για μένα να έχει νόημα από αυτό, ούτως ώστε να αφαιρεί τα μέρη ucontroller.Δεν υπάρχει πολύ μικρότερη (ίσως λιγότερο από 300 LOC) λύση εκεί έξω για μια διασύνδεση δεν όλα τα "έξτρα";

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

 
hi mr_j,
Συμφωνώ ότι η λύση είναι ένας μεγάλος, αλλά μπορείτε να πάρετε την ιδέα και να κάνει ανάλογα με τις ανάγκες σας.

Εάν στόχευση perticulat IC που έχει I2C διεπαφή τότε πολύ εύκολο της να τροποποιήσει το programms.

 
Ευχαριστώ για τη συμβουλή, όλα.Συμφωνώ ότι I2C φαίνεται απλό.Απλά προτιμώ να οικοδομήσουμε μακριά από κάτι που γνωρίζω έργα για τον εντοπισμό σφαλμάτων σχεδιασμού μου και για χάρη της ταχύτητας.Αυτή τη στιγμή έχω αποφασίσει να χρησιμοποιήσει το simple_i2c opencore, μαζί με tst_ds1621.Ας ελπίσουμε ότι αυτό θα δουλειά.Ευχαριστώ για τις απαντήσεις σας!

 
Έχω ένα άλλο πρόβλημα - ελπίζουμε ότι κάποιος μπορεί να βοηθήσει.Είμαι τροφοδοτούν ένα 400kHz ρολόι σε CPLD μου, η οποία εκτελεί το simple_i2c tst_ds1621 κώδικα από opencores.Όταν ενεργοποιείτε το κύκλωμα, SCL γραμμή μου αρχίζει να τρέχει, αλλά μόνο σε περίπου 4kHz.Ξέρω ότι αυτό έχει σχέση με την CLK_CNT μεταβλητή, αλλά δεν καταλαβαίνω πώς / τι κάνει.Μπορώ να του ταχυδρομικού κώδικα, αν χρειαστεί, αλλά φαίνεται ότι ο καθένας έχει δει το opencores I2C.Προστίθενται μετά από 15 λεπτά:Νομίζω ότι θα βρεθεί .... φαίνεται σαν να είναι η prescale μητρώο, παρόμοιο με εκείνο του πλοιάρχου αρχείο

 

Welcome to EDABoard.com

Sponsor

Back
Top