mtr3 Programmiergerät - Emulator

© 2015 by mtr, Dr.-Ing. Roland Ranfft
mtr3, Rev.14, 20.6.90

mtr, Dr.-Ing. Ranfft, Erkelenzer Str. 98, D-41844 Wegberg
Tel  01575 2840629
E-mail: info@ranfft.de
Internet: http://www.ranfft.de

DEUTSCH
ENGLISH


mtr3 EPROM-Programmiergerät

Bedienungsanleitung

____________________________________________________
Inhalt

1  Übersicht
2  Stromversorgung, Inbetriebnahme
3  Benutzerführung
4  Adress-Behandlung
5  Festlegung des EPROM-Typs
6  Typabhängige Funktionen
6.1  Lesen
6.2  Programmieren
6.3  Leertest
6.4  Vergleichen
6.5  Emulieren
7  Speicherfunktionen
7.1  Anzeigen, Ändern
7.2  Suchen
7.3  Füllen
7.4  Verschieben
7.5  Split, Shuffle
8  V.24-Schnittstelle (RS 232 C)
8.1  Format, Protokoll
8.2  Adresseingabe
8.3  Empfang (down load)
8.4  Senden (up load)
8.5  Fernbedienung
8.6  Steckerbelegung der Schnittstelle
9  Betrieb mit Sockeladaptern
10  Fehlermeldungen
11  Austausch des Betriebsprogramms
12  Betriebsstörungen



1 Übersicht

Das mtr3 dient zum Programmieren, Testen, Editieren und Emulieren von EPROMs der Typ-Reihen 25XX und 27XX bis 256Kbit, sowie äquivalenter CMOS-Typen oder EEPROMs. Mit der 1Mbit-Erweiterung mtr3.011 werden zusätzlich die Typen 27512, 27513 und 27011 unterstützt, jedoch ohne Emulationsfunktion. Darüber hinaus sind für viele spezielle Bauelemente Sockeladapter lieferbar.
Da das  einschließlich Prozessor und Analyse-RAM weitgehend in CMOS-Technik aufgebaut ist, besteht die Möglichkeit, es z.B. für Service-Zwecke ausreichend lange mit dem eingebauten Akkumulator zu betreiben.
Die V.24-Schnittstelle ermöglicht die Kommunikation z.B. mit einem Hostrechner, einem Entwicklungssystem oder einem weiteren  in beide Richtungen, notfalls per Akustik-Koppler und Telefon. Das  kann über die Schnittstelle auch gesteuert werden.
Die Bedienung erfolgt unter Benutzerführung mit jederzeit abrufbarer Kurzanleitung über die aktuell verfügbaren Funktionen. Betriebs- und Fehlermeldungen erscheinen in Klartext. Testroutinen zum Schutz von Gerät und Bauelementen erlauben die Inbetriebnahme ohne Vorkenntnisse; denn nach einer Fehlbedienung gibt eine Fehlermeldung Hinweise über die Art des Fehlers.
Von den zu bearbeitenden EPROMs muß nur die auf jedem Exemplar aufgedruckte Typkennzahl (z.B. 2764) bekannt sein, und selbst die wird bei vielen Typen vom  erkannt . Weitergehende Unterschiede werden i.a. automatisch erkannt, so daß auf Datenblätter und Tabellen verzichtet werden kann.
Aufgrund dieser Eigenschaften kann der Umgang mit dem  durchaus ohne diese Anleitung, einfach durch Ausprobieren erlernt werden.


2 Stromversorgung, Inbetriebnahme

Vor der Inbetriebnahme stellen Sie bitte sicher, daß die auf dem Netzadapter angegebene Spannung Ihrer Netzspannung entspricht, und lassen Sie den Adapter ggf. austauschen. Notfalls können Sie aber auch ein handelsübliches Universal-Steckernetzteil verwenden, wenn dies eine Wechselspannung von 6V bis 12V oder eine Gleichspannung von 9V bis 16V bei ca. 300mA abgibt (die Polarität bei Gleichspannung ist ohne Bedeutung).
Sobald das  an den Netzadapter angeschlossen ist, wird die Batterie geladen, gleichgültig ob das  eingeschaltet ist oder nicht. Das Aufladen einer leeren Batterie dauert ca. 20 Stunden. Mit einer vollen Batterie kann ca. eine Stunde lang programmiert werden (reine Programmierzeit). Dies genügt aufgrund der schnellen Programmierverfahren für sehr viele Programmiervorgänge, denn bei allen anderen Funktionen reicht eine Batterieladung für ca. 6 Stunden.
Zwar ist eine Überladung der Batterie nicht möglich, und auch gelegentliches Tiefentladen der Batterie führt nicht zu Schäden. Dennoch sollten im Sinne einer hohen Lebensdauer sowohl ständige Dauerladung als auch regelmäßige
Tiefentladung vermieden werden.
Nach dem Einschalten des  läuft zunächst ein Selbsttest ab und es erscheint eine Copyright-Meldung. Ggf. wird durch eine zusätzliche Meldung darauf hingewiesen, daß eine Speichererweiterung eingebaut ist und getestet wird. Nach wenigen Sekunden wird im Wechsel "Taste D: Deutsch" und "key E: English" angezeigt. Drückt man z.B. die D-Taste, so werden alle weiteren Texte in deutscher Sprache angezeigt.


3 Benutzerführung

Im folgenden wird eine Tastenbetätigung durch <TASTE> und ein Anzeigeinhalt durch "Anzeige" gekennzeichnet.
Die Bedienung erfolgt mit Hilfe von Menues. Mit den Pfeiltasten kann eine Funktion oder ein Wert aus einem Menue gewählt werden. Mit <ENTER> wird die angezeigte Funktion gestartet bzw. der Wert festgelegt; wird die Auswahl nicht mit <ENTER> abgeschlossen, so werden Funktion bzw. gewählter Wert ignoriert. Mit <EXIT> ist jederzeit die Rückkehr zum Hauptmenue möglich.
Ist eine Zahleneingabe notwendig oder möglich, so wird dies durch einen blinkenden Cursor angezeigt; Adressen und Daten müssen hexadezimal eingegeben werden. Auch Zahleneingaben werden ignoriert, wenn die Eingabe nicht mit <ENTER> abgeschlosssen wird. Wird bei der Eingabe die zulässige Feldlänge überschritten, so wird das Feld gelöscht und eine erneute Eingabe ist möglich. Die Eingabe unzulässiger Adressen (z.B. Ende vor Start) wird durch Fehlermeldungen verhindert.
Zu jedem Menue gibt es eine Kurzanleitung am Menue-Anfang. Da beim Start einer Funktion durch <ENTER> ein Sprung zum zweiten Menuetext dieser Funktion erfolgt, kann die Kurzanleitung direkt nach dem Start mit <é> abgefragt werden; aber auch von jeder anderen Stelle aus wird durch mehrfaches Drücken von <é> der Menue-Anfang, also die Kurzanleitung erreicht.
Meldungen werden durch einen Piep-Ton angekündigt. Sie müssen durch Drücken irgendeiner Taste quittiert werden, gleichgültig, ob es sich um einen Betriebshinweis (kurzer Dauerton) oder eine Fehlermeldung (langer intermittierender Ton) handelt.
Ist keine Zifferneingabe vorgesehen (kein Cursor), so kann man mit den Ziffern-Tasten <0>...<F> direkt einen der ersten 16 Texte eines Menues wählen.


4 Adress-Behandlung

Da das Analyse-RAM gleichzeitig zur Emulation dient, sind eingegebene Start- und Endadressen gleichermaßen für EPROM und RAM gültig. Dies vereinfacht zusätzlich die Bedienung, da man das RAM jederzeit als Kopie des zu bearbeitenden EPROM betrachten kann. Dafür erfordert die Datenübertragung von mehreren kleinen EPROMs auf ein größeres gesonderte Adressverschiebungen.
Der Speicherraum seitenadressierter EPROMs (27513, 27011) wird fortlaufend im Adressraum des -RAM abgebildet; d.h. Seite 0 belegt dem Bereich 00...3FFF, Seite 1 den Bereich 4000...7FFF usw.

Beispiel 4

Der Inhalt von zwei EPROMs 2716 soll auf ein 2732 übertragen werden:
1) Mit "Lesen" die Daten des 2716 einlesen, die auf die obere Hälfte (Adressbereich 07FF...0FFF) des 2732 übertragen werden sollen.
2) Mit "Verschieben" die gelesenen Daten vom Bereich 00...07FF auf den Bereich 0800...0FFF verschieben, der der oberen Hälfte des 2732 entspricht.
3) Mit "Lesen" die Daten des anderen 2716 einlesen, die auf die untere Hälfte (Adressbereich 00...07FF) des 2732 übertragen werden sollen.
4) Mit "Typ eingeben" auf den Typ 2732 wechseln.
5) Mit "Programmieren" kann der gesamte Datensatz vom Adressbereich 00...0FFF auf den 2732 übertragen werden.


5 Festlegung des EPROM-Typs

Die erste Funktion im Hauptmenue ist "Typ eingeben". Die EPROM-Typ-Nummer kann mit den Pfeiltasten aus dem Menue ausgewählt werden. Das Menue enthält in der Regel nur die Kenn-Nummer, nicht aber Zusätze, die die Programmierspannung oder den Herstellungsprozess kennzeichnen. Entsprechend können nach Wahl des Typs 2764 ebenfalls z.B. die Typen 2764A und 27C64 mit beliebiger Programmierspannung Vpp bearbeitet werden oder sogar ein 87C64 (27C64 mit Multiplex-Bus).
Die Wahl der Programmierspannung sowie die Anpassung an herstellerspezifische Unterschiede bei der Zugriffs-Steuerung erfolgen automatisch. Ausnahmen, die trotz dieser Anpassungsmöglichkeiten nicht zum üblichen Industriestandard kompatibel sind, stehen am Ende des Menues. So erfordert etwa der ältere TI-Typ TMS2732 ein spezielles Programmierverfahren; dagegen kann der Typ TMS2732A wie andere 2732 bearbeitet werden. Weiter stehen am Menueende gebräuchliche
EEPROM-Typen, die ebenfalls mit speziellen Algorithmen bearbeitet werden.
Das mtr 3 enthält eine Typkode-Tabelle, die laufend aktualisiert wird. EPROMs mit einem Typkode (silicon signature), der in der Tabelle enthalten ist, werden automatisch erkannt, wenn man sie vor dem Start einer typabhängigen Funktion (Abschn.6) in den Sockel steckt.
Die eingegebene oder automatisch erkannte Typ-Nummer bleibt bis zur Neueingabe oder bis zur automatischen Erkennung eines anderen Typs erhalten. Wird eine typabhängige Funktion mit <ENTER> gestartet, so erscheint in der Anzeige kurzzeitig die aktuell gültige Typ-Nummer; auf die automatische Typerkennung wird durch einen Piepton und die zusätzliche Anzeige des Hersteller-Namens hingewiesen. Wurde seit dem Einschalten weder durch Eingabe noch durch Erkennung der Typ festgelegt, so erscheint die Fehlermeldung "Typ eingeben" und die Typ-Eingabe kann sofort mit <ENTER> gestartet werden.

Beispiel 5

Es sollen mehrere EPROMs vom Typ 2764 mit dem Inhalt eines Muster-EPROMs programmiert werden:
1) Aus Hauptmenue "Typ eingeben" wählen und mit <ENTER> starten.
Neue Anzeige: "2716".
2) Mit <ê> Anzeige "2764" wählen und mit <ENTER> diesen Typ festlegen. Neue Anzeige: "Lesen"; man kann nun sofort mit dem Lesen des Muster-EPROMs
fortfahren und später die Duplikate erstellen.
3) Versehentlich wird ein Intel D27128A in den Sockel gesteckt. Nach Start der Programmierung erscheint "27128 Intel", begleitet von einem Signalton.
4) Man muß nun erneut bei 1) beginnen, da durch die Typerkennung auf den Typ 27128 gewechselt wurde.


6 Typabhängige Funktionen

Aus dem Hauptmenue kann eine der folgenden Funktionen zur EPROM-Bearbeitung ausgewählt werden:

1) Lesen,
2) Programmieren,
3) Leertest,
4) Vergleichen,
5) Emulieren.
Mit <ENTER> wird die gewählte Funktion gestartet und in der Anzeige erscheint kurzeitig der zuletzt festgelegte Typ, bzw. wenn sich ein EPROM mit Typkode (silicon signature) im Sockel befindet, dessen Typ- und Hersteller-Angabe. Anschließend erscheint der zweite Menuetext zu dieser Funktion; der erste Text ist die Kurzanleitung, die also mit <é> abgefragt werden kann.
Wird eine Funktion bis zum Ende fehlerfrei abgearbeitet, so erscheint eine Schlußmeldung mit der Prüfsumme des bearbeiteten Datensatzes (vierstellige arithmetische Summe aller Daten-Bytes ohne Überträge).
Nach Abarbeitung der Funktion erfolgt normalerweise ein Rücksprung ins Hauptmenue an die ursprüngliche Stelle, d.h. nach Abschluß einer Programmierung und Löschen der Prüfsumme durch irgendeine Taste erscheint wieder "Programmieren" und es kann sofort das nächste EPROM programmiert werden.
Eine Ausnahme bildet die häufig benötigte Folge: Typ eingeben, Muster lesen, Duplikate erstellen. Entsprechend steht in der Anzeige nach Abschluß der Typeingabe "Lesen" und nach dem Lesen "Programmieren".

6.1 Lesen

