Umbau TNC3S für 1 MByte Flash-EPROMs
Einbau von Flash-EPROM in ältere TNC3 (Version B bis J)
Ändern der Baudrate etc. TNC31
Starten des TNC31 sofort im KISS-mode oder Hayes-mode etc.
Bug: Kommando @K in TF / TNC3BOX geht nicht zuverlässig
RS232 for TNC3S and TNC31 with 230400 baud (english)
Geräusche bei Leiterplatte TNC3S-G mit aktueller Software
TNC3 sendet rasch ohne eine Bestätigung abzuwarten
NF-Störabstand beim FSK9600 und FSK9601
TNC3/31 im Hayes-mode (Transparentbetrieb)
Speichererweiterung TNC31 auf 1 oder 2 MByte (RAM)
Hardware-Handshake (Flow Control) bei TNC3/31
weitere spezielle Tips auf der englischsprachigen Seite !
(Stand: 03.05.14 )256 kByte EPROM im TNC3 reichen gut aus. Wer mehr braucht, der kann sich mit einer kleinen Modifikation behelfen:
Das Layout des TNC3S (alle Platinenversionen bis K) lässt nur die Verwendung von 128k * 8 Bit ROMs (z.B. 27C1000, AM29F010) zu. Mit einem kleinen Trick lassen sich auch die um das Vierfache größeren EPROMS bzw. Flash-ROMs verwenden:
1. biegen Sie Pin 1 der neu einzusetzenden EPROMs hoch. Pin 1 der Fassung bleibt dann leer.
2. verbinden Sie die beiden Pins 1 mit Pin 1 eines beliebigen RAM-Speichers.
Die Programmierung sollte dann folgendermaßen erfolgen:
1. Programmieren Sie die neuen und gelöschten Flashs mit dem TNC3-Betriebssystem (Download). Die Programmierung ist eigentlich nur für 128 k *8 Bit EPROMs vorgesehen, das Betriebssystem läuft aber korrekt.
2. Programmieren Sie die Flash-EPROMs mit dem Kommando flash -eo und der Datei OS300.abs neu. Jetzt sind die Flashs einsatzbereit und es können weitere Dateien mit flash -a nachgeladen werden.
3. Von der Verwendung von UV-EPROMs raten wir ab. Wer's trotzdem verwenden möchte, muss sich erst ein Muster-Flash-EPROM erstellen und dieses im EPROMMER auf ein UV-EPROM kopieren. Pin 1 muss vor Einbau hochgebogen und verdrahtet werden (s.o.)
Bei Platine Version G muss zusätzlich die Brücke 5 entfernt werden.
In den Handbüchern der ersten TNC3S war der Einbau von FLASH-EPROMs noch nicht beschrieben, die aktuellen Handbücher erklären nur, wie man die Flashs in die neueren TNC3 einbaut. Hier die Anleitung für TNC3S Platine Versionen B bis J
Flash-Technik
Die Programme für das TNC3S (bzw. für fast jedes Gerät, das einen Mitroprozessor enthält) sind in EPROMs (Erasable Programmable Read-Only-Memory) gespeichert. Diese Bausteine werden in einem speziellen Programmiergerät 'gebrannt' und behalten die einmal gespeicherten Daten auf unbegrenzte Zeit. Einmal programmierte EPROMs lassen sich wieder löschen, indem man sie einige Minuten mit ultraviolettem Licht bestrahlt (zu diesem Zweck haben diese IC ein Quarzfenster im Gehäuse). Anschließend programmiert man die Bausteine neu.
Mittlerweile sind sogenannte Flash-EPROMs entwickelt worden, die die bisher verwendeten EPROMs in jeder Hinsicht ersetzen können und wesentliche Vorteile besitzen: - Flash-EPROMs lassen sich in der Schaltung (ohne Programmiergerät) löschen und programmieren. - Die Speicher sind in 8 Blöcke aufgeteilt, die einzeln elektrisch gelöscht werden können. 'Versehentliches' Löschen ist durch komplizierte Löschkommandos praktisch ausgeschlossen. - Die Speicher können in wenigen Sekunden gelöscht und neu programmiert werden.
Für ständiges Löschen und Schreiben eignen sich die Flash-Eproms jedoch nicht, da während des Lösch und Schreibvorgangs nicht auf den Speicher zugegriffen werden kann und außerdem die Anzahl der Schreib-Löschzyklen nicht unbegrenzt ist (100 000 bis 1 Million Zyklen) - Flash EPROMs brauchen nicht mehr ausgewechselt zu werden, man kann sie also auch ohne Sockel bzw. in SMD-Technik fest einlöten. - zu einem Update der Software benötigt man nur die neuen Daten (per Modem oder Diskette), aber keine neuen Bauteile. Beim Update bleibt das Gerät geschlossen.
Die alten EPROMs können einfach gegen die entsprechenden Flash-EPROMs ausgetauscht werden und die Umstellung ist komplett. (Bei der bis Mitte 1995 gelieferten Leiterplatte TNC3S-G und älteren Versionen muß noch eine Drahtverbindung angelötet werden). Eine Diskette enthält die notwendigen Programme um die EPROMs umzuprogrammieren.
2 Schritte:
Die Programmierung (mit dem RS-Programm) funktioniert wie im aktuellen Handbuch beschrieben.
Starten Sie das Programm RS auf der Diskette.
Schalten Sie das TNC ein und verlassen Sie ggf. die TF-Firmware mit ESC QUIT.
Das Prompt r:> erscheint.
Tippen Sie zuerst
more dip1.scr
ein. Sie sehen die Startdatei dip1.scr auf dem Bildschirm, z.B.
cd r:\
path r:\
rsconf 19200 1 no
tnc3boxd
Kopieren Sie diese Datei auf Ihre Festplatte:
cp dip1.scr c:/dip1.scr
Ändern Sie die Datei mit einem einfachen Texteditor (Notepad) entsprechend,
(zb: Baudrate von 19200 auf 57600) und kopieren Sie die Datei zurück ins TNC31.
Sie können die Datei ins RAM kopieren (empfohlen): Kommando ist dann
cp c:/dip1.scr dip1.scr
oder ins Flash-EPROM dauerhaft brennen:
flash -a c:/dip1.scr
Starten Sie das Programm RS auf der Diskette.
Schalten Sie das TNC ein und verlassen Sie ggf. die TF-Firmware mit ESC QUIT.
Das Prompt r:> erscheint.
Tippen Sie zuerst
more dip1.scr
ein. Sie sehen die Startdatei dip1.scr auf dem Bildschirm, z.B.
cd r:\
path r:\
rsconf 19200 1 no
tnc3boxd
Kopieren Sie diese Datei auf Ihre Festplatte:
cp dip1.scr c:/dip1.scr
Ändern Sie die Datei mit einem einfachen Texteditor (Notepad) entsprechend,
(zb: Startprogramm von tnc3boxd auf rskiss oder 6pack) und kopieren Sie die Datei
zurück ins TNC31.
Sie können die Datei ins RAM kopieren (empfohlen): Kommando ist dann
cp c:/dip1.scr dip1.scr
oder ins Flash-EPROM dauerhaft brennen:
flash -a c:/dip1.scr
Bug in der Software OS3.07 und TF / TNC3BOX / TNC3BOXD:
Bei Ausführen des Kommandos @K sollte TF verlassen werden und RSKISS starten.
Das funktioniert zwar, jedoch nur ein einziges Mal. An einer Korrektur wird
gearbeitet!
Benötigt wird diese Funktion bei abwechselndem Betrieb im
KISS= und Hostmode. Viele
KISS-basierende Programme (z.B. WISP) gehen davon aus, dass das TNC im Hostmode
steht und mit ESC @K in den Kissmode geschaltet werden kann.
Abhilfe: Man verwendet das alte Betriebssystem OS3.02 zusammen
mit dem aktuellen TF.apl bzw. TF.ap.
Dabei darf TF nicht mit einer DIP1.scr gestartet werden sondern muss delbst
unter dem Namen DIP1.apl
im Flash oder RAM gespeichert sein. Also: Auf der Festplatte TF.apl nach
DIP1.apl umbenennen und mit
flash -ae C:/DIP1.apl in ein leeres Flash (mit OS 3.02) speichern. Danach noch
flash -a A:/RSKISS.apl und
die DIPxx.scr und übrige Programme (SYSTEST.apl etc.) flashen, jedoch nicht
DIP1.scr, denn das ist als
DIP1.apl ja schon vorhanden.
Einziger Schönheitsfehler: OS3.02 unterstützt nicht die
neuen Typen Flash-EPROM des Herstellers MOSEL,
man muss also die AMD AM29F010 einsetzen. Wer noch AMD-Flashs in seinem TNC3
eingebaut hat
besitzt auch die Diskette mit OS3.02 und kann nötigenfalls mit flash -o
A:/os302.abs wieder die alte
Version einspielen.
Wird KISS mit dem Reset-Kommando
($FF) verlassen, so macht das TNC3 einen Kaltstart und läd
das Programm DIP1.apl, also TF. Das gleiche geschieht beim Aus= und Einschalten
der Spannung.
Kompatibilitätsproblem der alten Leiterplatte TNC3S-G
(SMD-Version mit je 2 Sockeln für RAM und ROM)
in Zusammenhang mit Software ab 3.0:
Bei manchen
Programmen kann es in seltenen Fällen dazu kommen, dass der Piepser im TNC3
laute knurrende und pfeifende Geräusche von sich gibt.
Ursache:
Während PA12 (Pin 68) der CPU als Eingang geschaltet ist, ist der Eingang des
Treiber-IC
(74HC14) offen und kann unter Umständen oszillieren. Bei älteren Programmen
war PA12 stets als
Ausgang programmiert, ab OS 3.00 dient PA12 auch als manueller Power-on-Reset
beim TNC31.
Abhilfe: Löte einen 47 kOhm Widerstand an U8 (74HC14) zwischen Pin 1 (Eing.) und Pin 14 (+5V).
Der TF-Parameter W bestimmt die Wartezeit vor jeder Sendung.
Die Wartezeit bis zur Wiederholung eines Pakets wird u.A. durch die Baudrate bestimmt.
Wird nun bei der Gegenstation eine zu hohe Slottime
eingestellt, so wiederholt die sendende Station
das Paket in rascher Folge ohne dass die Gegenstation es schnell genug
bestätigen kann.
Slottime W ist default auf 100ms eingestellt und MUSS bei
höheren Baudrates entsprechend kürzer
(15 ms bei 9600, 2 ms bei 76800) gesetzt werden.
Auf dem Ausgang des FSK9600 Modems kann gelegentlich ein
schwacher 9600 Hz Ton
mit ca. 5-10 mV (35 dB unter Nutzsignal) beobachtet werden.
Durch die durchgehende Massefläche des FSK9601 beträgt der
Signal-Störabstand über
60 dB (<1mV Störgeräusch bei 1 V Nutzsignal). Eventuelle Restsignale mit
ca. 100 kHz
können um weitere 10-20 dB unterdrückt werden, wenn man einen 68 uF 6V
Kondensator
zusätzlich über die Betriebsspannung schaltet, z.B. von U3 Pin 16 (-) nach U10
Pin 14 (+).
Mit dem TNC3 kann man im Hayes-mode absolut transparent Daten
übertragen, das heißt
man kann alle 256 ASCII Zeichen senden und unverändert empfangen.
Beachte: Das 'A' Kommando (Auto-Linefeed) von TF bzw. TNC3BOX
hat auch Auswirkungen
auf die Daten, die im transparenten Hayes-Mode empfangen werden. Wenn 'A' auf 1
gesetzt ist
(Werkseinstellung !) dann fügt das (empfangende) TNC3 nach jedem Return
(Wagenrücklauf)
<CR> ($0D) ein Linefeed (Zeilenvorschub) <LF> ($0A) ein. Dadurch wird die
transparente Übertragung
verletzt und stellt unter Umständen einen unerwünschten Nebeneffekt des A
Kommandos dar.
Also: Bei Verwendung des transparenten Hayes-mode: zuerst
<ESC> A 0 setzen und dann
erst den Hayes-Mode mit #AT starten.
Der Sendepuffer im Hayes-Mode ist 16 kByte groß. Falls der PC
mehr Daten sendet und kein
Hardware-Handshake verdrahtet ist läuft der Buffer über und es kommt zu
Datenverlust.
Material: 4 Stück CMOS-RAM 512kx8 Bit im DIP32 Gehäuse (für 1 Mbyte nur 2 Stück), 1 Stück 74C139
nur für geübte Bastler! Mikroskop / Lupe erforderlich!
Beachte: Drähte an Pin 22+24 der CPU unter dem RAM-Sockel bei Pin 3, 4 und 5 durchfädeln und zum Schluss mit Kleber gegen Zug sichern. Anlöten an die CPU unter dem Mikroskop. Gegenüber von Pin 5 der RAMs liegt der Pin 18.
Drei RAMs (1,5 MByte) sind nicht möglich, jedoch 1, 2 oder 4.
Problem: Wenn der Rechner große Dateien (z.B. im Hayes-Mode) zum TNC sendet
läuft spätestens nach 16 kByte der Sendepuffer über.
Das Betriebssystem OS309 unterstützt den Hardware-Handshake mit der RS232 RTS
und CTS Leitung
Da diese Signale jedoch von der Hardware nicht unterstützt werden ist eine
Modifikation erforderlich.
Wenn das TNC3 keine Daten mehr empfangen kann (weil der Sendepuffer bis auf 256 Bytes 'Reserve' voll ist) geht Pin 66 der TNC3-CPU auf +5 Volt. Über den MAX232-Treiber T2 (Eingang Pin 10, Ausgang Pin 7) wird daraus -10 Volt. Mit -10 Volt am Pin 5 der 25-poligen Sub-D Buchse hält der PC den Datenstrom zum TNC an. Sobald im Puffer nur noch 128 oder weniger Bytes drin sind geht Pin 66 aif 'LOW' und der PC sendet weiter.
Wenn der PC keine Daten mehr (vom TNC) empfangen kann (das ist eher selten)
geht Pin 4 der 25-poligen Sub-D Buchse auf - 10 Volt. Über den RS232
MAX232-Empfänger R2 (Eingang Pin 8, Ausgang Pin 9) wird daraus +5 Volt. Mit +5
Volt am Pin 49 der CPU hält der TNC den Datenstrom zum PC an. Nachdem Pin 49
auf HI geht können noch bis zu 10 gepufferte Bytes kommen bevor der TNC stoppt.
Geht Pin 49 auf LOW dann sendet das TNC weiter.
Diese Funktion ist nur vorhanden, wenn man nach dem Einschalten das Kommando
'hwhs on' im Betriebssystemmodus ausgeführt hat. (Skript-Datei)
Benötigt wird OS309 Betriebssystem sowie TF, TNC3BOX oder TNC3BOXD in der Version vom 4.2.2001.
Der Hardwarehandshake wird vom Betriebssystem gesteuert. Default ist Hardwarehandshake abgeschaltet, d.h. das TNC sendet unabhängig vom Signal auf Pin 49 der CPU. Führt man (z.B. im Skript DIP1.scr) das Kommando 'hwhs on' aus, so kann der Datenfluss vom TNC zum PC über Pin 49 der CPU gesteuert werden. Der Ausgang (CPU Pin 66) geht immer auf HI wenn die Puffer im TNC voll sind, unabhängig von 'hwhs on / off'.
Der Handshake funktioniert in allen Programmen (TF, Hayes-mode, TNC3box etc.)
1. Modemport 0 (mittlerer unbestückter Stecker vorne) Pin 9 (CPU Pin 49 -
MCS4) mit MAX232 Pin 9 verbinden
2. Modemport 0 Pin 17 (CPU Pin 66 - MCS3) mit MAX232 Pin 10 verbinden
3. MAX232 Pin 8 mit Sub-D Pin 4 verbinden
4. MAX232 Pin 7 mit Sub-D Pin 5 verbinden
Diese Arbeiten erfordern ein Mikroskop und einen gut ausgestatteten SMD-Arbeitsplatz.
1. CPU Pin 49 mit MAX232 Pin 9 verbinden
2. CPU Pin 66 vom Massepad ablöten (!!!) und hochbiegen. Dann mit MAX232 Pin 10
verbinden (Viel Spaß)
3. MAX232 Pin 8 mit RJ45 Pin 7 verbinden
4. MAX232 Pin 7 mit RJ45 Pin 2 verbinden
5. Im Adapter RJ45 Pin 7 mit SubD9 Pin 7 bzw. SubD25 Pin 4 verbinden
6. Im Adapter RJ45 Pin 2 mit SubD9 Pin 8 bzw. SubD25 Pin 5 verbinden.