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.

DAC38RF82: SerDes PLL cannot locked

Part Number: DAC38RF82

Hi Jim,

  I cannot get  SerDes PLL to lock when I use the DAC38RF82. I have checked all supply voltages, grounds, and they seem ok.

The DAC PLL REFCLK is 450MHz, DAC PLL output is 9GHz, use mode 82121,2TX, 8X,JESD lane rate 11.25Gbps.

The SerDes PLL register configuration :

Address      Data

0x43B          0x9802

0x43C          0x8029

0x43D          0x0088

0x43E          0x0929

0x43F          0x0000

  I also set LANE_ENA to 1(0x14A 0x0f03,0x24A 0xf003). The register 0x05[1:2] on page 0 is "11" that means the SerDes PLL is unlocked. To verify, I set ENDIVCLK to produce a SERDES PLL output divided by 80

on the ALARM pin. I do not see any clock on the ALARM pin. It seems the SerDes PLL VCO is not work. Can you help me debug this issue?

Regards,

Tang

  • Tang,

    Did you perform a PLL Auto tune function? You must do this to lock the DAC PLL. What value do you read in address 0x06? This is the PLL LF voltage register and the value needs to be either 3 or 4. What value is the VCO tune (address 0x433)?

    Regards,

    Jim

  • Hi Jim,

    The DAC PLL is locked,and the 0x06 is 0x3F62. On a subsequent test, I find that the Serdes 0 block goes out of lock but the Serdes 1 block is locked.

    I find it has an NCO ONLY mode, how to implement this functionality?

    Regards,

    tang

  • DAC38RF82_NCO_Only_Test.pptxBoard trouble-shooting tips.docxTang,

    See if these documents help.

    Regards,

    Jim

     

  • Hi Jim,

    Thank you for your support. 

    I have tested what list in the document, and they all passed by. The JESD is ready( SYNC going low to high, 0x64-0x6B all are '0x0000', 0x04 is '0x0000'), but there is no output signal.

    Are there any other registers that may cause this problem?

    Thanks,

    Tang

  • 82121_9G_450M_ref.cfgTang,

    Verify your DAC register settings with the ones attached. With your setup from an earlier post, you need to change your interpolation from 8x to 4x. 8x is not an option with this setup.

    Regards,

    Jim,

  • Hi,Jim

    I  test register settings that you offered. I find Sync signal always from High to low which mean errors cause  sync requests. I read register 0x64-0x6B, they are all '0x9702'. I am compared with JESD Alarms for Lane Register, it says that bit 15 = multiframe alignment error, bit 11 = elastic buffer over flow(bad RBD value), bit 10 = code synchronization error, bit 9 = 8b/10b disparity error, bit 8 = 8b/10b disparity error.

    In the register setting, K is 20 and RBD is 19. And I try to reduce the value of RBD(17 or 18), the error of bad RBD value is always existe. I don't know how to resolve those problems, can you give me some advice?

    I also find when I set the register 0x410 to '0x0001', errors do not cause sync requests. There is quite a lack of information about the register 0x410 in the data sheet, could you give me some more details about register 0x410,0x411,0x412?

    Best Regards,

    tang

  • Tang,

    You may have to change a few registers setting in the file I sent before you can use it with your system. The lanes may be mapped wrong, the clock selection (single-ended vs differential) may be set wrong, the VCO Tune value may be incorrect, the K value may not match your transmitter's K value, ect...

    Registers 0x410 and 0x411 are alarms that could occur if the internal clock divider is not operating properly. If this is the case, there are usually many other issues and alarms that will be present. I would not worry about monitoring these two registers as they really will not provide much information.

    Register 0x412 is a skew counter that increments +1 for every 2 octets processed. This logic will reset when receiving data from the earliest lane then stop counting when it gets data from the latest lane.

    You mentioned in an earlier post SYNC was working properly but there was no output. In your latest post, you are mentioning SYNC is staying low. What did you change to cause this? Was this from using the configuration file I sent?

    What FPGA are using to provide data to the DAC?

    Regards,

    Jim

     

  • Jim,

    I'm sorry to reply you so late. Because of the Spring Festival and Pneumonia Virus Outbreak in China, I haven't been to work recently.

    No, I compared the configuration file which you sent me with register configuration I used, I found it almost the same,except the clock selection (single-ended vs differential), the VCO Tune value, the K value, Lane map. These need to be configured according to my actual situation,so I do not change my register configuration.

    At first, SYNC seemed to be working properly and there was no output. Then I found that I made a mistake. I set the register 0x410 to '0x0001', but the recommendation is ‘0x0000’. After I corrected that mistake,SYNC was staying low and sync signal always requests resynchronization. That's why I wonder if register 0x410 has some other functions.

    I use XC7VX330T-3FFG to provide data to the DAC. I've used this FPGA before, and It supports JESD transmission protocols.

    Regards,

    tang

  • Tang,

    Send me you latest config file. Please also send the following info:

    DAC sample rate

    External DAC clock or PLL. If PLL, reference clock frequency and N and M values used by PLL.

    IQ or real data. If IQ data, 1 pair or 2.

    interpolation factor

    LMFS settings

    RBD setting

    K setting

    SYSREF frequency

    I will make the required changes the try your settings on our hardware.

    Regards,

    Jim

  • Jim,

    Thank you for your help. That would be very useful.

    DAC sample rate is 9GHz

    Use PLL, the reference clock frequency is 450MHz, N=1, M=5

    Real data input

    Interpolation factor is 4X

    LMFS is 8212

    RBD is 19

    K is 20

    SYSREF frequency is 28.125MHz

    Table1 is my register setting and configuration of sequence. I also make register setting TXT file, It may be more convenient for you to use.

    Regards,

    tang

    1)5102.latest config file.docx

    2)

    7713.latest config file.txt
    DAC38RF82
    Page0
    0x00 0x5800
    0x01 0x1880
    0x02 0x00FF
    0x03 0x00FF
    0x04 0x0000
    0x05 0x0000
    Page4
    0x40A 0xFC03
    0x40B 0x0002
    0x40C 0xA002
    0x40D 0xF000
    0x41B 0x0000
    0x423 0xFFFF
    0x424 0x1000
    0x431 0x0400
    0x432 0x0408
    0x433 0xC73C
    0x434 0x0000
    0x435 0x0018
    0x43B 0x9802
    0x43C 0x8029
    0x43D 0x0088
    0x43E 0x0909
    0x43F 0x0000
    Page1
    0x10A 0x0210
    0x10C 0x2402
    0x10D 0x0000
    0x10E 0x00FF
    0x10F 0xFFFF
    0x110 0xFFFF
    0x111 0xFFFF
    0x117 0x0000
    0x119 0x0001
    0x11C 0x0000
    0x11D 0x0000
    0x11E 0x0000
    0x11F 0x0000
    0x120 0x0000
    0x121 0x0000
    0x122 0x0000
    0x123 0x0000
    0x124 0x0030
    0x125 0x3200
    0x127 0x8888
    0x128 0x0330
    0x129 0x0000
    0x12A 0x0000
    0x12B 0x0000
    0x12C 0x0000
    0x12D 0x1FFF
    0x12E 0x1FFF
    0x12F 0x0000
    0x130 0x0000
    0x132 0x0400
    0x133 0x0400
    0x146 0x0044
    0x147 0x190A
    0x148 0x31C3
    0x14A 0x0F03
    0x14B 0x1300
    0x14C 0x1303
    0x14D 0x0001
    0x14E 0x0F4F
    0x14F 0x1C60
    0x150 0x0000
    0x151 0x001F
    0x152 0x00FF
    0x153 0x0100
    0x154 0x8E60
    0x15C 0x0003
    0x15F 0x0123
    0x160 0x4567
    0x164 0x0000
    0x165 0x0000
    0x166 0x0000
    0x167 0x0000
    0x168 0x0000
    0x169 0x0000
    0x16A 0x0000
    0x16B 0x0000
    0x16C 0x0000
    0x16D 0x0000
    0x16E 0x0000
    Page2
    0x20A 0x0210
    0x20C 0x2402
    0x20D 0x0000
    0x20E 0x00FF
    0x20F 0xFFFF
    0x210 0xFFFF
    0x211 0xFFFF
    0x217 0x0000
    0x219 0x0001
    0x21C 0x0000
    0x21D 0x0000
    0x21E 0x0000
    0x21F 0x0000
    0x220 0x0000
    0x221 0x0000
    0x222 0x0000
    0x223 0x0000
    0x224 0x0030
    0x225 0x3200
    0x227 0x8888
    0x228 0x0330
    0x229 0x0000
    0x22A 0x0000
    0x22B 0x0000
    0x22C 0x0000
    0x22D 0x1FFF
    0x22E 0x1FFF
    0x22F 0x0000
    0x230 0x0000
    0x232 0x0400
    0x233 0x0400
    0x246 0x0044
    0x247 0x190A
    0x248 0x31C3
    0x24A 0xF003
    0x24B 0x1300
    0x24C 0x1303
    0x24D 0x0001
    0x24E 0x0F4F
    0x24F 0x1C60
    0x250 0x0000
    0x251 0x001F
    0x252 0x00FF
    0x253 0x0100
    0x254 0x8E60
    0x25C 0x0003
    0x25F 0x0123
    0x260 0x4567
    0x264 0x0000
    0x265 0x0000
    0x266 0x0000
    0x267 0x0000
    0x268 0x0000
    0x269 0x0000
    0x26A 0x0000
    0x26B 0x0000
    0x26C 0x0000
    0x26D 0x0000
    0x26E 0x0000
    Reset
    0x124 0x0000
    0x224 0x0000
    0x15C 0x0000
    0x25C 0x0000
    0x40A 0xFC03
    wait 10ms
    0x40A 0x7C03
    0x00 0x5803
    0x124 0x0030
    0x224 0x0030
    wait 10ms
    0x15C 0x0003
    0x25C 0x0003
    wait 10ms
    0x00 0x5800
    0x04 0x0000
    0x05 0x0000
    0x164 0x0000
    0x165 0x0000
    0x166 0x0000
    0x167 0x0000
    0x168 0x0000
    0x169 0x0000
    0x16A 0x0000
    0x16B 0x0000
    0x16C 0x0000
    0x16D 0x0000
    0x16E 0x0000
    0x264 0x0000
    0x265 0x0000
    0x266 0x0000
    0x267 0x0000
    0x268 0x0000
    0x269 0x0000
    0x26A 0x0000
    0x26B 0x0000
    0x26C 0x0000
    0x26D 0x0000
    0x26E 0x0000
    
    
    

  • Tang,

    All you settings appear to be fine except for one. In the reset section, you should be writing to page 1 for address 0x5C. You are showing a write to page 2.

    If you plan on using both outputs you will need to add a page 2 write to 0x24 and 0x5C in this section as well. Both addresses in both pages need to be set if using both outputs.

    Make sure SYSREF is running during the reset writes.

    After making this one change I was able to get an output with your settings.

    Are you using our DAC38RF82EVM or is this a custom board with the DAC installed?

    Regards,

    Jim 

  • Jim,

    Have you tried my configuration?I am looking forward to hearing from you.

    Regards,

    Tang

  • Tang,

    In my last post you will noticed I mentioned I did and it worked.

    Regards,

    Jim

  • Jim,
    I didn't notice your last reply. So sorry about that.
    I'll try it right away.
    I don't have DAC38RF82EVM board, this is a custom board with the DAC installed.
    Regards,
    Tang

  • Jim,

    The problem was solved when I replaced another DAC38RF82. I will continue to verify whether the PCB is the cause.

    I really appreciate your assistance. I think this problem can be closed.

    Regards,

    Tang