Ein Quell-EPROM (Master) kann wahlweise ganz oder teilweise gelesen werden; d.h. sein Inhalt wird in das RAM übertragen. Das Menue enthält die Angabe "Komplett" und die Eingabefelder für Start- und Endadresse. Mit <ENTER> nach "Komplett" wird das EPROM vollständig gelesen. Nach <ê> erscheint zunächst "Startadr.=00"; diese Vorgabe kann durch Zahleneingabe überschrieben werden. Nach <ENTER> erscheint dann "Endadr.=aaaaaa" mit der typspezifischen Höchstadresse aaaaaa, die ebenfalls überschrieben werden kann. Nach <ENTER> wird
dann der so spezifizierte Bereich gelesen.
Wie bereits erwähnt, wird nur eine mit <ENTER> abgeschlossene Eingabe akzeptiert; fährt man also nach einer Startadress-Eingabe mit <ê> fort, so bleibt
die Startadresse 00.

Beispiel 6.1

Ein 2764 soll vollständig gelesen werden:
1) Aus Hauptmenue mit Pfeiltasten "Lesen" wählen.
2) <ENTER>  ->  kurzzeitig "2764", dann "Komplett".
3) <ENTER>  ->  kurzzeitig "Warten", dann "Prüfsumme".
4) <Taste>  ->  "Programmieren" (Hauptmenue).

6.2 Programmieren

Ein Ziel-EPROM kann wahlweise ganz oder teilweise (vgl. 6.1) programmiert werden; d.h. der RAM-Inhalt wird in das EPROM übertragen. Hierfür kann einer der folgenden Programmieralgorithmen gewählt werden:

1) "inteligent" (nach Intel): Es wird zunächst mit 1ms-Pulsen programmiert. Steht nach n Pulsen das Daten-Byte korrekt im EPROM, so wird zusätzlich mit einem Puls der Dauer 3n x 1ms nachprogrammiert.
2) Schnell (mtr): Wie "inteligent", jedoch mit einer Zeitbasis von 0,1ms anstelle von 1ms.
3) "Quick-Pulse" (nach Intel): Es wird mit 0,1ms-Pulsen programmiert, bis das Daten-Byte korrekt im EPROM steht; eine Nachprogrammierung erfolgt nicht. Dieser Algorithmus ist derzeit nur für wenige Intel-Typen zugelassen;
dieser Algorithmus sollte aus Gründen der Datensicherheit bei EPROMs mit Vpp=21V oder 25V nicht verwendet werden.
4) "Quick Pro" (nach Fujitsu): Wie "inteligent", Nachprogrammierdauer jedoch nur n x 1ms.
5) Standard (50ms): Programmierung mit 50ms je Byte. Dieser bei weitem langsamste Algorithmus bietet durchaus nicht immer die größte Datensicherheit.

Vor der Programmierung wird geprüft, ob der zu programmierende Bereich gelöscht ist. Erscheint "nicht gelöscht", so kann die Programmierung mit <EXIT> abgebrochen oder mit irgendeiner anderen Taste dennoch gestartet werden; allerdings erlaubt die Programmierung je Bit nur den Wechsel von 1 (gelöscht) auf 0 (programmiert), sie wird daher mit einer Fehlermeldung abgebrochen, wenn ein Byte nicht programmierbar ist.
Die Datensicherheit der programmierten EPROMs hängt ganz erheblich von der Versorgungsspannung Vcc ab, bei der verifiziert (geprüft und für richtig befunden) wird. Z.B. kann eine auf Null programmierte Speicherzelle bei Vcc=5V korrekt als 0 gelesen werden, bei zunehmender Spannung Vcc aber als gelöscht (Bit=1) erscheinen, da die ausgelesene Information von der Differenz zwischen Vcc und der (durch die Programmierung verschobenen) Schwellspannung der Speicherzelle abhängt. Deshalb verifiziert das  bei Vcc=6V, wie von den meisten Halbleiterherstellern empfohlen; dieser Wert bietet ein Optimum an Datensicherheit auch mit den modernen Schnellprogrammierverfahren.
Da die Verifizierung der einzelnen Bytes direkt nach der Programmierung keine Sicherheit gegen eine spätere Änderung durch Zellenkopplung oder Adressbusfehler bietet, wird der gesamte Datensatz nach dem Ende der Programmierung nochmals unter normalen Betriebsbedingungen geprüft (Vcc=5V, Vpp abgeschaltet).
Mit Ausnahme des "Quick-Pulse" wird bei allen Algorithmen die Datensicherheit durch zusätzliche Programmierimpulse nach bereits korrekter Verifizierung erhöht; beim "Quick-Pulse"-Algorithmus ist daher Vorsicht bei EPROMs geboten, für die er vom Hersteller nicht zugelassen wird. Je nach innerem Aufbau der Programmierlogik des EPROMs kann das Verifizier-Ergebnis von der Programmierspannung abhängen, d.h. ein bei anliegender Programmierspannung korrekt als 0 gelesenes Bit kann ohne Programmierspannung (Normalbetrieb) als unprogrammiert (=1) gelesen werden. Da dieser Einfluß von Vpp jedoch gering ist, können EPROMs mit Vpp=12,5V i.a. mit "Quick-Pulse" programmiert werden.
Die übrigen Algorithmen sind dagegen hinsichtlich der Datensicherheit etwa gleichwertig. Insbesondere bietet der mtr-Schnell-Algorithmus etwa die gleiche Datensicherheit wie der weit verbreitete "inteligent"-Algorithmus, ist aber doppelt bis zehnfach schneller (typisch etwa vierfach); er kann daher für nahezu jedes EPROM empfohlen werden.
Dennoch ist es sicher nicht falsch, genau das Programmierverfahren zu verwenden, das der jeweilige Hersteller vorschlägt, um dessen Angaben über die Datenzuverlässigkeit sicherzustellen. Andererseits ist es dort, wo die Langzeit-Datensicherheit nicht im Vordergrund steht, wie etwa in der Entwicklung, durchaus sinnvoll, durch Verwendung des schnellsten Algorithmus ("Qick-Pulse") Zeit zu sparen; z.B. werden dann für einen 27128 nur ca. 10s benötigt, zwei Sekunden für die Programmierung selbst und acht Sekunden für die in allen
Algorithmen durchgeführten umfangreichen Tests:

1) Tests vor der Programmierung:
1.1) Versorgungsstrom prüfen.
1.2) Ist der Datenbus hochohmig, wenn kein EPROM-Zugriff erfolgt?
1.3) Sind die Datenbuspegel bei einem EPROM-Zugriff logisch definiert?
1.4) Adressbus auf Kurzschlüsse prüfen.
1.5) Sind alle zu programmierenden Bytes gelöscht?
1.6) Vcc auf 6V erhöhen und Versorgungsstrom erneut testen.2) Tests während der Programmierung (je Byte):
2.1) Adressbus auf Kurzschlüsse prüfen (Stichproben).
2.2) Ist der Datenbus während des Programmierimpulses als Eingang geschaltet?
2.3) Ist das Byte programmierbar?
2.4) Automatische Bestimmung der zum Verifizieren erforderlichen Signale.
2.5) Verifizieren und ggf. weiter programmieren.
2.6) Test auf Maximalwerte für Impulsdauer und Anzahl.
2.7) Automatische Bestimmung von Vpp, solange die Programmierung erfolglos.
Es wird ein recht komplizierter Algorithmus verwendet, da viele EPROMs
bei zu geringer Programmierspannung nicht verifiziert werden können.

3) Tests nach der Programmierung:
3.1) Vcc auf 5V verringern und warten bis Vcc stabil.
3.2) Adressbus auf Kurzschlüsse prüfen.
3.3) Gesamten programmierten Bereich verifizieren.

Für einen Aufwand von acht Sekunden beim 27128 erhält man also nicht nur ein programmiertes, sondern auch ein sorgfältig getestetes EPROM. Außerdem ist es aufgrund dieser Tests nahezu unmöglich, irgendein Bauelement, das in den -Sockel paßt, zu beschädigen, weil nach einer Fehlererkennung sofort Vcc abgeschaltet wird und Vpp nur angelegt wird, wenn das Bauelement sich hinsichtlich der Adress-, Daten- und Zugriffsanschlüsse so verhält wie das per Typ-Eingabe festgelegte EPROM.

Beispiel 6.2

Von mehreren 2764 soll die erste Hälfte (00...0FFF) unter Verwendung des mtr-Schnell-Algorithmus programmiert werden:
1) Aus Hauptmenue "Programmieren" wählen.
2) Erstes EPROM einsetzen
3) <ENTER>  ->  kurzzeitig "2764", dann "inteligent (Intel)".
4) <ê>  ->  "Schnell (mtr); 0,1ms, sonst...".
5) <ENTER>  ->  "Komplett".
6) <ê>  ->  "Startadr.= 00".
7) <ENTER>  ->  "Endadr. = 01FFF" (Endadr. 2764).
8) <F><F><F>  ->  "Endadr. = FFF " (1. Hälfte 2764).
9) <ENTER>  ->  "Warten" (Programmierzeit), dann "Prüfsumme".
10) EPROM herausnehmen und nächstes einsetzen; für alle weiteren EPROMs genügt die nachstehende Bedienung.
11) <Taste>  ->  "Programmieren".
12) <ENTER>  ->  kurzzeitig "2764", dann "Daten wie zuvor".
13) <ENTER>  ->  "Warten" (Programmierzeit), dann "Prüfsumme".

6.3 Leertest

Ein EPROM kann wahlweise ganz oder teilweise (vgl. 6.1) auf Löschung geprüft werden. Als Ergebnis wird nur gemeldet, ob der spezifizierte Bereich gelöscht ist (Prüfsummenanzeige) oder nicht ("nicht gelöscht"). Der Leertest wird zwar vor jeder Programmierung automatisch durchgeführt, ist aber dennoch als separate Funktion sinnvoll, z.B. um EPROMs nach dem Löschen zu prüfen.

Beispiel 6.3

Mehrere 2764 sollen nach der Löschung vollständig geprüft werden:
1) Aus Hauptmenue "Leertest" wählen.
2) EPROM einsetzen.
3) <ENTER>  ->  kurzzeitig "2764", dann "Komplett".
4) <ENTER>  ->  kurzzeitig "Warten", dann ggf. "nicht gelöscht"
oder "Prüfsumme" (falls gelöscht).

6.4 Vergleichen

Der Inhalt eines EPROMs kann wahlweise ganz oder teilweise (vgl. 6.1) mit dem RAM-Inhalt verglichen werden. Abweichungen werden im Format "aaaaaa:E=ee,R=rr" angezeigt, wobei aaaaaa die Adresse, ee die EPROM-Daten und rr die RAM-Daten sind. Mit den Pfeiltasten kann die Liste aller Abweichungen vorwärts bzw. rückwärts abgefragt werden. Die Startadresse für die Abfrage kann per Tastatur eingegeben werden; nach <ENTER> werden dann EPROM- und RAM-Daten dieser
Startadresse angezeigt. Wurde keine Abweichung festgestellt, so erscheint nach Abschluß des Vergleichs "Prüfsumme".

Beispiel 6.4


Ein im Service veränderter 2764 soll mit dem ursprünglichen Original verglichen werden:
1) Original lesen, aus Hauptmenue "Vergleichen" wählen.
2) EPROM mit unbekannter Änderung einsetzen.
3) <ENTER>  ->  kurzzeitig "2764", dann "Komplett".
4) <ENTER>  ->  kurzzeitig "Warten", dann "Abweichungen".
5) <Taste>  ->  "aaaaaa:E=ee,R=rr", mit der gesuchten Adresse aaaaaa, den Originaldaten rr und dem geänderten Byte ee.

6.5 Emulieren


*** Achtung: Ein zuverlässiger Schutz gegen Verpolung ist mit vertretbarem Aufwand nicht möglich. Bei Verpolung der Versorgungsspannung über das DIL-Kabel
sind daher Schäden am Zielsystem oder am  nicht auszuschließen.

Beim Betrieb des  als EPROM-Emulator wird der u.U. zuvor bearbeitete RAM-Inhalt als Inhalt des nachzubildenden EPROMs verwendet. Bauelemente, deren Bearbeitung die 1Mbit-Erweiterung .011 erfordert, können nicht emuliert werden.
Vor dem Start der Funktion sollte der -Sockel leer sein. Nach dem Start der Funktion durch <ENTER> erscheint zunächst kurz die Typ-Nr. und dann eine Anleitung auf der Anzeige. Wird nun der Sockel des  über ein 24- bzw. 28-poliges DIL-Kabel mit dem Zielsystem verbunden, so verhält sich diese Anordnung wie ein EPROM mit einer Zugriffzeit von 180ns, solange 5V am Vcc-Anschluß (24 oder28) registriert werden.
Die Tastatur ist solange gesperrt, worauf durch "EXIT gesperrt" hingewiesen wird. Nach Abschalten des Zielsystems und Auftrennen der Verbindung zum  kann der Emulator-Modus mit <EXIT> wieder verlassen werden.
Die Emulatorfunktion ermöglicht das Ändern und das Austesten der Änderungen, ohne daß jedesmal erneut ein Test-EPROM programmiert werden muß. Es ist allerdings zu beachten, daß das  das Zielsystem anders belastet als ein reales EPROM. Die Emulation ist keine exakte Nachbildung des simulierten EPROM. Neben der begrenzten Zugriffzeit und der Belastung der Enable-Anschlüsse gibt es weitere geringfügige Unterschiede, die zu Problemen führen können:
Solange die Emulationsfunktion nicht aktiviert wurde, liegen aufgrund der Tastensteuerung des  Spannungen hochohmig an einigen Adressleitungen;
diese können u.U. auf den Reset-Eingang des Zielprozessors gelangen, so daß dieser nicht ordnungsgemäß nach dem Einschalten startet; Abhilfe schafft man hier durch Hardware-Reset nach dem Einschalten des Zielsystems.
Zwischen dem Registrieren der eingeschalteten Versorgungsspannung des Zielsystems und der Aktivierung der Emulatorfunktion liegt eine Verzögerung bis zu 1ms. Dies ist insofern unproblematisch, als Prozessorschaltungen in der Regel eine weit höhere Verzögerung zwischen Einschalten der Versorgung und System-Reset aufweisen.
In umfangreichen Systemen treten aufgrund hoher Leitungsimpedanzen Einschwingvorgänge auf Adress- und Enable-Leitungen auf; die Erhöhung der Impedanzen durch das Emulatorkabel kann dann dazu führen, daß die Spannungen an diesen Leitungen nicht rechtzeitig vor dem Prozessorzugriff stabil anliegen.
Besonders kritisch sind diesbezüglich Enable-Leitungen, da hier (im Gegensatz zu den Adressleitungen) die volle Zugriffzeit eingeht. In so einem Fall hilft oft ein kürzeres Emulatorkabel oder kleine Kapazitäten (20...50pF) zwischen Enable-Eingängen und Masse.

