Forum: Mikrocontroller und Digitale Elektronik ISDN mit dem AVR


von Dominique G. (dgoersch)


Lesenswert?

Hallo zusammen,

ich bin auf der Suche nach einer Möglichkeit mit dem AVR ISDN zu 
"sprechen". Benötigte Funktionen wären das Auslesen der Anrufernummer 
einer beliebigen MSN die auf dem Bus gerufen wird und das Absetzen von 
Anrufen. Diese Anrufe sind zwar im weitesten Sinne "Sprachanrufe", es 
kommt aber zu keiner Verbindung, da die gewählte Nummer von einer 
Telefonanlage ausgewertet wird (Stichwort: Assoziierte Wahl/Assoziierte 
Dienste an einer Siemens Hipath 3000).

Ein externes ISDN-Modem anklemmen und über AT-Befehle kommunizieren wäre 
die einfache Version, aber es sollte irgendwas kleines, integriertes 
sein. Hier habe ich noch Beitrag "ISDN Atmel" und 
Beitrag "ISDN und AVR" gefunden, aber das ist wohl 
irgendwie im Sande verlaufen...

Hat jemand weitere Erfarung und/oder Erfolge auf dem Gebiet?

Danke und Gruß
Dominique Görsch

von Benedikt K. (benedikt)


Lesenswert?

Direkt mit einem AVR dürfte nahezu unmöglich sein.
Das einfachste dürfte es sein, wenn du dir eine alte ISA ISDN Karte 
besorgst (z.B. bei Pollin). Da drauf ist meist ein PSB2186 verbaut, den 
man leicht an einen AVR anschließen kann.

von Patrick (Gast)


Lesenswert?

@Benedikt hast du schon erfoglreich beide IC zum laufen bekommen. Ich 
hatte mal begonnen mit einer AVM FritzCard aber es war kein Datenblatt 
zum verbauten AVM Controller zu bekommen. Den PSB in DIP zu bekommen 
dürfe fast unmöglich sein ich hab diesen mal in einer alten Octopus 
gesehen..

von Benedikt K. (benedikt)


Lesenswert?

Ich hatte angefangen, aber musste dann mangels ISDN das Projekt 
abbrechen (Umstellung auf VoIP).
Ich hatte den Chip auf der ISA Karte gelassen und nur den GAL der als 
Adressdecoder arbeitet und den CS\ und ALE Pin ansteuert, entfernt. Die 
CS/ und ALE Pins habe ich dann direkt angesteuert.
Zu mehr als der Kommunikation mit dem Chip bin ich aber nicht gekommen.

von Dominique G. (dgoersch)


Lesenswert?

Benedikt K. wrote:
> Direkt mit einem AVR dürfte nahezu unmöglich sein.

Ja direkt war nicht so gemeint, dass ich den AVR an den s0-Bus Packe, 
sondern schon so, dass ich entsprechende ICs verwende wie z.B. die in 
den genannten Beiträgen verwendeten.

von Christian B. (casandro)


Lesenswert?

Also direkt ISDN mit dem AVR zu sprechen könnte durchaus denkbar sein. 
Die Bitraten sind ja nicht besonders hoch. Die Probleme sind eher bei 
den Protokollen auf höherer Schicht.

von Peter (Gast)


Lesenswert?

Ich hatte aus neugier mal geschaut was auf Layer1 bei ISDN so lost ist. 
Das ganze ist nicht gerade AVR freundlich.

http://www.fh-friedberg.de/fachbereiche/iem/telekom-labor/habermann/html/3lehre/vorlesung4pdf/isdn1.pdf

und 192kbit/s sind zwar nicht sehr viel, aber wenn man die Bits einzeln 
behandln muss wird es knapp. Wenn es bloss um das lesen am Bus geht 
sollte es nicht unmöglich sein, aber sehr sportlich.

von Dominique G. (dgoersch)


Lesenswert?

Ich werd mal schauen, ob ich irgendwo ne alte Teles 16.3 im Keller 
finde, meine Fritze sind mir zum zerpflücken zu schade, und die HFC 
scheidet ja eh aus...

von Pieter (Gast)


Lesenswert?

moin moin,

