Μόνιμη μνήμη. Δοκιμές μνήμης για ZX-Spectrum, αναβοσβήνουν σε ROM Flash ROM, flash ROM

Περιέγραψε τον τρόπο εγκατάστασης Quartus, αλλά αυτό ήταν μόνο ένα βήμα προς την αποστολή. Για να βεβαιωθείτε ότι FPGAκαι η δουλειά του προγραμματιστή, έπρεπε να γίνει flash το πρώτο.
Αποδείχθηκε ότι αυτό μπορεί να γίνει με δύο τρόπους, ο πρώτος είναι μέσω JTAGδιεπαφή, σε αυτήν την περίπτωση οι πληροφορίες διαμόρφωσης αναβοσβήνουν απευθείας στο FPGA. Το μειονέκτημα αυτής της μεθόδου είναι ότι Η μνήμη FPGA είναι ασταθήςκαι το υλικολογισμικό πρέπει να φορτώνεται στο FPGA κάθε φορά που χρησιμοποιείται ρεύμα.

Η διέξοδος από αυτή την κατάσταση αυτοπροτείνεται και βρίσκεται μέσα Τοποθετήστε ένα τσιπ μνήμης δίπλα στο FPGA και φορτώστε το υλικολογισμικό από αυτό κάθε φορά μετά την ενεργοποίηση. Το μόνο που αξίζει να προσθέσετε είναι ότι το υλικολογισμικό δεν αποθηκεύεται σε μια κανονική μονάδα flash, αλλά σε ένα ειδικό τσιπ - μια ROM διαδοχικής διαμόρφωσης. U Altera- πρόκειται για μικροκυκλώματα της σειράς EPCSή EPCQ, προγραμματιζόμενο μέσω διασύνδεσης Ενεργό Σειρά. Αυτή είναι η δεύτερη μέθοδος, το θέμα είναι να προγραμματίσετε το τσιπ ROM διαδοχικής διαμόρφωσης και μετά την ενεργοποίηση, το FPGA διαβάζει το υλικολογισμικό από αυτό.
Αλλά αυτό εγείρει ένα άλλο ερώτημα: είναι δυνατόν να απαιτείται ξεχωριστός σύνδεσμος για τον προγραμματισμό του τσιπ ROM σειριακής διαμόρφωσης;
Αποδεικνύεται ότι οι προγραμματιστές FPGA φρόντισαν για αυτό και το FPGA μπορεί να λειτουργήσει ως ενδιάμεσος μεταξύ των διεπαφών JTAGΚαι Ενεργό Σειρά. Δηλαδή λαμβάνει το firmware από JTAGδιεπαφή και το εγγράφει στη ROM χρησιμοποιώντας Ενεργό Σειρά. Τακτοποιήσαμε τη θεωρία και μπορούμε να αρχίσουμε να εξασκούμαστε.

Κατόπιν αιτήματός μου, ο πωλητής μου έστειλε με email μια σχηματική εικόνα του πίνακα εντοπισμού σφαλμάτων και πολλά απλά έργα. Σε ένα από τα έργα βρέθηκε ένα αρχείο με την επέκταση .σοφ, το οποίο είναι απαραίτητο για το υλικολογισμικό.
Για να αναβοσβήνει το FPGA χρησιμοποιώντας jtagαπαραίτητη:

  • τρέξιμο Quartus
  • επιλέγω Προγραμματιστήςστην καρτέλα Εργαλεία
  • καθορίστε το αρχείο υλικολογισμικού


  • αναβοσβήνει το FPGA πατώντας ένα κουμπί Αρχή, έχοντας προηγουμένως εγκαταστήσει τα απαραίτητα πλαίσια ελέγχου

  • Εάν το υλικολογισμικό εγκατασταθεί με επιτυχία, βλέπουμε το 100% Επιτυχές στην επάνω δεξιά γωνία

Στον ίδιο φάκελο που τραβήχτηκε το αρχείο .sof, ένα αρχείο με την επέκταση .ποφ.Τα αρχεία με αυτήν την επέκταση πρέπει να αναβοσβήνουν συνδέοντας απευθείας στη ROM, αλλά ήθελα να αναβοσβήσω την πλακέτα χωρίς περιττές κινήσεις μέσω jtag. Για να γίνει αυτό, από το αρχείο .sof ήταν απαραίτητο να αποκτήσετε ένα αρχείο με την επέκταση .τζικ.

Για να μετατρέψετε ένα αρχείο .sof σε .jic χρειάζεστε:

  • στο μενού Αρχείο επιλέξτε Μετατροπή αρχείων προγραμματισμού

  • στο μενού που ανοίγει, επιλέξτε στο πεδίο Τύπος αρχείου προγραμματισμούεπιλέγω JTAG Έμμεση
    Αρχείο διαμόρφωσης (.jic)
  • στο χωράφι Συσκευή διαμόρφωσηςεπιλέξτε τον τύπο της ROM που βρίσκεται στον πίνακα
  • στο χωράφι Τρόποςεπιλέξτε τη λειτουργία υλικολογισμικού
  • στο χωράφι Ονομα αρχείουκαθορίστε το όνομα και τον κατάλογο του αρχείου εξόδου

  • στο χωράφι Εισάγει το αρχείο σε μετατροπήκάντε κλικ στο SOF Data, εμφανίζεται ένα κουμπί στη δεξιά πλευρά Προσθήκη αρχείου, κάνοντας κλικ στο οποίο μπορείτε να επιλέξετε το αρχείο προς μετατροπή

7 / 8 121

έντυπη έκδοση

Οι δοκιμές μνήμης για το ZX-Spectrum, αναβοσβήνουν στη ROM

Οι δυσλειτουργίες που σχετίζονται με τη μνήμη RAM καταλαμβάνουν μια «τιμητική» θέση ανάμεσα σε όλους τους πιθανούς λόγους για τη μη λειτουργικότητα των Spectrums. Τα τσιπ μνήμης είναι σχετικά αναξιόπιστα και τείνουν να καίγονται (ειδικά αν υπάρχουν προβλήματα τροφοδοσίας). Και ειδικά αν η πηγή ισχύος του Spectrum είναι μετασχηματιστής. Πόσες φορές έχει παρατηρηθεί στον υπολογιστή μου Leningrad-1 με τροφοδοτικό μετασχηματιστή - πηδήσατε κατά λάθος το τροφοδοτικό του υπολογιστή (+5V και γείωση) και ένα ή δύο μικροκυκλώματα KR565RU5 έχουν ήδη "πετάξει έξω".

Κατά κανόνα, το τσιπ μνήμης καίγεται εντελώς. Εκείνοι. Δεν είναι ότι ένα bit σε αυτό δεν λειτουργεί, αλλά ότι ολόκληρο το τσιπ σταματά να λειτουργεί. Η μνήμη του Spectrum είναι οργανωμένη με τέτοιο τρόπο ώστε κάθε τσιπ RAM να είναι υπεύθυνο για το δικό του bit μνήμης (για ένα φάσμα 48K αυτό είναι 8 τσιπ, ένα bit το καθένα, για συνολικά 64 KB διευθυνσιοδοτούμενης μνήμης). Όταν εκκινείται ο υπολογιστής, η ROM εκτελεί τον έλεγχο της μνήμης της και εάν κάποιο κελί RAM "αποτύχει", ο υπολογιστής ορίζει το όριο της διαθέσιμης μνήμης στη διεύθυνση της κυψέλης που προηγήθηκε της ελαττωματικής. Σε αυτήν την περίπτωση, η τιμή του ορίου της διαθέσιμης μνήμης ορίζεται στη μεταβλητή συστήματος P_RAMT (βρίσκεται στις διευθύνσεις 23732-23733 στη μνήμη RAM. Σε έναν υπολογιστή που λειτουργεί, η τιμή αυτής της μεταβλητής συστήματος θα είναι ίση με #FFFF (που είναι, οι αριθμοί 255 θα γραφτούν και στα δύο κελιά μνήμης).Αν στο Η μεταβλητή συστήματος περιέχει έναν αριθμό που δεν είναι ίσος με #FFFF, για παράδειγμα, εάν υπάρχει #F000, αυτό σημαίνει ότι το κελί μνήμης #F001 είναι ήδη ελαττωματικό.

Όλα αυτά είναι πολύ καλά, αλλά μόνο εάν η εντοπισμένη ελαττωματική κυψέλη μνήμης δεν βρίσκεται στην αρχή της διαθέσιμης μνήμης RAM. Το γεγονός είναι ότι για να λειτουργήσει το BASIC-48, απαιτεί επίσης κάποιο είδος διαθέσιμης μνήμης εργασίας. Και αν εντοπιστεί ένα ελάττωμα μνήμης στην αρχή της μνήμης RAM, τότε το BASIC απλά δεν θα ξεκινήσει και δεν θα μπορέσουμε να μάθουμε τίποτα. Εάν ένα από τα τσιπ RAM καεί εντελώς, ο υπολογιστής δεν θα ξεκινήσει το BASIC.

Τότε το μόνο που μένει είναι να «χορέψουμε με ένα ντέφι» για να βρούμε τι κάηκε πραγματικά. Ισχύει για τσιπ μνήμης, μπορείτε να δοκιμάσετε ένα πρωτόγονο, αλλά μερικές φορές χρήσιμο διαγνωστικό. Το γεγονός είναι ότι ένα ελαττωματικό τσιπ μνήμης (KR565RU5) μπορεί να διαφέρει σε θερμοκρασία από άλλα τσιπ εργασίας. Κατά τη λειτουργία, η RAM KR565RU5 θερμαίνεται. Αν βάλετε το δάχτυλό σας στα τσιπ RAM, μπορείτε να νιώσετε ότι τα τσιπ είναι αισθητά ζεστά. Ένα ελαττωματικό μικροκύκλωμα μπορεί να ζεσταθεί σαν σίδερο ή μπορεί να είναι εντελώς κρύο. Αυτό δεν θα ισχύει απαραίτητα, αλλά αυτή η μέθοδος μπορεί να θυμάται και να εφαρμόζεται από καιρό σε καιρό.

Γενικά, κατά την παραγωγή Spectrums, οι κανόνες καλής μορφής είναι να εγκαταστήσετε ROM και τσιπ επεξεργαστή στις πρίζες. Αυτό κάνει τη ζωή πολύ πιο εύκολη όταν επισκευάζετε τον υπολογιστή σας. Σε αυτή την περίπτωση, μας ενδιαφέρει το τσιπ ROM. Στα "αρχαία" Spectrums που παράγονται στα τέλη της δεκαετίας του '80 (αρχές της δεκαετίας του '90), κατά κανόνα εγκαταστάθηκαν δύο τσιπ ROM. Αυτό υπαγορεύτηκε από το γεγονός ότι δεν ήταν τόσο εύκολο να πάρεις ένα τσιπ ROM 16K (αστική ονομασία 27128) εκείνη την εποχή, οπότε ήταν ευκολότερο και φθηνότερο να το αντικαταστήσεις με δύο τσιπ 8Κ, ευτυχώς είχαν ένα εγχώριο αναλογικό KR573RF4, KR573RF6 . Και συνήθως ένα από τα μικροκυκλώματα (συνήθως ROM-0) τοποθετούνταν στην πρίζα. Γιατί ROM-0; Επειδή Η ROM είναι συναρμολογημένη σε δύο τσιπ, ο χώρος διευθύνσεών της χωρίζεται σε δύο μέρη. Η συνολική χωρητικότητα ROM είναι 16K. Επομένως, τα πρώτα 8Κ θεωρούνται ως ROM-0 και τα δεύτερα 8Κ θεωρούνται ROM-1. Όταν ξεκινά ο υπολογιστής, ο επεξεργαστής αρχίζει να εκτελεί το πρόγραμμα που βρίσκεται στη διεύθυνση #0000, και αυτή είναι ακριβώς η περιοχή που απευθύνεται από το ROM-0.

Άρα ναι, χρειαζόμαστε πραγματικά τουλάχιστον μία ROM για να υπάρχει στην πρίζα. Εάν η πλακέτα του υπολογιστή έχει μόνο μία ROM στην υποδοχή, αυτό είναι επίσης πολύ καλό. Το θέμα είναι ότι η ROM μπορεί να αφαιρεθεί και να αντικατασταθεί με τη δική σας ROM, στην οποία είναι "ραμμένο" το τεστ μνήμης. Στη συνέχεια, όταν ενεργοποιήσετε τον υπολογιστή, θα ξεκινήσει η δοκιμή μνήμης που χρειαζόμαστε, η οποία θα δείξει ξεκάθαρα τι συμβαίνει με τη μνήμη στον υπολογιστή.

Πριν από πολύ, πολύ καιρό, όταν δεν είχα ακόμη προγραμματιστή ROM, έπρεπε να πάω στην αγορά του ραδιοφώνου και εκεί σκληροί τύποι έβγαζαν οτιδήποτε στη ROM για την κατάλληλη δωροδοκία. Είχαν επίσης τεστ μνήμης για Spectrums. Ναι, ήταν ωραία τότε...

Έτσι, έχοντας αγοράσει το πολύτιμο chip ROM flashed, θα μπορούσατε να δοκιμάσετε τον υπολογιστή σας. Ωστόσο, πρώτα ήταν απαραίτητο να λυθεί το ερώτημα - πώς να τοποθετήσετε σωστά τη ROM στην υποδοχή; Το γεγονός είναι ότι η δοκιμή ROM αναβοσβήνει σε ένα τσιπ 2K. Διαθέτει 24 ακίδες. Το Spectrum χρησιμοποιεί ROM 28 ακίδων. Σε αυτήν την περίπτωση, οι ακίδες 21 και 24 του μικροκυκλώματος με τη δοκιμή ανυψώθηκαν και συνδυάστηκαν ως εξής:

Ένα τέτοιο μικροκύκλωμα εισάγεται στην υποδοχή όπως φαίνεται στη φωτογραφία:

Νομίζω ότι η φωτογραφία δείχνει τα πάντα καθαρά. Η ακίδα 12 της ROM (GND) πρέπει να ταιριάζει με την ακίδα 14 στην υποδοχή. Και η προεξέχουσα ακίδα της δοκιμαστικής ROM πρέπει να πέσει στην 28η ακίδα της πρίζας (τροφοδοτικό +5V).

Αντί να ακρωτηριάσεις τη ROM, μπορείς να φτιάξεις μια πλακέτα προσαρμογέα. Βάζουμε μια υποδοχή 24 ακίδων από πάνω για τη δοκιμαστική ROM και οι ακίδες προεξέχουν από κάτω για την εγκατάσταση της πλακέτας σε μια υποδοχή 28 ακίδων στον υπολογιστή. Όλες οι απαιτούμενες αλλαγές στη σύνδεση 21 και 24 ακίδων ROM μπορούν να γίνουν απευθείας σε αυτήν την πλακέτα:

Στην πρακτική μου, χρησιμοποιώ συχνά το ακόλουθο δοκιμαστικό υλικολογισμικό:

Test ROM για ZX-Spectrum 48K

Όπως υποδηλώνει το όνομα, ελέγχει 48K RAM. Λειτουργεί πολύ αργά (περίπου 12 λεπτά). Αρχικά, τα χαρακτηριστικά της οθόνης διαγράφονται, στη συνέχεια η οθόνη βάφεται και διαγράφεται ένα προς ένα και, στη συνέχεια, εμφανίζονται τα αποτελέσματα της δοκιμής RAM. Μετά από αυτό υπάρχει μια δοκιμή ROM, αλλά πάντα τελειώνει με ένα σφάλμα, αλλά για εμάς αυτό δεν έχει σημασία. Το κύριο πράγμα είναι να ελέγξετε τη μνήμη RAM.

