PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer und Nutzsignal Rauscherkennung



krueml0r
12.12.2010, 16:06
Hallo,

habe folgendes Problem. Ich möchte gerne ein 512 Baud Datensignal dekodieren. Meine Vorgehensweise im ersten Schritt ist momentan die Abfrage auf dem Kanal ob gerade Rauschen oder ein Nutzbit da ist.

Ansatz dabei ist, das 512baud = 1,953ms entspricht, ich würde jetzt gerne mit dem 8fachem Pollen, also 1,953ms/8 = 244uS. Ich weiss nur nicht so recht, wie ich den Timer abfragen soll bzw wie ich diesen konfigurieren soll.

Nach meiner Theorie müsste ich also einen Timer haben, der mir alle 244uS den Zustand des Kanals darstellt. Ich hab jedoch bei der Beschreibung der Timer keine option gefunden, mit der ich den Zustand abfragen kann.

Hat jemand eine Idee bzw einen Denkanstoß, wie ich es am besten realisieren kann?

Viele Grüße

markusj
12.12.2010, 17:44
Stichwort: Timer-Interrupt

Du musst den Timer auf die entsprechende Frequenz einstellen und dann in der ISR jeweils den Wert des Kanals einlesen und zwischenspeichern.
In der Hauptschleife kannst du dann wenn der Puffer voll ist die Daten weiterverarbeiten.

mfG
Markus

PS: Evtl. kannst du für deine Zwecke auch spezifischere Hardware deines µC verwenden, je nach dem wie dein Datensignal aussieht ...

krueml0r
12.12.2010, 17:52
Hallo,

vielen Dank für Deinen Beitrag.
Okay, also es geht um ein POCSAG Signal, das eben nur zu unregelmäßigen Zeiten gesendet wird, ansonsten ist auf dem Kanal Rauschen.

Es geht wie gesagt erstmal um die Rausch-Nutzdatenerkennung.
Okay, dann werde ich mir mal was zum Timer Interrupt durchlesen. Nur wenn ich hier schon mit den Interupten arbeite, wie erkenne ich dann obs sich nachher um die Prämable des Signals handelt?

Also wie folgt:
Rauschen oder Nutzsignal?
bei Rauschen: weiter suchen
bei Nutzsignal: Präamble Erkennung 0101010101
Präamble erkannt?
ja => dann Datenbits sammeln
nein => alles von vorne

So hatte ich mir das gedacht, ich weiss nur nicht ob das so klappen kann. Mit Interrupts habe ich bisher noch nicht gearbeitet.

Viele Grüße

markusj
12.12.2010, 18:45
Welchen Prozessor verwendest du eigentlich?

Der Interrupt hat nur die Aufgabe, mit achtfacher Überabtastung das Eingangssignal abzufragen und in einen Puffer zu schreiben. Die komplette Analyse und Auswertung geschieht in der Hauptschleife ... Und liegt damit bei dir.

mfG
Markus

krueml0r
12.12.2010, 18:52
Hallo,

okay.
Ich habe bis jetzt noch keinen Prozesso ausgewählt, habe da an einen Atmel gedacht, den ich mit dem Dragon debuggen kann, weil der vorhanden ist.

Welchen würdest du dafür empfehlen?