当前位置:首页 > 物联网 > Freak嵌入式

摘要

本文主要介绍了Avnet ZUBoard 1CG开发板的特性、架构、硬件单元等概念,并对如何使用以太网接口和串口连接开发板进行基本介绍,同时辅以两个应用例程演示其功能。

正文

Avnet ZUBoard 1CG是一种基于 RISC-V 架构的 FPGA 开发板:

其主要特性包括:

  1. 基于 AMD Zynq UltraScale+ 架构:

    1. ZUBoard 1CG 为工程师提供了灵活性和多功能性,可以对 AMD Zynq UltraScale+ 架构进行实验和学习。

  2. 强大的处理性能:

    1. 该开发板搭载了 81K 可编程逻辑单元,以及双核 Arm Cortex-A53 和双核 Arm Cortex-R5F 处理器。

    2. 配有缓存和片上内存,为应用程序提供了强大的计算性能。

  3. 丰富的存储和接口:

    1. 1GB LPDDR4 内存和 256Mb QSPI Flash 或 microSD 卡插槽提供了灵活的存储选择。

    2. 10/100/1000 以太网和 USB 2.0 主机接口,以及 JTAG/UART 接口,为开发者提供了多样的连接选项。

  4. 完善的电源和时钟管理:

    1. 可通过 USB-C 接口供电,并配有 Microchip 控制器和 TDK 电源模块。

    2. Microchip 振荡器和 ECS 晶振为核心器件提供稳定的时钟源。

  5. 丰富的外设和用户交互:

    1. 滑动开关、按钮、LED 灯等允许用户与开发板进行交互。

    2. 板载温度和压力传感器可提供环境数据。

  6. 高度可扩展性:

    1. 通过 Samtec 连接器和 Click Board 接口,可访问 ZU+ PS GTR 收发器、PS MIO 和 PL I/O 引脚,支持高速扩展。

  7. 开发环境支持:

    1. 有 Vivado 支持的板级定义文件和 PetaLinux BSP,可快速上手开发。

    2. 适用于裸机、Linux 和 Vitis AI 加速器等多种应用场景。

总的来说,ZUBoard 是一款基于开放 RISC-V 架构的开发板,具有灵活性、可扩展性和丰富的外围设备支持,广泛应用于嵌入式和物联网领域。它为开发者提供了一个强大的硬件平台和丰富的开发支持。

1.应用领域

在市场中,ZUBoard 1CG定位于高性能嵌入式应用领域,特别适合于机器学习、图像处理、边缘计算和物联网等需要强大处理能力和灵活性的应用场景。

2.开发板硬件单元

2.1 处理器

中心的大芯片是板子的“心脏”,即AMD Zynq UltraScale+ MPSoC,集成了双核A53 APU和双核R5 RPU它负责处理大部分的计算任务。

2.2 内存和存储

旁边的芯片包括DDR4内存和QSPI闪存,用于存储数据和操作系统。

  • 板上有1GB LPDDR4内存,带片上ECC,确保数据的完整性和安全性。

  • 提供256Mb QSPI闪存,可以从中启动,也支持microSD卡启动,灵活性很高。

2.3 外设接口

  • JTAG/UART (J11): 用于调试和串口通信

  • USB 2.0 Type A端口 (J13): 可以连接外设,比如鼠标、键盘或存储设备

  • 15V USB-C电源输入 (J15): 为板子供电

  • 以太网接口 (J11): 支持千兆以太网

2.4 用户按钮和开关

  • 用户按键 (SW1, SW3): 供用户自定义的按键,可以用来控制程序的行为

  • 用户滑动开关 (SW4): 4位MIO用户开关,用户可以根据需要设置开关状态

  • 复位按钮 (SW6): 用于复位系统

  • 电源开关 (SW7): 控制板子的开关机

3.demo演示部分

接下来教大家2分钟快速上手ZUBoard,在这里为大家准备了2个demo,第一个是关于图像处理的手势数字识别,第二个是手势控制软件机器人(俩个示例均来源于hackster)在运行demo之前,我们先完成环境的部署和通过以太网连接到开发板。

3.1 环境部署

首先,将SD卡用读卡器连接到电脑前:

格式化SD卡:

写入镜像文件(镜像文件可在参考资料部分的百度网盘链接中进行下载):

3.2 通过以太网连接到开发板

接线,连接到电脑,主要电源输入为15V:

上电之后,板载LED灯会亮起:

按下SW7开机按键,白灯亮开始开机:

蓝灯亮起,说明开机成功:

下载MobaXterm软件(下载网址在文中最后可获取):

选择USB连接的串口:

设置波特率为115200:

关掉流控:

使用ifconfig查看网络IP地址:

配置SSH服务,自动进入内部系统,登录后,我们将进入系统的内部,可以开始进行编程和配置工作。将网络IP地址复制到远程主机的框中:

选中Sprcify username,输入root:

接下来会自动弹出下面这个页面,现在我们就成功通过以太网连接到开发板了:

3.3 ASL手势数字识别Demo

  1. 切换到项目目录通过cd asl_classification_vitis_ai指令切换到项目目录

  2. 运行实时手势数字识别脚本执行python3 asl_classify_live.py --model=./model_mobilenetv2/B{#}/asl_classifier.xmodel指令去运行实时手势数字识别脚本

接下来,我们就可以实现手势数字的识别啦!

3.4 手势控制软件机器人Demo

进行如下步骤:

  1. 确认应用程序激活状态:执行命令xmutil listapps,确认avnet-{platform}-benchmark应用程序是否处于激活状态。这里的{platform}应根据您的硬件平台(ZUBoard或Ultra96-V2)进行替换

  2. 查询DPU架构:使用命令xdputil query | grep DPU来查询在可编程逻辑(PL)中加载的DPU架构。记录下架构信息,对于Ultra96-V2平台应该是B2304,对于ZUBoard平台应该是B512

  3. 创建工作空间目录mkdir -p webinar_ws/src

  4. 切换到工作空间目录cd webinar_ws

  5. 设置ROS环境:执行命令source /usr/bin/ros_setup.sh 来设置ROS环境变量

  6. 编译ROS工作空间:使用命令colcon build来编译ROS2工作空间中的软件包。

  7. 设置本地环境:执行命令source ./install/local_setup.sh来设置编译后软件包的环境。

  8. 列出可执行文件:使用命令ros2 pkg executables | grep py_vision 来列出py_vision软件包中的可执行文件。

  9. 启动ROS2演示:执行命令ros2 launch py_vision webinar_demo_launch.py来启动py_vision软件包中的演示。这个演示可能是用于手语识别控制机器人的主程序。

可以看到,启动了相关演示:

4.使用体验

ZUBoard 1CG的设计使得它成为探索裸机程序、Linux或Vitis AI加速器的理想平台。其强大的处理能力和丰富的接口资源,使得开发者能够轻松实现复杂的嵌入式应用。开发板上集成的温度和压力传感器,为系统增加了环境数据采集的能力,从而扩展了其应用范围。此外,通过丰富的扩展接口,ZUBoard 1CG可以方便地与各种外设进行连接,进一步提高了其灵活性和可扩展性。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