AnsweredAssumed Answered

First time programmong a PLL- HMC834

Question asked by obabarin on Oct 24, 2017
Latest reply on Apr 7, 2018 by obabarin

Hello everyone, I am asking these questions as a newbie, and I ask for your contributions. There's a radar board project done my a senior that I need to make some adjustment on and then produce 20 copies of it. It is my first time working on such project, and I am counting on the help I can find here to program the HMC834 PLL on the board. To the PLL is attached a crystal.

My questions are as follows:

1. Is it  possible to totally overwite previous programs running on the HMC834? This I am asking in the sense that on every reboot/restart of the board, the PLL seems to be running even when I have erased the content of the microcontroller and sent a

SetPLL(0x1,0x00000002); // Reset Register

command in C to the device. If yes, how can I go about that?

 

2.On the newly designed board, my PLL seems not to be working at all. And I am sending in codes that I presume made the previous design work to it.How can I troubleshoot this? The configuration codes are as below:

 

void SetPLL(){

 

 

 

    TxBits(0x1,0x00000002); // Reset Register
    TxBits(0x2,0x00000001); // Reference Divider Register
    TxBits(0x5,0x0000E090); // VCO Subsystem 2 - Fo/1
    TxBits(0x5,0x00000018); // VCO Subsystem 3 - 2*Fo enable doupler
    TxBits(0x3,0x0000001D); // Integer Frequency Register
    
    TxBits(0x5,0x00007E28); // VCO Subsystem 5
    TxBits(0x5,0x0000B6A0); // VCO Subsystem 4
    TxBits(0x5,0x00000000); // VCO Subsystem 0
    TxBits(0x5,0x00000000); // VCO Subsystem 0
    
    TxBits(0x6,0x00200B4A); // Delta Sigma Modulator Configuration Register    
    //TxBits(0x6,0x00000F4A); // Delta Sigma Modulator Configuration Register    
    TxBits(0x7,0x0000004D); // Lock Detect Register    
    TxBits(0x8,0x00C1BEFF); // Analog Control Enable Register    
    TxBits(0x9,0x00547FFF); // Charge Pump Register
    TxBits(0xA,0x00002047); // VCO AutoCAL Configuration Register
    TxBits(0xB,0x0007C061); // Phase Frequency Detector Register
    TxBits(0xC,0x00000000); // Fine Frequency Correction Register
    TxBits(0xD,0x00000000); // Reserved
    TxBits(0xE,0x00000000); // Reserved
    TxBits(0xF,0x00000001); // GPO_SPI_RDIV Register
    
    TxBits(0x4,0x00000000); // Fractional Frequency Register

 


    cpu_delay_us(1000000, 4*BOARD_OSC0_HZ);

}

Outcomes