Forum: Mikrocontroller und Digitale Elektronik Serielles Signal abtasten


von Rüdiger M. (animefan)


Lesenswert?

Hallo,
ich mache mir gerade ein paar gedanken wie ich ein 'Serielles' Signal 
abtasten kann. Es geht um solche signale wie 
IR-Fernbedienung,Wetterstation externer Temperatur Sensor und Funk 
Steckdosen evtl. sogar das DCF Signal.

Wie fängt man so etwas am besten an. Ich würde mir das Signal erst mal 
auf einem Scope oder mit Audacity auf dem PC ansehen und die Dauer eines 
'Bits' bestimmen. Danach würde ich dann anfangen das Signal abzutasten.
Dazu würde ich dann die 'Bits' vierfach abtasten. Damit sollte es doch 
dann möglich sein auch etwas merkwürdige Signale auszuwerten.

Bin ich mit meinen Gedanken da noch in der richtigen Richtung unterwegs 
oder ist mir schon ein grober Fehler unterlaufen?


Programmieren im allgemeinen kann ich, nur nicht so Hardware nah. Eher 
auf Datenbank und Applikations ebene.

Ich würde mich freuem wenn mir jemand hier einen tipp oder eine kleine 
Hilfestellung geben könnte. Habe hier nämlich sowohl einen DCF Empfänger 
als auch eine Wetterstation die ich 'hacken' möchte.

von Wilhelm F. (Gast)


Lesenswert?

Rüdiger Mohr schrieb:

> Bin ich mit meinen Gedanken da noch in der richtigen Richtung unterwegs
> oder ist mir schon ein grober Fehler unterlaufen?

Gedanken machen ist schon mal gut.

Zu DCF gibt es bei der PTB das Protokoll. Protokolle sagen dir als gutem 
Softie sicher was. Daraus gestaltet man dann die Empfängersoftware. Da 
du in Software schon mal gut bist, sollte das kein Problem sein.

von Reinhard Kern (Gast)


Lesenswert?

Rüdiger Mohr schrieb:
> Danach würde ich dann anfangen das Signal abzutasten.
> Dazu würde ich dann die 'Bits' vierfach abtasten.

Die Frage ist, wozu soll das gut sein? Mein HP-Protokollanalysator macht 
das so, daher kann man zuerst aufzeichnen und nachträglich die Baudrate 
bestimmen, der Preis dafür ist eben eine u.U. riesige Datenmenge (und 
die Tatsache, dass er soviel kostet wie ein Auto). Es ist ganz allgemein 
sehr viel effektiver, sich vorab so viele Unterlagen wie möglich zu 
beschaffen, z.B. über DCF77, und dann nicht mehr zu verarbeiten als 
nötig.

Falls du es trotzdem probieren willst: geht man davon aus, dass eine 
PC-Schnittstelle mit 115000 Baud arbeiten kann, dann müsste man mehr als 
1 MByte pro Sekunde aufzeichnen und später auch auswerten. Die Zeit für 
ein Bit kann man aber auch mit einem ganz einfachen Oszi bestimmen, 
indem man mit der Zeitablenkung spielt bis man ein stehendes Bild 
bekommt.

Gruss Reinhard

von Wilhelm F. (Gast)


Lesenswert?

Reinhard Kern schrieb:

> dass eine
> PC-Schnittstelle mit 115000 Baud arbeiten kann, dann müsste man mehr als
> 1 MByte pro Sekunde

1 Mbit.

von Chris K. (chris_k)


Lesenswert?

Zum Thema DCF: Das mache ich genau so wie du dir das schon gedacht hast.

Und zwar mit einem Timer, der alle 10ms das DCF-Signal prüft. So lassen 
sich gut die Pausen (über 1,5 Sekunden), high (> 170ms) und low (< 
120ms) Signale herausfiltern...

(für die Zeiten übernehme ich keine Gewährleistung, stammen gerade aus 
meinem Gedächtnis)

von Wilhelm F. (Gast)


Lesenswert?

Chris K. schrieb:

> Und zwar mit einem Timer, der alle 10ms das DCF-Signal prüft.

Auf dem ollen 8051 habe ich 20ms. Je feiner die Auflösung, desto mehr 
kann man aber auch Toleranzen im Signal bewerten.

von Reinhard Kern (Gast)


Lesenswert?

Wilhelm Ferkes schrieb:
> 1 Mbit.

Im Grenzfall, kommt drauf an was man aufzeichnet. Mit so wenig kommt man 
aus, wenn man ein feststehendes Zeitraster verwendet, das nicht mit 
aufgezeichnet wird, sondern eben nur die Bit-Folge. Eine alternative 
Möglichkeit ist die Aufzeichnung von Events mit Zeitstempel, also nur 
die Logikwechsel aufzuzeichnen, aber dann braucht man schon mehr als 20 
bit für den Zeitstempel, es hängt also vom Signal ab, ob man so besser 
fährt.

