你好,FPGA+8168,FPGA发送模式BT1120,逐行模式,8168收到后的数据地址是是不是Field 0 Y -> addr[0][0], Field 1 Y -> addr[1][0]
Field 0 U -> addr[0][1], Field 1 U -> addr[1][1] Field 0 V -> addr[0][2], Field 1 V -> addr[1][2]。
Field 0 Y大小:1920*540
Field 1 Y大小:1920*540
Field 0 U大小:1920*540
Field 1 U大小:1920*540
Field 0 V大小:1920*540
Field1 V大小:1920*540
Chris Meng:
Xin Jin,
DM8168的VIP输出一般两种格式,一YUV422I,二YUV420SP。你说格式像是YUV422P,这是不支持的。
jin xin:
回复 Chris Meng:
谢谢,FPGA如果输出148.5MHZ到8168,8168能正常工作,就是有部分数据是错误的,但是错误的数据有规律,都是0x80,0x80不是FPGA发送的数据。
如果把148.5改成74.25,8168收不到一帧数据,很奇怪
Chris Meng:
回复 jin xin:
Xin Jin,
是否有尝试过反转一下PCLK,看是否有改善?
jin xin:
回复 Chris Meng:
我现在用BT1120,是不是应该FPGA只发送一个时钟,也就是只输出给8168的VIN0_CLK0时钟,VIN0_CLK1不需要输出,但是FPGA必须要两个同时输出,8168才可以,能够接收到大部分正确数据,小部分错误,是不是8168需要单独在A8下设置寄存器,只用VIN0_CLK0,不用VIN0_CLK1
Chris Meng:
回复 jin xin:
Xin Jin,
BT1120是16根数据线,只需要一个时钟输入。
我怀疑是FPGA输出数据的时机和VIP采集的不匹配。请问FPGA是在时钟的上升沿还是下降沿发送数据?VIP的时钟的边沿极性你是如何配置的?
jin xin:
回复 Chris Meng:
fpga是上升沿发送数据,VIP的时钟的边沿极性我没有配置,这个在哪里配置,还有如果只需要一个时钟,那么VIN需要配置吗,在哪里配置
Chris Meng:
回复 jin xin:
Xin Jin,
DVR RDK默认配置VIP时钟也是上升沿有效。但是你的数据是FPGA在上升沿发的,接收端就需要下降沿采集。修改FPGA侧和DVR RDK侧其中一个就可以。
captureLink.h
static inline void CaptureLink_CreateParams_Init(CaptureLink_CreateParams *pPrm){。。。 pPrm->vipInst[i].advancedParams.pixClkEdgePol = SYSTEM_VIP_PIX_CLK_EDGE_POL_RISING;