Siemens C5 Umbau

home page

This is about the modification of a mobile phone to an amateur radio transceiver. It's only in german, but I think the Siemens C5 is interesting only for german speaking people. If you don't speak/understand german and are interested in this project, feel free to send me an email.

Inhalt


Neuigkeiten

1. Juli 2002
Da der QSL.NET-Mail-Reflektor anscheinend nicht mehr funktioniert, bitte ich, meine DARC-Adresse zu verwenden: db1otm@darc.de
28. Juni 2002
Daten für das Bosch OF7 bekommen
6. Mai 2002
Jan Alte (DO1FJN) hat seine Informationen zum Umbau veröffentlicht, unbedingt ansehen!
14. Januar 2002
Daten für den TBB200 (u.a.) bekommen
19. Dezember 2001
Daten für NJ88C33 (Mitel/Zarlink) gefunden (pinkompatibel zu TBB200)
4. Oktober 2001
Veröffentlichung des BF-Bus-Wächters
13. April 2001
Veröffentlichung der Version 0.1, des Emulators und weiterer technischer Daten

zurück zum Inhaltsverzeichnis

Einleitung

Zunächst einen herzlichen Dank an Uwe Hennig (DL6INT), ohne dessen hervorragende Seite zum Umbau des C5 ich nie auch nur auf die Idee gekommen wäre, mich mit diesem Gerät zu beschäftigen. Für weitere Informationen zum Umbau bitte unbedingt Uwes Seiten lesen!

Vielen Dank auch an Günter Bauer (DK9CL) für die zur Verfügung gestellten Daten.

Jan Alte (DO1FJN) hat mit großer Energie ein Betriebssystem für das C5 entwickelt und eine Möglichkeit geschaffen, schnell Programme in das Gerät zu übertragen und zu testen, ohne permanent Eproms zu brennen.

Mein Ziel ist es, den vorhandenen Digitalteil zu nutzen, statt alles durch einen anderen Controller zu ersetzen. Hier möchte ich meine Erkenntnisse vorstellen.

Da ich bereits einige Anfragen zum Fortschritt der Arbeiten bekommen habe, folgt hier ein ernstzunehmender wichtiger Hinweis für alle, die keine "Zulassung zur Teilnahme am Amateurfunkdienst" bzw. "Genehmigung zum Errichten und Betreiben von Amateurfunkstellen" (umgangssprachlich: Amateurfunklizenz) haben: Die modifizierten Geräte dürfen nur von berechtigten Personen auf den dem Amateurfunkdienst zugewiesenen Frequenzen betrieben werden! (siehe Amateurfunkgesetz)

zurück zum Inhaltsverzeichnis

Experimente

Controller: NEC V25 - entspricht in etwa einem Intel 80186 mit zusätzlicher Hardware (4 8-Bit-Ports, DMA-Controller, 2 serielle Schnittstellen, 2 Timer, 256 Byte Onchip-Ram) sowie einigen zusätzlichen Befehlen (Originaldokumentation NEC, dann nach Informationen zu "16 bit V" suchen, der offizielle Name ist µPD70320).

C5 offen (für größeres Bild klicken)


In einem C5 war statt des "normalen" Proms 23C4001 (512kByte, aber nur 256kByte genutzt) ein Eprom M5M27C201 (256kByte) in einer Fassung eingebaut. Ich habe beide ausgelesen (mit dem Programmiergerät Multiprom und einem selbstgebauten Adapter von PLCC auf DIL) und disassembliert (mit dem interaktiven Disassembler IDA, Freeware-Version).

Meine Experimente mit einem eigenen Programm haben erste Erfolge gebracht; ich habe eine "Uhr" programmiert (das bedeutet, der WatchDog wird korrekt bedient und die Kommunikation in Richtung Bedienteil funktioniert).

Bedienteil-Uhr (für größeres Bild klicken)
(Die Störungen der letzten Stelle kommen durch meinen langsamen Scanner)


Als Assembler nutze ich Tasm, als Linker JLOC (vielen Dank an John Fine, insbesondere für die Erlaubnis, es hier zur Verfügung zu stellen).

Mittlerweile ist ein großer Teil des Programms in C geschrieben (ich verwende den Watcom C-Compiler). Der Kern (Interrupt-Routinen, serielle Kommunikation) ist nach wie vor in Assembler. Das ganze wird von JLOC problemlos gelinkt.

