略略u 发表于 2022-4-30 17:40

STM32 以太网W5500

W5500简介

W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。

特点:

    支持硬件 TCP/IP 协议: TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE
    支持8个独立端口(Socket)同时通讯
    支持高速串行外设接口SPI( 80MHz 速率)
    内部32K字节收发缓存
    LED状态显示
    支持掉电模式、网络唤醒

略略u 发表于 2022-4-30 17:41

以太网接入方案

1、MAC+PHY方案
MCU内部自带MAC,由于软件协议栈操作需要主控不断响应中断,极大程度上占用了MCU的资源。

略略u 发表于 2022-4-30 17:55

优缺点:
软件协议栈需要主控不断地响应中断,占用资源大,会影响通信质量
代码量占用大,内存资源占用多;安全角度,容易收到攻击

略略u 发表于 2022-4-30 17:56

2、硬件协议方案
用硬件化的逻辑门电路实现所有的处理TCP/IP协议的工作。MCU只需要处理面向用户的应用层数据即可,传输、网络、链路层以及物理层全部由外围硬件芯片完成。

略略u 发表于 2022-4-30 18:01

略略u 发表于 2022-4-30 18:02

优缺点:
硬件协议栈,减少了单片机中断次数,通信速度快;
代码量少,比软件协议栈安全;
相比软件协议栈灵活性差,目前只支持8个socket

略略u 发表于 2022-4-30 18:03

引脚连接

略略u 发表于 2022-4-30 18:03

SPI读写访问

W5500 的 SPI 数据帧包括了 16 位地址段的偏移地址, 8 位控制段和 N 字节数据段。

略略u 发表于 2022-4-30 18:04

写访问

略略u 发表于 2022-4-30 18:05

在 VDM (可变数据长度模式)模式下, SPI 数据帧的控制段:读写控制位(RWB)为‘1’,如果是读则为‘0’,工作模式位为’00’。
此时外设主机在传输 SPI 数据帧之前,须拉低 SCSn 信号引脚。
然后主机通过 MOSI 将 SPI 数据帧的所有位传输给 W5500 ,并在 SCLK 的下降沿同步。
在完成 SPI 数据帧的传输后,主机拉高 SCSn 信号(低电平到高电平)。
当 SCSn 保持低电平且数据段持续传输,即可实现连续数据写入。

略略u 发表于 2022-4-30 18:06

1 字节数据写访问示例
Offset Address = 0x0018
BSB = ‘00000’
RWB = ‘1’
OM = ‘00’
1st Data = 0xAA

略略u 发表于 2022-4-30 18:06

略略u 发表于 2022-4-30 18:07

在传输 SPI 数据帧之前, 外设主机须拉低 SCSn,然后主机在时钟(SCLK)跳变时同步
传输 1 位数据。在 SPI 数据帧传输完毕后,外设主机拉高 SCSn

略略u 发表于 2022-4-30 18:07

寄存器以及地址

W5500 有 1 个通用寄存器,8 个 Socket 寄存器区,以及对应每个 Socket 的收/发缓存区。每个区域均通过 SPI 数据帧的区域选择位(BSB)来选取。

略略u 发表于 2022-4-30 18:08

每个 Socket 分配多大的收/发缓存,必须在 16 位的偏移地址范围内(从0x0000 到 0xFFFF)

略略u 发表于 2022-4-30 18:09

以下对地址的一些理解
在寄存器偏移计算的宏定义,采用宏定义方便计算socket n所使用的地址

#define WIZCHIP_CREG_BLOCK          0x00         //< Common register block
#define WIZCHIP_SREG_BLOCK(N)       (1+4*N) //< Socket N register block
#define WIZCHIP_TXBUF_BLOCK(N)      (2+4*N) //< Socket N Tx buffer address block
#define WIZCHIP_RXBUF_BLOCK(N)      (3+4*N) //< Socket N Rx buffer address block

Pulitzer 发表于 2022-10-6 07:29


硬件设计和软件设计本来就是鱼和熊掌的关系,两者不可兼得

Uriah 发表于 2022-10-6 14:30


让尽可能多的变量使用直接寻址,提高速度

Bblythe 发表于 2022-10-6 17:29


每个Strategy交由Spring管理,并在构造后注册

Pulitzer 发表于 2023-5-1 07:29


做多层板可将做好的两块双面板用特制的粘合剂“压合”起来
页: [1]
查看完整版本: STM32 以太网W5500