Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SMS über Festnetz Teil2 praktische Realisierung Christian Ellenberg, Frank Siewert Labor RST, SS2001.

Ähnliche Präsentationen


Präsentation zum Thema: "SMS über Festnetz Teil2 praktische Realisierung Christian Ellenberg, Frank Siewert Labor RST, SS2001."—  Präsentation transkript:

1 SMS über Festnetz Teil2 praktische Realisierung Christian Ellenberg, Frank Siewert Labor RST, SS2001

2 Das Konzept = ~ Fest- Netz Server Modem GSM Modem = ~ GSM-Netz

3 Aufbau(1) MH884221 BD-1 MT8880 PCF8574 C-Control2 DPLDPL DPHDPH i2c AP0..7 Display Tastatur NF (DTMF) D0-D3 IRQ CP phi2 R/W RS0 D4-D7 RS R/W Enable SDA SCL IRQ Ring/ LoopC HOOK abab Telefonleitung (TIP/RING)

4 Aufbau(2) b0 5 Register: Control_A (Control_B) Status Receive Transmit MT8880 R/W RS0 DTMF PHI2 (Takt) CRA CRB Status Receive Transmit 1 1 10 0 0 PCF8574 I2C Data 0 1 2 3 7 6 5 4 b0 b2 b3 1 0 IRQ b1

5 Timing(1) MT8880C DTMF in

6 Timing(2) MT8880C Data I/O

7 Timing(3) I²C-Baustein

8 Beispiele(1) b0 MT8880 Register Select DTMF in/out PHI2 (Takt) PCF8574 I2C Data Data in/out IRQ Tonausgabe 5 über I2C IO-Steuerung i2c.start(112) //Schreib-ADR, Startbedingung: SCL=HIGH,SDA H>L i2c.write(x0101101)//CRA: CRBenable,IRQenable,DTMFmode,TONEenable i2c.write(x1101101)//wie oben jedoch steigende Taktflanke i2c.write(x0101101)//Taktflanke wieder absenken -> Zyklus beendet i2c.write(x010x000)//CRB: C/R, DualTone,NoTest,BURSTenable i2c.write(x110x000)//wie oben mit Steigender Taktflanke i2c.write(x010x000) // Taktflanke fällt ->Zyklus beendet i2c.write(x0000101)// 5 ins Transmit-Register schreiben i2c.write(x1000101) //... Taktflanke steigt... i2c.write(x0000101) //...und fällt -> Ton für 50ms erzeugen i2c.stop()// Stopbedingung: SCL=HIGH,SDA L>H

9 Beispiele(2a) MT8880 DTMF in/out PCF8574 I2C Data Data in/out IRQ PHI2 (Takt) Register Select Beispiel: Tonerkennung über I2C IO-Steuerung i2c.start(112)// Schreib-Adresse, Startbedingung erzeugen i2c.write(10111111)// Status-Register auswählen i2c.write(11111111)// wie oben jedoch Taktflanke setzen i2c.start(113)// Lese-Adresse Wert=i2c.readlast()// I2C-Port auslesen (nur ein Byte lesen, dann STOP) i2c.stop()// Lesen abschliessen (zur Sicherheit) i2c.start(112)// Schreib-Adresse, Startbedingung erzeugen i2c.write(10111111)// Takt beenden i2c.stop()// I2C-Zyklus abschliessen --------------------------- IRQ auswerten oder Polling -------------------------------- Dann...

10 Beispiele(2b) Falls IRQ oder Polling Dateneingang erfasst, Receive-Wert auslesen: i2c.start(112)// nochmal schreiben i2c.write(10011111)// Receive-Register wählen i2c.write(11011111)// wie oben mit positiver Taktflanke i2c.start(113)// Auf Lesen umschalten Wert=i2c.readlast()// I2C-Port auslesen (nur ein Byte lesen, dann STOP) i2c.stop()// Lesen beenden... i2c.start(112)// Schreiben... i2c.write(10011111) // Taktflanke fällt ->Zyklus beendet i2c.stop()// I2C-Zyklus abschliessen Wert enthält dann (hoffentlich richtigen) dekodierten DTMF-TON

11 Das SoPOTS-Protokoll (1) SMS-UnitSMS-Server Sendet... Anrufen RING Voicemodus DTMF-Dauer setzen Empfängt... DTMF 12 senden # Warten auf # ZielNr. Senden+#+SMS Triggertimer starten...... Auflegen Auflegen nach Timeout

12 Das SoPOTS-Protokoll (2) SMS-UnitSMS-Server Sendet... RING Anrufen Voicemodus DTMF-Dauer setzen Empfängt... DTMF 12 senden # Warten auf # AbsendeNr. Senden+#+SMS Triggertimer starten...... Auflegen Auflegen nach Timeout


Herunterladen ppt "SMS über Festnetz Teil2 praktische Realisierung Christian Ellenberg, Frank Siewert Labor RST, SS2001."

Ähnliche Präsentationen


Google-Anzeigen