Post Go back to editing

HMC830 Frequency Hopping - Direct LUT ?

Hello,

I'm working with the PLL VCO HMC830.

I want to use a look-up table (LUT) for manual calibration, as decribe in "Frequency Hopping with Hittite PLLVCOs Application Note" (attached) (https : // www . hittite.com/content/documents/application_notes/Fast_Frequency_Hopping_Application_Note.pdf).

It should have equivalence between the desired frequency and capacitors switches configuration (Reg 10h Register Tune VCO).

I wonder if somebody already have those data and could provide it.

Thank you very much in advance.

Fast_Frequency_Hopping_Application_Note.pdf
  • The LUT is device specific. From page 4 in the app-note:

    If you generate the LUT with one device and use it on another the switch capacitor selection might not be optimum over temperature and time.  I believe you want to use the "Direct LUT" method as described in the app-note.   This method associates each desired frequency with a switch capacitor selection.

  • Hello dyoung1,

    You are right. I missed that part.

    So, I have to include in microcontroller code a routine to generate the LUT and store in EEPROM.

    Thank you for your help.

  • Hello,

    I have a doubt regarding the table with the values of the switch capacitors.

    I set the HMC830 without auto-calibration.

    Then I printed the registry values "Reg 10h VCO Tune Register" to various frequencies with a step of 10KHz in order to see that frequency changes occur Reg10 value. (see attached below)

    As shown in the table, there are some "jumps" in the Reg10 values.

    I have seen that there are 6 jumps and are always 32 to 5 on the previous value (see column "changes").

    My questions are:

    Will they always be 6 jumps?

    Is the jump occurs in the same registry value?

    Thank you very much for your help.

    -------------------------------------

    Frec (Hz) Reg (hex) Reg 10 (Dec) changes
    1500000000 F4 244
    1504890000 F3 243 1
    1517190000 F2 242 1
    1529890000 F1 241 1
    1543170000 F0 240 1
    1557820000 EF 239 1
    1573250000 EE 238 1
    1587920000 ED 237 1
    1603330000 EC 236 1
    1618360000 EB 235 1
    1633940000 EA 234 1
    1650270000 E9 233 1
    1667390000 E8 232 1
    1679310000 E7 231 1
    1692000000 E6 230 1
    1710230000 E5 229 1
    1729300000 E4 228 1
    1747860000 E3 227 1
    1767190000 E2 226 1
    1787730000 E1 225 1
    1809190000 E0 224 1
    1809430000 C0 192 32 first jump in values Reg10
    1822470000 BB 187 5 second jump in values Reg10
    1830860000 BA 186 1
    1843170000 B9 185 1
    1856060000 B8 184 1
    1864850000 B7 183 1
    1874220000 B6 182 1
    1887510000 B5 181 1
    1901190000 B4 180 1
    1914460000 B3 179 1
    1928130000 B2 178 1
    1942400000 B1 177 1
    1957230000 B0 176 1
    1971290000 AF 175 1
    1986140000 AE 174 1
    2002350000 AD 173 1
    2019150000 AC 172 1
    2035360000 AB 171 1
    2052150000 AA 170 1
    2069930000 A9 169 1
    2088290000 A8 168 1
    2100200000 A7 167 1
    2112900000 A6 166 1
    2132240000 A5 165 1
    2152350000 A4 164 1
    2171680000 A3 163 1
    2191800000 A2 162 1
    2213110000 A1 161 1
    2235360000 A0 160 1
    2235370000 80 128 32 third jump in values Reg10
    2247270000 7B 123 5 fourth jump in values Reg10
    2254140000 7A 122 1
    2266410000 79 121 1
    2278910000 78 120 1
    2287110000 77 119 1
    2295840000 76 118 1
    2308600000 75 117 1
    2321880000 74 116 1
    2334580000 73 115 1
    2347660000 72 114 1
    2361210000 71 113 1
    2375210000 70 112 1
    2388480000 6F 111 1
    2402740000 6E 110 1
    2417790000 6D 109 1
    2433400000 6C 108 1
    2448250000 6B 107 1
    2463680000 6A 106 1
    2479690000 69 105 1
    2496320000 68 104 1
    2506650000 67 103 1
    2517420000 66 102 1
    2534770000 65 101 1
    2552540000 64 100 1
    2569350000 63 99 1
    2586740000 62 98 1
    2605300000 61 97 1
    2624250000 60 96 1
    2624460000 40 64 32 fifth jump in values Reg10
    2636920000 3B 59 5 sixth jump in values Reg10
    2646680000 3A 58 1
    2660160000 39 57 1
    2674030000 38 56 1
    2682820000 37 55 1
    2692020000 36 54 1
    2706250000 35 53 1
    2720710000 34 52 1
    2734780000 33 51 1
    2749050000 32 50 1
    2764070000 31 49 1
    2779380000 30 48 1
    2792190000 2F 47 1
    2805720000 2E 46 1
    2822110000 2D 45 1
    2839070000 2C 44 1
    2855380000 2B 43 1
    2871910000 2A 42 1
    2889460000 29 41 1
    2907430000 28 40 1
    2918360000 27 39 1
    2929690000 26 38 1
    2948050000 25 37 1
    2967030000 24 36 1
    2985550000 23 35 1

    -------------------------------------

  • Autocal will pick the best VCO and switch capacitor setting for a given frequency.  The actual location of the "jumps" vary depending on the VCO.  

    You can decode Reg 0x10 as follows:

    Reg 0x10[7:6] VCO selection, 11b= lowest frequency)

    Reg 0x10[5] don't care, may by high or low

    Reg 0x10[4:0] switch capacitor setting (11111b=lowest frequency)

    As you see the cause of the large jumps is the don't care bit 5.  If you create a new 7 bit number by concatenating [7:6] with [4:0] you will get a steady decrease in this number as you perform the same measurement.  But for any given frequency the number will vary from part to part.

  • Thank you very much for your help. It has been very useful.

    Sorry, I get the values of the table with self-calibration function activated (do not explain well in my previous comment).

    Best regards.

  • Hello again,

    We have another question: Which sequence needs to be sent in manual mode? We configure the PLL registers in the following order in manual mode:

    1 Reg 0A (bit 11 = 1 , Bypass VCO Tuning)

    2 VCO_Reg 02h K (K>1 or K=1, depending on the frequency required)

    3 Reg 05h 00 (Recommended in Datasheet)

    4 Reg 03h Integer Part

    5 Reg 04h Fractional Part

    6 VCO_Reg 00h Tuning (LUT Table data)

    Each time a frequency is set we need to program Reg 0A to remain in Manual mode.

    If we program Reg 03 (Nint) and Reg 04 (Nfrac) before VCO_Reg 02h, then the sequence does not work.

    Please, could you help us?, thank you very much.


  • Once autocal is turned off (Reg 0x0A[11]=1) it should stay off unless you perform a soft reset ( Reg 0x00[5]=1).  Can you read Reg 0x0A[11] during the manual tuning procedure to see if it has changed from "1" to "0"?

    Manual tuning should work when Nint and Nfrac are set before the output divider (VCO_Reg 02h).  You do not need step #3 (Reg 05h 00) since autocal is off.