欢迎来到我司分流电阻产品网站!
[ZYNQ Ultrascale + MPSOC FPGA教程]第18章Hello World(第1部分)
分流电阻 2024-11-23

原始声明:该原始教程是由信义电子技术(上海)有限公司(ALINX)创建的。

版权归我们公司所有。

如果需要重印,则需要授权并注明出处。

适用于板型号:AXU2CGA / AXU2CGB / AXU3EG / AXU4EV-E / AXU4EV-P / AXU5EV-E / AXU5EV-P / AXU9EG / AXU15EGvivado。

项目目录是“ ps_hello / vivado”。

从这一章开始,FPGA工程师和软件开发工程师将共同实现。

先前的实验都是在PL一侧进行的。

可以看出,与普通的FPGA开发过程没有什么不同。

ZYNQ的主要优点是FPGA和ARM的合理组合,这对开发人员提出了更高的要求。

从本章开始,我们开始使用ARM,这就是我们所说的PS。

在本章中,我们将使用简单的串行端口打印来体验VivadoVitis和PS的功能。

先前的实验是FPGA工程师应该做的所有事情。

从这一章开始,有一个分工。

FPGA工程师负责构建Vivado项目,并为软件开发人员提供良好的硬件。

软件开发人员可以在此基础上开发应用程序。

良好的分工也有利于项目的进展。

如果是想做所有事情的软件开发人员,则可能需要大量时间和精力来学习FPGA知识。

从软件思维转变为硬件思维是一个痛苦的过程。

如果纯粹是学习和时间,那是另一回事。

专业的人是做专业事情的好选择。

1.硬件介绍从原理图中我们可以看到ZYNQ芯片分为PL和PS。

PS端的IO分配是相对固定的,不能任意分配,尽管本实验仅使用它,但无需在Vivado软件中分配引脚。

PS,但还要创建一个Vivado项目来配置PS引脚。

尽管PS端的ARM是硬核,但是必须先将ARM硬核添加到项目中,然后才能在ZYNQ中使用。

前几章以代码形式介绍了项目。

本章开始介绍ZYNQ的图形方式来构建项目。

FPGA工程师的工作内容以下介绍了FPGA工程师的职责内容。

2. Vivado项目的建立2.1创建一个名为“ ps_hello”的项目,建立过程将不再重复,请参阅“ PL_s”的“ HelloWorld”。

LED实验”。

2.2点击“ CreateBlockDesign”。

创建一个块设计,这是一个图形设计。

2.3“设计名称”此处未修改,请保留默认的“ design_1”,此处可以根据需要进行修改,但名称应尽可能短,否则将在Windows问题下进行编译。

2.4单击“添加IP”,然后单击“添加IP”。

快捷方式图标2.5搜索“ zynq”,双击“ ZynqUltraScale + MPSoC”,然后单击“确定”。

在搜索结果列表中2.6在方框图中双击ZYNQ内核,配置相关参数2.7出现的第一个界面是ZYNQ硬核的体系结构图,可以很清楚地看到其结构,可以参考ug1085文档,其中对ZYNQ进行了详细介绍。

图片中的绿色部分是可配置模块,您可以单击以进入相应的编辑界面,当然,您也可以在左侧窗口中输入编辑内容。

每个窗口的功能在下面逐一介绍。

2.7.1低速配置2)(AXU2CGA开发板没有EMMC,无需检查此选项)检查SD0并配置eMMC。

选择MIO13..22,选择SlotType eMMC,DataTransferMode为8Bit,选中Reset,然后选择MIO23。

3)检查SD1,配置SD卡。

选择MIO46..51,SlotType选择SD2.0,DataTransferMode选择4Bit,检查CD,用于检测SD卡插入,选择MIO454)检查I2C1,用于EEPROM的I2C等,选择MIO32..335)检查串行端口UART1 ,选择MIO42..436)检查TTC0〜TTC32.7.2高速配置1)在高速部分中,首先配置PS端以太网,检查GEM3,选择MIO64..75,检查MDIO3,选择MIO76..772 )检查USB0,选择MIO52..63,勾选USB3.0,选择GTLane1USB重置,选择MIO313)勾选PCIe4)单击SwitchToAdvancedMode,选择PCIeConfiguration,修改以下参数,配置为ROOT模式5)返回I / OConfiguration,选择GTLane0,复位并选择MIO37;检查DisplayPort,选择MIO27..30,LaneSelection选择DualHigher到目前为止,已配置I / O部分。

2.7.3时钟配置1)在ClockConfiguration界面InputClocks窗口中配置参考时钟,其中PSS_REF_CLOCK是ARM的参考默认时钟为33.333MHz; PCIe选择RefClk0,100MHz; DisplayPort选择RefClk2,27MHz; USB0选择26MHz的RefClk1。

2)在OutputClocks窗口中,如果不是IOPLL,则将其更改为IOPLL,ke