This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE7950EVM: PLL STATUS IS NOT COMING CORRECTLY

Part Number: AFE7950EVM

Tool/software:

Hey sir/ma'am,

With AFE7950EVM and MPF300t (fpga), we established serdes link and can able to transfer data between those. We are trying to check the PLL lock status by giving below mentioned commands via latter

AFE.writeReg(0x15,0x1)
AFE.writeReg(0x66,0x2)
AFE.readReg(0x66)

while trying to read 0x66 reg, we are getting 0x0 value as return. not even 0x2 which we wrote.
is it the way to check pll lock status or are we missing anything.



Thanks & regards
Akula Vamsi
Piersight Space
Digital design engineer

  • Hi Akula,

    Before opening the PLL page was the sequence to request SPI access to the PLL page followed? If not then this is likely to be the reason why the value you always read back was 0x0. 

    The correct procedure to follow is: 

    1. Request SPI access to the PLL page
    2. Open PLL page and access registers needed
    3. Release SPI access to the PLL page

    An example of this process this is given below. 

    //START: Requesting SPI Access to PLL Pages
    
    SPIWrite 0015,00,0,7	//ana_4t4r=0x0; 	Address(0x15[1:1])
    SPIWrite 0015,40,0,7	//digtop=0x1; 	Address(0x15[6:6])
    SPIWrite 0170,01,0,7	//pll_reg_spi_req_a=0x1; 	Address(0x170[0:0])
    SPIWrite 0540,00,0,7	//Property_520h_0_0=0x0; 	Address(0x540[0:0])
    
    SPIPoll 0171,0,0,01
    
    SPIWrite 0015,00,0,7	//digtop=0x0; 	Address(0x15[6:6])
    
    //END: Requesting SPI Access to PLL Pages
    
    
    ----------------------------------------------------------------------------
    
    //Start: Access PLL page
    
    SPIWrite 0015,01,0,7	//pll=0x1; 	Address(0x15[0:0])
    SPIRead 0066,0,7
    SPIWrite 0015,00,0,7	//pll=0x0; 	Address(0x15[0:0])
    
    //End: Access PLL page
    ----------------------------------------------------------------------------
    
    
    //START: Releasing SPI Access to PLL Pages
    
    SPIWrite 0015,40,0,7	//digtop=0x1; 	Address(0x15[6:6])
    SPIWrite 0170,00,0,7	//pll_reg_spi_req_a=0x0; 	Address(0x170[0:0])
    SPIWrite 0540,00,0,7	//Property_520h_0_0=0x0; 	Address(0x540[0:0])
    SPIWrite 0015,00,0,7	//digtop=0x0; 	Address(0x15[6:6])
    
    //END: Releasing SPI Access to PLL Pages
    
    
    

    Can you please give this a try on your setup and see if this fixes the problem you are seeing? 

    Regards,

    David Chaparro 

  • Hey David,

    Above mentioned set of registers helped us to read pll status.

    Thanks
    Akula Vamsi
    Digital Design Engineer
    Piersight Space

  • Hi Akula,


    Glad to hear that this fixed your issue. 

    Regards,

    David Chaparro