快速发布采购 管理采购信息

W5100是一款功能齐全的单芯片互联网

时间:2019-4-12, 来源:互联网, 文章类别:元器件知识库

一款功能齐全的单芯片互联网10/100以太网控制器专为嵌入式应用而设计,易于集成,稳定性,性能,面积和系统成本控制是必需的。 W5100的设计便于使用没有OS的Internet连接的实现。 W5100是IEEE 802.3 10BASE-T和符合802.3u 100BASE-TX标准。W5100包括完全硬连线,经过市场验证的TCP / IP协议栈和集成以太网MAC和PHY。硬连线TCP / IP堆栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP和PPPoE多年来已在各种应用中得到证实。 16Kbytes内部缓冲区包括用于数据传输。无需考虑处理以太网控制器,但是需要简单的套接字编程。为了便于集成,三种不同的接口,如内存访问方式,称为直接,MCU端支持间接总线和SPI。目标应用W5100非常适合许多嵌入式应用,包括:- 家庭网络设备:机顶盒,PVR,数字媒体适配器- 串口转以太网:门禁控制,LED显示,无线AP继电器等- 并行到以太网:POS /迷你打印机,复印机- USB到以太网:存储设备,网络打印机- GPIO到以太网:家庭网络传感器- 安全系统:DVR,网络摄像机,信息亭- 工厂和建筑自动化- 医疗监测设备- 嵌入式服务器

特征- 支持硬连线TCP / IP协议:TCP,UDP,ICMP,IPv4 ARP,IGMP,PPPoE,以太网- 嵌入10BaseT / 100BaseTX以太网PHY- 支持自动协商(全双工和半双工)- 支持Auto MDI / MDIX- 支持ADSL连接(支持PPPoE协议和PAP / CHAP身份验证模式)- 同时支持4个独立插座- 不支持IP分段- 用于Tx / Rx缓冲器的内部16K字节存储器- 0.18μmCMOS技术- 具有5V I / O信号容差的3.3V操作- 小型80针LQFP封装- 无铅封装- 支持串行外设接口(SPI MODE 0,3)- 多功能LED输出(TX,RX,全/半双工,碰撞,链接,速度)

(套接字IP协议寄存器)[R / W] [0x0414,0x0514,0x0614,0x0714][0×00]该IP协议寄存器用于在IP层RAW上设置IP报头的协议字段模式。通过向IANA注册,可以预先定义多个协议编号。为了IP正在使用的上层协议标识号的总列表

Internet控制消息协议(ICMP)= 0x01,Internet组管理协议=0×02Sn_TOS(Socket n IP服务类型寄存器)[R / W] [0x0415,0x0515,0x0615,0x0715][0×00]该寄存器设置在IP报头的TOS(服务类型)字段。Sn_TTL(Socket n IP生存时间寄存器)[读/写] [0x0416,0x0516,0x0616,0x0716] [0x80]该寄存器设置在IP标头的TTL(生存时间)字段。Sn_TX_FSR(Socket n TX Free Size Register)[R] [0x0420-0x0421,0x0520-0x0521,0x0620-0x0621,0x0720-0x0721] [0x0800]该寄存器通知用户可以传输的数据大小的信息。对于数据传输时,用户应首先检查该值并控制传输数据的大小。检查该寄存器时,用户应首先读取高位字节(0x0420,0x0520,0x0620,0x0720)然后降低字节(0x0421,0x0521,0x0621,0x0721)以获得正确的值。例)如果在S0_TX_FSR中为2048(0x0800),0x0420 0x04210x08 0x00总大小可以根据TX Memory Size Register的值来决定。在过程中传输时,它会减少传输数据的大小,并自动增加传输结束后。

