Tips zum TNC3 und TNC31
für Besitzer von TNC3/31

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 )

Einbau von 1 MByte EPROM / Flash in TNC3S

29f040.jpg (108921 Byte) Klick zum Vergrößern

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.

Einbau von Flash EPROMs in ältere TNC3S

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:

  1. Entfernen Sie die EPROMs und setzen Sie die vorprogrammierten FLASH-Bausteine ein. (UPPER/LOWER beachten!) Schließen Sie das geöffnete TNC an und testen Sie, ob alles wie gewohnt funktioniert. Die FLASH-EPROMs enthalten die 'übliche' aktuelle TNC3-Software.
  2. Damit das FLASH-EPROM in der Schaltung gelöscht und beschrieben werden kann muss die Schreib-Lese-Leitung zusätzlich angeschlossen werden.
    Platinen-Version G: Entfernen Sie die Brücke J4 (Null-Ohm Widerstand) neben den EPROMs und löten Sie auf der Unterseite der Leiterplatte zwischen U1 (LOWER EPROM) Pin 31 und U6 (LOWER RAM) Pin 29 einen isolierten Draht ein (ca. 5cm lang).
    Platinen-Version B (ohne SMD): Entfernen Sie die Brücke J1 (Lötbrücke) unter dem LOWER EPROM und löten Sie auf der Unterseite der Leiterplatte zwischen dem mittleren Lötauge dieser Brücke einen Draht nach U3 (LOWER RAM) Pin 29.

Die Programmierung (mit dem RS-Programm) funktioniert wie im aktuellen Handbuch beschrieben.

Ändern der RS232-Baudrate im TNC31

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

Ändern des Startprogramms beim TNC31

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

Wechsel TF nach RSKISS mit Kommando @K

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.

Modifikation der Leiterplatte TNC3S-G

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).

Slottime bei TNC3/31

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.

NF-Störabstand beim FSK9600

Auf dem Ausgang des FSK9600 Modems kann gelegentlich ein schwacher 9600 Hz Ton
mit ca. 5-10 mV (35 dB unter Nutzsignal) beobachtet werden.

NF-Störabstand beim FSK9601

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 (+).

Hayes mode

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.

2 MByte Speichererweiterung für TNC31

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!

  1. RAM-Speicher des TNC31 aus dem Sockel nehmen
  2. Brücken: J1 offen, J2 geschlossen, J3 offen (wie für 512 k)
  3. Memory-Pack bauen: Vier Speicher-IC (Zwei bei 1 MB) werden huckepack gelötet. ALLE Pins mit Ausnahme Pin 22 werden parallel geschaltet. Das Paket wird in den Sockel gesteckt, die Pins 22 stehen seitlich heraus.
  4. Ein 74C139 (es geht zur Not auch auch HC-Type) wird folgendermaßen verdrahtet:
      
    Pin 1 (\E) geht an MAX818 Pin 5 (\CEOUT)
        Pin 2 (A0) geht an CPU (68302) Pin 22 (A19)
        Pin 3 (A1) geht an CPU (68302) Pin 24 (A20)
        Pin 4 (\Y0) geht an erstes RAM Pin 22 (\CE)
        Pin 5 (\Y1) geht an zweites RAM Pin 22 (\CE)
        Pin 6 (\Y2) geht an drittes RAM Pin 22 (\CE) (nur bei 2 MB(
        Pin 7 (\Y3) geht an viertes RAM Pin 22 (\CE) (nur bei 2 MB)
        Pin 8 (GND) geht an Masse
        Pin 9, 10, 11 und 12 bleiben offen (unbenutzte Ausgänge)
        Pins 13, 14, 15 und 16 gehen an Pin 32 der vier RAMs (+5V / Batterie) (Vcc und unbenutzte Eingänge)

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.

Hardware-Handshake

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.

Funktion des Hardware-Handshake beim TNC3/31

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)

Software-Voraussetzungen

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.)

Modifikation des TNC3S (Platine Version K)

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

Modifikation des TNC31S (Platine Version B)

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.