原创 高性能以太网芯片W5500 数据手册 V1.0(二)

2013-10-10 15:25 1572 10 10 分类: 通信 文集: TCP/IP芯片

继续给大家介绍W5500 数据手册。

2.4       固定数据长度模式(FDM)

在外设主机不能控制 SCSn 时,可以使用固定数据长度模式。

此时,SCSn 必须连接到低电平(保持接地)。与此同时,SPI 接口不能与其他 SPI 设备 共享。(如图 5 所示)

在可变数据长度模式(VDM)中,数据段长度右 SCSn 控制。 但是在固定长度模式(FDM)中,数据长度由 SPI 工作模式位的控制段的值控制((OM [1:0])=‘01’/‘10’/‘11’)。

由于除了 SCSn 信号和工作模式位(OM[1:0])设置之外,FDM 模式下 SPI 数据帧与 VD M 模式下的相同,所以此时具体的描述就省略了。

除非特殊情况,一般不提倡使用 FDM 模式。此外,如‘2.4.1 章节’及‘2.4.2 章节’ 所述,我们只能使用 1/2/4 字节 SPI 数据帧。使用其他长度数据帧会导致 W5500 功能问 题。

2.4.1     写访问——FDM 模式

字节写访问

W5500-29

图 14 在 FDM 模式下,1 字节写访问 SPI 数据帧

字节写访问

W5500-30

图 15 在 FDM 模式下,2 字节写访问 SPI 数据帧

 字节写访问

W5500-31

图 16 在 FDM 模式下,4 字节写访问 SPI 数据帧

2.4.2     读访问——FDM 模式

 字节读访问

W5500-32

图 17 在 FDM 模式下,1 字节读访问 SPI 数据帧

 字节读访问

W5500-33

图 18 在 FDM 模式下,2 字节读访问 SPI 数据帧

 字节读访问

W5500-34

图 19 在 FDM 模式下,4 字节读访问 SPI 数据帧

3          寄存器和内存构成

W5500 有 1 个通用寄存器,8 个 Socket 寄存器区,以及对应每个 Socket 的收/发缓存区。

每个区域均通过 SPI 数据帧的区域选择位(BSB[4:0])来选取。图 20 显示了区域选择位

(BSB[4:0])选择的区域以及收/发缓存区的可用偏移地址范围。每一个 Socket 的发送 缓存区都在一个 16KB 的物理发送内存中,初始化分配为 2KB。每一个 Socket 的接收缓 存区都在一个 16KB 的物理接收内存中,初始化分配为 2KB。

无论给每个 Socket 分配多大的收/ 发缓存,都必须在 16 位的偏移地址范围内(从

0×0000 到 0xFFFF)。

关于 16KB 收/发内存的构成及访问方式的更多信息,请参考‘3.3 章节’。

W5500-35

W5500-36

图 20 寄存器及内存构成

3.1       通用寄存器区

通用寄存器区配置了 W5500 的基本信息,例如:IP 及 MAC 地址。该区域可以通过 SPI

数据帧的区域选择位(BSB[4:0])的值选定。表 3 描述了该区域寄存器的偏移地址。对 于每个寄存器的详细信息,请参考‘4.1 章节’。

W5500-37

3.2       Socket 寄存器区

W5500 支持 8个 Socket 作为通讯信道。每一个Socket 通过Socket n  寄存器区控制(0≤n≤7)。Socket n 寄存器可以通过 SPI 数据帧中的区域选择寄存器(BSB[4:0])来选定对应的寄存器 n。<表 5>定义 了 Socket n 寄存器区对应的 16 位偏移地址。

关于每个寄存器,详情参考‘4.2 章节’

表格 5 Socket n 寄存器区中的偏移地址(0≤n≤7)

W5500-38

3.3       内存 Memory

W5500 有一个 16KB 的发送内存用于 Socket n 的发送缓存区,以及一个 16KB 的接收内

存用于 Socket n 的接收缓存区。

16KB 的发送内存初始化被分配为每个 Socket 2KB 发送缓存区(2KB X 8 = 16KB)。初 始化分配的    2KB    Socket    发送缓存  ,  可以通过使用    Socket    发送缓存大小寄存器

(Sn_TXBUF_SIZE)重新分配。

一旦所有的 Socket 发送缓存大小寄存器(Sn_TXBUF_SIZE)配置完成,16KB 的发送内 存就会按照配置分配给每个 Socket 的发送缓存,并按照从 Socket 0 到 7 顺序分配。16KB 物 理内存的地址是可以自增的。但是 , 为了避免数据传输错误 , 需要避免发送缓存大小寄存器

(Sn_TXBUF_SIZE)的和超过 16。

16KB 的读取内存的分派方式与 16KB 的发送内存一样。16KB 的接收内存初始化被分配 为每个 Socket 2KB 接收缓存区(2KB X 8 = 16KB)。初始化分配的 2KB Socket 接收缓存,可 以通过使用 Socket 接收缓存大小寄存器(Sn_XBUF_SIZE)重新分配。

一旦所有的 Socket 发缓存大小寄存器(Sn_TXBUF_SIZE)配置完成,16KB 的发送内存 就会按照配置分配给每个 Socket 的发送缓存,并按照从 Socket 0 到 7 顺序分配。16KB 物理 内存的地址是可以自增的。但是 , 为了避免数据传输错误 , 需要避免发送缓存大小寄存器 ( Sn_TXBUF_SIZE)的和超过 16。

继续阅读:http://blog.iwiznet.cn/?p=5694

 

W5500相关内容:

高性能以太网芯片W5500 数据手册 V1.0(一)

感谢关注!

更多信息与我们交流:

WIZnet邮箱: wiznetbj@wiznet.co.kr

WIZnet主页:http://www.wiznet.co.kr

WIZnet企业微博:http://e.weibo.com/wiznet2012

 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条