[ lamepage · Hardware · Speed Dragon · Monitor ]

Zusätzliche Schnittstelle für den internen Monitor der Speed Dragon

Vorwort:

Die Speed Dragon DataBox beinhaltet in ihrer Firmware ein Software-Monitor mit dem man verschiedene Funktionen der DataBox manuell beinflussen und überwachen kann. Der Monitor ist immer aktiv und erwartet seine Befehle an einer zusätzlich dafür vorhandenen serielle Schnittstelle wo er auch die Ausgaben schickt. Diese Schnittstelle ist in Form von Testpunkten im unteren Bereich der Platine erkennbar:

Testpunkte

Die Testpunkte Rx (Empfangen) und Tx (Senden) sind direkt mit dem Prozessor verbunden und führen deshalb TTL Signale.
Um diese an die serielle Schnittstelle (RS232) des PCs anschliessen zu können braucht man ein Pegelwandler. Eine recht einfache und sehr weit verbreitete Lösung bietet ein Pegelwandler IC von MAXIM: MAXIM232 oder baugleiche (zB: HIN232 von Harris). Die Aussenbeschaltung gestaltet sich relativ  einfach und begrenzt sich nur auf paar Konensatoren die für die Spannungstransformation benutzt werden.

Schaltung:

Das unten angeführte Schaltbild zeigt den Pegelwandler MAXIM 232 als fertige Schaltung für die Speed Dragon. Als Anschluss für die RS232 Schnittstelle wurde absichtlich eine Westernbuchse gewählt um das serielle Kabel der DataBox nutzen zu können. Das hat auch eine gleiche Anschlussbelegung der Rx und Tx Signale sowie Masse (GND) zu Folge. In der Schaltung sind die Elkos zum Teil mit ihren "+"-Anschlüssen auf Masse gelegt, die Ursache dafür sind die Pegeln der RS232 Signale die auch im negativen Bereich liegen.

RS232
 

Der Aufbau

Die Schaltung kann relativ leicht auf einer Lochrasterplatine zusammengebaut werden. Für diejenigen die sich die Platine selbst ätzen möchten gibt es hier noch Schaltplan und Playtinenlayout für Eagle 3.55:
Das Layout kann mit dem CAM Prozessor auf Folie ausgedruckt und dann die Platine belichtet werden.

Verkabelung:

Für die Verbindung der Schaltung mit der Speed Dragon kann ein 4-adriges Flachbandkabel verwendet werden. Das Flachbandkabel wird mit seinem einen Ende direkt an die Testpunkte gelötet und mit dem anderen Ende auf der Platine in dafür vorgesehene Lötpads: CON1, hierbei ist auf die Polung peinlichst zu beachten !!! Denn ein falscher Anschluss kann den Prozessor der DataBox dauerhaft schädigen !
Für jegliche Lötarbeiten an der Speed Dragon und daran angeschlossenen Schaltungen ist der Stromstecker der Anlage zu Ziehen !
Die Stelle CON1 ist im 2.54" Raster ausgelegt, so daß hier alternativ auch ein Pfostenstecker und auf dem Kabelende eine Buchsenleiste eingelötet werden kann, dadurch kann man die Schaltung jederzeit ohne Lötkolben entfernen.
Die Platine ist so ausgelegt, daß sowohl eine liegende als auch eine stehende RJ45 Buchse eingelötet werden kann. Dadurch ist die Schaltung universell "einbaubar".
Wie schon bereits erwähnt, kann zum Anschluss an der seriellen Schnittstelle die vorhandene serielle Leitung benutzt werden, wer sich jedoch ein Kabel selbst zusammenbauen möchte, muss er folgende Belegung beachten:

Mon-Kabel

Inbetriebnahme:

Nach dem die Schaltung beidseitig angeschlossen wurde, kann nun auf der PC Seite ein Terminalprogramm gestartet werden.
Die Schnittstellenparameter sind auf 38400 8n1 (8 Datenbits, keine Parität und 1 Stopbit) einzustellen und die Speed Dragon kann eingeschaltet werden.
Wenn man alles richtig gemacht hat, müsste man folgende Ausgaben zu sehen bekommen (Firmware 3.20):
**** DataBox bootstrap ****
$Revision: 2.0 $