Mit den fertigen Programmen "brenne" ich einen Flash-Prom AM29F040, der dann einfach in die Fassung kommt.

BF-Bus-Wächter

Mit dieser kleinen Schaltung
BF-Bus-Wächter
und diesem Programm (45k) kann man die Telegramme auf dem BF-Bus mit dem PC verfolgen (siehe auch Bedienteilsteuerung). Das Programm ist bisher nur unter Windows NT getestet.

zurück zum Inhaltsverzeichnis

Ergebnisse

Etappenziel erreicht Programmversion
zweiseitige Kommunikation mit dem Bedienteil 21.02.2001 V0.0
(3k)
Monitor + Emulator (mit Quelltext) 01.04.2001 V0.1
(77k)
Nutzung des DSP    
vollständige Nachbildung von Uwes Programm
für den Atmel-Controller
   

Die Zip-Dateien enthalten jeweils eine README-Datei mit weiteren Angaben zu den enthaltenen Dateien, Bedienungshinweisen usw.

Die serielle Kommunikation wird komplett durch Interrupts gesteuert. Dazu werden folgende Interrupts verwendet: Timer 0 wird im "one shot mode" betrieben und achtet auf die Einhaltung der Zeiten im Protokoll.

In die aktuelle Version 0.1 ist ein kleines Monitorprogramm integriert. Damit lassen sich alle Speicherzellen lesen und - im RAM/IO-Bereich - auch beschreiben. Außerdem kann man Telegramme an das Bedienteil senden, um z.B. die Bedeutung der Bits in der Ton-/Symbolsteuerung festzustellen.
Emulator

Nebenbei ist ein Emulator entstanden, der es ermöglicht, die Steuerung und Ausgabe über das Bedienteil schon vorab zu testen.

Aufgrund der Schaltung ist es notwendig, den DSP zu programmieren:

Empfangssignalpfad (für größeres Bild klicken)
Ich habe bereits einen Teil aus dem Original identifiziert und disassembliert und teste das Programm mit dem "Suite56 DSP Simulator" von Motorola.
zurück zum Inhaltsverzeichnis

Technische Daten

  Hier kommen noch ein paar Daten, die bei eigenen Experimenten hilfreich sein können.

Speicheraufteilung

... soweit ich es herausfinden konnte. Die Adressen sind Absolutadressen im 1 MByte Adressbereich. Durch die Kompatibilität zum x86 leidet auch der V25 an der "Segmentitis".

 Adresse Nutzung Kommentar
RAM 00000 - 07FFF RAM -
07F0AHF-Power 15WSkalierungswert
07F0BHF-Power 6WSkalierungswert
07F0CHF-Power 2.5WSkalierungswert
07F0DHF-Power 0.75WSkalierungswert
07F0EHF-Power 0.25WSkalierungswert
07F0FHF-Power 75mWSkalierungswert
07F10HF-Power 25mWSkalierungswert
07F11HF-Power 5mWSkalierungswert
07F12AUDISkalierungswert
07F14AUDOSkalierungswert
07F16AF_RXSkalierungswert
07F18AF_TXSkalierungswert
Memory mapped IO 0C101, 0C202 usw. DSP -
0D000 AFC DAC
0D001 Sendeleistung DAC
0E000 Port am EP200 Bit 6 (Pin 64): BF-Bus
Bit 4: Lautsprecher
0E001 Combo-Steuerung  
0E002 ? byte
0E003 I²C-Bus  
0E004 I²C-Bus  
0E006 ? byte
0E008 ? word
0E009 ? byte
0E00A ? byte
0E00C input? word
0E00E ? byte
0E010 ? byte
0E011 Combo-Steuerung  
0E012 ? byte
0E013 ? byte
0E014 ? byte
0E015 ? byte
0E016 ? byte
0E017 ? byte
0E01A ? byte
0E01C ? byte
0E01D ? byte
0E01E ? byte
ROM C0000 - FFFFF Prom / Eprom -
FFFF0 Reset-Einsprung -
... ... ... Fortsetzung folgt

Bedienteilsteuerung

Als Ergänzung zu den Informationen von Uwe (DL6INT) folgen hier Angaben zur genauen Bedeutung der Telegramme an das Bedienteil.


Allgemeines


IC-Daten


zurück zum Inhaltsverzeichnis

© 2001,2002 Thomas Müller, db1otm
Letzte Änderung: 28. Juni 2002

Vim

Valid HTML 4.0!