【AMD Xilinx】Avnet高性价比MPSoC评估板-ZUBoard(1):基本资料和开发流程

本文主要是介绍【AMD Xilinx】Avnet高性价比MPSoC评估板-ZUBoard(1):基本资料和开发流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【AMD Xilinx】Avnet高性价比MPSoC评估板-ZUBoard(1):基本资料和开发流程

  • 一、概述
    • 1. 基本介绍
    • 2. PCB外设示意图
    • 3. 硬件框图
  • 二、开箱体验
    • 1. 接线
      • 1)电源:15V
      • 2)串口
      • 3)网线
      • 4)扩展板
      • 5)TF卡
      • 6)usb host
    • 2.开关机
      • 1)按SW7启动
      • 2)关机:长按SW7十秒
      • 3)复位:SW6
    • 3. 启动模式
  • 三、FPGA开发
    • 1. 测试时可以用来简单控制的外设
    • 2. 官方例子下载并编译
      • 1)下载工程脚本
      • 2)用脚本生成Vivado工程

一、概述

1. 基本介绍

ZUBoard 1CG是Avnet(安富利)开发的一款基于Zynq UltraScale+ ZU1CG双核Cortex-A53 MPSoC、具有81K FPGA系统逻辑单元、配备了1GB LPDDR4 RAM、SYZYGY连接器,以及用于Click板的mikroBus扩展接口。

目前售价159美元,适用于评估人工智能、机器学习、嵌入式视觉、嵌入式处理和机器人等应用。

以前用Zynq系列比如7020、7010开发的项目,如果需要进一步提升性能,首选是升级到基于A53的MPSoC系列,比A9的性能大幅提升。而ZU1又是MPSoC系列中最具性价比的型号之一。

官网链接
https://www.avnet.com/wps/portal/us/products/avnet-boards/avnet-board-families/zuboard-1cg/

开发资料
https://www.hackster.io/avnet/products/zuboard-1cg

https://github.com/Avnet/freertos-oob/tree/main/ZUBoard-1CG

https://github.com/Avnet/hdl/

2. PCB外设示意图

在这里插入图片描述

3. 硬件框图

在这里插入图片描述
在这里插入图片描述
IO管脚分配以及更多硬件信息请查看官网的 ZUBoard 1CG Hardware User Giude。

在这里插入图片描述

二、开箱体验

1. 接线

1)电源:15V

用type c输出的充电器给板子供电。
注意要用15V电源,一般输出是type c口的充电器都可以用于供电。
如果15V输入正常,D16 D15 D14会亮

如果输入的只是5v,只有D16会亮

以下是这3个指示灯的含义:
D16亮 5V存在
D15亮 9V存在
D14亮 15V存在

2)串口

用micro usb线连接电脑
注意:没有按开机键的时候,电脑端是检测不到串口的,这是正常的。

3)网线

如果测试网络功能

4)扩展板

官方有一个双摄像头的扩展板,可用于评估双目demo

5)TF卡

可以把启动模式改成从tf卡启动,一般如果跑Linux需要用到几百兆的根文件系统会选用tf卡。
平时调试用jtag,实际运行固化到qspi flash即可。

6)usb host

外接u盘或者其他usb外设

2.开关机

1)按SW7启动

插上电源并不会自动启动,电脑端也识别不到串口。
需要按右下角的SW7,才会开机。

2)关机:长按SW7十秒

长按SW7十秒
或者直接断电

3)复位:SW6

就在SW7的上方

3. 启动模式

在这里插入图片描述
在这里插入图片描述

三、FPGA开发

1. 测试时可以用来简单控制的外设

RGB LED 2个
拨动开关4个
红色LED 4个
压力传感器
温度传感器

在这里插入图片描述

2. 官方例子下载并编译

1)下载工程脚本

开发工具的版本选择:
因为ZU1这个器件比较新,老版本没有这个part,推荐用Vivado 2022.1及以上的版本

Vivado工程脚本从这里下载,如果你用的是其他版本,请查找对应的分支并下载
https://github.com/Avnet/hdl/tree/2022.1

另外还脚本会用到avnet的bdf,也需要下载
https://github.com/Avnet/bdf

下载完成后把这两个压缩包解压到同一个目录下

比如我解压到D:\debug\221下,解压后的目录结构如下,一定要注意不要多解压了一层目录,不然找不到bdf会出错。
在这里插入图片描述

2)用脚本生成Vivado工程

打开Vivado,找到下方的tcl console执行脚本
在这里插入图片描述

执行hdl/scripts/make_zub1cg_sbc_base.tcl脚本

具体路径根据你解压的路径修改,注意一定要进入到scripts目录再执行source。目录分割的斜杆是/,不是</font>

如果是因为路径问题执行报错,第二次执行的时候一定要完全关闭Vivado再重新打开,不然有可能环境变量已经被上次的错误操作修改了,导致反复执行都是报错。

如果是Synthesis阶段报错,这个是正常的,重新点一次Generate Bitstream继续执行

cd d:/debug/221/hdl-2022.1/scripts
source make_zub1cg_sbc_base.tcl

默认还提供了一个双摄像头的工程make_zub1cg_sbc_dualcam.tcl,需要另外外接双摄像头模块。操作方法跟上面是相同的,就不再重复了。

工程创建完成后,正常生成bit,导出xsa即可。

这篇关于【AMD Xilinx】Avnet高性价比MPSoC评估板-ZUBoard(1):基本资料和开发流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/703366

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件