Aber auf etwas mehr oder weniger kam es mir nicht an, ich meine ja nur, 
dass man durch Studium der Dokumentation sehr viel schneller vorankommt. 
Bei DCF77 z.B. kann man ja nicht experimentieren, sondern man muss halt 
1 Jahr warten um eine Änderung der Jahreszahl festzustellen.

Gruss Reinhard

von Wilhelm F. (Gast)


Lesenswert?

Reinhard Kern schrieb:

> Eine alternative
> Möglichkeit ist die Aufzeichnung von Events mit Zeitstempel, also nur
> die Logikwechsel aufzuzeichnen, aber dann braucht man schon mehr als 20
> bit für den Zeitstempel, es hängt also vom Signal ab, ob man so besser
> fährt.

Gerne auch noch einen Zeitstempel. Das Signal ist für einen modernen µC 
ja schnarchlahm.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Rüdiger Mohr schrieb:
> IR-Fernbedienung,Wetterstation externer Temperatur Sensor und Funk
> Steckdosen

Solche Signale teste ich gerne mit einem Timer. Bei Flankenwechsel des 
Eingangs speichert der Timer seinem Wert und wird neu gestartet. Je 
nachdem, ob die gemessene Zeit in eines von 4 Fenstern passt (zu kurz, 
kurz, lang, zu lang) wird daraus ein 0/1 Bit gemacht und in den Buffer 
geschoben, oder (in den Fällen 'zu kurz' und 'zu lang') der Buffer 
verworfen und neu gestartet.
Wenn man unbekannte Signale dekodiert, ist es hilfreich, sich mittels 
Oszi einen Eindruck von den zu erwartenden Längen zu machen, oder die 
Fensterkriterien per Konsole änderbar zu machen, wenn da ein MC 
dekodiert.

von Wilhelm F. (Gast)


Lesenswert?

Matthias Sch. schrieb:

> Solche Signale teste ich gerne mit einem Timer. Bei Flankenwechsel des
> Eingangs speichert der Timer seinem Wert und wird neu gestartet. Je
> nachdem, ob die gemessene Zeit in eines von 4 Fenstern passt (zu kurz,
> kurz, lang, zu lang) wird daraus ein 0/1 Bit gemacht und in den Buffer
> geschoben, oder (in den Fällen 'zu kurz' und 'zu lang') der Buffer
> verworfen und neu gestartet.

So wird es innerhalb meines DCF-Cores gemacht, das Timer-Raster besteht 
ja schon. Es wird dort nur getestet, ob beim Timerdurchlauf ein bit 
einen Timertakt lang daneben nach oben oder unten falsch liegt. Das 
reicht für die meisten Anwendungen. Meine olle 20 Jahre alte DCF-Uhr 
funktioniert auch heute reichlich, und wenn sie es nicht tut, mit 
Fehlern, da gibt es bei der PTB auch eine Protokollaufzeichnung zum 
Vergleich, wenn der Sender eine Störung hat. Störung im Sender gibt es 
nämlich auch mal.

Meine DCF-Uhr ist nicht voll ausgereift und mit allem Fehler-Handling 
ausgestattet, reicht aber für die Schrankvitrine in der Wohnung. Zu 
99,9% zeigt sie schon richtig an.

von Rüdiger M. (animefan)


Lesenswert?

Holla,
das sind ja doch ein paar mehr antworten geworden als ich gedacht habe.

Das mit dem DCF war nur ein Beispiel es geht mir eher um IR und 
Wetterstations -protokolle. Das mit den Timerwerten ist eine gute Idee. 
Die werde ich mal im Hinterkopf behalten.

Das Problem das ich mit dem Scope habe ist das es keinen Speicher hat 
und das Signal sich dann hinreichend of wiederholen muss aber dafür 
nehme ich dann den PC und eine Audiosoftware. Trotzdem ist der 
Wiederholungsintervall beim Externen Funkthermometer doch ein wenig 
groß.

Erst mal danke an alle. Dann bin ich auf dem richtigen weg.
Natürlich kenne ich den IRMP und die DCF und Funksteckdosen Software 
aber man möchte auch etwas selber herausfinden.

von Werner (Gast)


Lesenswert?

Rüdiger Mohr schrieb:
> und die Dauer eines 'Bits' bestimmen
Wenn du Pech hast, gibt es davon nicht nur eine, sondern zwei - gerade 
bei Wetterstationen. Dann ist die Bit-Information in der Dauer und nicht 
im Pegel codiert.

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.