Ericsson Compact9000 POCSAG Steuereinheit

Vorwort:

Die hier dargestellten Informationen sollen ausschließlich im Amateurfunkdienst Verwendung finden, eine kommerzielle Nutzung ist nicht gestattet. Einige Infos auf dieser Seite sind deshalb bewusst unpräzise gehalten, genauere Informationen werden nur an Personen herausgegeben, die sich als Amaterufunker per Call identifizieren können.

Nach dem schon so viel über die Endstufe und die im Steuermodul befindlichen HF-Baugruppen erforscht worden ist, habe ich mich mal mit dem Digitalteil beschäftigt. Da ich keines der Endstufenmodule habe wirft mein Steuersender mit Fehlermeldungen nur so um sich. Nachfolgend findet ihr meine ersten Ergebnisse die ich dem Modul entlocken konnte.

Der BSC:

Die einfachste Kontaktaufnahme mit der DBSC-1-Steuerplatine erfolgt über die in der Frontseite eingebaute Diagnoseschnittstelle. Diese liefert normale RS-232-Pegel und ist so beschaltet, dass man die Verbindung zum Computer mit einem normalen seriellen Kabel (KEIN Nullmodem) herstellen kann. Die Baudrate beträgt 19200 Baud, die Wortlänge ist 8 Bit, ein Stopbit, keine Parität. In dem verwendeten Terminalprogramm sollte als Terminalemulation ANSI bzw. normaler ASCII-Zeichensatz gewählt werden, da sonst höchstwahrscheinlich keine sinnvolle Ausgabe erscheint (z.B. bei VT102) und man unter Umständen lange sucht, bevor man diesen Fehler findet. Die Einheit sendet kein Echo der zu ihr gesendeten Zeichen, hier ist ein am Terminal aktiviertes Echo sehr sinnvoll. Laut Ericsson-Dokumentation ist die Terminalemulation VT100 zu verwenden.

Nachdem man die Verbindung mit dem Computer hergestellt hat und die Steuereinheit resettet erscheint folgender Text:

ERICSSON COMPONEDEX DBSC-I2 SYSTEM STARTUP
VERSION 1373C4T0 COMPILED 07/01/99 10:14:07
DBSC CRC: 7C16
SELF TEST PASSED
wnload
00/00/00 00:00:15.6 > MODEM OK
00/00/00 00:00:18.3 > MODEM OK
00/00/00 00:00:18.4 > MODEM <CR>
00/00/00 00:00:18.4 > MODEM SOFTWARE VERSION NUMBER RECEIVED
00/00/00 00:00:18.4 > INITIALISED OK
00/00/00 00:00:18.4 > MODEM OK
00/00/00 00:00:20.0 > UTC SYNCRONISATION LOST
00/00/00 00:00:35.0 > Alarm Log Entry - 40/AB
00/00/00 00:00:35.0 > Alarm Log Entry - 00/BC
00/00/00 00:00:35.0 > Alarm Log Entry - 40/AC
00/00/00 00:00:35.0 > Alarm Log Entry - 40/AD
00/00/00 00:00:35.0 > Alarm Log Entry - 40/AE
00/00/00 00:00:35.0 > FIRST CALL TO THIS NUMBER - NO DELAY ADDED
00/00/00 00:00:35.0 > DIALLING MAIN TCC, TEL NO : T**********
00/00/00 00:00:36.0 > Alarm Log Entry - 01/A3
00/00/00 00:00:36.0 > Alarm Log Entry - 01/A4
00/00/00 00:00:36.0 > Alarm Log Entry - 01/95
00/00/00 00:00:36.0 > Alarm Log Entry - 01/A6
00/00/00 00:00:36.0 > Alarm Log Entry - 01/A8
00/00/00 00:00:36.0 > Alarm Log Entry - 01/BA
00/00/00 00:00:41.3 > MODEM NO DIALTONE
00/00/00 00:00:43.2 > MODEM OK
00/00/00 00:00:43.2 > MODEM READY FOR NEXT CALL
00/00/00 00:00:46.0 > FIRST CALL TO THIS NUMBER - NO DELAY ADDED
00/00/00 00:00:46.0 > DIALLING ALTERNATIVE TCC, TEL NO : T**********
00/00/00 00:00:49.0 > Alarm Log Entry - 00/B0
00/00/00 00:01:18.3 > MODEM NO DIALTONE
00/00/00 00:01:20.2 > MODEM OK
00/00/00 00:01:20.2 > MODEM READY FOR NEXT CALL
00/00/00 00:01:23.0 > DIAL REQUEST SET. DELAY VALUE CHOSEN = 015E

