2024年4月16日发(作者:蒉新雪)
一、软件设置相关
1、软件可以通过置位MR寄存器第7位来复位W5300,清零即清楚复位.
2、W5300总线可以设置为两种模式8位和16位,在W5300复位期间,这个值由管
脚信号BIT16EN 决定,1为16位模式,0为8位模式,复位后,这个值不改变.
3、W5300 寄存器访问可以设置为直接访问模式和间接访问模式,直接访问直接地址
寻址,间接访问通过IDM_AR寄存器访问.
间接访问:写寄存器可以通过IDM_AR寄存器写入w5300其他寄存器偏移地址,
IDM_DR寄存器写数据来设置,读通过IDM_AR寄存器写入w5300其他寄存器偏移地址,
DM_DR寄存器查看寄存器数据。
4、软件可以通过设置MR寄存器第8位选择大端和小端模式,W5300一般采用大端
模式, 如果要使用小端模式需要将此位置1。
5、Sn_MR[3:0]设置P[3:0]选择SOCKET的通信协议(TCP、UDP、IPRAW,MACRAW
等) 或PPPoE SOCKET与PPPoE服务器之间的操作。
二、 w5300信号线模式配置
1、通过TEST_MODE[3:0]选择PHY 模式。
2、OP_MODE[2:0]设置内部PHY层工作模式
3、FDX:全双工,HDX:半双工 ,硬件复位后该设置值被锁定
4、BIT16EN 16、8数据位选择 高电平16模式,低电平8模式.
三、 软件配置流程:
主要以TCP/IP模式协议为例
W5300的初始化分三个步骤:主机接口设置,网络信息设置和内部TX/RX存储器的分
配。
第1步:设置主机接口
1. 设置数据总线宽度,主机接口模式和时序(参考MR寄存器)
2。 设置主机中断(参考IMR)
第2步:设置网络信息
1. 设置数据通信的基本网络信息(参考:SHAR、GAS、SBUR和SIPR)
2. 设置重复发送的时间间隔和重复发送的次数,用于数据包发送失败时的重复发送(参
考RTR和RCR)本机硬件地址通过SHAR设置,这是一个以太网设备的唯一的硬件地址(以太
网的MAC地址),应用于以太网的MAC层。
第3步:分配SOCKETn的内部TX/RX存储器空间
1. 定义内部TX/RX存储器大小(参考MYTPER)
2. 定义SOCKETn的TX/RX存储器大小(参考TMR和RMSR)
W5300内部包含16个8K字节的存储单元.这些存储单元依次映射在128K字节的存储
器空间。128K存储器分为发送存储器(TX)和接收存储器(RX)。内部TX和RX存储器 以
8K字节为单 元分布在128K字节空间。内部TX/RX存储器可以在0~64K字节空间以1K字
节为单元从新分配给每个SOCKET。
数据通信
TCP
TCP是一种连接通信的协议,在TCP模式,首先要根据IP地址和端口号与对端建立
SOCKET连接。通过连接的SOCKET发送和接收数据.建立SOCKET的连接有“TCP服务器”
和“TCP客户端"之分。区分它们的方法是谁首先发送连接请求(SYS数据包).“TCP服务器
"等待对端的连接请求,当收到连接请求时建立SOCKET连接(被动打开)。“TCP客户端”
主动发出连接请求,与对端建立连接(主动打开)。
TCP服务器
TCP客户端
具体代码请参考源代码文件。
四、 应用中需要注意的是:
1、根据Sn_MR(P3:P0)的设置,在数据包的前面追加有PACKET—INFO,
PACKET-INFO包含接收数据包的信息,如数据包的大小。主机必须首先处理
PACKET—INFO,然后再处理数据。如果收到的数据长度字节数为奇数,那么将添加一个
哑字节.主机必须首先读取这个哑字节并丢弃它。从PACKET-INFO的字节长度信息可以判
断数据包的最后一个字节是否为哑字节。在TCP和MACRAW模式。
PACKET-INFO信息固定为2字节。
2、如果接收到对端的数据字节数为偶数,Sn_MR(ALIGN)置‘1'.当Sn_MR(ALIGN)=1
时,W5300不需要增加TCP模式的PACKET-INFO,而只将数据保存在SOCKETn的内部RX存
储器。这样将减少主机对SOCKET_INFO的额外处理,提高系统性能.
(Sn_MR=0x0101可能会被Sn_MR=0x0001取代)。
2024年4月16日发(作者:蒉新雪)
一、软件设置相关
1、软件可以通过置位MR寄存器第7位来复位W5300,清零即清楚复位.
2、W5300总线可以设置为两种模式8位和16位,在W5300复位期间,这个值由管
脚信号BIT16EN 决定,1为16位模式,0为8位模式,复位后,这个值不改变.
3、W5300 寄存器访问可以设置为直接访问模式和间接访问模式,直接访问直接地址
寻址,间接访问通过IDM_AR寄存器访问.
间接访问:写寄存器可以通过IDM_AR寄存器写入w5300其他寄存器偏移地址,
IDM_DR寄存器写数据来设置,读通过IDM_AR寄存器写入w5300其他寄存器偏移地址,
DM_DR寄存器查看寄存器数据。
4、软件可以通过设置MR寄存器第8位选择大端和小端模式,W5300一般采用大端
模式, 如果要使用小端模式需要将此位置1。
5、Sn_MR[3:0]设置P[3:0]选择SOCKET的通信协议(TCP、UDP、IPRAW,MACRAW
等) 或PPPoE SOCKET与PPPoE服务器之间的操作。
二、 w5300信号线模式配置
1、通过TEST_MODE[3:0]选择PHY 模式。
2、OP_MODE[2:0]设置内部PHY层工作模式
3、FDX:全双工,HDX:半双工 ,硬件复位后该设置值被锁定
4、BIT16EN 16、8数据位选择 高电平16模式,低电平8模式.
三、 软件配置流程:
主要以TCP/IP模式协议为例
W5300的初始化分三个步骤:主机接口设置,网络信息设置和内部TX/RX存储器的分
配。
第1步:设置主机接口
1. 设置数据总线宽度,主机接口模式和时序(参考MR寄存器)
2。 设置主机中断(参考IMR)
第2步:设置网络信息
1. 设置数据通信的基本网络信息(参考:SHAR、GAS、SBUR和SIPR)
2. 设置重复发送的时间间隔和重复发送的次数,用于数据包发送失败时的重复发送(参
考RTR和RCR)本机硬件地址通过SHAR设置,这是一个以太网设备的唯一的硬件地址(以太
网的MAC地址),应用于以太网的MAC层。
第3步:分配SOCKETn的内部TX/RX存储器空间
1. 定义内部TX/RX存储器大小(参考MYTPER)
2. 定义SOCKETn的TX/RX存储器大小(参考TMR和RMSR)
W5300内部包含16个8K字节的存储单元.这些存储单元依次映射在128K字节的存储
器空间。128K存储器分为发送存储器(TX)和接收存储器(RX)。内部TX和RX存储器 以
8K字节为单 元分布在128K字节空间。内部TX/RX存储器可以在0~64K字节空间以1K字
节为单元从新分配给每个SOCKET。
数据通信
TCP
TCP是一种连接通信的协议,在TCP模式,首先要根据IP地址和端口号与对端建立
SOCKET连接。通过连接的SOCKET发送和接收数据.建立SOCKET的连接有“TCP服务器”
和“TCP客户端"之分。区分它们的方法是谁首先发送连接请求(SYS数据包).“TCP服务器
"等待对端的连接请求,当收到连接请求时建立SOCKET连接(被动打开)。“TCP客户端”
主动发出连接请求,与对端建立连接(主动打开)。
TCP服务器
TCP客户端
具体代码请参考源代码文件。
四、 应用中需要注意的是:
1、根据Sn_MR(P3:P0)的设置,在数据包的前面追加有PACKET—INFO,
PACKET-INFO包含接收数据包的信息,如数据包的大小。主机必须首先处理
PACKET—INFO,然后再处理数据。如果收到的数据长度字节数为奇数,那么将添加一个
哑字节.主机必须首先读取这个哑字节并丢弃它。从PACKET-INFO的字节长度信息可以判
断数据包的最后一个字节是否为哑字节。在TCP和MACRAW模式。
PACKET-INFO信息固定为2字节。
2、如果接收到对端的数据字节数为偶数,Sn_MR(ALIGN)置‘1'.当Sn_MR(ALIGN)=1
时,W5300不需要增加TCP模式的PACKET-INFO,而只将数据保存在SOCKETn的内部RX存
储器。这样将减少主机对SOCKET_INFO的额外处理,提高系统性能.
(Sn_MR=0x0101可能会被Sn_MR=0x0001取代)。