mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FritzX PC 2.0 Modifikation


Autor: Michael Meier (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe hier eine alte Fritz!X PC 2.0 ISDN-Telefonanlage mit 4
analogen Nebenstellen. Ich würde gerne meine eigene Firmware dafür
programmieren, allerdings ist das natürlich kein offenes System und
daher gibt es keine Referenzen dazu. Hat jemand Tipps, wie ich die
genaue Funktionsweise ergründen kann und woher ich einen C-Compiler für
den Prozessor bekomme? Ich bin gerade dabei, den internen Aufbau zu
erkunden und habe mir auch die Datenblätter für die verwendeten ICs
besorgt. Das Kommunikationsprotokoll der momentanen Firmware konnte ich
auch herausbekommen, sodass ich in der Lage sein sollte, meine Firmware
draufzuladen. Ich habe unten mal die verwendeten Komponenten
aufgelistet und die Datenblätter hochgeladen, falls Interesse besteht.

Danke schonmal im Voraus

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

1 PSB 2115H V1.2  ISDN PC Adapter Circuit IPAC
1 PSB 2134H V1.4  SICOFI 4-TE (Four Channel Codec Filter for Terminal
Application)
4 CM8870CSI    CMOS Integrated DTMF Receiver
4 AM79R70JC    Ringing Subscriber Line Interface Circuit
1 AM186ED-40K    High Performance 80C186- and 80C188-Compatible 16-Bit
Embedded Microcontroller(40MHz)
1 AS4C256K16E0-50JC  5V 256Kx16 CMOS DRAM(EDO)
1 MX29F400TTC-70  4M-BIT[512Kx8/256Kx16]CMOS FLASH MEMORY
2 MAX202E    +/-15kV ESD-Protected, +5V RS-232 Transceiver

http://www.mmsources.de/pub/datasheets.rar (10.4MiB)

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der C-Compiler für den Prozessor dürfte das geringste aller Probleme
sein. Den kann man sich kostenlos bei Borland (im Museum)
herunterladen: Borland C++ 3.1 (der letzte reine 16-Bit-Compiler von
denen). Mit Turbo C 2.0 kommst Du auch schon recht weit, wenn Dir C
reicht (anstelle von C++).

Das essentiell ganz und gar nicht zu unterschätzende Problem dürfte die
grundlegende Funktionsweise einer ISDN-TK-Anlage sein. Was da drin
abgeht, ist alles andere als trivial und in mehreren Raummetern
ETSI-Normen (an die Normalsterbliche nur gegen Geld 'rankommen)
festgelegt. Die wiederum sind in so einer Art Sprache verfasst, die man
eigentlich gar nicht verstehen kann (Stell' Dir Beamtendeutsch vor,
übersetze das 1:1 in Urdu, übersetze das wiederum 1:1 ins japanische
und dann wieder 1:1 zurück ins ... französische. Das -zusammen mit
Englisch- ist nämlich die Telekommunikationssprache, wie Du an den
Fachausdrücken feststellen wirst: Die reden da nicht von Bytes, sondern
von Oktetten)

Das ganze ist so komplex, daß auch die Hersteller von TK-Anlagen oft
dran scheitern, wie viele schlecht bis fast überhaupt nicht
funktionierende Anlagen beweisen ...
Anzumerken sei allerdings, daß gerade AVM dieses Problem nicht hat;
wenn einer der deutschen TK-Hersteller sich mit ISDN auskennt, dann
die.

Sei's drum. Als Ansatzpunkt könntest Du Dir das OpenSource-Projekt
Asterisk ansehen, das ist eine linuxbasierter TK-Anlage. Allerdings
kannst Du auf einem 80186 kein Linux laufen lassen, auch kein ucLinux,
da das ein 16-Bit-Prozessor ist.
Die Grundkonzepte allerdings könnten eventuell übertragbar sein.

Wenn Du das ganze in Betrieb nehmen möchtest, solltest Du Dir Zugang zu
einem ISDN-Protokollanalysator verschaffen, sowas könnte in den
entsprechenden Fachbereichen/Instituten an technisch ausgerichteten
Universitäten/Fachhochschulen existieren.

Also: Ich will Dich nicht desillusionieren, aber ... da nimmst Du Dir
was vor, was vermutlich 'ne Nummer zu groß ist.

Autor: Michael Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das Problem sind nicht die Telekommunikationsprotokolle, in der
Hinsicht kenne ich mich bestens aus. In der C/Assembler-Programmierung
besteht da auch kein Nachholbedarf. Grundlegende Kenntnisse in der
Elektronik habe ich auch, auch wenn diese noch aus den 80'er-Jahren
stammen (MFA 8085) ;-)
Ich habe eben noch nie mit einer Embedded-Plattform gearbeitet und
müsste herausfinden, wie die Ports/Interrupts belegt sind, also die
rein implementationsspezifischen Spezifikationen, um mit den
ISDN-Controllern "zu kommunizieren".

Die Angelegenheit mit den Oktetten ist ja nur daher begründet, dass die
Größe eines Bytes implementationsspezifisch ist, da es nur so groß sein
muss, um ein Zeichen des Zeichensatzes einer Plattform aufzunehmen. Und
vor allem in den 80'er-Jahren, als die Netzwerktechnik ihren großen
Aufschwung hatte, war ein Byte noch nicht Synonym für 8Bit.

Zu der Sache mit AVM kann ich nur sagen, dass die
Busybox-Implementation der Firmware in der aktuellen Fritz!Box mehr als
dürftig ist. Ich habe die Anlage seit 3 Wochen und schon mehr als genug
Bugs/Abstürze erlebt. ;-)

Autor: Michael Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, kann mir wenigstens jemand sagen, wie ich mit dem Borland
C/C++-Compiler Rohdateien kompilieren kann, die kein PE-Format haben?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.