Sn_TX_RR(Socket n TX读指针寄存器)[R] [0x0422-0x0423,0x0522-0x0523,0x0622-0x0623,0x0722-0x0723] [0x0000]该寄存器显示TX存储器完成传输的地址。随着SEND命令Socket n命令寄存器,它将数据从当前的Sn_TX_RR发送到Sn_TX_WR并在传输完成后自动更改。因此,之后传输完成后,Sn_TX_RR和Sn_TX_WR将具有相同的值。读这个寄存器,用户应首先读取高字节(0x0422,0x0522,0x0622,0x0722)和低字节(0x0423,0x0523,0x0623,0x0723)稍后获取正确的值。Sn_TX_WR(Socket n TX写指针寄存器)[R / W] [0x0424-0x0425,0x0524-0x0525,0x0624-0x0625,0x0724-0x0725] [0x0000]该寄存器提供写入传输数据的位置信息。读这个寄存器,用户应首先读取高字节(0x0424,0x0524,0x0624,0x0724)和低字节(0x0425,0x0525,0x0625,0x0725)稍后获取正确的值。例)如果在S0_TX_WR中为2048(0x0800),0x0424 0x04250x08 0x00但是这个值本身并不是写入的物理地址。所以,物理地址应该是计算如下。1.套接字n TX基地址(以下称为gSn_TX_BASE)和Socket n TX Mask地址(以下称为gSn_TX_MASK)是根据TMSR值计算的。参考如果需要细节,则初始化的psedo代码。2.两个值Sn_TX_WR和gSn_TX_MASK的按位与运算给出结果套接字的TX内存范围中的偏移地址(以下称为get_offset)。3.将两个值get_offset和gSn_TX_BASE加在一起得到结果物理地址(以下我们称之为get_start_address)。现在,将传输数据写入get_start_address,尽可能大。 (*有一个案例它在写入时超过了套接字的TX内存上限。在这种情况下,写传输数据到上限,并将物理地址更改为gSn_TX_BASE。接下来,写下剩余的传输数据。)之后,请务必将Sn_TX_WR值增加到指示的数据大小写数据的大小。最后,将SEND命令发送给Sn_CR(套接字n命令寄存器)

Sn_RX_RSR(RX接收大小寄存器)[R] [0x0426-0x0427,0x0526-0x0527,0x0626-0x0627,0x0726-0x0727] [0x0000]该寄存器通知RX存储器中接收的数据大小。因为这个值是内部的使用Sn_RX_RD和Sn_RX_WR的值计算,它由RECV自动更改命令Socket n命令寄存器(Sn_CR)和远程对等端接收数据。什么时候读取该寄存器,用户应首先读取高位字节(0x0426,0x0526,0x0626,0x0726)较低字节(0x0427,0x0527,0x0627,0x0727)稍后获取正确的值。例)如果在S0_RX_RSR中为2048(0x0800),0x0426 0x04270x08 0x00可以根据RX存储器大小寄存器的值来确定该值的总大小。Sn_RX_RD(Socket n RX读指针寄存器)[R / W] [0x0428-0x0429,0x0528-0x0529,0x0628-0x0629,0x0728-0x0729] [0x0000]该寄存器提供读取接收数据的位置信息。读这个寄存器,用户应首先读取高字节(0x0428,0x0528,0x0628,0x0728)和低字节(0x0429,0x0529,0x0629,0x0729)稍后获取正确的值。例)如果在S0_RX_RD中为2048(0x0800),0x0428 0x04290x08 0x00但是这个值本身并不是要阅读的物理地址。所以,物理地址应该是计算如下。1. Socket n RX Base Address(以下我们称之为gSn_RX_BASE)和Socket n RX Mask地址(以下称为gSn_RX_MASK)根据RMSR值计算。参考如果需要细节,则5.1初始化的伪代码。2.两个值Sn_RX_RD和gSn_RX_MASK的按位与运算给出结果在套接字的RX存储器范围内的偏移地址(以下我们将调用get_offset)。3.将两个值get_offset和gSn_RX_BASE加在一起得到结果物理地址(以下我们称之为get_start_address)。现在,根据需要从get_start_address中读取接收数据。 (*有一个案例它在读取时超过了套接字的RX存储器上限。在这种情况下,请阅读接收数据到上限,并将物理地址更改为gSn_RX_BASE。接下来,读取剩余的接收数据。)之后,请务必将Sn_RX_RD值增加到与指示数据大小一样大的值

读数据的大小。 (*不得增加超过接收数据的大小。所以必须检查Sn_RX_RSR在接收进程之前。)最后,给出Sn_CR的RECV命令(Socket n命令寄存器)。

技术文章分类
相关技术文章