如何使用W5200的间接总线接口模式(二)

时间:2022-05-14 14:34:31

       W5200是WIZnet公司研发的一款高速SPI以太网控制芯片,内嵌全套硬件TCP/IP协议栈。它支持ADSL连接 (支持PPPOE协议 & 带PAP/CHAP验证),支持8个独立的端口(sockets)同时连接,内部32K字节存储器作TX/RX缓存。多种指示灯信号输出(Full/Half duplex. Link, Speed)。休眠模式及网络奂醒也是其很有特色的功能。下面继续给大家介绍如何使用W5200的间接总线接口模式?

驱动程序移植指引

  • 首先,我们要定义W5200的基地址

定义它为 ‘__DEF_IINCHIP_MAP_BASE__’

方法: #define __DEF_IINCHIP_MAP_BASE__ 0x8000

 

如果它的基地址是大于0xffff, 以下的部分就要改变一下.

 

<Refer to types.c>

static u32 SBUFBASEADDRESS[MAX_SOCK_NUM];

static u32 RBUFBASEADDRESS[MAX_SOCK_NUM];

u32 getIINCHIP_RxBASE(u8 s)

u32 getIINCHIP_TxBASE(u8 s)

u8 IINCHIP_WRITE(u32 addr, u8 data)

u8 IINCHIP_READ(u32 addr)

 

  • W5200界面

用户使用不同的MCU会有不同‘__DEF_IINCHIP_BUS__’的基本值. 用户是需要在间接模式和SPI模式选择其中一个模式来实现硬件界面

 

<Refer to types.h>

#define __DEF_IINCHIP_INDIRECT_MODE__ 1

#define __DEF_IINCHIP_SPI_MODE__   2

#define __DEF_IINCHIP_BUS__            __DEF_IINCHIP_INDIRECT_MODE__

 

  • W5200初始化

1)    设置ADDR[0-1]为0x0000。(写入0x00值到0x0000地址)

*((volatile uint8*)(0x0000)) = 0x00;

 

2)    W5200硬件重设

 

3)    设置W5200为间接的接口模式和地址自动增加功能

MR [0x0000]  0x03;

 

4)    使用软件重设将W5200初始化.

MR [0x0000]  0x80;

 

5)    设置网络配置

以下是要配置的基本网络的配置

- 网关地址寄存器

- 源硬件地址寄存器

- 子网掩码寄存器

- 源IP地址寄存器

 

ex) 网关地址要设置为192.168.0.1

GAR [0x0001 ~ 0x0004]  [0xC0, 0xA8, 0x00, 0x01];

 

使用以上的方法来配置其他的寄存器 (源硬件地址寄存器, 子网掩码寄存器, 源IP地址寄存器)

 

6)    设置RX寄存器和TX寄存器的内存大小.你可以分配每一个信道的内存大小

 

7)    当你完全第6 步, 你可以得到W5200的ICMP应答消息. 这代表了,你可以用W5200的IP 地址去 “Ping” 来得到自W5200的回复.

 

感谢关注!

相关内容:

如何使用W5200的间接总线接口模式(一)