WIZnet W5500-EVB-Pico树莓派入门教程(一)

概述

        W5500-EVB-Pico是基于树莓派RP2040和完全硬连线TCP/IP控制器W5500的微控制器开发板-基本上与树莓派Pico板相同,但通过W5500芯片增加了以太网功能。

板载资源

        RP2040是Raspberry Pi的首款微控制器。它将我们的高性能、低成本和易用性的标志性价值观带入微控制器领域。 凭借大容量片上存储器、对称双核处理器复合体、确定性总线结构和丰富的外设集,以及我们独特的可编程 I/O (PIO) 子系统,它为专业用户提供了无与伦比的功能和灵活性。

  • RP2040规格参数
    • 双核Arm Cortex-M0 + @133MHz
    • 264KB 高速SRAM和2MB板载内存
    • 通过专用QSPI总线最高支持16MB的片外闪存
    • DMA控制器
    • 30个GPIO引脚,其中4个可用作模拟输入(12位精度)
    • 2路UART、2个SPI控制器和2个I2C控制器、16路PWM通道、1个定时器、1个RTC
    • 8个可编程I/O(PIO)状态机

W5500是一款高性价比的以太网芯片,其全球独一无二的全硬件TCPIP协议栈专利技术,解决了嵌入式以太网的接入问题,简单易用,安全稳定,是物联网设备的首选解决方案。

  • W5500芯片规格参数
    • 全硬件TCPIP协议栈
      • 支持TCP,UDP,ICMP,IPv4,ARP,IGMP,PPPoE协议
      • 硬件协议栈不受网络攻击,安全稳定
    • 8个独立的硬件Socket,各路通信互不影响
    • 32KB片上缓存供TCP/IP包处理
    • 集成802.3以太网MAC
    • 集成10BaseT / 100Base-T以太网PHY
    • 主机接口:SPI高速串行外设接口(最高80Mhz )
    • 低功耗,工作温度40℃左右
    • 支持嵌入式操作系统:Linux & RTOS
    • 支持掉电模式 & UDP网络唤醒
    • 工作电压3.3V,I/O 5V耐压
    • 支持自动协商(全/半双工,10M/100M)
  • Micro-USB B接口,用于供电和下载程序
  • 3针ARM串行线调试(SWD)端口
  • 内置RJ45接口
  • 内置LDO

硬件规格

         如上图所示,W5500-EVB-Pico引脚直接连接到RP2040的GPIO。它具有与树莓派Pico板相同的引脚。但是,GPIO16、GPIO17、GPIO18、GPIO19、GPIO20、GPIO21连接在板内的W5500上。这些引脚使SPI通信与W5500使用以太网功能。如果您正在使用以太网功能,这些引脚不能用于任何其他目的。

W5500-EVB-Pico内部使用的RP2040 GPIO如下表所示:

I/O

引脚名

描述

I

GPIO16

连接W5500的MISO接口

O

GPIO17

连接W5500的CS接口

O

GPIO18

连接W5500的SCLK接口

O

GPIO19

连接W5500的MOSI接口

O

GPIO20

连接W5500的RSTn接口

I

GPIO21

连接W5500的INTn接口

I

GPIO24

VBUS检测接口

O

GPIO25

用户LED口

I

GPIO29

用于ADC模式检测VSYS/3

        除了GPIO和接地引脚外,还有7个其他引脚接口:

引脚号

引脚名

描述

PIN40

VBUS

Micro-USB输入电压,连接到Micro-USB接口引脚1。理论上支持5V。

PIN39

VSYS

主系统输入电压,可在4.3V到5.5V的允许范围内变化,由板载LDO产生3.3V。

PIN37

3VE_EN

连接到板载LDO使能引脚。要禁用3.3V(也使RP2040和W5500断电),将此引脚短至低。

PIN36

3V3

主3.3V电源给RP2040和W5500,由板载LDO产生。

PIN35

ADC_VREF

ADC电源(和参考)电压,并在W5500-EVB-Pico上通过滤波3.3V电源产生。

PIN33

AGND

GPIO26-29接地参考。

PIN30

RUN

RP2040使能引脚,复位RP2040,将该引脚短至低。

        工作条件:

属性

参数

工作温度

-20℃~85℃

Micro-USB输入电压

DC 5V(+/- 10%)

输入电压

DC 4.3V~5.5V

开发环境配置

        开发环境:Windows10/11,Visual Studio Code

        硬件准备:W5500-EVB-Pico开发板,网线,Micro USB数据线

步骤1:下载编译工具

        首先下载树莓派官方的开发环境配置工具:

GitHub - raspberrypi/pico-setup-windowshttps://github.com/raspberrypi/pico-setup-windows

        该工具集成了以下几个软件:
  • Arm GNU Toolchain
  • CMake
  • Ninja
  • Python3.9
  • Git for Windows
  • Visual Studio Code
  • OpenOCD

        进去之后选择:Download the lastest release下载最新版本即可

 步骤2:安装程序

        下载完成之后,双击.exe文件进行安装,选择好安装路径点击install,安装完成后勾选下载示例到文件夹

 第一个程序

USB虚拟串口打印示例

        在开始菜单找到Visual Studio Code,打开后会自动加载我们刚刚下载示例程序。打开hello_world文件夹下面usb文件夹下的hello_usb.c文件,该示例的功能是通过USB口自动打印"Hello,world"

编译

        点击最下方工具图标,选择Pico ARM GCC 作为我们的编译链

         在左侧选择CMake工具,点击hello_usb文件后面的下载按钮生成执行文件

 下载

        按住W5500-EVB-Pico的BOOTSEL按键后再通过USB插入电脑,之后再松开BOOTSEL按键。此时电脑会把W5500-EVB-Pico识别为大存储设备。

         我们打开build/hello_world/husb文件夹,将编译生成的后缀为.uf2文件拖入W5500-EVB-Pico中,即可完成下载。

 现象

        此时电脑上的大容量存储设备消失,表示程序下载完成。此时W5500-EVB-Pico会把USB虚拟成串行设备连接至电脑,我们用VS Code自带的串行监视器连接上W5500-EVB-Pico就可以查看打印信息了。

技术文档

树莓派pico参考资料

RP2040 Datasheet (raspberrypi.com)https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf

树莓派 Pico 中文站https://pico.org.cn/

W5500参考资料

Overview | WIZnet Document Systemhttps://docs.wiznet.io/Product/iEthernet/W5500/overview

W5500-EVB-Pico原理图

W5500的 Schematic & Part list & Gerber File文件

Hardware-Files-of-WIZnet/02_iEthernet/W5500 at master · Wiznet/Hardware-Files-of-WIZnet (github.com)https://github.com/Wiznet/Hardware-Files-of-WIZnet/tree/master/02_iEthernet/W5500

         本期内容就分享到这里啦!下期给大家带来用配置静态IP地址的方式让W5500-EVB-Pico连接上以太网。觉得本篇文章写的不错的话点个关注!点个赞支持一下吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音短视频seo源码矩阵系统开发

一、前言: 抖音SEO源码矩阵系统开发是一项专为抖音平台设计的SEO优化系统,能够帮助用户提升抖音视频的搜索排名和曝光度。为了确保系统运行正常,需要安装FFmpeg和FFprobe工具。FFmpeg是一个用于处理多媒体数据的开源工具集,而FFpr…

Redis三种模式——主从复制,哨兵模式,集群

目录 一、主从复制 1.1主从复制的概念 1.2Redis主从复制作用 1.2.1数据冗余 1.2.2故障恢复 1.2.3负载均衡 1.2.4高可用基石 1.3Redis主从复制流程 1.4部署Redis 主从复制 1.4.1.环境部署 1.4.2.所有服务器都先关闭防火墙 1.4.3.所有服务器都安装Redis 1.4.4修改Master主节点R…

在CSDN学Golang云原生(Kubernetes声明式资源管理Kustomize)

一,生成资源 在 Kubernetes 中,我们可以通过 YAML 或 JSON 文件来定义和创建各种资源对象,例如 Pod、Service、Deployment 等。下面是一个简单的 YAML 文件示例,用于创建一个 Nginx Pod: apiVersion: v1 kind: Pod m…

Linux下CMake开发

CMake编译和运行C文件 编写CMakeLists.txt # 声明要求的 cmake 最低版本 cmake_minimum_required( VERSION 3.1 )# 声明一个 cmake 工程 project( pro )# 设置编译模式 set( CMAKE_BUILD_TYPE "Release" )#添加OPENCV库 #指定OpenCV版本,代码如下 #find…

jmeter-断言

断言作用:让脚本自动化执行过程中,能够自动判定执行结果是否正确,需要添加断言 响应断言 添加方式:测试计划–》线程组–》HTTP请求–》(右键添加)断言–》响应断言 案例 请求:https://www.baidu.com 检查:让程序检查…

TortoiseGit安装

1、TortoiseGit简介 TortoiseGit是基于TortoiseSVN的Git版本的Windows Shell界面。它是开源的,可以完全免费使用。 TortoiseGit 支持你执行常规任务,例如commit、显示日志、区分两个版本、创建分支和标签、创建补丁等。 2、TortoiseGit下载 (1)Tortois…

亚马逊云科技联合霞光社发布《2013~2023中国企业全球化发展报告》

中国企业正处于全球聚光灯下。当企业全球化成为时代发展下的必然趋势,出海也从“可选项”变为“必选项”。中国急速扩大的经济规模,不断升级的研发和制造能力,都在推动中国企业不断拓宽在全球各行业的疆域。 过去十年,是中国企业…

怎么在线制作证件?教你一键生成证件照

无论是申请身份证、护照、驾照还是学生证,都需要一张清晰、规范的证件照。但是,为了拍摄一张完美的证件照,需要付出不少时间和精力。而现在,我们可以使用压缩图网站提供的证件照制作工具,轻松制作出一张清晰、规范的证…

神经网络的初始化方法

文章目录 1、随机初始化2、Xavier初始化3、He初始化4、权重预训练初始化5、零初始化 对于神经网络的训练过程中,合适的参数初始化方法有助于更好的处理梯度消失和梯度爆炸问题。通常有以下几种初始化方法: 1、随机初始化 随机初始化(Random…

飞行动力学-第15节-part2-松杆中性点 之 基础点摘要

飞行动力学-第15节-part2-松杆中性点 之 基础点摘要 1. 松杆中性点2. 松浮角2. 杆力梯度3. 参考资料 1. 松杆中性点 stick fixed: N 0 N_0 N0​,握杆,升降舵固定stick free: N 0 ′ N_0 N0′​,松杆,升降舵…

java static修饰的静态成员

静态成员 特点: 1.静态成员可以被本类所有对象共享2.静态成员可以通过类名调用也可以推荐对象调用,但是推荐使用类名调用!3.静态成员随着类的加载而加载,优先于对象存在的静态方法的注意事项: 1.非静态方法可以访问任…

APP开发入门:了解主流的编程语言

在过去的几年里,有许多程序员开始学习和使用编程语言。这其中包括C、C、 Java和 Python。尽管有许多语言可供选择,但大多数程序员都会选择最容易学习的编程语言。 如今,有很多编程语言供选择。程序员们在学习这些语言时可以自由地选择他们喜…

Docker 镜像构建 搭建分布式LNMP论坛 实践

地址规划 nginx 172.18.0.10 mysql 172.18.0.20 php 172.18.0.30 宿主机准备 拉取镜像,下面以此镜像为基础 docker pull centos:7 创建自定义网段以便指定 IP 不变动 docker network create --subnet172.18.0.0/16 --opt "com.docker.network.bridge.na…

Spark Streaming流媒体引擎

Spark Streaming是Spark的上一代流媒体引擎。Spark Streaming不再有更新,它是一个遗留项目。Spark中有一个更新且更易于使用的流媒体引擎,称为结构化流媒体 概述 Spark Streaming是核心Spark API的扩展,支持实时数据流的可扩展、高吞吐量、…

条款38:对变化多端的线程句柄析构函数行为保持关注

条款37解释过,可联结的线程对应着一个底层系统执行线程,未推迟任务(参见条款36)的期值和系统线程有类似关系。这么一来,std::thread型别对象和期值对象都可以视作系统线程的句柄。 从这个视角来看,std::th…

Opencv的Mat内容学习

来源&#xff1a;Opencv的Mat内容小记 - 知乎 (zhihu.com) 1.Mat是一种图像容器&#xff0c;是二维向量。 灰度图的Mat一般存放<uchar>类型 RGB彩色图像一般存放<Vec3b>类型。 (1)单通道灰度图数据存放样式&#xff1a; (2)RGB三通道彩色图存放形式不同&#x…

Flutter 添加 example流程

一、已有Flutter工程&#xff08;命令&#xff09;添加 example 1、cd 工程(flutter_plugin ,是自己创建的)根目录 例: flutter create example 执行命令创建example PS&#xff1a;cd example 后执行flutter doctor 后就可以看到效果 2、如果需要指定iOS/Android 语言,请添加…

如何建立Docker私有仓库?

文章目录 docker私有仓库harborHarbor仓库部署Harbor仓库使用 docker私有仓库 Docker 私有仓库是一个用于存储和管理 Docker 镜像的私有存储库。它允许你在内部网络中创建和管理 Docker 镜像&#xff0c;并提供了更好的安全性和控制&#xff0c;因为你可以完全控制谁能够访问和…

ansible自动化运维(一)

&#x1f618;作者简介&#xff1a;正在努力的99年公司职员。 &#x1f44a;宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。 &#x1f64f;创作不易&#xff0c;…

机器学习 day31(baseline、学习曲线)

语音识别的Jtrain、Jcv和人工误差 对于逻辑回归问题&#xff0c;Jtrain和Jcv可以用分类错误的比例&#xff0c;这一方式来代替单单只看Jtrain&#xff0c;不好区分是否高偏差。可以再计算人类识别误差&#xff0c;即人工误差&#xff0c;作为基准线来进行比较Jtrain与baselin…