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.

[参考译文] LMH1219:HEO / Veo读数不在范围内(&quot);

Guru**** 674950 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1101257/lmh1219-heo-veo-readings-is-not-in-range

部件号: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

我做错了什么?

此处帮助您获取更多信息(如果需要)。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Michele:

    请将刻度保持在3.125mV - reg 0x11[7:5]=3'b000。 设备已设置为此粒度。 那么您的值应在64位小数内。

    此致,Nasser