Die Telefonnummern habe ich unkenntlich gemacht, die Einheit zeigt hier natürlich die "Notfallrufnummern" an, die im Falle eines fehlgeschlagenen Satellitenempfangs angewählt werden.

Wenn man nun Sachen an die Einheit sendet die sie nicht kennt, antwortet sie mit

COMMAND ERROR - DO YOU KNOW WHAT YOU ARE DOING ?

Im folgenden spuckt sie dann eine Liste aller möglichen Kommandos aus:

Legal Commands are :-
------------------------------------------------------------------------------
|DS (G OR C) Display Status |CC Clear Packet Counters |
|CE01 (e or d) Set Channel Enables |SDctnnnn Set Del (chan,S/F/T,del) |
|SMoiiiiiiii Set Mapping |AEgggg01 Set Alarm Enables |
|SFn.nnnnnn Set Receive Frequency |SRnnnnn Set Receive Data Rate |
|SAaaaa Set Demux Address |IDnn Set Network ID |
|STdmyhms Set Date/Time |SC01 Set Channel Configuration |
|SPxx Set Dial Out PSTN Num. |SV Save Parameters in EEPROM |
|MAaaaaaa Memory Add. (for R/W) |RD Read Memory Address |
|WRdd Write Memory Address |DUaaaaaa Dump memory |
|SS RX Scan From Start |SN RX Scan to Next |
|RB Reboot Demux |DV Display PSU Voltages |
|IC Init PSTN Connection |HU Hang Up PSTN Line |
|MD MPX Diagnostic mode |TA Test User & Alarm ports |
|BT SET PSTN Backup Timeout|NM Toggle Traffic prog. msgs.|
|SOnnnn Set Oscillator Value |PD Toggle PPS display mode |
|KEcfppb Key tx (pp=data pat.) |DA Display Analog Values |
|OS Oscillator Setup mode |ES End Oscillator setup |
|NP Source PPS/Time fr. NET|LP Source PPS/Time fr. GPS |
|GD Toggle GPS diag info |TF Toggle I20 test freq |
|DT (T OR P) Set dialtype | |
------------------------------------------------------------------------------

(sri, das sieht nur im IE gut aus, Netscape zeigt nur Schrott an)

Wie man sieht stehen eine Menge Befehle zur Verfügung, die sich zum Teil mit Optionen, die über das LCD-Menu erreichbar sind, decken, jedoch stehen auch ein paar neue Optionen zur Verfügung. Leider ließen sich aber die Alarme nicht löschen und es ist auch nicht möglich, Rufe auszusenden, es steht mit dem KExxxxx-Befehl nur einer zum Tasten des Senders zur Verfügung, dieser blieb, vermutlich wegen der fehlenden Endstufe, bei mir aber ohne Wirkung.

Eine Interessante Ausgabe erzeugt der DS-Befehl, hier zeigt die Einheit ihren Status an:

DBSC STATUS REPORT 00/00/00 00:01:31.9 VERSION 1373C4T0
NET ID = 0C ADDR = 7020 NCU= RX FREQUENCY 1.206000GHz LINK RATE 064000Bps
DELAYS CHN0 CHN1 TELEM CONSOLE A PSTN - T**********
SIMULCAST - 049A 049A TELEM CONSOLE B PSTN - T**********
FIXED OFFSET - 0000 0000 ZONE BACKUP A PSTN - ****
TRANSMITTER - 0000 0000 ZONE BACKUP B PSTN - ****
TOTAL - 849A 849A SYNC = NET DG STAT - n n n n n n n Y PBTO =01
GEN ALARMS NST GPS E/N DMF RXF PPS SSL SDL CRC SEQ TEC FAC --- MDF --- IRQ
ACTIVE - n n Y n Y Y Y Y n n n n n n n n
ENABLED - n n n n n n n n n n n n n n n n
NOTIFIED - n n n n n n n n n n n n n n n n
GEN ALARMS AN0 AN1 AN2 AN3 PST --- REF --- --- SLS --- DFB DFN DFB DFN ZBC
ACTIVE - n n n n n n n n n n n n n n n n
ENABLED - n n n n n n n n n n n n n n n n
NOTIFIED - n n n n n n n n n n n n n n n n
ERROR COUNT CRC=0000 SEQ=0000 TEC=0000 FAC=0000 E/N=0000 AN2=FF AN3=FF
COUNT LIMITS CRC=03E8 SEQ=03E8 TEC=03E8 FAC=03E8 E/N=0900 AN2=00 AN3=FF

Man sieht die RX-QRG des Sat-Reiceivermoduls und die Datenrate, wieder die Telefonnummern und die aktiven Alarme.

Die weiteren Befehle bringen unterschiedliche Ausgaben, einige benötigen auch noch bisher unbekannte Optionen.

Die externe Modemschnittstelle am BSC:

Auf der Rückseite des DBSC-1 befinden sich mehrere Schnittstellen, darunter auch eine SUBD-9, die stark an einen seriellen Anschluss erinnert, zumal sie noch mit MODEM beschriftet ist. Allerdings weißt sie die falsche Steckernorm auf, sie ist eine Buchse und nicht wie sonst üblich eine Stiftleiste.

Trotzdem lassen sich an ihr RS232-konforme Pegel messen, diese Schnittstelle ist vermutlich dafür gedacht, ein externes Modem anzuschließen. Die Belegung der Schnittstelle selber entspricht der einer normalen an einem PC. Um an ihr forschen zu können ist also ein Nullmodem-Kabel (und einige Adapter) notwendig.

Wenn man sich auf diese Weise auf die Schnittstelle aufschaltet (9600,8N1), so kann man per Terminalprogramm die Strings sehen, die an das interne Modem geschickt werden, leider jedoch nicht dessen Antworten. Ebenso ist es nicht möglich, eigene Antworten an den Controller zu schicken. Gleiches gilt nach dem Ausbau des internen Modems, jetzt sind allerdings nur noch die Init-Strings zu sehen, der Controller versuch nun kontinuierlich, das interne Modem zu initialisieren, von außen eingegebene Antworten erreichen den Controller offensichtlich nicht, es war keine Reaktion auf übliche Modemantworten zu erkennen.

Um die externe Modemschnittstelle vollkommen in Betrieb nehmen zu können ist es erforderlich, auf einem der Jumperblocks zwei Jumper zu versetzen und das interne Modem (das ist die kleine Platine die links sitzt wenn man das DBSC-1 so vor sich liegen hat, dass die Messerleisten der Stecker zum Körper zeigen), auszubauen. Durch die neuen Jumpereinstellungen werden zwei sonst nicht zum SCC durchgeschaltete Leitungen der externen seriellen Schnittstelle durchgereicht bzw. von internem Modembetrieb auf extern umgeschaltet. Es werden an der MODEM-Schnittstelle nur die Leitungen RxD, TxD, GND und DCD verwendet, der Rest ist unbeschaltet. Ob der Ausbau des internen Modems nach dem Umschalten der Signale wirklich notwendig ist habe ich noch nicht getestet.

Die mitgeschnittenen Init-Strings an das interne Modem erbrachten die Info, dass die Steuereinheit die Antworten als numerische Codes erwartet, dass keine Flusskontrolle verwendet wird und dass mit dem DCD-Signal gearbeitet wird, sowie noch ein paar weniger interessante Modemsequenzen.

Mit diesen Infos habe ich einen kleinen Modememulator geschrieben, der dem DBSC-1 vortäuscht, er hätte da tatsächlich ein Modem am Anschluss. Das klappt auch soweit ganz gut, nach der Initialisierung des "Modem" wird eine Herstellerinfo angefordert, diese konnte ich zum Glück per Memory-Dump an der Diagnoseschnittstelle ermitteln. Wenn der Info-String empfangen wurde wird versucht, die Telefonnummer(n) anzuwählen.

Leider brachte hier die numerische Sequenz für einen erfolgreichen Connect keinen Erfolg, höchstwahrscheinlich ist es hier erforderlich, dass die DCD-Leitung entsprechend bedient wird. Dies habe ich noch nicht implementiert bzw. auch noch nicht ausgemessen.

Falls die Einheit grad nichts mit dem Modem zu tun hat, z.B. wenn sie eine gewisse Zeit wartet bevor sie wieder versucht eine der Nummern anzurufen, sendet sie kontinuierlich einen der Init-Strings an das Modem. Verliert sie die Verbindung mit dem Modem, so setzt sie mit einer speziellen Sequenz die Modemkommunikation zurück. Ob dieses "Pollen" per Init-String gewollt, oder, bedingt durch meinen Emulator, eine Art Fehlfunktion ist, konnte ich noch nicht klären.

---UPDATE 5.2.2001---

Nachdem der Modememulator so erweitert worden ist dass er dem BSC die DCD-Leitung korrekt mitteilt sieht alles erheblich besser aus. Wie schon vermutet war das Pollen mit dem Init-String eine Reaktion auf die nicht korrekt gesetzte DCD-Leitung. Sie hatte immer den Zustand HIGH was dem BSC signalisierte, dass eine Verbindung vorlag, was aber zu einigen Zeitpunkten gar nicht sein konnte. Deshalb versuchte er andauernd, das Modem in den gewünschten Zustand zu bringen, nämlich eine dem Trägersignal (des Modems) folgende DCD-Leitung die zu diesem Zeitpunkt LOW sein muss. Da ihm dies nicht gelang versuchte er es andauernd wieder. Mit der korrekt bedienten DCD-Leitung ist das Pollen nun beseitigt.

Ein weiteres Problem das erst jetzt aufgefallen ist war, dass solange DCD nicht den gewünschten Status hat der BSC keine Anwahl gestartet hat. Dies funktioniert nun auch einwandfrei.

Leider noch keine Fortschritte habe ich beim Pseudo-Connect des Modems erreichen können. Eine Reaktion auf die nun korrekt bediente DCD-Leitung erfolgt nicht wenn sie nach der Wahl mit etwas Verzögerung auf HIGH gesetzt wird, auch die zusätzliche Connect-Returnmeldung als Modemcode brachte keinen Erfolg. Nach ca. 30 sek. sendet der BSC wieder eine der Init-Sequnzen und wartet bis zur nächsten Anwahl.

Ob der BSC nun doch denkt er hätte in der Phase zwischen meinem falschen DCD und bis er wieder den Init sendet eine Verbindung kann ich nicht sagen, ich denke eher nicht. Jedenfalls brachten willkürlich an den BSC gesendete Strings in dieser Phase keine Reaktion. Ich vermute, es fehlt noch der richtige Modem-Returncode damit er die Verbindung erkennt.

Das interne Modem hatte ich auch mal wieder (bei Einstellung für externes Modem) testweise eingebaut, da es aber nicht richtig initialisiert wurde oder ähnliches, sponn es nur rum. Besser man läßt es draußen.

---UPDATE 8.2.2001---

Durch entsprechende externe Beschaltung konnten einige der Alarme gelöscht werden, die noch verbleibenden hängen zum Teil mit der nicht funktionierenden I2C-Kommunikation zusammen. (siehe Wunschliste)

---UPDATE 12.2.2001---

Einer der Alarme kommt durch eine softwaremäßige Verriegelung des Senders zustande, dies muß von Quix zur Abschaltung des Netzes als eine der letzten Aktionen durchgeführt worden sein. Dieser Zustand kann nur durch ein entsprechendes Steuerkommando an den BSC aufgehoben werden, das kann aber erst ausprobiert werden wenn die Kommunikation mit dem BSC über das Pseudomodem gelingt. Vorher ist der Steuersender nicht zum Senden zu bewegen.

to be continued...

--------------------------------

Inzwischen ist auch etwas Original-Doku vorhanden, aber die hilft mir nicht weiter. Es sind nur grundsätzliche Schnittstellebelegungen (btw: alle von mir angestellten Vermutungen bezüglich der Schnittstellenbelegungen sind ok) und Installationshinweise. Vielleicht kommt noch mehr.

Wunschliste

Weihnachten ist zwar noch lange hin, aber trotzdem hätte ich noch ein paar Probleme, bei denen ihr mir vielleicht helfen könnt...

Und zwar:

Was bedeuten die Modem-Befehle *N und C6 ? Die habe ich nicht im Handbuch. Es sind Befehle des Rockwell-Standardbefehlssatzes.

Im großen Endstufenmodul müssten I2C-Temperatursensoren sitzen (LM75, DS1621). Deren äußere Beschaltung (Adresseinstellung) wäre Interessant bzw. auch die sonstiger I2C-Bausteine in dem Modul.

Es muss noch einiges an Dokumentation beschafft werden.

vy 73, Marc, DG9OBU

AX25: DG9OBU@DB0UHI.#NDS.DEU.EU

E-Mail: hirtem@stud.fh-hannover.de

Letzte Änderung: 12.2.2001