Avnet ZUBoard 1CG开发板上手—深度学习新选择

Avnet ZUBoard 1CG 开发板上手—深度学习新选择

摘要

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

原文链接:

FreakStudio的博客

往期推荐:

学嵌入式的你,还不会面向对象??!

全网最适合入门的面向对象编程教程:00 面向对象设计方法导论

全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念

全网最适合入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类

全网最适合入门的面向对象编程教程:03 类和对象的 Python 实现-为自定义类添加属性

全网最适合入门的面向对象编程教程:04 类和对象的Python实现-为自定义类添加方法

全网最适合入门的面向对象编程教程:05 类和对象的Python实现-PyCharm代码标签

全网最适合入门的面向对象编程教程:06 类和对象的Python实现-自定义类的数据封装

全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解

全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器

全网最适合入门的面向对象编程教程:09 类和对象的Python实现-类之间的关系

全网最适合入门的面向对象编程教程:10 类和对象的Python实现-类的继承和里氏替换原则

全网最适合入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法

全网最适合入门的面向对象编程教程:12 类和对象的Python实现-Python使用logging模块输出程序运行日志

全网最适合入门的面向对象编程教程:13 类和对象的Python实现-可视化阅读代码神器Sourcetrail的安装使用

全网最适合入门的面向对象编程教程:全网最适合入门的面向对象编程教程:14 类和对象的Python实现-类的静态方法和类方法

全网最适合入门的面向对象编程教程:15 类和对象的 Python 实现-__slots__魔法方法

全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则

全网最适合入门的面向对象编程教程:17 类和对象的Python实现-鸭子类型与“file-like object“

全网最适合入门的面向对象编程教程:18 类和对象的Python实现-多重继承与PyQtGraph串口数据绘制曲线图

全网最适合入门的面向对象编程教程:19 类和对象的 Python 实现-使用 PyCharm 自动生成文件注释和函数注释

全网最适合入门的面向对象编程教程:20 类和对象的Python实现-组合关系的实现与CSV文件保存

全网最适合入门的面向对象编程教程:21 类和对象的Python实现-多文件的组织:模块module和包package

全网最适合入门的面向对象编程教程:22 类和对象的Python实现-异常和语法错误

全网最适合入门的面向对象编程教程:23 类和对象的Python实现-抛出异常

全网最适合入门的面向对象编程教程:24 类和对象的Python实现-异常的捕获与处理

全网最适合入门的面向对象编程教程:25 类和对象的Python实现-Python判断输入数据类型

全网最适合入门的面向对象编程教程:26 类和对象的Python实现-上下文管理器和with语句

全网最适合入门的面向对象编程教程:27 类和对象的Python实现-Python中异常层级与自定义异常类的实现

全网最适合入门的面向对象编程教程:28 类和对象的Python实现-Python编程原则、哲学和规范大汇总

全网最适合入门的面向对象编程教程:29 类和对象的Python实现-断言与防御性编程和help函数的使用

全网最适合入门的面向对象编程教程:30 Python的内置数据类型-object根类

全网最适合入门的面向对象编程教程:31 Python的内置数据类型-对象Object和类型Type

全网最适合入门的面向对象编程教程:32 Python的内置数据类型-类Class和实例Instance

全网最适合入门的面向对象编程教程:33 Python的内置数据类型-对象Object和类型Type的关系

全网最适合入门的面向对象编程教程:34 Python的内置数据类型-Python常用复合数据类型:元组和命名元组

更多精彩内容可看:

给你的 Python 加加速:一文速通 Python 并行计算

一文搞懂 CM3 单片机调试原理

肝了半个月,嵌入式技术栈大汇总出炉

电子计算机类比赛的“武林秘籍”

一个MicroPython的开源项目集锦:awesome-micropython,包含各个方面的Micropython工具库

正文

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

image

image

其主要特性包括:

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

1.应用领域

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

image

2.开发板硬件单元

2.1 处理器

Zynq UltraScale+ MPSoC,集成了双核 A53 APU 和双核 R5 RPU 它负责处理大部分的计算任务。

image

image

2.2 内存和存储

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

image

2.3 外设接口

  • JTAG/UART (J11): 用于调试和串口通信
  • USB 2.0 Type A 端口 (J13): 可以连接外设,比如鼠标、键盘或存储设备
  • 15V USB-C 电源输入 (J15): 为板子供电
  • 以太网接口 (J11): 支持千兆以太网

image

2.4 用户按钮和开关

  • 用户按键 (SW1, SW3): 供用户自定义的按键,可以用来控制程序的行为
  • 用户滑动开关 (SW4): 4 位 MIO 用户开关,用户可以根据需要设置开关状态
  • 复位按钮 (SW6): 用于复位系统
  • 电源开关 (SW7): 控制板子的开关机

image

3.demo 演示部分

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

3.1 环境部署

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

image

格式化 SD 卡:

image

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

image

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

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

image

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

image

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

image

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

image

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

image

选择 USB 连接的串口:

image

设置波特率为 115200:

image

关掉流控:

image

使用 ifconfig 查看网络 IP 地址:

image

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

image

选中 Sprcify username,输入 root:

image

image

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

image

3.3 ASL 手势数字识别 Demo

  1. 切换到项目目录****:通过 cd asl_classification_vitis_ai 指令切换到项目目录
  2. 运行实时手势数字识别脚本****:执行 python3 asl_classify_live.py --model=./model_mobilenetv2/B{#}/asl_classifier.xmodel 指令去运行实时手势数字识别脚本

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

image

3.4 手势控制软件机器人 Demo

进行如下步骤:

image

image

image

4.使用体验

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

参考资料

image

posted @ 2024-08-13 20:30  FreakStudio  阅读(130)  评论(0编辑  收藏  举报