Beispiel 6.5

Ein im Service verändertes 2764-Programm befindet sich im -RAM.
Die Auswirkung der Änderung soll untersucht werden:
1) Aus Hauptmenue "Emulieren" wählen.
2) <ENTER>  ->  kurzzeitig "2764", dann kurzzeitig "Warten", dann "Hilfe: -RAM laden ....".
3) Die Laufschriftanzeige der Emulationsanleitung zeigt an, daß die Emulations funktion verfügbar ist. Der -Sockel wird nun über ein 28-poliges DIL-Kabel mit dem 2764-Sockel des Zielsystems verbunden. Das Zielsystem muß noch abge schaltet sein, da es erst nach der Verbindung mit dem Emulator () die zum ordnungsgemäßen Start notwendigen Startvektoren lesen kann.
4) Zielsystem einschalten  ->  "EXIT gesperrt". Das Zielsystem startet mit dem im -RAM befindlichen Programm und kann damit getestet werden.
5) Zielsystem abschalten  ->  "Emulationsanleitung" zeigt an, das das Ziel system spannungslos ist.
6) DIL-Kabel herausziehen.
7) <EXIT>  ->  kurzzeitig "Warten", dann "Emulieren" (Hauptmenue).


7 Speicherfunktionen


Aus dem Hauptmenue kann mit den Pfeiltasten eine der folgende Funktionen zur Bearbeitung der im -RAM befindlichen Daten ausgewählt werden:

1) Anzeigen, Ändern (Editor),
2) Suchen,
3) Füllen,
4) Verschieben.
5) Split, Shuffle

Diese Funktionen beziehen sich allein auf die Bearbeitung der RAM-Daten, erfordern also keine Typ-Eingabe. Bei Nutzung dieser Funktionen sollte der Programmiersockel frei bleiben; allerdings führt die Belegung des Sockels nicht zu Fehlern, sondern schlimmstenfalls zum Hinweis "Sockel freimachen".
Mit <ENTER> wird die gewählte Funktion gestartet und in der Anzeige erscheint der zweite Menuetext zu dieser Funktion (der erste Text ist wieder die Kurzanleitung).
Nach Abarbeitung der Funktion wird mit "Prüfsumme" die Summe aller bearbeiteten Daten-Bytes angezeigt. Nach Quittierung dieser Meldung mit einer beliebigen Taste erfolgt ein Rücksprung ins Hauptmenue an die ursprüngliche Stelle, d.h. nach Abschluß z.B. einer Verschiebung erscheint wieder "Verschieben".

7.1 Anzeigen, Ändern


Mit der Editierfunktion kann der RAM-Inhalt angezeigt und geändert werden. Anzeigen und Eingaben erfolgen dabei hexadezimal. Nach dem Start der Funktion erscheint in der Anzeige "A=aaaaaa D=dd"; darin ist aaaaaa (beim Start 00) die zuletzt eingegebene Adresse und dd der zugehörige Datenwert.
Jeweils nach Eingabe einer Adresse springt der Cursor in das Datenfeld und dessen Inhalt (dd) kann überschrieben werden. Nach Eingabe eines Datenwertes wird die Adresse um eins erhöht. Jede Eingabe muß durch <ENTER> abgeschlossen werden, anderenfalls wird der eingegebene Wert ignoriert bzw. bei Fortsetzung der Eingabe erneut überschrieben. Wurde vor <ENTER> kein Adress- oder Datenwert eingegeben, so bleibt der alte Wert erhalten.
Mit den Pfeiltasten kann zwischen Adress- und Datenfeld gewechselt werden und die Adresse um eins erhöht bzw. verringert werden. Nur direkt nach dem Start kann mit <é> der Hilfs-Text abgefragt werden.

Beispiel 7.1


Der Datenwert 5D auf der Adresse 0F10 soll auf 0D geändert werden (XX bzw. YY sind die Datenwerte der Adressen 00 bzw. 0F11):
1) Aus Hauptmenue "Anzeigen, Ändern" wählen.
2) <ENTER>  ->  "A=00 D=XX".
3) <F><1><0>  ->  "A=F10 D=XX".
4) <ENTER>  ->  "A=0F10 D=5D".
5) <D>  ->  "A=0F10 D=D ".
6) <ENTER>  ->  "A=0F11 D=YY".

7.2 Suchen

Nach Eingabe von Start- und Endadresse sowie einer Folge von bis zu vier Daten-Bytes (Eingaben durch <ENTER> abschließen!) wird der so spezifizierte Bereich des RAM nach der Datenfolge abgesucht. Ist die Suche erfolgreich, so wird die Funktion Anzeigen/Ändern (s.o.) bei der Startadresse der gefundenen Datenfolge gestartet. Abweichend von der o.g. Beschreibung der Editierfunktion kann nun mit <ENTER> ohne vorherige Zahleneingabe die Suche fortgesetzt werden. Werden keine Übereinstimmungen gefunden, so erscheint die Meldung "Nicht gefunden".

7.3 Füllen


Nach Eingabe von Start- und Endadresse sowie eines Daten-Byte (Eingaben durch <ENTER> abschließen!) wird der so spezifizierte Bereich des RAM mit dem Daten-Byte-Wert gefüllt. Nach Abschluß der Funktion steht in der Anzeige die Prüfsumme des gefüllten Bereichs, die allerdings meist keine praktische Bedeutung hat.

7.4 Verschieben

Nach Eingabe von Start- und Endadresse des Quellbereichs und der Startadresse des Zielbereichs wird der Inhalt des Quellbereichs auf den Zielbereich verschoben. Unabhängig von den Adresswerten (auch bei Überschneidung von Quell- und Zielbereich) bleibt der verschobene Datensatz unverändert.

Beispiel 7.4

Die untere Hälfte 00...3FFF des RAM-Bereichs soll auf die obere 4000...7FFF verschoben werden, um einen nicht verfügbaren 27128 durch einen 27256 zu ersetzen:
1) Aus Hauptmenue "Verschieben" wählen.
2) <ENTER>  ->  "Startadr.=00".
3) <ENTER>  ->  "Endadr. =7FFF" (bei 1MBit-Erweiterung: 01FFFF).
4) <3><F><F><F>  ->  "Endadr. =3FFF".
5) <ENTER>  ->  "Zieladr. =00".
6) <4><0><0><0>  ->  "Zieladr. =4000".
7) <ENTER>  ->  kurzzeitig "Warten", dann "Prüfsumme".

7.5 Split, Shuffle

Nach <ENTER> steht ein Menue mit folgenden Funktionen zur Unterstützung größerer Wortlängen als 8bit zur Verfügung:

1) Split: Mit dieser Funktion werden Bytes aus geraden Adressen (00, 02...) fortlaufend auf die untere Hälfte des RAM transformiert und Bytes aus ungeraden auf die obere Hälfte ab 4000 (10000 bei RAM-Erweiterung). Man kann so ein 16bit-Programm, das sich in einem EPROM für ein System mit 8bit-Datenbus befindet (z.B. 8088-Prozessor) auf zwei EPROMs für ein äquivalentes System mit 16bit-Datenbus aufteilen (z.B. 8086-Prozessor). Durch mehrmalige Anwendung der Funktion werden so Wortlängen von 8, 16, 32, 64bit ... unterstützt.

2) Shuffle: Dies ist die Umkehrung der split-Funktion.

3) Tauschen: Es werden untere und obere RAM-Hälfte gegeneinander ausgetauscht. Diese Funktion ist erforderlich, um beide Hälften zu bearbeiten. Würde man etwa die Funktion Verschieben (7.4) verwenden, um die obere Hälfte auf die untere zu transformieren, so ginge die ursprünglich untere Hälfte verloren.


8 V.24-Schnittstelle (RS 232 C)

Da der Stromverbrauch der Schnittstelle relativ hoch ist wird sie zugunsten eines langen Batteriebetriebs abgeschaltet, wenn sie nicht benötigt wird; dies führt bei vielen MSDOS-Rechnern zu Fehlern beim Empfang des ersten Zeichens. Durch Auswahl von "Normal: V.24 ein" (Ende Hauptmenue) und <ENTER> erreicht man, daß die Schnittstelle ständig eingeschaltet bleibt. Entsprechend wird mit "Normal: V.24 aus" und <ENTER> der ursprüngliche Zustand wiederhergestellt.
Nach Auswahl von "Datenübertragung" und <ENTER> erfolgt ein Sprung auf "Adressbereiche"., und man kann nach <ENTER> mit der Adresseingabe fortfahren. Wurden seit dem Einschalten des  Format und Protokoll noch nicht festgelegt, so erscheint die Fehlermeldung "Format,Protokoll" und die erforderliche Funktion kann sofort mit <ENTER> gestartet werden. Sollen bereits eingegebene Parameter geändert werden, so erreicht man diese Funktion mit <é> und <ENTER>.

8.1 Format, Protokoll

Die Übertragungsparameter müssen nach dem Einschalten des  mindestens einmalig eingestellt werden und bleiben bis zur Neueingabe gültig. Zunächst wird aus dem Menue eines der folgenden Datenformate ausgewählt:

1) Intel-Hex,
2) Motorola-S19 (S-record),
3) Standard Tekhex (Tektronix, Millenium),
4) ASCII-Hex; Empfang: mit oder ohne beliebige Trennzeichen,
Senden: mit einer Leerstelle nach je zwei Zeichen (einem Byte),
5) Binär (8 bit), hier sind natürlich keine Steuerzeichen zulässig.

Lauffähige Programmdateien liegen meist in einem der ersten drei Formate im Hostrechner vor. Auch bei der Datenfernübertragung (DFÜ, z.B. über Akustikkoppler) und bei der Archivierung von EPROM-Dateien (z.B. auf Disketten) sollten diese Formate verwendet werden, da sie eine ausreichend sichere Fehlererkennung bieten.
Die beiden anderen Formate sind dann nützlich, wenn der Hostrechner kein Standard-Kopierprogramm für die serielle Schnittstelle bietet. Man kann dann z.B. die Datei in den Arbeitsspeicher übertragen und von dort mit einer Binär- oder ASCII-Dump-Routine zum .
Nach der Festlegung des Datenformats wird die Baudrate gewählt. Üblicherweise verwendet man 9600 Baud. 300 Baud, aber auch 75 und 1200 Baud werden
für DFÜ-Zwecke benötigt. Bei der Datenausgabe auf einem Drucker ohne Hardware-Handshake-Signale kann man sich meist mit 75 Baud behelfen.
Anschließend wird die Wortlänge (7 oder 8bit) eingestellt, sofern nicht zuvor das Binärformat gewählt wurde (immer 8bit). Diese Bitzahl betrifft lediglich das Senden; beim Empfang erfolgt die Anpassung an die Wortlänge automatisch (s.u.)
Zum Schluß muß noch zwischen Hardware- und XON/XOFF-Handshake gewählt werden. Die Besonderheiten der Handshake-Verfahren sind in Abschn. 8.3 und 8.4 näher beschrieben.

8.2 Adresseingabe

Sind Format und Protokoll definiert, so müssen nun Hostadresse (nur bei Intel-Hex, Motorola-S19 und Tekhex), Startadresse, Endadresse und anschließend die Übertragungsrichtung festgelegt werden (s.u.).
Die richtige Eingabe von Host- und Startadresse ist außerordentlich wichtig, da die Differenz Hostadresse - Startadresse die Lage der Datei im  und damit im EPROM bestimmt, und da nur wenige Programme an beliebigen Adressen lauffähig sind.
Ist die Hostadresse nicht bekannt, so kann man sie u.U. durch eine Bildschirmausgabe der Datei ermitteln, da jeder Block seine Ladeadresse
(Zieladresse für erstes Byte) enthält.

Beispiel 8.2

Mittels Bildschirmausgabe soll die Ladeadresse eines Intel- bzw. Motorola-Blocks ermittelt werden. Nachfolgend sind die beiden Blockanfänge dargestellt und die Adressangaben unterstrichen. Beide Blöcke sind gleichbedeutend und enthalten die Ladeadresse C000:
Intel: :20C000003E7FD681.....
Motorola: S123C0003E7FD681.....

8.3 Empfang (down load)

Nach Wahl von " empfängt" und Start der Empfangsfunktion durch <ENTER> zeigt ein blinkendes Feld an, daß das  empfangsbereit ist, und die Übertragung kann beginnen.
Im Falle von Intel-, Motorola- oder Tektronix-Kode wird grundsätzlich der gesamte Quell-Datensatz zum  übertragen, wobei das zu "Hostadr." gehörige Byte auf "Startadr." abgelegt wird usw., d.h. die Differenz zwischen "Startadr." und "Hostadr." ist die bei der Übertragung entstehende Verschiebung der EPROM-Adresse gegenüber der Original-Programmadresse. Falls Daten übertragen werden, die aufgrund der Adressverschiebung außerhalb des Bereiches "Startadr." bis "Endadr." landen würden, so werden diese zwar auf korrekte Übertragung geprüft, im übrigen aber ignoriert.
Nach Empfang des Schluß-Blocks wird die Übertragung abgeschlossen;
ein Datei-Ende-Zeichen (ctrl-Z) ist also nicht erforderlich.
ASCII-Hex und Binär enthalten keine Adressinformation; deshalb wird das erste Byte auf "Startadr." übertragen und anschließend die Adresse nach jedem Byte (zwei ASCII-Zeichen bzw. ein 8-bit-Binärwert) um eins erhöht. Wird dabei "Endadr." erreicht, so wird die Übertragung beendet. Ist der Datensatz dafür zu kurz, so muß die Übertragung mit <EXIT> beendet werden.
Die in der Fertig-Meldung enthaltene Prüfsumme der in das RAM übertragenen Daten unterscheidet sich in der Regel von der EPROM-Prüfsumme nach späterer Programmierung, da die Programmierung meist zusätzliche bedeutungslose Füll-Bytes einschließt.
Motorola-, Intel- und Tektronix-Format dürfen außerhalb eines Blocks beliebige Steuerzeichen z.B. zur Formatierung einer Drucker- oder Bildschirmausgabe enthalten, da nach Abschluß eines Blocks nur das Block-Startzeichen (":", "S" bzw. "/", vgl. Beispiel 8.2) ausgewertet wird. Eine ASCII-Hex-Datei darf sogar innerhalb eines Blockes beliebige Zeichen außer 0...9, A...F enthalten. Dagegen sind in einer Binärdatei keinerlei Steuerzeichen zulässig, da alle Werte zwischen 00 und FF als Daten interpretiert werden.
Aufgrund der automatischen Stopbit-Erkennung werden folgende Bitmuster korrekt empfangen:

1) 7 Datenbits, keine Parität, 2 oder mehr Stopbits,
2) 7 Datenbits, gerade oder ungerade Parität, 1 oder mehr Stopbits,
3) 8 Datenbits, gerade, ungerade oder keine Parität, 1 oder mehr Stopbits.

Das  benötigt keine Wartezeiten für die Datenauswertung; d.h. der Hostrechner darf mit bis zu 9600 Baud ohne Unterbrechungen und ohne irgendeine Auswertung von Handshake-Signalen senden.
Zu Beginn des Empfangs wird das DTR-Signal (Stift 20) auf H (aktiv) gesetzt und, sofern XON/XOFF gewählt wurde, der Kode XON (hex 11) gesendet. Nach Abschluß des Empfangs (Datei-Ende oder <EXIT>) wird DTR=L gesetzt und
ggf. XOFF (hex 13) gesendet.

Beispiel 8.31

Ein Intel-Hex-Programm, das unter dem Namen "NAME" im Laufwerk B: eines
MSDOS-Rechners abgespeichert ist und das mit der Adresse C000 beginnt, soll mit 9600 Baud über die Schnittstelle "COM1" auf ein 2764 übertragen werden, das aufgrund der Dekodierung den Adressbereich C000...DFFF belegt:
1) Mit dem MSDOS-Befehl mode com1:9600,n,8,2,p wird die Schnittstelle auf 9600 Baud, keine Parität, 8 Datenbits, 2 Stopbits, Ausgabewiederholung eingestellt.
2) Aus Hauptmenue "Datenübertragung" wählen.
3) <ENTER>  ->  "Adressbereiche".
4) <_>  ->  "Format,Protokoll".
5) <ENTER>  ->  "Intel-Hex".
6) <ENTER>  ->  "9600 Baud".
7) <ENTER>  ->  "7 Bit (Senden)" (ohne Bedeutung)
8) <ENTER>  ->  "Hardw.-Handshake"
9) <ENTER>  ->  "Adressbereiche".
10) <ENTER>  ->  "Hostadr. =00".
11) <C><0><0><0>  ->  "Hostadr. =C000".
12) <ENTER>  ->  "Startadr.=00".
13) <ENTER>  ->  "Endadr. =7FFF" (bei 1Mbit-Erweiterung: 01FFFFF).
14) <1><F><F><F>  ->  "Endadr. =1FFF".
15) <ENTER>  ->  " empfängt".
16) <ENTER>  ->  " empfängt X ", blinkender Cursor X zeigt Empfangsbereitschaft.
17) Mit dem MSDOS-Befehl copy b:name com1 wird die Übertragung gestartet.
Nach Ende der Übertragung kann das EPROM ohne weitere Datenmanipulationen programmiert werden (vgl 6.2).

Beispiel 8.32

Die Übertragung nach Beispiel 8.31 soll über die logische Schnittstelle "PUN:" eines CP/M-Rechners ausgeführt werden:
1) CP/M bietet keine einheitliche Software-Konfiguration der seriellen Schnitt stelle; diese muß oft über Schalter vorgenommen werden.
2...16) wie in Beispiel 8.31
17) Mit dem CP/M-Befehl pip pun:=b:name wird die Übertragung gestartet. Nach Ende der Übertragung kann das EPROM ohne weitere Datenmanipulationen programmiert werden (vgl 6.2).

8.4 Senden (up load)


Nach Wahl von " sendet" und <ENTER>, zeigt ein blinkendes Feld an, daß
das  Daten sendet. Zuvor muß sichergestellt werden, daß das Host-System empfangsbereit ist.
Der Quell-Datensatz aus dem Bereich "Startadr." bis "Endadr." des  wird nun zum Hostrechner übertragen; wobei das erste Byte der Inhalt von "Startadr." ist und im Falle des Intel- oder Motorola-Kodes "Hostadr." die Ladeadresse für das erste Byte (vgl. 8.3).
Die Formate ausgenommen Binär enthalten beim Senden zusätzlich nach
jedem Block Wagenrücklauf (CR, 0D) und Zeilenvorschub (LF, 0A). Ein Block umfaßt 32 Bytes bei Intel-, Motorola- und Tektronix-Format bzw. 16 Bytes bei ASCII-Hex; diese Formatierung erlaubt eine übersichtliche Protokollierung einer EPROM-Datei auf Drucker oder Bildschirm mit 80 Zeichen pro Zeile.
Am Schluß der Datei wird ein Datei-Ende-Zeichen (ctrl-Z, 1A) gesendet, das (mit Ausnahme der Binär-Übertragung) auf der Hostrechner-Seite zum geordneten Abschluß der Übertragung führt. Die in der Fertig-Meldung des  enthaltene Prüfsumme der aus dem RAM übertragenen Daten stimmt mit der entsprechenden EPROM-Prüfsumme überein, wenn ein vollständiger EPROM-Datensatz übertragen wurde.
Das Sende-Bitmuster ist wahlweise 7 oder 8 Datenbits (bei Binär-Format grundsätzlich 8 Datenbits), keine Parität, 2 Stopbits
Falls der Hostrechner die Daten nicht ohne Wartezeiten empfangen kann, so kann
wahlweise Hardware-Handshake oder XON/XOFF-Protokoll herangezogen werden:

1) Hardware-Handshake: Es wird das Signal CTS (Stift 5) ausgewertet, mit dem der Hostrechner dem  signalisiert, wann er empfangsbereit ist. Wird CTS offen gelassen, so wird der Hostrechner als ständig empfangsbereit betrachtet. Nach CTS=L wird maximal ein weiteres Byte gesendet.
2) XON/XOFF: Empfängt das  XON (hex 11), so beginnt die Sendung bzw. wird fortgesetzt. Bis zu zwei Zeichen, die auf XON folgen, werden ignoriert. Da die Software-Schnittstelle des  nicht im Voll-Duplex-Betrieb arbeiten kann, wird jedes während der Sendung empfangene Zeichen als XOFF interpretiert und führt damit zur Unterbrechung der Sendung. Falls der Hostrechner nicht das erste für den Start erforderliche XON liefert, kann man mit <ê> die Sendung von Hand starten. Blinkt der Cursor, so wird gesendet; steht er, so wird auf XON bzw. <ê> gewartet.

Beispiel 8.4


Der Inhalt eines 2764-Musters soll zur Archivierung als Intel-Hex-Datei unter dem Namen "NAME" im Laufwerk B: eines MSDOS- bzw. eines CP/M-Rechners abge-
legt werden. Zur Vereinfachung einer Untersuchung am Bildschirm (vgl. Beispiel 8.2) sollen Hostadresse und Startadresse 0000 sein. Schnittstelle und Format aus 8.3 sollen unverändert bleiben:
1) 2764-Muster lesen und dann aus dem Hauptmenue "Datenübertragung" wählen.
2) Nach dem MSDOS-Befehl copy com1 b:name bzw. dem CP/M-Befehl pip b:name=rdr: ist der Hostrechner empfangsbereit.
3) <ENTER>  ->  "Adressbereiche".
4) <ENTER>  ->  "Hostadr. =00".
5) <ENTER>  ->  "Startadr.=00".
6) <ENTER>  ->  "Endadr. =7FFF" (bei 1Mbit-Erweiterung: 01FFFFF).
7) <1><F><F><F>  ->  "Endadr. =1FFF".
8) <ENTER>  ->  " empfängt".
9) <ê>  ->  " sendet".
10) <ENTER>  ->  " sendet X ", blinkender Cursor X zeigt Sendebereit schaft, d.h. es wird bei Freigabe durch das Handshake-Signal gesendet.

8.5 Fernbedienung

Nach Auswahl von "Fernbedienung" und <ENTER> erscheint in der Anzeige
"9600 Baud" und mit den Pfeiltasten kann eine andere Baudrate gewählt werden. Nach Festlegung der Baudrate mit <ENTER> werden nur noch Befehle über die Schnittstelle angenommen. Die Schnittstellen-Parameter sind dann auf Hardware-Handshake, 8 Datenbits, keine Parität, 1 Stopbit festgelegt. Mit Ausnahme der Einstellung der Schnittstellen-Parameter stehen nach wie vor alle Funktionen des  zur Verfügung.
Die Bedienung entspricht exakt der Bedienung über die Tastatur, wobei zwischen den an das  gesendeten Hexadezimal- bzw. ASCII-Zeichen und
den Tastenfunktionen folgende Zuordnung besteht:

Hex. ASCII  Taste   Hex.  ASCII Taste
30      0         0          41      A        A
31      1         1          42      B        B
32      2         2          43      C        C
33      3         3          44      D        D
34      4         4          45      E         E
35      5         5          46      F         F
36      6         6          2D      -         é
37      7         7          2B      +        ê
38      8         8          1B     ESC    EXIT
39      9         9          0D     CR      ENTER

Jeder empfangene Tasten-Kode wird durch ein Echo quittiert, und jeder Anzeigetext des Normal-Betriebs wird mit CR/LF nach je maximal 80 Zeichen und am Schluß gesendet. An die Stelle des Piep-Tones bei Meldetexten tritt das ASCII-Zeichen BEL (hex 07), das bei Terminals i.a. einen Piepton auslöst.
Der Wechsel zum Normalbetrieb erfolgt, wenn nach Auswahl von
"Fernbedien. aus" der ENTER-Kode zum  gesendet wird.
Damit ist das  nahezu vollständig von einem Terminal aus bzw. mit einem Terminal-Programm von einem Hostrechner aus zu bedienen. Außerdem
können auf einfache Weise Programme erstellt werden, die einen höheren Bedienungskomfort bieten, als er mit Tastatur und Anzeige des  möglich ist.

8.6 Steckerbelegung der Schnittstelle

Der 25-polige Sub-D-Buchsenstecker des  ist als Daten-Endeinrichtung (DEE) wie folgt beschaltet:

2: D1 / TD 9-11: interne Signale
3: D2 / RD 18: interne Signale
5: M2 / CTS 20: S1 / DTR
7: E2 / GND 25: interne Signale

Hat, wie meist üblich, der Rechner ebenfalls eine DEE-Schnittstelle, so muß ein Null-Modem-Kabel verwendet werden (2 und 3 bzw. 5 und 20 gekreuzt, 7 durch-
verbunden). Benötigt diese Schnittstelle zusätzlich Aktiv-Pegel auf einem oder mehreren der Stifte 6, 8 oder sogar 22, so werden diese Stifte rechnerseitig mit 5 verbunden.
Ist die Schnittstelle als Daten-Übertragungseinrichtung (DÜE) belegt, wie bei den meisten Druckern und praktisch allen Akustik-Kopplern, so werden die Leitungen 2, 3, 5, 7 und 20 durchverbunden. Falls die DÜE-Schnittstelle ein RTS-Signal an Stift 4 benötigt, so wird er mit 20 verbunden; liefert Stift 6 anstelle von 20 das Empfangsbereit-Signal, so wird er mit 5 verbunden.
Leider gibt es keine einheitliche Zuordnung zwischen Steckertyp (Stift/Buchse) und Schnittstellentyp (DEE/DÜE). Man muß daher einen Blick ins entsprechende Handbuch werfen oder die richtige Konfiguration durch Probieren ermitteln (falsche Verbindungen führen niemals zu Beschädigungen).


9 Betrieb von Sockeladaptern

Mit dem  können spezielle EPROM-Bauelemente mittels geeigneter Sockel-
adapter bearbeitet werden. Derzeit lieferbare Sockeladapter und die damit zu bearbeitenden Bauelemente können folgender Tabelle entnommen werden:

Adapter-Typ  unterstützte Bauelemente                                         
mtr3.08          2708 mit drei Versorgungsspannungen
mtr3.16          2716 mit drei Versorgungsspannungen
mtr3.32          32-polige Standard-EPROMs, z.B. 27010
mtr3.41          8741, 8741A, 8742, 8742AH, 8748, 8748H, 8749AH
mtr3.44          8744H, 8751H, 87C51, 87C51FA, 8752BH
mtr3.55          8755A
mtr3.701V     63701 V0
mtr3.701X     63701 X0
mtr3.705V     63705 V0

