Ich verwende das DCF-Modul 641138 vom Conrad seit mehreren Jahren in einer Uhr, und es funktioniert recht gut. Ich habe zwar nicht immer DCF-Zeit, aber mit Quarz kann ich in diesen Phasen meine eigene Zeit machen.

Erste Massnahme bei Empfangsproblemen mit einem DCF-Modul ist, es weit genug von einem TFT oder Monitor hinzulegen und versuchen die Schaltung zu erden wegen Störungen vom Netzteil. Die Erdung hat man meist schon über den PC, wenn man einen ISP-Adapten auf der µC-Schaltung stecken hat, die das Signal auswerten soll.
Auch mit der Ausrichtung der Antenne experimentieren.

Das Conrad-Modul hat keinen Enable-Eingang, dafür 2 Ausgänge (normal + invertiert), die gerne einen Pullup wollen.

Schlechte Erfahrunge hab ich mit einem 8051-Derivat gemacht, das keine so gute Eingangsstufe hatte wie die AVRs. Mit AVR war der Empfang um einiges störunanfälliger, musste ich verblüfft feststellen.

Zum Auswerten des DCF-Signals kann ich folgendes sagen:
Es ist nicht sinnvoll, einen externen Interrupt zur Signalerkennung herzunehmen. IMHO ist es besser einfach alle 10ms in einem Timer-Job auf das Signal zu schauen. Damit hat man schon mal kleine Spratzer raus. Weitere Verbesserung der Flanken mache ich per Software, indem ich immer Gruppen von mehreren empfangenen Werten anschaue und diese auswerte. Nur wenn bestimmt Bitmuster vorhanden sind, wird eine 1-0 oder 0-1 Flanke an die eigentliche DCF-Routine gemeldet, die dann Bitlängen testet und entscheidet, ob der Empfang ok ist. Bitlängen dürfen in gewissem Rahmen variieren, in einem Intervall von 40ms um 100ms bzw 200ms zum Bsp.
Wenn das Signal komplett ist, dann wird noch ein Paritätsprüfung aus das Signal gemacht und erst falls die ok ist, wird die Zeit ins eigentliche Programm übernommen.

Die zu erwartende Zeit, bis das Signal komplett ist, ist mit einem naiven Algorithmus, wie ich ihn verwende, ca 90s.
Wenn ich mal wieder Zeit habe, dann implementie ich noch einen DCF-Turbo-Algorithmus, der auch nicht komplette Daten verwendet wie sie entstehen, wenn der Empfang irgendwo mitten in einer Minute anfängt. Das ist allerdings nicht so trivial, weil man 2 'halbe' Zeitsignale zu einem kombinieren muss und Überträge/Paritätsbits berücksichtigen muss. Damit ergibt sich ein Erwartungswert für die Empfangszeit von unter 60s, was die Fahleranfälligkeit nochmal senkt, denn man brauch nur knapp 60s guten Empfang. Ausserdem muss man nach dem Einschalten der Uhr nicht so lange auf den Zeitabgleich warten