soetwas habe ich vor Jahren mal mit einem TRICCY-Data gemacht. Das Teil 
wird per serieller Schnittstelle angesprochen. Der Vorteil war, das ISDN 
Protokoll, also auch die ISDN-DienstDaten wurden übertragen. Alles 
eigendlich so wie in der ETSI beschrieben. Ob ein ISDN-Modem alle 
notwendigen Daten liefert -- keine Ahnung. Nach dem Verbindungsaufbau 
muss die Sprache jedenfalls mit 8000Byt/s gesendet werden.

Du hast Dir was vorgenommen.
Mit Gruß
Pieter

von JaaWaa (Gast)


Lesenswert?

Ich hab mir mal das beschriebene Paper angeschaut. Da fehlt leider 
vieles. Zum einen wurde nicht erwaehnt, dass die ISDN Busspannung 90V 
betraegt, ob man das Signal als NPN, als PNP, als Gegentakt 
Emitterfolger Schalten muss.
Dann fehlen die ganzen Zustandsdiagramme. Wahrscheinlich muesste man 
fuer die Kommunikation etwa Einfaches mit Dampf haben. Etwas groesseres 
als ein Tiny2313. Bei 20MHz bleiben dann noch ca. 1000 ASM Befehle pro 
gesendetes Bit. Allenfalls ist auch ein CPLD/FPGA die geeignete Wahl.

von Dieter W. (dds5)


Lesenswert?

> Bei 20MHz bleiben dann noch ca. 1000 ASM Befehle pro gesendetes Bit.

Hmmm, also wenn ich 20MHz durch 192k(Bit/s) teile kommt da 104,17 raus.

von Christian B. (casandro)


Lesenswert?

Dieter Werner wrote:
>> Bei 20MHz bleiben dann noch ca. 1000 ASM Befehle pro gesendetes Bit.
>
> Hmmm, also wenn ich 20MHz durch 192k(Bit/s) teile kommt da 104,17 raus.


Naja, wenn Du nur den D-Kanal haben willst, so kannst Du locker die Bits 
dazwischen überspringen. Du musst Dich nur rechtzeitig mal wieder 
synchronisieren.

von Peter (Gast)


Lesenswert?

> dass die ISDN Busspannung 90V
Das ist aber nicht am S0 der fall, währe ja viel zu gefährlich. Da ist 
bei 40V schluss. Die spannung ist auch nur zwischen der Sende und 
Empfangsleitung. Wenn man aber die Daten haben und über einen Übertrager 
geht kann einem die Spannung egal sein.

von JaaWaa (Gast)


Lesenswert?

>Hmmm, also wenn ich 20MHz durch 192k(Bit/s) teile kommt da 104,17 raus.

Sorry, mein kleiner Rechenfehler. Ich denke es koennte eng werden das 
Protokoll in 100 ASM zu behandeln. Dann waere ein schieberegisteransatz 
wohl passender. Als clock, den 192kHz, mal 100 oder mal 128 
hoch-ge-PLL't, dann koennt man zumindest Parallel laden. Bis die 
Registerdecodierung steht, braucht's noch ein paar Gatter, dh man ist 
schnell bei einem 256 Makrozellen CPLD. Und die Uebertragung auf dem 
Medium scheint differentiell zu sein. Dh dann braucht man 
Brueckenstufen.

von *.* (Gast)


Lesenswert?

Oder man nimmt zwei µCs, einen (kleinen) fürs decodieren und einen für 
den Rest?

Ein Open-Source-ISDN-Telefon gibts wohl noch nicht...

von Reinhard S. (rezz)


Lesenswert?

Peter wrote:

>> dass die ISDN Busspannung 90V
> Das ist aber nicht am S0 der fall, währe ja viel zu gefährlich. Da ist
> bei 40V schluss.

90V gibts vor dem NTBA, also Uk0-Schnittstelle. S0 hat so 30-35V, weiß 
aber nicht wie das aussieht wenn man den NTBA mit 230V AC versorgt.

von Peter (Gast)


Lesenswert?

> wenn man den NTBA mit 230V AC versorgt
Wenn der NTBA nicht mit strom versorgt wird, zählt das als Notspeisung 
und es darf nur eine gewissen Leistung entommen werden, dabei wird die 
Spannung umgepolt.

Wenn die 230 Angeschlossen ist, ist die Spannung "normal" und es darf 
mehr leistung entnommen werden.

Die Spannung ist ein beiden Fällen ähnlich.

von Bal T. (baltic)


Lesenswert?

Hallo Dominique,

bei der Frage wer Erfahrungen auf diesem Gebiet hat, fühle ich mich 
einfach mal angesprochen. Vor Jahren habe ich mich intensiv mit dieser 
Problematik auseinandergesetzt.

Grundsätzlich empfehle ich (wie Benedikt auch) die Verwendung eines 
ISAC-S zur Kopplung des AVR mit der ISDN-S0-Schnittstelle. Dafür kommen 
der PEB2085/2086, der PSB2186 (alle 5V) bzw. der neuere PEB3086 (3,3V) 
in Frage. Alle IC's werden 8-Bit parallel mit dem AVR verbunden. Beim 
PEB3086 besteht zusätzlich die Möglichkeit ein serielles Interface (SCI) 
zu nutzen. Die direkte Anschaltung eines AVR an die S0-Schnittstelle ist 
wegen der fehlenden galvanischen Trennung / Leitungsanpassung und der 
Leitungscodierung der Schnittstelle (4B3T, siehe ITU I.430) so gut wie 
unmöglich. Der ISAC-S verfügt über Sende- und Empfangspuffer für LAP-D 
Frames, liefert Interrupts bei eingehenden Nachrichten (D-Kanal) und ist 
in der Lage weitere ISDN-Controller (z.B. ARCOFI-SP PSB2163) über ein 
internes IOM-2 Interface zu steuern. Mit einem ISAC-S sind damit viele 
Deiner (evtl. noch unbekannten) Probleme erledigt.

Nun zu Deinen benötigten Funktionen. Das Auslesen der anrufenden Nummer 
(CGPN) zu einer gerufenen MSN (CDPN) ist relativ unproblematisch. Der 
ISAC-S braucht hierfür nur (neben einigen anderen Einstellungen) mittels 
des MODE-Registers (0x22) in den Transparent-2-Mode geschaltet werden. 
Aus dem Empfangspuffer (RFIFO) lassen sich dann die eingehenden Layer2/3 
Frame-Fragmente abholen. Diese werden dann in einem Puffer im AVR 
zwischengespeichert und nach Empfang der vollständigen Nachricht 
(RME-Flag im ISTA-Register) ausgewertet. Alle Nachrichten außer einem 
Layer3-SETUP können sofort wieder verworfen werden. Im SETUP befinden 
sich die I-Elemente CGPN und CDPN die Deine gewünschten Informationen 
enthalten.

Der Aufbau einer abgehenden Verbindung ist da schon etwas komplizierter. 
Zunächst sollte Deine Programmumgebung (AVR) so organisiert sein, dass 
Du nachrichtenorientiert arbeiten kannst. Die Herausforderung besteht 
darin, auf alles was als Ereignis eintrifft bzw. sich als Zustand ändert 
quasiparallel zu reagieren. Zusätzlich werden noch ein paar 
Softwaretimer benötigt. Um diesen Anforderungen zu begegnen hatte ich 
mir ein AVR-Minimalsystem geschaffen in dem diese Dinge als Grundlage 
enthalten sind.

Bei einem Verbindungsaufbau müssen natürlich Nachrichten an den 
Vermittlungsknoten gesendet werden. Dafür muss der ISAC-S die 
S0-Schnittstelle gegebenenfalls erst aktivieren (activate request) bzw. 
er muss erkennen, dass die Schnittstelle bereits aktiv ist (activate 
indication). Dieser Status (Layer-1) muss im AVR fehlerfrei behandelt 
werden. Nach erfolgreicher Aktivierung des Layer-1 ist an einem 
ISDN-Mehrgeräte-Bus zunächst die Identität des Endgerätes zu klären. 
Bevor Layer-3 Nachrichten überhaupt geschickt werden können, muss sich 
das Endgerät vom Vermittlungsknoten eine TEI (Terminal Endpoint 
Identifier) zuweisen lassen. Der Vorgang ist grob mit einem DHCP-Request 
vergleichbar und wird in der ITU Q.921 (ETSI ETS 300125) beschrieben. 
Nach erfolgreicher TEI-Vergabe können endlich Layer-3-Frames (SETUP für 
den Verbindungsaufbau) verschickt werden.