ΠΡΟΣΟΧΗ!
Αυτή η δοκιμή έχει ένα "κόλπο" - εάν κρατάτε ένα πλήκτρο διαστήματος κατά την έναρξη της δοκιμής, τότε το γραφικό τμήμα με τη σκίαση των χαρακτηριστικών παραλείπεται και η δοκιμή RAM ξεκινά απευθείας. Η δοκιμή για το πατημένο πλήκτρο διαστήματος γίνεται τη στιγμή που τελειώνει η επιλογή των χρωμάτων των περιγραμμάτων στην αρχή της δοκιμής.

Η επιτυχία της δοκιμής εάν ένα από τα τσιπ RAM είναι ελαττωματικό μπορεί να φανεί στο πρώτο τεύχος του Byte Tales #01:

BYT Tales #01 - Επισκευή του υπολογιστή "Byte"

Άλλη μια δοκιμαστική ROM για το ZX-Spectrum 48K

Δεν είμαι απόλυτα ικανοποιημένος με το τεστ μνήμης 48K από την προηγούμενη ενότητα της σελίδας, οπότε όταν είχα ελεύθερο χρόνο και επιθυμία, αποσυναρμολόγησα αυτό το τεστ και, βάσει αυτού, «έκοψα» τη δική μου έκδοση, στην οποία προσπάθησα να να πραγματοποιήσω τα «θέλω» μου.

Το αποτέλεσμα ήταν ένα ελαφρώς πιο προηγμένο τεστ μνήμης, στο οποίο πρόσθεσα αρκετούς αλγόριθμους δοκιμής μνήμης, πέταξα τον περιττό κώδικα από το τεστ (υπάρχει άφθονο) και έκανα επίσης ένα "jammer" του συνθεσάιζερ στο KR580VI53 στη θήκη χρήση του τεστ στον υπολογιστή «Byte».

Μπορείτε να κάνετε λήψη του δοκιμαστικού υλικολογισμικού μαζί με όλες τις πηγές για το iS-DOS (η δοκιμή είναι γραμμένη στο iS-Assembler) στο τέλος αυτής της σελίδας.

