首页>>新闻资讯

应用笔记

W5100S使用FSMC总线方式解析

更新时间:2019-05-25 阅览次数: 200

W5100S简介

W5100S是一款多功能的单芯片网络接口芯片,内部集成全硬件的TCP/IP协议栈,以太网MAC和10Base-T/100Base-TX以太网控制器。主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中使用W5100S,用户MCU可以方便的处理IPv4,TCP,UDP,ICMP,IGMP,ARP,PPPoE等各种TCP/IP协议。W5100S分别拥有8KB的发送缓存和接收缓存,可以最大限度地减少MCU的开销。主机还可以同时使用W5100S的4个独立的硬件SOCKETs,并基于每个硬件SOCKET开发独立的互联网应用。

W5100S支持SPI接口和并行系统总线接口。 它还提供低功耗/低热量设计,WOL(Wake On LAN),以太网PHY掉电模式等。

W5100S是基于W5100改进的低成本网络接口芯片。W5100使用的任何固件及程序都可以直接在W5100S上使用,无需任何修改。 此外,W5100S采用48引脚LQFP和QFN无铅封装,明显小于W5100的80引脚封装,方便产品小型化

W5100S总线方式

微信图片_20190525135219.jpg

W5100S连接的MCU型号是STM32F103VCT6。(以下简称STM32)

STM32与W5100S采用间接总线的通信方式。并行接口通过下表中的寄存器访问通用寄存器/SOCKET寄存器,TX/RX数据缓冲区。并支持多字节数据的顺序读写

表 间接模式地址值

ADDR[1:0]

符号描述

00

MR通用寄存器MR

01

IDM_ARH高8位偏移地址寄存器

10

IDM_ARL低8位偏移地址寄存器

11

IDM_DR8位数据寄存器

并行总线数据写入,多字节数据写入时序,如下图所示:


微信图片_20190525135219.jpg

间接模式连续写入

并行总线数据读取,多字节数据读取时序,如下图所示:

微信图片_20190525135219.jpg

间接模式连续读取

FSMC简介

FSMC包含四个主要模块:

● AHB接口(包含FSMC配置寄存器)

● NOR闪存和PSRAM控制器

● NAND闪存和PC卡控制器

● 外部设备接口

微信图片_20190525135219.jpg

W5100S如何使用FSMC总线

STM32的FSMC支持数据与地址线 复用 或 非复用两种模式:

非复用模式:16位数据线及26位地址线分开使用。只能在144脚及以上的STM32上使用该模式。

复用模式:低16位数据/地址线复用。在该模式下,使用地址锁存器以区分数据与地址。

在复用模式下,若不使用锁存器,当NADV为低时,ADx(x=0…15)上出现地址信号Ax,当NADV变高时,ADx上出现数据信号Dx;若使用锁存器:可同时在ADx上得到Ax和Dx。

FSMC中未使用的数据线或地址线可配置为GPIO。对于16位宽度的外部存储器,FSMC将在内部使用HADDR[25:1]产生外部存储器的地址FSMC_A[24:0]。因此,实际的访问地址为右移一位之后的地址。

非复用模式的非复用接口:

微信图片_20190525135219.jpg

非复用接口

复用模式的复用接口:

微信图片_20190525135219.jpg

复用接口

W5100S使用FSMC总线的复用模式(MUXEN),W5100S直接与FSMC总线的复用引脚AD0~AD1相连,不需要增加外部器件。如下图所示:

微信图片_20190525135219.jpg

根据上图所示:当该位为‘0’时,则为非复用模式;当该位为‘1’时,则为复用模式。

以下是介绍W5100S使用FSMC总线的复用模式:(WIZnet官方使用FSMC复用模式)

W5100S与STM32通信采用FSMC总线方式的复用模式,如原理图所示,在数据传输时需要保存DA0、DA1地址不变,所以需要外部连接一个锁存器,使用了74HC573PW作为地址锁存器,如FSMC的读写数据时序图所示,STM32的FSMC_NADV是低电平输出地址,因为锁存器高电平输入有效,所以将FSMC_NADV信号进行反转,由低电平转换成高电平,通过锁存器实现地址锁存。

微信图片_20190525135219.jpg

地址锁存原理图

微信图片_20190525135219.jpg

FSMC_NADV信号写数据时序图

微信图片_20190525135219.jpg

FSMC_NADV信号读数据时序图