Die Adapter mtr3.701V, -701X und -705V dienen lediglich zur Transformation der Sockelbelegung. Sie können daher in der Regel auch mit anderen Programmiergeräten betrieben werden. Da sie dann allerdings nicht identifiziert werden, müssen die Programmierhinweise des Halbleiterherstellers (Hitachi) beachtet werden. Beim Adapterbetrieb sind folgende Besonderheiten zu beachten:

1) Der Betrieb mit Sockeladaptern ist auf die Funktionen zur EPROM-Bearbeitung beschränkt (Typ eingeben, Lesen, Programmieren, Leertest, Vergleichen). Vor der Nutzung der übrigen Funktionen (Anzeigen,Ändern, Füllen, Verschieben, Emulieren, Datenübertragung) muß der Adapter entfernt werden, da einige Adressleitungen zur Steuerung von Adapterfunktionen verwendet werden. Bei den Adaptern mtr3.701V, -701X und -705V betrifft diese Einschränkung nur die Emulation. Versucht man dennoch, eine dieser Funktionen zu starten, so erscheint die Meldung "Sockel freimachen!".

2) Der Sockeladapter wird vom mtr3 automatisch identifiziert, d.h. für die Typ-Auswahl wird automatisch das für den Typ gültige Menue eingestellt.
Wird nur ein Typ vom Adapter unterstützt, so kann auf die Typeingabe verzichtet werden. Wurde nach dem Wechsel des Adapters noch kein Typ eingegeben, so wird man beim Start einer Funktion durch <ENTER> mit der Anzeige "Typ eingeben" zur Typeingabe aufgefordert, da noch der Typ aus dem zuvor gültigen Menue eingestellt ist. Diese Aufforderung entfällt, wenn ohnehin nur ein Typ unterstützt wird.

3) Einige Sockeladapter führen zur Meldung "Sockel belegt oder RAM defekt!", wenn sie vor dem Einschalten des mtr3 eingesetzt werden. Das liegt daran, daß beim Selbsttest der Bus sehr sorgfältig auf Fehler untersucht wird; die Belastung durch Pegelwandler und Spannungswandler der Adapter wird daher als Fehler registriert. Da der Selbsttest wichtig für die Programmierzuverläsigkeit ist, sollte er ohne Sockeladapter wiederholt werden (erneut einschalten).

4) Beim Einsetzen eines Sockeladapters für EPROM-Mikrocomputer sollte sich kein Bauelement in dessen Sockel befinden. Da das mtr3 aufgrund der Emulationsfunktion eine direkte Kopplung zwischen RAM und Programmiersockel hat, könnten sonst durch die Aktivitäten des Mikrocomputers RAM-Daten verfälscht werden.
5) Die Programmierspannungsautomatik des mtr3 ist bei Verwendung eines Sockeladapters außer Betrieb, denn keines der durch Sockeladapter unterstützten Bauelemente ermöglicht einen eindeutig definierten Betriebszustand bei zu geringer Programmierspannung. Außerdem sind auch die bei Normalbetrieb sehr weitgehenden Testmöglichkeiten beim Betrieb mit Adaptern erheblich eingeschränkt.
Es ist daher möglich, ein Bauelement durch eine zu hohe Programmierspannung zu zerstören. Man sollte also sehr sorgfältig auf die korrekte Typauswahl achten.

6) Die Versorgungsspannungen +12V und -5V der Module mtr3.08 und mtr3.16 werden durch Spannungswandler im Modul erzeugt. Der Eigenverbrauch dieser Wandler und die Tatsache, daß der typische Stromverbrauch der unterstützten EPROMs sehr hoch ist, ermöglichen nur für kurze Zeit den Batteriebetrieb.


10 Fehlermeldungen

Das mtr3 führt bei jeder Funktion Tests durch, die Schäden durch Bauelemente-Fehler und Fehlbedienungen praktisch völlig ausschließen (Ausnahme Emulation). Die entsprechenden Fehlermeldungen werden nachfolgend näher erläutert.

"Abweichungen": Beim Vergleichen (6.4) wurden Unterschiede zwischen EPROM-
und RAM-Daten erkannt.

"Adr. zu hoch": Eingegebene Adresse ist höher als Endadresse bzw. Maximaladresse des EPROM oder führt bei Bearbeitung der gewählten Funktion zu einer Adresse über 7FFF (1Mbit-Erweiterung 01FFFF).

"Adr. zu niedrig": Eingegebene Adresse ist niedriger als Startadresse oder führt bei Bearbeitung der gewählten Funktion zu einer negativen Adresse.

"Batterie leer": Nun muß das mtr3 mit dem Netzadapter betrieben werden
(vgl. 2). Die Quittierung der Meldung durch Tastendruck hat die gleiche Wirkung wie das Aus- und wieder Einschalten des mtr3 (Selbsttest). Diese Fehlermeldung kann jederzeit während des Betriebs auftreten. Erscheint sie während der Programmierung eines EPROM, so können keine Schäden auftreten, da die Programmierspannung Vpp ordnungsgemäß vor Vcc abgeschaltet wird.

"EPROM einsetzen": Befindet sich ein EPROM im Sockel, so können ein falscher Typ, ein defektes EPROM oder mangelhafter Kontakt der Grund für den Fehler sein.

"EPROM-Fehler": Grund kann außer einem defekten EPROM der falsche Typ oder
das falsche Einsetzen in den Sockel sein.

"Format,Protokoll": Seit dem Einschalten wurde das Übertragungsformat für die Schnittstelle noch nicht vollständig festgelegt (vgl. 8.1).

"nicht gelöscht": Vor dem Programmieren (6.2) bzw. beim separaten Leertest wurde wenigstens ein Bit des EPROM als nicht gelöscht erkannt.

"Programmierfehler": Einer der zahlreichen Tests während und nach der Programmierung wurde mit unzureichendem Ergebnis durchgeführt (vgl. 6.2)
"RAM zu klein": Es wurde vor dem Start einer typabhängigen Funktion (vgl.6) ein Typ gewählt bzw. identifiziert, der die 1MBit-Erweiterung erfordert, obgleich diese nicht vorhanden oder defekt ist.

"Rechnerfehler": Diese Meldung kann durch kurzzeitige Unterbrechung der Versorgung auftreten. Verschwindet sie nicht nach Aus- und wieder Einschalten, so ist das Gerät defekt.

"Sockel belegt oder RAM defekt": War der Sockel beim Einschalten nicht mit einem Bauelement belegt, so liegt ein Gerätefehler vor.

"Sockel freimachen": Ein EPROM, ein Sockeladapter oder ein Emulatorkabel im Programmiersockel behindert eine Datenmanipulation (vgl.6.5 und 7). Erscheint die Meldung trotz freiem Sockel, so liegt ein Gerätefehler vor.

"Typ eingeben": Seit dem Einschalten oder dem letzten Wechsel eines Sockeladapters wurde der EPROM-Typ noch nicht festgelegt (vgl.5 und 6), oder die Emulatorfunktion wurde gestartet, obwohl der aktuelle Typ die 1MBit-Erweiterung erfordert und somit nicht emuliert werden kann (vgl.6.5).

"Übertragungsfehler": Beim Empfang einer Datei mit Prüfbytes (Intel-Hex, Motorola-S19, Tekhex vgl. 8.3) wurde ein Fehler festgestellt.


11 Austausch des Betriebsprogramms


Das Betriebsprogramm des mtr3 wird ständig weiterentwickelt, d.h. an die Bedürfnisse der Benutzer, an neue EPROM-Typen sowie an neue Adaptermodule angepaßt.
Soll Ihr mtr3 an den jeweils letzten Stand angepaßt werden, so ist dies herstellerseitig in kürzester Zeit möglich. Wenn das Gerät jedoch ständig benötigt wird, kann es sinnvoller sein, daß der Benutzer das Programm-EPROM austauscht. Dies ist mit wenigen Handgriffen möglich:
Zuerst nehmen Sie die selbstklebenden Gummifüße ab, lösen die darunterliegenden vier Schrauben und heben den Gehäuseboden ab. Nun ziehen Sie die Steckhülsen von Schalter- und Batterieleitungen von der Platine ab.

Achtung! Der Kontakt der abgezogenen Batterie-Steckhülsen miteinander oder mit leitenden Teilen der Platine kann zu Schäden führen!


Jetzt schrauben Sie die Platine von Oberteil ab (vier Schrauben an Platinenecken) und heben die Platine an Vorderkante an; eventuell muß die Anzeige-Platine mit einem Schraubendreher von der Vorderkante aus vorsichtig aus der zugehörigen Gehäuseöffnung herausgehebelt werden.
Nach Abziehen der Tastaturstecker (Folienkabel) können Sie die Platine aus dem Gehäuseoberteil herausnehmen und das Betriebsprogramm-EPROM (einziges EPROM) austauschen.
Der Zusammenbau erfolgt in umgekehrter Reihenfolge: Beim Einsetzen der Platine muß darauf geachtet werden, daß das Folienkabel der Tastatur S-förmig verläuft und nicht geknickt wird (meist nimmt es von selbst die richtige Form an); außerdem muß der Hebel des Programmiersockels durch die Sockelöffnung im Gehäuse geführt werden. Beim Aufstecken der Batterie-Steckhülsen muß wieder der Kontakt mit leitenden Teilen der Platine vermieden werden und außerdem natürlich auf richtige Polung geachtet werden (Markierung +/- auf der Platine).


12 Betriebsstörungen

Das mtr3 hat sich inzwischen in großer Zahl als ausgesprochen widerstandfähig erwiesen. Dies ist insofern bemerkenswert, als der Batteriebetrieb häufig überhaupt erst die Anwendung unter erschwerenden Bedingungen gestattet. Im wesentlichen beruht diese Zuverlässigkeit auf den umfangreichen Prüfroutinen, die ohne Zutun des Benutzers ablaufen. So ist zum Beispiel die bei manchen Programmiergeräten (insbes. älterer Bauart) zu beobachtende Beschädigung durch defekte EPROMs (durch Kopplung der Programmierspannung auf eine andere Leitung) ausgeschlossen. Dennoch können natürlich Fehler auftreten. Einerseits sind dies Zufallsausfälle von Bauelementen, die sinnvollerweise werkseitig behoben werden sollten. Andererseits sind derzeit zwei auf die Anwendung zurückführbare Fehler bekannt, die u.U. vom fachkundigen Benutzer schnell selbst behoben werden können:

1) Verschmutzter oder beschädigter Programmiersockel: Daten-, Steuer- und Versorgungsleitungen werden zuverlässig auf guten Kontakt geprüft. Ist der Kontakt mangelhaft, so erscheint eine der Meldungen "EPROM einsetzen" oder "EPROM-Fehler" die Meldung verschwindet meist nach mehrmaliger Betätigung des Sockel-Hebels und Neustart des jeweiligen Programms.
Adressleitungen können nicht in vergleichbarer Weise geprüft werden, da sie meist zu hochohmig sind. Ein Fehler macht sich hier nur durch eine falsche Prüfsumme und im Falle der Programmierung u.U. durch einen Abbruch bemerkbar.
Während ein beschädigter Sockel werkseitig instandgesetzt werden sollte, kann die Reinigung mit Spiritus und Pinsel durchgeführt werden. Da die Sockelkontakte bei Betätigung des Hebels eine leicht gegenläufige Bewegung ausführen, genügt bei geringen Verschmutzungen oft das mehrfache Öffnen und Schließen des Sockels.
2) Verpolung bei Emulation: Da bei Verpolung des Emulatorkabels das Netzteil des Zielsystems über Schutzdioden in den CMOS-Schaltungen des mtr3 kurzgeschlossen wird, treten hierdurch häufig Schäden an den Porttreibern des Prozessors (HD 6303) oder des PIA (HD 6321, 65C21 oder 68C21) auf. Ist der Prozessor defekt, so erscheint meist beim Start eines Programms "EPROM-Fehler" - selbst wenn der Sockel frei ist. Erscheint die Fehlermeldung "Sockel belegt oder RAM defekt" bei freiem Sockel, so ist meist der PIA defekt.
Entsprechend kann der Fehler meist durch Erneuern eines oder beider Bauelemente beseitigt werden (Öffnen des Gehäuses: vgl. Abschn. 11). Hilft dies nicht, so sollte die Reparatur in jedem Fall werkseitig durchgeführt werden.


Garantie, Service

Für das mtr3 und dessen Originalzubehör wird eine Garantie von 12 Monaten ab Kaufdatum gewährt. Die Garantie erlischt bei unsachgemäßer Benutzung und nach Fremdeingriffen. Für Folgeschäden durch die Benutzung des Gerätes wird keine Haftung übernommen.
Für Garantiearbeiten und andere Serviceleistungen (Software-Service oder nachträgliche Erweiterungen) wenden Sie sich bitte an Ihren Händler oder an den Hersteller.






ENGLISH

© 2015 by mtr, Dr.-Ing. Roland Ranfft
mtr3, Rev.14, 20.6.90

mtr3 EPROM-Programmer

Operation Manual

_________________________________________________________
Table of Contents _$__page

1  Introduction
2  Power Supply, Getting Started
3  Menue Operation
4  Address Processing
5  Defining the EPROM Type
6  Type Specific Functions
6.1  Read
6.2  Program
6.3  Erase Test
6.4  Verify
6.5  Emulation
7  RAM Functions
7.1  Edit
7.2  Find
7.3  Fill
7.4  Move
7.5  Split, Shuffle
8  RS 232 C Interface
8.1  Format, Protocol
8.2  Address Entry
8.3  Down Load
8.4  Up Load
8.5  Remote Control
8.6  Connector Pin Out
9  Socket Adapter Options
10  Error Messages
11  Software Update
12  Malfunctions


