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…

前端高级面试题-安全相关

1 XSS 跨⽹站指令码(英语: Cross-site scripting ,通常简称为: XSS )是⼀种⽹站应⽤程式的安全漏洞攻击,是代码注⼊的⼀种。 它允许恶意使⽤者将程式码注⼊到⽹⻚上,其他使⽤者在观看⽹⻚时就会…

在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中国企业全球化发展报告》

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

API商品详情:详尽呈现产品信息的利器

API商品详情:详尽呈现产品信息的利器 随着电子商务的迅速发展,越来越多的企业和开发者开始关注和利用API来实现灵活、高效的商品展示和推广。而在这一领域中,API商品详情成为了无可替代的利器,为用户提供了极为详尽的产品信息。 …

centos7安装git

方式一: 输入命令安装 直接使用命令即可 下载的可能是旧版 yum install -y git验证是否安装成功 git --version方式二:解压包安装 获取要下载的版本安装包 然后上传至服务器 如果安装了旧版可以使用 卸载 yum remove git 创建 文件夹 mkdir -p /usr/local/git…

springboot 自定义注解 ,aop切面@Around; 为接口实现日志插入【强行喂饭版】

前言:有个开发共享api的需求,需要把调用的api插入到接口调用日志里面。 但代码重复工作量大的时候,现在总不能还跟之前一样那里需要写哪里吧。 所以想到了用自定义注解 ,aop切面的方式拦截处理。 思路:aop切面使用Arou…

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

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

神经网络的初始化方法

文章目录 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。尽管有许多语言可供选择,但大多数程序员都会选择最容易学习的编程语言。 如今,有很多编程语言供选择。程序员们在学习这些语言时可以自由地选择他们喜…

【CSS】outline 属性

outline属性 outline 是 CSS 属性,用于设置元素的外边框样式,包括颜色、样式和宽度。外边框是一个在元素周围的轮廓,类似于边框(border),但不会占用空间,并且不会影响布局。 outline 属性可以…

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…