Kostenlose technische Bibliothek ENZYKLOPÄDIE DER FUNKELEKTRONIK UND ELEKTROTECHNIK ROM-Emulator. Enzyklopädie der Funkelektronik und Elektrotechnik Lexikon der Funkelektronik und Elektrotechnik / Mikrocontroller Der im Artikel beschriebene Emulator kann zusammen mit einem Computer sein ROM während des Debuggens der Software eines Mikroprozessorgeräts ersetzen. Dadurch können Sie das Programm schnell korrigieren und Zeit sparen, die sonst für die Neuprogrammierung des EEPROMs aufgewendet würde. Der Emulator ist relativ langsam, da er über keinen eigenen RAM verfügt. Aber aus dem gleichen Grund ist es einfach und günstig. Eines der Probleme, die bei der Entwicklung von Mikroprozessorgeräten auftreten, ist das Debuggen eines in das ROM geschriebenen Programms. Üblicherweise werden zu diesem Zweck sogenannte reprogrammierbare ROMs (RPZUs) mit Informationslöschung durch ultraviolette Bestrahlung verwendet. Da jede Änderung am Programm dazu führt, dass das EEPROM gelöscht und die Informationen neu geschrieben werden müssen, nimmt das Debuggen viel Zeit in Anspruch. Darüber hinaus muss die Mikroschaltung nach 10 - 25 Zyklen ausgetauscht werden, bei denen die Zuverlässigkeit der Datenspeicherung jeweils abnimmt. Somit wird die kreative Arbeit durch den mühsamen mechanischen Prozess des Überschreibens überschattet, ganz zu schweigen von der finanziellen Seite des Problems – EEPROMs mit UV-Löschfunktion sind nicht billig. Der Emulator hilft bei der Lösung des Problems, dessen schematisches Diagramm in Abb. dargestellt ist. 1. Anstelle eines ROM-Chips mit einer Kapazität von bis zu 64 KByte wird ein XP1-Stecker in das dafür vorgesehene Panel des zu debuggenden Geräts gesteckt. Je nach ROM-Typ kann sich lediglich die Reihenfolge der Verbindung der Emulatordrähte mit den Steckkontakten ändern (die im Diagramm dargestellte entspricht einem 27512-Chip mit einer Kapazität von 64 KB). Der XP2-Stecker wird an die LPT1-Parallelport-Buchse eines beliebigen IBM-kompatiblen Personalcomputers (PC) angeschlossen. Da der Port hauptsächlich für die Datenübertragung an ein externes Gerät (Drucker) gedacht ist, verfügt er über 12 Ausgangsleitungen und insgesamt fünf Eingangsleitungen. Dies erzwingt, dass die vom Computer empfangene 16-Bit-ROM-Adresse gemultiplext wird, was sich natürlich auf die Emulationsgeschwindigkeit auswirkt. Der Emulator besteht aus folgenden Funktionsblöcken: Taktgenerator (DD1.1-DD1.2), Taktsynchronisierer (DD2.2, DD3.1), Triggergerät (DD2.1), Impulszähler (DD4), Blockschreibimpuls Shaper-Adresse (DD1.5, DD3.3), Datenregister (DD5) und Adressmultiplexer (DD6, DD7). Die Arbeit beginnt mit dem Eintreffen eines Low-Level-Signals CS vom Mikroprozessorgerät am Eingang S (Pin 4) des Triggers DD2.1 (die Zeitdiagramme der Signale sind in Abb. 2 dargestellt). Letzterer geht am direkten Ausgang (Pin 1), der mit dem Eingang D (Pin 5) verbunden ist, in einen Zustand über, der der logischen 12 entspricht, und löst DD2.2 aus. Beim Abfall des Taktimpulses (dies wird durch den DD1.4-Wechselrichter bereitgestellt) erscheint auch eine logische 1 am Ausgang (Pin 9) von DD2.2, was den Durchgang von Taktimpulsen zum Ausgang von DD3.1 ermöglicht Element. Sie werden vom Zähler DD4 gezählt, dessen Ausgangssignale der beiden niedrigstwertigen Ziffern die Adressmultiplexer DD6 und DD7 steuern. Die ROM-Adresse wird in vier Vier-Bit-Gruppen an den PC übertragen: A0 – A3, A4 – A7, A8 – A11, A12 – A15. Für den Empfang werden die ERROR-Eingänge verwendet. SLCT-, ACK-, PE-Parallelanschluss. Der Zähler DD4 wird durch Rückkopplungen so abgedeckt, dass sein Umrechnungsfaktor 5 beträgt. So viele Perioden von Taktimpulsen dauert der Emulationszyklus. In den ersten vier Impulsen vom Ausgang des DD3.4-Elements gelangen sie gleichzeitig mit der Umschaltung der Multiplexer am BUSY-Eingang des LPT-Ports. Synchronisieren Sie den Vorgang zum Lesen der Adresse durch den Computer. In der fünften Periode gibt der Computer ein Datenbyte an die Ausgänge DATA1–DATA8 aus, das sich im emulierten ROM an der angegebenen Adresse befinden muss. Dieses Byte wird im Register DD5 gespeichert. Am Ende des Zeitraums kehrt Trigger DD2.1 in seinen ursprünglichen Zustand zurück. Letzteres geschieht zwar nur, wenn das CS-Signal zu diesem Zeitpunkt beendet ist. Andernfalls wiederholt sich der beschriebene Zyklus. Der Emulator ist auf einer doppelseitigen Leiterplatte montiert, deren Zeichnung in Abb. 3 dargestellt ist. 1. Die Platine verfügt über Gruppen von Kontaktpads X4-X1, an denen die Drähte an die Stecker XP2 und XPXNUMX angelötet werden. Anstelle der im Schaltplan angegebenen Mikroschaltungen dürfen deren Funktionsanaloga aus jeder TTL- oder TTLSH-Serie (K155. K555. KR1533. KR531) verwendet werden. Beim Austausch des DD1-Chips kann eine Auswahl von Taktgeneratorelementen (R1, R3, C2) erforderlich sein, deren Emulationsgeschwindigkeit von deren Pulswiederholungsrate abhängt. Es wird nicht empfohlen, die Frequenz über 100 kHz einzustellen, da dies zu Fehlfunktionen führen kann. Der XP1-Stecker kann aus einem defekten EEPROM mit UV-Löschung hergestellt werden. Nachdem Sie das transparente Fenster zerbrochen haben, sollten Sie die dünnen Leiter entfernen, die den Kristall mit den Kontaktflächen des Gehäuses verbinden. Die Kabeldrähte sind so an den äußeren Teil der Anschlüsse angelötet, dass sie das Einsetzen des früheren Mikroschaltkreises in das Panel nicht behindern. Der oben beschriebene Algorithmus des Emulatorbetriebs erfordert die Übertragung des Mikroprozessorgeräts in den Schritt-für-Schritt-Modus. Dies ist praktisch für den ersten „Lauf“ des Programms und die Anfangsphasen seines Debuggens. Um im kontinuierlichen Modus arbeiten zu können, muss der Emulator durch ein Synchronisationsgerät ergänzt und gemäß dem in Abb. gezeigten Schema zusammengebaut werden. 4. Es ist für den Mikroprozessor KR580VM80A mit dem Taktgenerator KR580GF24 konzipiert und wurde auf dem Computer Radio-86RK getestet. Bei anderen Mikroprozessortypen muss der Synchronisierer möglicherweise geändert werden. Die Tabelle zeigt die Vorgehensweise zur ROM-Emulation durch einen Computer mit maximaler Geschwindigkeit. Es ist in der Sprache ASSEMBLY geschrieben, die in das Programmiersystem Borland Pascal integriert ist, und ist für die Verwendung in Programmen vorgesehen, die mit diesem System entwickelt wurden. Die globale Variable pDATA vom Typ Zeiger im Hauptprogramm muss auf die Adresse des ersten Elements des Byte-Arrays gesetzt werden, das das emulierte ROM-Image enthält. Der Datenaustausch erfolgt mit maximaler Geschwindigkeit, indem die Anzahl der Zugriffe auf den PC-Speicher minimiert und Prozessorregister zur temporären Datenspeicherung verwendet werden (der Speicherzugriff dauert um ein Vielfaches länger als ein Register-zu-Register-Vorgang). Die Besonderheit des beschriebenen Verfahrens besteht darin, dass es sich um eine Endlosschleife handelt und aus Gründen der Arbeitsbeschleunigung alle Unterbrechungen, auch solche durch die Tastatur, deaktiviert werden. Daher können Sie die Emulation nur stoppen, indem Sie die „RESET“-Taste des PCs drücken oder ihn ausschalten. Ausgeschlossen ist auch die Anzeige jeglicher Informationen über den Betrieb des zu debuggenden Gerätes auf dem PC-Monitor. Die Beseitigung dieser Mängel liegt in der Macht eines durchschnittlich begabten Programmierers, allerdings nur auf Kosten einer Verlangsamung des Verfahrens. Die in der Befehlszeile oder in der Konfigurationsdatei angegebenen Schlüssel legen den Emulationsmodus fest, wählen Sie die Datei mit dem Bild des emulierten ROM aus. Die Befehlszeile hat Vorrang vor der Konfigurationsdatei. Folgende Schlüssel sind vorgesehen: -sf - die schnellste Emulation (unter Verwendung des oben beschriebenen Verfahrens); -sns – Modus, etwas langsamer als der vorherige, da er die Abfrage der Tastatur und das Beenden durch Drücken der Taste [Esc] ermöglicht; -sp ist der langsamste Modus. Auf dem Monitorbildschirm werden die Adresse jeder ROM-Zelle, auf die das zu debuggende Gerät zugreift, sowie die Daten daraus angezeigt. Der Vorgang des Lesens von Vierteln der Adresse wird ebenfalls angezeigt. Dies ist in der Anfangsphase des Debuggens eines Mikroprozessorgeräts praktisch, da Sie so den Fortschritt seiner Programmausführung überwachen können. -f Dateiname - gibt den Namen der Datei mit dem ROM-Image an: /y – deaktiviert die Kontrolle der Gleichheit der Länge der ROM-Image-Datei mit der Informationskapazität der letzteren; /? - Zeigt Hilfe zu den Betriebsmodi des Emulators an. Durch Drücken der Taste [F2] wird der aktuelle Adresslesevorgang gestoppt und das Programm in den Wartemodus für eine neue versetzt. Ein ROM-Image ist eine Binärdatei, in die alle im emulierten ROM gespeicherten Bytes nacheinander geschrieben werden, in aufsteigender Reihenfolge der Adressen, beginnend bei Null. - Befehlscodes und Daten des debuggten Mikroprozessorgeräts. Beachten Sie, dass Lücken in der Adressfolge nicht zulässig sind. Die Werte in nicht verwendeten Zellen müssen ebenfalls in die Datei geschrieben werden. Eine solche Datei kann mit dem TASM-Cross-Assembler erstellt werden, wenn er über die Befehlszeile aufgerufen wird TASM.EXE -85 -g3 PROG.ASM Dabei legt der Schalter -85 den Prozessortyp (8085) fest, für den das übersetzte Programm PROG.ASM gedacht ist, und -g3 gibt die Ausgabe des Ergebnisses in binärer Form an. Die resultierende PROG.OBJ-Datei kann als ROM-Image für den Emulator dienen. Autoren: S. Belyaev, D. Chernykh, Tambow Siehe andere Artikel Abschnitt Mikrocontroller. Lesen und Schreiben nützlich Kommentare zu diesem Artikel. Neueste Nachrichten aus Wissenschaft und Technik, neue Elektronik: Eine neue Möglichkeit, optische Signale zu steuern und zu manipulieren
05.05.2024 Primium Seneca-Tastatur
05.05.2024 Das höchste astronomische Observatorium der Welt wurde eröffnet
04.05.2024
Weitere interessante Neuigkeiten: ▪ Kompakter Amateur-4K-Camcorder Sony Handycam FDR-AX100E ▪ Die Intelligenz von Staubsaugern ▪ Nike HyperAdapt 1.0 Sneaker mit automatischer Schnürung News-Feed von Wissenschaft und Technologie, neue Elektronik
Interessante Materialien der Freien Technischen Bibliothek: ▪ Abschnitt der Website Standorte von Amateurfunkgeräten. Artikelauswahl ▪ Artikel Mit welchem Müll verscheuchen Stadtvögel Parasiten in ihren Nestern? Ausführliche Antwort ▪ Artikel Controller. Jobbeschreibung ▪ Artikel Subwoofer für ein Auto. Teil 1. Enzyklopädie der Funkelektronik und Elektrotechnik ▪ Artikel Abhängige Verbindung von Lasten. Enzyklopädie der Funkelektronik und Elektrotechnik
Hinterlasse deinen Kommentar zu diesem Artikel: Alle Sprachen dieser Seite Startseite | Bibliothek | Artikel | Sitemap | Site-Überprüfungen www.diagramm.com.ua |