1 Introduction


The mtr3 comfortably performs programming, testing, editing, and emulation of single-supply EPROMs of the 25XX and 27XX series up to 256 Kbit (32 Kbyte),
as well as equivalent CMOS-devices or EEPROMs. With the 1Mbit extension mtr3.011 also the types 27512, 27513, and 27011 are supported. Moreover, for many non standard devices special socket adapters are available.
As in the mtr3 CMOS devices are widely used, it can be operated from the built-in rechargable NiCd battery, sufficiently long for maintenance applications.
The RS 232 C interface allows communication in both directions e.g. with a host computer, a developement station, or another mtr3, if necessary even via telephone with an acoustic coupler. It can also be configured for remote control.
The mtr3 is operated using a menue technique with help messages which the user can call at any time. Operating- and error messages are plainly displaid and need not to be read from any list or manual. Lots of test functions preventing damages or malfunctions allow you to start with the mtr3 without any knowledge about it; if you do something wrong you are not only told that you failed, but also how to do right.
The only knowledge about the EPROMs to be processed is the characteristical type number, printed on every device (e.g. 2764), and even this is often automatically identified by the mtr3. Thus you don't need any data data sheets or tables for proper setting of parameters.
Due to the mentioned features you may get started without this manual, just by trial and error method.


2 Power Supply, Getting Started

Before connecting the mains adapter to an outlet, make sure that the correct nominal mains voltage is given on the lable. You can obtain the right adapter from your dealer; if this is not immediately available, you can use a universal AC adapter with an output voltage of 6...12V AC or 9...16V DC at 300mA.
As long as the mtr3 is connected to the mains adapter the built in NiCd battery is charged, whether the mtr3 is switched on or not. Recharging a fully discharged battery needs about 20 hours. With a fully charged battery real programming time is about one hour; this is enough for lots of EPROMs due to the available fast programming algorithms and the fact that all other functions can be used for about 6 hours.
You cannot damage the battery by charging it too long or by sometimes discharging it to the end; however, both is disadvantageous for the battery's life time. If the battery operating time becomes too short, a replacement unit is available at a small charge.
After switching on the mtr3 (with or without mains adapter), first a self check is executed; during this check a copyright message is displaid, followed by a message indicating the test of the 1Mbit extension if built in. After few seconds the display begins alternating between "key E: English" and "Taste D: Deutsch". Hit the E key, to set the mtr3 to English messages for the following session.


3 Menue Operation

In the following a key stroke is indicated by <key> and the display contents by "message".
The operation of the mtr3 is supported by menues and messages. They are shifted over the display if they are longer than 16 characters. Each menue includes the actually available functions. With the arrow keys a function or a value out of the menue can be chosen. Generally, with <ENTER> the displaid function is started or the value is fixed; Without <ENTER> the function or the value is ignored. With <EXIT>, at any time you can return to the main menue, present after switch on.
If a numerical entry is possible or necessary, this is indicated by a flashing cursor. Address- and data entry must be hexadecimal; the input must be followed by <ENTER> to be not ignored. After filling the address- or the data field with characters (four or two respectively) the field is erased after the next character, and the entry can be restarted. The entry of wrong addresses (e.g. start higher than end, or address higher than the type-dependent maximum) is prevented by error messages indicating the kind of error.
Each menue commences with a help instruction which consequently can be requested by hitting <é> until it appears on the display.
Messages to the user are indicated by a beep and must be acknowledged by hitting any key, whether it is an operating message (short beep) or an error message (long intermitting beep). Operating messages only appear if they are necessary; e.g. "insert EPROM" does not appear, if an EPROM is already inserted at the start of a type dependent function.
If no numerlical entry is possible (no blinking cursor), the numeric keys <0> to <F> can be used to choose directly one of the first 16 items of a menue, in order to speed up operation.


4 Address Processing


As the analysis RAM also is used for emulation, all addresses are simultaneously valid for the EPROM and the RAM. You have not to distinguish between RAM- and EPROM address; i.e. the RAM can be seen as a copy of the EPROM to be processed. A minor disadvantage of this organization is that block moves are necessary to copy the files from several small EPROMs to a larger one.
The memory space of page-mode EPROMs (27513, 27011) is continuously transformed to the mtr3 address range; i.e., page 0 occupies the range 00...3FFF, page 1 the range 4000...7FFF etc.

Example 4

The contents of two 2716 EPROMs shall be copied to a 2732 (the used functions are explained later):
1) First "read" the file to be copied to the upper half of the 2732 (address range 07FF...0FFF) from one 2716.
2) Then "move" this file from 00...07FF to the range 800...FFF, the upper half of the 2732.
3) Now "read" from the other 2716 the file to be copied to the lower half of the 2732.
4) With the "type entry" function change to the 2732.
5) The "program" function now allows to copy the concentated file (00...0FFF) to a 2732.


5 Defining the EPROM Type

After entering "type entry" from the main menue, the EPROM type number can be chosen from a new menue using the arrow keys. The menue usually contains only the characteristical number, but no extensions indicating the manufacturer, the programming voltage, and the manufacturing technology; thus, after choosing 2764 also e.g. a 2764A and a 27C64 with any programming voltage Vpp can be processed, or even a 87C64 (27C64 with multiplexed bus).
Although the 27XX series EPROMs are available with different Vpp values, Vpp need not be entered because it is set automatically to the right value. Also manufacturer dependent differences of the access control are automatically evaluated; e.g. Intel's 27256 needs other verify enable signals than Toshiba's 27256.
Exceptions not compatible to the common industry standard are found at the end of the menue. This applies e.g. for commonly used EEPROM types as well as the earlier TI type TMS2732 which needs a special programming, whereas the more recent replacement type TMS2732A can be processed by standard methods.
The mtr3 has a device-code ("silicon signature") table which is currently updated. EPROMs with a device code contained in the table will be identified automatically when inserted into the socket before starting a type dependent function.
The manually or automatically selected type number remains valid until it is redefined, either by type entry or by automatical identification. If a type dependent function is started by <ENTER>, the actually valid or just identified type number is displaid for a short time; the automatical identification is indicated by adding the manufacturer name and a beep during the display. If no type was defined since powering up the mtr3, the message "type entry" appears and the appropriate function can be started immediately.

Example 5

Several 2764 samples shall be programmed with the file of a 2764 master:
1) Choose "type entry" from the main menue and start it by <ENTER>. New display: "2716".
2) With <ê> <ê> choose "2764" and select this type by <ENTER>. New display: "read"; now you can immediately continue with reading the master and later programming the duplicates.
3) By mistake an Intel D27128A is inserted into the socket. After starting the programming the display shows "27128 Intel", accompanied by a beep.
4) Now go to 1) again, because the type number changed to 27128 by automatical identification.


6 Type Specific Functions


From the main menue one of the following EPROM-processing (and thus type
dependent) functions can be chosen with the arrow keys:

1) read,
2) program,
3) erase test,
4) verify,
5) emulation.
With <ENTER> the chosen function is started and the display shows shortly
the previously defined type number or the just identified one together with the manufacturer name. Then the second menue text of this function appears;
remember, the first one is the help message which can be called by <é>.
If a function is executed without any error, a ready message containing the check sum of the file processed by the function (four-digit arithmetic sum of all data bytes without carry).
After finishing a function the program normally returns to the previous text of the main menue, i.e. after finishing programming and erasing the check-sum display by any key, the display shows "program" again, an the next EPROM can be programmed immediately. An exception is the frequently used sequence: type entry - reading a master - programming a duplicate; consequently, the main programm follows these steps automatically.

6.1 Read

A source EPROM can be read partly or completely; i.e. it is copied to the RAM. The menue contains the message "completely" and the input fields for start- and end address. With <ENTER> after "completely" the whole EPROM is read. After <ê>, first "startaddr=00" appears; this default address can be changed by key board entry. After <ENTER> the display shows "end addr =aaaaaa", where aaaaaa is the type-dependent EPROM end address, which can also be optionally overwritten. After <ENTER> the EPROM is read as specified.
Remember that a missing <ENTER> will ignore your input; thus if you proceed after "startaddr= ..." with <ê>, the start address will remain 00.

Example 6.1

A 2764 shall be read completely:
1) Choose "read" from the main menue.
2) <ENTER>  ->  shortly "2764", then "completely".
3) <ENTER>  ->  shortly "wait", then "check sum".
4) <key>  ->  "program" (main menue).

6.2 Program

A destination EPROM can be programmed partly or completely (cf. 6.1); i.e. RAM data are copied to the EPROM using one of the following programmimg algorithms:

1) "inteligent" (™: Intel): Each byte is programmed first with one or more 1ms pulses. The number n of pulses needed until the byte verifies correctly is then taken to calculate the duration (3n times 1ms) of an over-programming pulse following the 1ms pulses.
2) high speed (mtr): The same as "inteligent", but with a 0.1ms time base instead of 1ms.
3) "Quick-Pulse" (™: Intel): Each byte is programmed with 0.1ms pulses until it verifies correctly. As no additional pulse is applied, this algorithm is only recommended for several Intel devices, and moreover only for types with Vpp=12.5V.
4) "Quick Pro" (™: Fujitsu): As "inteligent", but with an additional pulse of only n times 1ms instead of 3n times; thus it only needs half the time.
5) Standard (50ms): Programming is performed with a 50ms pulse for each byte. This by far slowest algorithm does not guarantee the highest reliability.
Before programming is started, the EPROM is tested to be erased in the specified address range. If "not erased" is displaid, reprogramming can be prevented by <EXIT> or restarted by any other key; however, programming can only change a high bit to a low bit, and will be aborted with an error message if only one byte of the file is not programmable.
The programming reliability essentially depends on the Vcc value during verifying. For instance a memory cell programmed to contain a low bit may be read correctly at Vcc=5V. As the information read from the cell depends on the margin between Vcc and the theshold voltage of the cell (shifted by programming), the cell tends to be read as erased (high bit) with rising Vcc. Therefore the mtr3 verifies after each program pulse with Vcc=6V, as recommended by the most semiconductor manufacturers; this increased verify voltage gives an optimum data retention reliability even with the modern high-speed algorithms.
However, verifying each byte after programming cannot prevent a previously programmed byte to be altered due to cell coupling or address malfunctions. Therefore the whole file is verified at the end under nominal conditions.
Except Intel's "Quick-Pulse", all algorithms further increase the reliability by adding programming pulses after verifying correctly. Therefore care should be taken if "Quick-Pulse" is used although not recommended by the
EPROM manufacturer. Depending on the internal circuitry of the EPROM the verify result may depend on the Vpp value, i.e. a bit, read correctly as zero if Vpp is applied, may change to one if Vpp is decreased to 5V. As this influence is small, EPROMs with Vpp=12.5V can be programmed with "Quick-Pulse".
The other algorithms are similar with respect to reliability. Especially the high-speed mtr algorithm offers about the same reliability as the widely used "inteligent" algorithm, but it is between two and ten times faster (typically four times); on the other hand it needs only double the time of Intel's "Quick-Pulse" and can therefore be recommended for almost any EPROM.
However, if the EPROM should meet the reliability specifications of its manufacturer, it is a good way, to use the algorithm recommended by this manufacturer. On the other hand, for moderate life time requirements, e.g. during developement, a substantial amount of time can be saved with the fastest algorithm ("Quick-Pulse"). It will program e.g. a 27128 within 10s, two seconds real programming time and eight seconds for tests, performed in all algorithms, as listed below:

1) Tests before Programming:
1.1) Test the supply current.
1.2) Is the data bus idle if the EPROM is disabled?
1.3) Is the data bus defined if the EPROM is enabled?
1.4) Is there any address-bus short circuit?
1.5) Are all bytes in the specified address range erased?
1.6) Increase Vcc to 6V and test the supply current again.

2) Tests during or after programming of each byte:
2.1) Is there any address-bus short curcuit?
2.2) Are the data pins configured as inputs during the program pulse?
2.3) Is the byte programmable?
2.4) Find the correct enable signals for verifying.
2.5) Verify the byte and continue programming it if not true.
2.6) Test for max. program-pulse duration and number.
2.7) Find the correct Vpp value if programming fails. Here a special algorithm
is used because many EPROMs cannot be verified at a Vpp lower than the
nominal value.3) Tests after programming:
3.1) Decrease Vcc to 5V, wait until it is stable.
3.2) Is there any address-bus short circuit?
3.3) Verify the whole specified address range.

For the amount of eight seconds for a 27128 you thus obtain not only a programmed EPROM but also a well tested one. Further the tests make it almost impossible to damage any semiconductor device fitting into the mtr3's socket, because all supplies are switched off after detecting an error, and Vpp is only switched on if the device behaves like the specified EPROM type with respect to address-, data-, and access control.

Example 6.2


The first half of some 2764s (00...0FFF) shall be programmed with the file stored in the mtr3-RAM, using the mtr high-speed algorithm:
1) Choose "program" from the main menue.
2) Insert first EPROM.
3) <ENTER>  ->  shortly "2764", then "inteligent (Intel)".
4) As programming parameters are not yet specified: <ê>  ->  "high speed (mtr); ......".
5) <ENTER>  ->  "completely".
6) <ê>  ->  "startaddr=00".
7) <ENTER>  ->  "end addr =1FFF" (end addr. 2764).
8) <F><F><F>  ->  "end addr =FFF " (first half 2764).
9) <ENTER>  ->  "wait" (programming duration), then "check sum".
10) Insert next EPROM; for the following samples a simple procedure will do:
11) <key>  ->  "program".
12) <ENTER>  ->  shortly "2764", then "no change".
13) <ENTER>  ->  "wait" (programming duration), then "check sum".

6.3 Erase Test

