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