RAM length = 0x80000

Give command b)oot current AIF image
             l)oad new AIF image (115200 baud)
             f)astload new AIF image (230400 baud)
            >
Computing AIF image CRC = 0xf0de
Last ROM address in use = 0x107868c
CRC value should be     = 0xf0de
Valid AIF image at 0x1008000. Executing...


**** Systemstart: SNOOPY GO! ****

Application_Initialize()...
retrig_watchdog
disable_watchdog
timer_init()
iic_ini()
data_ini()
at_init()
lcd_ini()
init_nswv() s0_init() kf_init() hs_uart_init() nuh_init_monitor_task()
SDL_main() SDL_start_task()
ENABLE_INTERRUPTS
Wenn man nur wirre Zeichen sieht oder gar keine Ausgaben sieht sollte man die DataBox schnellstens vom Strom trennen und noch mal alles überprüfen.
Jetzt können Befehle eingegeben werden, der erste Befehl wird wahrscheinlich "help"sein, damit bekommen wir zuerst eine Übersicht über vorhandene Funktionen und Menüs:
System-Monitor (c) Hagenuk GmbH 1994-1998
help                         Hilfe zur Bedienung
dump [<adr>] [+len|<adr2>]   dump memory
set [<adr>]                  set memory
offset [<adr>]               set offset for 'd'/'s'
find <adr> <+len|adr2> <pat|hexword>   find "<pattern>" or <hexword> in memory
fl <adr> <+len|adr2> <lw>    find <longword> memory
log <cmd> [<list>]           process state logging
x <code>                     toggle monitor status flags
q <code>                     interne monitor befehle, codes 0...9
state                        show process states
b                            show Timer status
y                            show OS infos
c                            show statistic infos
v                            show program version number
m <ssssrrrrttttllpp...>      send message into system
t <list>                     set message logging sender
p <list>                     set message logging receiver
u <list|*>                   clear message logging sender
r <list|*>                   clear message logging receiver
z                            show logging state
a                            post mortem register dump
tsk [command]                show Task/Instance Info
repeat <anzahl> <kommando>   wiederholtes Ausfuehren eines Kommandos
snull                         Status S0 Treiber
mons0                        S0 Monitor
kf                           Debugfunktionen der Netzwerksteuerung
uart                         High-Speed UART Testfunktionen
wp                           Watchpoint setzen
clip                         CLIP-Status
iic                          IIC-Testfunktionen
>
Damit man auch die selbst eingegebene Befehle sieht, muss an dem Terminal das lokale Echo aktiviert werden (local echo).
Alle übrigen Befehle können aus dieser Art von Online Hilfe entnommen werden.
Es ist jedoch Vorsicht geboten, man kann mit dem Monitor das EEPROM verändern und damit die DataBox unter Umständen "kaputtkonfigurieren".
Ein Austausch des EEPROMs wäre dann die Folge (ohne Gewähr). Deshalb ist der Monitor nur denen zu Empfehlen die wissen was sie zun ! :-)

Was tun wenn man keine Lust hat diese Schaltung zu bauen ?

Alternativ zu der Schaltung kann man auch die Monitorausgaben auf dies normale serielle Schnittstelle mit AT Befehlen umgeleitet werden:
at&hm"uart s 1"
später kann die Umleitung dann mit:
at&hm"uart s 0"
aufgehoben werden. Die Befehle können unabhängig von der Umleitung immer abgesetzt werden und zwar durch das Voranstellen von at&hm", zB:
at&hm"help"
Diese Lösung hat den Nachteil, daß wenn man vergisst die Umleitung aufzuheben können die Monitorausgaben die Kommunikation stören. Dh. ein gleichzeitiger Daten- und Monitorbetrieb sind nicht möglich.