Δοκιμή ROM για ZX-Spectrum 48K (από το περιοδικό "Radio Amateur" 1995 No. 9

Στο περιοδικό "Radio Amateur" Νο. 9 για το 1995, δημοσιεύτηκε μια χωματερή ενός τεστ ROM για το ZX-Spectrum 48 του Γ. Ουλανόφσκι.

Η ιδιαιτερότητα της δοκιμής είναι ότι δεν εμφανίζει κείμενο στην οθόνη - όλες οι πληροφορίες σχετικά με την απόδοση της μνήμης RAM εμφανίζονται με τη μορφή γραμμών στο περίγραμμα. Αυτό μπορεί να είναι χρήσιμο σε περίπτωση πλήρους αλειτουργίας της μνήμης RAM, όταν κατά την εμφάνιση κειμένου στην οθόνη τίποτα δεν θα είναι ορατό και οι γραμμές στο περίγραμμα θα είναι σαφώς ορατές (η έξοδος των πληροφοριών στο περίγραμμα δεν εξαρτάται από την απόδοση και διαθεσιμότητα RAM γενικά).

Μετά την ολοκλήρωση της δοκιμής, εμφανίζονται 8 λευκές λωρίδες στο περίγραμμα, που συμβολίζουν 8 bit μνήμης RAM. Η πρώτη γραμμή από την κορυφή δείχνει τη δυνατότητα συντήρησης του bit D0, η δεύτερη - D1, η τρίτη - D2 κ.λπ. Εάν το αντίστοιχο bit της μνήμης RAM είναι λειτουργικό, η ζώνη θα είναι στενή:

Σε περίπτωση ελαττωματικού bit, το εύρος ζώνης θα είναι διπλάσιο:

Το μειονέκτημα της δοκιμής είναι ότι ελέγχει μόνο τα πρώτα 16K RAM (στις διευθύνσεις #4000-#7FFF). Ωστόσο, αυτό μπορεί εύκολα να διορθωθεί αλλάζοντας την πηγή δοκιμής.

Η δοκιμή πραγματοποιείται σε 4 στάδια (συμπλήρωση και έλεγχος για byte #00, #FF, #55 και #AA). Εάν θέλετε, μπορείτε να προσθέσετε άλλες επιλογές για τον έλεγχο της μνήμης RAM στο κείμενο προέλευσης.

Για παράδειγμα, τροποποίησα τη δοκιμή για να ελέγξω ολόκληρη την ποσότητα μνήμης RAM 48K και εισήγαγα επίσης στην πηγή τη διαδικασία εμπλοκής του KR580VI53 για τον υπολογιστή Byte. Μπορείτε να κάνετε λήψη του υλικολογισμικού για δύο επιλογές δοκιμής και πηγές στο τέλος αυτού του άρθρου.

Test ROM για ZX-Spectrum 128K

Αυτή η δοκιμή σάς επιτρέπει να ελέγξετε γρήγορα τη μνήμη στο 128ο ZX-Spectrum.

Μπορείτε να δείτε πώς εκτελείται η δοκιμή σε έναν υπολογιστή που λειτουργεί στο παρακάτω βίντεο:

Θα πρέπει να υπάρχει ένα βίντεο εδώ, αλλά δεν θα λειτουργήσει αν δεν ενεργοποιήσετε τη JavaScript για αυτόν τον ιστότοπο.

Μετά το μήνυμα σχετικά με μια επιτυχημένη δοκιμή ROM, εμφανίζεται ένας βρόχος, μπορείτε να το αγνοήσετε.

Όταν εργάζεστε σε μερικοίΣε υπολογιστές με συνδεδεμένο ελεγκτή μονάδας, είναι πιθανές δυσλειτουργίες κατά την επιτυχία της δοκιμής. Το γεγονός είναι ότι κατά τη σύνδεση του ελεγκτή μονάδας, γίνεται μια τροποποίηση που απαγορεύει την επιλογή οποιωνδήποτε θυρών όταν ο ελεγκτής λειτουργεί. Για παράδειγμα, τι συνιστάται να κάνετε κατά τη σύνδεση του ελεγκτή C-48 στο ZX-Spectrum:

Ο αγωγός που τρέχει από την έξοδο /IORQ του επεξεργαστή στο κύκλωμα του υπολογιστή έχει σπάσει και ένα λογικό στοιχείο που αλλάζει το σήμα /IORQ συνδέεται με τη διακοπή.

Αυτό γίνεται για να απενεργοποιηθούν οι πιθανές θύρες υπολογιστή που βρίσκονται σε διένεξη με τις θύρες του ελεγκτή μονάδας δίσκου. Πρώτα απ 'όλα, αυτό είναι το λιμάνι Kempston του joystick. Ωστόσο, κανείς δεν θα αναζητήσει ένα συγκεκριμένο μοντέλο υπολογιστή για να δει τι μπορεί να έρχεται σε διένεξη με τον ελεγκτή μονάδας, επομένως είναι ευκολότερο να απενεργοποιήσετε εντελώς την πρόσβαση στις θύρες ενώ ο ελεγκτής μονάδας λειτουργεί.

Δεύτερο σημείο: ξανά μέσα μερικοίΣε υπολογιστές που έχουν τροποποιηθεί με αυτόν τον τρόπο, το TR-DOS εκκινείται αμέσως μετά την επαναφορά. Αυτό γίνεται έτσι ώστε κάθε φορά από το BASIC να μην χρειάζεται να "πληκτρολογείτε" την εντολή RANDOMIZE USR 15616 για να ξεκινήσετε το TR-DOS.

Τρίτο σημείο: ξανά μέσα μερικοίΣε υπολογιστές, η ROM με BASIC συνδυάζεται με τη ROM TR-DOS σε ένα τσιπ. Για παράδειγμα, όπως σε αυτόν τον υπολογιστή Leningrad-1:

Προγραμματιστής- μια συσκευή υλικού και λογισμικού σχεδιασμένη για εγγραφή/ανάγνωση πληροφοριών σε μια μόνιμη συσκευή αποθήκευσης (μια φορά εγγραφή, μνήμη flash, ROM, εσωτερική μνήμη μικροελεγκτών και PLC).

Προγραμματιστής- αυτή είναι μια συσκευή που εισάγει τις απαραίτητες πληροφορίες για τη λειτουργία σε προγραμματιζόμενα μη πτητικά ψηφιακά τσιπ, όπως π.χ. ΧΩΡΟΣ ΚΟΛΛΕΓΙΟΥ (ROM), EPROM (PROM), EEPROM (EEPROM), Λάμψη, ΦΙΛΑΡΑΚΟΣ, ΓΑΛ, FPGAΚαι μικροελεγκτές. Η διαδικασία εγγραφής ονομάζεται συχνά " ", " ", " ", " ".

Flash ROM, flash ROM

"Flash ROM"- γράψτε πληροφορίες στη ROM.

Όταν οι υπολογιστές ήταν μεγάλοι, από τα μέσα της δεκαετίας του 1950 έως τα μέσα της δεκαετίας του 1970, οι υπολογιστές χρησιμοποιούσαν μνήμη μαγνητικού πυρήνα. Αυτή η μνήμη χρησιμοποιήθηκε τόσο ως RAM όσο και ως ROM. Κατά την κατασκευή της ROM, το σύρμα είτε περνούσε από τον δακτύλιο είτε το παρέκαμψε. Το σύρμα περνούσε μέσω ενός δακτυλίου φερρίτη χρησιμοποιώντας ειδική βελόνα. Αυτό είναι "ραμμένο"μήτρα μνήμης με την κυριολεκτική έννοια. Ως εκ τούτου, σε αυτή τη διαδικασία δόθηκε φυσιολογικά ο ορισμός "flash ROM". Για να το κάνουμε σωστά "λάμψη", δημιούργησε ένα τεχνολογικό έγγραφο "χάρτης υλικολογισμικού"που έδειχνε από ποιους δακτυλίους να περάσει το σύρμα και από ποιους όχι. Η μνήμη στους πυρήνες φερρίτη ανήκει στο παρελθόν, ωστόσο, ο όρος "λάμψη"Και "υλικολογισμικό"σε σχέση με τη διαδικασία εγγραφής σε ROM χρησιμοποιείται ακόμα και σήμερα. Εξάλλου η λέξη "υλικολογισμικό"χρησιμοποιείται τόσο ως ρήμα σε σχέση με τη διαδικασία εισαγωγής πληροφοριών στη ROM όσο και ως ουσιαστικό σε σχέση με την ίδια την πληροφορία ή το αρχείο που εισάγεται.

Σε αντίθεση με τους ημιαγωγούς, οι μαγνητικοί πυρήνες δεν φοβούνται την ακτινοβολία και την ηλεκτρομαγνητική ακτινοβολία και ως εκ τούτου, η μνήμη του μαγνητικού πυρήνα συνέχισε να χρησιμοποιείται σε στρατιωτικά και διαστημικά συστήματα για κάποιο χρονικό διάστημα. Είναι αξιόπιστα γνωστό ότι χρησιμοποιήθηκε στους ενσωματωμένους υπολογιστές Shuttle μέχρι το 1991. Ίσως μια τέτοια μνήμη εξακολουθεί να χρησιμοποιείται σε ορισμένα παλαιότερα συστήματα. Επί του παρόντος, η μνήμη ημιαγωγών ανθεκτική στα ειδικά εφέ έχει ήδη αναπτυχθεί και η εποχή των μαγνητικών πυρήνων έχει φύγει, αλλά ο όρος "υλικολογισμικό"παρέμεινε.

Καύση ROM

"Burn ROM"- εισαγωγή πληροφοριών.

Η μνήμη στους πυρήνες φερρίτη αντικαταστάθηκε από μνήμη RAM ημιαγωγών και μικροκυκλώματα με μήτρες από μεταλλικούς, συχνά νικρωμένους, βραχυκυκλωτήρες μέσα άρχισαν να χρησιμοποιούνται ως ROM. Για να εισαγάγετε πληροφορίες σε τέτοια μικροκυκλώματα, οι πλεονάζοντες βραχυκυκλωτήρες πρέπει να καούν με παλμό ρεύματος. Στη συνέχεια, οι βραχυκυκλωτήρες άρχισαν να χρησιμοποιούνται όχι μόνο από μέταλλο, αλλά και από ημιαγωγούς, με τη μορφή p-nδιασταύρωση ή πολυπυρίτιο, αλλά η αρχή της φυσικής καταστροφής του βραχυκυκλωτήρα ή της διάσπασης της ένωσης από
η επίδραση του τρέχοντος παλμού διατηρήθηκε. Τέτοιες ROM εξακολουθούν να χρησιμοποιούνται σε στρατιωτικά και αεροδιαστημικά συστήματα σήμερα. Όλοι οι προγραμματιστές ChipStar για μικροκυκλώματα ειδικού σκοπού είναι "καίγομαι"τέτοιες ROM.

Εγγραφή, φόρτωση ROM

Σε οικιακές και βιομηχανικές εφαρμογές, όπου οι απαιτήσεις για αντίσταση σε εξωτερικούς παράγοντες είναι χαμηλότερες και οι απαιτήσεις για κόστος και χωρητικότητα μνήμης είναι υψηλότερες, τα τσιπ με βραχυκυκλωτήρες με σύντηξη έχουν αντικατασταθεί από ηλεκτρικά προγραμματιζόμενα τσιπ EPROM και ηλεκτρικά επαναπρογραμματιζόμενα τσιπ EEPROM ROM, και, περισσότερα πρόσφατα, με μάρκες με βάση το FLASH. Με την αλλαγή στην τεχνολογία, άλλαξε και η ορολογία: άρχισαν να μιλούν πιο συχνά γι' αυτό Η ROM "γράφει", ή "φόρτωση", και ο όρος χρησιμοποιείται συχνότερα σε σχέση με την εσωτερική ROM των μικροελεγκτών και το "write" χρησιμοποιείται συχνότερα σε σχέση με αυτόνομα τσιπ μνήμης.

Προγραμματισμός ROM ή μικροελεγκτής

"ROM προγραμματισμού ή μικροελεγκτής"- εισαγωγή πληροφοριών σε ROM ή μικροελεγκτή.

Ορος "προγραμματισμός"επίσης πολύ συχνά εφαρμόζεται στη διαδικασία εγγραφής στη ROM. Και, εάν σε σχέση με τη ROM γίνεται αντιληπτή πάντα ξεκάθαρα, τότε σε σχέση με τους μικροελεγκτές προκύπτει ασάφεια: "Προγραμματισμός του μικροελεγκτή"μπορεί να σημαίνει είτε την εγγραφή ενός έτοιμου κώδικα προγράμματος (εικόνα) στη ROM του μικροελεγκτή χρησιμοποιώντας μια συσκευή υλικού (προγραμματιστής, καλώδιο λήψης), είτε τη διαδικασία ανάπτυξης του ίδιου του προγράμματος.

ΥΣΤΕΡΟΓΡΑΦΟ. ΥΣΤΕΡΟΓΡΑΦΟ

Θα πεις ότι είναι τόσο εύκολο να μπερδευτείς με όλη αυτή την ορολογία και θα έχεις απόλυτο δίκιο. Αλλά στο αγγλόφωνο περιβάλλον όλα δεν είναι καλύτερα! Όχι μόνο είναι όλοι ίδιοι "καίγεται" ("έγκαυμα"), "λήψεις"("Κατεβάστε"), "Ρεκόρ"("γράψτε"), το ίδιο και οι όροι "προγραμματιστής"- το άτομο που αναπτύσσει το πρόγραμμα και "προγραμματιστής"- η συσκευή που εγγράφει αυτό το πρόγραμμα στο μικροκύκλωμα συμβολίζεται με μία λέξη: "προγραμματιστής".

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

Σε αντίθεση με τις προηγουμένως θεωρούμενες «σκληρές» λογικές συσκευές, η αρχή της λειτουργίας των οποίων καθορίζεται μοναδικά από τα χρησιμοποιούμενα στοιχεία και τη μέθοδο σύνδεσής τους, μηχανές μικροπρογραμμάτωνχρησιμοποιώντας το ίδιο κύκλωμα μπορεί να εκτελέσει μια ποικιλία λειτουργιών. Δηλαδή, είναι πολύ πιο ευέλικτα από τα κυκλώματα που βασίζονται στη «σκληρή» λογική. Επιπλέον, ο σχεδιασμός μηχανές μικροπρογραμμάτωνΑπό την άποψη του σχεδιασμού του κυκλώματος είναι αρκετά απλό. Το μειονέκτημα οποιουδήποτε μηχανή μικροπρογραμμάτωνΣε σύγκριση με κυκλώματα που βασίζονται σε «σκληρή» λογική, υπάρχει χαμηλότερη μέγιστη απόδοση και η ανάγκη δημιουργίας ενός χάρτη υλικολογισμικού ROM με μικροπρογραμμάτων, συχνά αρκετά περίπλοκη.

Η πιο κοινή δομή μηχανή μικροπρογραμμάτων(Εικ. 11.15) περιλαμβάνει μόνο τρία στοιχεία: ROM, έναν καταχωρητή με ενεργοποίηση ακμών και γεννήτρια ρολογιού.


Ρύζι. 11.15.

Η ROM έχει (L+M) bit διεύθυνσης και N bit δεδομένων. Ο καταχωρητής εφαρμόζεται με έναν αριθμό ψηφίων (N + L). Τα bit δεδομένων ROM εγγράφονται στον καταχωρητή σε μια θετική άκρη σήμα ρολογιούαπό τη γεννήτρια. Μέρος αυτών των bit (M) χρησιμοποιείται για να σχηματίσει τη διεύθυνση ROM, το άλλο μέρος (N-M) χρησιμοποιείται για τη δημιουργία σημάτων εξόδου. Τα σήματα εισόδου (L) παρέχονται στις εισόδους καταχωρητή και χρησιμοποιούνται σε συνδυασμό με ένα τμήμα των bit εξόδου ROM για να ληφθεί η διεύθυνση ROM.

Το σχήμα λειτουργεί ως εξής. Σε κάθε κύκλο ρολογιού, η ROM παράγει έναν κωδικό δεδομένων, καθορίζοντας έτσι όχι μόνο την κατάσταση των σημάτων εξόδου του κυκλώματος, αλλά και τη διεύθυνση ROM, η οποία θα ρυθμιστεί στον επόμενο κύκλο ρολογιού (μετά την επόμενη θετική άκρη σήμα ρολογιού). Αυτή η επόμενη διεύθυνση επηρεάζεται επίσης από τα σήματα εισόδου. Δηλαδή, σε αντίθεση με το πρόγραμμα αλληλουχίας σημάτων που συζητήθηκε στην προηγούμενη ενότητα, σε αυτήν την περίπτωση οι διευθύνσεις μπορούν να ταξινομηθούν όχι μόνο διαδοχικά (χρησιμοποιώντας έναν μετρητή), αλλά και με αυθαίρετη σειρά, η οποία καθορίζεται από το υλικολογισμικό ROM, που ονομάζεται υλικολογισμικό.

Η προϋπόθεση για τη σωστή λειτουργία του κυκλώματος είναι η εξής. Για μια περίοδο σήμα ρολογιούΟ καταχωρητής και η ROM πρέπει να έχουν χρόνο να λειτουργήσουν. Με άλλα λόγια, το άθροισμα της καθυστέρησης του καταχωρητή και της καθυστέρησης ανάκτησης της διεύθυνσης ROM δεν πρέπει να υπερβαίνει την περίοδο σήμα ρολογιού. Σημειώστε επίσης ότι τα σήματα εισόδου μηχανή μικροπρογραμμάτωνδεν μπορεί να εφαρμοστεί απευθείας στις εισόδους διευθύνσεων της ROM (χωρίς καταχωρητή), καθώς η ασύγχρονη αλλαγή τους (σε σχέση με το σήμα ρολογιού) μπορεί να προκαλέσει μια μεταβατική διαδικασία στις εξόδους δεδομένων ROM ακριβώς τη στιγμή που εγγράφονται τα σήματα εξόδου της ROM στο μητρώο. Ως αποτέλεσμα, ενδέχεται να εγγραφούν εσφαλμένες πληροφορίες στο μητρώο, γεγονός που θα διαταράξει τη λειτουργία ολόκληρου του κυκλώματος. Ο καταχωρητής συγχρονίζει τις αλλαγές στα σήματα εισόδου με το σήμα ρολογιού, ως αποτέλεσμα του οποίου όλα τα bit του κωδικού διεύθυνσης ROM αλλάζουν ταυτόχρονα - κατά μήκος της θετικής ακμής σήμα ρολογιού. Ο καταχωρητής πρέπει να ενεργοποιείται από την άκρη· η χρήση καταχωρητή μανδάλωσης δεν επιτρέπεται, καθώς μπορεί να προκαλέσει μια μεταβατική διαδικασία σαν χιονοστιβάδα.

Οι δυνατότητες ενός τόσο απλού σχήματος αποδεικνύονται πολύ μεγάλες. Για παράδειγμα, μηχανή μικροπρογραμμάτωνμπορεί να παράγει ακολουθίες σημάτων εξόδου ως απόκριση σε μια συγκεκριμένη αλλαγή στα σήματα εισόδου. Μπορεί επίσης να σταματήσει προσωρινά τα σήματα εξόδου μέχρι να φτάσουν τα σήματα εισόδου. Μπορεί να αναλύσει τη διάρκεια του σήματος εισόδου και, ανάλογα με αυτό, να παράγει ορισμένα σήματα εξόδου. Μπορεί να κάνει και πολλά άλλα πράγματα.

Ας διατυπώσουμε διάφορες στοιχειώδεις συναρτήσεις από τις οποίες μπορούν να συντεθούν οι αλγόριθμοι λειτουργίας ενός αυτόματου μικροπρογράμματος (Εικ. 11.16):


Ρύζι. 11.16.
  1. Διαδοχική αναζήτησηΔιευθύνσεις ROM (για παράδειγμα, για την έκδοση μιας ακολουθίας σημάτων εξόδου).
  2. Περιοδική επανάληψη μιας ακολουθίας διευθύνσεων ROM (για παράδειγμα, για επανάληψη μιας ακολουθίας σημάτων εξόδου).
  3. Σταματώντας σε κάποια διεύθυνση ROM (για παράδειγμα, για να περιμένετε να αλλάξει ένα σήμα εισόδου).
  4. Προσωρινή απενεργοποίηση της αντίδρασης στα σήματα εισόδου (για παράδειγμα, προκειμένου να ολοκληρωθεί η επεξεργασία της αντίδρασης σε προηγούμενη αλλαγή στα σήματα εισόδου). Αυτή η λειτουργία δεν φαίνεται στο σχήμα.

Ως παράδειγμα, εξετάστε την εκτέλεση ορισμένων στοιχειωδών συναρτήσεων μηχανή μικροπρογραμμάτων, φαίνεται στο Σχ. 11.17.


Ρύζι. 11.17.

Η ROM έχει οργάνωση 64x8 (μπορεί να είναι δύο τσιπ PE3 ή ένα τσιπ RT18), ο αριθμός των bit καταχωρητή είναι δέκα (μπορεί να είναι δύο τσιπ IR27). Το κύκλωμα έχει δύο σήματα εισόδου και τέσσερα σήματα εξόδου. Μια τέτοια οργάνωση μηχανή μικροπρογραμμάτωνΤο καλό είναι ότι το μικροπρόγραμμα του (δηλαδή το firmware map της ROM) είναι πολύ καθαρό, εύκολο στη σύνθεση και ανάγνωση.

Πίνακας 11.7. Κάρτα υλικολογισμικού ROM 64x8 για μηχανή μικροπρογραμμάτων
Διεύθυνση 0 1 2 3 4 5 6 7 8 9 ΕΝΑ σι ντο ρε μι φά
00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
10 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
20 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
30 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Τα bit εξόδου των δεδομένων ROM χωρίζονται σε δύο ομάδες των 4 σημάτων: τα χαμηλά πηγαίνουν για να σχηματίσουν την επόμενη διεύθυνση ROM, τα υψηλά σχηματίζουν τέσσερα σήματα εξόδου. Τα σήματα εισόδου φτάνουν (μέσω καταχωρητή) στα δύο πιο σημαντικά bit της διεύθυνσης ROM. Εάν απεικονίσουμε τον χάρτη υλικολογισμικού ROM με τη συνήθη μορφή ενός πίνακα τεσσάρων σειρών και 16 στηλών (Πίνακας 11.7), τότε αυτός ο πίνακας θα δείχνει καθαρά τόσο την κατάσταση καθενός από τα εσωτερικά σήματα, όσο και την απόκριση του κυκλώματος σε οποιαδήποτε είσοδο σήμα, καθώς και τις καταστάσεις όλων των σημάτων εξόδου σε κάθε κύκλο ρολογιού.

Πρώτα απ 'όλα, είναι εύκολο να παρατηρήσετε ότι η επιλογή μιας ή άλλης σειράς πίνακα γίνεται από τα πιο σημαντικά bits του κώδικα διεύθυνσης ROM, δηλαδή από τα σήματα εισόδου μηχανή μικροπρογραμμάτων. Έτσι, οποιαδήποτε αλλαγή στα σήματα εισόδου οδηγεί σε μετάβαση σε άλλη γραμμή στον χάρτη υλικολογισμικού. Για παράδειγμα, η γραμμή 00 θα αντιστοιχεί σε μηδενικά σήματα εισόδου μηχανή μικροπρογραμμάτων, και γραμμή 30 - σήματα μονής εισόδου.

Πίνακας 11.8. Παράδειγμα υλικολογισμικού για το κύκλωμα στο Σχ. 11.17
Διεύθυνση 0 1 2 3 4 5 6 7 8 9 ΕΝΑ σι ντο ρε μι φά
00 11 22 33 44 55 66 77 88 99 Α.Α. ΒΒ CC DD Η Ε.Ε. FF 00
10 11 22 33 44 55 66 77 88 99 55 ΒΒ CC DD Η Ε.Ε. FF 00
20 10 21 32 43 54 65 76 87 98 Α9 B.A. C.B. DC ED
mob_info