Πώς να γράψετε και να διαβάσετε μνήμη Flash χρησιμοποιώντας το Arduino

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

Πώς να γράψετε και να διαβάσετε μνήμη Flash χρησιμοποιώντας το Arduino
Πώς να γράψετε και να διαβάσετε μνήμη Flash χρησιμοποιώντας το Arduino

Βίντεο: Πώς να γράψετε και να διαβάσετε μνήμη Flash χρησιμοποιώντας το Arduino

Βίντεο: Πώς να γράψετε και να διαβάσετε μνήμη Flash χρησιμοποιώντας το Arduino
Βίντεο: ❓ Обязательно к просмотру начинающему в Arduino IDE (ошибка компилятора) 2024, Νοέμβριος
Anonim

Σε αυτό το άρθρο, θα εξετάσουμε τον τρόπο εγγραφής και ανάγνωσης από τη μνήμη flash χρησιμοποιώντας ένα Arduino χρησιμοποιώντας το μικροκύκλωμα 25L8005 ως παράδειγμα.

Πώς να γράψετε και να διαβάσετε μνήμη flash χρησιμοποιώντας το Arduino
Πώς να γράψετε και να διαβάσετε μνήμη flash χρησιμοποιώντας το Arduino

Απαραίτητη

  • - τσιπ μνήμης flash με υποστήριξη SPI.
  • - έναν προσαρμογέα για μνήμη ή έναν πίνακα με μηδενικό κέρδος (πίνακας ZIF).
  • - Arduino;
  • - υπολογιστή;
  • - καλώδια σύνδεσης.

Οδηγίες

Βήμα 1

Πρώτον, πρέπει να το κάνουμε έτσι ώστε να μπορούμε εύκολα να συνδεθούμε στο μικροκύκλωμα. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε είτε έναν ειδικό προσαρμογέα στον οποίο πρέπει να κολλήσετε το μικροκύκλωμα είτε (που είναι προτιμότερο) να χρησιμοποιήσετε έναν πίνακα μηδενικού κέρδους (ο λεγόμενος πίνακας ZIF).

Τσιπ μνήμης Flash σε πίνακα ZIF
Τσιπ μνήμης Flash σε πίνακα ZIF

Βήμα 2

Τώρα ας συνδυάσουμε το ηλεκτρικό διάγραμμα για τη σύνδεση του τσιπ μνήμης flash με το Arduino. Θα χρησιμοποιήσουμε τη διεπαφή SPI για προγραμματισμό μνήμης, οπότε θα συνδεθούμε με τις τυπικές ακίδες:

- CS - ψηφιακή ακίδα 10, - MOSI - ψηφιακή ακίδα 11, - MISO - ψηφιακή ακίδα 12, - SCK - ψηφιακός πείρος 13.

Διάγραμμα σύνδεσης μνήμης Flash με το Arduino
Διάγραμμα σύνδεσης μνήμης Flash με το Arduino

Βήμα 3

Πριν γράψετε δεδομένα στη μνήμη, είναι απαραίτητο να διαγράψετε τον τομέα ή τη σελίδα στην οποία πρόκειται να γράψουμε. Εάν δεν υπάρχουν πολλά δεδομένα που πρέπει να γραφτούν (στο παράδειγμά μας θα είναι μόνο 16 byte), τότε αρκεί να διαγράψετε 1 τομέα. Από την τεκμηρίωση για το μικροκύκλωμα, βλέπουμε ότι η ακολουθία διαγραφής έχει ως εξής: ορίστε την άδεια εγγραφής (1 byte), στείλτε την εντολή διαγραφής (1 byte) και τη διεύθυνση (3 byte), ορίστε την απαγόρευση εγγραφής (1 byte). Αυτό ακριβώς κάνει το παραπάνω σκίτσο. Ας το φορτώσουμε στο Arduino. Αφού ολοκληρωθεί το σχέδιο, η μονάδα flash είναι έτοιμη για εγγραφή.

Ο τομέας του Flash σβήνει το σκίτσο
Ο τομέας του Flash σβήνει το σκίτσο

Βήμα 4

Τώρα ας γράψουμε τα δεδομένα. Ας πάρουμε για παράδειγμα μια μικρή σειρά 16 byte. Όπως μπορείτε να δείτε από την τεκμηρίωση, πρώτα πρέπει να ορίσετε την άδεια εγγραφής (1 byte) και, στη συνέχεια, να στείλετε την εντολή εγγραφής (1 byte), τη διεύθυνση έναρξης (3 byte) και τα δεδομένα (στο παράδειγμά μας, 16 byte), στο το τέλος ορίζει την απαγόρευση εγγραφής (1 byte).

Ανεβάστε το σκίτσο στο Arduino. Μετά την εκτέλεση αυτού του σκίτσου, ο πίνακας δοκιμών θα έπρεπε να έχει γραφτεί για να αναβοσβήνει μνήμη. Ας δούμε αν είναι έτσι.

Ένα σκίτσο για τη σύνταξη μιας σειράς bytes για τη μνήμη flash
Ένα σκίτσο για τη σύνταξη μιας σειράς bytes για τη μνήμη flash

Βήμα 5

Ας γράψουμε ένα σκίτσο για να διαβάσουμε 16 byte από τη μνήμη flash. Ας το φορτώσουμε στο Arduino και ανοίξτε την οθόνη σειριακής θύρας. Στην οθόνη, όπως αναμενόταν, η σειρά μας, που διαβάζεται από τη μνήμη χρησιμοποιώντας το Arduino, θα εμφανίζεται 1 φορά ανά δευτερόλεπτο.

Συνιστάται: