Jump to content
ELFORUM - Forumul electronistilor

Sintetizor de frecventa cu ADF4351


Recommended Posts

Ca scula de atelier ajutatoare pt. varianta personalizata de EME as vrea sa realizez un generator RF bazat pe ADF4351.
Am gasit vreo doua trei proiecte gata facute insa prefer sa realizez (daca reusesc) "versiunea mea" de programare/comanda... nu sunt prea priceput in domeniul RF si sper ca realizand acest generator de la (aproape) zero, sa mai invat una alta.
Am citit datasheet-ul IC-ului, chiar de mai multe ori (fara a avea pretentia ca mi-e totu` super clar) si as avea o prima nelamurire, poate un coleg care a lucrat cu IC-ul asta (dar nu neaparat...) ma lumineaza

 

O anumita frecventa de iesire se poate obtine (daca am inteles bine) folosind mai multe combinatii de valori ale: 
(1) divizarii frecventei de referinta (registrul R impreuna cu multiplicarea x2, x1 sau x1/2)  
(2) divizarea VCO (N - divizor delta sigma)
(3) preluarea frecventei catre divizorul delta sigma inainte sau dupa divizorul de iesire (RF)

In aceasta idee, care este interesul meu principal in a alege aceste valori:
 
(1) sa am o frecventa PFD la intrarea comparatorului de faza cat mai mare pt. un zgomot (de faza) cat mai mic?
(2) sa folosesc in masura posibilului o divizare cu un numar intreg a frecventei generate de VCO, cu sau fara divizarea RF de iesire?
(3) altul...?

 

Orice link cu aplicatii documentate ale IC-ului mi-ar fi foarte de folos... am gasit ceva dar poate sunt si mai "reusite". :) 

 

Multzam!

 

P91szZD.png

 

Link to comment

E de durata sa citesti tot ce e acolo doar ca sa raspunzi pe forum.

 

Uite ce explica cineva, poate ajuta.

Calculate the frequency

When setting the output frequency we would need to calculate values for the divider on the feedback path between the VCO and phase comparator and also on the output dividers just before the RF output. The divider on the feedback path consists of 3 values: the integer (INT) value, the fractional (FRAC) value and the modulus value (MOD).

RF Divider

Typically we start with the output divider value, as an example lets use an output frequency of 433MHz. We know that the VCO operates only between 2.2GHz and 4.4GHz so we have to select a divider value which will put our wanted frequency in the VCO output range. In this case an output divider of 8 would work, since this would put the VCO output range from 2.2GHz / 8 = 275MHz to 4.4GHz / 8 = 550MHz. If we are going to divide the VCO RF output by 8 to get our wanted frequency then it means we would also need to make sure the VCO generates a frequency 8 times higher than our wanted frequency. So the VCO output frequency we would aim for would be 433MHz x 8 = 3464MHz.

INT, MOD and FRAC

To get this VCO frequency we need to find values for the feedback path divider. The first one would be the integer value, which is pretty easy since we talked about it earlier. All we need to do is take the wanted VCO frequency divide by the reference oscillator input. Let’s say in this case it’s a 25MHz reference then the integer value would be 3464MHz / 25MHz = 138.56 and since it’s an integer we only take 138. Next we need the modulus which we calculate by taking the reference oscillator divided by the smallest frequency resolution we would need. Lets say 100kHz resolution which will give us a modulus of 25MHz / 100kHz = 250. Finally we calculate the fractional part by multiplying the modulus with the fractions that we lost during the integer calculation which gives (138.56 – 138) * 250 = 140. If you wanted to optimize these last two values you could also look for the common denominator which would be 10 and would make the modulus 25 and the fraction 14.

Frequency resolution

Something to note about the resolution is that the modulus is stored in 12bit space which means the smallest fraction we can represent is 1/4096 multiplied by the reference frequency. In the example above we used 25MHz which would give a resolution of about 1/4096 * 25MHz = 6.103kHz. In the beginning of this post we mentioned a 1kHz resolution, so how do we get it. Since we can not change the modulus size all that’s left to change is the reference frequency. Here we have two options, physically replace the oscillator with a lower frequency one or we use the reference oscillator counter to divide it down. If you look back at the block diagram you will notice the “10-BIT R-COUNTER” block between the reference input and the phase comparator. If we use this counter to divide by 8 we have a new reference of 25MHz / 8 = 3.125MHz which would now give a frequency resolution of 1/4096 * 3.125MHz = 763Hz. So as we can see, by dividing the reference frequency down to a lower value we can increase the output resolution.

One last catch, remember earlier we spoke about the VCO that actually consists of 3 VCO’s operating in different bands but which is automatically selected for us. Well the R-Counter also clocks this automatic circuitry and by changing the R-Counter we also adjust it’s clock which should stay below 125kHz. This clock can be adjusted to stay below the 125kHz limit by updating the BandSelectDivider bits, for me using 200 / R-Counter worked well.

Armed with the calculated values, we can now set our desired frequency by writing them to the relevant registers. As a tip, Analog Devices also provides a small program that you can download from their site to help calculate registe values. Initially it is very helpfull and is highly recommended to verify your register values against but later you would anyway need to learn how to calculate the values yourself.

 

 

****************************************************************************************************************************************

 

Citeste si asta: https://ez.analog.com/rf/f/discussions/75064/adf4350-and-adf4351-common-questions-cheat-sheet

Link to comment

Multumesc @Thunderer2018, nici n-as vrea si nici n-as putea obliga pe cineva sa citeasca doar ca sa-mi explice mie :) ... da` nah, ma gandeam ca suntem multi si poate cineva s-o mai lovit fix de integratu` asta....

Mi-ar fi usor sa iau ceva facut si sa "copy/paste"... numa` ca nu-mi sta in fire, pt. mine preludiu` e mai important decat actu` in sine... acu` vb de actu` RADIOAMATORICESC... :rade:

As vrea sa inteleg ce si de ce nu doar sa am scula mergand.

 

Revenind la integrat si de fapt la sintetizoarele de frecventa bazate pe bucle PLL cu divizoare delta sigma "fractionale" mi-e neclar din cunostintele pe care le am daca zgomotul de faza este cu atat mai mic cu cat frecventele comparate in comparatorul de faza sunt mai mari. Am intalnit aceasta afirmatie in mai multe locuri si vroiam sa stiu si parerea altor colegi. Pe de alta parte habar n-am ce-i cu "spur optimization", "fast lock loop" etc.... da` mai citesc, nu ma las asa usor... :)

Link to comment

OK, atunci o sa fac un fel de jurnal de constructie aici, daca nu deranjeaza... daca deranjeaza se poate muta unde se considera potrivit.

Din calculele mele preliminare combinate cu ce (cred) ca mi-as dori reiese c-as putea face un generator cu urmatoarele specificatii:

 

1. Frecventa:

34.375MHz - 4400MHz

 

Sub benzile corespunzatoare setarii divizorului de iesire ar fi:

 

inD6PWG.png

 

2. Rezolutie ("precizie"):

Pt. rezolutie m-am gandit la o valoare maxima de 100Hz in cel mai defavorabil caz (Banda 7).

Asta corespunde (tot in cazul cel mai defavorabil) unei frecvente la intrarea comparatorului de 400kHz insa, dupa cum se observa in calculele de mai jos, rezolutia pt. aceeasi PFD creste odata cu scaderea frecventei de iesire.

Astfel se ajunge ca in banda 1, chiar cu o frecventa PFD maxima (20MHz in cazul ales) se obtine o precizie a frecventei a iesire de sub 100Hz.

Dupa calculele mele cam astea ar fi rezolutiile in benzi functie de setarile registrilor (pt. o frecventa de referinta de 10MHz)

 

JlG8ZFM.png

 

Mersul calculului dupa mine ar fi cam asa:

 

1. Se alege frecventa dorita.

2. Se deduce banda in care se incadreaza (divizarea pe iesirea RF).

3. Se deduce valoarea PFD  maxima la care se poate obtine precizia  propusa (< +/- 100Hz).

4. Se calculeaza valoarea INT (se alege valoarea intreaga prin trunchiere).

5. Se calculeaza valoarea FRAC ce ofera cea mai apropiata valoare de frecventa dorita pt. MOD maxim (4095)

La pct.5 am dubii deoarece am impresia ca exista cazuri cand se obtine o frecventa mai apropiata de cea dorita cu o valoare MOD mai mica decat valoarea maxima... greu cu matematica asta...

 

Foarte posibil sa fi gresit ceva... daca observati "lasati-ma sa stiu"... :) 

 

 

 

 

 

Link to comment

Pot confirma practic abordarea matematica pt. o setare la 51MHZ.

Rezultatul mai jos pt. REFin = 10MHz, PFD = 20MHz, INT = 163, FRAC = 819, MOD = 4095.

Cred ca pt. o referinta fara pretentii deosebite de termocompensare e OK.

 

P3g2lGe.jpg

Edited by informer
Link to comment

Daca tot am reusit sa programez cipul asta (e loc de imbunatatiri...) merg mai departe cu interfata de comanda a generatorului.

Am vazut ca multi pun encodere pt. selectia frecventei. Mie mi se pare ca un interval de 4,4Ghz e greu de baleiat dintr-un buton rotativ, fie el si cu pas setabil soft.

Am sa pun o tastatura numerica pt. introducerea directa a frecventei dorite si un encoder cu step reglabil din switch-u` lui doar pt. variatii usoare in jurul frecventei alese.

Mai pun un afisaj OLED pt. frecventa/nivel iesire etc., switch ON/OFF + led, switch OUTPUT ON + led, o conexiune UART dac-o fi nevoie de comenzi externe... si cam atat.

Schema de comanda mai jos, conexiunile exacte la uC cum o sa pice bine la PCB, nimic deosebit, piese uzuale necritice ca valori (R/C).

Am sa postez si cablajul cand o fi gata.

 

ukDFOwe.png

 

 

  

Link to comment

Gata, am comandat si PCB-urile.

Piesele sunt un pic ciudat aranjate pt. ca am vrut sa elimin complet firele... le urasc... :) 

Tastatura, afisajul, encoderul, tastele si led-urile sunt pe o parte, restul pe cealalta... iar modulul RF se infige si el intr-o cupla de pe PCB.

Din acest motiv sub tastatura nu sunt componente, placa se va sprijini pe cutia ecran a sintetizorului propriu zis care va avea doar decupajul pt. conector.

In felul asta nu exista decat alimentarea prin mufa USB si mufele SMA... fara alte fire. ;)

 

6R8BQUK.png

 

 

Link to comment
  • 3 weeks later...

Gata, am terminat proiectul asta, este OK pt. atelier si pt. ce am nevoie momentan.

De obicei nu m-apuc sa fac lucruri care se gasesc gata facute (din practica am constatat ca nu ies prea bine :) ) insa un generator RF este o scula scumpa si pt. ce am io nevoie nu se justifica.

Exceptand manopera, la $50-$60 se poate obtine un generator RF nemodulat cu frecventa variabila continuu de la  34.375MHz la 4,4GHz... ceea ce, zic io, nu-i chiar rau.

Daca cineva are nevoie de gerber-uri sau de .hex, sunt moka... :) 

 

 

Edited by informer
Link to comment

Salut Informer, 

Felicitari pentru abord si pentru finalizarea proiectului, dar mai ales pentru hotararea cu care l-ai dus la capat !

Mi-a placut PCB-ul si ma bucur ca ti-a iesit la final "fara virgule" :)

Sa-ti fie de folos si la cat mai multe proiecte realizate !

 

Cu bine,

Cezar

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines