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