跳转到主要内容

如何使用ZCU102上的DP显示图像

<font color="#FF8000">作者:AMD Xilinx实习生Shaoyi Chen及其同学Leslie Xu</font>

本教程将使用ZCU102开发板运行xdpdma例程,程序可以在显示器上显示默认画面。并总结了使用该例程时经常遇到的问题。

1、首先新建vivado工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262930-1.p…; alt=""></center>

2、选择ZCU102开发板。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262931-2.p…; alt=""></center>

3、使用板子预测文件。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262932-3.p…; alt=""></center>

4、连接aclk和pl_clk时钟。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262933-4.p…; alt=""></center>

5、双击zynq进行配置,在I/O Configuration一栏取消勾选PCIe,并选择Dual Lower。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262934-5.p…; alt=""></center>

6、首先进行Generate output product ->Create HDL Wrapper,然后进行综合生成比特流。

7、导出硬件工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262935-6.p…; alt=""></center>

8、导出时包含比特流。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262936-7.p…; alt=""></center>

9、启动vitis开发工具。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262937-8.p…; alt=""></center>

10、新建Applicantion工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262938-9.p…; alt=""></center>

11、在这个位置选择刚刚导出的xsa。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262939-10…; alt=""></center>

12、随意选择一个工程,这里选择Hello World。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262940-11…; alt=""></center>

13、修改BSP。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262941-12…; alt=""></center>

14、选择drivers,将psu_dp的驱动改为dppsu。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262942-13…; alt=""></center>

15、首先对平台进行编译。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262943-14…; alt=""></center>

16、找到Xilinx提供的官方例程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262944-15…; alt=""></center>

17、导入xdpdma工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262945-16…; alt=""></center>

18、编译该工程。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262946-17…; alt=""></center>

19、确保ZCU102的SW6设置为JTAG模式(on on on on)。
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262947-18…; alt=""></center>

20、运行程序:
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262948-19…; alt=""></center>

实验现象:
这时候串口应该输出以下内容:
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262949-20…; alt=""></center>

显示器上应该显示为
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262950-21…; alt=""></center>

总结常见问题:
显示wake-up错误。
若使用了DP转HDMI接口的转接器,请更换带有DisplayPort的显示器后重试。
https://support.xilinx.com/s/article/67462?language=en_US
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262951-22…; alt=""></center>

2. 显示Training failed。
请尝试更换显示器, 回答记录AR68671里记录了经过测试的显示器列表https://support.xilinx.com/s/article/68671?language=en_US
<center><img src="http://xilinx.eetrend.com/files/2022-08/wen_zhang_/100562416-262952-23…; alt=""></center>