An EPROM can be tested whether it is partly or completely erased (cf. 6.1). As a result it is only displayed whether the specified range is erased (check sum display) or not ("not erased"). Although the erase test is executed automatically befor programming procedure, this function is separately useful e.g. to check EPROMs after erasing.

Example 6.3

Some 2764s shall be tested completely after erasing:
1) Choose "erase test" from the main menue.
2) Insert EPROM.
3) <ENTER>  ->  shortly "2764", then "completely".
4) <ENTER>  ->  shortly "wait", then possibly "not erased" or "check sum"
(if erased).

6.4 Verify

The contents of an EPROM can be compared partly or completely (cf. 6.1) with the RAM contents. Differences are displaid in the format "aaaaaa:E=ee,R=rr" with the address aaaaaa, EPROM data ee, and RAM data rr. With the arrow keys the list of differing values can be run through in both directions. The start address for editing the differences can be entered with the key board; then after <ENTER>, RAM and EPROM data at the start address are displaid, whether they differ or not. If no difference was found, "check sum" appears.

Example 6.4

A 2764, some bytes of which have been changed shall be compared with the original:
1) Read the original, choose "verify" from main menue.
2) Insert EPROM with unknown modification.
3) <ENTER>  ->  shortly "2764", then "completely".
4) <ENTER>  ->  shortly "wait", then "differences".
5) <key>  ->  "aaaaaa:E=ee,R=rr", with the wanted address aaaaaa, the original byte rr and the modified byte ee.

6.5 Emulation

*** Attention: A sufficiently reliable protection against reverse supply voltage cannot be achieved by moderate means. Therefore confusing the poles may damage the target system or the mtr3.

Using the mtr3 as emulator means that the RAM contents, possibly processed before, is used as the contents of the EPROM to be simulated. This function is disabled for types requiring the 1Mbit extension.
Before starting the emulator function make sure that the mtr3 socket is free. After <ENTER> first the type number appears for a short time, and then a help message is displaid, indicating that the mtr3 is ready for emulation. If now the socket of the mtr3 is connected to the target system by a 24- or 28 pole DIL cable, this setup simulates an EPROM with an access time of 180ns,
as long as 5V is applied to the Vcc pin of the DIL cable (pin 24 or pin 28).
In this state all other functions of the mtr3 are disabled; this is indicated by "EXIT disabled". After powering down the target system and disconnecting the mtr3, the emulation modus can be left by <EXIT>.
The emulation feature allows minor program modifications and the necessary tests without programming a test EPROM for each evaluation. However, it should be mentioned that the mtr3 is loading bus and enable lines of the target system differently from a real EPROM.
Emulation will never yield an exact replica of the simulated EPROM. Besides the limited speed and the loading of the enable pins as mentioned above, there are some minor facts that may lead to difficulties:
As long as the emulation is not active, voltages coming from the mtr3 (keyboard read pulses) may be coupled to the reset input of the target processor. Then this processor may not start correctly after powering up. This problem can be overcome by manual reset after powering up.
Between detecting the switched on supply and starting the emulation there is a time delay up to 1ms. In a well designed system normally the reset is delaid more than 1ms, in order to achieve a stable supply for a reliable system start.
Most problems arise in large systems where the enable signals originally already have overshoots which are increased by the emulator cable due to its impedance and to coupling between adjacend lines. Then it can happen that the enable signals (or even addresses) ar not stable, sufficiently long before the processor accesses the data bus. In such a case small capacitances (20...50pF) between enable pins and ground or only a shorter emulator cable will help.

Example 6.5


A 2764 file was copied to the mtr3 RAM and then modified. The influence of the modifications shall be tested with the target system:
1) Choose "emulation" from the main menue.
2) <ENTER>  ->  shortly "2764", then shortly "wait", then "Help: Load the mtr3 RAM (e.g. read or download.....".
3) The emulation instruction on the display shows that the emulation function is available. Now connect the mtr3 socket to the target system via 28 pole DIL cable; the target sytem must remain switched off until now, because it must be able to read its start vector from the mtr3.
4) Switch on target system  ->  "EXIT disabled". The target system now starts using the programm contained in the mtr3 RAM, and can be tested.
5) Switch off target system  ->  "emulation instruction" showing that the target system is powered down.
6) Disconnect the DIL cable.
7) <EXIT>  ->  shortly "wait", then "emulation" (main menue).


7 RAM Functions

From the main menue one of the following functions to process the mtr3-RAM data can be chosen with the arrow keys:

1) edit,
2) find,
3) fill,
4) move,
5) split, shuffle.

As these functions refer to RAM data processing, there is no need for type enty. While using these functions the socket should be kept clear, although an EPROM in the socket does not lead to errors, but worst case to the message "clear socket!". With <ENTER> the chosen function is started, and its second menue text appears (remember, the first is the help message again).
After finishing the program returns to the previous item of the main menue, i.e. after finishing a block move and erasing the check-sum display with any key, "move" appears again.

7.1 Edit

With the edit function RAM data can be displaid and modified. Display and entry is hexadecimal. After starting the editor "A=aaaaaa D=dd" is displaid, with the address aaaaaa and the corresponding data byte dd.
After entering an address, the cursor jumps to the data field and its contents can be modified. After data entry the address is incremented. Entries must be closed with <ENTER>, otherwise they are ignored and the old values are maintained.
With the arrow keys the cursor is changed between address- and data field respectively; moreover the address can be decremented or incremented. Immediately after start the help message can be called with  <é>.

Example 7.1

The data byte 5D at address 0F10 shall be changed to the value 0D (XX and YY are bytes located at addresses 00 and 0F11 respectively):
1) Choose "edit" from the main menue.
2) <ENTER>  ->  "A=00 D=XX".
3) <F><1><0>  ->  "A=F10 D=XX".
4) <ENTER>  ->  "A=0F10 D=5D".
5) <D>  ->  "A=0F10 D=D ".
6) <ENTER>  ->  "A=0F11 D=YY".

7.2 Find

After the entry of start- and end address as well as a series of up to four data-bytes (each entry closed by <ENTER>), this string is searched for in the specified address range. Having found the string, the mtr3 will jump to the editor at the start location of the string. In addition to the above described key functions, now seaching will continue after <ENTER> without previous numerical entry. If no (or no more) correct strings are found, the message "not found" is displaid.

7.3 Fill

After entering start- and end address as well as a data-byte value (each entry closed by <ENTER>), the thus specified address range is filled with the data-byte value. The check sum of the filled range appearing after finishing has in practice no meaning.

7.4 Move

After entering start- and end address of a source range and then the start address of the destination range the source file is shifted to the destination range. In any case no address conflict can occur, and thus the file is not altered after shifting.

Example 7.4

The lower half 00...3FFF of the entire RAM contents shall be moved to the upper half 4000...7FFF, to replace a needed but not available 27128 by a 27256:
1) Choose "move" from the main menue.
2) <ENTER>  ->  "startaddr=00".
3) <ENTER>  ->  "end addr =7FFF" (1Mbit extension: 01FFFF).
4) <3><F><F><F>  ->  "end addr =3FFF".
5) <ENTER>  ->  "dest.addr=00".
6) <4><0><0><0>  ->  "dest.addr=4000".
7) <ENTER>  ->  shortly "wait", then "check sum".

7.5 Split/Shuffle

In order to support word lengths longer than 8bit, after <ENTER> the following functions ar available:

1) Split: This function moves bytes located at even addresses continuously to the lower half of the RAM and bytes from odd addresses to the upper half beginning at 4000 (10000 with extension RAM). This allows a 16bit program in an EPROM for a system with 8bit data bus (e.g. 8088 MPU) to be distributed to two EPROMs for a system with 16bit data bus (e.g. 8086 MPU). Multiple use of this function equivalently supports word lengths of 8, 16, 32, 64 and more bits.

2) Shuffle: Inverse of the split function.

3) Exchange: Lower and upper half of the RAM are exchanged. This function is necessary to process both parts of a splitted file. Using the move function (7.4) to shift the upper half to the lower would overwrite the lower half.


8  RS 232 C Interface

The power dissipation of the interface is relatively high. With regard to battery operation, it is therefore powered down if not needed. However this may cause several MSDOS computers to fail receiving the first byte after powering up the mtr3 interface. For this reason the interface can be powered continuously with <ENTER> after choosing "normal: RS232 on". The original state is obtained with "normal:RS232 off".
After choosing "file transfer" and <ENTER> the display shows "address ranges" and address entry will start after <ENTER>. If no communication format and protocol was entered since the mtr3 was switched on, you will get the message "format, protocol", and the demanded function can immediately be started by <ENTER>. If you want to redefine format or protocol, this function is reached by  <é> and <ENTER>.

8.1 Format, Protocol

The communication format must be once defined after switching on the mtr3. Later this format remains valid until redefinition. First, one of the following data formats is chosen from the menue:

1) Intel Hex,
2) Motorola S19 (S-record),
3) Standard Tekhex (Tektronix, Millenium)
4) ASCII hex; down load: with or witout arbitrary separators,
up load: space after each two characters (each byte),
5) binary (8 bit), here of course control characters are not allowed, because
they would be interpreted as data bytes.

Program files are commonly stored using one of the first three formats. These formats are also best suited for telecommunication and for keeping other EPROM files on disk or tape, due to error detection capability.
The remaining formats are useful if the host computer offers no standard copy programm for the serial interface; they make it e.g. possible to copy a file first into the host computer memory, and then via binary- or ASCII dump routine to the mtr3.
Now the baud rate is chosen. Normally 9600 baud should be used with regard to short transmission times. 300 Baud, but also 75 and 1200 Baud are needed for telecommunication. For a printer without hardware handshake 75 Baud may help.
At last, it must be decided between hardware handshake and XON/XOFF protocol. The features of both protocols are described in detail in 8.3 and 8.4.

8.2 Address Entry

If format and protocol are defined, the host address (only for Intel, Motorola, or Tektronix), start address, end address, and later on the transfer direction must be chosen (see below).
The correct entry of host- and start address is quite important, because the difference of both determines the position of the file in the mtr3, and because only few programms are executable at any address.
If the host address is unknown it can possibly be found using a screen dump of the file, because each block contains its load address.

Example 8.2


From a screen dump the load address of an Intel- or a Motorola block is to be determined. Below the beginning of both blocks is shown. Both contain the same data, beginning at load address C000:
Intel: :20C000003E7FD681.....
Motorola: S123C0003E7FD681.....

8.3 Down Load


After choosing "mtr3 receive" and <ENTER>, a blinking cursor indicates that the mtr3 is ready to receive data and the transmisson may start.
If Intel, Motorola, or Tektronix code is used, essentially the whole source file is transferred to the mtr3 with the data of location "host addr" to be copied to "startaddr" of the mtr3 and so on; i.e. the difference between "startaddr" and "host addr" is the offset between EPROM addresses and original addresses. If a byte would be written to a location outside the range "startaddr" to "end addr" it is ignored although tested for tansfer errors. After receiving an end-of-file block, the transfer is stopped; so an end-of-file character (ctrl-Z) is not necessary.
ASCII hex and binary code contain no address information; thus the first data byte is copied to "startaddr" and then the address is incremented after each byte until "end addr" is reached. If the source file is shorter than the specified range, the transfer must be stopped by <EXIT>.
The check sum contained in the ready message is usually not the same as the one obtained after burning the file into an EPROM; the reason is that the EPROM file includes nonsignificant bytes from locations to which no data have been transferred.
Intel, Motorola, and Tektronix format may contain any arbitrary characters except the block marks outside the blocks, because after finishing one block only the block mark (":", "S", "/" cf. example 8.2) are recognized. An ASCII file is even allowed to contain any characters except 0...9, A...F within the block, whereas binary allows no additional characters, because all values between 00 and FF are interpreted as data.
Due to automatical stop-bit identification the following bit patterns are received correctly:1) 7 data bits, no parity, 2 or more stop bits,
2) 7 data bits, odd or even parity, 1 or more stop bits
3) 8 data bits, any or no parity, 1 or more stop bits.

The mtr3 needs no extra time for data evaluation; thus, the host computer can transmit data with up to 9600 Baud without evaluation of any busy signal.
At the start DTR (pin 20) is set high. Additionally the mtr3 transmits XON (hex 11) if XON/XOFF was chosen. At the end of the transmission (end of file or <EXIT>) DTR becomes low again and in the case of XON/XOFF protocol XOFF
(hex 13) is transmitted.

Example 8.31


An Intel-Hex file, stored as "NAME" on drive B: of an MSDOS computer, beginning at address C000 shall be copied to a 2764 which will occupy the address range C000...DFFF due to decoding. The mtr3 is coupled to the serial port "COM1":
1) With the MSDOS command mode com1:9600,n,8,2,p the port is set to 9600 Baud, no parity, 8 data bits, 2 stop bits, retry output.
2) Choose "file transfer" from the main menue.
3) <ENTER>  ->  "address ranges".
4) <ê>  ->  "formatting".
5) <ENTER>  ->  "Intel-Hex".
6) <ENTER>  ->  "9600 Baud".
7) <ENTER>  ->  "address ranges".
8) <ENTER>  ->  "host addr=00".
9) <C><0><0><0>  ->  "host addr=C000".
10) <ENTER>  ->  "startaddr=00".
11) <ENTER>  ->  "end addr =7FFF" (1Mbit extension: 01FFFF).
12) <1><F><F><F>  ->  "end addr =1FFF".
13) <ENTER>  ->  "mtr3 receive".
14) <ENTER>  ->  "mtr3 receive X ", the flashing cursor X indicates ready to receive.
15) With the MSDOS command copy b:name com1 the transmission is started. After finishing the EPROM can be programmed without additional data manipulation.

Example 8.32

The transmission from example 8.31 shall be executed using the logical device "PUN:" of a CP/M computer:
1) CP/M offers no standard software configuration for the serial port; it must often be configured using switches.
2...14) same as example 8.31
15) With the CP/M command pip pun:=b:name the transmission is started. After finishing, the EPROM can be programmed without additional data manipulation
(cf. 6.2).

8.4 Up Load

After choosing "mtr3 transmit" and <ENTER>, a blinking cursor indicates that the mtr3 is transmitting data. Make sure that the host system is ready to receive data before.
The source file "startaddr"..."end addr" of the mtr3 is transmitted to the host computer. The first transmitted byte is the contens of "startaddr" and, in the case of Intel, Motorola, or Tektronix code, the load address for the first byte is "host addr" (cf. 8.3).
The formats except binary contain additionally carriage return (CR, 0D) and line feed (LF, 0A) after each block. Intel, Motorola, and Tektronix blocks are normally 32 byte, ASCII-hex blocks 16 byte long; this allows a properly formatted output on an 80 columns screen or printer.

At the end of a file a ctrl-Z (1A) is transmitted, stopping the host copy program (except binary format). As normally complete EPROM files are up loaded, the check sum displaid after execution is the same like the one after processing the appropriate EPROM.
The bit pattern can be set 7 or 8 data bits (for binary format only 8 bits), no parity, 2 stop bits.
If the host computer cannot receive data without pauses, one of the following handshake methods are possible:

1) Hardware handshake: A busy signal at CTS (pin 5) can be evaluated to halt the transmission. If CTS is left open it is defaultly active and therefore not inhibiting any transmission. After CTS=L maximum one additional byte is transmitted.
2) XON/XOFF: After receiving XON (hex 11), the mtr3 will start or restart transmission. Up to two bytes immediately following the XON are ignored. As the interface of the mtr3 has no real duplex capability, any byte received while transmission is in progress is accepted as XOFF, and will halt transmission. If the first XON is missing, transmission can be started manually by pressing <ê>. A blinking cursor indicates that data are transferred; if transfer is halted, the cursor also stops blinking.

Example 8.4

A 2764 source shall be stored as Intel-Hex file called "NAME" on drive B: of an MSDOS or a CP/M computer. To simplify the screen evaluation (cf. example 8.2) host- and start address are set to 0000. Interface parameters and format are the same as in section 8.3:
1) Read the 2764 and choose "file transfer" from the main menue.
2) After the MSDOS command copy com1 b:name, or the CP/M command
pip b:name=rdr: respectively the host computer is ready to receive.
3) <ENTER>  ->  "address ranges".
4) <ENTER>  ->  "host addr=00".
5) <ENTER>  ->  "startaddr=00".
6) <ENTER>  ->  "end addr =7FFF" (1Mbit extension: 01FFFF).
7) <1><F><F><F>  ->  "end addr =1FFF".
8) <ENTER>  ->  "mtr3 receive".
9) <ê>  ->  "mtr3 transmit".
10) <ENTER>  ->  "mtr3 transmit X ", the flashing cursor X indicates ready to transmit, i.e. transmission is started if enabled by handshake signal.

8.5 Remote Control

After <ENTER> first "9600 Baud" is displaid, and another baud rate can be chosen with the arrow keys. After fixing it with <ENTER>, the mtr3 keyboard is disabled, and the communication parameters are set to hardware handshake, 8 data bits, no parity, 1 stop bit. Now commands are only accepted from the interface. Except interface configuration, all functions of the mtr3 are still available. The keys of the mtr3 are replaced by hex- (ASCII-) codes, representing the key functions after the following table:

hex. ASCII  key       hex.  ASCII   key
30      0         0          41      A        A
31      1         1          42      B        B
32      2         2          43      C        C
33      3         3          44      D        D
34      4         4          45      E         E
35      5         5          46      F         F
36      6         6          2D      -         é
37      7         7          2B      +        ê
38      8         8          1B     ESC    EXIT
39      9         9          0D     CR      ENTER

Every received byte is acknowledged by an echo, and every display text is transmitted with CR/LF after maximum each 80 characters and at the end. The buzzer signal is replaced by ASCII-BEL (hex 07), on which most terminals respond with a short beep.
The stand alone operation can be envoked again by transmitting the ENTER code to the mtr3 after setting the main menue to "remote control".
Thus the mtr3 can simply be controlled by a terminal or a host computer with terminal programm. And it is quite easy to realize a control program offering more comfortable operation as possible with the keyboard and the display of the mtr3.

8.6 Connector Pin Out

The Interface has a 25-pin sub-D female connector configured as data terminal equipment (DTE) as follows:

2: TD 9-11: int. connection
3: RD 18: int. connection
5: CTS 20: DTR
7: GND 25: int. connection

Most computers have also a DTE interface. Therefore, in the most cases a cable with the following pin interconnections will do: 2-3, 3-2, 5-20, 20-5, 7-7. Your DTE interface may additionally need high level on one or more of the pins 6, 8, or even 22, to start communication or to prevent an error message. In this case connect these pins to pin 5 in the connector at the host side.
If you have an interface configured as data communication equippment (DCE), like many printers have and almost all acoustic couplers, you must use a cable where 2, 3, 5, 7, and 20 are connected straightly. A DCE interface may need a request-to-send signal on pin 4; then connect this to 20. If pin 6 is used for handshaking, connect it to 5 in any connector.
Unfortunately, there is no commonly used relation between connector- (male/female) and interface type (DTE/DCE). Thus the interface type must be found out using the manual of the host or by trial and error. However, a well designed RS 232 interface cannot be damaged by wrong connections.


9 Socket Adapter Options


Non standard EPROM devices can be processed with the mtr3 using appropriate socket adapters. The available or planned adapter types and the device types they support can be taken from the following table:

adapter type      supported devices                                           
mtr3.08             2708, triple supply
mtr3.16             2716, triple supply
mtr3.32             Standard 32-pin EPROMs, e.g. 27010
mtr3.41             8741, 8741A, 8742, 8742AH, 8748, 8748H, 8749AH
mtr3.44             8744H, 8751H, 87C51, 87C51FA, 8752BH
mtr3.55             8755A
mtr3.701V        63701 V0
mtr3.701X        63701 X0
mtr3.705V        63701 V0

The adapters mtr3.701V, -701X, and -705V only transform the pin out. Thus they will normally run with other programmers too. However, in this case they will not be identified by the programmer, so you should follow the programming recommendations of the device manufacturer (Hitachi).
If socket adapters are used, care should be taken with respect to the following details:

1) The socket-adapter operation is restricted to the EPROM-processing functions (type entry, read, programm, erase test, verify). Before using the remaining functions (edit, fill, move, emulation, file transfer) the socket adapter must be removed, because several address lines are used to control the adapter. For the mtr3.701V. -701X, and -705V adapters this restriction only applies to emulation. Trying to start one of the not availlable functions will give the message "clear socket!".

2) The socket adapter is identified automatically, i.e. for type entry the type menue changes to the types supported by the adapter. If only a single type is supported a type entry is not neccessary.
If no type was defined since the last adapter change, starting any function by <ENTER> will yield the message "type entry" because the type defined for the last module does not remain valid. Of course, this message will not appear for a single-type adapter.

3) Some adapters lead to the message "socket not clear or RAM malfunction" if inserted before switching on the mtr3. This is, because loading the socket with the level translaters and the DC/DC converters contained in some adapter modules prevent a proper high impedance test of the RAM, coupled to the mtr3 socket. As the RAM test is substantially important for the programming reliability it should be repeated without adapter (switch on once more).

4) If you insert an adapter for EPROM controllers, first remove any device from its socket. As, due to the emulation capability of the mtr3, the RAM is coupled directly to its socket, activities of a controller in the adapter socket may affect the RAM data.
5) The programming voltage is not automatically adjusted if a socket adapter is used, because none of the supported devices allows a sufficiently well defined operation if the programming voltage is too low. Moreover the testing capabilities, quite extensive without adapter, are restricted to the most important tests.

Thus, it is possible to damage a device with a programming voltage above the maximum rating. Therefore, choose the device type quite carefully from the menue!

6) The supply voltages of +12V and -5V of the modules mtr3.08 and mtr3.16 are generated by converters in the module. The power dissipation of these converters allow the battery operation only for a short time.


10 Error Messages


All functions of the mtr3 are accompanied by automatical tests which make damages due to device malfunctions or operating errors quite impossible (except emulation). The related error messages are described below more detailed.

"addr too high": An address is higher than the end address or the type dependent maximum address of the EPROM, or executing the chosen function will yield an address higher than 7FFF (1Mbit extension: 01FFFF)

"addr too low": An address is lower than the start address, or executing the chosen function will yield a negative address.

"clear socket!": An EPROM, a socket adapter, or an emulator cable in the programming socket is inhibiting error free data manipulation (cf. 6.5 and 7). If the message appears although the socket is clear, the mtr3 is damaged.

"differences": Differences between EPROM- and RAM data have been found by the verify function (6.4).

"EPROM error": Besides a defective EPROM, a wrong type or a wrong insertion into the socket can be the reason.

"format, protocol": Since switching on, the communication format or protocol of the interface has not yet been specified completely (cf. 8.1).

"insert EPROM": If the socket contains an EPROM, a wrong type, a defective device, or a bad connection can be the reason.

"low battery": Now the mtr3 must be supplied by the mains adapter (cf. 2). Acknowledging the message by hitting any key has the same effect as switching the mtr3 off and on again (self test).
This message can obviously occur any time. If it occurs during programming, damages are reliably prevented by automatically switching off first the programming voltage Vpp sufficiently early before Vcc.

"not erased": Before programming (6.2) or in a separate erase test (6.3) minimum one bit within the specified range was registered as not erased.
"processor error": This message can occur after a very short power-supply interrupt. If it is not vanishing after switching off and on again, the mtr3 is damaged.

"progr. error": One of the various tests during and after programming has been executed without a sufficient result (cf. 6.2).

"socket not clear or RAM malfunction": If the socket was clear during switching on, the mtr3 is damaged.

"transfer error": When receiving a file with error detection capability (Intel Hex, Motorola S19, Tekhex, cf. 8.3) a parity error was found.

"type changed": An EPROM was tried to be programmed with "no change" (6.2) although no valid programming parameters (algorithm, address range) are available, because the type changed or no parameters have been specified since switching on.

"type entry": Since switching on or the last change of a socket adapter, the EPROM type number has not yet been specified (cf. 5 and 6); or emulation was started although previously selected type is requiring the 1Mbit extension, and thus cannot be emulated (cf. 6.5).


11 Software Update

The mtr3 software is currently adapted to the customers requirements as well as to new device types and adapters.
Software update for your mtr3 of course can be done by the manufacturer or dealer within a short time; however, if the programmer is continously needed you can change the system EPROM quite easy:
First remove the self-adhesive rubber pads from the bottom of the case and the screws below them. Then lift the bottom of the case and pull off the switch- and battery connectors from the p.c.b.

Caution! Prevent the contact between battery connectors or between battery connectors and conducting parts of the p.c.b.: this may damage the mtr3.

Now loosen the four screws at the corners of the p.c.b. and lift it at the front edge. Maybe the display module must be carefully levered out of its frame from the front edge with a screw driver. After removing the key-board connectors, you can take the p.c.b. out of the case in order to replace the (single) EPROM.
When reassembling the mtr3, make sure that the key-board ribbon cable forms an S-shape, and that the ZIF-socket lever is fed through the appropriate hole in the cover. Further, contact between the battery connectors and conducting parts of the p.c.b. must be prevented as mentioned above, when the battery and the switch are reconnected.

Caution! Don't confuse poles when reconnecting the battery cable (+/- marks on the p.c.b.).


12 Malfunctions

Although just the battery operation allows the mtr3 to be used under worst conditions outside a lab, it proved to be quite reliable. This is the result of the extensive test routines performed to protect the devices as well as the programmer. E.g., it is impossible to damage the mtr3 by defective EPROMs (coupling Vpp to another pin), as to be seen at some older programmers.
Nevertheless, malfunctions may happen. Normal random drop outs of single components should be repaired by authorized personal only. Moreover there are two typical reasons of failure which may be repaired by the competent user:

1) Dirty or damaged ZIF socket: Data-, control-, and supply lines are reliably tested to be sufficiently conducting; if they are not, the message "insert EPROM" or "EPROM error" will appear and vanish after sometimes operating
the socket lever and restarting the program. Address lines cannot be tested in a similar way, due to their usually high resistance. Here, bad conduction will give a wrong check sum or may break programming.
While a damaged socket should be repaired by the manufacturer, cleaning can be done with spirit. As the contacts of the socket are self cleaning, in most cases even operating the lever for some times will do.

2) Confusing poles of the emulator cable: As in this case the power supply of the target system will be short circuited via protection diodes of CMOS devices in the mtr3, damages at port buffers of the processor (HD6303) or the PIA (HD6321, 65C21, or 68C21) must be expected. "EPROM error" after starting
a function, even without EPROM, normally indicates a damaged processor port.
A defective PIA will usually give "socket not clear or malfunction", although the socket is clear. Consequently replacing one or both of these devices may help (opening the case, cf. Sec. 11). If not, repairing should be done by the manufacturer in any case.


Warranty, Maintenance

Meßtechnik Ranfft (mtr) warrants the mtr3 and additional options and accessories supplied by mtr against defects in material and workmanship for a period of 12 months from the date of purchase. During this period mtr will repair or replace the product at no charge. This warranty does not apply if the product has been damaged by accident, misuse or misapplication, or as a result of service or modification by people not authorized by mtr. Mtr is not responsible for incidental or consequential damages resulting from the use of the mtr product.
In cases of warranty or service (software update or subsequent addition of options and extensions) please contact your local dealer or the manufacturer.



© 2015 by mtr, Dr.-Ing. Roland Ranfft
mtr3, Rev.14, 20.6.90