Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller und S0-Bus


von Bernd Krautmann (Gast)


Lesenswert?

Hallo Leute,

ich habe da eine Frage bezüglich S0-Bus und Mikrocontrollern erstmal
ungeachtet dessen, welcher Controller in Frage käme.

Situation:

Wenn jemand auf einer bestimmten meiner 3 ISDN-MSN`s anruft, soll ein
Mikrocontroller das anrufende Telefon zu einer Zahlencodeeingabe
auffordern, diesen verifizieren und daraufhin eine bestimmte Aktion
ausführen (Starker Tobak für einen Newbie).

Dazu müßte ich wohl erstmal wissen, was auf dem S0-Bus passiert oder ?

Ich glaube ich schreib jetzt mal nicht weiter doofe Fragen sondern
warte einfach mal auf Feedback :)

Danke

von Joline (Gast)


Lesenswert?

Da gabs mal ein Projekt namens "Lallus":

http://www.wolfgang-back.com/lallus_home.php

Vielleicht hilft das ja weiter.

Joline

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

"lallus" (schöner Name) verwendet kein ISDN, sondern normale analoge
Telephonie. Mit einem a/b-Adapter oder einer kleinen TK-Anlage lässt
sich "lallus" natürlich auch an einem ISDN-Anschluss betreiben, aber
ob das das ist, was Bernd vorschwebt?

Wenn direkt mit dem S0-Bus gearbeitet werden soll, dann ist ein
entsprechendes Line-Interface-IC erfoderlich. So etwas ist
beispielsweise der PEB 3081 von Infineon
(http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/prod_ov.jsp?oid=16808&cat_oid=-10821)

Dann sind "nur" noch zwei Klippen zu umschiffen. Um eingehende Anrufe
zu erkennen, muss das D-Kanal-Protokoll des S0-Busses ausgewertet werden
und entsprechende Nachrichten für die Rufannahme im D-Kanal abgesetzt
werden.
Nach dem erfolgreichen Verbindungsaufbau muss wiederum ein B-Kanal
bedient werden - das ist eine Vollduplexverbindung mit 8000 Bytes/sec.

Auszugebende Sprachdaten ("Aufforderung zur Zahleneingabe") müssen im
richtig codierten Format vorliegen (8-Bit-PCM).
Wenn DTMF-Töne des Anrufers ausgewertet werden sollen, muss eine
softwareseitige Auswertung dieser erfolgen, was vermutlich am besten
mit einer FFT realisiert werden kann.

Die entsprechenden Protokolle, die im ISDN auf dem S0-Bus auftreten,
sind in sehr unverständlicher Sprache in den Normen der ITU (vormals
CCITT) festgelegt. An die kommt man nur gegen Geld 'ran, es sei denn,
man kennt eine gut sortierte Uni-Bibliothek.

Alles in allem erscheint mir der erste Ansatz ("lallus") einfacher
realisierbar, da ein einfacher a/b-Adapter mit -geschätzt- 40 EUR auch
nicht so arg teuer ist.


Viel Erfolg!

von Christian (Gast)


Lesenswert?

Hallo Bernd,


mit einem uC wird das sehr schwer zu realisieren sein ...

Allein die DTMF erkennung wird so einiges in anspruch nehmen und das
EDSS1 Protokoll wird dir da auch keine Freude machen ...

Du benötigst dort so ziehmlich alles, was das Protokoll hergibt:

- L2 (Setup  Clearing  ...)
- L3 (Sprache / Daten)

Die einfachste Lösung für 1 B-Kanal ist, wenn Du Dir von AVM das
CAPI-ADK runterlädst (ftp.avm.de) und das ganze dann auf einem PC
laufen lässt.

Was soll denn das "Ding" machen, vieleicht kann ich Dir da ja Helfen
(mit CAPI verdiene ich meine Brötchen ...)


Lg


Christian

von Quark (Gast)


Lesenswert?

es gibt doch MC die HDLC können (z.B. m32c, Board ca. 65,- Euro), ist
das nicht das ISDN-Protokoll? Wird wohl auch zu aufwendig und zu teuer
sein.

Grüße

Quark

von TheMason (Gast)


Lesenswert?

Hallo,

also für die DTMF erkennung gibt es meine ich einen fertigen Chip
XR72... schlag mich tot ...
Der soll wohl DTMF dekodieren können und die Daten per I2C auslesbar
machen.
Den Chip gibts glaube ich bei Farnell (hab selbst noch nichts damit
gemacht, aber ein Kollege brauchte den mal)

Gruß
Rene

von Bernd Krautmann (Gast)


Lesenswert?

Hallo Leute,

danke schon mal für die tollen Antworten...zur Frage was ich eigentlich
machen will:

Ich finde es sch.... daß wenn ich nicht zuhause bin es von außen schwer
ist auf meinen Server zugreifen zu können. Durchlaufen will ich Ihn
nicht lassen und jedesmal jemanden zuhause bitten, daß er Ihn
einschalten soll ist auch keine Lösung:

Also:

1. Anruf auf MSN3

2. Aufforderung zur Codeeingabe

3. Codeeingabe zum hochfahren

4. Verifizierung

5. Server fährt hoch

6. Server sendet SMS "Bin bereit"

7. Rest erledigt DYNDNS

8. Wieder Anruf auf MSN3

9. Aufforderung zur Codeeingabe

10. Codeeingabe zum runterfahren

11. Verifizierung

12. Server fährt runter

13. Controller sendet SMS "Server runtergefahren"

Kann sein, daß man das anders auch machen kann...ich will es aber mit
einem Mikrocontroller machen :)

Gruß
Benrd

von Martin D. (mdewendt)


Lesenswert?

Hallo,

bei eBay gibt es im Moment recht günstige ISDN Module die sich per AT
Befehle ansteuern lassen. Das klappt sehr gut und man muss nicht das
ganze ISDN Protokoll implementieren. DIe Module stammen von eviateg.
Solche Module gibt es auch von anderen Anbietern.
Das ISDN Protokoll selbst zu implementieren mit einem entsprechenden
frontend (sei es Infineon mit dem von Rufus angsprochenen PEB3081 oder
dem HFC-S mini von cologne chip) ist wie ich aus eigener Erfahrung
weiss ein grösseres Projekt - vor allem weil es keine freien ISDN
Stacks auf dem Markt gibt (wer einen kennt melden !!).


Martin

von Martin D. (mdewendt)


Lesenswert?

Hallo,

hm jetzt wo etwas mehr zu deiner Aufgabe bekannt ist: Handy per
Datenkabel an Mikrocontroller und wenn jemand mit einer bestimmten NR
anruft PC an. Ausmachen kannst du ihn dann remote übers Internet ja
dann selber.


Martin

von Bernd Krautmann (Gast)


Lesenswert?

Hallo Martin,

wäre möglich will ich aber so nicht und zwar aus folgendem Grund:

Ich möchte nicht extra ein Handy kaufen und die Grundgebühr dafür
bezahlen nur damit ich das realisieren kann. Weil ich Festnetz sowieso
habe möchte ich das auch über das Festnetz realisieren

Gruß
Bernd

von Markus (Gast)


Lesenswert?

Hallo Bernd,

es gibt doch auch Verträge ohne Grundgebühr. Ein Handy hätte auch den
Vorteil, daß man die PIN per SMS schicken könnte. Insbesondere ist die
Lösung mit dem Handy deutlich einfacher zu realisieren als die
ISDN-Lösung.

Markus

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

@Bernd:
Was spricht für Dich dagegen, das ganze "analog" zu erledigen? Du
musst dafür nur einen a/b-Adapter an Deinen ISDN-Anschluss hängen und
kannst dann mit verhältnismäßig einfach handhabbarer Hardware (wie
"lallus") exakt das erledigen, was Du beschrieben hast.

Die MSN-Auswahl erfolgt durch den a/b-Adapter, der restliche Teil (bis
auf das SMS-Senden) dürfte "lallus" entsprechen.
Zum SMS-Versenden ist die Verwendung eines analogen Modems eh'
angesagt, weil soweit ich weiß die ISDN-Zugänge der
SMS-Servicezentralen der Netzbetreiber nach wie vor nicht ohne
speziellen Vertrag erreichbar sind, die analogen Zugänge hingegen
schon.

Das ganze direkt an ISDN anzubinden dürfte -mit Verlaub- nicht
realisierbar sein, da bereits so simple Dinge wie "einen Anruf
entgegennehmen" bei ISDN einen Höllenaufwand mit sich ziehen. Die bei
einer analog aufgebauten Lösung mit einem simplen IC realisierbare
DTMF-Erkennung muss aufwendig in Software nachgebildet werden, etc.

@Martin:
Was exakt meinst Du mit "freiem ISDN-Stack"? Ist die
ISDN-Treiberunterstützung, die üblichen Linuxen beiliegt, nicht frei?
Und wenn die nicht reicht, was ist mit Asterisk?
(Wenn Du schon die HFC-Chips aus Köln nennst, ist das doch naheliegend,
da die mit Asterisk auch als "Gegenpol" eines S0-Anschlusses verwendet
werden können)

von Martin D. (mdewendt)


Lesenswert?

Hallo Rufus,

ich habe mich mit Asterisk noch nicht beschäftigt bzw war der Meinung
das der dort verwendete ISDN Stack für den NT mode (das ist sicherlich
das was du als Gegenpol bezeichnest) viel zu aufwändig ist um ihn zB
mit WinAVR in einen mega128 zu packen.
Gleiches dachte ich auch immer von den Linux ISDN Treibern für zB den
PEB3081. Oder hast du mal etwas in die Richtung zum Laufen bekommen?


Martin

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, damit habe ich mich inhaltlich noch nie auseinandersetzen müssen.
Deine Befürchtung, daß die Linux-ISDN-Sourcen für einen AVR zu
aufwendig sein könnten, kann ich daher nicht wirklich beurteilen.
Wundern würde es mich allerdings nicht; ein AVR hat halt doch arg wenig
Arbeitsspeicher ...

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.