Das Thema ist insgesamt sehr interessant, leider aber auch stellenweise 
sehr umfangreich. Trotzdem hoffe ich, Dir einen ersten Überblick gegeben 
zu haben was da auf Dich zukommt.


Gruß Jens

von Dominique G. (dgoersch)


Lesenswert?

Wow danke für die Infos, das hilft mir schon sehr weiter.

von Pieter (Gast)


Lesenswert?

Hallo Dominique,

alles das was der Jens so geschrieben hat, wird vom TRICCY erledigt.
Das SETUP hat auch die selbe Schreibweise, warum sollte der Entwickler 
auch was "eigenes" erfinden. Alle zeitkritischen Vorgänge bleiben im 
TRICCY, auf alles wo man agieren und reagieren muß, kommt per serielle.
Im TRICCY werkelt ein PSB2186, ist aber nach aussen unsichtbar.

Und wie Jens schon angedeutet hat, der ganze ISDN-"Quark" ist nicht 
wenig.
Ohne die Dokus zu ETSI ETS 300125 braucht man da gar nicht anfangen.


Mit Gruß
Pieter

von Dominique G. (dgoersch)


Lesenswert?

Pieter wrote:
> alles das was der Jens so geschrieben hat, wird vom TRICCY erledigt.

Hmm... was kostet das Ding denn so in etwa? Hast du ne Bezugsquelle?
Ich habe beim Gugeln nur was von Dr. Neuhaus gefunden, das scheint mir 
aber eher eine komplette TK-Anlage bzw. ein A/B-Adapter mit internem 
ISDN-Modem zu sein... ähnliches auch nochmal von Sagem.

Gruß
Dominique Görsch

von Benjamin S. (recycler)


Lesenswert?

Um einsteigen zu können, empfehle ich dir die Diplomarbeit von Tron der 
in dem Film "23" die Hauptrolle spielt. Soweit zur Einführung.

Er hat ein verschlüsseltes ISDN-Telefon gebaut. Teile dürftest du 
wiederverwenden können.

Hier die Homepage mit infos zu Tron http://www.tronland.de/

und hier die Diplomarbeit mit Schaltungen und Assemblercode: 
http://www.chscene.ch/ccc/cryptron/Diplom_original/

viel Spass

von Pieter (Gast)


Lesenswert?

Hallo Dominique,

ein TRICCY Data schwimmt derzeit in der Bucht rum. 30 Öken, kann viel 
sein, je nach Sichtweise, dafür ist das Teil fertig, mit Zulassung.
Das Protokoll der ser. Schnttstelle kenne ich, habe damit mal unter 
FreePascal eine Version für DOS und Linux geschrieben. Da gabs für 
nervende Anrufer einen rufnummernsensitiven AB.

Mit Gruß
Pieter

von Markus S. (bastetfur)


Lesenswert?

Ich hätte so etwas ja gerne für die "netten" Leute ohne Rufnummer, die 
die einem Gewinnspiele und ähnlichen dreck andrehen wollen.

von Dominique G. (dgoersch)


Lesenswert?

Wenn du bei der Telekom bist, kannst du das Netzseitig aktivieren 
lassen. Anrufe mit unterdrückter Nummer werden dann direkt rausgefiltert

von ... (Gast)


Lesenswert?

Mal ein Literaturtip:
http://www.amazon.de/ISDN-Kanal-Dialog-Lernsoftware-Diskette/dp/3924544425
Kostet normalerweise ca. 15,-. Leider momentan nicht verfügbar.

Den Autor findet man hier:
http://www2.informatik.hu-berlin.de/~goeller/

Und das hier dürfte in großen Teilen dem obigen Tip entsprechen:
http://www2.informatik.hu-berlin.de/~goeller/isdn/DerISDNDKanal.pdf

CU

PS: noch ein Link:
http://www.colognechip.com/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.