概述:
Ev系列的PS有高速接口DP接口,最大可以输出4K P30,PL也有DP接口,最大输出可以达到4K P60,但是需要买lisence。我们项目最大1920*1200 P60,所以选择的是PS的DP接口。
该接口最开始在黑金开发板上验证正常,然后才自己做的板。
调试中发现自己的板卡dp不能显示,但是在黑金开发板和zcu106开发板上可以显示。
调试步骤:
1、显示屏不亮
自己的显示器需要pwm控制亮度,而默认的为pwm为0,不亮,修改亮度控制的pwm值后可以正常亮。
2、检查AUX管脚
AUX_CH为低速的差分信号线好测量。
测试时,发现由4ev出来的双工单端信号转半双工差分信号时,不再输出,后断定为转换芯片(FIN1019MTC)异常,更换后正常。
绿色区域的数据是有的,经过芯片后红框数据消失,芯片型号为黄色框内。
后又确认FIN1019MTC芯片为不好买,在某宝买的拆机片。
3、使用官方的DP裸跑测试例程
因为使用的是vitis2020.1版本,bug很多,消耗不少时间。
编译demo报错:需要修改psu_dp的driver为avbuf。
在线debug失败:据说此版本确实是有问题。
终于可以运行成功,并且training成功;106和黑金的training成功并且可以输出图像,我们板卡也成功但是不能输出图像;百思不得其解。
成功打印结果如下:
同时也测试过,把2对line中的任一线断开,training是失败的。
错误打印如下:
4、检查原理图和vivado的工程
发现黑金原理图的两条line中,0对应soc的3,而1对应soc的2;对应的vivado工程也是如此,黑金开发板原理图:
Vivado工程中dp管脚勾选:
我们的板卡是0对应soc的0,1对应soc的1;重大发现!!!!
再次查看106原理图,两条line时,顺序确实是有交叉的。
5、飞线验证
在自己板卡上进行交叉两条line,即把dp_tx0P连接到soc的D23上,dp_tx0N连接到soc的D24上;把dp_tx1P连接到soc的E25上,dp_tx1N连接到soc的E26上。
测试正常。
6、测试命令
Pc端:
ffmpeg -re -i test-h264.ts -vcodec copy -f rtp rtp://192.168.1.126:5004
板卡端:
gst-launch-1.0 udpsrc port=5004 buffer-size=60000000 caps="application/x-rtp, media=video, clock-rate=90000, payload=96, encoding-name=H264" ! rtpjitterbuffer latency=7 ! rtph264depay ! h264parse ! video/x-h264, alignment=nal ! omxh264dec low-latency=1 internal-entropy-buffers=5 ! video/x-raw ! queue max-size-bytes=0 ! kmssink bus-id=fd4a0000.zynqmp-display fullscreen-overlay=1