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.

LMH0318: Problem with CDR and OUT1

Part Number: LMH0318

Hello,

There was a problem during development with LMH0318. I connect the camera with a 20cm cable to the IN0 input. From the output of OUT0 I read the signal.

Everything is working correctly, reading register 0x02 shows (11: CDR locked). Boost working.

When I try to change the output to OUT1, it stops working. Reading register 0x02 shows (00: CDR not locked).

I change only one line and everything stops working.

Program example:

//Iitialization

        writeRegister(Channel_Control, 0x04, 0x07); //Select Channel Registers
	writeRegister(Full_Temperature_Range, 0x25, 0xFF); //Enable Full Temperature Range
	writeRegister(CDR_State_Machine_Control1, 0x00, 0x80); //Initialize CDR State Machine Control
	writeRegister(EQ_Control, 0x02, 0x80);
	writeRegister(CDR_State_Machine_Control2, 0x00, 0xFF);
	writeRegister(EQ_Boost, 0x00, 0xFF);
	writeRegister(CDR_Reset, 0x0C, 0x0C); //Reset CDR
	writeRegister(CDR_Reset, 0x00, 0x0C); //Release CDR reset

//Select IN0-OUT1
	writeRegister(Channel_Control, 0x04, 0x07); //Select Channel Registers
	writeRegister(CTLE_Setting, 0x00, 0xFF); //Select IN0
	writeRegister(CDR_Reset, 0x0C, 0x0C); //Reset CDR
	writeRegister(CDR_Reset, 0x00, 0xC); //Release CDR reset


	writeRegister(Channel_Control, 0x04, 0x07); //Select Channel Registers
	writeRegister(Output_Mux_OV, 0x20, 0x20);		//Enable over-ride
       //writeRegister(Out0_Mux_Select, 0x80, 0x0C); //OUT0  Data  (I changed this line)
	writeRegister(Out1_Mux_Select, 0x20, 0xE0);		//OUT1  Data retimed
	writeRegister(Out0_Mux_Select, 0x08, 0x0C);		// Locked Reclocked Data / Unlocked Raw

The main goal was to obtain an output amplitude of 900mV. This could not be achieved. I believe that problems with CDR at the output of OUT1 are the main reason.
What could be the reason for this behavior of the chip LMH0318?


Regards,
Sergey

  • Hi Sergey,

    I think i may know what could be causing this issue.

    Instead of the followings:

    writeRegister(Channel_Control, 0x04, 0x07); //Select Channel Registers
    	writeRegister(Output_Mux_OV, 0x20, 0x20);		//Enable over-ride
           //writeRegister(Out0_Mux_Select, 0x80, 0x0C); //OUT0  Data  (I changed this line)
    	writeRegister(Out1_Mux_Select, 0x20, 0xE0);		//OUT1  Data retimed
    	writeRegister(Out0_Mux_Select, 0x08, 0x0C);		// Locked Reclocked Data / Unlocked Raw

    Please issue settings below:
    RAW FF 04 07
    RAW 09 00 20
    RAW 1C 08 0C

    Regarfds,, Nasser
  • Hi Nasser, 

    I did as you suggested, but it did not help.

    writeRegister(0xFF, 0x04, 0x07); //Select Channel Registers
    writeRegister(0x09, 0x00, 0x20);		//Enable over-ride
    writeRegister(0x1C, 0x08, 0x0C); //OUT1: Locked Reclocked Data
    writeRegister(0x09, 0x20, 0x20); //Enable over-ride
    writeRegister(0x1E, 0x20, 0xE0); //OUT1 Retimed Data

    After the last command, the “LOСK” (pin 16) indicator goes off. Reading register 0x02 shows (00: CDR not locked).

    What could be the problem?

    Regards, Sergey

  • Hi Sergey,

    When reg 0x09[5] = 1'b, reg 0x1E has control over OUT0 only. Please use the two settings below only:

    writeRegister(0xFF, 0x04, 0x07); //Select Channel Registers
    writeRegister(0x09, 0x00, 0x20);        //Enable over-ride
    writeRegister(0x1C, 0x08, 0x0C); //OUT1: Locked Reclocked Data
    Regards,, Nasser
  • Hi Nasser, 

    Thanks, I was able to enable СDR. Part of the problem is resolved.

    Now I am trying to increase the amplitude to 1035mV with the command (RAW 84 60 70).

    I sent a signal from the output of the OUT1 LMH0318(1) to the input of the LMH0318(2) .
    I read the value of register 0x28 (VEO) in LMH0318(2). I expect that when changing the values of register 0x84, the value of VEO will change. This is not happening.

    Can I estimate the amplitude change from the eye diagram? 

    Regards, Sergey

  • Hi Sergey,

    Glad you were able to solve earlier problem.

    VEO reading is linear up to certain level - about 400mV peak to peak - and then it saturates. 

    Regards,, Nasser