Frequenz verdoppler (pps signal 1Hz to 5-10 Hz)

Gast #3570282
Lesenswert?

hi,

ich bekomme von meinem GPS Gerät jede sekunde eine fallende Flanke. 
Jetzt würd ich dieses gerne mit einem anderen Gerät synchronisieren. 
Dieses Gerät soll jedoch auf mit einer höheren 5-10 Hz Signal getriggert 
werden. So das das ganze dann in etwa so aussieht _:Low Pegel |: high 
Pegel

PPSSignal:
|_________|_________|

Neues Signal:
|_|_|_|_|_|_|_|_|_|_|

Gibt es Logikbausteine die so etwas direkt machen? oder brauch ich dafür 
einen Mikrocontroller?

Viele Grüße
Alex
#3570423
Lesenswert?

Eine PLL für 1Hz braucht große Kondensatoren im Schleifenfilter. Man 
würde das vermutlich viel lieber digital machen. Knackpunkt sind die mal 
wieder nicht genannten Anforderungen an Jitter, Einrastzeit, Genauigkeit 
etc.

Eventuell ist es sogar einfacher, eins der zahlreichen Projekte für ein 
GPS-stabilisiertes Frequenznormal mit sagen wir 10MHz zu nehmen und 
dessen Ausgangssignal entsprechend herunterzuteilen.


XL
#3570624
Lesenswert?

Alex schrieb:
> PPSSignal:
> |_________|_________|
>
> Neues Signal:
> |_|_|_|_|_|_|_|_|_|_|

Wäre auch so etwas möglich:

PPSSignal:
|_____________|______________|
Neues Signal:
|_|_|_|_|_____|_|_|_|__|_____|

Sprich: Dürfen am Anfang auch mal die pausen dazwischen ungleichmäßig 
sein?

Oder Du siehst das ganze als GPS-disciplinated Oscillator: Also mit 
einen (Quartz)-ungenauen Takt anfangen, der dann allmählich nachgeregelt 
wird.
Gast #3572737
Lesenswert?

@Alex
Hast Du mittlerweile eine Lösung gefunden?
Falls nein, könnte ich Dir eine Programmversion des obigen Programmes 
mit Faktor 10.0 erzeugen. Gebraucht würde dafür ein ATmega48, ein Quarz 
(am besten 20MHz), sowie ein paar Kondensatoren. Da jeder neue 
Eingangsimpuls gewertet wird, beträgt die Einstellzeit bei einem 
1pps-Signal eine Sekunde.
Falls die interne Genauigkeit höher sein soll, kann ich die Berechnungen 
auch auf double umstellen.
#3572741
Lesenswert?

@ m.n. (Gast)

>Falls die interne Genauigkeit höher sein soll, kann ich die Berechnungen
>auch auf double umstellen.

Was beim AVR GCC rein gar nichts bringt, weil die nämlich identisch zu 
float = 32 Bit sind. Mit bisschen Nachdenken und passender Skalierung 
reicht Festkommaarithmetik problemlos. Genaugenommen kann man sogar 
eine konstante Pulszeit einstellen, weil in diesem Fall die 
Eingangsfrequenz ebenfalls SEHR konstant ist. Der verbleibende Fehler 
ist sehr klein und bringt halt einen fast unmessbaren Zusatzfehler.

Einfach per ICP auf den Puls synchronisieren und per OCR einen passenden 
Takt ausgeben, fertig. Der ICP setzt dabei den OCR Zähler jeweils neu.
Gast #3572757
Lesenswert?

Falk Brunner schrieb:
> @ m.n. (Gast)
>
>>Falls die interne Genauigkeit höher sein soll, kann ich die Berechnungen
>>auch auf double umstellen.
>
> Was beim AVR GCC rein gar nichts bringt, weil die nämlich identisch zu
> float = 32 Bit sind.

Wenn ich double schreibe, dann meine ich auch double. Für den geneigten 
Programmierer gibt es von IAR eine Kickstarterversion für den AVR, die 
spielend anstatt float auch double rechnen kann.
Wenn es hier gerade um den Faktor 10.00000 geht, ist das ein Glücksfall 
für eine einfache Umsetzung. Aber warum etwas neu erfinden, wenn ich bei 
dem offenen Source-Code einfach den Faktor 10.0 eintippe und die Sache 
läuft.
Für mich ist das keine Arbeit!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren