W5100数据手册
Version 1.1.8
成都浩然电子有限公司 2009-03
WIZnet Co., Inc http://www.wiznet.co.kr
WIZnet在线技术支持
如果你有关于WIZnet产品事情咨询,请访问: http://www.wiznet.co.kr
或在技术支持的Q&A版
http://www.wiznet.co.kr/rg4_board/list.php?bbs_code=en_qna 写下你的问题,WIZnet的工程师会很快回答你的问题。
浩然电子在线技术支持
如果你有技术或产品方面的问题,请访问成都浩然电子网站: http://www.hschip.com
如果你想获取由浩然电子提供的技术文档,详细的设计资料,请在浩然电子的网站注册,浩然电子将升级你为高级会员。然后你再以高级会员登陆,就可以免费下载各种技术资料和设计资料,
http://www.hschip.com/adduser.aspx
你还可以用中文/英文提出你的问题,浩然电子的工程师会很快回答你的问题。 http://www.hschip.com/lyb.aspx?id=4 电话:+86-28-86127089 传真:+86-28-86127039
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第1页
WIZnet Co., Inc http://www.wiznet.co.kr 简介
W5100是一款多功能的单片网络接口芯片,内部集成有10/100以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。使用W5100可以实现没有操作系统的Internet连接。W5100与IEEE802.3 10BASE-T和802.3u 100BASE-TX兼容。
W5100内部集成了全硬件的、且经过多年市场验证的TCP/IP协议栈、以太网介质传输层(MAC)和物理层(PHY)。硬件TCP/IP协议栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP和PPPoE,这些协议已经在很多领域经过了多年的验证。W5100内部还集成有16KB存储器用于数据传输。使用W5100不需要考虑以太网的控制,只需要进行简单的端口(Socket)编程。
W5100提供3种接口:直接并行总线、间接并行总线和SPI总线。W5100与MCU接口非常简单,就像访问外部存储器一样。
特点:
z 支持硬件化TCP/IP协议:TCP,UDP,ICMP,IPv4 ARP,IGMP,PPPoE,以太网 z 内嵌10BaseT/100BaseTX以太网物理层 z 支持自动通信握手(全双工和半双工) z 支持自动MDI/MDIX,自动校正信号极性
z 支持ADSL连接(支持PPPoE协议中的PAP/CHAP认证模式) z 支持4个独立端口同时运行 z 不支持IP的分片处理
z 内部16KB存储器用于数据发送/接收缓存 z 0.18µm CMOS工艺
z 3.3V工作电压,I/O口可承受5V电压 z 80脚LQFP小型封装 z 环保无铅封装
z 支持SPI接口(SPI模式0)
z 多功能LED信号输出(TX、RX、全双工/半双工、地址冲突、连接、速度等)
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第2页
WIZnet Co., Inc http://www.wiznet.co.kr 结构图
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第3页
WIZnet Co., Inc http://www.wiznet.co.kr 1. 管脚定义
1.1 MCU接口信号
符号
管脚
I/O
说明
复置输入,低电平有效
/RESET 59 I 低电平初始化或重新初始化W5100
低电平持续时间不小于2µs,所有内部寄存器均置为默认状态
38,39, 40,41, 42,45,
地址总线 46,47,
I ADDR[14~0]
这些引脚用来选择寄存器或存储器,地址总线内部下拉为低电平 48,49,
50,51, 52,53, 54
19,20,
数据总线 21,22,
I/O DATA[7-0]
这些引脚用来读/写W5100内部寄存或存储器 23,24,
25,26
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第4页
WIZnet Co., Inc http://www.wiznet.co.kr 片选,低电平有效
/CS 55 I 片选是用于MCU访问W5100内部寄存器或存储器,/WR和/RD选择数据
传输方向
中断输出,低电平有效
当W5100在端口(Socket)产生连接、断开、接收数据、数据发送完成以及
/INT 56 O 通信超时等条件下,该引脚输出信号以指示MCU。中断将在写入中断寄存
器IR(中断寄存器)或Sn_IR(端口n的中断寄存器)时自动解除。所有中断都可以屏蔽
写使能,低电平有效
/WR 57 I MCU发出信号写W5100内部寄存器或存储器,访问地址由A[14~0]选
择。数据在该信号的上升沿锁存到W5100 读使能,低电平有效
/RD 58 I MCU发出信号读W5100内部寄存器或存储器,访问地址由A[14~0]选择SPI接口使能
该引脚选择允许/禁止SPI模式
SEN 31 I 低电平=禁止SPI模式
高电平=允许SPI模式
如果不使用SPI模式,将该引脚接地 SPI时钟
SCLK 30 I 该引脚用于SPI时钟输入 SPI从模式选择
/SCS 29 I 该引脚用于SPI从模式选择输入,低电平有效 SPI主输出/从输入
MOSI 28 I 该引脚用于SPI的MOSI信号 SPI主输入/从输出
MISO 27 O 该引脚用于SPI的MISO信号
1.2 以太网物理层信号
符号
管脚
I/O
说明
RXIP 5 I RXIP/RXIN信号组 RXIN 6 I 在RXIP/RXIN信号组接收到从介质传输来的差分数据信号 TXOP 8 O TXOP/TXON信号组 TXON 9 O 通过TXOP/TXON信号组向介质传输差分数据信号
物理层片外电阻
RSET_BG 1 O 连接一个12.3k±1%的电阻到地 运行控制模式
[2:0] 描述 000 自动握手
001 100 BASE-TX FDX/HDX自动握手 010 10 BASE-T FDX/HDX自动握手 65,64,
OPMODE2-0 I
011 保留 63
100 手动选择100 BASE-TX FDX 101 手动选择100 BASE-TX HDX 110 手动选择10 BASE-TX FDX 111 手动选择10 BASE-TX HDX
1.3 其他
符号
TEST_MODE 3-0 NC
引脚
34,35, 36,37
3,60,61,62,78,79, 80
I/O
I I/O
说明
W5100模式选择
通用模式:0000。其它模式作内部测试用 NC
厂家测试用,用户不使用
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第5页
WIZnet Co., Inc http://www.wiznet.co.kr 1.4 电源
符号
引脚
I/O
说明
VCC3V3A 2 P 3.3V模拟系统电源
12,18,
VCC3V3D P 3.3V数字系统电源
44
VCC1V8A 7,74 P 1.8V模拟系统电源
15,16,
P 1.8V数字系统电源 VCC1V8D
33,69 4,10,
GNDA P 模拟电源地
77
13,14,
GNDD 17,32 P 数字电源地
43,68
V18 11 O 1.8v电压输出
1.5 时钟信号
符号
引脚
I/O
说明
XTLP 76 I 25MHz晶体输入/输出
外接25MHz晶体以稳定内部振荡电路
XTLN 75 I 如果使用外部振荡信号,信号连接到XTLN,而XTLP断开,振荡信号的
幅度为1.8V
1.6 LED信号
符号
引脚
I/O
说明
连接LED指示
LINKLED 66 O 低电平表示10/100M连接状态正常
当连接正常时输出低电平,而在TX/RX状态时将闪烁 连接速度LED指示
SPDLED 67 O 低电平表示连接速度为100Mbps 全双工LED指示
FDXLED 70 O 低电平表示全双工模式 IP地址冲突LED指示
COLLED 71 O 低电平表示网络IP地址冲突 接收状态LED指示
RXLED 72 O 低电平表示当前接收数据 发送状态LED指示
TXLED 73 O 低电平表示当前发送数据
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第6页
WIZnet Co., Inc http://www.wiznet.co.kr 2. 存储器映像
W5100内含公共寄存器,端口寄存器,发送存储器以及接收存储器,如下图所示。
0x0000
0x0400 0x0030
公共寄存器 保留
端口寄存器
0x8000 0x6000 0x4000 0x0800
保留 发送存储器 接收存储器 成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第7页
WIZnet Co., Inc http://www.wiznet.co.kr 3. W5100寄存器
3.1 公共寄存器
地址 0x0000
0x0001 0x0002 0x0003 0x0004
0x0005 0x0006 0x0007 0x0008
0x0009 0x000A 0x000B 0x000C 0x000D 0x000E
0x000F 0x0010 0x0011 0x0012 0x0013 0x0014 0x0015 0x0016
0x0017 0x0018 0x0019
中断(IR) 中断屏蔽(IMR) 重发时间 (RTR0) (RTR1) 重发计数(RCR)
寄存器
模式(MR) 网关地址 (GAR0) (GAR1) (GAR2) (GAR3) 子网掩码地址 (SUBR0) (SUBR1) (SUBR2) (SUBR3) 本机硬件地址 (SHAR0) (SHAR1) (SHAR2) (SHAR3) (SHAR4) (SHAR5) 本机IP地址 (SIPR0) (SIPR1) (SIPR2) (SIPR3)
0x001C 0x001D 0x001E ~ 0x0027 0x0028
(PTIMER)PPP LCP请求定时器 保留
PPPoE模式下的认证类型 (PATR0) (PATR1)
地址
寄存器
0x001A (RMSR)接收存储器大小 0x001B (TMSR)发送存储器大小
0x0029 (PMAGIC)PPP LCP魔数值
0x002A 0x002B 0x002C 0x002D
0x002E 0x002F 0x0030 ~ 0x03FF
保留
不能达到IP地址 (UIPR0) (UIPR1) (UIPR2) (UIPR3)
不能达到的端口地址 (UPORT0) (UPORT1)
保留地址
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第8页
WIZnet Co., Inc http://www.wiznet.co.kr 3.2 端口寄存器
端口0:
地址 0x0400
0x0401
0x0402 0x0403
0x0404 0x0405
0x0406 0x0407 0x0408
0x0409
0x040A
0x040B
0x040C
0x040D
0x040E
0x040F
0x0410
0x0411
0x0412
0x0413
0x0414
寄存器
端口0模式(S0_MR) 端口0命令(S0_CR) 端口0中断(S0_IR) 端口0状态(S0_SSR) 端口0的端口号 (S0_PORT0) (S0_PORT1)
端口0的目的物理地址 (S0_DHAR0) (S0_DHAR1) (S0_DHAR2) (S0_DHAR3) (S0_DHAR4) (S0_DHAR5) 端口0的目的IP地址 (S0_DIPR0) (S0_DIPR1) (S0_DIPR2) (S0_DIPR3) 端口0的目的端口号 (S0_DPORT0) (S0_DPORT1)
端口0的最大分片字节数 (S0_MSSR0) (S0_MSSR1)
IP RAW模式下端口0的协议 (S0_PROTO)
地址 0x0415
0x0416 0x0417 ~0x041F
0x0420 0x0421
0x0422 0x0423
0x0424 0x0425
0x0426 0x0427
0x0428 0x0429 0x042A 0x042B 0x042C~ 0x04FF
寄存器
端口0的IP TOS (S0_TOS)
端口0的数据包生存期 (S0_TTL) 保留
端口0的发送存储器剩余空间 (S0_TX_FSR0) (S0_TX_FSR1)
端口0的发送存储器读指针 (S0_TX_RD0) (S0_TX_RD1)
端口0的发送存储器写指针 S0_TX_WR0) S0_TX_WR1) 端口0的接收数据大小 (S0_RX_RSR0) (S0_RX_RSR1)
端口0的接收存储器读指针 (S0_RX_RD0) (S0_RX_RD1) 保留
保留
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第9页
WIZnet Co., Inc http://www.wiznet.co.kr 端口1:
地址
0x0500
0x0501
0x0502
0x0503
0x0504 0x0505
0x0506 0x0507 0x0508 0x0509
0x050A
0x050B
0x050C
0x050D
0x050E
0x050F
0x0510
0x0511
0x0512
0x0513
0x0514
寄存器
端口1模式(S1_MR) 端口1命令(S1_CR) 端口1中断(S1_IR) 端口1状态(S1_SSR) 端口1的端口号 (S1_PORT0) (S1_PORT1)
端口1的目的物理地址 (S1_DHAR0) (S1_DHAR1) (S1_DHAR2) (S1_DHAR3) (S1_DHAR4) (S1_DHAR5) 端口1的目的IP地址 (S1_DIPR0) (S1_DIPR1) (S1_DIPR2) (S1_DIPR3) 端口1的目的端口号 (S1_DPORT0) (S1_DPORT1)
端口1的最大分片字节数 (S1_MSSR0) (S1_MSSR1)
IP RAW模式下端口1的协议(S1_PROTO)
地址 0x0515
0x0516 0x0517 ~ 0x051F
0x0520 0x0521
0x0522 0x0523
0x0524 0x0525
0x0526 0x0527
0x0528 0x0529 0x052A 0x052B 0x052C ~ 0x052FF
保留 保留
寄存器
端口1 的IP TOS (S1_TOS)
端口1的数据包生存期 (S1_TTL)
端口1的发送存储器剩余空间 (S1_TX_FSR0) (S1_TX_FSR1)
端口1的发送存储器读指针 (S1_TX_RD0) (S1_TX_RD1)
端口1的发送存储器写指针 (S1_TX_WR0) (S1_TX_WR1) 端口1的接收数据大小 (S1_RX_RSR0) (S1_RX_RSR1) 端口1的接收存储读指针 (S1_RX_RD0) (S1_RX_RD1) 保留
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第10页
WIZnet Co., Inc http://www.wiznet.co.kr 端口2:
地址 0x0600 0x0601 0x0602 0x0603
0x0604 0x0605
0x0606 0x0607 0x0608 0x0609 0x060A 0x060B
0x060C 0x060D 0x060E 0x060F
0x0610 0x0611
0x0612 0x0613
0x0514
寄存器说明
端口2模式(S2_MR) 端口2指令(S2_CR) 端口2中断(S2_IR) 端口2状态(S2_SSR) 端口2的端口号 (S2_PORT0) (S2_PORT1)
端口2的目的物理地址 (S2_DHAR0) (S2_DHAR1) (S2_DHAR2) (S2_DHAR3) (S2_DHAR4) (S2_DHAR5) 端口2 的目的IP地址 (S2_DIPR0) (S2_DIPR1) (S2_DIPR2) (S2_DIPR3) 端口2的目的端口号 (S2_DPORT0) (S2_DPORT1)
端口2的最大分片字节数 (S2_MSSR0) (S2_MSSR1)
IP RAW模式下端口2的协议 (S2_PROTO)
0x0626 0x0627
0x0628 0x0629 0x062A 0x062B 0x062C ~ 0x062FF
保留
0x0624 0x0625 地址 0x0615
0x0616 0x0617 ~ 0x061F
0x0620 0x0621
0x0622 0x0623
端口2的发送存储器剩余空间 (S2_TX_FSR0) (S2_TX_FSR1)
端口2的发送存储器读指针 (S2_TX_RD0) (S2_TX_RD1)
端口2的发送存储器写指针 (S2_TX_WR0) (S2_TX_WR1) 端口2的接收数据大小 (S2_RX_RSR0) (S2_RX_RSR1) 端口2的接收存储读指针 (S2_RX_RD0) (S2_RX_RD1) 保留 保留
寄存器说明
端口2的 IP TOS (S2_TOS)
端口2数据包生存期 (S2_TTL)
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第11页
WIZnet Co., Inc http://www.wiznet.co.kr 端口3:
地址
0x0700
0x0701
0x0702
0x0703
0x0704
0x0705
0x0706
0x0707
0x0708
0x0709
0x070A
0x070B
0x070C
0x070D
0x070E
0x070F
0x0710 0x0711
0x0712 0x0713
0x0714
寄存器
端口3模式(S3_MR) 端口3指令(S3_CR) 端口3中断(S3_IR) 端口3状态(S3_SSR) 端口3的端口号 (S3_PORT0) (S3_PORT1)
端口3的目的物理地址 (S3_DHAR0) (S3_DHAR1) (S3_DHAR2) (S3_DHAR3) (S3_DHAR4) (S3_DHAR5) 端口3 的目的IP地址 (S3_DIPR0) (S3_DIPR1) (S3_DIPR2) (S3_DIPR3) 端口3的目的端口号 (S3_DPORT0) (S3_DPORT1)
端口3的最大分片字节数 (S3_MSSR0) (S3_MSSR1)
IP RAW模式下端口3的协议(S3_PROTO)
地址 0x0715
0x0716 0x0717 ~ 0x071F
0x0720 0x0721
0x0722 0x0723
0x0724 0x0725
0x0726 0x0727
0x0728 0x0729 0x072A 0x072B 0x072C ~ 0x072FF
保留 保留
寄存器
端口3的 IP TOS (S3_TOS)
端口3数据包生存期 (S3_TTL)
端口3的发送存储器剩余空间 (S3_TX_FSR0) (S3_TX_FSR1)
端口3的发送存储器读指针 (S3_TX_RD0) (S3_TX_RD1)
端口3发送存储器写指针 (S3_TX_WR0) (S3_TX_WR1) 端口3接收数据大小 (S3_RX_RSR0) (S3_RX_RSR1)
端口3的接收存储器读指针 (S3_RX_RD0) (S3_RX_RD1) 保留
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第12页
WIZnet Co., Inc http://www.wiznet.co.kr 4. 寄存器功能描述
4.1 通用寄存器
MR(模式寄存器)[R/W] [0x0000] [0x00]
该寄存器用于软件复位、Ping关闭模式、PPPoE模式以及间接总线接口。
7 6 5 4 3 2 1 0 RST - - PB PPPoE - A1 IND
位 符号 说明
软件复位 7 RST 如被设置为“1”,芯片内部寄存器将被初始化。复位后自动清0
6 Reserved 保留 5 Reserved 保留
Ping阻止模式 0:关闭Ping阻止
4 PB 1:启动Ping阻止
如果该位为“1”, 将不响应Ping的请求 PPPoE模式
0:关闭PPPoE模式
3 PPPoE 1:打开PPPoE模式
如果不经过路由器直接连接到ADSL,该位必须置“1”以便与ADSL服务器连接。欲知详情,请参照“How to connect ADSL”应用笔记
2 NU 没使用
间接总线接口模式下地址自动增加 0:禁止地址自动增加
1 Al 1:开启地址自动增加
在间接总线接口模式下,当该位置“1”时,每次读/写操作后地址自动增加1。详情可参考”6.2 间接总线接口模式” 间接总线接口模式
0:禁止间接总线接口模式
0 IND 1:启动间接总线接口模式
当该位置“1”时,采用间接总线接口模式。详情可参照”6. 应用信息” ,”6.2 间接总线接口模式”
GAR(网关IP地址寄存器)[R/W] [0x0001~0x0004] [0x00]
该寄存器设置默认的网关地址。 例:如网关地址为“192.168.0.1”,则
0x0001 0x0002 0x0003 0x0004 192(0xC0) 168(0xA8)
0(0x00)
1(0x01)
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第13页
WIZnet Co., Inc http://www.wiznet.co.kr SUBR(子网掩码寄存器) [R/W] [0x0005~0x0008] [0x00]
该寄存器用来设置子网掩码(Subnet Mask)值 例:子网掩码为“255.255.255.0”,则
0x0005 0x0006 0x0007 0x0008 255(0xFF) 255(0xFF) 255(0xFF)
0(0x00)
SHAR(本机物理地址寄存器) [R/W] [0x0009~0x000E] [0x00]
该寄存器用来设置本机物理地址。
例:本机物理地址为“00.08.DC.01.02.03”,则
0x0009 0x000A 0x000B 0x000C 0x000D 0x000E 0x00 0x08 0xDC 0x01 0x02 0x03
SIPR(本机IP地址寄存器)[R/W] [0x000F~0x0012] [0x00]
该寄存器用来设置本机IP地址。 例:本机IP地址为“192.168.0.3”,则
0x000F 0x0010 0x0011 0x0012 192(0xC0) 168(0xA8)
0(0x00)
3(0x03)
IR(中断寄存器) [R] [0x0015] [0x00]
CPU通过访问该寄存器获得产生中断的来源。
任何中断源都可以被中断屏蔽寄存器(IMR)中的位屏蔽。当任何一个未屏蔽的中断位为“1”,/INT的信号将保持低电平。只有当所有未屏蔽的中断位为0,/INT才恢复高电平。
7 6 5 4 3 2 1 0 CONFLICT UNREACHPPPoE
Reserved
S3_INT S2_INT S1_INT S0_INT
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第14页
WIZnet Co., Inc http://www.wiznet.co.kr 位
符号
说明
IP地址冲突
7 CONFLICT 当一个与本机IP地址相同IP地址作ARP请求时,该位被置“1”。对该位写”1”可清0 无法到达地址
在UDP数据包发送过程中,如果目的IP地址不存在时,W5100将会收到一ICMP(目的无法到
6 UNREACH 达)数据包。(参照5.2.2.UDP)。在该状态下,IP地址及端口号将被存到UIPR和UPORT寄存器,同时该位置“1”。对该位写”1”可清0 PPPoE连接关闭
5 PPPoE 在PPPoE模式,如果PPPoE连接被关闭,该位置“1”。 对该位写”1”可清0
4 Reserved 保留
端口3中断
3 S3_INT 端口3中断产生时,该位被置“1”。(详情请参照端口中断寄存器S3_IR),当S3_IR清0,该
位自动清0 端口2中断
2 S2_INT 端口2中断产生时,此位被置“1”。(详情请参照端口中断寄存器S2_IR),当S2_IR清0,该
位自动清0 端口1中断
1 S1_INT 端口1中断产生时,此位被置“1”。(详情请参照端口中断寄存器S1_IR),当S1_IR清0,该
自动清0 端口0中断
0 S0_INT 端口0中断产生时,此位被置“1”。(详情请参照端口中断寄存器S0_IR),当S0_IR清0,该
自动清0
IMR(中断屏蔽寄存器) [R/W] [0x0016] [0x00]
中断屏蔽寄存器(IMR)用来屏蔽中断源。每个中断屏蔽位对应中断寄存器(IR)中的一个位。如果中断屏蔽位被置“1”时,任何时候只要IR对应的位也置”1”,中断将会产生。而当IMR中屏蔽位被清“0”,即使对应的IR中断位被置“1”,中断也不会产生。
7 6 5 4 3 2 1 0 IM_IR7 IM_IR6 IM_IR5 保留
IM_IR3 IM_IR2 IM_IR1 IM_IR 0
位
标志
说明
7 IM_IR7 允许IP冲突产生中断
6 IM_IR6 允许地址无法到达产生中断
允许PPPoE关闭产生中断 5 IM_IR5 4 Reserved 保留。此位应被置为“0” 3 IM_IR3 允许端口3产生中断 2 IM_IR2 允许端口2产生中断 1 IM_IR1 允许端口1产生中断 0 IM_IR0 允许端口0产生中断
RTR(重发时间寄存器)[R/W] [0x0017~0x0018] [0x07D0]
该寄存器用来设置溢出的时间值。每一单位数值为100微秒。初始化时值设为2000(0x07D0),
等于200毫秒。
例:设定400毫秒,其值为4000(0x0FA0),则
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第15页
WIZnet Co., Inc http://www.wiznet.co.kr
0x0017 0x0018 0x0F 0xA0 当发出CONNECT、DISCON、CLOSE、SEND、SEND_MAC及SEND_KEEP等命令而没有收到远程对端的响应、或响应延时,都会导致重发过程。
RCR(重发计数寄存器)[R/W] [0x0019] [0x08]
该寄存器内的数值设定可重发的次数。如果重发的次数超过设定值,则产生超时中断(相关的端口中断寄存器中的Sn_IR超时位(TIMEOUT)置“1”)。
RMSR(接收存储器配置寄存器)[R/W] [0x001A] [0x55]
此寄存器配置全部8K的RX存储空间到各指定端口。
7 6 5 4 3 2 1 0 端口3
端口2
端口1
端口0
S1 S0 S1 S0 S1 S0 S1 S0 存储器大小由S0与S1设定。
S1 S0 存储空间
0 0 1KB 0 1 2KB 1 0 4KB 1 1 8KB 在8K范围内,从端口0开始,由S0和S1确定4个端口的接收缓冲区的大小。如果有端口分配不
到存储空间,该端口就不能使用。初始化值为0x55,4个端口分别分配2K的存储空间。
例: 如果RMSR设置为0xAA,每个端口可分配4KB存储空间。但是总存储空间只有8KB,因此只有端口0和端口1可以分配4KB存储空间,而端口2和端口3则没有。因此端口2和端口3绝对不能使用。
端口3
端口2
端口1
端口0
0KB 0KB 4KB 4KB TMSR(发送存储配置寄存器)[R/W] [0x001B] [0x55]
该寄存器用来将8K的发送存储区分配给每个端口。发送存储区的设置方法与接收存储区的设置完全一样。初始化值为0x55,即每端口分别分配2KB的空间。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第16页
WIZnet Co., Inc http://www.wiznet.co.kr PATR(PPPoE模式下的认证类型)[R] [0x001C~0x001D] [0x0000]
在与PPPoE服务器连接时,该寄存器指示已经被通过的安全认证方法。W5100只支持两种安全认证类型:PAP及CHAP。
数值
认证类型
0xC023 PAP 0xC223 CHAP
PTIMER(PPP LCP请求计时寄存器)[R/W] [0x0028] [0x28]
该寄存器表示发出LCP Echo(响应请求)所需要的时间间隔。每1单位大约25毫秒。 例:当PTIMER = 200,200 x 25毫秒 = 5000毫秒 = 5秒钟
PMAGIC(PPP LCP魔数寄存器)[R/W] [0x0029] [0x00]
该寄存器用于LCP握手时采用的魔数选项。参照“How to connect ADSL”应用笔记。
UIPR(无法到达的IP地址寄存器)[R] [0x002A~0x002D] [0x00]
在UDP数据传输时(参照5.2.2. UDP),如果目的IP地址不存在,将会收到一个ICMP(地址无法到达)数据包。在这种情况下,无法到达的IP地址及端口号将分别存储到UIPR和UPORT中。
例:无法到达的IP地址为“192.168.0.11”,则
0x002A 0x002B 0x002C 0x002D 198(0xC0) 168(0xA8) 0(0x00) 11(0x0B)
UPORT(无法到达的端口号寄存器)[R] [0x002E~0x002F] [0x000C]
详情请参照UIPR所阐述的内容。
例:无法到达端口号为5000(0x138),则
0x002E 0x002F 0x13 0x88
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第17页
WIZnet Co., Inc http://www.wiznet.co.kr 4.2 端口寄存器
Sn_MR(端口n模式寄存器)[R/W] [0x0400,0x0500,0x0600,0x0700] [0x00]
该寄存器设置相应端口的选项或协议类型。
7 6 5 4 3 2 1 0 MULTI - MC - P3 P2 P1 P0
位
标志
说明
广播功能
0:关闭广播功能
7 MULTI 1:启动多广播功能
广播功能只能在UDP模式下使用。使用广播时,必需在OPEN命令前,将广播组地址和端口号写入到端口n的目的IP地址寄存器和目的端口号寄存器(n为0~3)
6 Reserved 保留
使用无延时响应
0:禁止无延时响应选项
1:允许无延时响应选项
该功能只有在TCP模式下有效,为”1”时,无论什么时候从对端收到数据,都会发送一个ACK响应,为”0”时,将根据内部延时机制发送ACK响应 5 ND/MC 广播
0:使用IGMPv2 1:使用IGMPv1
该功能只有MULTI位为“1”时有效
4 Reserved 保留
协议类型。设定端口采用的协议类型,如TCP,UDP,IP RAW型 3 P3 P3 P2 P1P0说明
0 0 0 0 关闭
2 P2 0 0 0 1 TCP 0 0 1 0 UDP 0 0 1 1 IP RAW
1 P1 端口0的协议类型增加了MAC RAW和PPPoE型
P3 P2 P1P00 P0 说明
0 1 0 0 MAC RAW 0 1 0 1 PPPoE
Sn_CR(端口n命令寄存器)[R/W] [0x0401,0x0501,0x0601,0x0701] [0x00]
该寄存器用来设置端口的初始化、关闭、建立连接、断开连接、数据传输以及命令接收等。命令执
行后,寄存器的值自动清0x00。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第18页
WIZnet Co., Inc http://www.wiznet.co.kr 数值
类型
说明
用于初始化端口。根据端口n模式寄存器(Sn_MR)的设置,端口n的状态寄存器
0x01 OPEN (Sn_SSR)的值将改变为SOCK_INIT、SOCK_UDP、SOCK_IPRAW或
SOCK_MACRAW。详情参照”5. 功能描述” 只有TCP模式有效
0x02 LISTEN 它将改变端口n的状态寄存器(Sn_SSR)为SOCK_LISTEN,以便等待远程对端发送的
连接请求。详情参照”5.2.1.1服务器模式” 只有TCP模式有效
0x04 CONNECT 它发送一个连接请求到远程对端服务器。如连接失败,将产生超时中断。详情参
照”5.2.1.2 客户端模式” 只有TCP模式时有效
它发送终止连接请求。如连接终止失败,将产生时间溢时中断。详情参照”5.2.1.1服务
0x08 DISCON 器模式”
如果用CLOSE命令代替DISCON命令,只有端口n的状态寄存器(Sn_SSR)改变成SOCK_CLOSED,而不进行终止连接过程
0x10 CLOSE 该命令用于关闭端口。它改变端口n的状态寄存器(Sn_SSR)为SOCK_CLOSED
按照端口n的TX写指针增加的大小发送数据。详情参考端口n发送剩余空间寄存器
0x20 SEND (Sn_TX_FSR)、端口n发送写指针寄存器(Sn_TX_WR)、端口n发送读指针寄存器
(Sn_TX_RR),或”5.2.1.1服务器模式” 它在UDP模式有效
基本功能与SEND相同。通常SEND操作过程需要用到由ARP解析的目标硬件地
0x21 SEND_MAC 址。而SEND_MAC操作时使用用户设置的目的物理地址(Sn_DHAR),而没有ARP过程
只有TCP模式有效
0x22 SEND_KEEP 它通过发送1个字节的数据检查端口的连接状态。如果连接已经终止或对端没有响
应,将产生超时中断
按照端口n的读指针寄存器(Sn_RX_RR)中的数据接收处理完成。
0x40 RECV 详情请参照端口n接收数据大小寄存器(Sn_RX_RSR)、端口n接收写指针寄存器
(Sn_RX_WR)、端口n接收读指针寄存器(Sn_RX_RR)
Sn_IR(端口n中断寄存器)[R] [0x0402,0x0502,0x0602,0x0702] [0x00]
该寄存器指示建立和终止连接、接收数据、发送完成以及时间溢出等信息。寄存器中相应的位被置”1”后必须写入”1”才清0。
7 6 5 4 3 2 1 0 Reserved ReservedReserved SEND_OK
TIMEOUT
说明
RECV DISCON CON
位
类型
7 Reserved 保留
6 Reserved 保留 5 Reserved 保留 4 SEND_OK 数据发送操作完成该位被置”1” 3 TIMEOUT 在连接或终止、数据发送等过程中超时,该位被置“1” 2 RECV 当端口接收到数据时置“1”,当执行CMD_RECV命令后数据仍然保留,该位也为”1” 1 DISCON 当收到终止连接请求或终止连接过程已结束时,该位被置“1” 0 CON 当连接成功时,该位被置“1”
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第19页
WIZnet Co., Inc http://www.wiznet.co.kr Sn_SR(端口n状态寄存器)[R] [0x0403,0x0503,0x0603,0x0703] [0x00]
该寄存器指示端口n的状态数值。端口n的主要状态如下图:
数值 符号 说明
当向Sn_CR写入CLOSE命令产生超时中断或连接被终止,将出现
0x00 SOCK_CLOSED SOCK_CLOSED状态。在SOCK_CLOSED状态不产生任何操作,释放所
有连接资源
当Sn_MR设为TCP模式时,向Sn_CR中写入OPEN命令时将出现
0x13 SOCK_INIT SOCK_INIT状态。这是端口建立TCP连接的开始。在SOCK_INIT状态,
Sn_CR命令的类型决定了操作类型—TCP服务器模式或TCP客户端模式 当端口处于SOCK_INIT状态时,向Sn_CR写入LISTEN命令时将产生
0x14 SOCK_LISTEN SOCK_LISTEN状态。相应的端口设置为TCP服务器模式,如果收到连接
请求将改变为ESTABLISHED状态
当端口建立连接时将产生SOCK_ESTABLISHED状态,在这种状态下可以
0x17 SOCK_ESTABLISHED 发送和接收TCP数据
当收到来自对端的终止连接请求时,将产生SOCK_CLOSE_WAIT状态。在
0x1C SOCK_CLOSE_WAIT 这种状态,从对端收到响应信息,但没有断开。当收到DICON或CLOSE
命令时,连接断开
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第20页
WIZnet Co., Inc http://www.wiznet.co.kr 0x22 SOCK_UDP 当Sn_MR设为UDP模式,向Sn_CR写入OPEN命令时将产生
SOCK_UDP状态,在这种状态下通信不需要与对端建立连接,数据可以直接发送和接收
当Sn_MR设为IPRAW模式,向Sn_CR写入OPEN命令时将产生
SOCK_IPRAW状态,在IP RAW状态, IP层以上的协议将不处理。详情请参考”IPRAW”
当Sn_MR设为MACRAW模式,向S0_CR写入OPEN命令时将产生SOCK_MACRAW状态。在MAC RAW状态,所有协议数据包都不处理,详情请参考”MAC RAW”
当Sn_MR设为PPPoE模式,向S0_CR写入OPEN命令时将产生SOCK_PPPOE状态
0x32 SOCK_IPRAW 0x42 SOCK_MACRAW 0x5F SOCK_PPPoE 以下是端口状态改变时产生的状态。
数值 符号 说明
端口n在SOCK_INIT状态,向Sn_CR写入CONNECT命令时将出现
SOCK_SYNSENT状态。如果连接成功,将自动改变为SOCK_ESTABLISH当接收到远程对端(客户端)发送的连接请求时,将出现SOCK_SYNRECV状态。响应请求后,状态改变为SOCK_ESTABLISH
0x15 SOCK_SYNSENT 0x16 SOCK_SYNRECV 0x18 SOCK_FIN_WAIT 在连接终止过程中将出现这些状态。如果连接终止已完成,或产生了时间溢0x1A SOCK_CLOSING 0x1B SOCK_TIME_WAIT 出中断,状态将自动被改变为SOCK_CLOSED 0x1D SOCK_LAST_ACK 在TCP模式下发出连接请求或在UDP模式下发送数据时,当发出ARP请求
0x11
以获得远程对端的物理地址时,将出现SOCK_ARP状态。如果收到ARP响
0x21 SOCK_ARP
应,将产生SOCK_SYNSENT、SOCK_UDP或SOCK_ICMP状态,以便下
0x31
面的操作
Sn_PORT(端口n的端口号寄存器)[R/W] [0x0404~0x0405,0x0504~0x0505,0x0604~0x0605,0x0704~0x0705] [0x00]
该寄存器在TCP或UDP模式下设定对应端口的端口号。这些端口号必须在进行OPEN指令之前完成。
例:如端口0的端口号为5000(0x1388),则
0x0404 0x0405 0x13 0x88 Sn_DHAR(端口n的目的物理地址寄存器)[RXW] [0x0406~0x040B,0x0506~0x050B,0x0606~0x060B,0x0706~0x070B] [0x00]
该寄存器设置每个端口的目的物理地址。
例:如端口0的目的物理地址为08.DC.00.01.02.10,则
0x0406 0x0407 0x0408 0x0409 0x040A 0x040B 0x08 0xDC 0x00 0X01 0x02 0x0A 成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第21页
WIZnet Co., Inc http://www.wiznet.co.kr Sn_DIPR(端口n的目的IP地址寄存器)[R/W] [0x040C~0x040F,0x050C~0x050F,0x060C~0x060F,0x070C~0x070F] [0x00]
在TCP模式,该寄存器设置端口的目的IP地址。在主动模式(客户端模式),目的IP地址必需设置后才能执行连接(CONNECT)命令。在被动模式时(服务器模式),W5100建立连接后,内部自动刷新目的IP地址。
在UDP模式,收到对端的ARP响应后,该寄存器才确定为用户写入的值。没有收到对端的ARP响应之前,该寄存器复位。
例:如端口0的目的IP地址为192.168.0.11,则
0x040C 0x040D 0x040E 0x040F 192(0xC0) 168(0xA8) 0(0x00) 11(0x0B)
Sn_DPORT(端口n的目的端口号寄存器)[R/W] [0x0410~0x0411,0x0510~0x0511,0x0610~0x0611,0x0710~0x0711] [0x00]
在TCP模式,该寄存器设置端口的目的端口号。在主动模式下(客户端模式),目的端口号必需设置后再执行连接(CONNECT)命令。在被动模式下(服务器模式),W5100建立连接后,内部自动刷新目的端口号。
在UDP模式,收到对端的ARP响应后,该寄存器才确定为用户写入的值。在没有收到对端的ARP响应之前,该寄存器复位。
例:如端口0的目的端口号为5000(0x1388),则
0x0410 0x0411 0x13 0x88
Sn_MSS(端口n最大分片长度寄存器)[R/W] [0x0412~0x0413,0x0512~0x0513,0x0612~0x0613,0x0712~0x0713] [0x00]
在TCP模式,该寄存器设置端口的最大分片长度,如果TCP在被动模式(Passive Mode)下,该寄存器的值由其它部分设置。
例:设置端口0的 MSS为1460(0x05B4),则
0x0412 0x0413 0x05 0xB4
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第22页
WIZnet Co., Inc http://www.wiznet.co.kr Sn_PROTO(端口n的IP协议寄存器)[R/W] [0x0414,0x0514,0x0614,0x0714] [0x00]
在IP RAW模式下,IP协议寄存器用来设置IP数据包头的协议字段(Protocol Field)的值。IANA预先注册了一些协议号可以使用。IANA网站可查出全部的IP层协议代码。参考IANA的在线文档(http://www.iana.org/assignments/protocol-numbers)
例:ICMP的协议号为0x01,IGMP的协议号为0x02。
Sn_TOS(端口n的IP服务类型寄存器)[R/W] [0x0415,0x0515,0x0615,0x0715] [0x00]
该寄存器用来设置IP数据包头中的服务类型(TOS)字段的值。
Sn_TTL(端口n的IP数据包生存期寄存器)[R/W] [0x0416,0x0516,0x0616,0x0716] [0x80]
该寄存器用来设置IP数据包头中的生存期(TTL)字段的值。
Sn_TX_FSR(端口n发送存储器剩余空间寄存器)[R] [0x0420~0x0421,0x0520~0x0521,0x0620~0x0621,0x0720~0x0721] [0x0800]
该寄存器指示用户可使用的发送数据空间的大小。在发送数据时,用户必需先检查剩余空间的大小,然后控制发送数据的字节数。检查该寄存器时,必需先读高字节(0x0420,0x0520,0x0620,0x0720),然后再读低字节(0x0421,0x0521,0x0621,0x0721)。
例:端口0的剩余空间为2048字节(0x0800),则
0x0420 0x0421 0x08 0x00 端口发送总空间的大小由发送存储器空间寄存器(TMSR)确定。在数据发送处理过程中,剩余空间的大小将因写入数据而减少,发送完成后自动增加。
Sn_TX_RR(端口n发送存储器读指针寄存器)[R] [0x0422~0x0423,0x0522~0x0523,0x0622~0x0623,0x0722~0x0723] [0x0000]
该寄存器指示端口在发送过程完成后发送存储器的当前位置。当端口n的命令寄存器收到SEND命令,从当前Sn_TX_RR到Sn_TX_WR的数据将发送出去,发送完成后,Sn_TX_RR的值自动改变。因此发送完成后,Sn_TX_RR的值与Sn_TX_WR的值相等。用户读取该寄存器时,必须先读高字节(0x0422,0x0522,0x0622,0x0722),然后再读低字节(0x0423,0x0523,0x0623,0x0723)。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第23页
WIZnet Co., Inc http://www.wiznet.co.kr Sn_TX_WR(端口n传输写指针寄存器)[R/W] [0x0424~0x0425,0x0524~0x0525,0x0624~0x0625,0x0724~0x0725] [0x0000]
该寄存器指示在向TX存储器写入数据时的地址。用户读取该寄存器时,必须先读高字节(0x0424,0x0524,0x0624,0x0724),然后再读低字节(0x0425,0x0525,0x0625,0x0725)。
例:如0端口的S0_TX_WR的值为2048(0x0800),则
0x0424 0x0425 0x08 0x00 从该寄存器读出的地址值不是实际访问的物理地址,实际物理地址需要按照以下方法计算: 1. 端口n的发送存储器的基地址(以下称gSn_TX_BASE)及端口n的发送屏蔽地址(以下称
gSn_TX_MASK)由TMSR的值确定。 2. 将Sn_TX_WR与gSn_TX_MASK的值作\"位与\"运算,得到该端口在存储区间范围内的地址偏
移量(以下称get_offset) 3. 将偏移量get_offset与基地址gSn_TX_BASE相加,得到实际访问的物理地址(以下称
get_start_address)。 从地址get_start_address写入要发送的数据。(在写入过程中,如果物理地址到达端口设定的高限地址,此时,先 将数据写入高限地址,然后将当前的物理地址改成基地址(gSn_TX_BASE),并从基地址继续写入剩余的数据)。
写完数据后,将Sn_TX_WR中的值加上写入的数据长度,然后再写入到Sn_TX_WR,以指示发送数据的长度,最后才在Sn_CR(端口n指令寄存器)中写入SEND指令。(详情参照\"5.2.1.1TCP服务器”中的发送篇)。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第24页
WIZnet Co., Inc http://www.wiznet.co.kr
Sn_RX_RSR(接收数据字节数寄存器)[R] [0x0426~0x0427,0x0526~0x0527,0x0626~0x0627,0x0726~0x0727] [0x0000]
该寄存器指示端口接收数据缓冲区中接收数据的字节数。这个值是由Sn_RX_RR与Sn_RX_WR的值计算得出的,向端口n命令寄存器(Sn_CR)写入RECV命令后寄存器的值自动改变,并可以接收远程对端的数据。读取寄存器时,必须先读高字节(0x0426,0x0526,0x0626,0x0726),然后再读低字节(0x0427,0x0527,0x0627,0x0727)。
例:如端口0的S0_RX_RSR值为2048(0x0800),则
0x0426 0x0427 0x08 0x00 该寄存器的最大值由RMSR确定。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第25页
WIZnet Co., Inc http://www.wiznet.co.kr Sn_RX_RD(端口n接收缓冲区读指针寄存器)[R/W] [0x0428~0x0429,0x0528~0x0529,0x0628~0x0629,0x0728~0x0729] [0x0000]
该寄存器指示端口接收过程完成后的读地址信息。读取该寄存器时,必须先读高字节(0x0428,0x0528,0x0628,0x0728),然后再读低字节(0x0429,0x0529,0x0629,0x0729)。
例:如端口0的S0_RX_RR值为2048(0x0800),则
0x0428 0x0429 0x08 0x00 从该寄存器读出的地址值不是实际访问的物理地址。实际物理地址按以下方法计算:
1. 端口n接收缓冲区RX的基地址(以下称gSn_RX_BASE)及端口n的RX屏蔽地址(以下称
gSn_RX_MASK)由RMSR的值确定。(详情可参照5.1初始化设置部分)
2. 将Sn_RX_WR与gSn_RX_MASK的值作\"位与\"运算,得到该端口接收存储区内的偏移量(以
下称get_offset)
3. 将偏移量get_offset与基地址gSn_RX_BASE相加,得到实际访问的物理地址(以下称
get_start_address) 现在可以根据物理地址(get_start_address)读取数据。(在读数据过程中,如果物理地址到达该端口设定的高限地址,此时,先读取高限地址的数据,然后将物理地址改为基地址gSn_RX_BASE,并从基地址继续读取剩余的数据)。
读完所有的数据后,将Sn_RX_RR的值加上读取的数据长度,然后写入到Sn_RX_RR,最后向端口n的指令寄存器(Sn_CR)写入RECV命令。(详细内容请参照TCP服务器模式中的接收部分)。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第26页
WIZnet Co., Inc http://www.wiznet.co.kr 5. 功能描述
通过设置寄存器和存储器,W5100就可以进行Internet连接。这一章叙述操作过程。
5.1 初始化
基本设置
W5100的操作需要设置以下寄存器的参数: 1. 模式寄存器(MR)
2. 中断屏蔽寄存器(IMR) 3. 重发时间寄存器(RTR) 4. 重发计数寄存器(RCR)
以上寄存器的详细资料请参考“寄存器描述”一节。
设置网络信息
下面的寄存器是关于网络的基本配置,需要根据网络环境来进行设置。 1. 2. 3. 4.
网关地址寄存器(GAR)
本机物理地址寄存器(SHAR) 子网掩码寄存器(SUBR) 本机IP地址寄存器(SIPR)
本机物理地址寄存器(SHAR)的地址是MAC层的硬件地址,这是生产商指定使用的地址。MAC地址可以由IEEE指定。(详情请参照IEEE网站)
设置端口存储器信息
这一步设置端口Tx/Rx存储器信息,每个端口的基地址和屏蔽地址在这里确定并保存。
In case of, assign 2K rx memory per socket. {
RMSR = 0x55;
// assign 2K rx memory per socket.
gS0_RX_BASE = chip_base_address + RX_memory_base_address(0x6000); gS0_RX_MASK = 2K – 1 ;
// 0x07FF, for getting offset address within assigned socket 0 RX memory.
gS1_RX_BASE = gS0_BASE + (gS0_MASK + 1); gS1_RX_MASK = 2K – 1 ;
gS2_RX_BASE = gS1_BASE + (gS1_MASK + 1); gS2_RX_MASK = 2K – 1 ;
gS3_RX_BASE = gS2_BASE + (gS2_MASK + 1); gS3_RX_MASK = 2K – 1 ;
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第27页
WIZnet Co., Inc http://www.wiznet.co.kr TMSR = 0x55;
// assign 2K tx memory per socket.
Same method, set gS0_TX_BASE, gS0_TX_MASK, gS1_TX_BASE, gS1_TX_MASK, gS2_TX_BASE, gS2_TX_MASK, gS3_TX_BASE and gS3_TX_MASK.
}
In case of, assign 4K,2K,1K,1K. {
RMSR = 0x06;
// assign 4K,2K,1K,1K rx memory per socket.
gS0_RX_BASE = chip_base_address + RX_memory_base_address(0x6000);
gS0_RX_MASK = 4K – 1 ; // 0x0FFF, for getting offset address within assigned socket 0 RX memory. gS1_RX_BASE = gS0_BASE + (gS0_MASK + 1); gS1_RX_MASK = 2K – 1 ; // 0x07FF
gS2_RX_BASE = gS1_BASE + (gS1_MASK + 1); gS2_RX_MASK = 1K – 1 ; // 0x03FF
gS3_RX_BASE = gS2_BASE + (gS2_MASK + 1); gS3_RX_MASK = 1K – 1 ; // 0x03FF
TMSR = 0x06; // assign 4K,2K,1K,1K rx memory per socket. Same method, set gS0_TX_BASE, gS0_TX_MASK, gS1_TX_BASE, gS1_TX_MASK, gS2_TX_BASE, gS2_TX_MASK, gS3_TX_BASE and gS3_TX_MASK.
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第28页
WIZnet Co., Inc http://www.wiznet.co.kr 5.2 数据通信
通过TCP、UDP、IP_RAW和MAC_RAW模式进行数据通信。在端口n的模式寄存器(Sn_MR)的协议类型选择通信模式(W5100总共支持4个端口)。
5.2.1 TCP
TCP是以连接为基础的通信方式,它必须首先建立连接,然后利用连接的IP地址和端口号进行数据传输。TCP有两种连接方式:一种是服务器模式(被动开启),即等待接收连接请求以建立连接;另一种是客户端模式(主动开启),即发送连接请求到服务器。
服务器模式 客户端模式
5.2.1.1 服务器模式
端口初始化
初始化一个端口需要设置运行模式和端口号,并在端口命令寄存器打开(OPEN)端口。端口初始化涉及到以下寄存器:
端口n模式寄存器(Sn_MR)
本机端口n的端口号(Sn_PORT) 端口n命令寄存器(Sn_CR)
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第29页
WIZnet Co., Inc http://www.wiznet.co.kr
将端口n初始化为TCP模式
{ START:
Sn_MR = 0x01;
/* sets TCP mode */
Sn_PORT = source_port; /* sets source port number */ Sn_CR = OPEN;
/* sets OPEN command */
if (Sn_SR != SOCK_INIT) {
Sn_CR = CLOSE; goto START;
}
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第30页
WIZnet Co., Inc http://www.wiznet.co.kr 侦听
在命令寄存器设置LISTEN命令,涉及到寄存器是。 端口n命令寄存器(Sn_CR)
{
Sn_CR = LISTEN;
/* listen socket */
if (Sn_SR != SOCK_LISTEN) {
Sn_CR = CLOSE; goto START;
}
}
// check socket status
连接成功?
当接收到远程对端发来的连接请求(SOCK_SYNRECV状态),W5100将回复ACK数据包,并将状态改变成SOCK_ESTABLISHED。该状态可以用以下方法检测到。
第一种方法:
{
If (Sn_IR(CON bit) == ‘1’)
goto ESTABLISHED stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
第二种方法:
{
If (Sn_SR == SOCK_ESTABLISHED)
goto ESTABLISHED stage;
}
一旦建立连接,即可以发送和接收数据。
连接成功:收到数据?
通过以下方法可检测到是否收到从远程对端发来的数据。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第31页
WIZnet Co., Inc http://www.wiznet.co.kr 第一种方法:
{
If (Sn_IR(RECV bit) == ‘1’)
goto Receiving Process stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
第二种方法:
{
if (Sn_RX_RSR != 0x0000)
goto Receiving Process stage;
}
连接成功:读取数据过程
数据读取过程如下:
{
/* first, get the received size */ get_size = Sn_RX_RSR; /* calculate offset address */
get_offset = Sn_RX_RD & gSn_RX_MASK; /* calculate start address(physical address) */ get_start_address = gSn_RX_BASE + get_offset; /* if overflow socket RX memory */
if ( (get_offset + get_size) > (gSn_RX_MASK + 1) ) {
/* copy upper_size bytes of get_start_address to destination_addr */ upper_size = (gSn_RX_MASK + 1) – get_offset;
memcpy(get_start_address, destination_addr, upper_size); /* update destination_addr*/ destination_addr += upper_size;
/* copy left_size bytes of gSn_RX_BASE to destination_addr */ left_size = get_size – upper_size;
memcpy(gSn_RX_BASE, destination_addr, left_size);
} else {
/* copy get_size bytes of get_start_address to destination_addr */ memcpy(get_start_address, destination_addr, get_size);
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第32页
WIZnet Co., Inc http://www.wiznet.co.kr }
/* increase Sn_RX_RD as length of get_size */ Sn_RX_RD += get_size; /* set RECV command */ Sn_CR = RECV;
}
连接成功:发送数据? / 发送过程
数据发送过程如下:
{
/* first, get the free TX memory size */
FREESIZE:
get_free_size = Sn_TX_FSR; if (get_free_size < send_size)
goto FREESIZE;
/* calculate offset address */
get_offset = Sn_TX_WR & gSn_TX_MASK; /* calculate start address(physical address) */ get_start_address = gSn_TX_BASE + get_offset; /* if overflow socket TX memory */
if ( (get_offset + send_size) > (gSn_TX_MASK + 1) ) {
/* copy upper_size bytes of source_addr to get_start_address */ upper_size = (gSn_TX_MASK + 1) – get_offset; memcpy(source_addr, get_start_address, upper_size); /* update source_addr*/ source_addr += upper_size;
/* copy left_size bytes of source_addr to gSn_TX_BASE */ left_size = send_size – upper_size;
memcpy(source_addr, gSn_TX_BASE, left_size);
} else {
/* copy send_size bytes of source_addr to get_start_address */ memcpy(source_addr, get_start_address, send_size);
}
/* increase Sn_TX_WR as length of send_size */ Sn_TX_WR += send_size; /* set SEND command */ Sn_CR = SEND;
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第33页
WIZnet Co., Inc http://www.wiznet.co.kr 连接成功:接收完成?
等待接收远程对端发来的终止连接请求。可以通过以下方法检测远程对端发送的终止连接请求。 第一种方法:
{
If (Sn_IR(DISCON bit) == ‘1’)
goto CLOSED stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
第二种方法:
{
If (Sn_SR == SOCK_CLOSE_WAIT)
goto CLOSED stage;
}
连接成功:断开连接?/ 断开过程
检查是否有终止连接的请求。终止连接的处理过程如下:
{
/* set DISCON command */ Sn_CR = DISCON;
}
连接成功:关闭端口?
没有连接状态。可按检查如下: 第一种方法:
{
If (Sn_IR(DISCON bit) == ‘1’)
goto CLOSED stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第34页
WIZnet Co., Inc http://www.wiznet.co.kr 第二种方法: {
If (Sn_SR == SOCK_CLOSED)
goto CLOSED stage;
}
连接成功:超时
在数据接收或连接终止过程中,因远程对端的故障而终止连接,数据传输不能正常进行。这种情况下,等待一段时间后,将产生超时错误。
第一种方法:
{
If (Sn_IR(TIMEOUT bit) == ‘1’)
goto CLOSED stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
第二种方法:
{
If (Sn_SR == SOCK_CLOSED)
goto CLOSED stage;
}
端口关闭
数据交换完成后,端口需要终止连接;或产生超时错误时,端口必须关闭;或因非正常操作而使端口强迫终止连接。在这几种情况下都必须执行端口关闭,操作如下:
{
/* set CLOSE command */ Sn_CR = CLOSE;
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第35页
WIZnet Co., Inc http://www.wiznet.co.kr 5.2.1.2 客户端模式
处理过程如下:
端口初始化
请参照5.2.1.1 服务器模式(与服务器程序同)
连结
发送连接请求到远端主机服务器,程序如下:
{
/* Write the value of server_ip, server_port to the Socket n Destination IP Address Register(Sn_DIPR), Socket n Destination Port Register(Sn_DPORT). */ Sn_DIPR = server_ip; Sn_DPORT = server_port; /* set CONNECT command */ Sn_CR = CONNECT;
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第36页
WIZnet Co., Inc http://www.wiznet.co.kr 建立连接?
可按照下面方法检测端口是否连接成功。 第一种方法:
{
If (Sn_IR(CON bit) == ‘1’)
goto ESTABLISHED stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
第二种方法:
{
If (Sn_SR == SOCK_ESTABLISHED)
goto ESTABLISHED stage;
}
超时
当远程对端没有响应而产生超时并使端口关闭,检测如下。 第一种方法:
{
If (Sn_IR(TIMEOUT bit) == ‘1’)
goto CLOSED stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
第二种方法:
{
If (Sn_SR == SOCK_CLOSED)
goto CLOSED stage;
}
建立连接
请参照5.2.1.1 服务器一节(与服务器处理过程相同)
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第37页
WIZnet Co., Inc http://www.wiznet.co.kr 5.2.2 UDP
UDP是一种不可靠的、无连接的数据传输方式。它不需要建立连接就可以进行数据传输,因此UDP的信息可能丢失、覆盖或反转。由于数据包传输的速度可能比较快,接收方可能无法及时处理数据包,因此,用户在应用层必须确保数据传输的可靠性。UDP的传输过程如下:
端口初始化
UDP的端口初始化过程如下:
{ START:
/* sets UDP mode */ Sn_MR = 0x02;
/* sets source port number */
/* The value of Source Port can be appropriately delivered when remote HOST knows it. */ Sn_PORT = source_port; /* sets OPEN command */ Sn_CR = OPEN;
/* Check if the value of Socket n Status Register(Sn_SR) is SOCK_UDP. */ if (Sn_SR != SOCK_UDP) {
Sn_CR = CLOSE; goto START;
} }
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第38页
WIZnet Co., Inc http://www.wiznet.co.kr 接收到数据?
可通过下面方法检测是否接收到远程数据。 第一种方法:
{
if (Sn_RX_RSR != 0x0000)
goto Receiving Process stage;
}
第二种方法:
{
If (Sn_IR(RECV bit) == ‘1’)
goto Receiving Process stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
接收处理
接收的数据可以按照下面的方法处理。在UDP传输时,在接收的数据前面有一个8字节的头。其结构如下:
{
/* first, get the received size */ get_size = Sn_RX_RSR; /* calculate offset address */
get_offset = Sn_RX_RD & gSn_RX_MASK; /* calculate start address(physical address) */ get_start_address = gSn_RX_BASE + get_offset; /* read head information (8 bytes) */ header_size = 8;
/* if overflow socket RX memory */
if ( (get_offset + header_size) > (gSn_RX_MASK + 1) ) {
8字节头 UDP 数 据IP地址(4) 端口号(2) 字节长度(2)UDP数据长度不包括8字节的头 成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第39页
WIZnet Co., Inc http://www.wiznet.co.kr /* copy upper_size bytes of get_start_address to header_addr */ upper_size = (gSn_RX_MASK + 1) – get_offset; memcpy(get_start_address, header_addr, upper_size); /* update header_addr*/ header_addr += upper_size;
/* copy left_size bytes of gSn_RX_BASE to header_addr */ left_size = header_size – upper_size;
memcpy(gSn_RX_BASE, header_addr, left_size); /* update get_offset */ get_offset = left_size;
} else {
/* copy header_size bytes of get_start_address to header_addr */ memcpy(get_start_address, header_addr, header_size); /* update get_offset */ get_offset += header_size;
}
/* update get_start_address */
get_start_address = gSn_RX_BASE + get_offset; /* save remote peer information & received data size */ peer_ip = header[0 to 3]; peer_port = header[4 to 5]; get_size = header[6 to 7]; /* if overflow socket RX memory */
if ( (get_offset + get_size) > (gSn_RX_MASK + 1) ) {
/* copy upper_size bytes of get_start_address to destination_addr */ upper_size = (gSn_RX_MASK + 1) – get_offset;
memcpy(get_start_address, destination_addr, upper_size); /* update destination_addr*/ destination_addr += upper_size;
/* copy left_size bytes of gSn_RX_BASE to destination_addr */ left_size = get_size – upper_size;
memcpy(gSn_RX_BASE, destination_addr, left_size);
} else {
/* copy get_size bytes of get_start_address to destination_addr */ memcpy(get_start_address, destination_addr, get_size);
}
/* increase Sn_RX_RD as length of get_size+header_size */
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第40页
WIZnet Co., Inc http://www.wiznet.co.kr Sn_RX_RD = Sn_RX_RD + get_size + header_size; /* set RECV command */ Sn_CR = RECV;
}
发送数据?/发送处理
数据发送过程如下:
{
/* first, get the free TX memory size */
FREESIZE:
get_free_size = Sn_TX_FSR; if (get_free_size < send_size)
goto FREESIZE;
/* Write the value of remote_ip, remote_port to the Socket n Destination IP Address Register(Sn_DIPR), Socket n Destination Port Register(Sn_DPORT). */ Sn_DIPR = remote_ip; Sn_DPORT = remote_port; /* calculate offset address */
get_offset = Sn_TX_WR & gSn_TX_MASK; /* calculate start address(physical address) */ get_start_address = gSn_TX_BASE + get_offset; /* if overflow socket TX memory */
if ( (get_offset + send_size) > (gSn_TX_MASK + 1) ) {
/* copy upper_size bytes of source_addr to get_start_address */ upper_size = (gSn_TX_MASK + 1) – get_offset; memcpy(source_addr, get_start_address, upper_size); /* update source_addr*/ source_addr += upper_size;
/* copy left_size bytes of source_addr to gSn_TX_BASE */ left_size = send_size – upper_size;
memcpy(source_addr, gSn_TX_BASE, left_size);
} else {
/* copy send_size bytes of source_addr to get_start_address */ memcpy(source_addr, get_start_address, send_size);
}
/* increase Sn_TX_WR as length of send_size */ Sn_TX_WR += send_size;
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第41页
WIZnet Co., Inc http://www.wiznet.co.kr /* set SEND command */ Sn_CR = SEND;
}
发送完成?
在发送(SEND)命令后,可以通过下面的方法检测数据是否全部发送完成。 第一种方法:
{
If (Sn_CR == 0x00)
transmission is completed;
}
第二种方法:
{
If (Sn_IR(SENDOK bit) == ‘1’)
transmission is completed;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
超时
当远程对端不存在、或数据传输不正常时将产生超时错误。可以通过下面方法检测:
{
If (Sn_IR(TIMEOUT bit) == ‘1’)
goto next stage;
/* In this case, if the interrupt of Socket n is activated, interrupt occurs. Refer to Interrupt Register(IR), Interrupt Mask Register (IMR) and Socket n Interrupt Register (Sn_IR). */
}
完成?/ 端口关闭
当发送操作全部完成后,关闭端口。
{
/* set CLOSE command */ Sn_CR = CLOSE;
}
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第42页
WIZnet Co., Inc http://www.wiznet.co.kr 5.2.3 IP RAW
W5100不能支持传输层的某些协议,如ICMP或IGMP,可使用IP RAW模式来实现。处理过程如下:
端口初始化
IP RAW端口的初始化过程如下:
{ START:
/* sets IP raw mode */ Sn_MR = 0x03; /* sets Protocol value */
/* The value of Protocol is used in Protocol Field of IP Header.
For the list of protocol identification number of upper classification, refer to on line documents of IANA (http://www.iana.org/assignments/protocol-numbers). */ Sn_PROTO = protocol_value; /* sets OPEN command */ Sn_CR = OPEN;
/* Check if the value of Socket n Status Register(Sn_SR) is SOCK_IPRAW. */ if (Sn_SR != SOCK_IPRAW) {
Sn_CR = CLOSE; goto START;
} }
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第43页
WIZnet Co., Inc http://www.wiznet.co.kr IP RAW收到数据?
与UDP相同,请参照5.2.2 UDP
接收数据处理
除了数据包头信息和大小与UDP不同,其它与UDP相同,参照5.2.2 UDP。IP RAW数据前面有6字节的数据,其结构如下:
IP地址(4) 数据长度(2) 6字节头 IP RAW 数 据数据长度不包括6字节的头IP RAW发送数据?/发送处理
除了不需要远程端口号以外,其它与UDP相同。参照5.2.2 UDP。
发送完成 超时
完成?/端口关闭
处理过程与UDP相同。参照5.2.2 UDP。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第44页
WIZnet Co., Inc http://www.wiznet.co.kr 5.2.4 MAC raw
只有端口0支持MAC Raw功能。
端口初始化
将端口0初始化为MAC Raw的过程如下:
{ START:
/* sets MAC raw mode */ Sn_MR = 0x04;
/* sets OPEN command */ Sn_CR = OPEN;
/* Check if the value of Socket n Status Register(Sn_SR) is SOCK_MACRAW. */ if (Sn_SR != SOCK_MACRAW) {
Sn_CR = CLOSE; goto START;
} }
收到数据?
处理过程与UDP相同,参考5.2.2 UDP
接收数据处理
MAC Raw收到的是以太网的数据包,并带有数据包长度信息。 在MAC Raw数据包中,前面有两个字节的头,头的结构如下:
数据长度(2)数据长度不包括2字节的头2字节头 MAC Raw 数 据发送数据/发送处理
与UDP的处理相同,只是不需要远程端口信息。参考5.2.2 UDP。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第45页
WIZnet Co., Inc http://www.wiznet.co.kr 6. 应用资料
W5100有三种方式与MCU接口:直接总线接口、间接总线接口和SPI总线接口。
6.1 直接总线接口
直接总线接口采用15位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。
6.2 间接总线接口
间接总线接口采用2位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。[14:2]没用到的地址线经过电阻接地。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第46页
WIZnet Co., Inc http://www.wiznet.co.kr 间接总线接口相关的寄存器说明如下: 数值
符号
说明
间接总线模式下的地址寄存器。只在大端模式(Big-endian)下使用。
0x01 0x02 0x01 0x02
IDM_AR0 IDM_AR1
IDM_AR0:MSB IDM_AR1:LSB
例:读取端口0的命令寄存器S0_CR(0x0401),则
0x01(IDM_AR0) 0x02(IDM_AR1)
0x04 0x01 0x00 MR 它选择间接总线接口模式,以及地址自动增加。详情参照第4章寄存器说明。
0x03 IDM_DR 间接总线接口模式下的数据寄存器
读/写内部寄存器或存储器的过程如下:
1. 先将要读写的地址写入到IDM_AR0和IDM_AR1寄存器
2. 再从IDM_DR寄存器读写数据
如果要对某个地址顺序地读写,则可以将模式寄存器MR的AI置”1”,然后执行一次上述第1项后,在读写IDM_DR,IDM_AR的值将自动加1。这样,只需要连续对IDM_DR读写,数据就可以连续地读出或写入。
6.3 SPI总线接口
串行接口模式只需要4个引脚进行数据通信。这4个引脚的定义分别为:SCLK、/SS、MOSI、MISO。W5100的SPI_EN引脚选择SPI操作。
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第47页
WIZnet Co., Inc http://www.wiznet.co.kr 6.3.1 设备操作
主控制器(SPI的主设备)发出一系列指令控制W5100的运行。SPI主设备通过四个信号线与W5100通信:从设备选择(/SS)、串行时钟(SCLK)、MOSI(主出从入)和MISO(主入从出)。 SPI协议定义了四种操作模式(模式0、1、2、3),每种模式的差异在于SCLK时钟极性和相位,它控制数据在SPI总线上传输。
W5100工作在SPI从设备的模式0,这是最通用的工作模式。
模式0和模式3的唯一差别在于非工作状态时的时钟SCLK的极性。在SPI模式0和模式3,数据在时钟SCLK的上升沿锁定,在时钟SCLK的下降沿输出。
6.3.2 命令
根据SPI协议,SPI设备之间只有2条数据线。因此需要定义操作代码(OP-Code)。W5100使用两种操作代码——读代码和写代码。除了这两种代码,其它的操作码都不响应。
在SPI模式,W5100使用“完整32位数据流”。
完整的32位数据流包括一个字节的操作码、2个字节的地址码和1个字节的数据。
操作码、地址和数据字节传输都是高位(MSB)在前低位(LSB)在后。换句话说,SPI数据的第一位是操作码的高位(MSB),最后一位是数据的低位(LSB)。W5100的SPI数据格式如下:
命令
操作码
地址
1111 0000 2字节 0000 1111 2字节
数据
1字节 1字节
写操作 0xF0 读操作 0x0F 6.3.3 SPI主设备操作
1.配置SPI主设备输入/输出方向
z /SS(从设备选择):输出
z SCLK(串行时钟):输出 z MOSI(主输出从输入):输出 z MISO(主输入从输出):输入 2.将/SS置高电平
3.设置SPI主设备的寄存器
z SPI允许位在SPCR寄存器
z 主/从设备选择位在SPCR寄存器 z SPI模式选择在SPCR寄存器
z SPI数据速率位在SPCR寄存器和SPSR寄存器(SPI状态寄存器)
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第48页
WIZnet Co., Inc http://www.wiznet.co.kr 4.向SPI数据寄存器(SPDR)写入要传输的数据 5.将/SS置低电平 6.等待接收完成
7.如果所有数据都传输完成,将/SS置高电平
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第49页
WIZnet Co., Inc http://www.wiznet.co.kr 7. 电气规格
7.1极限值
注意:超过这些极限值可能会造成器件永久损坏。
7.2 直流特征
7.3 功耗
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第50页
WIZnet Co., Inc http://www.wiznet.co.kr 7.4 特征
7.4.1 复位时钟
7.4.2 寄存器 / 存储器读出时钟图
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第51页
WIZnet Co., Inc http://www.wiznet.co.kr 7.4.3 寄存器/存储写入时钟图
7.4.4 SPI时钟图
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第52页
WIZnet Co., Inc http://www.wiznet.co.kr
7.4.5 晶体特性
7.4.6 变压器特性
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第53页
WIZnet Co., Inc http://www.wiznet.co.kr 8 回流焊温度表图(无铅封装)
湿度感应度:3级 需要干燥包装
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第54页
WIZnet Co., Inc http://www.wiznet.co.kr 9. 封装概述
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第55页
C WIZnet Co., Inc http://www.wiznet.co.kr
成都浩然电子有限公司 http://www.hschip.com
©Copyright 2008. All rights reserved.
第56页
因篇幅问题不能全部显示,请点此查看更多更全内容