mtr9
Programmiergerät - Emulator
mtr9A
Standard-Programmiergerät
mtr, Dr.-Ing. Ranfft, Im Eichfeld 8,
D-41844 Wegberg-Wildenrath
Tel (02432) 491604, Fax (02432) 491605
E-mail:
info@ranfft.de
Internet: http://www.ranfft.de
DEUTSCH
ENGLISH
mtr9 / mtr9A
EPROM-Programmiergerät
Bedienungsanleitung
____________________________________________________
Inhalt
1 Übersicht
2 Inbetriebnahme: Stromversorgung, Daten-Pufferung
3 Benutzerführung
4 Adreß-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 Editor
7.1 Anzeigen, Ändern
7.2 Suchen
7.3 Füllen
7.4 Verschieben
7.5 Split, Shuffle
8 Datenübertragung
8.1 Daten-Format
8.2 Adreßeingabe
8.3 Empfang (down load)
8.4 Senden (up load)
9 V.24-Schnittstelle konfigurieren
9.1 Baudrate
9.2 Bitmuster
9.3 Handshake
9.4 Test
10 Fernbedienung
11 Steckerbelegung der V.24-Schnittstelle
12 Betrieb mit Sockeladaptern
13 Fehlermeldungen
14 Programm-Optionen
15 Austausch des Betriebsprogramms
16 Betriebsstörungen
(C) 1999 by mtr, Dr.-Ing. Ranfft GmbH
1 Übersicht
Das mtr9 dient zum Programmieren, Testen, Editieren und
Emulieren von EPROMs, Flash-EPROMs und EEPROMs bis 1 Mbit. Mit den
Speicher-Erweiterungen mtr9-2A (2Mbit), -2B (4Mbit), 2C (8Mbit)
und -2D (16Mbit) ist auch die Unterstützung größerer
Speicher möglich. Außerdem sind für viele spezielle
Bauelemente, insbesondere Ein-Chip-Mikrocomputer Sockeladapter
lieferbar.
Da das mtr9 einschließlich Prozessor und Analyse-RAM
weitgehend in CMOS-Technik aufgebaut ist, kann man es z.B. für
Service-Zwecke ausreichend lange mit dem eingebauten Akkumulator
betreiben. Die V.24-Schnittstelle ermöglicht die Kommunikation
z.B. mit einem Hostrechner, einem Entwicklungssystem oder einem
weiteren mtr9. Außerdem kann das mtr9 über
diese Schnittstelle bedient werden.
Die Bedienung erfolgt unter Benutzerführung mit jederzeit
abrufbarer Kurzanleitung über die aktuell verfügbaren
Funktionen. Schutzfunktionen für Gerät und Bauelemente
erlauben die Inbetriebnahme ohne Vorkenntnisse; denn nach einer
Fehlbedienung gibt eine Fehlermeldung Hinweise über die Art des
Fehlers. Vom zu bearbeitenden EPROM muß nur die auf jedem
Exemplar aufgedruckte Typkennzahl (z.B. 2764) bekannt sein, und selbst
diese wird meist vom mtr9 erkannt . Weitergehende Unterschiede
werden i.a. automatisch erkannt, so daß auf Datenblätter und
Tabellen verzichtet werden kann.
Die Low-Cost-Version mtr9A ist weitgehend funktionsgleich mit
dem mtr9. Es bestehen lediglich folgende Einschränkungen:
Sockeladapter werden mit Ausnahme einfacher passiver Umsetzer z.B.
für SMD-Gehäuse nicht unterstützt. Außerdem wurde
auch auf die Emulator-Funktion (Abschnitt 6.5) verzichtet.
2 Inbetriebnahme: Stromversorgung, Daten-Pufferung
Vor der Inbetriebnahme überprüfen Sie bitte, ob der
Netzadapter für Ihre Netzspannung ausgelegt ist, und lassen
Sie ihn ggf. austauschen. Sie können 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. 200mA abgibt (die Polarität bei Gleichspannung ist
ohne Bedeutung).
Sobald das mtr9 an den Netzadapter angeschlossen ist, wird die
Batterie geladen, gleichgültig ob das mtr9 eingeschaltet
ist oder nicht. Das Aufladen einer leeren Batterie dauert ca. 3
Stunden. Mit einer vollen Batterie kann ca. eine Stunde lang
programmiert werden (reine Programmierzeit). Dies genügt aufgrund
der schnellen Programmierverfahren für viele
Programmiervorgänge, denn bei allen anderen Funktionen reicht eine
Batterieladung für ca. acht Stunden. Zwar ist eine Überladung
der Batterie nicht möglich, dennoch sollte im Sinne einer hohen
Lebensdauer die ständige Dauerladung vermieden werden.
Rechtzeitig vor der völligen Entladung der Batterie schaltet sich
das mtr9 automatisch ab. Die verbleibende
Batteriekapazität reicht dann immer noch aus, sowohl den Inhalt
des Analyse-RAM als auch die vom Anwender eingestellten Betriebsdaten
für einige Wochen zu sichern; lediglich bei Daten, für die
hier bzw. im Hilfstext des Bedienungsmenüs darauf hingewiesen
wird, werden bei jedem Einschalten Vorwahlwerte eingesetzt.
Nach dem Einschalten läuft zunächst ein Selbsttest ab und es
erscheint eine Copyright-Meldung mit Typangabe mtr9 bzw. mtr9A.
Nach wenigen Sekunden fordert die Anzeige "Taste D: Deutsch" / "key
E: English" zur Wahl der Sprache für alle weiteren Texte auf.
Nach der Wahl erscheint kurz ein Hinweis über die verfügbare
RAM-Größe (1, 2, 4,8 oder 16Mbit) und anschließend der
erste Menütext.
3 Benutzerführung
Im folgenden wird eine Tastenbetätigung durch <TASTE>
und ein Anzeigeinhalt durch "Anzeige" gekennzeichnet.
Die Bedienung erfolgt mit Hilfe von Menüs. Mit den Pfeiltasten
kann ein Wert, eine Funktion oder ein Untermenü aus einem
Menü gewählt werden. Enthält die Anzeige mehrere
Eingabefelder, so wird mit den Pfeiltasten zwischen den Feldern
gewählt und erst nach Erreichen des ersten bzw. letzten Feldes auf
den vorherigen bzw. nachfolgenden Menütext gewechselt.
Mit <ENTER> werden alle Werte einer Anzeige festgelegt,
eine Funktion gestartet oder ein angebotenes Untermenü aufgerufen.
Mit <EXIT> wird eine laufende Funktion abgebrochen.
Wurden mit <ENTER> zuvor Untermenüs aufgerufen, so
kehrt man mit <EXIT> schrittweise zum Hauptmenü
zurück.
Ist eine Zahleneingabe notwendig oder möglich, so wird dies durch
einen blinkenden Cursor angezeigt; Adressen und Daten müssen
hexadezimal eingegeben werden. Wird bei der Eingabe die zulässige
Feldlänge erreicht, so erfolgt ein Wechsel auf das nächste
Eingabefeld; ist kein weiteres Feld vorhanden, so bleibt der Cursor im
letzten bzw. einzigen Feld. Unzulässige Eingabewerte werden
entsprechend dem zulässigen Bereich korrigiert, und ein
intermittierender Piep-Ton signalisiert diese Korrektur.
Zu jedem Menü gibt es eine Kurzanleitung, die mit der Taste <?/0>
aufgerufen werden kann. Außerdem werden Texte, die nicht in die
Anzeige passen mit dieser Taste fortgesetzt; auf diese
Fortsetzungsmöglichkeit wird durch ein inverses Fragezeichen unten
rechts in der Anzeige hingewiesen. Auch wenn die Taste <?/0>
für die Zahleneingabe benötigt wird, kann man damit den
Anleitungstext aufrufen, indem man die Taste ca. eine Sekunde lang
drückt.
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 <1>...<F> direkt einen der
ersten 15 Texte eines Menüs wählen.
4 Adreß-Behandlung
Zur Vereinfachung der Bedienung sind die eingegebenen
Adreßbereiche gleichermaßen für EPROM und mtr9-RAM
gültig (Ausnahme s. 6.5); man braucht also keinerlei
Adreß-Offset zu berücksichtigen.
Der Speicherraum seitenadressierter EPROMs (27513, 27011) wird
fortlaufend im Adreßraum des mtr9-RAM abgebildet; d.h.
Seite 0 belegt dem Bereich 0...3FFF, Seite 1 den Bereich 4000...7FFF
usw.
Für die meisten Bauelemente besteht zusätzlich die
Möglichkeit der Satzbearbeitung. Hierzu kann in der ersten Zeile
des Adreß-Eingabefeldes eine Satz-Nr. von 0 bis F eingegeben
werden; es kann also unter bis zu 16 Datensätze gewählt
werden, sofern der installierte Speicher ausreicht. Die
Adreßbereiche werden dabei automatisch eingestellt.
Adressen, die im Zusammenhang mit der Programmierung oder der
Datenübertragung (vgl. 6.2 bzw. 8.2) eingegeben wurden, werden
gesondert gespeichert und stehen für weitere gleichartige
Funktionen zur Verfügung. Bei den übrigen Funktionen wird
jeweils der Adreßbereich aus der letzten Funktion
übernommen, gleichgültig, ob das mtr9 zwischenzeitig
ausgeschaltet wurde oder nicht.
5 Festlegung des EPROM-Typs
Die erste Funktion im Hauptmenü ist "Typ eingeben". Die
EPROM-Typ-Nummer kann mit den Pfeiltasten aus dem Menü
ausgewählt werden. Das Menü 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
Zugriff-Steuerung erfolgen automatisch. Das mtr9 enthält
eine Typkode-Tabelle, die laufend aktualisiert wird. EPROMs mit einem
Typkode (silicon signature), der in der Tabelle enthalten ist, werden
automatisch erkannt.
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.
Beispiel 5
Es sollen mehrere EPROMs vom Typ 2764 mit dem Inhalt eines
Muster-EPROMs programmiert werden:
1) Aus Hauptmenü "Typ eingeben" wählen und mit <ENTER>
starten. Es wird der zuletzt verwendete Typ angezeigt.
2) Mit <é>/<ê> Anzeige "2764"
wählen und mit <ENTER> oder <EXIT>
Wechsel zum Menütext "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 Hauptmenü 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 kurzzeitig 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
erste Menütext zu dieser Funktion.
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 Hauptmenü 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 Menü
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 der zuletzt bei
dieser oder einer anderen Funktion verwendete Adreßbereich;
dieser kann erneut verwendet oder mit neuen Werten überschrieben
werden. Nach <ENTER> wird der so spezifizierte Bereich
gelesen.
Beispiel 6.1
Ein 2764 soll vollständig gelesen werden:
1) Aus Hauptmenü mit Pfeiltasten "Lesen" wählen.
2) <ENTER> -> kurzzeitig "2764", dann "Komplett".
3) <ENTER> -> kurzzeitig "Warten", dann "Prüfsumme".
4) <Taste> -> "Programmieren"
(Hauptmenü).
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. Falls zulässig, wird als
Vorwahl-Adreßbereich der bei der letzten Programmierung
verwendete Bereich eingesetzt, auch wenn zwischenzeitlich andere
Funktionen genutzt wurden. Auch der zuletzt verwendete
Programmieralgorithmus kann erneut verwendet werden.
Beides erreicht man, indem man die Programmierung direkt ausgehend vom
Menütext "Programmierdaten wie zuvor" startet. Dieser Text
wird jedoch nicht angeboten, wenn gegenüber der letzten
Programmierung der EPROM-Typ gewechselt wurde (es darf aber z.B.
zwischenzeitlich ein anderer Typ gelesen werden).
Soweit nicht durch den EPROM-Typ ein bestimmter Programmieralgorithmus
vorgeschrieben ist, bietet das mtr9 folgende Algorithmen an:
1) Schnell (mtr): Wie "inteligent", jedoch mit einer Zeitbasis von
0,1ms anstelle von 1ms.
2) "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.
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) "SNAP!" (nach TI) bzw. "RAPID" (nach Atmel).
5) "Quick Pro" (nach Fujitsu): Wie "inteligent", Nachprogrammierdauer
jedoch nur n x 1ms.
6) 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 mtr9 bei
Vcc=6,25V, wie von den meisten Halbleiterherstellern empfohlen; dieser
Wert bietet optimale 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 Adreßbusfehler 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 drei- bis zehnfach
schneller; er kann 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. 6s benötigt,
drei Sekunden für die Programmierung selbst und drei Sekunden
für die in allen Algorithmen durchgeführten umfangreichen
Tests:
1) Tests vor der Programmierung:
1.1) Versorgungsstrom prüfen.
1.2) Vpp-Anschluß bei Vpp=5V und Vcc=0V prüfen.
1.3) Ist der Datenbus hochohmig, wenn kein EPROM-Zugriff erfolgt?
1.4) Sind die Datenbuspegel bei einem EPROM-Zugriff logisch definiert?
1.5) Adreßbus auf Kurzschlüsse prüfen.
1.6) Sind alle zu programmierenden Bytes gelöscht?
1.7) Vcc auf 6,25V erhöhen, Versorgungsstrom testen.
2) Tests während der Programmierung (je Byte):
2.1) Adreßbus 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 ist.
Hierfür wird ein 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) Adreßbus auf Kurzschlüsse prüfen.
3.3) Gesamten programmierten Bereich verifizieren.
Für einen Aufwand von drei 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 mtr9-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 Adreß-, Daten- und Zugriffsanschlüsse
so verhält wie das per Typeingabe 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 Hauptmenü "Programmieren" wählen.
2) Erstes EPROM einsetzen
3) <ENTER> -> kurzzeitig "2764", dann letzter
Algorithmus.
4) <é> / <ê> -> "Schnell (mtr);
0,1ms-Pulse" .
5) <ENTER> -> "Komplett".
6) <ê> ->
"Adreßbereich 0: ssssss...eeeeee"
(zuletzt verwendeter Bereich).
7) <0><ê>
-> "Adreßbereich 0: 0...eeeeee", (neue Startadresse).
8) <F><F><F> -> "Adreßbereich 0:
0... 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 "Programmierdaten
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.
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 "Adresse
n: aaaaaa, RAM:rr, EPROM:ee" angezeigt, wobei n die
Satz-Nr., aaaaaa die Adresse, rr die RAM-Daten und ee die EPROM-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 Hauptmenü "Vergleichen"
wählen.
2) EPROM mit unbekannter Änderung einsetzen.
3) <ENTER> -> kurzzeitig "2764", dann "Komplett".
4) <ENTER> -> kurzzeitig "Warten", dann "Abweichungen".
5) <Taste> -> "Adresse 0: aaaaaa, RAM:rr, EPROM:ee",
mit der gesuchten
Adresse aaaaaa, den Originaldaten rr und dem geänderten Byte ee.
6.5 Emulieren (nicht verfügbar im mtr9A)
*** 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 mtr9 nicht auszuschließen.
Beim Betrieb des mtr9 als EPROM-Emulator wird dessen RAM-Inhalt
als Inhalt des nachzubildenden EPROMs verwendet. Es kann während
der Emulation zwischen bis zu 16 Datensätzen gewählt werden,
sofern der installierte Speicher ausreicht. EPROMs mit
Seiten-Adressierung (z.B. 27513, 27011) können nicht emuliert
werden.
Nach dem Start der Funktion erscheint zunächst kurz die Typ-Nr.
und dann ein Hinweis auf die Verpolungsgefahr. Mit einer weiteren Taste
gelangt man zur Auswahl des Datensatzes. Das mtr9 verhält
sich nun wie ein EPROM mit einer Zugriff-Zeit von ca. 100ns, solange
dessen Programmiersockel über ein geeignetes DIL-Kabel mit dem
EPROM-Sockel des Ziel-Systems verbunden ist.
Beim Wechsel des Datensatzes durch Eingabe einer neuen Satz-Nr. (0...9,
A...F) wird der zugehörige Adreßbereich im RAM angezeigt;
seine Länge entspricht dem Speicherumfang des emulierten EPROM. Es
ist zu berücksichtigen, daß das Zielsystem in der Regel
abstürzt, wenn während des Betriebes der Programm-Code
gewechselt wird; bei Daten-Code ergeben sich dagegen normalerweise
keine Probleme durch einen Bereichswechsel.
Die Emulation ist keine exakte Nachbildung des simulierten EPROM. Neben
der begrenzten Zugriffszeit (ca. 100ns) sind insbesondere
parasitäre Impedanzen zu berücksichtigen: In umfangreichen
Systemen treten aufgrund hoher Leitungsimpedanzen
Einschwingvorgänge auf Adreß- 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
Beispiel 6.5
Der Einfluß verschiedener Zünd-Kennfelder auf das Verhalten
eines Motors soll untersucht werden; zwei Felder sollen sich in zwei
27256-Dateien befinden:
1) Mit "Lesen" zunächst die zweite Datei auf den Bereich
0...7FFF des mtr9 laden.
2) Mit "Verschieben" (Editor-Menü) diese Datei auf die
Zieladresse 8000 schieben.
3) Mit "Lesen" die erste Datei laden.
4) Aus Hauptmenü "Emulieren" wählen.
5) <ENTER> -> kurzzeitig "2764", dann "ACHTUNG!
VERPOLUNG KANN...".
6) <Taste> -> "Adreßbereich n:
ssssss...eeeeee"; mit dem zuletzt
benutzten Bereich.
7) <0> -> "Adreßbereich 0: 0... 7FFF";
nun wird die erste Datei für die Simulation genutzt.
6) <1> -> "Adreßbereich 1: 8000... FFFF";
nun wird die zweite Datei für die Simulation genutzt.
7 Editor
Mit <ENTER> bei der Anzeige "Editor starten"
gelangt man zur ersten Funktion des Editormenüs: Anzeigen,
Ändern (s. 7.1). Erneut <ENTER> liefert die weiteren
Editorfunktionen, die wie gewohnt mit den Pfeiltasten aus dem Menü
gewählt werden:
1) Anzeigen, Ändern (Funktion mit <ENTER> verlassen)
2) Suchen,
3) Füllen,
4) Verschieben,
5) Split, Shuffle.
Mit <ENTER> wird die gewählte Funktion gestartet und
in der Anzeige erscheint der erste Menütext zu dieser Funktion.
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
Editormenü 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 "Adresse: aaaaaa,
Daten: dd"; darin ist aaaaaa (=0 beim Start) die zuletzt
eingegebene Adresse und dd der zugehörige Datenwert.
Der Cursor kann nun mit den Pfeiltasten zwischen oberem (Adresse) und
unterem (Daten) Feld bewegt werden, und es kann der Wert im
entsprechenden Feld geändert werden. Bewegt man nach Eingabe einer
Adresse den Cursor zum Datenfeld, so erscheint unmittelbar der zur
eingegebenen Adresse gehörige Daten-Wert, der nun ggf.
überschrieben werden kann.
Befindet sich der Cursor bereits im Datenfeld, so wird mit <ê> die Adresse um eins
erhöht; mit dem Cursor im Adreßfeld bewirkt umgekehrt <é> eine Verringerung der
Adresse um eins.
7.2 Suchen
Nach Eingabe eines Adreßbereichs und einer Folge von bis zu
fünf Daten-Bytes wird der so spezifizierte Bereich des RAM nach
dem eingegebenen Datenwort durchsucht.
Ist die Suche erfolgreich, so wird die Funktion Anzeigen/Ändern
(s.o.) bei der Startadresse des gefundenen Datenwortes gestartet. Wird
die Such-Funktion erneut gestartet, so kann man mit 2x <ENTER>
die Suche nach weiteren Übereinstimmungen fortsetzen, denn die
Startadresse wird hierzu entsprechend verändert und das
eingegebene Datenwort bleibt unverändert. Werden keine
Übereinstimmungen gefunden, so erscheint die Meldung "Nicht
gefunden: aa bb cc dd ee" mit dem zuvor eingegebenen Datenwort
aa bb cc dd ee.
7.3 Füllen
Nach Eingabe eines Adreßbereichs und einer Folge von bis zu
fünf Daten-Bytes wird der so spezifizierte Bereich des RAM
fortlaufend mit dem eingegebenen Datenwort 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 eines Adreßbereichs und einer Zieladresse wird der
durch den Adreßbereich festgelegte Datensatz auf den Zielbereich
verschoben, der bei der eingegebenen Zieladresse beginnt.
Unabhängig von den Adreßwerten (auch bei Überschneidung
von Quell- und Zielbereich) bleibt der verschobene Datensatz
unverändert.
7.5 Split, Shuffle
Nach <ENTER> steht ein Untermenü mit den nachfolgend
beschriebenen Funktionen zur Unterstützung größerer
Wortlängen als 8bit zur Verfügung. Die Funktion wird jeweils
im RAM-Adreßbereich von 0 bis zur eingegebenen oberen Grenze
ausgeführt.
1) Split: Mit dieser Funktion werden Bytes aus geraden Adressen
fortlaufend auf die untere Hälfte des Adreßbereichs
transformiert und Bytes aus ungeraden Adressen auf die obere
Hälfte. 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 dieser 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 Hälfte des
Adreßbereichs gegeneinander ausgetauscht. Diese Funktion ist
nützlich, 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 bringen, so ginge die ursprünglich untere
Hälfte durch Überschreiben verloren.
4) A0 invertieren: Diese Funktion ist z.B. hilfreich, wenn bei der
Übertragung auf das mtr9 in einer 16-Bit-Datei jeweils das
H-Byte vor dem L-Byte steht, der Ziel-Prozessor es jedoch umgekehrt
benötigt. Bei Verwendung zweier 8-Bit-EPROMs können diese
vertauscht werden, bei einem 16-Bit-EPROM geht dies natürlich
nicht.
8 Datenübertragung
Die Datenkommunikation zwischen mtr9 und einem anderen
Gerät erfolgt über die V.24-Schnittstelle. Voraussetzung ist
die richtige Konfiguration der Schnittstelle (s. 9).
Nach Auswahl von "Datenübertragung" und <ENTER>
erfolgt ein Sprung auf "Adreßbereiche, Richtung"., und
man kann mit der Adreßeingabe fortfahren. Nach der
Adreßeingabe wird die Übertragungsrichtung gewählt und
die Übertragung gestartet. Sowohl für die Adressen als auch
für die Übertragungsrichtung werden zunächst die
Parameter aus der letzten Datenübertragung angeboten; diese
können beibehalten werden, so daß für mehrere
gleichartige Übertragungen keinerlei Neueingabe bzw. Neuauswahl
erforderlich ist, gleichgültig, ob zwischenzeitlich andere
Funktionen verwendet wurden oder das mtr9 abgeschaltet wurde.
Es wird davon ausgegangen, daß irgendwann zuvor das
üblicherweise verwendete Daten-Format festgelegt wurde (es bleibt
auch bei zwischenzeitigem Abschalten des mtr9 gespeichert). Ist
dies nicht Fall oder soll das Format geändert werden, so
wählt man mit <ê>
die Funktion "Daten-Format" (s.u.).
8.1 Daten-Format
Nach Aufruf der Funktion kann man unter folgenden Formaten
auswählen:
1) Intel-Hex (automatische Anpassung an Adreß-Umfang),
2) Motorola-S-Record (automatische Anpassung an S1/S9- und
S2/S8-Format),
3) Standard Tekhex (Tektronix, Millenium)
4) Extended Tekhex (Tektronix, Millenium)
5) ASCII-Hex; Empfang: mit oder ohne beliebige Trennzeichen,
Senden: mit einer Leerstelle nach je zwei Zeichen (einem Byte),
6) Binär; hier sind natürlich keine Steuerzeichen
zulässig, und eine
Übertragung mit 7 Datenbits ist nicht möglich.
Lauffähige Programmdateien liegen meist in einem der ersten vier
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 mtr9.
8.2 Adreßbereiche
Nach dem Start der Funktion "Adreßbereiche, Richtung"
werden die Hostadresse (nur bei Intel-Hex, Motorola-S-Record und
Tekhex) sowie der Adreßbereich im mtr9-RAM festgelegt.
Die richtige Eingabe von Host- und Startadresse ist
außerordentlich wichtig, da die Differenz Hostadresse -
Startadresse die Lage der Datei im mtr9 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 Adreßangaben fett gedruckt.
Beide Blöcke sind gleichbedeutend und enthalten die Ladeadresse
C000:
Intel: :20C000003E7FD681 ...
Motorola: S123C0003E7FD681 ...
8.3 Empfang (down load)
Nach Wahl von "mtr9 empfängt" und <ENTER>
erscheint die Anzeige "mtr9 empfängt / wartet" und ein
blinkender Cursor zeigt an, ob tatsächlich Daten empfangen werden
oder auf Daten gewartet wird.
Im Falle von Intel-, Motorola- oder Tektronix-Code wird
grundsätzlich der gesamte Quell-Datensatz zum mtr9
übertragen, wobei das zur eingegebenen Hostadresse gehörige
Byte auf der Startadresse des eingegebenen RAM-Bereichs abgelegt wird
usw., d.h. die Differenz zwischen Startadresse und Hostadresse ist die
bei der Übertragung entstehende Verschiebung der EPROM-Adresse
gegenüber der Original-Programmadresse. Falls Daten
übertragen werden, die aufgrund der Adreßverschiebung
außerhalb des eingegebenen Adreßbereichs 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 Adreßinformation;
deshalb wird das erste Byte auf die erste Adresse des eingegebenen
Bereichs übertragen und anschließend die Adresse nach jedem
Byte (zwei ASCII-Zeichen bzw. ein 8-bit-Binärwert) um eins
erhöht. Wird dabei die Endadresse 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.
Beispiel 8.3
Ein Intel-Hex-Programm, das unter "NAME" im Laufwerk B: eines
MSDOS-Rechners gespeichert ist und das mit der Adresse C000 beginnt,
soll auf ein 2764 übertragen werden, das aufgrund der Dekodierung
den Adreßbereich C000...DFFF belegt. Das mtr9 sei auf
9600 Baud, keine Parität, 8 Daten-, 2 Stopbits eingestellt (vgl.
9) und mit der Schnittstelle "COM1" des Rechners verbunden:
1) Mit dem MSDOS-Befehl mode com1:9600,n,8,2,p wird die
Schnittstelle auf
die gleichen Parameter sowie Ausgabewiederholung eingestellt.
2) Aus Hauptmenü "Datenübertragung" wählen.
3) <ENTER> -> "Adreßbereich, Richtung".
4) <ê> -> "Daten-Format".
5) <ENTER> -> "altes Format".
6) <é>, <ê> -> "Intel-Hex".
7) <ENTER> -> "Adreßbereiche, Richtung".
8) <ENTER> -> "Hostadresse: alter Wert"
9) <C><0><0><0> -> "Hostadresse:
C000".
10) <ENTER> -> "Adreßbereich: alter Bereich".
11) <0><ê>
-> "Adreßbereich: 0...altes Ende".
12) <1><F><F><F> -> "Adreßbereich:
0... 1FFF".
13) <ENTER> -> "alte Richtung"".
14) <é>, <ê> -> "mtr9
empfängt"".
15) <ENTER> -> "mtr9 empfängt / wartet",
ein blinkender Cursor zeigt an,
ob das mtr9 Daten empfängt oder auf Daten wartet.
16) Mit dem MSDOS-Befehl copy b:name com1 wird die
Übertragung gestartet.
Anschließend kann das EPROM direkt programmiert werden (vgl.
6.2).
8.4 Senden (up load)
Nach Wahl von "mtr9 sendet" und <ENTER> erscheint
die Anzeige "mtr9 sendet / wartet" und ein blinkender
Cursor zeigt an, ob tatsächlich Daten gesendet werden oder ob das mtr9
auf die Empfangsbereitschaft des Hostrechners wartet.
Der Quell-Datensatz aus dem eingegebenen Adreßbereich des mtr9-RAM
wird nun zum Hostrechner übertragen. Im Falle des Intel-,
Motorola- oder Tektronix-Codes ist die eingegebene Hostadresse die
Ladeadresse für das erste Byte des Adreßbereichs.
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 mtr9 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.
Beispiel 8.4
Der Inhalt eines 2764-Musters soll zur Archivierung als Intel-Hex-Datei
unter "NAME" im Laufwerk B: eines MSDOS-Rechners abgelegt 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 Hauptmenü "Datenübertragung"
wählen.
2) Nach dem MSDOS-Befehl copy com1 b:name ist der Hostrechner
empfangsbereit
3) <ENTER> -> "Adreßbereiche, Richtung".
4) <ENTER> -> "Hostadresse: alter Wert"
5) <0> -> "Hostadresse: 0".
6) <ENTER> -> "Adreßbereich: alter Bereich".
7) <0><ê>
-> "Adreßbereich: 0...altes Ende".
8) <1><F><F><F> -> "Adreßbereich:
0... 1FFF"
13
9) <ENTER> -> "alte Richtung"".
10) <é>, <ê> -> "mtr9 sendet"".
11) <ENTER> -> "mtr9 sendet / wartet", ein
blinkender Cursor zeigt, ob das mtr9
Daten sendet oder auf die Empfangsbereitschaft des Host-
Rechners wartet.
9 V.24-Schnittstelle konfigurieren
Das Konfigurations-Menü bietet folgende
Einstellmöglichkeiten, unter denen mit den Pfeiltasten
gewählt werden kann:
Baudrate,
Bitmuster (Daten-, Stop-, Paritäts-Bits),
Handshake,
Test.
9.1 Baudrate
Es kann einer der Werte 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600,
19200, 38400 Baud mit den Pfeiltasten gewählt werden. Nach <ENTER>
erfolgt der Übergang zur Bitmuster-Eingabe.
Normalerweise wird man die höchstmögliche Baudrate
wählen, d.h. unter MS-DOS ohne spezielle Schnittstellen-Treiber
9600 Baud, unter Windows 38400 Baud. Die niedrigen Baudraten werden
verwendet für die Datenübertragung über Telefonleitungen
sowie die Ausgabe von Dateien auf Druckern, die keine
Handshake-Möglichkeit bieten.
9.2 Bitmuster
Die Übertragung erfolgt wahlweise mit 7 oder 8 Datenbits, 1 oder 2
Stopbits sowie gerader, ungerader oder keiner Parität. Bei Eingabe
unzulässiger Bit-Zahlen wird automatisch auf den zulässigen
Wertebereich begrenzt, die Wahl des Paritäts-Bits erfolgt wieder
mit den Pfeiltasten.
9.3 Handshake
Es kann mit den Pfeiltasten zwischen keinem, CTS/DTR-Handshake
(Hardware-Handshake) und XON/XOFF-Handshake (Software-Handshake)
gewählt werden.
Verzichten sollte man nur dann auf Handshake-Signale, wenn diese von
der angeschlossenen Schnittstelle nicht zur Verfügung gestellt
werden. Das mtr9 kann bei Empfang mit bis zu 9600 Baud meist
ohne Handshake betrieben werden; beim Senden hängt die Grenze
natürlich vom jeweiligen Hostrechner ab.
Unabhängig vom Handshake-Verfahren kann des mtr9
mindestens noch vier Bytes empfangen nachdem es das Signal "nicht
empfangsbereit" abgegeben hat, d.h. nach DTR=0 bzw. nach Sendung von
XOFF (Ctrl-S, hex-13) zum Hostrechner. Empfangsbereit ist das mtr9
unmittelbar nach Abgabe des entsprechenden Signals, d.h. nach DTR=1
bzw. nach Sendung von XON (Ctrl-Q, hex-11).
Umgekehrt unterbricht das mtr9 eine Sendung zum Hostrechner
unmittelbar nach Empfang des entsprechenden Signals vom Hostrechner,
d.h. nach CTS=0 bzw. nach Empfang von XOFF. Der Hostrechner
benötigt also keinerlei Empfangspuffer.
Beim XON/XOFF-Protokoll kann es Unstimmigkeiten mit der Steuer-Software
des Hostrechners geben. Deshalb gibt es die Möglichkeit, den
XOFF-Status zu ignorieren: Wenn das mtr9 auf Daten vom
Hostrechner wartet (Anzeige durch Cursor, vgl. 8.3), wird mit <ENTER>
das Signal XON zum Hostrechner gesendet, was diesen ggf. zum Senden von
Daten veranlaßt. Wartet das mtr9 vergeblich auf das XON
vom Hostrechner (Anzeige durch Cursor, vgl. 8.4), so kann mit <ENTER>
das Senden dennoch gestartet werden, und es wird erst erneut
unterbrochen, wenn das mtr9 XOFF vom Hostrechner empfängt.
9.4 Test
Für den Test werden DTR (Pin 20) mit CTS (Pin 5) sowie TD (Pin 2)
mit RD (Pin 3) verbunden. Nach <ENTER> wird dann ein
Schnittstellen-Test mit der zuvor eingestellten Baudrate
durchgeführt und das Ergebnis angezeigt.
10 Fernbedienung
Das mtr9 kann über die V.24-Schnittstelle fernbedient
werden, wobei die zuvor eingestellten Schnittstellenparameter gelten
(Baudrate, Bitmuster, Handshake); diese können nicht per
Fernsteuerung geändert werden, da der nachfolgende
Fernsteuerbefehl nicht mehr entschlüsselt werden könnte.
Ebenso ist die Fortsetzung nach einem Schnittstellenfehler nur
über die eigene Tastatur möglich. Auch während des
Empfangs einer Datei ist die Fernsteuerung gesperrt, da nicht zwischen
Steuer-Code und Empfangsdaten unterschieden werden könnte. Von
diesen Ausnahmen abgesehen kann das mtr9 ohne
Einschränkung fernbedient werden.
Der Wechsel zwischen Fernbedienung und Autonom-Betrieb erfolgt
automatisch: Nach Empfang eines Fernsteuer-Codes wird auf Fernsteuerung
umgeschaltet, nach Betätigung einer mtr9-Taste auf
Autonom-Betrieb; d.h., beide Betriebsarten sind gleichzeitig
möglich.
Die Fernbedienung entspricht der Bedienung über die Tastatur,
wobei zwischen den an das mtr9 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
3F ? ? (Hilfs-Funkt.)
Jeder empfangene Tasten-Code wird durch ein Echo quittiert, und jeder
Anzeigetext des Normal-Betriebs wird mit CR/LF nach jeder Sendezeile
(je zwei Anzeigezeilen) sowie am Schluß gesendet. An die Stelle
des Piep-Tones bei Meldungen tritt das ASCII-Zeichen BEL (hex 07), das
bei Terminals i.a. einen Piepton auslöst.
Eingabefelder werden durch < > gekennzeichnet und nach jedem
eingegebenen Zeichen wird die gesamte Eingabe mit CR vorweg und
nachfolgend wiederholt, d.h., die Bildschirmposition der Eingabe auf
einem Terminal bleibt unverändert.
Damit ist das mtr9 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 mtr9 möglich ist.
11 Steckerbelegung der Schnittstelle
Der 25-polige Sub-D-Buchsenstecker des mtr9 ist als
Daten-Endeinrichtung (DEE) wie folgt beschaltet:
2: D1 / TD 7: E2 / GND
3: D2 / RD 20: S1 / DTR
5: M2 / CTS übrige: nicht belegt
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 durchverbunden). 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
Akustikkopplern, 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).
12 Betrieb von Sockeladaptern (nicht verfügbar im mtr9A)
Mit dem mtr9 können spezielle EPROM-Bauelemente mittels
geeigneter Sockeladapter bearbeitet werden. Derzeit lieferbare Adapter
und die damit zu bearbeitenden Bauelemente können folgender
Tabelle entnommen werden:
Adapter-Typ unterstützte Bauelemente
mtr9-3 (9-3P) EPROMs mit 16 bit Wortlänge im DIP40 (PLCC44)
mtr9-4 8741(A), 8742(AH), 8748(H), 8749AH
mtr9-5 8744H, 8751H, 87C51, 87C51-Reihe, 89C51-Reihe
mtr9-6 63701 V0
mtr9-7 63701 X0
mtr9-8 63705 V0
mtr9-9 87M12-Reihe , CC460 V1, -V2
mtr9-10 AMD- und Intel-Flash im SOP44
mtr9-11 (A, B) Siemens C500-Reihe
Beim Adapterbetrieb sind folgende Besonderheiten zu beachten:
1) Die Sockeladaptern bieten keine Emulationsfunktion.
2) Der Sockeladapter wird vom mtr9 automatisch identifiziert,
d.h. für die Typauswahl wird automatisch das für den Typ
gültige Menü eingestellt.
3) Die Programmierspannungsautomatik des mtr9 ist bei
Verwendung eines Sockeladapters außer Betrieb, denn nahezu keines
der durch Sockeladapter unterstützten Bauelemente ermöglicht
einen eindeutig definierten Betriebszustand bei zu geringer
Programmierspannung. Zudem sind nicht alle Tests des Normalbetriebs
möglich.
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.
13 Fehlermeldungen
Das mtr9 führt bei jeder Funktion Tests durch, die
Schäden durch Bauelemente-Fehler und Fehlbedienungen praktisch
völlig ausschließen (Ausnahme Emulation). Meist werden diese
Fehler automatisch korrigiert. Wo dies nicht möglich oder sinnvoll
ist, werden Fehlermeldungen angezeigt, die nachfolgend näher
erläutert werden.
"Abweichungen": Beim Vergleichen (6.4) wurden Unterschiede
zwischen EPROM- und RAM-Daten erkannt.
"Batterie leer, Daten unsicher": Die Batterie wurde soweit
entladen, daß die Daten im batteriegepufferten Analyse- und
Arbeitsspeicher nicht mehr gesichert sind.
"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.
"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)
"Sockeltreiber oder RAM defekt": Es liegt ein Gerätefehler
vor.
"V.24-Fehler": Beim Empfang einer Datei oder bei Fernbedienung
wurde einer der folgenden, in der Anzeige erläuterten Fehler
erkannt:
"Parität": Paritätsbit falsch.
"Stopbit=0": Ein oder ggf. beide Stopbits sind Null, meist durch
Eingabe einer falschen Anzahl von Daten oder Stopbits.
"SR-Überlauf": Überlauf des Empfangs-Schieberegisters,
meist durch fehlerhaftes Handshake oder durch falsche Anzahl der Daten-
und/oder Stopbits.
"Überlauf": Überlauf des Empfangspuffers durch
fehlerhaftes Handshake.
"Blocksumme": Es wurden bei Prüfbytes (Intel-Hex,
Motorola-S-Record, Tekhex vgl. 8.1) Fehler festgestellt.
"CTS/DTR" bzw. "RX/TX": Im Test entdeckter
Hardware-Fehler bei Handshake- bzw. Datenleitungen (vgl. 9.4).
14 Programm-Optionen
Beim Einschalten werden die Programm-Optionen auf Vorwahlwerte gesetzt.
Da sie nur in Sonderfällen geändert werden sollten (z.B.
Programmieren in der Schaltung, Lesen defekter Speicher), ist Eingabe
des Codes "123" erforderlich, bevor man auf die folgenden Parameter
zugreifen kann (Vorwahlwerte in Klammern):
Fernsteuerung: ein/aus (ein),
Vcc-Test: ein/aus (ein),
Vpp-Test: ein/aus (ein),
Adreß-Test: ein/aus (ein),
Zugriff-Test: ein/aus (ein),
Typ-Identifizierung: ein/aus (ein),
6,25V enable: ein/aus (ein).
15 Austausch des Betriebsprogramms
Das Betriebsprogramm des mtr9 wird ständig
weiterentwickelt, d.h. an die Bedürfnisse der Benutzer, an neue
EPROM-Typen sowie an neue Adaptermodule angepaßt.
Soll Ihr mtr9 an den jeweils letzten Stand angepaßt
werden, so ist dies herstellerseitig in kürzester Zeit
möglich. Wenn das Gerät ständig benötigt wird, kann
es sinnvoller sein, das Programm-EPROM selbst auszutauschen. 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 können sie das am Boden der mtr9-Platine
befindliche EPROM auswechseln.
Achtung! Der Kontakt der abgezogenen Batterie-Steckhülsen
miteinander oder mit leitenden Teilen der Platine kann
zu Schäden führen!
Die jeweils aktuellste Version des Betriebsprogramms und der
Fernsteuer-Software kann kostenlos aus dem Internet heruntergeladen
werden (URL siehe Umschlagseite).
16 Betriebsstörungen
Durch konstruktive Besonderheiten, bei denen die Erfahrungen aus
über tausend Exemplaren des Vorgänger-Modells mtr3
berücksichtigt wurden, ist das mtr9 ausgesprochen
widerstandsfähig. 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 hinreichend 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.
Adreßleitungen 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.
Der Sockel kann ohne Öffnen des Gerätes von oben demontiert
werden: Nach Lösen zweier Schrauben an den Sockel-Enden kann
dieser aus einem darunter befindlichen Sockel herausgezogen werden. Er
kann nun nach Bedarf in Spiritus gereinigt, oder ausgetauscht werden.
2) Verpolung bei Emulation: Da bei Verpolung des Emulatorkabels das
Netzteil des Zielsystems über Schutzdioden in den CMOS-Schaltungen
des mtr9 kurzgeschlossen wird, treten hierdurch häufig
Schäden auf. Diese äußern sich meist durch die Meldung "Sockeltreiber
oder RAM defekt" nach dem Einschalten oder ebenfalls durch o.g.
Meldungen. Die Schäden sind jedoch normalerweise nur auf die
Sockeltreiber beschränkt (vier um den Programmiersockel
angeordnete 74HC245 oder 74HCT245).
Entsprechend kann der Fehler meist durch Erneuern eines oder mehrerer
dieser Treiber beseitigt werden. Hilft dies nicht, so sollte die
Reparatur in jedem Fall werkseitig durchgeführt werden.
Für den Austausch der Treiber muß die Platine des mtr9
aus dem Gehäuse-Oberteil ausgebaut werden. Hierzu wird
zunächst der Batterie-Anschluß abgenommen.
Achtung! Der Kontakt der abgezogenen Batterie-Steckhülsen
miteinander oder mit leitenden Teilen der Platine kann
zu erheblichen Schäden führen!
Jetzt schrauben Sie die Platine vom Oberteil ab (vier Schrauben an
Platinenecken) und heben die Platine an Vorderkante an.
Nach Abziehen des Tastatursteckers (Folienkabel) können Sie die
Platine aus dem Gehäuseoberteil herausnehmen und, sofern
vorhanden, die RAM-Platine aus ihrem Sockel hebeln. Nun sind alle vier
Treiber zugänglich.
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).
ENGLISH
mtr9 / mtr9A EPROM-Programmer
Operation Manual
_________________________________________________________
Table of Contents page
1 Introduction
2 Getting Started: Power Supply, Battery Backup
3 Menu 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 Editor
7.1 Edit Single Locations
7.2 Find
7.3 Fill
7.4 Move
7.5 Split, Shuffle
8 File Transfer
8.1 File Format
8.2 Address Entry
8.3 Down Load
8.4 Up Load
9 Serial Interface Configuration
9.1 Baud Rate
9.2 Bit Pattern
9.3 Handshake
9.4 Test
10 Remote Control
11 RS 232 C Connector Pin Out
12 Socket Adapter Options
13 Error Messages
14 Software Options
15 Software Update
16 Malfunctions
(C) 1999 by mtr, Dr.-Ing. Ranfft GmbH
1 Introduction
The mtr9 comfortably performs programming, testing, editing,
and emulation of EPROMs, Flash-EPROMs and EEPROMs up to 1 Mbit (128
Kbyte). With the RAM extensions mtr9-2A (2Mbit), -2B (4Mbit), -2C
(8Mbit), and -2D (16Mbit) even very large EPROMs are supported.
Moreover, for many special devices, e.g. one-chip-microcomputers,
socket adapters are available.
As in the mtr9 CMOS devices are widely used, it can be operated
from its 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 development station, or another mtr9.
Moreover, it can be configured for remote control.
The mtr9 is operated using a menu technique with help messages
which the user can call at any time. Operating- and error messages are
plainly displayed 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 mtr9 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
characteristic type number, printed on every device (e.g. 2764), and
even this is usually identified by the mtr9. Thus you don't
need any data sheets or tables for proper setting of parameters.
The low-cost version mtr9A is restricted to standard devices,
and thus doesn't support socket adapters, except passive adapters for
e.g. SMD packages. Moreover the mtr9A has no emulation facility
(Section 6.5).
2 Getting Started: Power Supply, Battery Backup
Before connecting the mains adapter to an outlet, make sure that the
correct nominal mains voltage is given on the label. You can obtain the
right adapter from your dealer; if this is not immediately available,
you may use a universal AC adapter with an output voltage of 6...12V AC
or 9...16V DC at 200mA.
As long as the mtr9 is connected to the mains adapter the built
in NiCd battery is charged, whether the mtr9 is switched on or
not. Recharging a fully discharged battery needs about 3 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
8 hours. You cannot damage the battery by charging it too long;
nevertheless, continuously charging the battery will slightly shorten
its life time.
Right before the battery is totally discharged, the mtr9 will
power down automatically. The remaining battery capacity will provide
for several weeks of battery backup for the contents of the analysis
RAM as well as most operating parameters entered by the user. Only data
which should only be changed in very special cases are reset to default
values with every turn on.
After switching on the mtr9, first a self check is executed;
during this check a copyright message is displayed introducing the type
of the programmer, mtr9 or mtr9A. After some seconds
the question "Taste D: Deutsch"/ "key E: English" will appear.
Hit the E key, to set the programmer to English messages for the
following session. Now the size of the installed RAM (1, 2, 4, 8 ,or
16Mbit) is displayed, and after a second the first menu text.
3 Menu Operation
In the following a key stroke is indicated by <key> and
the display contents by "message". The operation of the mtr9
is supported by menus and messages. Each menu includes the actually
available functions. With the cursor keys, <é>, <ê>,
a value, a function, or a sub menu can be chosen. If the display is
containing more than one entry fields you can scroll through them, and
the previous or following menu text will appear after having reached
the first or last field, respectively.
With <ENTER> all values are fixed, a displayed function
is started, or an offered sub menu is called. <EXIT> will
break any function, and return the program through the menu tree back
to the main menu.
If a numerical entry is possible or necessary, this is indicated by a
flashing cursor. Address- and data entry must be hexadecimal. After
filling an entry field, the cursor will change to the next field, if
available.
The entry of invalid values (e.g. start higher than end, or address
higher than the type-dependent maximum) is prevented by automatic
adjustment to the permissible ranges. This correction is indicated by
an intermitting beep.
In each menu, there is a help instruction available which can be
requested by hitting <?/0>. If this instruction or any
other text is too long to fit into the display, this key is also used
to continue the text, as long as an inverse question mark is displayed
in the lower right corner. If <?/0> is needed for
numerical entry, it must be held down for about one second to call the
help- or continue function.
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 numerical entry is possible (no blinking cursor), the numeric
keys <1>...<F> can be used to choose directly one
of the first 15 items of a menu, in order to speed up operation.
4 Address Processing
In order to simplify operation, all addresses are simultaneously valid
for the EPROM and the mtr9 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 (except emulation, s. below).
The memory space of page-mode EPROMs (27513, 27011) is continuously
transformed to the mtr9 address range; i.e., page 0 occupies
the range 0...3FFF, page 1 the range 4000...7FFF etc.
For the most devices the mtr9 is offering set processing. In
the first line of the address-entry display a set number between 0 and
F (hex) can by chosen. Thus, up to 16 files are supported if sufficient
RAM size is installed. If this feature is used, the address ranges are
set automatically.
Address values related to programming or file transfer (cf. 6.2, 8.2
respectively) are stored separately, and thus can be used as default
values for following operations of the same kind. For the remaining
functions the address range is always defaulting to the recently
entered range, even if the mtr9 was powered down meanwhile.
5 Defining the EPROM Type
After entering "type entry" from the main menu, the EPROM type
number can be chosen from a new menu using the cursor keys. The menu
usually contains only the characteristic 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.
The mtr9 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 automatic identification.
If a type dependent function is started by <ENTER>, the
actually valid or just identified type number is displayed for a short
time; the automatic identification is indicated by adding the
manufacturer name and a beep during the display.
Example 5
Several 2764 samples shall be programmed with the file of a 2764
master:
1) Choose "type entry" from the main menu and start it by <ENTER>.
Now the previously used type is displayed.
2) With <é>, <ê> choose "2764" and
change to read by <ENTER> or <EXIT>.
Now
you can 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
automatic identification.
6 Type Specific Functions
From the main menu one of the following EPROM-processing (and thus type
dependent) functions can be chosen with the cursor 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 first menu
text of this function appears. 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
item of the main menu, i.e. after finishing programming and erasing the
checksum display by any key, the display returns to "program",
and the next EPROM can be programmed immediately. An exception is the
frequently used sequence: type entry - reading a master - programming a
duplicate; this sequence is performed automatically.
6.1 Read
A source EPROM can be read partly or completely; i.e. it is copied to
the RAM. The menu contains the message "completely" and the
input fields for start- and end address. With <ENTER>
after "completely" the whole EPROM is read. After <ê>, the address range used for
the previous operation (reading or anything else) is displayed; it can
be used once more or be overwritten. After <ENTER> the
EPROM is read as specified.
Example 6.1
A 2764 shall be read completely:
1) Choose "read" from the main menu.
2) <ENTER> -> shortly "2764", then "completely".
3) <ENTER> -> shortly "wait", then "check
sum".
4) <key> -> "program" (main menu).
6.2 Program
A destination EPROM can be programmed partly or completely (cf. 6.1),
i.e. RAM data are copied to the EPROM. Here, the address range defaults
to the range used for the last programming operation. This allows to
repeat always the same programming operation, even if other functions,
using different ranges, were executed meanwhile. The last-used
programming algorithm can be used without redefinition, too.
Both is achieved by starting the programming just from the menu item "programming
data as before". However, this item is not offered, if the EPROM
type was changed, compared with the last programming operation.
If no special programming algorithm must be applied according to the
EPROM type, the mtr9 is offering the following algorithms:
1) mtr high speed: The same as "inteligent" (s. below), but with a
0.1ms time base instead of 1ms.
2) "inteligent" (TM: 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.
3) "Quick-Pulse" (TM: 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) "SNAP!" (TM: Texas Instruments) or "RAPID" (TM: Atmel).
5) "Quick Pro" (TM: Fujitsu): The same as "inteligent", but with an
additional pulse of only n times 1ms instead of 3n times; thus it only
needs half the time.
6) 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 displayed,
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 threshold voltage of the cell
(shifted by programming), the cell tends to be read as erased (high
bit) with rising Vcc. Therefore the mtr9 verifies after each
program pulse with Vcc=6.25V, 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 later on due to cell coupling
or address malfunctions. Therefore the whole file is verified at the
end under normal operating conditions (Vcc=5V, Vpp switched off).
Except Intel's "Quick-Pulse", all algorithms further increase the
reliability by adding programming pulses after verifying correctly. So
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 mtr high-speed algorithm offers about the same
reliability as the widely used "inteligent" algorithm, but it is
between three and ten times faster (typically five times); on the other
hand it needs only triple 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 development, a substantial amount of time can
be saved with the fastest algorithm ("Quick-Pulse"). It will program
e.g. a 27128 within 6s, three seconds real programming time and three
seconds for tests, performed in all algorithms, as listed below:
1) Tests before Programming:
1.1) Test the supply current.
1.2) Test the Vpp input at Vpp=5V and Vcc=0V.
1.3) Is the data bus idle if the EPROM is disabled?
1.4) Is the data bus defined if the EPROM is enabled?
1.5) Is there any address-bus short circuit?
1.6) Are all bytes in the entered address range erased?
1.7) Increase Vcc to 6.25V and test the supply current.
2) Tests during or after programming of each byte:
2.1) Is there any address-bus short circuit?
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 three 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 mtr9'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 (0...FFF) shall be programmed with the
file stored in the mtr9 RAM, using the mtr high-speed
algorithm:
1) Choose "program" from the main menu.
2) Insert first EPROM.
3) <ENTER> -> shortly "2764", then the
previous algorithm.
4) As programming parameters are not yet specified:
<é> / <ê> -> "high speed
(mtr); ...".
5) <ENTER> -> "completely".
6) <ê> -> "address
range 0: ssssss...eeeeee" (last address range).
7) <0><ê>
-> "address range 0: 0...eeeeee" (start addr.=0).
8) <F><F><F> -> "address range 0: 0...
FFF" (first half 2764).
9) <ENTER> -> "wait" (programming duration),
then "check sum".
10) Insert next EPROM; now a rather simple procedure will do:
11) <key> -> "program".
12) <ENTER> -> shortly "2764", then "programming
data as before".
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 before programming procedure, this
function is separately useful e.g. to check EPROMs after erasing.
6.4 Verify
The contents of an EPROM can be compared partly or completely (cf. 6.1)
with the RAM contents. Differences are displayed in the format "address
n: aaaaaa, RAM:rr, EPROM:ee" with the set number n, address aaaaaa,
RAM data rr, and EPROM data ee.
With the cursor 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 displayed, 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 menu.
2) Insert EPROM with unknown modification.
3) <ENTER> -> shortly "2764", then "completely".
4) <ENTER> -> shortly "wait", then "differences".
5) <key> -> "address 0: aaaaaa, RAM:rr, EPROM:ee",
with the wanted
address aaaaaa, the original byte rr and the modified byte ee.
6.5 Emulation (not available in mtr9A)
*** 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 mtr9.
Using the mtr9 as emulator means that the RAM contents,
possibly processed before, is used as the contents of the EPROM to be
simulated, as long as the mtr9 ZIF socket is connected to the
target system via appropriate DIL cable. This function is disabled for
page-mode devices as 27513 and 27011. Depending on EPROM size and
installed RAM you can choose between up to 16 files for emulation with
the set number.
After <ENTER> first the type number appears for a short
time; the following message reminds you not to confuse poles. After the
next key you may choose the number (0...9, A...F) of the file to be
employed for emulation. Having entered a new number, the mtr9
immediately will show the corresponding RAM range with the size of the
simulated device. However, it should be mentioned that changing a file
containing program code will make the system hang, while pure data code
usually may be changed during operation.
Emulation will never yield an exact replica of the simulated EPROM.
Besides the limited access delay of about 100ns and the loading of the
enable pins , there are some minor facts that may lead to difficulties:
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 adjacent lines. Then
it can happen that the enable signals (or even addresses) are not
stable, sufficiently long before the processor accesses the data bus pa
Example 6.5
The influence of different ignition characteristics on the performance
of a motor shall be evaluated; e.g. two data arrays are contained in
two 27256 files:
1) Load the second file first to the address range 0...7FFF ("read").
2) Move it to target address 8000 (editor / "move").
3) load the fist file to 0...7FFF ("read").
4) Choose "emulation" from the main menu.
5) <ENTER> -> shortly "27256", then "ATTENTION:
REVERSE SUPPLY...",
6) <key> -> "address range 0: x, ssssss...eeeeee",
with the previous range.
7) <0> -> "address range 0: 0... 7FFF"; now
the first file is used
for emulation.
8) <1> -> "address range 1: 8000... FFFF"; now
the second file is used
for emulation.
7 Editor
Hitting <ENTER> after "run editor" you enter the
first editor function: edit single locations (cf. 7.1). The remaining
functions of the editor menu are entered pressing <ENTER>
again. Further, as usual, the cursor keys are used
to choose from the menu:
1) edit single locations (to next item with <ENTER>),
2) find,
3) fill,
4) move,
5) split, shuffle.
Except the first item each function is started with <ENTER>
and the first menu text referring to the chosen function will appear.
After finishing the program returns to the previous item of the editor
menu, i.e. after finishing a block move and erasing the checksum
display with any key, "move" appears again.
7.1 Edit Single Locations
With this function RAM data can be displayed and modified. Display and
entry are hexadecimal. After starting the editor "address: aaaaaa,
data: dd" is displayed, with the address aaaaaa (=0 after start)
and the data byte dd at this location.
Now, the cursor can be moved between upper (address) and lower (data)
field with the cursor keys and the corresponding value can be changed.
After entering an address, moving the cursor to the data field will
immediately yield the present data byte, which may now be overwritten
or not. With the cursor in the data field, an additional <ê> having increment the
address, while <é>
with the cursor already in the address field will decrement the
address.
7.2 Find
After entering an address range and a string of up to five data-bytes,
this string is searched for in the specified address range.
Having found the string, the mtr9 will jump to the
single-location display (s. above) with the start location of the found
string. After restarting the find function, searching can be continued
by twice <ENTER>, because the start address is
automatically updated and the string remains unchanged.
If no correct strings are found, the message "not found: aa bb
cc dd ee" is displayed, with the previously entered string aa bb cc
dd ee.
7.3 Fill
After entering an address range and a string of up to five data-bytes,
the specified range is continuously filled with the entered string. The
check sum of the filled range appearing after finishing has in practice
no meaning.
7.4 Move
After entering an address range and the destination address, the source
file defined by the address range is moved to the destination range
starting at the entered destination address. In any case no address
conflict can occur, and thus the file is not altered after shifting.
7.5 Split/Shuffle
In order to support word lengths longer than 8bit, after <ENTER>
the utilities described below are available. They are applied each to a
RAM address range between 0 and an entered upper limit.
1) Split: This function moves bytes located at even addresses
continuously to the lower half of the address range and bytes from odd
addresses to the upper half. This allows a 16bit program in an EPROM
for a system with 8bit data bus (e.g. 8088 CPU) to be distributed to
two EPROMs for a system with 16bit data bus (e.g. 8086 CPU). Multiple
use of this function equivalently supports word lengths of 8, 16, 32,
64bit and more.
2) Shuffle: Inverse of the split function.
3) Exchange: Lower and upper half of the address range are exchanged.
This function is useful 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, and thus erase it.
4) A0 Inversion: Dies function is useful e.g. if after transmitting a
16-bit file to the mtr9 the H-byte is positioned before the
L-byte, while the target processor needs it just vice versa. Using two
8-bit EPROMs allows to interchange them, with a 16-bit EPROM this is
not possible.
8 File Transfer
Data communication between the mtr9 and any host system is
performed via RS 232C interface, provided that the interface is
configured properly (cf. 9).
After choosing "file transfer" and <ENTER> the
display shows "address ranges, direction" and address
values can be entered (cf. 8.2). Then the transfer direction is chosen
and the actual transfer is started. Address values and direction
default to the parameters of the previous transfer operation, allowing
to perform a transfer of the same kind without any input or choice of
parameters, even if any other function was used or the mtr9 was
switched off meanwhile.
It is assumed that the file format, commonly to be used, has been
previously defined (it is also permanently stored); if not, or if it
has to be redefined, first the function "file format" is chosen
(s. below).
8.1 File Format
After starting this function, it can be chosen from the following
formats:
1) Intel Hex (self adjusting to address space),
2) Motorola S-record (self adjusting to S1/S9- or S2/S3 format),
3) Standard Tekhex (Tektronix, Millenium),
4) Extended Tekhex (Tektronix, Millenium),
5) ASCII hex; down load: with or without arbitrary separators,
up load: space after each two characters (each byte),
6) binary; here of course control characters are not allowed, because
they would be inter-
preted as data bytes, and a transfer with 7 data bits is not possible.
Program files are commonly stored using one of the first four 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 program for the serial interface. In this case, it may
help to copy a file first into the host computer memory, and then via
binary- or ASCII dump routine to the mtr9.
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 mtr9, and because only few programs 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 (printed in bold
letters):
Intel: :20C000003E7FD681 ...
Motorola: S123C0003E7FD681 ...
8.3 Down Load
After choosing "mtr9 receive" and <ENTER>, the
display will change to
"mtr9 receiving / waiting" and a blinking cursor indicates
whether the mtr9 is
really receiving data or waiting for data.
If Intel, Motorola, or Tektronix code is used, essentially the whole
source file is transferred to the mtr9 with the data of the
entered host address to be copied to the start address of the entered
range of the mtr9-RAM and so on; i.e. the difference between
start address and host address is the offset between EPROM addresses
and original addresses.
If a byte would be written to a location outside the entered address
range, it is ignored although tested for transfer 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 the entered start address and then the
address is incremented after each byte until reaching the end address.
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 non significant 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 recognised. 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.
Example 8.3
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 mtr9 is
configured for 9600 Baud, no parity, 8 data-, 2 stop bits (cf. 9), and
is coupled to the serial port "COM1":
1) With the MSDOS command mode com1:9600,n,8,2,p the port is
set to the same
parameters and to retry output.
2) Choose "file transfer" from the main menu.
3) <ENTER> -> "address ranges, direction".
4) <ê> -> "file
format".
5) <ENTER> -> "last format".
6) <é>, <ê> -> "Intel-Hex".
7) <ENTER> -> "address ranges, direction".
8) <ENTER> -> "host address: last address".
9) <C><0><0><0> -> "host
address: C000".
10) <ENTER> -> "address range: last range".
11) <0><ê>
-> "address range: 0...last end".
12) <1><F><F><F> -> "address
range: 0... 1FFF".
13) <ENTER> -> "last direction".
14) <é>, <ê> -> "mtr9 receive",
15) <ENTER> -> "mtr9 receiving / waiting",
with a flashing cursor indicating
whether the mtr9 is receiving or waiting for data,
respectively.
16) With the MSDOS command copy b:name com1 the transmission is
started.
Lateron the EPROM can be programmed without additional data
manipulation.
8.4 Up Load
After choosing "mtr9 transmit" and <ENTER>, the
display will change to mtr9 transmit. / waiting" with a
blinking indicating whether the mtr9 is really transmitting
data or waiting for the host to become ready to receive data.
The source file from the entered address range of the mtr9 RAM
is transmitted to the host computer. In the case of Intel, Motorola, or
Tektronix code, the load address for the first byte of the address
range is the entered host address (cf. 8.3).
32
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 sent, stopping the host copy
program (except binary format). As normally complete EPROM files are
loaded, the check sum displayed after execution is the same like the
one after processing the appropriate EPROM.
Example 8.4
A 2764 source shall be stored as Intel-Hex file called "NAME" on drive
B: of an MSDOS 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 menu.
2) After the command copy com1 b:name the host computer is
ready to receive.
3) <ENTER> -> "address ranges, direction".
4) <ENTER> -> "host address: last address".
5) <0> -> "host address: 0".
6) <ENTER> -> "address range: last range".
7) <0><ê>
-> "address range: 0...last end".
8) <1><F><F><F> -> "address
range: 0... 1FFF".
9) <ENTER> -> "last direction".
10) <é>, <ê> -> "mtr9 transmit",
11) <ENTER> -> "mtr9 transmit. / waiting",
with a flashing cursor indicating
whether the mtr9 transmitting data or waiting for the host to
become ready to receive.
9 Serial Interface Configuration
The configuration menu offers the following parameters to be chosen by
the cursor keys:
baud rate,
bit pattern (data-, stop-, parity bits),
handshake,
test.
9.1 Baud Rate
One of the values 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600,
19200, 38400 Baud is chosen with the cursor keys, and after <ENTER>
the menu continues with bit-pattern entry. Normally the highest baud
rate is chosen, e.g. for MS-DOS without special interface drivers 9600
Baud, for Windows 3800 Baud. The lower baud rates are used for data
communication via telephone or for output to printers without handshake
capability.
9.2 Bit Pattern
The ranges of bit pattern variables are 7 or 8 data bits, 1 or 2 stop
bits, even, odd or no parity. After entering invalid bit numbers, they
are automatically adjusted to the permissible ranges; the kind of
parity bit is chosen from a menu with the cursor keys.
9.3 Handshake
It can be chosen between none, CTS/DTR (hardware) handshake and
XON/XOFF (software) handshake, the former of which is only recommended
if the host interface has not any handshake capability. The mtr9
normally is able to receive data up to 9600 Baud without handshake;
vice versa the limit is of course given by the host computer.
Independent of the handshake method, the mtr9 can receive
minimum four bytes after having sent the not-ready-to-receive signal,
i.e., after setting DTR=0 or sending XOFF (ctrl-S, hex 13) to the host
computer, respectively. Ready to receive is the mtr9
immediately after having sent the appropriate signal, i.e., DTR=1 or
XON (ctrl-Q, hex 11), respectively.
Vice versa, the mtr9 stops transmission immediately after
receipt of the appropriate host computer signal, i.e., after CTS=0 or
XOFF from the host computer. Thus, the host computer needs no receive
buffer.
XON/XOFF protocol sometimes will make transmission hang. For this
reason the mtr9 is offering the possibility to ignore the XOFF
state: If it is waiting for data from the host computer (indicated by
the cursor, cf. 8.3), after <ENTER> the signal XON is
sent to the host computer, making it to continue transmission. If the mtr9
is waiting for the XON signal from the host computer (indicated by the
cursor, cf. 8.4), <ENTER> will force it to continue
transmission and stop again after the next XOFF signal from the host
computer.
9.4 Test
Before starting the test DTR (pin 20) with CTS (pin 5) as well as TD
(pin 2) with RD (pin3) must be connected. After <ENTER>
then the interface is tested with the baud rate chosen before, and the
result is displayed
10 Remote Control
The mtr9 can be remote controlled via its RS 232 C interface
using the previously entered interface parameters (baud rate, bit
pattern, handshake). Of course, the mtr9 inhibits changing
these parameters by remote control, because after a change no further
remote instruction will be understood. By the same reason the recovery
from an interface error is not possible by remote control. Moreover,
remote control is disabled as long as the mtr9 is receiving a
data file, because it could not distinguish between control code and
data to be received. Besides these exceptions, the mtr9 can be
remote controlled without restrictions.
Changing between local and remote control is done automatically in a
quit simple way: After having received a control code, the mtr9
is changing to remote control, and after hitting any key, it is
changing to local control. This means that the mtr9 can be
simultaneously controlled locally and remotely.
For remote control, the keys of the mtr9 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
3F ? ? (help funct.)
Every received byte is acknowledged by an echo, and every display text
is transmitted completely with CR/LF after each line (two display lines
per line) at the end. The buzzer signal is replaced by ASCII-BEL (hex
07), on which most terminals respond with a short beep.
Input fields are enclosed by < > and after each entered character
the whole input is sent with a leading and a trailing CR, making it
staying on the same screen position of a terminal.
Thus the mtr9 can simply be controlled by a terminal or a host
computer with terminal program. And it is quite easy to realize a
control program offering more comfortable operation as possible with
the keyboard and the display of the mtr9.
11 Connector Pin Out
The Interface has a 25-pin sub-D female connector configured as data
terminal equipment (DTE) as follows:
2: TD 7: GND
3: RD 20: DTR
5: CTS others: n.c.
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 22, in order 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 equipment
(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.
12 Socket Adapter Options (not available in mtr9A)
Non standard EPROM devices can be processed with the mtr9 using
appropriate socket adapters. The available adapter types and the device
types they support can be taken from the following table:
adapter type supported devices
mtr9-3 (9-3P) word-wide EPROMs, DIP40 (PLCC44)
mtr9-4 8741(A), 8742(AH), 8748(H), 8749AH
mtr9-5 8744H, 8751H, 87C51, 87C51FA, 8752BH
mtr9-6 63701 V0
mtr9-7 63701 X0
mtr9-8 63705 V0
mtr9-9 87M12, CC460
mtr9-10 AMD- and Intel-Flash, SOP44
mtr9-11 (A, B) Siemens C500 series
If socket adapters are used, care should be taken with respect to the
following details:
1) The socket-adapter have no emulation capability.
2) The socket adapter is identified automatically, i.e. for type entry
the type menu changes to the types supported by the adapter. If only a
single type is supported a type entry is not necessary.
3) The programming voltage is not automatically adjusted if a socket
adapter is used, because almost 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 menu!
13 Error Messages
All functions of the mtr9 are accompanied by automatic tests
which make damages due to device malfunctions or operating errors quite
impossible (except emulation). Most errors are corrected automatically.
Where this is senseless or not possible error messages are displayed as
described below.
"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.
"insert EPROM": If the socket contains an EPROM, a wrong type, a
defective device, or a bad connection can be the reason.
"low battery, backup invalid": The battery was discharged so far
that valid backup data of analysis- and processor RAM cannot be
guaranteed any longer.
"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.
"progr. error": One of the various tests during and after
programming has been executed without a sufficient result (cf. 6.2).
"socket-buffer or RAM error": A device within the mtr9
is damaged.
"RS 232 error": When receiving a file or a remote control code
one of the following errors given by the display has been registered:
"Parity": Parity bit wrong.
"Stop bit=0": One or two stop bits were zero, usually due to
wrong entry of data- or stop bits.
"SR overrun": Overrun of receive shift register, usually due to
handshake malfunction, or possibly wrong number of data- and/or stop
bits.
"Overrun": Overrun of receive buffer due to handshake
malfunction. "Check sum": Block check sum error when receiving
files with error detection capability (Intel Hex, Motorola S-record,
Tekhex, cf. 8.1).
"CTS/DTR" or "RX/TX": Hardware error of handshake- or
data lines registered when testing (cf. 9.4).
14 Software Options
Powering up the mtr9, all software options are reset to their
default values. As these options should only be changed in very special
cases (e.g. in-circuit programming, or reading damaged devices), the
code "123" must be entered to access the following options (default
values in parentheses):
remote control: on/off (on),
Vcc test: on/off (on),
Vpp test: on/off (on),
address test: on/off (on),
access test: on/off (on),
type identify: on/off (on),
6.25V enable: on/off (on).
15 Software Update
The mtr9 software is currently adapted to the customers
requirements as well as to new device types and adapters.
Software update for your mtr9 of course can be done by the
manufacturer or dealer within a short time; however, if the programmer
is continuously 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. Now you
can access the system EPROM located at the bottom of the mtr9
main board.
Caution! Prevent the contact between battery connectors or
between battery connectors and conducting parts of the
p.c.b., because this may damage the mtr9.
The most recent versions of the mtr9's operation program and
the remote-control software can be downloaded from the Internet (URL,
cf. envelope page).
16 Malfunctions
The mtr9 made profit of the experience with more than 1000
units of the preceding mtr3 and thus can be expected to be quite
reliable.
Nevertheless, malfunctions may happen. Normal random drop outs of
single components should be repaired by authorised 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 high impedance. Here, bad conduction will give a wrong
check sum or may break programming.
The socket can be easily removed without opening the case by loosen the
two screws at the ends of the socket and pulling it off of the socket
below it. Now after your needs you can clean the socket with spirit, or
replace it.
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 mtr9, damages must be expected,
indicated by the messages mentioned above or by "socket-buffer or
RAM error" after switching on. Usually damages are restricted to
the socket-buffers (four samples of the 74HC245 or 74HCT245, placed
around the socket).
Consequently replacing one or more of these devices may help. If not,
repairing should be done by the manufacturer in any case. To replace
these parts, the main board must be removed from the case. So first
pull off the battery cables from the p.c.b.
Caution! Prevent the contact between battery connectors or
between battery connectors and conducting parts of the
p.c.b., because this may damage the mtr9.
Then loosen the four screws at the corners of the p.c.b. and lift it at
the front edge. After removing the key-board connectors, you can take
the p.c.b. out of the case and then lift off the RAM p.c.b., if built
in, from its socket in order to access all four buffers.
When reassembling the mtr9, make sure that the keyboard 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.).