Forum: Projekte & Code RP2040 reziproker Frequenzzähler mit TDC


von Mi N. (msx)



Lesenswert?

Vor knapp einem Jahr gab es die erste Schaltung eines reziproken 
Frequenzzählers mit dem RP2040 Pico-Board: 
Beitrag "Pico Frequenzzähler mit RP2040"

Die Nachfrage nach höherer Auflösung hat zu einer neuen Schaltung 
geführt, bei der die Messung der Zeit ganz von einem TDC Baustein AS6501 
übernommen wird. Ausgehend von einer lokalen oder externen 10 MHz 
Referenzfrequenz liefert der TDC Auflösungen im 10 ps Bereich und ist 
nicht mehr von dem lokalen 12 MHz des Pico-Boards abhängig.

Um diese hohe Auflösung nutzen zu können, ist ein sorgfältiger Aufbau 
mit separaten Versorgungsspannungen und 4-lagigen Layout notwendig. Das 
Pico-Board ist weiterhin zu kleinem Preis erhältlich, wobei der AS6501 
ein "Kostentreiber" ist. Wenn man es braucht, ist er trotzdem eine gute 
Wahl.

Die Schaltung von links nach rechts: oben links die Spanungsversorgung 
der Eingangsstufen und des TDC mit einem Linearregler. Darunter der 
lokale TCXO, der bei Anliegen einer externen Referenzfrequenz zur 
Vermeidung von Interferenzen abgeschaltet wird. Ein Multiplexer 
74AUP1G97 schaltet das Referenzsignal um.
Das Eingangssignal (links unten) wird mit einem ungepufferten 
CMOS-Inverter vorverstärkt und anschließend per 74AUP1G14 in ein 
steilflankiges Rechtecksignal geformt. Ein weiterer 74AUP1G97 
Multiplexer reicht das Signal entweder 1:1 oder per 4:1 Teiler 
(74AUP2G80) an den RP2040 weiter.
Das DFF 74AUP1G74 synchronisiert die Zeitmessung des AS6501 mit dem 
Eingangssignal. Der RP2040 zählt die ext. Impulse, fordert einen neuen 
Zeitstempel mit der Leitung "INT-REQ" an und liest die Daten vom TDC 
ein.

Bleiben noch das LCD-Modul, der RS232-Treiber, ein EEPROM und die 
Anschlüsse für manuelle Bedienung, wie es schon bei der ursprünglichen 
Schaltung ausgeführt war.
Ein Bild der Leiterplatte zeigt die Oberseite. Die Platine kann 
huckepack auf's LCD gesteckt/gelötet werden oder separat mit den 
Befestigungslaschen montiert werden. Optinal sind auf der linken Seite 
Lötfahnen für vertikale oder horizontale Bestückung von 
SMA-Steckverbindern vorgesehen.

Die Software ist noch im V0.1-Zustand soll aber kompatibel zu der vom 
Pico-Fmeter2a werden, wobei der 2. Kanal entfällt. Hohe Genauigkeit kann 
nur mit einer hochstabilen ext. Fref erreicht werden.

Die beiden ersten Timelab-Kurven zeigen das Rauschen des Zählers, wenn 
10 MHz Fref auch an Fin gelegt werden: einmal als absolute 
Frequenzdifferenzen und einmal die Allan deviation dazu.
Die 3. Kurve zeigt die Phasenabhängigkeit zwischen Fin und Fref. An 
beiden Eingängen liegen OCXO-Signale mit einer Frequenzabweichung von 
knapp 0,22 Hz. Bei 10 ms Messzeit stört die Drift der OCXOs nicht aber 
man sieht alle ca. 4,5 s die Messwerte bei wiederholender Phasendiffernz 
zwischen 0 - 360 °. Ideal wäre eine gerade Linie.

Vor Ostern werden die Eier bemahlt und gezeigt aber der Inhalt noch 
nicht ausgepackt ;-)

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Die Kurve fehlte noch.

von Markus B. (dalotel)


Lesenswert?

Daumen hoch, genau darauf habe ich gewartet.
Werde ich mir sehr gerne nachbauen.
Weiter so.

Markus

von Hans-Georg L. (h-g-l)


Lesenswert?

Hallo Michael, schön das du immer noch Zähler zum Nachbauen 
veröffentlichst.

Was mir an deiner ADEV Kurve etwas merkwürdig vorkommt sind die 
"Schwingungen", die sich erst nach 100s heraus mitteln. Meine Versuche 
mit dem AS6501 hatten das nicht. Wie sind deine Messzeiten ?. Sind die 
1s gemittelt oder single shot ?.

Probiere mal für Spass die 1,8V nach dem 10 Ohm Widerstand noch 
zusätzlich mit 100nf und 10nf (induktionsarm) zu blocken, das hat bei 
mir etwas gebracht.

von Mi N. (msx)



Lesenswert?

@Markus
Danke für die Blumen ;-)

@Hans-Georg
Danke auch Dir für Deinen Hinweis, gewisse Fehler nicht immer zu 
wiederholen. Da es mir zunächst um die reine Funktion geht, habe ich wie 
gewöhnlich alles freifliegend verkabelt.
So war der eine OCXO mit ca. 0,2 Hz Frequenzabweichung noch aktiv (siehe 
Kurve mit 10 ms Intervall) und konnte in das Fref-Signal einstreuen. Daß 
das Ergebnis noch verbesserungsfähig war, hatte ich schon an anderer 
Stelle gesehen zunächst aber ignoriert.

Aktuell habe ich eine Vergleichskurve aufgezeichnet und testweise die 
Abtastrate von 50 auf 100 kS/s erhöht. Da sieht man, daß sich eine 
deutliche Verbesserung ergeben hat.
Auch beim Kurzzeitvergleich der Frequenzdifferenzen sieht man die 
Abweichungen im ca. 5 s Abstand sehr gut.
Die Messungen laufen kontinuierlich - jede Periode des Signals wird 
erfasst. So muß das sein!

Die von Dir vorgeschlagenen Kondensatoren werde ich abschließend auch 
noch ergänzen. Anstelle der 10 Ohm Widerstände hatte ich schon 47 µH 
Drosseln verwendet, um überlagerte Störungen der Versorgungsspannung 
besser abzublocken.

Bei 133 MHz braucht der RP2040 für das Auslesen des AS6501 und der 
Verrechnung der Zeitstempel etwa 10 µs. Damit noch Luft für das 
restliche Programm bleibt, habe ich die Abtastrate auf 50 kS/s 
eingestellt. Für die 100 kS/s Kurve habe ich die Taktfrequenz des µC 
einfach verdoppelt.
Auch diese Abtastrate kann man noch verdoppeln, wenn man allein für die 
Zeitstempelerfassung den 2. Kern verwendet.
Das halte ich als Option offen.

Soweit.

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Es ist jetzt eine erste Programmversion verfügbar:
http://mino-elektronik.de/progs/Pico-FM-AS6501/Pico-FM-AS65.zip
Sie wurde mit der IAR IDE EWARM 9.2 unter WIN10 auf Laufwerk C: 
erstellt.

Eine gesonderte Beschreibung gibt es derzeit noch nicht. Da die Basis 
dieser Version das Programm vom 'Pico-Fmeter2a' ist, ist es ratsam sich 
dessen Beschreibung 
http://mino-elektronik.de/download/Pico-FMeter-RP2040-DT.pdf und 
Funktionsweise 
http://mino-elektronik.de/download/Arbeitsweise_Pico_Fmeter2.pdf 
anzusehen. Die wesentlichen Änderungen sind der fehlende 2. 
Eingangskanal und damit auch ein Abgleich per 1pps-Signal. Dafür ist die 
Auflösung der Messungen deutlich erhöht und beim Offset-Abgleich die 
Auflösung auf 1x10^-12 angepaßt.

Die Fotos zeigen den Musteraufbau, bei dem IC1 noch wegen eines 
Layout-Fehlers über Kopf und verdreht eingelötet werden mußte. Die neue 
Schaltung ist noch nicht in ein neues Layout umgesetzt, da sich 
kurzfristig noch Änderungen ergeben könnten.
GPIO18 wird derzeit für die Laufzeitmessung der Regressionsberechnung 
verwendet und das 10 MHz Referenzsignal an GPIO22 könnte genutzt werden, 
um eine abgemagerte Programmversion ohne AS6501 zu verwenden. Die 
Referenzfrequenz wäre dann unabhängig von den lokalen 12 MHz des 
Pico-Boards.

Begrenzt durch den AS6501 liegt die untere Eingangsfrequenz bei ca. 0,6 
Hz.
Ohne den 4:1 Vorteiler 74AUP2G80 liegt die maximale Eingangsfrequenz bei 
etwas über 40 MHz. Wem das reicht, kann den 2G80 und den zugehörigen 
Multiplexer 1G97 weglassen und die automatische Umschaltung im Programm 
sperren. Mit dem lokalen Vorteiler können bis zu 160 MHz gemessen werden 
- mit zusätzlichem ext. Vorteiler auch mehr.
Diese Werte beziehen sich auf 133 MHz Taktfrequenz des RP2040, die mit 
einem ext. Widerstand verdoppelt werden können (siehe Beschreibung). Bei 
Bedarf kann man aber die Taktfrequenz (DEF_SYSCLOCK) schon vor 
Compilierung problemlos auf 300 MHz erhöhen. Bei den Einstellungen für 
PLL-SYS, VREG und QSPI-Wartezeiten ist das im Programm schon 
berücksichtigt.

von Dddns (dddns)


Lesenswert?

Hallo!

Der Aufbau und das layout ist nach den Fotos für mich wirklich 
wunderschön!
Hast Du das mit der Hand und Lupe selbst bestückt?
Deine Arbeit ist (für mich) professionell!

von Mi N. (msx)



Lesenswert?

Danke!
Es ist allerdings nicht mein erstes Layout und die Eier hat meine Frau 
gefärbt ;-)

Die obige Messung mit 10 ms Intervall und 0,2 Hz Frequenzdifferenz habe 
ich mit geschirmten Signalleitungen wiederholt (Bild 1). Bild 2 zeigt 
die vergrößerten ersten 18 s der Kurve.
Man sieht, daß die sinusförmige Fdiff entfällt und der "Phaseneffekt" 
bei 0° und 180° Phasenverschiebung wieder deutlich sichtbar wird. Es 
scheint eine Eigenart des AS6501 zu sein, den ich schon bei anderen 
Schaltungen mit STM32H7xx beobachtet hatte (Bild 3). Da hatte ich kein 
Gegenmittel gefunden.
Im 3. Bild ist zusätzlich eine Kurve vorhanden, die mit STM32H730 + 
TDC7200 aufgenommen wurde. Beim TDC7200 gibt es die Störungen bei 0°, 
360°, ...
Grob gesehen ist der AS6501 dem TDC7200 etwa Faktor 5 "überlegen". Aus 
diesem Grund wollte ich trotz deutlich günstigeren Preises diese 
Schaltung nicht mehr mit einem TDC7200 aufbauen.

Wenn die obigen Platinenfotos nun aufgeräumt aussehen, liegt das auch 
daran, daß ich nach den Erfahrungen mit anderen Synchronstufen die 
Schaltung auf ein Minumum reduzieren konnte.
Gleiches trifft auch auf die Software zu. Da hatte ich bei 
Optimierungsversuchen beispielsweise einen neuen Zeitstempel 
angefordert, sobald der vorherige ausgelesen wurde. Die SPI-Übertragung 
konnte daher im Hintergrund ablaufen. Zeitgewinn ca. 1,5 µs / 
Zeitstempel. Gut gedacht, aber die Ergebnisse bekamen dadurch einen 
kleinen Offet von 2 x 10^-12. Das wollen wir ja nicht.
Auch eine alternative Berchnung mit 128 Bit Integer-Werten brachte keine 
Verbesserung außer einer kleineren Ausführungszeit. Beim H7xx hatte die 
128 Bit Berechnung eine deutliche Verbesserung ergeben, da die dortige 
Double-Berechnung einen Offset erzeugte. Vermutlich wird bei der 
Dfloat-Hardware anders gerechnet als mit den Software-Routinen. Ich 
vermute eine unterschiedliche Rundung. Und so ist auch hier das 
entscheidend, was man nicht sieht ;-)

Es steht noch aus, den 2. Kern für die Regressionsberechnung anzuwerfen. 
Offen bleibt aber, ob durch die Verdoppelung der Abtastrate auch 
tatsächlich eine Verbesserung der Ergebnisse resultiert.
Die derzeitige Software-Version ist daher zunächst eine "runde Sache".

von Mi N. (msx)


Lesenswert?

Nach ein paar kleinen Änderungen habe ich die Platinendaten soweit 
fertig.
Hier sind aktueller Schaltplan, Bestückungsplan, Bestückungsliste und 
Gerber-Dateien für die Platinenfertigung zu finden:
http://mino-elektronik.de/download/pico-fmeter-AS65-2-BOARD.zip

Von dieser Version hatte ich noch keine Boards bestellt.

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Hans-Georg L. schrieb:
> zusätzlich mit 100nf und 10nf (induktionsarm) zu blocken, das hat bei
> mir etwas gebracht.

Das habe ich nun auch noch gemacht.
100 nF hatte ich ja schon und habe jetzt noch 1 nF ergänzt. Es scheint 
sich eine kleine Verbesserung ergeben zu haben. Diverse Versuche mit 
hoher Taktrate des µC oder Regressionsrate haben keine Verbesserung der 
Auflösung gebracht. Das Rauschen auf der Platine oder im AS6501 läßt 
sich nicht wegrechnen.
Die Regressionsberechnung im Hintergrund auf dem 2. Kern auszuführen war 
sehr ernüchternd. Das habe ich schnell wieder gelassen.

Hast Du Vergleichswerte mit dem AS6501 oder bringen Dir "drei Hüte" eine 
deutliche Verbesserung?

von Markus B. (dalotel)


Lesenswert?

Mi N. schrieb:
> Nach ein paar kleinen Änderungen habe ich die Platinendaten soweit
> fertig.
> Hier sind aktueller Schaltplan, Bestückungsplan, Bestückungsliste und
> Gerber-Dateien für die Platinenfertigung zu finden:
> http://mino-elektronik.de/download/pico-fmeter-AS65-2-BOARD.zip
>
> Von dieser Version hatte ich noch keine Boards bestellt.

Wollte mit den Gerberdaten Platinen bestellen.
Von IC14 fehlen im Gerberviewer aber links die kompletten Pads.
Hast du das mal verifiziert?

Gruß
Markus

von Mi N. (msx)


Lesenswert?

Markus B. schrieb:
> Von IC14 fehlen im Gerberviewer aber links die kompletten Pads.
> Hast du das mal verifiziert?

Die sind ganz bewußt weggelassen worden.
An Pin 1 - 12 liegen die LVDS-Signale zur Datenausgabe und 4 x NC. Bei 
meinem ersten, 2-lagigen Aufbau mit anderem µC hätte ich nur mit einigen 
Vias diese 'Pads' umgehen können, was für einen induktionsarmen Aufbau 
nicht geschickt gewesen wäre.
Bei 4-lagiger Leiterplatte hat sich die Situation entspannt. Da ich 
diese LVDS-Signale wohl nie brauchen werde, habe ich die Anschlüsse 
nicht mehr ergänzt und das Bauteil in dieser Minimalversion "AS6501-MIN" 
genannt.

Ergänzend zu der zuerst gezeigten Schaltung ist R7 eingefügt worden und 
dient mit seinen 10 Ohm wie auch bei R26/R27 eher als Platzhalter für 
eine 47 µH Drossel. Zweck ist die bessere Filterung/Entkoppelung der 
Versorgungsspannungen. Eine Gegenprobe mit 10 Ohm habe ich nicht 
gemacht.

Kleiner Tipp für JLCPCB-Besteller: auf der Startseite unten das Angebot 
4-8 Lagen zu $2 anklicken. Klickt man sich oben 4-lagig an ist der 
Grundpreis $7 ;-)

Von meiner oben gezeigten Leiterplatte, mit der auch alle Versuche 
durchgeführt wurden, habe ich noch zwei Stück. Wer mag kann sie von mir 
für 3 Euro zzgl. Briefversand bekommen. Um Fummeleien zu ersparen, würde 
ich IC1 schon auflöten.

von Markus B. (dalotel)


Lesenswert?

Das ist mal eine nachvollziehbare Erklärung.
Hätte mich auch gewundert warum der Rest sonst i. O. aussah.
Danke.

von Paul V. (paul_v)


Lesenswert?

Michael,

I would love to get my hands one of your boards to test this version.
Are you using Paypal? If so I can send you the money that way.
Otherwise you need to send me your IBAN.

Many thanks,

Paul
------------------------------------------
For the others reading this, I have built two versions of Michael's 
counter and have designed a simple GPSDO-based external clock that gives 
me great results with the Fmeter-G431.

Have a look here for my Blog: https://www.paulvdiyblogs.net/

von Markus B. (dalotel)


Lesenswert?

Hi Paul,
I read your very intereting blog times ago.
Like to build it too.
Do you share your pcb files?

Regards
Markus

von Mi N. (msx)


Lesenswert?

Markus B. schrieb:
> Hi Paul,
> I read your very intereting blog times ago.

Paul kümmert sich auch sehr intensiv darum, Problemen auf den Grund zu 
gehen. Dort finden sich auch Hinweise, wie man meine Projekte unter der 
IAR Demo-IDE EWARM V9.30 so verwenden kann, daß auch die .uf2-Datei 
richtig erzeugt wird.
Selber verwende ich noch V9.20 und möchte derzeit nicht zwei Version 
parallel verändern.

von Paul V. (paul_v)


Lesenswert?

Hallo Markus,

Yes, eventually I will publish them on my Github when I have the time to 
put all the information together.

The Gerbers are no secret and I can share them if needed although a few 
of them need some corrections or explanations.

During this project, I designed several boards so which one(s) would you 
like?
I only used one or two of the five I ordered, so I'm willing to share.

MfG,
Paul

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Es gibt nun die Programmversion V1.1.
Das Signal 'Fin' wurde an GPIO21 gelegt, um auch den Eingang PWM2B 
nutzen zu können. PWM_CH2_CTR wird jetzt als Ereigniszähler verwendet 
und mit PIO0_SM0 eine Capture-Funktion umgesetzt. Da der Ereigniszähler 
hinreichend schnell ausgelesen wird, reicht der 16 Bit breite Zähler 
aus.

Zusätzlich ist die Option vorgesehen, mit "CORE1_AKTIV" die Erfassung 
und Vorverarbeitung für die Regressionsberechnung auf dem 2. Kern laufen 
zu lassen. Mit eingeschalteter höherer Priorität für DMA-Zugriffe auf 
die Busse sehen die Ergebnisse jetzt ähnlich gut aus wie zuvor.

Für Vergleichsmessungen läßt sich die Regressionsberechnung am Ende 
eines Messintervalls nun auch abschalten, indem nur die Gesamtereignisse 
und Gesamtzeit für die Berechnung verwendet werden (Variable: 
F1_reg_modus). Die Berechnung entfällt auch bei niedrigen Frequenzen, 
wenn im Messintervall nur ein einzelner Eingangsimpuls erkannt wird.
Dazu gibt es auch eine Adev-Kurve mit geradem Verlauf, wie es zu 
erwarten ist.

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Die Änderungen zur neuen Programmversion V1.2 zusammengefasst:

Die Auswertung der lin. Regression ist abschaltbar, sodaß die Frequenz 
allein aus Startzeitpunkt und Endzeitpunkt des TDC berechnet wird. Die 
zugehörige Variable 'F1_reg_modus' kann manuell oder per seriellem 
Befehl auf '0' oder '1' gesetzt werden. Der ser. Befehl sieht so aus:
.1Z zum Einschalten und .0Z zum Abschalten der Berechnung.
Die Adev-Kurve ohne Regressionsberechnung wurde ja schon gezeigt.

Zunächst wurden alle Berechnungen mit 'double'-Werten durchgeführt, was 
bei längeren Messzeiten > 3 s die Ergebnisse nicht mehr verbessern 
konnte. Als neue Compiler-Option gibt es nun ein #define INT128, wodurch 
die Erfassung und Vorverarbeitung der Zeitstempel auf das letzte Bit 
genau erledigt werden. Erst für die abschließende Auswertung werden 
'double' verwendet.

Als Abtastrate für die Zeitstempel sind maximal 50 kHz vorgesehen, was 
bei 133 MHz Taktfrequenz den Controller zu 50% auslastet. Aktiviert man 
den 2. Prozessorkern können die Zeitstempel ohne Einschränkung durch das 
restliche Programm erfaßt werden.
Bei 133 MHz sind es rund 100 kHz Abtastrate.
Um den 2. Kern zu verwenden muß im Quellcode #define CORE1_AKTIV 
eingefügt werden.
Verdoppelt man den Prozessortakt (3k3 Widerstand zwischen GPIO1 und 
GPIO2) auf 266 MHz erreicht man rund 200 kHz Abtastrate.

Den Vergleich zwischen diesen beiden Betriebsarten zeigt die Kurve. 
Scheinbar bringt die höhere Abtastrate nicht den erhofften Erfolg.
Dies als Erfahrungswert.

: Bearbeitet durch User
von Markus B. (dalotel)


Lesenswert?

Da ich die Platinen nun mittlerweile passiv bestückt auf dem Tisch 
liegen habe, und ich gerade am Bestellen der aktiven Teile bin, ist eine 
neue Frage aufgetaucht. Beim 10Mhz VCXO wird der V-Anschluß nicht aktiv, 
zumindest nicht dynamisch bedient. Spricht dann etwas gegen einen 
günstigeren TCXO?
Wenn ich das richtig sehe wird der bei Betrieb mit ext. 10Mhz sogar gar 
nicht gebraucht.

von Mi N. (msx)


Lesenswert?

Markus B. schrieb:
> Beim 10Mhz VCXO wird der V-Anschluß nicht aktiv,
> zumindest nicht dynamisch bedient. Spricht dann etwas gegen einen
> günstigeren TCXO?

Normalerweise verwende ich diesen TCXO: 
https://www.lcsc.com/product-detail/Temperature-Compensated-Crystal-Oscillators-TCXOs_KDS-Daishinku-1XTV10000MDA_C253701.html 
und denke, daß er schon günstig ist.

In Planung bei mir ist noch eine Programmversion, die auch ohne den 
AS6501 auskommt und auf dem selben Board läuft. Bei Bedarf kann man sich 
dann den Luxus des TDCs dazukaufen.
Ohne TDC könnte man das Trimmpoti auch mit VC verbinden, um auch ohne 
EEPROM auf möglichst genaue 10 MHz abzugleichen.
Aber mache es so, wie Du es für richtig hälst. Weder die Schaltung noch 
das Programm sind in Stein gemeißelt.

von Mi N. (msx)


Lesenswert?

Hat sich jemand Platinen bei JLCPCB fertigen lassen und noch 1-2 Stück 
abzugeben? Ich hätte einen Interessenten dafür, der dann nicht separat 
bestellen müßte.

von Markus B. (dalotel)


Lesenswert?

Ich sollte noch 2 Stück übrig haben.

Markus

von Mi N. (msx)


Lesenswert?

Hallo Markus, vielen Dank für Dein Angebot. Es hat sich in der 
Zwischenzeit schon eine andere Lösung ergeben.
Sollte ich eine erneute Anfrage erhalten, werde ich mich bei Dir melden.

von John H. (karabka)


Lesenswert?

Hallo Markus,

wenn Du noch eine Platine hast, würde ich sie gerne nehmen. Hast du noch 
eine?

LG
John

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Da IAR seine IDE nicht mehr zu brauchbaren Konditionen kostenlos 
anbietet, habe ich eine Programmversion für die IDE von Segger gemacht. 
Der direkte Import funktioniert mit V7.32 nicht, sodaß ich per Hand die 
Dateien soweit angepaßt habe, daß zumindest "Build" ausgeführt wird.

Die ladbare .UF2-Datei findet sich im Ordner "Output". Für einfache 
Änderungen braucht man daher auch keinen RP2040-tauglichen J-Link.

von Joe (Gast)


Lesenswert?

Die technischen Eckdaten habe ich gefunden.

Leider kann ich keine Lizenz-Infos zu Hard-und Software finden. Wo steht 
das denn?

Technische Daten:
 Eingang F1: 0,01 Hz - 250 MHz mit 7-stell. Ergebnis/s; lückenlose 
Messungen
 lückenlose statistische Auswertung von F1-mean, F1-max, F1-min und
Standardabweichung
 Hilfseingang F-Ref: 0,01 Hz – 15 MHz mit 7-stell. Ergebnis/s; für 1 
pps GPS-Signal
 Vorgabe der Messzeit von 0,001 - 100 s in 1 ms Schritten
 Vorgabe von Timeout von 0,001 - 100 s in 1 ms Schritten
 5 - 12 stellige Ergebnisanzeige manuell oder automatisch abhängig von 
eff. Messzeit
 Frequenzanzeige: autom. in 'mHz' – 'GHz' oder festes Format in 'MHz'
 Anzeigeformate: 1.2345 Hz; 1.2345E+0; 1,2345 Hz; 1,2345E+0
 Skalierungsfaktor für separaten Vorteiler: 1 – 99999
 einstellbarer Divisor für Drehzahlskalierung: 1 – 99999
 interne Referenzfrequenz (33,25 MHz) aus lokalem 12 MHz XO oder ext.
Referenzsignal 10 MHz
 manueller oder automatischer Abgleich mit 1 pps GPS, 10 kHz, 1 MHz 
oder 10 MHz
Signal oder im einfachsten Fall per Trimmpoti.
 Abgleichbereich +/- 50 ppm mit 0,1 ppb Auflösung
 Speicherung aller Parameter/Abgleichwerte im EEPROM/FRAM
 2 x LED-Ausgänge für "Messung fertig" und "GPS aktiv"
 3 x Eingänge für Bedientaster (Konfiguration)
 Anzeige mit LCD-Modul 2 x 16 -> 4 x 20 mit Voreinstellung 16 
Zeichen/Zeile
 RS232 Verbindung mit 9600 Bd ... 256 kBd zur Datenausgabe
 5 V Versorgung ca. 100 mA, (ohne LCD inkl. Hintergrundbeleuchtung)

von Mi N. (msx)


Lesenswert?

Joe schrieb:
> Die technischen Eckdaten habe ich gefunden.

Das sind Eckdaten des Vorgängers "Pico-Fmeter2a". Das eingangs gezeigte 
Schaltbild ist noch ohne Bemaßung, diese gibt es erst ein paar Tage 
später, wie hier zu sehen ist:
http://mino-elektronik.de/fmeter/fm_software.htm#bsp_RP2040b
Eine abschließende Beschreibung gibt es nicht. Das ist immer richtig 
Arbeit!

> Leider kann ich keine Lizenz-Infos zu Hard-und Software finden. Wo steht
> das denn?

Es gibt hierzu nichts zu schreiben. Wenn ich Schaltungen/Programme 
veröffentliche, habe ich letztlich keine Kontrolle mehr darüber, was 
damit gemacht wird. Anderes anzunehmen wäre naiv.
Was ich geheimhalten möchte, wird man nicht im Netz finden.

Wenn Du meine Schaltungen nachbauen möchtest, bitte sehr und viel 
Erfolg. Konstruktive Änderungen und Rückmeldungen sind auch willkommen.

von John H. (karabka)


Lesenswert?

Hallo Markus,

meine Emails betreffend der Platinen erreichen dich offensichtlich 
nicht. Magst Du mir einmal hier schreiben: karabka (at) byom.de
Danke!

von Markus B. (dalotel)


Lesenswert?

Hallo John,
du hast recht, es kam keine Mail bei mir an.
Ich schreibe dir privat.

Gruß
Markus

von Markus B. (dalotel)


Lesenswert?

Hallo John,
kannst du mir bitte nochmal schreiben, ich habe aus Versehen deine Mail 
mitgelöscht.

Gruß
Markus

von Mi N. (msx)


Lesenswert?

Damit man als einfachen Einstieg die Hardware auch ohne kostspieligen 
AS6501 verwenden kann, habe ich das Programm derart ergänzt, daß es die 
Funktionen des "Pico-Fmeter2a" bietet und mit bestücktem TDC die des 
"Pico-FM-AS65".
Hinzugekommen sind noch englische Bedientexte.

Das Projekt gibt es in verschiedenen Versionen für IAR-, Segger- und 
Arduino-IDE. Die Arduino Version läßt sich einfach und günstig per 
USB-Verbindung eigenen Bedürfnissen anpassen und auch über USB parallel 
zur seriellen Schnittstelle bedienen.
http://mino-elektronik.de/fmeter/fm_software.htm#bsp_RP2040c

von Anton (antang)


Lesenswert?

Funktioniert der mit IC2A (74AUP1GU04) gebaute analoge Verstärker 
wirklich so, wie er soll?

Laut Datenblatt sollte R4 nicht größer als 1 MΩ sein, ist aber 2,2 MΩ.
Mit R4 und R2 (da ist aber noch C6) wird die Verstärkung auf 18,26 
eingestellt, also praktisch die open-loop Verstärkung von 20 (typisch). 
Das Datenblatt sagt außerdem "Unity gain bandwidth product is 5 MHz." 
Wenn damit "unity gain bandwidth" gemeint ist, liegt das weit unter den 
behaupteten 40 MHz. Erst recht, wenn "gain bandwidth product" gemeint 
ist.

Wäre da ein HF-OPA nicht besser geeignet?

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Entspann Dich!

Die Beispielschaltung aus dem Datenblatt ist ein Beispiel, welches man 
auch verstehen muß. Wenn Du den dortigen Widerstand R1 weiter erhöhst, 
wird die Bandbreite noch weiter abgesenkt. Man kann R2 auf 10 MOhm 
erhöhen, wird aber keine höhere Verstärkung erreichen: 19,81 ist ja 
schon knallhart kalkuliert ;-)

Der Inverter GU04 hat drei Aufgaben:
Einen möglichst hochohmigen Eingang mit hoher Bandbreite zur Verfügung 
zu stellen, soweit wie möglich das Eingangssignal zu verstärken und 
letztlich dem nachfolgenden Schmitttrigger ein Signal um Vcc/2 
anzubieten, damit dessen Eingangshysterese gut 'getroffen' wird.

Messwerte eines Kollegen an der Schaltung mit G431:
http://mino-elektronik.de/fmeter/fm_software.htm#bsp_G431

15 mVeff. von 100kHz bis 1MHz
20 mVeff bei 30 MHz
50 mVeff bei 100 MHz
70 mVeff bei 160MHz

Letztlich geht es nicht um eine präzise Verstärkerschaltung, sonderum 
darum, ein beliebiges Eingangssignal gut aufzubereiten. Eine Alternative 
wäre ein Komparator: Max961 ist nicht so hochohmig (bei HF egal) und 
geht bis rund 100 MHz bei hoher Empfindlichkeit. Ein TLV3501 ist 
hochohmig, schwingt aber auch sehr gerne. ECL-Komparatoren sind sehr 
schnell, brauchen aber eine negative Versorgungsspannung und am Ausgang 
einen Pegelwandler.

Such Dir irgendetwas aus, was Dir gefällt und Deine Ansprüche erfüllt.

von Mi N. (msx)


Lesenswert?

Mi N. schrieb:
> Das Projekt gibt es in verschiedenen Versionen für IAR-, Segger- und
> Arduino-IDE.

Bei diesen Version findet sich in der Datei 'mess_fm_as65.c' bzw. *.ino 
noch Schmutz vom Debugging. Bitte die Zeilen 1321 und 1322 löschen oder 
die aktuelle Version herunterladen.
Nur bei der Anzeige von "Frequenz" wurde ein Offset von 0,1 Hz addiert 
und damit der korrekte Anzeigewert überschrieben. F+P zusammen und die 
übrigen Werte sind korrekt und auch die serielle Ausgabe über UART/USB.

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.