Part Number: LMH1219
Trying to read HEO / VEO to establish link quality. The input signal is an SDI signal (with different rates... the problems exists from SD to 12G).
I have done as per programming guide
i expect, for HEO a range between 0 and 64 (after conversion from HEX).
At the moment, the read back value on HEO are much higher (well above 64).
This is what i am doing :
EOMdata_t eomData = {.HEO = 0, .VEO = 0};
uint8_t HEO, VEO;
lmhRAW(0xFF, 0x04, 0x07); // Select CTLE/CDR Register Page
lmhRAW(0x3E, 0x00, 0x80); // Disable Automatic HEO/VEO
// lmhRAW(0x11, 0x00, 0xE0); // Enable EOM and set VEO granularity to 3.125 mV
// lmhRAW(0x11, 0x80, 0xE0); // Enable EOM and set VEO granularity to 9.375mV
lmhRAW(0x11, 0xC0, 0xE0); // Enable EOM and set VEO granularity to 12.5mV
lmhRAW(0x23, 0x80, 0x80); // Acquire HEO and VEO when Reg 0x24[1] = 1
lmhRAW(0x24, 0x02, 0x02); // Get HEO and VEO measurement (self-clearing)
while (((lmhRAR(0x24).data & 0x02) >> 1))
VEO = lmhRAR(0x27).data;
HEO = lmhRAR(0x28).data;
lmhRAW(0x3E, 0x80, 0x80); //Enable Automatic HEO/VEO
lmhRAW(0x23, 0x00, 0x80); //Disable HEO and VEO override on Reg 0x24[1]
lmhRAW(0x11, 0xE0, 0xE0); //Restore Reg 0x11[7:5] to default value
eomData.HEO = HEO / 64.0f; // 0.00 - 1.00 percent
eomData.VEO = VEO * 12.5f; // mV
I am doing somethign wrong ?
Here to help getting you more info if needed.
Thanks