www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller und S0-Bus


Autor: Bernd Krautmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joline (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gabs mal ein Projekt namens "Lallus":

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

Vielleicht hilft das ja weiter.

Joline

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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/...)

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!

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Quark (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernd Krautmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin De Wendt (mdewendt)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin De Wendt (mdewendt)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernd Krautmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Martin De Wendt (mdewendt)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ...

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.