请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:LMH1219 尝试读取HEO / Veo以确定链路质量。 输入信号是SDI信号(速率不同...从SD到12G存在问题)。
我已经按照编程指南完成了
我预计,HEO的范围介于0和64之间(从十六进制转换后)。
目前,HEO的回读值要高得多(远高于64)。
这就是我正在做的事:
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
我做错了什么?
此处帮助您获取更多信息(如果需要)。
谢谢