新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机以太网控制芯片W7100A数据手册(一)

单片机以太网控制芯片W7100A数据手册(一)

作者: 时间:2016-11-26 来源:网络 收藏

1.4.7外部存储器接口

注:当用户利用标准的8051接口使用外部存储器时,用户可以利用ALE引脚控制,在P0[7:0]传输数据[7:0]或地址[7:0]。

1.4.8介质接口

为了获得最佳性能,

1.尽可能使RXIP/RXIN信号对的长度(RX)相等。

2.尽可能使TXOP/TXON信号对(TX)的长度相等。

3.尽可能使RXIP和RXIN的信号靠近。

4.尽可能使TXOP和TXON的信号靠近。

5.尽可能使RX和TX的信号对远离一些如偏置电阻或晶振的噪声信号。

6.使TX/RX的信号对保持正常。

欲了解更多详情,请参阅”W5100 Layout Guide.pdf.”

1.4.9网络指示灯

1.4.10电源信号

图1.9 电源设计

1.564引脚封装说明

1.5.1100和64引脚封装的区别

注:在64引脚封装的情况下,PHY模式必须由PHYCONF SFR设置。因此,用户必须设置MODE_EN位以启动MODE2~0位的配置。然后设置MODE2~0的值和控制PHY_RSTn位以至PHY复位。复位后,64引脚封装的芯片将被初始化和正常运作。当用户使用64引脚封装芯片时,下面的代码必须在芯片初始化程序中执行。

如需了解更多详细PHYCONF SFR的资讯,请参阅第2.5.10"新的和扩展的SFR"。

2. 存储器

W7100A的存储器分为两种类型:“代码存储器”和“数据存储器”。每个存储器可以使用内存锁定功能。如果存储器被锁定,从外部访问内部存储器将会被拒绝,也不能使用W7100A的调试器。如需详细地了解更多有关内存锁定功能的资讯,请参阅"WizISP程序指南"。

图2.1展示了W7100A存储器的大致结构。

图2.1 代码/数据存储器连接

注意:

我们推荐使用一个外部低压电源探测器以预防电源电压供给不足时的系统故障。

這將有效避免数据flash和代码flash数据丢失,SPAM数据丢失和CPU寄存器数据丢失。

请参考WIZnet网站上的iMCU W7100A的电路图

(集成电路例如:MAX811,MIC811,DS1811)

2.1程序存储器

“程序存储器”包括从0x0000到0x07FF的启动ROM和从0x0000到0xFFFF的用户代码flash。系统重启之后,W7100A通常执行”程序存储器”中的启动代码。根据BOOTEN引脚(高低电平的不同),所执行的启动代码也不同。图2.2显示了启动代码的流程。启动之后,根据BOOTEN的电平,系统执行ISP进程或APP入口程序。当选择了ISP进程后(BOOTEN=1),启动ROM中的ISP代码将会运行,否则(BOOTEN=0),系统跳到APP入口处而不执行ISP程序。

ISP程序用于WizISP编程(当用户往代码FLASH中写代码时)。APP入口用于运行用户的应用程序代码。APP入口包括”存储映射转换代码”和跳转代码(能跳到用户应用程序代码FLASH存储器的起始地址0x0000)。存储映射转换图如下所示:

图2.2 启动顺序流程图

W7100A有两种初始状态 - “BOOT ROM/APP入口”和”FLASH存储器”,如图2.3所示。但是因为启动ROM/APP入口和FLASH存储器的地址是重叠的,它们都使用相同的地址(0x0000 ~ 0x07FF / 0xFFF7 ~ 0xFFFF),因此W7100A分别将”启动ROM/APP入口”和FLASH(64K)映射到代码和数据存储器。

用户应用程序代码可以写到FLASH中(映射为数据存储器)。但在这种状态下,FLASH不能作为程序存储器,因为这种状态是应用于写入应用程序代码。要将FLASH作程序存储器使用,需要进行存储器映射的切换。为了达到这个要求,用户需要设置BOOTEN为’0’,以选择用户应用程序模式,启动代码立即跳到应用程序入口,然后应用程序入口将禁止BOOT ROM,且将

FLASH存储器映射为程序代码存储器,如图2.3所示。改变程序代码存储器映射后,应用程序入口跳转到程序代码的起始地址(0x0000),工作过程如下:

图2.3 应用程序入口(APP ENTRY)处理

如果选择APP模式,整个64K的FLASH都将作为程序存储器,但两个FLASH和APP入口的地址都是重叠的。因此,为了完整使用64K的FLASH,”APP入口”必须从代码存储器中解除映射,为了达到这个目的,用户应该在启动代码中将WCONF(0xFF)中的RB位置为0。这一过程如下所示:

图2.4 RB=0时改变程序存储器状态

WCONF(0xFF)

当FLASH区域超过0xFFF7时,下面的代码必须加入到启动代码中。如果使用这种方法,W7100A在系统复位后将立即禁止APP入口地址。

在启动代码中设置引脚BOOTEN为0,且清WCONF的RB位,那么W7100A内部的64K FLASH将全部作为程序存储器使用。

2.1.1程序存储器等待状态

程序存储器的等待状态是由内部WTST(0x92)进行管理的,等待状态的周期是由WTST寄存器确定的。详细内容请参考2.5.10节’新的 & 扩展的SFR’。

2.2 数据存储器

W7100A内部有64K字节的RAM、64K字节的TCPIP内核和255字节的数据FLASH。数据FLASH用于存储用户IP地址、MAC地址、子网掩码、端口号等。另外W7100A有16M的数据存储外扩能力,下图是数据存储映射图。这个存储器只能通过MOVX指令访问,外部存储器可以由用户自己扩展。

