Sari la conținut
ELFORUM - Forumul electronistilor

Frecventmetru 1Hz - 2.5GHz cu STM32


Postări Recomandate

Acum 13 ore, Liviu.Mihaiu a spus:


Poti detalia te rog ?

 

Se spune ca o imagine valoreaza mai mult de 1000 de cuvinte. Vezi imaginea de mai jos:

 

275602268_diagramasemnale.thumb.png.fa60dd01754b08c1dbb7c6645d91ebb2.png

 

In cazul asta Pre_gate T0 este perioada semnalului de poarta ales de mine in 4 trepte, iar Sync gate T este adevarata perioada a semnalului de poarta si nu este egala cu Pre_gate T0 (ci va fi mai lunga cu cateva zeci sau sute de ns sau poate mai mult, nu am stat sa masor asta). Ca urmare, numarul de perioade ale semnalului de masurat va fi intotdeauna un numar intreg, la fel si numarul de perioade ale semnalului de referinta.

 

1 oră în urmă, cimitavita a spus:

intrarile la STM32F411RCT6 merg la 100MHz iar CLK intern e de 100MHz. Deci asta inseamna ca microcontrolerul poate masura direct semnale pana la 100MHz.

Iar daca oscilatorul nu e termostatat, orice variatie de temperatura face ca frecventa sa se modifice.

Intrarile de timer nu acepta semnale egale cu frecventa CLK intern a timerelor ci cel mult 50% din aceasta frecventa. Asta inseamna ca nu voi putea furniza un semnal de masurat mai mare de 50MHz (in realitate undeva la 45MHz) pe intrarea unui timer, doar daca nu cumva voi folosi una din valorile de prescaler disponibile la nivelul timerului. Alminterea, pa masuratoare!

Asa cum am mai spus/scris, oscilatorul este de tip VCTCXO, deci variatiile cu temperatura sunt mici, foarte mici! Nu mi-am permis sa dau intre 300 si 1500 de lei pe un oscilator OCXO! Pentru scopul propus solutia aleasa pare a fi cea mai avantajoasa.

 

 

Link spre comentariu
  • Răspunsuri 21
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Interesanta ideea.

Practic contorizam un anumit numar de cicluri (Nx) ale semnalului de masurat (Fx) pe o perioada T oarecare
(masuratoarea se face sincron. incepe si se termina cu un rissing sau falling edge al semnalului Fx)
Si avem:

fx=Nx/T

Dar nu stim cat a fost exact T. Pentru a afla T, contorizam in acelasi timp cu semnalul de masurat si
un semnal de referinta Fs, si obtinem Ns cicluri .

astfel gasim T=Ns/Fs;


Sper ca am inteles bine ideea ta.

Editat de Vizitator
Link spre comentariu

Corect, in intervalul de timp T masuram doua seturi de impulsuri, Fx si Fref, iar rezultatul impartirii celor doua seturi de valori il multiplicam cu valoarea frecventei semnalului de referinta. Astfel, perioada de timp cat este activa "poarta" nu intra in calculul frecventei semnalului de masurat. Este la fel de adevarat ca cu cat perioada cat poarta este activa mai mare, cu atat precizia de masurare este mai mare.

Link spre comentariu

Buna seara si felicitari pentru proiect!

Mi-a sarit in ochi etajul sync pe care l-ai publicat in urma cu cativa ani, undeva pe elforum. Imi aduc aminte pentru ca m-am permis sa-l utilizez si eu la un frecventmetru. Cum nu ma pricep la controlere care sar de 8 biti, am folosit un arduino Nano si un circuit SN74LV8154, care este un dublu numarator de 16 biti.

Din pacate am abandonat proiectul.

Pe durata de SIG_EN ai un numar intreg de perioade la iesirea SIG_IN, dar nu cred ca pe aceiasi perioada ai un numar intreg de REFOSC, probabil de aici vine eroarea de +1 sau -1  din perioada oscilatorului de referinta.

Link spre comentariu

Asta inseamna ca software faci o sincronizare a semnalului de referinta (parca era notat Fs) cu REF_EN (dpdv hardware, acelasi modul de sincronizare, unde la intrare ai semnalul de referinta Fs iar in loc de GATE ai REF_EN).

Reciprocal counters. Asta era proiectul pe care l-am inceput si nu l-am terminat. Cred ca ti-a luat ceva timp sa-l finalizezi!

Link spre comentariu

Timerele din STM32 au posibilitatea de a functiona in regim "SLAVE" care permite pornirea lor simultana si sincronizata hardware pe frontul crescator (sau descrescator) al semnalului de "GATE_EN". Am scris despre aceasta facilitate/functie in tutorialul postat in aceasta sectiune.

Deapre timpul consumat pot spune ca cel mai mult a fost "consumat" cu asteptarea cablajelor (repetate de 3 ori din cauze subiective, adica greseli la footprinturi cauzate de lipsa mea de experienta in utilizarea KiCad).

Link spre comentariu

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.
Notă: Postarea ta va necesita aprobare moderator înainte de a fi vizibilă.

Vizitator
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Răspunde la acest subiect...

×   Alipit ca text avansat.   Restituie formatare

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.




×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări