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.

LMX2491: LMX2491/2 External Trigger Issues

Part Number: LMX2491

I am having trouble when I try to externally trigger LMX2491 ramps

A while ago we spun up an LMX2491 board and used it successfully. This board was configured to chirp continuously with a rising falling cycle of either 20/25 or 20/40 us. We output a flag on TRIG1 that external circuits used for synchronization.

We now want to use the same board but externally trigger a single rise fall cycle at a time. We want to use the rising edge of TRIG1 passed through RAMP_TRIGA. This trigger should be used to give the "next ramp" signal at the end of ramp 1. Thus when a trigger hits we expect ramp0 -> ramp1 -> wait for next rising edge.

We changed registers as we thought we should: R36 and R58 for pin/trig settings, R92 and R99 for ramp next and next trig settings. The old and new registers are in the following text file:

When we test this we see the following behavior:

-The "triggering" action of the TRIG1 pin seems to work ie no signal without a rising edge

-The PLL seems to lose lock or something because it is not correctly chirping.

The attached pictures show the baseband output of our old functional 20/25 us configuration and the new non-functional external triggered version. The test set-up is a simple RF splitter, delay in one arm created by splitter, and then mix to baseband. A single rise/fall cycle of these should be identical but the new one is clearly broken.

We have tried playing with the ramp reset function but have not seen improvement. The trigger pin configuration seems correct and the len/inc pll config is unchanged from the old working version. What are we missing?

Old Working

image.png

New Broken

image.png

  • Forgot to attach register file. Attached here instead.

    lmx20_25_TO is the registers for "trigger out" which works and outputs a trigger. lmx20_25_TI is the registers for "trigger in" which should require a trigger input and does not work.
    
    const unsigned int lmx20_25_TO[132] = {0x008D00, 0x008C4E, 0x008B20, 0x008A00, 0x008900, 0x008800, 0x008700, 0x008600, 0x00854E, 0x008420, 0x008300, 0x008200, 0x008100, 0x008000, 0x007F00, 0x007E4E, 0x007D20, 0x007C00, 0x007B00, 0x007A00, 0x007900, 0x007800, 0x00774E, 0x007620, 0x007500, 0x007400, 0x007300, 0x007200, 0x007100, 0x00700B, 0x006FB8, 0x006E3F, 0x006DFF, 0x006CA8, 0x006B9D, 0x006A61, 0x00692E, 0x0068E0, 0x006700, 0x006600, 0x006515, 0x0064D9, 0x006300, 0x006213, 0x006188, 0x00603F, 0x005FFF, 0x005ECB, 0x005D92, 0x005C25, 0x005B0F, 0x005AA0, 0x005900, 0x005800, 0x005741, 0x005689, 0x005500, 0x005400, 0x005300, 0x005206, 0x005100, 0x005000, 0x004F00, 0x004EFE, 0x004D00, 0x004C00, 0x004B00, 0x004A00, 0x004900, 0x004800, 0x004700, 0x004608, 0x004500, 0x004406, 0x004300, 0x004200, 0x004100, 0x004000, 0x003F02, 0x003E80, 0x003D00, 0x003C00, 0x003B00, 0x003A21, 0x003900, 0x002D00, 0x002C00, 0x002B00, 0x002A00, 0x002900, 0x002800, 0x002752, 0x002618, 0x002517, 0x0024F2, 0x002341, 0x002204, 0x002120, 0x002000, 0x001F32, 0x001E0A, 0x001D00, 0x001C1F, 0x001B08, 0x001A00, 0x001901, 0x001800, 0x001703, 0x0016E8, 0x001580, 0x001400, 0x001300, 0x00122C, 0x001100, 0x001014, 0x000F00, 0x000E00, 0x000D00, 0x000C00, 0x000B00, 0x000A00, 0x000900, 0x000800, 0x000700, 0x000600, 0x000500, 0x000400, 0x000300, 0x000201, 0x000100, 0x000018};
    const unsigned int lmx20_25_TI[132] = {0x008D00, 0x008C4E, 0x008B20, 0x008A00, 0x008900, 0x008800, 0x008700, 0x008600, 0x00854E, 0x008420, 0x008300, 0x008200, 0x008100, 0x008000, 0x007F00, 0x007E4E, 0x007D20, 0x007C00, 0x007B00, 0x007A00, 0x007900, 0x007800, 0x00774E, 0x007620, 0x007500, 0x007400, 0x007300, 0x007200, 0x007100, 0x00700B, 0x006FB8, 0x006E3F, 0x006DFF, 0x006CA8, 0x006B9D, 0x006A61, 0x00692E, 0x0068E0, 0x006700, 0x006600, 0x006515, 0x0064D9, 0x006308, 0x006213, 0x006188, 0x00603F, 0x005FFF, 0x005ECB, 0x005D92, 0x005C25, 0x005B0F, 0x005AA0, 0x005900, 0x005800, 0x005741, 0x005689, 0x005500, 0x005400, 0x005300, 0x005206, 0x005100, 0x005000, 0x004F00, 0x004EFE, 0x004D00, 0x004C00, 0x004B00, 0x004A00, 0x004900, 0x004800, 0x004700, 0x004608, 0x004500, 0x004406, 0x004300, 0x004200, 0x004100, 0x004000, 0x003F02, 0x003E80, 0x003D00, 0x003C00, 0x003B00, 0x003A11, 0x003900, 0x002D00, 0x002C00, 0x002B00, 0x002A00, 0x002900, 0x002800, 0x002752, 0x002618, 0x002517, 0x00240F, 0x002341, 0x002204, 0x002120, 0x002000, 0x001F32, 0x001E0A, 0x001D00, 0x001C1F, 0x001B08, 0x001A00, 0x001901, 0x001800, 0x001703, 0x0016E8, 0x001580, 0x001400, 0x001300, 0x00122C, 0x001100, 0x001014, 0x000F00, 0x000E00, 0x000D00, 0x000C00, 0x000B00, 0x000A00, 0x000900, 0x000800, 0x000700, 0x000600, 0x000500, 0x000400, 0x000300, 0x000201, 0x000100, 0x000018}; 
    

  • Hi There,

    Can you measure the Vtune voltage and Trigger 1 signal, this plot should give us a better picture what is going wrong. 

    BTW, what is the reference clock and VCO frequency in your configuration?

  • Hello Noel,

    Thank you for the response. I have attached the images with Vtune added to both the internal and external trigger states.

    I believe it is a 100 MHz reference and VCO ranging from 4.2-4.9 GHz. I can re-do the math on the registers if it makes a difference. I figured the len/inc values would be the same if all we need to change is the triggering.

  • Hi There,

    The TO configuration is fine except that RAMP0_RST is not necessary as RAMP1 goes back to the start frequency of RAMP0.

    For the TI configuration, if you want to ramp up, then ramp down and then wait for TRIG1 input to kick start the next cycle. I suggest add one more ramp configuration.