图2.5 数据存储映射

2.2.1数据存储器等待状态

数据存储器的等待状态由CKCON(0x8E)进行管理。等待状态的周期是由是由CKCON中的值确定的。请参考2.5.10节’新的&扩展的SFR’的内容。

2.3外部数据存储器访问

外部地址引脚和数据引脚有两种访问模式。第一种模式是用标准8051的地址锁存方式,第二种是直接将所有引脚作为地址线。用户也可以用地址引脚和数据引脚作为GPIO。请参考第10节’电气特性’中关于外部存储器访问速度的内容。

表2.1 外部存储器访问模式

2.3.1标准8051接口

这种方法的外部接口与通用8051一样。但是地址范围可以通过设置EM[2:0](外部存储器模式,在WCONF(0xFF)中)来设置可访问的地址范围。当用户设置EM[2:0]到”001”,P0用于地址/数据总线,P2用于高位地址(A[15:8])。P1和P3用于GPIO。如下图所示:

图2.6 标准8051外部引脚访问模式(EM[2:0]=“001”)

当用户设置EM[2:0]为”011”,就像上面的情形一样,P0用于地址/数据总线,P2用于较高位的地址线(A[15:8])。但是P3用于最高位的地址总线(A[23:16]),地址总线被扩展了。剩下的P1用作GPIO,如下图所示:

图2.7 标准8051外部引脚访问模式(EM[2:0]=“011”)

在标准8051外部引脚的访问模式下,MCU控制着ALE(地址锁存使能)信号来区分地址和数据信号。用户可以通过ALECON(0x9F)来设置ALE信号的持续长度,对于ALECON的详细信息,参考2.5.10节’新的&扩展的SFR’。

2.3.2直接接口

这种方法直接将端口与地址线相连,当用户设置EM[2:0]为”101”,P0用于数据线(D[7:0],P1作为低地址线(A[7:0]),P2用于较高地址线(A[15:8])。剩下的P3用于GPIO。用这种方法,用户能将端口连向地址线而不用地址锁存,如下图所示。

图2.8 直接8051外部引脚访问模式(EM[2:0]=“101”)

当用户设置EM[2:0]为”111”,P0,P1,P2与上一种情况的功能一样,P3用于高端地址(A[23:16])。在这种模式下,没有端口可用于GPIO,如下图所示。

图2.9 直接8051外部引脚访问模式(EM[2:0]=“111”)

2.4内部数据存储器和特殊功能寄存器

内部存储器和特殊功能寄存器的地址映射如下图表示:

图2.10 内部存储器映射

内部RAM的最低地址有4组分区,每个分区包含8个寄存器;还有一个可以位寻址的字节段,地址范围在0x20~0x2F,共128位,一个208字节的缓存区(0x30~0xFF),非直接地址模式范围是:0x80~0xFF,最高128字节可以作为内部存储器访问。但直接地址总线模式下的0x80~0xFF,这个区域作为SFR来访问的。

图2.11 SFR存储器映射图

新的SFR– 新的特殊功能寄存器(SFR),本节将对这些寄存器作详细的描述。

扩展的SFR –在标准8051基础上扩展的寄存器,在本节将详细描述这些寄存器。

标准 – 标准8051特殊功能寄存器,也将在本节描述。

最左边那些地址的尾数为0或8的特殊功能寄存器都算可以位寻址的。

2.1特殊功能寄存器(SFR)定义

下面将描述W7100A内核的特殊功能寄存器及其他们的功能。请参考2.5.11”外设特殊功能寄存器”章节,了解标准的特殊功能寄存器和外设特殊功能寄存器。

2.5.1程序存储器”写”允许位

在PCON寄存器内有一个程序存储器”写”允许位(PWE),它禁止或允许使用MOVX指令对程序存储器进行写操作。

当PWE设置”1”时,”MOVX @DPTR,A”指令将数据从累加器A写到程序存储器中,地址由DPTR寄存器(DPH:DPL)确定。

“MOVX @Rx, A”指令将数据从累加器A写入到程序存储器中,地址由P2寄存器(bits 15:8)和Rx寄存器决定(bits 7:0)。

PCON(0x87)

图2.12 PCON寄存器的PWE位

注意:

1.PCON.2 ~ PCON.0位为保留位,必须设置为0。

2.5.2程序存储器等待状态寄存器

等待状态寄存器提供程序存储器访问时间信息。

WTST(0x92)

图2.13 程序存储器等待状态寄存器

注意:

1.这些位只有在CPU取指令和MOVC指令时有效,因为程序存储器写操作是MOVX指令,所以CKCON寄存器调节”代码写”的脉冲宽度。

2.读周期最小4个时钟周期,最大8个时钟周期。

表2.2 WTST寄存器的值

取指令时,程序存储器只能由MOVC指令访问,程序存储器可以最小4个时钟等待状态进行读操作,时序图如下。

图2.14 最少等待状态(WTST=‘4’)时,对程序存储器同步读的波形图

说明:

1.Clk– 系统时钟频率 (88.4736MHz)

2.ADDRESS– 修改程序字节的实际地址

3.CODE_RD– 程序存储器的读信号

4.CODE– 写入到程序存储器的数据

程序存储器可以用MOVX指令以最小4个时钟周期写入,它可以使W7100A内核对高速和低速程序存储器操作,时序图如下:

图2.15 最小等待状态(WTST=‘4’)程序存储器写时序图

注意:

1. Clk– 系统时钟频率(88.4736MHz)

2. ADDRESS– 修改程序字节的实际地址

3. CODE– 修改程序字节的实际代码

4. CODE_WR– 程序存储器的写信号

5. PRG– 程序存储器


上一页 1 2 下一页

评论


技术专区

关闭