Ανταλλακτικά: 32KB SPI SRAM μνήμη (23k256)

Το νέο 23K256 είναι ένα σειριακά διασυνδεδεμένο 32 chip μνήμης SRAM SRAM, που προσφέρεται σε 8 ακροδέκτες, καθώς και 8 πείρα. Το SRAM, όπως το EEPROM, είναι ένα μέσο αποθήκευσης δεδομένων. Τα δεδομένα που διατηρούνται στο SRAM χάνονται χωρίς σταθερή ισχύ, ωστόσο είναι πραγματικά γρήγορο, καθώς δεν υπάρχουν όρια στον αριθμό των κύκλων συνθέσεως. Το EERPOM αποθηκεύει δεδομένα ακόμη και χωρίς ισχύ, ωστόσο είναι αργά καθώς και συνήθως περιορίζεται σε περίπου ένα εκατομμύριο κύκλους συνθέσεως.

Οι μάρκες 32K SRAM έχουν κανονικά 15 γραμμές διευθύνσεων καθώς και 8 γραμμές δεδομένων, όπως το IS61LV256al που χρησιμοποιήσαμε στο συμβούλιο προαγωγής του CPLD. Το 23K256 χρειάζεται μόνο τέσσερις γραμμές σήματος, ωστόσο θυσιάζουν την ταχύτητα μιας παράλληλης διασύνδεσης μνήμης. Είναι μια εξαιρετική μέθοδος για να προσθέσετε επιπλέον μνήμη σε ένα μικροελεγκτή μετρητών χαμηλών ακίδων χωρίς δρομολόγηση 23 ίχνη σήματος. Θα σας δείξουμε ακριβώς πώς να διασυνδέσετε αυτό το τσιπ παρακάτω.

Microchip 23K256, 32K SPI SRAM (αναζήτηση MOSER, OCTOPART, $ 1.48). Δελτίο δεδομένων (pdf).

Πειρατής λεωφορείων
23K256 (PIN #)

Cs
/ CS (1)

Μου
Έτσι (2)

Μόση
Si (5)

Ρολόι
SCK (6)

ΓΕ
/ Κρατήστε (7)

ΓΕ
VSS (4)

+ 3volts
VCC (8)

Συνδέσαμε το 23K256 στο λεωφορείο Pirate Universal Serial Interface Tool όπως φαίνεται στο τραπέζι. Είναι εξαιρετικά απαραίτητο να τροφοδοτήσετε το τσιπ που χρησιμοποιεί μόνο την τροφοδοσία 3.3volt του πνευματικού διαύλου, το 23k256 δεν έχει βαθμολογηθεί για 5volts.

Ο πειρατής του λεωφορείου είναι μια απλή μέθοδος για να ανακαλύψετε ένα τσιπ χωρίς να συνθέτουν οποιοδήποτε τύπο κώδικα, ωστόσο οι ακριβείς ίδιοι κύριοι ισχύουν για τη χρήση του 23K256 με οποιοδήποτε είδος μικροελεγκτή. Αυτή η παρουσίαση χρησιμοποιεί την τελευταία έκδοση του υλικολογισμικού Pirate Bus (26-Φεβ-2009), την οποία μπορείτε να κατεβάσετε από τον κωδικό Google SVN.

HIZ> M <-CHOOSE MODE 1. Hiz ... 5. SPI ... Λειτουργία> Λειτουργία 5 <-spi Σετ λειτουργίας ... <-30khz, όλες οι προεπιλεγμένες ρυθμίσεις Spi έτοιμο Spi> w <-capital 'w' επιτρέπει τροφοδοτικά Προμήθειες τάσης Spi>

Πρώτον, βάζουμε τον πειρατικό λεωφορείο στη λειτουργία SPI στα 30kHz καθώς και επιλέγει τις προεπιλεγμένες ρυθμίσεις για όλες τις επιλογές. Ενεργοποιήσαμε την προμήθεια ισχύος του Pirate Pirate 3.3volt με χρηματοδότηση «W».

Εγγραφή διαμόρφωσης

bit 7,6 = byte (00) σελίδα (10) ακολουθία (01) λειτουργία
bit 0 = Κρατήστε απενεργοποιημένο (1)

Τα δεδομένα διατηρούνται μέσα στο 23k256 σε 1024 σελίδες που περιλαμβάνει το καθένα 32bytes. Το φάσμα των διαβίσεων καθώς και των συνθέσεων ορίζεται από το Bit 7 καθώς και 6 του μητρώου διαμόρφωσης. Η αποθήκευση μπορεί να αποκτηθεί από το byte (00), με σελίδες 32byte (10), ή διαδοχικά με ολόκληρο το 32k (01). Θα εργαστούμε σε λειτουργία ακολουθίας, η οποία μας παρέχει πρόσβαση σε έλεγχο καθώς και συνθέστε οποιοδήποτε είδος μήκους δεδομένων, οπουδήποτε στο χώρο αποθήκευσης 32k.

Το PIN HOLD χρησιμοποιείται για να παύσει μεταφορές όταν άλλες μάρκες στην ακριβή ίδια απαίτηση λεωφορείου πρέπει να προσεγγιστούν. bit 0 του καταχωρητή διαμόρφωσης ελέγχει το PIN HOLD. Όταν ρυθμιστεί στο 1, ο πείρος συγκράτησης είναι απενεργοποιημένος. Συνδέσαμε τη συγκέντρωση στο έδαφος για τυπική λειτουργία, αλλά η απόδοσή του μπορεί να απενεργοποιηθεί εντελώς με τη ρύθμιση Bit 0.

Ο καταχωρητής διαμόρφωσης μεταβάλλεται στέλνοντας την εντολή Compose Configuration (0B00000001) καθώς και τις νέες ρυθμίσεις.

SPI> [0b1 0B01000001] Εγγραφή <-update Config Το CS είναι ενεργοποιημένο Γράψτε: 0x01 <-Write Config Command Γράψτε: 0x41 <-Value για να γράψετε Το CS είναι απενεργοποιημένο Spi>

Ξεκινάμε μια συμφωνία SPI επιτρέποντας την επιλογή CHIP 23K256 CHIP CHIP ([). Στέλνουμε την εντολή Compose Configuration (0b1, 0x01 ή 1), τηρήθηκε από τις νέες ρυθμίσεις για το μητρώο διαμόρφωσης (0b01000001, 0x41). Ρυθμίζουμε το Bit 6 για πρόσβαση σε διαδοχική πρόσβαση σε λειτουργία, καθώς και το Set Bit 0 για να απενεργοποιήσετε τη λειτουργία HOLD PIN. Τα bits 5-1 δεν έχουν καμία λειτουργία, ωστόσο τα κράτη φύλλων δεδομένων πρέπει πάντα να συνθέτουν το 0. Η συμφωνία καταλήγει με την απενεργοποίηση του τσιπ επιλέγοντας σήμα (]).

SPI> [0b101 r]
Το CS είναι ενεργοποιημένο
Γράψτε: 0x05 <-Read Config Διαβάστε: 0x41 <-Value Διαβάστε Το CS είναι απενεργοποιημένο Spi>

Στη συνέχεια, χρησιμοποιούμε την εντολή καταχωρητή διαμόρφωσης (0B00000101, 0B101, 0x05 ή 5) για να επιβεβαιώσετε ότι οι ρυθμίσεις γράφτηκαν σωστά. Αυτή η εντολή επιστρέφει ένα byte (R) το οποίο θα έπρεπε να ταιριάζει με την τιμή που συνθέτουμε στην προηγούμενη λειτουργία (0x41 ή 0b01000001).

Πρόσβαση δεδομένων

Τώρα μπορούμε να ελέγξουμε καθώς και να συνθέτουμε δεδομένα στο τσιπ. Οι συνθέσεις αρχίζουν με τη εντολή συνθέτουν τα δεδομένα (0b10, 0x02 ή 2), τηρήθηκε με δύο byte που εντοπίζουν πού να συνθέσουν τα δεδομένα. Οι τιμές για την αποθήκευση αποστέλλονται μετά τη διεύθυνση. Ανάλογα με την πρόσβαση κέρδους στη λειτουργία, ένα μόνο byte, μια σελίδα ή ολόκληρη η μνήμη μπορεί να συμπληρωθεί σε μία μόνο λειτουργία.

SPI> [0b10 0 0 1 2 3 4 5 6 7 8 9 10]
Το CS είναι ενεργοποιημένο
Γράψτε: 0x02 <-Data Compose Command Γράψτε: 0x00 <-Address Byte 1 Γράψτε: 0x00 <-Address Byte 2 Γράψτε: 0x01 <-start των δεδομένων για να γράψετε Γράψτε: 0x02 Γράψτε: 0x03 Γράψτε: 0x04 Γράψτε: 0x05 Γράψτε: 0x06 Γράψτε: 0x07 Γράψτε: 0x08 Γράψτε: 0x09 Γράψτε: 0x0a Το CS είναι απενεργοποιημένο Spi>

Αρχίζουμε με την εντολή Compose Data (0b10) καθώς και να ρυθμίσετε το σύνολο μέρος στην αρχή του τσιπ (0 0). Στέλνουμε συνολικά τις δέκα αξίες για να αποθηκεύσετε, τους αριθμούς 1 έως 10.

Αφού συνθέτουμε τα δεδομένα, μπορούμε να το ελέγξουμε την εντολή ελέγχου δεδομένων (0b00000011, 0b11, 0x03 ή 3).

SPI> [0b11 0 0 r: 10]
CsΕνεργοποιημένος
Γράψτε: 0x03 <-Η εντολή δεδομένων Γράψτε: 0x00 <-start διεύθυνση byte 1 Γράψτε: 0x00 <-start διεύθυνση byte 2 Μαζική Έλεγχος 0x0a Bytes: <-Read Out 10 Bytes 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a Το CS είναι απενεργοποιημένο Spi>

Στέλνουμε την εντολή Conted Out Data (0b11), τηρήθηκε από τη διεύθυνση από την οποία πρόκειται να ξεκινήσει η ανάγνωση (0 0). Στη συνέχεια, ελέγχαμε πίσω 10 bytes (R: 10). Το 10 byte είναι οι αριθμοί 1 έως 10, οι ακριβείς ίδιες τιμές που συνθέτουμε στο προηγούμενο βήμα.

Όπως αυτή η θέση; Επιθεωρήστε τα μηνύματα εξαρτημάτων που μπορεί να έχετε χάσει. Θέλετε να ζητήσετε μια θέση μέρους; Αφήστε τις συμβουλές σας στα σχόλια.

Back to top