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
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.
@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..
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.
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.
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.
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.
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...
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
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.
> 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.
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.
> 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.
>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.
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...
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.
> 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.
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
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
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
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
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
Ich hätte so etwas ja gerne für die "netten" Leute ohne Rufnummer, die die einem Gewinnspiele und ähnlichen dreck andrehen wollen.
Wenn du bei der Telekom bist, kannst du das Netzseitig aktivieren lassen. Anrufe mit unterdrückter Nummer werden dann direkt rausgefiltert
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.