当前位置: 首页 > news >正文

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

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

摘要

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

原文链接:

FreakStudio的博客

视频教程

正文

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 可以方便地与各种外设进行连接,进一步提高了其灵活性和可扩展性。

参考资料

  • 美国手语识别(ASL):https://www.hackster.io/AlbertaBeef/asl-classification-with-vitis-ai-025765#toc-executing-the-demo-with-remote-display–mobaxterm-5
  • 手势控制软件机器人:https://www.hackster.io/AlbertaBeef/controlling-robots-with-zuboard-b6d13b
  • MobaXterm 软件下载网址:https://mobaxterm.mobatek.net/download-home-edition.html
  • 需要下载软件及 img 文件资料链接:[https://mp.weixin.qq.com/s/2-Z6WqekVOuDbEdiE65Wfw)

相关文章:

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

Avnet ZUBoard 1CG 开发板上手—深度学习新选择 摘要 本文主要介绍了 Avnet ZUBoard 1CG 开发板的特性、架构、硬件单元等概念,并对如何使用以太网接口和串口连接开发板进行基本介绍,同时辅以两个应用例程演示其功能。 原文链接: FreakSt…...

C/C++复习 day1

C/C复习 day1 文章目录 C/C复习 day1前言一、C语言1.memcpy函数2.memmove函数3.strstr函数4.宏定义的函数5.大小端的介绍以及判断 二、C入门基础1.C是如何支持函数重载的?2.建议用const enum inline去替代宏 三、C类和对象1.类大小的计算2.移动构造和移动赋值1.右值…...

再见Figma!!新的设计,代码协作神器!【送源码】

软件介绍 Penpot 是一款专门用来帮助设计师和开发者更好地合作的软件。它可以让设计师轻松地做出漂亮的设计稿,还能让这些设计稿变成真正的网站或者应用的一部分。这样,设计师和开发者之间就不会因为沟通不畅而产生麻烦了。 Penpot 专为设计师与开发者之…...

快速拷贝复制工具软件@拷贝工具@多线程拷贝@robocopy

文章目录 refs常见复制工具高速拷贝工具特性对比 Robocopy👺Robocopy工具基本用法语法示例 常用选项常见选项列表示例 高级用法多线程复制日志记录 用例案例直接递归复制大量文件的文件夹多线程复制监视被打开文件文件数 复制时排除某个目录排除交接点跳过无法复制的…...

JavaScript 逆向爬取实战

准备介绍: 当我们学习完整个 JS 逆向技巧后,这里是一次完整的分析爬取实战 案例介绍 本节案例网站不仅在 API 参数有加密, 而且前端 JS 也带有压缩混淆,其前端压缩打包工具使用 webpack , 混淆工具使用 javascript-obfuscator 。…...

Vue 项目中导入文件时如何默认找寻该文件夹下的 index.vue 文件

文章目录 需求分析 需求 如下图,在Vue 项目中导入 frequencyChange 文件夹时如何默认找寻该文件夹下的 index.vue 文件 分析 确保项目结构和命名约定 首先,确保你的 Vue 单文件组件按照约定命名,例如: components/Example/inde…...

Idea2023.3.3 —— SourceTree与gitee关联

SourceTree SourceTree链接: https://pan.baidu.com/s/1oqPxhpHeNOOiuRRQydes6g?pwdngru 提取码: ngru 点击Generate 分别保存私钥和公钥 gitee官网注册 这是gitee的公钥,与上面SourceTree的公钥私钥不一样 gitee生成公钥,确保本地安装好git git链接: h…...

一文HDMI (High-Definition Multimedia Interface)

HDMI(High-Definition Multimedia Interface,高清多媒体接口)是一种紧凑的音视频接口,它能够将未压缩的视频数据以及压缩或未压缩的数字音频数据,从符合HDMI标准的源设备无缝传输到兼容的计算机显示器、视频投影仪、数…...

【HBZ分享】高并发下如何设计缓存来提升系统性能?

普通模式 普通模式即前段调用后端接口,然后后端先查缓存, 查不到的情况下再查数据库,然后把数据库中的内容放到缓存中。瓶颈:瓶颈在于tomcat的性能,一般并发可以,面临海量并发冲击,tomcat就显得…...

【AI 绘画】 文生图图生图(基于diffusers)

AI 绘画- 文生图&图生图(基于diffusers) 1. 效果展示 本次测试主要结果展示如下: SDXL文生图 可爱Lora 2. 基本原理 模型基本原理介绍如下 stable diffusion首先训练一个自编码器,学习将图像数据压缩为低维表示。通过使…...

已解决HarmonyOS模拟器卡顿问题

以下是一些可以尝试用来解决 HarmonyOS 模拟器卡顿问题的方法: 一、检查系统资源占用 关闭不必要的后台程序 在电脑上,通过任务管理器(Windows 系统中按 Ctrl Shift Esc,Mac 系统通过活动监视器)查看并关闭占用大量 …...

C++ | 深入理解C++中的特殊类设计和单例模式(懒汉模式、饿汉模式)

目录 特殊类设计和单例模式 1、不可拷贝类 2、只能在堆上创建对象的类 3、只能在栈上创建对象的类 4、不可继承的类 5、单例模式(懒汉模式、饿汉模式) 特殊类设计和单例模式 在C编程中,类的设计往往需要满足特定的需求和约束。特殊类设计模式提供了一种方法来…...

Java设计模式之中介者模式

Java设计模式之中介者模式 在软件开发中,设计模式是解决常见问题的最佳实践。通过运用设计模式,我们可以提高代码的可维护性、可扩展性以及可读性。今天,我们将探讨一种非常重要的行为型设计模式——中介者模式(Mediator Pattern…...

实现父组件调用子组件方法时报错:[Vue warn]: Invalid vnode type when creating vnode: null.

使用uniapp实现父组件调用子组件方法时报错&#xff1a;[Vue warn]: Invalid vnode type when creating vnode: null. 实现代码如下&#xff1a; 子组件&#xff1a; <template><view><view class"toolsHeader"><view class"toolsTitl…...

Java面试八股之什么是消息队列

什么是消息队列 消息队列&#xff08;Message Queue&#xff09;是一种应用程序间通信&#xff08;IPC&#xff09;的形式&#xff0c;它允许进程将消息发送到另一个消息队列&#xff0c;接收端则可以在任何时刻从队列中取出这些消息进行处理。消息队列提供了一种异步处理、解…...

【kubernetes】k8s配置资源管理

一、ConfigMap资源配置 ConfigMap保存的是不需要加密配置的信息 ConfigMap 功能在 Kubernetes1.2 版本中引入&#xff0c;许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制&#xff0c;ConfigMap 可以被…...

高分六号卫星助力农业监测_卫星介绍_论文分享_数据获取

卫星遥感已经成为农业发展的重要支持工具。《“数据要素X”三年行动计划(2024-2026年)》指出,在现代农业交通运输、应急管理等领域鼓励探索利用遥感数据。为什么高分六号会经常应用于农业检测呢&#xff1f;本文将介绍高分六号卫星的农业检测特性、在农业应用中的优势、具体农业…...

【Linux网络】TCP协议

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 引言1、TCP协议的特点2、确认应答机制3、超时重传机制4、TCP报头结构5、三次握手建立连接6、四次挥手断开连接总结 引言 TCP协议是传输层中非常重要的协议。本篇博客我们将从TCP头部信息、TCP状态转…...

Linux 基本指令讲解 上

linux 基本指令 clear 清屏 Alt Enter 全屏/退出全屏 pwd 显示当前用户所处路径 cd 改变目录 cd /root/mikecd … 返回上级目录cd - 返回最近所处的路径cd ~ 直接返回当前用户自己的家目 roor 中&#xff1a;/root普通用户中&#xff1a;/home/mike mkdir 创建一个文件夹(d) …...

深入了解指针(6)

文章目录 1.函数指针数组2.转移表3.回调函数 1.函数指针数组 存放函数指针的数组 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int add(int x, int y) {return x y; } int sub(int x, int y) {return x - y; }int main() {int (*p1)(int x, int y) add;int (…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...