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

news2024/11/15 21:36:01

概述

        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.coloradmin.cn/o/808059.html

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

相关文章

【Android安全】Embedded Trace Microcell模块

ETM: Embedded Trace Macrocell, hardware unit responsible to generate hardware instruction trace. ETM模块用于在硬件层面实现instruction trace,可用于辅助逆向分析。 使用教程: https://mcuoneclipse.com/2016/11/05/tutorial-getting-etm-inst…

如何集成 Milvus 和 LangChain?

以下代码集成了 Milvus 和 LangChain: class VectorStore(ABC):"""Interface for vector stores.""" @abstractmethoddef add_texts(self,texts: Iterable[str],metadatas: Optional[List[dict]] = None, kwargs:Any,) ->List[str]: &…

[STL]详解list模拟实现

[STL]list模拟实现 文章目录 [STL]list模拟实现1. 整体结构总览2. 成员变量解析3. 默认成员函数构造函数1迭代器区间构造函数拷贝构造函数赋值运算符重载析构函数 4. 迭代器及相关函数迭代器整体结构总览迭代器的模拟实现begin函数和end函数begin函数和end函数const版本 5. 数据…

Spring源码(四)— 创建BeanDefinition

在第一章序言的图示中有提到,Spring中的配置文件都是通过各种的BeanDefinition来进行解析,并且支持不同类型的文件进行扩展。所以在创建完DefaultListableBeanFactory后,会通过BeanDefinition来解析传入的xml配置文件。 loadBeanDefinitions…

如何建立ftp server?快解析内网穿透实现外网直接访问

serveru是一款由Rob Beckers开发的获奖的ftp服务器软件,全称为:serv-u ftp server,它功能强大又易于使用。ftp服务器用户通过它用ftp协议能在internet上共享文件。serv-u不仅100%遵从通用ftp标准,也包括众多的独特功能可为每个用户…

常用直线模组的类型

目前,直线模组的应用非常广泛,而且直线模组的种类也有很多可以满足每个行业的应用要求,那么常见的直线模组类型有哪些,大家知道吗? 1、全封闭滚珠丝杆直线模组: 在半封闭式的基础上增加了不锈钢带防尘结构…

自监督去噪: self2self 原理及实现(Pytorch)

Self2Self With Dropout: Learning Self-Supervised Denoising From Single Image 文章地址:https://ieeexplore.ieee.org/document/9157420原始代码:https://github.com/scut-mingqinchen/self2self本文参考代码: https://github.com/JinYize/self2self…

无线系统传输距离(天线收发功率计算)

无线通信系统如图8.1. 发射机发射功率,发射机天线增益; 接收机发射功率,接收机天线增益; 收发之间的距离是R; 如果没有大气损耗,极化失配,阻抗不匹配等情况,且天线在远场区域工作,那么各向同性发射天线在接收天线处的功率密度为 (8.1) 对于定向性天线,该公式修正…

No105.精选前端面试题,享受每天的挑战和学习

文章目录 手写new手写Mapget和post区别发起post请求的时候,服务端是怎么解析你的body的(content-type),常见的content-type都有哪些,发文件是怎么解析的(FormData),如果多个文件&…

微信小程序|进度条

进度条是一个常见的用户界面元素,用于显示任务或操作的完成进度,可以在任何需要指示任务进度的情况下使用,以提供更好的用户体验和反馈。 一、前言1.1 进度条使用场景1.2 进度条属性介绍1.3 示例代码及效果二、自定义进度条2.1 进度条形状2.2 进度条尺寸2.3 进度条条纹2.4 进…

【计算机网络】10、ethtool

文章目录 一、ethtool1.1 常见操作1.1.1 展示设备属性1.1.2 改变网卡属性1.1.2.1 Auto-negotiation1.1.2.2 Speed 1.1.3 展示网卡驱动设置1.1.4 只展示 Auto-negotiation, RX and TX1.1.5 展示统计1.1.7 排除网络故障1.1.8 通过网口的 LED 区分网卡1.1.9 持久化配置&#xff08…

GitHub仓库如何使用

核心:GitHub仓库如何使用 目录 1.创建仓库: 2.克隆仓库到本地: 3.添加、提交和推送更改: 4.分支管理: 5.拉取请求(Pull Requests): 6.合并代码: 7.其他功能&…

windows 10/11 修改右键新建菜单

问题:修改右键新建菜单内容 解决方法:使用软件ShellNew Settings 1.打开软件 2.根据需要取消勾选项 3.最终效果

Linux 系列 常见 快捷键总结

强制停止 Ctrl C 退出程序、退出登录 Ctrl D 等价 exit 查看历史命令 history !命令前缀,自动匹配上一个命令 (历史命令中:从最新——》最老 搜索) ctrl r 输入内去历史命令中检索 # 回车键可以直接执行 ctrl a 跳到命令开头 …

zoho邮箱全收邮件catchall的设置

登录 Zoho Mail 管理控制台。(https://mailadmin.zoho.com/cpanel/home.do#)转到域菜单,然后选择要为其配置“全收邮箱”地址的域。转到设置选项卡,然后找到全收邮箱地址部分。从下拉列表中选择您要配置为“全收邮箱”的电子邮件地址,然后单击…

vmware踩坑

连不上网, 调试几个地方 这里禁用, 启用一下 这个网络设置 虚拟机设置里还有一个 虚拟机设置里还有一个

Rust中对可变引用的迭代遇到的生命周期冲突问题解决

Rust中自定义一个迭代器来迭代集合的可变引用(mut reference)的时候,经常会碰到报错: error[E0495]: cannot infer an appropriate lifetime for lifetime parameter in function call due to conflicting requirements今天我们就…

苍穹外卖-day09

苍穹外卖-day09 本项目学自黑马程序员的《苍穹外卖》项目,是瑞吉外卖的Plus版本 功能更多,更加丰富。 结合资料,和自己对学习过程中的一些看法和问题解决情况上传课件笔记 视频:https://www.bilibili.com/video/BV1TP411v7v6/?sp…

NumPy 基础用法详解

概要 NumPy(Numerical Python)是一个开源的Python库,用于进行科学计算和数据分析。它提供了一个多维数组(ndarray)对象,用于存储和处理大规模的数据集,以及各种用于操作这些数组的函数。NumPy是…

PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案

PHP使用Redis实战实录系列 PHP使用Redis实战实录1:宝塔环境搭建、6379端口配置、Redis服务启动失败解决方案PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案 Redis扩展方法和PHP连接Redis的多种方案 一、Redis扩展方法二、php操作Redis语…