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.

ADC12DJ3200EVM: ADC12DJ3200EVM and TSW14J57 - JMODE3 problem

Part Number: ADC12DJ3200EVM
Other Parts Discussed in Thread: ADC12DJ3200, LMK04828, LMX2582, TSW14J57EVM

Hi,

I have successfully connected ADC12DJ3200EVM with TSW14J57 (Rev E) and have been able to sample a signal with JMODE0 setting. I have mod-ed the board to use external clock source.

ADC Clock - 1966.08 MHz (connected to DEVCLK and LMK_CLKIN

Signal  - CW @ 491.52 MHz

Now i am trying to use JMODE3 and i am not able to sample my signal. I want to sample an I/Q signal (I Connected to VINA and Q connected to VINB)

See ADC12DJ3200 GUI Screenshot below. Seems to program the ADC without problems. 

 .

The HSDC4.9 Capture is as follows

However for some reason the "RX CLK" LED  D4 is just high and not blinking. When I try to capture data, i get the following error

I am not sure what I am doing wrong. JMODE0 worked without any problem. 

Sai.

  • Hello Sai
    Can you try using JMODE2 instead of JMODE3?
    This will result in the data rate being 2 x 3932.16 Mbps, but using half the number of lanes. I want to see if that has any effect so I can understand what might be causing the problem.
    If that also fails I'll try to reproduce your setup using on-board clocking at a similar clock frequency.
    Best regards,
    Jim B
  • Hi Jim,

    I tried your recommendation but it didnt seem to work. Same error message.

    One thing I want to confirm. My clock rate in ADC12DJ3200 GUI is 1966.16 MHz. I need to set the ADC output data rate in HSDC gui to the same value right? This is different from JMODE0 in which you set it to 2x the value set in the ADC12DJ3200 GUI.

    Sai.
  • Hi Sai

    I want to double check that the device configurations are all being written correctly on the ADC EVM GUI.

    • With the GUI running the lower left corner should say Idle. Double-click in that corner, and a window labeled "Status Log" should open.
    • Right click in the middle of the window and choose Clear Log to delete any history that is there.
    • Then go back to the main GUI with the User Inputs as you want and click on Program Clocks and ADC.
    • Once the lower left status returns to Idle, scroll from the top to bottom of the Status Log information.

    The beginning should be a large number of writes to the LMK04828 registers, followed by some writes to the LMX2582 registers. The final section will be writes to the ADC12DJxx00 registers. If all of those sections are there then the writes are working OK. If some of the writes are not happening there may be a file missing.

    In the writes are all happening correctly there may be some issue with the external clocks feeding the ADC and LMK04828. Please confirm you have removed R67 and installed R70 for the LMK04828 external clock. Also confirm you have removed C50 and C51 and have installed C49 and C52 (for the ADC12DJ3200 clock).

    If the modifications are all done correctly there may be an issue with the clock power level. Try decreasing or increasing the clock power to the LMK04828 and then re-configuring the board by clicking the Program Clocks and ADC button again. Then try capturing data again.

    If you are sending the output from an RF generator directly to the LMK_CLKIN connector I would set the generator power to approximately 8 to 10 dBm. If you are splitting the output from one generator to feed both the LMK_CLKIN and DEVCLK+ connectors I would set the generator to around 11 to 13 dBm.

    Let me know what you find and if any of this helps.

    Best regards,

    Jim B

  • Hi Jim,

    I followed your recommendation. I have attached the log file. Seems all the writes are working well. 

    log.txt
    Write Register: LMK04828.x000[0x0] -[0x80]
    Write Register: LMK04828.x000[0x0] -[0x0]
    Write Register: LMK04828.x002[0x2] -[0x0]
    Write Register: LMK04828.x100[0x100] -[0xA]
    Write Register: LMK04828.x101[0x101] -[0x55]
    Write Register: LMK04828.x103[0x103] -[0x0]
    Write Register: LMK04828.x104[0x104] -[0x20]
    Write Register: LMK04828.x105[0x105] -[0x0]
    Write Register: LMK04828.x106[0x106] -[0xF0]
    Write Register: LMK04828.x107[0x107] -[0x11]
    Write Register: LMK04828.x108[0x108] -[0x1]
    Write Register: LMK04828.x109[0x109] -[0x55]
    Write Register: LMK04828.x10B[0x10B] -[0x0]
    Write Register: LMK04828.x10C[0x10C] -[0x22]
    Write Register: LMK04828.x10D[0x10D] -[0x0]
    Write Register: LMK04828.x10E[0x10E] -[0xF9]
    Write Register: LMK04828.0x10F[0x10F] -[0x0]
    Write Register: LMK04828.x110[0x110] -[0xA]
    Write Register: LMK04828.x111[0x111] -[0x55]
    Write Register: LMK04828.x113[0x113] -[0x0]
    Write Register: LMK04828.x114[0x114] -[0x2]
    Write Register: LMK04828.x115[0x115] -[0x0]
    Write Register: LMK04828.x116[0x116] -[0xF8]
    Write Register: LMK04828.x117[0x117] -[0x0]
    Write Register: LMK04828.x118[0x118] -[0xA]
    Write Register: LMK04828.x119[0x119] -[0x55]
    Write Register: LMK04828.x11B[0x11B] -[0x0]
    Write Register: LMK04828.x11C[0x11C] -[0x2]
    Write Register: LMK04828.x11D[0x11D] -[0x0]
    Write Register: LMK04828.x11E[0x11E] -[0xF8]
    Write Register: LMK04828.x11F[0x11F] -[0x0]
    Write Register: LMK04828.x120[0x120] -[0xA]
    Write Register: LMK04828.x121[0x121] -[0x55]
    Write Register: LMK04828.x123[0x123] -[0x0]
    Write Register: LMK04828.x124[0x124] -[0x22]
    Write Register: LMK04828.x125[0x125] -[0x0]
    Write Register: LMK04828.x126[0x126] -[0xF0]
    Write Register: LMK04828.x127[0x127] -[0x1]
    Write Register: LMK04828.x128[0x128] -[0xA]
    Write Register: LMK04828.x129[0x129] -[0x55]
    Write Register: LMK04828.x12B[0x12B] -[0x0]
    Write Register: LMK04828.x12C[0x12C] -[0x22]
    Write Register: LMK04828.x12D[0x12D] -[0x0]
    Write Register: LMK04828.x12E[0x12E] -[0xF0]
    Write Register: LMK04828.x12F[0x12F] -[0x5]
    Write Register: LMK04828.x130[0x130] -[0xA]
    Write Register: LMK04828.x131[0x131] -[0x55]
    Write Register: LMK04828.x133[0x133] -[0x0]
    Write Register: LMK04828.x134[0x134] -[0x22]
    Write Register: LMK04828.x135[0x135] -[0x0]
    Write Register: LMK04828.x136[0x136] -[0xF0]
    Write Register: LMK04828.x137[0x137] -[0x1]
    Write Register: LMK04828.x138[0x138] -[0x45]
    Write Register: LMK04828.x139[0x139] -[0x3]
    Write Register: LMK04828.x13A[0x13A] -[0x0]
    Write Register: LMK04828.x13B[0x13B] -[0x50]
    Write Register: LMK04828.x13C[0x13C] -[0x0]
    Write Register: LMK04828.x13D[0x13D] -[0x8]
    Write Register: LMK04828.x13E[0x13E] -[0x3]
    Write Register: LMK04828.x13F[0x13F] -[0x0]
    Write Register: LMK04828.x140[0x140] -[0x1]
    Write Register: LMK04828.x141[0x141] -[0x0]
    Write Register: LMK04828.x142[0x142] -[0x8]
    Write Register: LMK04828.x143[0x143] -[0x32]
    Write Register: LMK04828.x144[0x144] -[0x87]
    Write Register: LMK04828.x145[0x145] -[0x0]
    Write Register: LMK04828.x146[0x146] -[0x18]
    Write Register: LMK04828.x147[0x147] -[0x2]
    Write Register: LMK04828.x148[0x148] -[0x2]
    Write Register: LMK04828.x149[0x149] -[0x2]
    Write Register: LMK04828.x14A[0x14A] -[0x2]
    Write Register: LMK04828.x14B[0x14B] -[0x2]
    Write Register: LMK04828.x14C[0x14C] -[0x0]
    Write Register: LMK04828.x14D[0x14D] -[0x0]
    Write Register: LMK04828.x14E[0x14E] -[0x0]
    Write Register: LMK04828.x14F[0x14F] -[0x7F]
    Write Register: LMK04828.x150[0x150] -[0x1]
    Write Register: LMK04828.x151[0x151] -[0x2]
    Write Register: LMK04828.x152[0x152] -[0x0]
    Write Register: LMK04828.x153[0x153] -[0x0]
    Write Register: LMK04828.x154[0x154] -[0xC]
    Write Register: LMK04828.x155[0x155] -[0x0]
    Write Register: LMK04828.x156[0x156] -[0xC]
    Write Register: LMK04828.x157[0x157] -[0x0]
    Write Register: LMK04828.x158[0x158] -[0x78]
    Write Register: LMK04828.x159[0x159] -[0x0]
    Write Register: LMK04828.x15A[0x15A] -[0x78]
    Write Register: LMK04828.x15B[0x15B] -[0xD4]
    Write Register: LMK04828.x15C[0x15C] -[0x20]
    Write Register: LMK04828.x15D[0x15D] -[0x0]
    Write Register: LMK04828.x15E[0x15E] -[0x0]
    Write Register: LMK04828.x15F[0x15F] -[0xB]
    Write Register: LMK04828.x160[0x160] -[0x0]
    Write Register: LMK04828.x161[0x161] -[0x2]
    Write Register: LMK04828.x162[0x162] -[0x44]
    Write Register: LMK04828.x163[0x163] -[0x0]
    Write Register: LMK04828.x164[0x164] -[0x0]
    Write Register: LMK04828.x165[0x165] -[0xC]
    Write Register: LMK04828[0x171]-[0xAA]
    Write Register: LMK04828[0x172]-[0x2]
    Write Register: LMK04828.x17C[0x17C] -[0x15]
    Write Register: LMK04828.x17D[0x17D] -[0x33]
    Write Register: LMK04828.x166[0x166] -[0x0]
    Write Register: LMK04828.x167[0x167] -[0x0]
    Write Register: LMK04828.x168[0x168] -[0x1]
    Write Register: LMK04828.x169[0x169] -[0x59]
    Write Register: LMK04828.x16A[0x16A] -[0x20]
    Write Register: LMK04828.x16B[0x16B] -[0x0]
    Write Register: LMK04828.x16C[0x16C] -[0x0]
    Write Register: LMK04828.x16D[0x16D] -[0x0]
    Write Register: LMK04828.x16E[0x16E] -[0x4]
    Write Register: LMK04828[0x173]-[0x60]
    Write Register: LMK04828.x139[0x139] -[0x0]
    Write Register: LMK04828.x143[0x143] -[0x11]
    Write Register: LMK04828.x140[0x140] -[0x0]
    Write Register: LMK04828.x144[0x144] -[0x74]
    Write Register: LMK04828.x143[0x143] -[0x11]
    Write Register: LMK04828.x143[0x143] -[0x31]
    Write Register: LMK04828.x143[0x143] -[0x11]
    Write Register: LMK04828.x144[0x144] -[0xFF]
    Write Register: LMK04828.x139[0x139] -[0x3]
    Write Register: LMK04828.x14A[0x14A] -[0x6]
    Operation Successful.
    Write Register: LMX2582.0x40[0x40] -[0xAF]
    Write Register: LMX2582[0x3F]-[0x95]
    Write Register: LMX2582[0x3E]-[0x40]
    Write Register: LMX2582[0x3D]-[0x1]
    Write Register: LMX2582[0x3C]-[0x2]
    Write Register: LMX2582[0x3B]-[0x0]
    Write Register: LMX2582[0x3A]-[0x0]
    Write Register: LMX2582[0x39]-[0x0]
    Write Register: LMX2582[0x38]-[0x1]
    Write Register: LMX2582[0x37]-[0x0]
    Write Register: LMX2582[0x36]-[0x820]
    Write Register: LMX2582[0x35]-[0x80]
    Write Register: LMX2582[0x34]-[0x0]
    Write Register: LMX2582[0x33]-[0x4180]
    Write Register: LMX2582[0x32]-[0x300]
    Write Register: LMX2582.0x31[0x31] -[0x300]
    Write Register: LMX2582.0x30[0x30] -[0x3FC]
    Write Register: LMX2582.0x2F[0x2F] -[0xD6]
    Write Register: LMX2582.0x2E[0x2E] -[0x1637]
    Write Register: LMX2582.0x2D[0x2D] -[0x0]
    Write Register: LMX2582.0x2C[0x2C] -[0x0]
    Write Register: LMX2582.0x2B[0x2B] -[0x0]
    Write Register: LMX2582.0x2A[0x2A] -[0x0]
    Write Register: LMX2582.0x29[0x29] -[0x3E8]
    Write Register: LMX2582.0x28[0x28] -[0x0]
    Write Register: LMX2582.0x27[0x27] -[0x8204]
    Write Register: LMX2582.0x26[0x26] -[0x40]
    Write Register: LMX2582.0x25[0x25] -[0x4000]
    Write Register: LMX2582.0x24[0x24] -[0xC10]
    Write Register: LMX2582.0x23[0x23] -[0x19B]
    Write Register: LMX2582.0x22[0x22] -[0xC3F0]
    Write Register: LMX2582[0x21]-[0x4210]
    Write Register: LMX2582[0x20]-[0x4210]
    Write Register: LMX2582.0x1F[0x1F] -[0x601]
    Write Register: LMX2582.0x1E[0x1E] -[0x34]
    Write Register: LMX2582[0x1D]-[0x84]
    Write Register: LMX2582[0x1C]-[0x2924]
    Write Register: LMX2582[0x1B]-[0x71A]
    Write Register: LMX2582[0x1A]-[0x27C]
    Write Register: LMX2582[0x19]-[0x0]
    Write Register: LMX2582[0x18]-[0xD09]
    Write Register: LMX2582[0x17]-[0x8842]
    Write Register: LMX2582[0x16]-[0x2300]
    Write Register: LMX2582[0x15]-[0x64]
    Write Register: LMX2582[0x14]-[0x64]
    Write Register: LMX2582[0x13]-[0x965]
    Write Register: LMX2582[0x12]-[0x3C0]
    Write Register: LMX2582[0x11]-[0xE114]
    Write Register: LMX2582[0x10]-[0x37]
    Write Register: LMX2582[0xF]-[0x25]
    Write Register: LMX2582.0x0E[0xE] -[0x18C]
    Write Register: LMX2582.0x0D[0xD] -[0x4000]
    Write Register: LMX2582.0x0C[0xC] -[0x7001]
    Write Register: LMX2582.0x0B[0xB] -[0x18]
    Write Register: LMX2582.0x0A[0xA] -[0x10D8]
    Write Register: LMX2582.0x09[0x9] -[0x302]
    Write Register: LMX2582[0x8]-[0x1084]
    Write Register: LMX2582[0x7]-[0x28B2]
    Write Register: LMX2582[0x6]-[0xC802]
    Write Register: LMX2582[0x5]-[0xC8]
    Write Register: LMX2582[0x4]-[0x1943]
    Write Register: LMX2582[0x3]-[0x1902]
    Write Register: LMX2582[0x2]-[0x500]
    Write Register: LMX2582.0x01[0x1] -[0x80B]
    Write Register: LMX2582.0x00[0x0] -[0x221D]
    Write Register: LMK04828.x139[0x139] -[0x0]
    Write Register: LMK04828.x143[0x143] -[0x11]
    Write Register: LMK04828.x140[0x140] -[0x0]
    Write Register: LMK04828.x144[0x144] -[0x74]
    Write Register: LMK04828.x143[0x143] -[0x11]
    Write Register: LMK04828.x143[0x143] -[0x31]
    Write Register: LMK04828.x143[0x143] -[0x11]
    Write Register: LMK04828.x144[0x144] -[0xFF]
    Write Register: LMK04828.x139[0x139] -[0x3]
    Operation Successful.
    Write Register: ADC12DJxx00.CONFIG_A[0x0] -[0xB0]
    Write Register: ADC12DJxx00.JESD_EN[0x200] -[0x0]
    Write Register: ADC12DJxx00.CAL_EN[0x61] -[0x0]
    Write Register: ADC12DJxx00.JMODE[0x201] -[0x2]
    Write Register: ADC12DJxx00.KM1[0x202] -[0x3]
    Write Register: ADC12DJxx00.JCTRL[0x204] -[0x1]
    Write Register: ADC12DJxx00.OVR_N[0x213] -[0x7]
    Write Register: ADC12DJxx00.SER_PE[0x48] -[0x3]
    Write Register: ADC12DJxx00.CAL_EN[0x61] -[0x1]
    Write Register: ADC12DJxx00.JESD_EN[0x200] -[0x1]
    Write Register: ADC12DJxx00.CAL_SOFT_TRIG[0x6C] -[0x0]
    Write Register: ADC12DJxx00.CAL_SOFT_TRIG[0x6C] -[0x1]
    Operation Successful.
    Idle
    

    I have attached pictures of the board modifications. I think I did all that correctly. (please see attached pics)

    I then selected JMODE2 and reduced the power level of the clock and now it seems to work. But if I try JMODE 3 it doesnt work anymore again. I tried adjusting clock levels but still no joy. 

    Is there a reason JMODE3 doesnt work?

    Sai

  • Hi Jim,

    Any response on the JMODE 3 query?

    Regards,
    Sai.
  • Hello Sai
    Since JMODE2 is working can you gather data using that mode for now?
    The ADC functionality and performance are basically the same for JMODE2 and JMODE3.
    I have reproduced a similar capture problem in JMODE3 at low sample rates using my setup, so I may be able to resolve the problem but it could take a few days.
    Best regards,
    Jim B
  • Hello Sai

    I think I may have a solution for the JMODE3 issue.

    There are .ini files associated with each ADC operating mode for each capture board. The files for the TSW14J57EVM Rev E are located in this folder:

    C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro\14J57revE Details\ADC files

    The one for JMODE3 is called "ADC12DJxx00_JMODE3.ini".

    A few of the parameters in that file need to be edited to change how the FPGA operation works at lower serial data rates.

    Here are the lines that you need to change with the updated values highlighted in Red:

    MIF Config= 1.5G to 2.5G:RX:RX_PMA_x20,2.5G to 16G:RX:RX_PMA_x40

    Fabric PLL Counter = 1.5G to 2.5G:0x080404,2.5G to 16G:0x080202

    Edit the .ini file to make those changes and save it, then run HSDC Pro and try JMODE3 with that ADC clock frequency again. Captures should work now.

    Let me know if this solves the problem or not.

    Thanks!

    Jim B