wcn v高性能网络连接解决方案_第1页
wcn v高性能网络连接解决方案_第2页
wcn v高性能网络连接解决方案_第3页
wcn v高性能网络连接解决方案_第4页
wcn v高性能网络连接解决方案_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

版日描和W5300一起4.4SOCKET WO,更改描述,4.4SOCKET在MSS表中,更改MACRAW的 MSS值( 变 5.2.1.1TCP>>▪:接收数据处理在<注意>部分,更改示例代码用‘SEND_KEEP’替换‘SEND5.2.4MACRAW在<注意>部分更改剩余字节大小和剩余字节大小 变 ,从CRC(2)变为 参增加引脚“BRDYn”“1.3主机接口信号5.2.1.1TCP>>▪:接收数据处理在<注意>部分,更改了示例代码’1.‘8’1.2ADDR类型(从IDI),没有内部下拉更改DATA[15:0]类型(从IO变为IO8)6.2.ADDR[9:0]没有内部下拉电阻,因此ADDR[9:3] ◦更改图0.1uF 1.7XTLP/XTLN7.DC:更改VOHVOL:VOHMin2.0(2.4),:VOL– ◦改变图---更改表1.8电源信号--1V8O:1.8V稳压电压输电容值0.1uF-更改图2WIZnet技术支如果您对于WIZnet的产品有问题,请在WIZnet主页 /)的”技术支持”下的问答版写下您的问题,WIZnet工程师会尽快回复您。W5300是一个0.18µm的CMOS技术的单,集成了10/100以太网控制器、MAC和TCP/IP。W5300于互联网嵌入式应用,它具有易于安装、稳定、高性能和有效成本等特点。W5300的目标应用是需要诸如多流服务的高性能的嵌入式网络解决方案。和现有的WIZnet方案相比,W5300提高了和数据处理功能。W5300最适合应用于IPTV、IP-STB和具有高容量的DTV转换多数据等产品。只需使用集成了TCP/IP协议和10/100以太网MAC、PHY的单—W5300,便可快速简单地完高性能硬件TCP/IP单解决方WIZnet保持了通信协议的全硬件逻辑技术TCP、UDPIPv4、ICMPIGMP、ARP和PPPoE为了提供高性能的数据通信,W5300的数据通信扩充为128KB,且支持16bit的总线接口。用户可以使用8个独立的硬件SOCKET实现高速数据通信。更加灵活的内存分配数据通信的可以按照0~64KB分配给每一个SOCKET,用户可根据自己的应用更灵活地利用存初学者易于完W5300支持总线接口,如主机接口。通过使用直接或间接的存取方式,就像是SRAM器与主机通信一样,W5300可以非常简单的实现与主机互联。W5300的数据通信可通过存在于每一个SOCKET的X/RXFFO寄存器存取。有了这些特点,即使是初学者可使用W5300完成网络连接。W5300适用于许多嵌入式应用,包括家庭网络设备:机顶盒、机、数字适配串口到以太网:控制、LED显示屏并行以太网:POS/微型、复印USB到以太网:设备、网络GPIO到以太网安全系统:系统、机 工厂和楼宇自动特,同时支持8个独立的高网络性能:高达支持混合TCP/IP协议栈(软件和硬件TCP/IP协议栈支持PPPoE连接(在PAP/CHAP认证模式下不支持IP用于数据通信的内部128KB器(内部TX/RX器根据应用程序的吞吐量,更加灵活的分配内部TX/RX支持器到器的DMA方式(只是16bit数据总线宽度,从属模式嵌入式10BaseT/100BaseTX以太网支持自动协商(全双共和半双工支持自动MDI/MDIX(交叉支持一个外部PHY而不是内部支持16/8支持2个主机接口模式(直接地址模式和间接地址模式,内部150MHz内核工作频率 周期=约网络工作频率(NIC_CLK:25MHz(100BaseTX)或3.3V电压工作,I/O端口可5V电嵌入式的功率调节器,用于1.8V0.18µmCMOS100LQFP14X14TCP/IPTCP/IPHostBusExternalMedia3rdPartyEthernetMIIManager -802.3EthernetRegisterHostInterface128KBTX/RXMemoryPLL(锁相环通过倍乘25Hz时钟源六倍,锁相环产生一个150Hz时钟信号。150Hz时钟用于运行内部模块,比如CP/IP块,“主机接口管理器”和“寄存器管理器”。复位后PLL被锁住,且提供一个稳定功率调节器输入3.3V电压,功率调节器产生1.8V/150mA电源。该功率调节器提供W5300的内核电压。不需根据数据总线宽度或主机接口模式,主机接口管理器探测主机总线信号,管理主机的读/写操作寄存器管理器(Register寄存器管理器管理模式寄存器 通用寄存器和套接口寄存器管理器管理器管理着128KB的内部数据器——主机给每一个套接口分配的TX/R器。主机可以只通过每一个套接口的TX/RXFIFO寄存器器。128KBTX/RX它是用于数据通信的128KB,由16个8KB的DPAM(双端口随即器)组成。由主机灵活地分配给每一个套接口。MII(介质独立接口)该模块管理MII接口。根据TEST_MODE[3:0]的配置,MII接口可以切换成内部PHY或外部内部以太网W5300包含10BaseT/100BaseTXPHY。内部PHY支持半双工/全双工、自动协商和自动TCP/IP核是基于WIZnet网路协议处理技术的全硬件逻辑802.3以太网MAC(介质控制控制CSMA/CD(带监测的载波侦听多路)以太网。是基于一个48位的源/目的PPPoE(以太网上的点到点协议PPoE是在以太网上使用PPP服务的协议技术。它将以太网帧的有效负荷(数据)压缩为PPP帧并发送出去。当接收时,它将PPP帧解包。PPoE支持用PPoE服务器和AP/CHAP认证方法进行通信。ARP(地址解析协议IP(因特网协议IP是在IP层支持数据通信的协议技术。不支持IP分片。不接收分段的封包。除了TCP或之外,支持所有的协议。在TCP或UDP的情况下ICMP(因特网控制消息协议CMP接收ICP包,如MU片段和不可到达的目的地,并通知主机。在接收-请求CMP包之后,ICMP发送-回复CMP包。CMP支持最大119字节的-请求大小。如果大小超过了119字节,将不支持。IGMPv1/v2(因特网组管理协议版本1和版本2。当使用IGMP的更高版本时,需要通过使用IP层手动完成该过程。UDP(用户数据报协议UDP是在UDP层支持数据通信的协议技术,支持用户数据报,如单播、多播和广播TCP(传输控制协议TCP是在TCP层支持数据通信的协议技术,支持“TCPSERVER”和“TCP W5300不需主机的干扰在内部处理所有协议通信,W5300基于TOE(TCP/IPOffloadEngine),表引脚描 引脚布 配置信 主机接口信 介质接口信 外部PHY的MII接口信 网络指示LED信 时钟信 电源信 系统器映 W5300寄存 模式寄存 间接模式寄存 通用(COMMON)寄存 套接口(SOCKET)寄存 寄存器描 模式寄存 间接模式寄存 通用(COMMON)寄存 套接口(SOCKET)寄存 功能描 初始 数据通 外部接 直接地址模 16位数据总线宽 8位数据总线宽 间接地址模 16位数据总线宽 8位数据总线宽 内部PHY模 外部PHY模 电气规格说 红外回流温度剖面(无铅 封装描 图列图1.引脚布 图2.电源设 图3.器映 图4.‘BRDYn’时 图5.SOCKETn状态转 图6.内部TX 图7.内部RX 图8.SOCKETn的内部TX/RX器分 图9."TCP服务器"和"TCP客户端 图10."TCPSERVER"操作流 图11.接收的TCP数据格 图12. "操作流 图13.UDP操作流 图14.接收的UDP数据格 图16.接收的IPRAW数据格 图18.接收的MACRAW数据格 图19.内部PHY和LED信 图20.外部PHY与W5300的MII接 类描类描I输D用75KΩ电阻O输出2mA的驱动M多动输入/输出(双向H高电平有U用75KΩ电阻L低电平有输出8mA的驱动:OM:引脚布1.描32100描32100000内部PHYMode正常运行00010010带振荡时钟的外部PHY模其(出厂测试模式描210000正常运行模式,建使能自动协商所有功001自动协商100BASE-TXFDX/HDX功010自动协商10BASE-TFDX/HDX功011保100手动选择100BASE-TX101手动选择100BASE-TX110手动选择10BASE-T111手动选择10BASE-T符类描W5300配置W5300的PHY模式和出厂测试在外部PHY模式,通过时钟源改变Clock输入。请参考“1.7时钟信内部PHY操作控制模式配置内部PHY的操作模cfFDX全双工HDX:半双工主机接口信符类描复硬件复位信号。初始化W5300RESET应该在拉低后保持至少2us,且在撤销高电平后等“7电气说明”的RESETW5300不支持上电复位。因此,复位应该手动设计在目标系统中16/8位数据总线选择高:16位数据总线低:8位数据总线决定W5300的数据在复位时间时,它被锁存在模式寄存器(MR)的第15位(‘BW’)复位后,将忽略它的改变。这意味着在复位后数据总线宽度不能被改变。当使用8位数据总线时,该引脚应该接地。I地系统地址总线。主机接口模式和W5300的数据总线宽度选择这些引脚,当使用16位数据总线时,内部忽略ADD0。数系统数据总线用于W5300寄存器的读/写操在使用8位数据总线的情况下,这些引脚被驱动为High- 数系统高低位数据总线。用于W5300寄存器的读/写操片片选信号在W5300读/写操作时主机选择W5300当 被撤销高电平时,DATA[15:0]被驱动成High-Z写使能写使主机通过ADDR[9:0]寻址通过DATA[15:0]写W5300寄存器根据Write-data-fetch-timing配置,DATA[15:0]被锁存在W5300寄存器请参考13-11thbit(MR的WDF[2:0])读使能读使通过ADDR[9:0]须寻址,主机通过DATA[15:0]读W5300寄存器中中断请求信号。当在运行过程中发生中断(连接、断开连接、接收数据、发送数据或超时)时该信号被拉低。当主机完成中断服务,主机清除中断寄存器,该信号被拉高。请参断寄存其(IR)、中断寄存器(IMR,InterruptMaskRegister)SOCKETn中断寄存器(Sn_IRSOCKETnInterruptRegister)、SOCKETn中断寄存器(Sn_IMR,SOCKETnInterruptO缓冲准备好指示这些引脚由用户配置SOCKET号、器类型和缓冲器大小。当特定端口的发送剩余字节或接收字节是一样的或比已经配置好的缓冲大小要大,这些引脚拉高或低。介质接口信=“置信号”符类描IRXIP/RXIN差分接收输入信号对。从介质接收数据。该信号对需要2个50Ω(±1%)终端电阻和1个0.1uF电容以进行更好的阻抗匹配,该电阻/电容对位于磁性(变压器)附近。如I果不使用,就将它OTXOP/TXON差分传输输出信号对。传输数据到介质。该信号对需要2个50Ω(±1%)终端电阻和1个0.1uF电容以进行更好的阻抗匹配,该电阻/电容对位于W5300附近。如果不使O用,就将它O片外电阻该引脚应该用12.3KΩ±1电阻拉为了更好的性能如果有可能,使 信号对(RX)的长度一样长如果有可能,使 信号对(TX)的长度一样长使RXIP和RXIN使TXOP和TXON详细信息,请参考“W5100布局指南.pdf”。外部PHY的MII接口信用于外部PHY(TEST_Mode[3:0]=“0001”“0010”)“1.2ConfigurationSignals”在内部PHY模式时 悬空这些引脚,因为除了多功能引脚之外的引脚都在内部拉低符类描TransmitActLED传输活动LED/该信号指示在MI_TD[30]上存在传输包。当在MII_TD[30]上的传输包的第一个半字节数据是有效的时,该引脚是高电平;当传输包的最后一个半字节数据通过MI_TD3:0]进来后,该信号被撤销为低电平/传输包与MII_TXC时钟同步,且以半字节为单位输出到外部PHYMII_TXD3是最高有效位(MSB)传输时钟输入它是一个来自外部PHY的连续传输时钟。在100BaseTX时是25MHz,在10BaseT时是2.5MHz。传输时钟用作MII_TXD[3:0]的上升载波侦听该信号用于告知介质的连接拥挤(linktraffic)。如果介质载波检异步信号接收数据输入MII_RXDV是高电平时,接收的包与MII_RXC同步,且以半字MII_RXD3是MSB接收数据有效该信号指示存在从MII_RXD[3:0]来的当MI_RD[3:0]上的接收包的第一个半字节数据时有效地时,它是高电平;当接收数据的最后半字节数据在MII_RD[3:0]上被输入时,该信号被撤销为低电平。当MII_RXC在上升沿时有效接收时钟输入它是从外PHY来的连续的接收时钟100BaseTX时是25MHz,在10BaseT时是2.5MHz。接收时钟用于MII_RXD[3:0]上升全双工选择:全双:半双该信号是来自PHY的输入信号,指示外部PHY的连接状态。大部分的PHY支持自动协商,且将结果通知给网络指示LED或其他信号。它可连接到这些信号,也可连接到高电平或低电平手动配置为了更好的性能有以下建议可能的话,MII接口信号线长度不应该超过25cmMII_TXD[3:0]MII_RXD[3:0]的长度尽MII_TXC的长度不应该比MII_TXD[3:0]信号线长2.5cmMII_RXC的长度不应该比MII_RXD[3:0]信号线长2.5cm网络指示LED信符类描连接指示介质(10/100M)的连接状传输活动LED/传输使告知通过TXOP/TXON的传输数据输出(传输活动)接收活动ED符类描连接指示介质(10/100M)的连接状传输活动LED/传输使告知通过TXOP/TXON的传输数据输出(传输活动)接收活动ED/传输数告知从RXIP/RXIN的传输数据输入(接收活动) 用“与门”将/TXLED和/RXLED连接起来,可用于网络活LEDLED/传输数当发生时发出通知。半双工时有效,全双工时忽略该信号全双工LED/传输数根据自动协商或的OP_MODE[2:0]手动配置情况,该信号在100Mbps时是低电平,在10Mbps时是高电平时钟信符类描25MHz晶振输入/这些可用于内部PHY模式 或有晶振时钟的外PHY模式(TEST_MODE[3:0]=”0001”)符类描25MHz晶振输入/这些可用于内部PHY模式 或有晶振时钟的外PHY模式(TEST_MODE[3:0]=”0001”)当在内部PHY模式使用振荡器,确定使用1.8V电平并只连接到 。且XTLNI25MHz振荡信号输入只用于外部HY模式(EST_MODE[3:0]=0010)的振荡器信号。为了露电流,必须保持XTLP为高电平并将XTN悬空,振荡信号为18V。泄电源信符类描电3.3V模拟电源确保在VCC343与GNDA之间接10uF的钽电容以电源补偿电3.3V数字电源电1.8V模拟电源在VCC1A8和GNDA之间接10uF的钽电容和0.1uF的电容 以过W5300内核的电源噪声电1.8V数字电源在每一个VCC和GND之间,可以选择性地接0.1uF的去藕地模拟电源地在设计PCB布局时,模拟电源地尽底数字电源地在设计PCB布局时,数字电源地尽1V8O1.8V稳压器输出内部电源稳压器输出1.8v/150mA电源,用于 内核的工(VCC1A8,VCC1V8)。确保在1V8O引脚与GND之间接3.3uF的钽电容用于输出频率补偿,选择性地接10uF的电容用于高频噪声去藕。1V8O连接到VCC1V8,经过1uH的铁氧体磁珠电感连接到<注意>:1V8O是为W5300的内核工作供电。它不能给其它器件提2.电源系统设去藕电容应尽量靠近W5300系统器映根据主机接口,W5300支持直接地址模式和间接地在直接地址模式,目标主机系统可以将W5300的寄存器映射到空间而直接W5300的寄存器。直接地址模式中器映射是由模式寄存器(MR)、通用(COMMON)寄存器和端口(SOCKET)寄存器组成的。这些寄存器从主机系统的址(BaseAddess)开始以2字节递增方式连续映射在主机器空间。使用映射地址,主机系统可以直接模式寄存器MR、通用(COMMON)寄存器和端口(SOCKET)寄存器。使用直接地址模式,只需要0x400字节的器空间。在间接地址模式,目标主机系统通过IDM_AR寄存器(间接模式地址寄存器)和IDM_DR寄存器(间接模式数据寄存器)间接的MON寄存器和SOCKET寄存器。IDM_AR、和MR直接映射在主机地址空间间接地址模式寄存器映射表是由可直接的MR、IDM_AR和IDM_DR寄存器和可间接的通(COMMON)寄存器和端口(SOCKET)寄存器构成。只有MR、DM_AR和DM_DR寄存器从目标主机系统址开始以2字节递增方式连续映射在目标主机系统的地址空间。而COMMON和SOCKET寄存器不映射在主机地址空间,这些寄存器是通过DM_AR和DM_DR间接。使用间接地址模式,只需要0x06字节的器空间。在间接地址模式,当目标主机系统通用(COMMON)寄存器的中断寄存器(IR)时,过程如下主机写:设置IDM_AR0x0002,IR(IDM_AR设置IDM_DR为 (IDM_DR=主机读:IDM_AR为0x0002,IR地址(IDM_AR读IDM_DR并保存的 W5300的主机接口模式由MR寄存器的‘IND’位(第0位)确定MR(00

BA+0x000BA+0x002BA+MR(ModeMR(ModeIR(InterruptIMR(InterruptMask..IDR(IS0_MR(SOCKET0ModeBA+ BA+0x1FEBA+BA+0x240BA+x280BA+0x2C0BA+0x300BA+0x340BA+BA+0x3C0BA+…直接地址模式…

ode模式寄存ommon通用寄存SCKET端口寄存

BA+0x002BA+

0x00

间接地址模式(MR(0)

图3.器映

W5300寄存W5300的寄存器由MR寄存器(决定直接地址模式和间接地址模式)、IDM_AR和IDM_DR寄存(只用于间接地址模式)、COMMON寄存器和SOCKET寄存器组成MR、IDM_AR和IDM_DR映射在主机地址空间,COMMON寄存器和SOCKET寄存器则根据地址模式映射在主机地址空间或.M.S(W5300内部地址空间)。 所有寄存器有字节、字节、字节或字节。根据目标主机系统的数据总线宽度,主机W5300时,在16位数据总线宽度时为2字节偏移,在8位数据总线宽度时为1字节偏移当W5300的寄存器映射在主机空间时,W5300的实际物理地址计算如下W5300W5300寄存器的实际物理地址 器空间的址+W5300寄存器偏移W5300寄存器字节顺序采用大端模式,即低地址的寄存器在高字节MR:MR0MR:MR0MR的低地址寄存器(0x000),最高字节MR1:MR的高地址寄存器(1x001),最低字节MR(15:5):11位(MR寄存器的第15位到第5位)MR(0):MR寄存器的第0位,MR1的第0位MR(13):MR寄存器的第13位,MR0的第5位MR0(7):MR15位,MR0寄存器的最MR(DWBMRDWB位(DWBBitSHAR:本机硬件地址寄存器SHAR2:本机硬件地址的第三个字节寄存器(地址偏移量:0x00A)SHAR3:本机硬件地址的第节寄存器(地址偏移量:0x00B)SHAR4:本机硬件地址的第五个字节寄存器(地址偏0x00C)模式寄存地址偏符描间接模式寄存地址偏符描间接模式地间接模式数通用(COMMON)寄存地址偏符描中断寄存中断寄存保本机硬件地保网关地址寄存器地址偏符描子网掩码寄存器本机IP地址寄重传超时值寄存保重新传输计端口0传输器大小配置寄存端口1传输器大小配置寄存端口2传输器大小配置寄存端口3传输器大小配置寄存端口4传输器大小配置寄存端口5传输器大小配置寄存端口6传输器大小配置寄存端口7传输器大小配置寄存端口0接收器大小配置寄存端口1接收器大小配置寄存端口2接收器大小配置寄存端口3接收器大小配置寄存端口4接收器大小配置寄存端口5接收器大小配置寄存端口6接收器大小配置寄存端口7接收器大小配置寄存器单元类型寄存器PPPoE认证寄存地址偏符描保保PPPLCPPPPLCP保PPPID保PPP目的硬件地保无法的IP地址寄存无法的端寄存分片最大传输单元(MTU)寄保::保地址偏符描保"BRDY0""BRDY0保"BRDY1""BRDY1保"BRDY2""BRDY2保"BRDY3""BRDY3保::保W5300ID套接口(SOCKET)寄存地址符描SOCKET0保SOCKET0保SOCKET0中断寄存保SOCKET0保SOCKET0SOCKETSOCKET0SOCKET0SOCKET0SOCKET0目的IPSOCKET0SOCKET0保SOCKET0TOS保SOCKET0TTL地址符描保SOCKET0TX保SOCKET0TX保SOCKET0RX保SOCKET0FLAG寄存SOCKET0TXFIFO保::::保地址符描SOCKET1保SOCKET1保SOCKET1中断寄存保SOCKET1保SOCKET1SOCKETSOCKET1SOCKET1SOCKET1SOCKET1目的IP地址寄存器SOCKET1SOCKET1保SOCKET1TOS保保SOCKET1TTL地址符描保SOCKET1TX保SOCKET1TX保SOCKET1RX保保SOCKET1IPSOCKET1TXFIFOSOCKET1RXFIFO保::::保地址符描SOCKET2模式寄保SOCKET2保SOCKET2中断寄存保SOCKET2保SOCKET2SOCKETSOCKET2SOCKET2SOCKET2SOCKET2目的IPSOCKET2SOCKET2保SOCKET2TOS保SOCKET2TTL地址符描保SOCKET2TX保SOCKET2TX保SOCKET2RX保SOCKET2IPSOCKET2TXFIFOSOCKET2RXFIFO保::::保地址符描SOCKET3保SOCKET3保SOCKET3中断寄存保SOCKET3保SOCKET3SOCKETSOCKET3SOCKET3SOCKET3SOCKET3目的IPSOCKET3SOCKET3SOCKET3保SOCKET3TOS保SOCKET3TTL寄存地址符描保SOCKET3TX保SOCKET3TX保SOCKET3RX保SOCKET3IPSOCKET3TXFIFOSOCKET3RXFIFO保::::保地址符描SOCKET4保SOCKET4保SOCKET4中断寄存保SOCKET4保SOCKET4SOCKETSOCKET4SOCKET4SOCKET4SOCKET4目的IPSOCKET4SOCKET4SOCKET4保SOCKET4TOS保SOCKET4TTL地址符描保SOCKET4TX保SOCKET4TX保SOCKET4RX保SOCKET4IPSOCKET4TXFIFOSOCKET4RXFIFO保::::保地址符描SOCKET5保SOCKET5保SOCKET5中断寄存保SOCKET5保SOCKET5SOCKETSOCKET5SOCKET5SOCKET5SOCKET5目的IPSOCKET5SOCKET5SOCKET5保SOCKET5TOS保SOCKET5TTL地址符描保SOCKET5TX保SOCKET5TX剩余字节长度寄存器保SOCKET5RX保SOCKET5IPSOCKET5TXFIFOSOCKET5RXFIFO保::::保地址符描SOCKET6保SOCKET6保SOCKET6中断寄存保SOCKET6保SOCKET6SOCKETSOCKET6SOCKET6SOCKET6SOCKET6目的IPSOCKET6SOCKET6SOCKET6保SOCKET6TOS保SOCKET6TTL地址偏移符描保SOCKET6TX保SOCKET6TX保SOCKET6RX保SOCKET6IPSOCKET6TXFIFOSOCKET6RXFIFO保::::保地址符描模式寄存保SOCKET7保SOCKET7中断寄存保SOCKET7保SOCKET7SOCKETSOCKET7SOCKET7SOCKET7SOCKET7目的IPSOCKET7SOCKET7SOCKET7保SOCKET7TOS保SOCKET7TTL地址符描保SOCKET7TX保SOCKET7TX保SOCKET7RX保SOCKET7IPSOCKET7TXFIFOSOCKET7RXFIFO保::::保符---符-------复位100X00符-------复位0000000[表示方法符号(名称Symbol:寄存器的符号Name:寄存器的名称R/W:读/写RO:WO: :W5300寄存器的物理地址(直接地址模式) :W5300寄存器的地址偏移(间接地址模式 :为了方便起见,假设W5300在CPU系统的映射地址为0x08000,即W5300寄存器的物理址即为0x08000。Pn_:缓存准备PINn("BRDYn")寄存器前缀Pn_BRDYR(BRDYn配置寄存器0n3)Sn_MRSOCKETn模式寄存器,0n7)Symboloflowaddress Bit 地址偏Symbolofhighaddress Bit 地址偏-:保留 1:逻辑高电 0:逻辑低电X:不 U:1或 (R):只读16位寄存器符号8位寄存器符8位寄存器符(MSB模式寄存MR(模式寄存器)[R/W][0x08000][0x3800或MR寄存器设置W5300的工作模式,诸如主机接口模式,Sn_TX_FIFOR和Sn_RX_FIFOR的的交换、软件复位、内部TX/RX器测试、数据总线的MSB/LSB交换和地址模式等8-11100076543210--00000000位符描数据0:8位数据1:16位数据总线宽在W5300复位期间,这个值由BT16EN引脚的电平确定。复位后,这个值不改变。请参考“1.1引脚布局”的BIT16EN的描MAC层终止数据报文::当从路由器或交换机收到终止报文时,该位置‘1’。当设置为‘1’时,将停止数据传输,直到该位为‘0’。写数据时当主机写数据操作时,/CS为低电平后,W5300在WRF×PLL_CLK时间后取走入的数据‘/CS’读数据保持时间::使用数据保持时间(2PLL2×PLL_CLK时间之内保持的数据。在这种情况下,注意数据总线上的数据9-保8FIFO:交:它用于高字节(MB)和低字节(LSB)的交换。W5300的字节一般采用大端模式。如果主机系统采用小端模式,那么将该位置‘1’,将n_TX_FIFOR和Sn_RX_FIFOR的字节顺序交换,使用效果与小端模式相同位符描7软件复位6-保5器测试位:内部RX/TX器测:允许内部RX/TX器测一般来讲,W5300内部TX器支持主机通过n_T_FIFOR寄存器的写操作而内部RX器只支持主机通过Sn_RX_FIFOR寄存器的读操作。如果该位‘1’,内部RX/TX器同时支出通过Sn_TX_FIFOR和n_X_FIFOR的读写作,从而校验内部T/X器。4功能模01:使能当该位置‘1’,ICMP逻辑功能模块的自动‘’应答功能被。不产生对‘’请求所进行的‘’应答过程(ICMP请求响应)。cf>即使 模式为‘0’,当用户使用ICMP端口(Sn_MR[3:P0]=n_MR_IPRW和Sn_PROOR1=0x01),自动应答是不处理的。自动应答支持最多119个字节。3PPPoE模式:PPPoE模:允许PPPoE2数据总线交换:交:1-保0间接总线I/F::它设置W5300的主机间接模式寄存可以间接COMMON和SOCKET寄存器(也即是只需要映射在空间的MR,IDM_AR,IDM_AR(间接模式地址寄存器)[R/W] 它设置需要间接的COMMON寄存器或OCKET寄存器的地址偏移。IDM_AR(0)或IDM_A10)是IDM_AR的最低位,该位忽略不计。 例)S4_RX_FIFOR(0x330)的方法如下:IDM_AR0 IDM_DR(间接模式数据寄存器)[R/W] 它用于间接COMMON寄存器或者SOCKET寄存器的实际数据值。当使用8位数据总线任何寄存器的低字节时应该使用IDM_DR1寄存器。而高字节时则使IDM_DR0寄存器它由 在8位数据总线中,如果主机地址IDM_AR的低字节则使用IDM_DR1,高字节则使例1)当主机向IR0x002)写入16BitDataBusWidth(MR(DBW)=8BitDataBusWidth(MR(DBW)=IDM_AR=IDM_AR0=IDM_DR=IDM_AR1=IDM_DR0=IDM_DR1=例2)主机读IR(0x0FE)且将该值在’val’变量中16BitDataBusWidth(MR(DBW)=8BitDataBusWidth(MR(DBW)=IDM_AR=IDM_AR0=val=IDM_AR1=val=val=(val<<8)+ MSB(IR0)ofLSB(IR1)of通用(COMMON)寄存(R寄存器表示W5300向主机申请中断的类型。当任何中断产生时,IR相关的位置‘1’,而如果中断寄存器的相应位也为‘1’,那么‘/NT’将输出低电平信号。‘/INT’将保持低电平,直到IR寄存器的所有位都为‘0’。如果IR的所有位都为‘0’,‘/INT’将变为高电平。为了清除IR0中设置为‘1’的位,主机应该向它相应的位写入‘1’。而对于I1中为‘1’的位,只有当相关的n_IR的所有位为‘0’,它将自动清除。8----000000007654321000000000位符描IP当IP地址产生时,该位置1’(当接收ARP请求数据包的IP地址与W5300本机P地址相同)。当它置‘1’时,网络中的另外一个设备使用了相同的IP地址引起了通信问题。因此需要尽快采取措施解决这个问题。目标端口无法到PPPoE在PPPoE模式,当与服务器连接关闭时,该位置‘1’分片最大传输单元-保-保9-保8-保位符描7SOCKET7中断当SOCKET7产生中断时,该位置‘1’。该中断信息对应于S7_R1。当S7_I1被主机清‘0’后,该位自动清‘0’。6SOCKET6中断当SOCKET6产生中断时,该位置‘1’。该中断信息对应于S6_IR1。当被主机清‘0’后,该位自动清‘05SOCKET5中断当SOCKET5产生中断时,该位置‘1’。该中断信息对应于S5_R1。当S5_I1被主机清‘0’后,该位自动清‘0’。4SOCKET4中断当SOCKET4产生中断时,该位置‘1’。该中断信息对应于S4_R1。当S4_I1被主机清‘0’后,该位自动清‘0’。3SOCKET3中断当SOCKET3产生中断时,该位置‘1’。该中断信息对应于S3_R1。当S3_I1被主机清‘0’后,该位自动清‘0’。2SOCKET2中断当SOCKET2产生中断时,该位置‘1’。该中断信息对应于S2_R1。当S2_I1被主机清‘0’后,该位自动清‘0’。1SOCKET1中断当SOCKET1产生中断时,该位置‘1’。该中断信息对应于S1_R1。当S1_I1被主机清‘0’后,该位自动清‘0’。0SOCKET0中断当SOCKET0产生中断时,该位置‘1’。该中断信息对应于S0_R1。当S0_I1被主机清‘0’后,该位自动清‘0’。它配置W5300的中断并报告给主机。IMR的每一个中断位对应IR的每一个中断位。当IR的任一位为‘1’且相应的IMR位也为‘1’时,将向主机产生中断(‘/NT’输出低电平)。如果相应的IMR位没有设置为‘0’,将不产生中断提交给主机(‘/NT’保持高电平),即使IR位为‘1’。8----000000007654321000000000位符描IR(IPCF)中断IR(DPUR)中断IR(PPPT)中断IR(FMTU)中断-保-保9-保8-保位符描7IR(S7_INT)6IR(S6_INT)5IR(S5_INT)4IR(S4_INT)3IR(S3_INT)2IR(S2_INT)1IR(S1_INT)0IR(S0_INT)它配置网关的IP例)当网关地址“192.168.0.1”它配置子网掩码地址。例)子网掩码为“255.255.255.0”2552552550它用于配置本机的IP地址,或指示W5300通过PPoE过程获得的IP地址。例)本机P地址为“192.(它配置重复发送超时周期的值。TR的标准单位是100us,TR初始化设置为2000(0x7D0),超时的时间周期为200ms。例)当设置超时的时间周期为400ms时,RTR400ms1ms)X10‘RCR+1’(Sn_IR‘TIMEOUT’位置‘1’)在CP通信中,在n_IR(IEOUT)=‘1’的同时Sn_SR的状态改变为‘SOCK_CLOED’。TCP通信之外的其他情况,只有Sn_R(TIEOU)=‘1’例RCRARP(参考RFC826,)重传超时,W5300自动发送ARP请求到对端RTR设置的时间范围内都没有响应那么W5300将产生超时且重复发送ARP请求。它将重复发送’ARP请求最终超时(ARPTO)的计算如下ARPARPTO=(RTRX0.1ms)X(RCR+1TCP数据包传输超时时W5300传输TCP数据包(SYN,FIN,RST,DATA数据包)并在RTR和设置的时间范围内等待响应(ACK)。如果对端没有响应将产生超时,且重复发送先前的TCP包。重复发送的次数为‘RCR+1’。即使TCP数据包经过‘RCR+1’次重复发送也没有得到对端的ACK响应,此时将产生最终超时,在Sn_IR(TIMEOUT)=1时Sn_SSR的值变为‘SOCKET_CLOSED’。TCPTCPTO=MΣ(RTRX2N+((RCR-M)X )XNM:重传计数,0<=N<=:当RTRX2(M+1)>65535且0<=M<=RCRRTRMAX:RTRX例)当RTR2000(0x07D0RCR8(0x0008),ARPTO=2000X0.1msX9=1800ms=1.8sTCPTO=(0x07D0+0x0FA0+0x1F40+0x3E80+0x7D00+0xFA00+0xFA00+0xFA00+0xFA00)X=(2000+4000+8000+16000+32000+((8-4)X64000))X=318000X0.1ms=TMSR(TX器大小配置寄存器)[R/W][0x08020/0x020]该寄存器用于设置每个SOCKET的内部TX器的大小。每个SOCKET的TX器大小的设置范围在0~64K字节之间。每个SOCKET在复位后分配8K字节。所有SOCKET的TX器的总合(TSSUM)应该是8的倍数。TMSSUM和RMSSUM(所有SOCKET的RX器的总合)的总和为128K字节。TMS01R(SOCKET0/1的TX器大小寄存器)[R/W][0x08020/0x020]它配置内部SOCKET0和SOCKET1的TX器的大小例1SOCKET04KBSOCKET1:416TMS23R(SOCKET2/3的TX器大小寄存器)[R/W][0x08022/0x022]120它配置内部SOCKET2和OCKET3的X器大小。例2)SOCKET2:1KB,SOCKE120TMS45R(SOCKET4/5的TX器大小寄存器)[R/W][0x08024/0x024]它配置内部SOCKET4和SOCKET5的TX器大小例3SOCKET40KBSOCKET5:07TMS67R(SOCKET6/7的TX器大小寄存器)[R/W][0x08024/0x024]1212它配置内部SOCKET6和OCKET7的X器大小。例4)SOCKET6:12KB,SOCK1212从上面的例1~例4)所示,TMSSUM(TMSR0TMSR1TMSR2TMSR3TMSR4TMSR5 TMSR7)是72,它是8的倍数(72%8=0)RMSR(RX器大小配置寄存器)[R/W][0x08028/0x028]它设置每个SOCKET内部RX器的大小每个SOCKET的器分配范围在0~64K字节。复位时每个SOCKET分配8K。RSSUM与TMSSUM之和为128k字节。RMS01R(SOCKET0/1的RX内部器大小配置寄存器)[R/W][0x08028/0x028]173它配置SOCKET0和SOCKET1的内部RX器大小。例5)SOCKET0:17KB,SOCKE173RMS23R(SOCKET2/3的RX内部器大小配置寄存器)[R/W][0x0802A/0x02A]它配置SOCKET2和SOCKET3的内部RX器大小例6SOCKET25KBSOCKET3:516RMS45R(SOCKET4/5的RX内部器大小配置寄存器)[R/W][0x0802C/0x02C]34它配置SOCKET4和SOCKET5的内部RX器大小。例7)SOCKET4:3KB,SOCKET34RMS67R(SOCKET6/7的RX内部器大小配置寄存器)[R/W][0x0802E/0x02F]44它配置SOCKET6和SOCKET7的内部RX器大小。例8)SOCKET6:4KB,SOCKET44从上面的例1)~例8)所示,RMSSUM(RMSR0RMSR1RMSR2RMSR3RMSR4RMSR5RMSR6+RMSR7)为56,TMSSUMandRMSSUM的总和为128。MTYPER(器类型寄存器)[R/W][0x08030/0x030] 8000000007654321011111111位符号描第16个器单元的类第15个器单元的类第14个器单元的类第13个器单元的类第12个器单元的类第11个器单元的类9第10个器单元的类8第9个器单元的类位符描7第8个器单元的类6第7个器单元的类5第6个器单元的类4第5个器单元的类3第4个器单元的类2第3个器单元的类1第2个器单元的类0第1个器单元的类例1TMSSUM=72RMSSUM=因为72/8=9,所以从MB0到MB8都设置为TX器例2TMSSUM=128RMSSUM=例3TMSSUM=0RMSSUM=它表示W5300与PPPoE服务器连接时W5300支持2种类型的认证方法。值认证方PTIMER(PPP连接控制协议请求定时寄存器)[R/W][0x08036/0x036][0x--它配置连接控制协议(LCP)响应请求的传输定时器。值1大约为25ms例PTIMER200200*25ms5000ms200PMAGICR(PPP连接控制协议(LCP)的魔术数寄存器)[R/W][0x08038/0x038][0x--它配置4个字节的魔术数,用于连接控制协议(CP)与PPoE服务器握手。详细信息请查看“怎样在W5300上使用PPoE”。例PMAGICR它报告PPP会话ID,用于与PPPoE服务器通信(由W5300的PPPoE处理过程获得)例PSIDRPDHAR(PPPoE目的硬件地址寄存器)[R][0x08040/0x040]它报告PPPoE服务器的硬件地址(由W5300的PPPoE处理过程获得)例PDHAR当W5300试着向一个未打开的目的端口发送UDP数据时,W5300会收到CMP(目的端口不存在)数据包。在这种情况下,IR(DPUR)会变成‘1’,并且通过UIPR和UPOTR可以获得ICMP数据包的目标IP地址和无法到达的端。例1UIPR192168011例2UPORT如果本机的MU和通信对端的MTU不相同时,W5300将收到ICMP(分片MTU)数据包。这时,R(FMTU)寄存器的位置‘1’,CMP数据包的目标IP地址和分片MTU的值都可以从UIPR和FMTUR寄存器中获得。为了保持与对端的通信分片具有分片MTU,先在SOCKEn的n_MSSR中设置FMUR,然后再试下一次的通信。例FMTUR"该寄存器配置‘BRDYn’引脚,用于指定端口的X/RX器的状态。如果发送器TX的剩余空间与n_BDPHR相等或更大,或接收器RX的空间与Pn_BDPHR相等或更大,引脚‘BRDYn’输出信号。 --------------00000000----00100000

位符描7引脚“BRDYn”::当使用引脚"BRDYn"时,6引脚器类:接收:发送它设置要的端口器的类型5引脚极::4-保3-保2通过引脚"BRDYn"设置要监测的SOCKET17111005101100141000000"它配置引脚"它配置引脚"它配置引脚"它配置引脚Pn_BDPTHR(引脚"BRDYn"缓冲门限寄存器)[R/W][0x08062/0x062]它用于配置‘BDYn’的缓冲区的大小。当TX器,n_X_FSR等于或大于Pn_DEPHR时,引脚‘BRDYn’输出信号。当RX器,Sn_R_FSR等于或大于Pn_DEPHR时,引脚‘BRDYn’输出信号。Pn_DPHR的值过由TMSR或RMSR定义的X/RX器的大小。"设置引脚‘BRDY0’的缓冲区门限"设置引脚‘BRDY1’的缓冲区门限"设置引脚‘BRDY2’的缓冲区门限"设置引脚‘BRDY3’的缓冲区门限例 SOCKET5的TX器,当剩余字节数为2048字节时,引脚‘BRDY3’输出高电平P3_BRDYR=P3_BDPTHR=当使用‘BRDYn’SOCKETn的RX器时,‘BRDYn’的时序如下检测到Sn_RX_RSR经过1个NIC_CLK,‘BRDYn’经过1个NIC_CLK,‘BRDYn’时间4BRDYn’IDR标识寄存器R0x080FE/0x0FF它标识W5300的ID套接口(SOCKET)寄存Sn_MR(SOCKETn模式寄存器)[R/W][0x08200+0x40n/0x200+0x40n]它配置SOCKETn的协议类型80x08200+-------0x200+00000000765432100x08201+--0x201+00100000位符描-保-保-保-保-保-保9-保8队列对齐0:不使用对1:使用对齐只有在TCP模式下有效在TCP通信过程中,当每次收到的数据包的字节数为偶数时,该位置为‘1’,删去附在接收数据包中的PACKET-INFO(数据的字节数),可以使数据接收性能大大增强。详细信息请参考“5.2.1.1TCP服务器”。位符描7多:多:只有在UDP模式下有效(P3~P0:0010)为了实现多播通信,在打开端口"OEN"命令之前需要分别在n_DIPR设置中设置地址和在Sn_DPOTR中设置端。6MAC地址过0:MAC地址过1:允许MAC地址只有在MACRAW模式下有效(P3~P0:0100)当该位置‘1’,W5300只能接收属于它自己的数据包或广播数据包。如果该位置‘0’,W5300可以接收以太网所有的数据包。当使用混合TCP/IP协议栈,建议该位置‘1’,以减少主机接收过多的数据使用无延时的0:延时ACK选1:允许延时ACK5只有在TCP模式下有效(P3~P0:0001)当该位置‘0’时,不是在接收到数据包就发送ACK响应,而是在设置了的重复发送时间间隔寄存器(TR)中规定的时间后才发送ACK数据包响应。IGMP版本:使用IGMP的版本:使用IGMP的版本只有在MULTI=1和UDP模式(P3~P0:0010)下有它配置IGMP的版本,发送IGMP信息,诸如:加入/离开/向多播组报告等。4-保3协它用于配置每个SOCKET的通信协议(TCP、UDP、IPRAWMACRAW等)或PPPoE200000001001010011IP0100MAC0101S0_MR_MACRAW和S0_MR_PPPOE只对SOCKET00(它设置有关SOCKETn令类型,诸如:打开端口、关闭端口、端口建立连接、端口、端口发送数据及接收数据等等。当W5300接收到任何命令时,n_CR自动清为0x00。即使n_CR被清0x00,命令仍然在执行。无论命令是否完成命令执行的结果可以在n_IR或n_SSR中查询。值命描它根据Sn_MR(P3:P0)所定义的协议类型初始化端口并打开端口。以下是对应于Sn_MR(P3:P0)的值的变化-只在TCP模式(Sn_MR(P3:P0)=Sn_MR_TCP)有效它将SOCKETn设置为TCP服务器模式。它将改变Sn_SSR寄存器的SOCK_INITSOCK_LISTEN,以等待其它TCP客户端的连接请求(SYN数据包)当n_SSR为OCK_LSEN且成功处理了其它TCP客户端的连接请求时,n_IR(0)将置‘1’,而Sn_SSR变为OCK_ESABIHED。如果没有处理连接请求(YN/ACK传输失败),CP产生超时(Sn_IR(3)=1)且Sn_SSR变为SOCK_CLOED。另外,如果TCP客户端连接请求的端不存在,W5300将发送RST数据包Sn_SSR的状态不只在TCP它发送连接请求到由Sn_DIPR和Sn_DPORTR指定的TCP服务器当连接请求被成功处理(收到YN/ACK数据包),Sn_IR(0)置‘1’,且n_SSR的状态变为SOCK_EABLSHED。如果连接失败,可ARP产生超时(Sn_IR(3)='1'),因为目标硬件地址无法通过ARP没有收到SYN/ACK数据包而产生TCP超时收到RST数据包而不是SYN/ACK数据包以上三种情况Sn_SSR都将变为SOCK_CLOSED状态只在TCP不论是TCP服务器还是客户端,它都将执行断开连接的处理。 主动关闭:它发送断开连接的请求(FIN数据包) 关闭:当收到对端的断开连接请求(FIN数据包)时,它发送FIN数包如果断开连接请求成功(FIN/ACK数据包Sn_SSR改变为如果断开连接请求失败,发生TCP(Sn_IR(3)='1,且Sn_SSRSOCK_CLOSED状态另外,如果直接使用CLOSE命令而不是DISCON命令,只有Sn_SSR的状态变SOCK_CLOED,不产生断开连接的处理(断开连接的请求)。如果在通信过程中收到对端发送来的RST数据包,Sn_SSR无条件变为SOCK_CLOSED状态。关闭SOCKETn它发送启动数据发送,发送的字节长度由Sn_TX_WRSR在CP或UDP模式,如果Sn_TX_WRSR大于最大分片字节数(MSS),W5300将自动根据裁分为MSS单元,且发送已经裁分的数据DA包)。然而这个功能不支持IPW和MACRW模式。主机应该将数据裁分为MSS单元再传送。当发送过程结束,Sn_IR(SENDOK)将置1主机检测到Sn_IR(SENDOK)=1后,可以给出SEND命令进行下一次的传输如果通过SEND命令数据包成功传输到对端(当收到对端的DATA/ACK包),Sn_TX_FSR根据传输的数据长度自动增加。如果没有传输成功(没有收到DA/ACK的数据包),将产生TCP超时(n_I(3=1),且n_SSR进入SOCK_CLOED状态。另外,主机在使用END命令发送数据之前,首先通过n_X_FIFOR寄存器将数据写入到SOCKETn的X器,然后写入要发送数据的字节数到Sn_TX_WRSRUDP模式下(Sn_MR(P3:P0)=Sn_MR_UDP)IPRAW(Sn_MR基本操作与SEND相同在通过ARP过程获得了目标硬件地址后SEND命令传输数据,而SEND_MAC命则将n_DHAR作为目标硬件地址发送数据。在发送UDP或PRW数据到目的地址时,由于减少了AP的处理,EN_C可以减少网络阻塞。只在TCP模式有效为了检查与对端的TCP连接状态,发送一个KEEPALIVE(KA)数据包。如果KA数据包成功发送(当收到对端的KA/ACK数据包时),Sn_SSR保持SOCK_ESABLIHED状态。如果KA数据包发送不成功(对端已经断开连接或没有发送KA/ACK),将产生TCP超时中断(n_IR(3=1),且n_SSR改变为SOCK_CLOED状态。另外,KA数据包可以在一个或的数据通信处理后发送它表示主机接收到SOCKETn的数据在使用ECV命令前,主机需要通过Sn_RX_FFOR寄存器从RX收的数据包到主机器。器接以下命令在 和S0_MR(P3:P0)=S0_MR_PPPoE时有效Formoredetailreferto“HowtousePPPoEin通过传输PPPoE搜索数据包开始PPPoE的连N关闭PPPoE连接在每一个阶段,它传输REQ消息在每一个阶段,它传输NAK消息在每一个阶段,他传输REJECTSn_IMR(SOCKETn中断寄存器)[R/W][0x08204+0x40n/0x204+0x40n][0x--它配置SOCKETn终端以告知主机有中断产生n_IMR的中断位与n_IR是对应的。当任何SOCKET产生中断并且中断标志位被置‘1’,相应的n_IR的对应位被置‘1’,当n_IMR和n_IR的位都为‘1’,IR(n)变为‘1’。这时,W5300将向主机发出中断请求(‘/NT’变为低电平)。80x08204+--------0x204+00000000765432100x08205+0x205+11111111):位符描7Sn_IR(PRECV)只在 和'S0_MR(P3:P0)=S0_MR_PPPoE'时有6Sn_IR(PFAIL)5Sn_IR(PNEXT)4Sn_IR(SENDOK)3Sn_IR(TIMEOUT)2Sn_IR(RECV)1Sn_IR(DISCON)0Sn_IR(CON)Sn_IR寄存器向主机指示SOCKETn的中断类型(建立连接,终断,接收数据,超时等状态)。当任何中断产生且中断Sn_IMR相应的位为‘1’,中断寄存器Sn_IR相应的位变为‘1’为了清除Sn_IR中置‘1’的位,主机需要向相应的位写‘1’。当所有的Sn_IR位都为‘0’,IR(n)自动清除。80x08206+--------0x206+00000000765432100x08207+0x207+00000000):位符描7PPP接收中接收到不支持的可选数据 Data)时,该位置位6PPP失败中PAP认证失败时该位5PPP下一过程中断在PPPoE连接过程中,该过程改变时置位。4发送完成中断SEND命令完成后置位3超时中断ARPTOTCPTO(ARP超时或TCP超时)2接收中断端口从对端接收到1断开连接中断接收到从对端来的FIN或FIN/ACK数据包时置0连接中断与对端成功建立连接时置位指示SOCKETn的状态。SOCKETn的状态可以由Sn_CR命令或数据包的收发而改变。):值符描SOCKETn端口资源释放状态当执行DSCON或CLOE命令,或产生ARP、CP超时,不管以前是什么状态,此时它都变为SOCK_CLOED状态。SOCKETn以TCP模式打当Sn_MR(P3:P0)为Sn_MR_TCP且执行OPEN命令时SOCK_INIT状态。它是建立TCP连接的第一 这时可以使用LISEN命令设置TCP服务器模式,或CONNECT命令设置CP客户端模式。它是SOCKETn在TCP服务器状态,等待TCP客户端的连接请求(YN数据包)。当运行LISTEN命令时,它改变为SOCK_LISTEN状态当成功处理了CP客户端的连接请求(YN数据包),SOCK_IEN变为SOCK_ESABIHED。如果失败,将产生超时中断(n_R(TIEOUT)=1),且状态改变为SOCK_CLOED。它是TCP建立连接在SOCK_ISEN状态,收到CP客户端SYN数据包并成功处理,它将变成SOCK_ESABLIHED,或CONNECT命令成功运行。在这种状态,可以进行数据传输,即可以运行SEND或RECV该状态是收到对端断开连接请求(FIN数据包)如果关闭SOCKEn而没有断开连接的处理,可以只运行CLOSE令SOCKETn处于UDP模式当Sn_MR(P3:P0)为Sn_MR_UDP且执行OPEN命令 它将变SOCK_UDP。端口不需要像TCP那样连接即可以进行数据通信SOCKETn处于IPRAWSOCKET0以MACRAW模式打当Sn_MR(P3:P0)为Sn_MR_MACRAW且执行OPEN命令,它MAC数据包(以太网数据帧)的传输与SOCK_UDPSOCKET0以PPPoE模式打开当n_MR(3:0)为Sn_MR_PPPOE且执行OEN命令,它将暂时用于PPoE的连接。详细信息请参考“怎样在W5300上使用PPPoE”以下是Sn_SSR状态改变过程中出现该状态表示连接请求(SYN数据包)发送到TCP服务 该状态显示CONNECT命令从SOCK_NT到SOCK_ESABLISHED的状态改变过程。在这种状态,如果收到CP服务器允许连接信息(SYN/ACK数据包),状态自动转换为OCK_ESABLIHED。如果在产生CP超时(Sn_IR(TIMEOUT)=1)之前没有收到TCP服务器的SYN/ACK数包,那么它自动转变为SOCK_CLOSED该状态表示收到TCP客户端的连接请求(SYN数据包 当W5300向TCP客户端发出允许连接(SYN/ACK数据包)信息后,它自动变换为SOCK_EABLSHED。如果失败,将产生超时(Sn_IR(TIMEOUT)=1),且改变为SOCK_CLOSEDSOCKETn被关闭的状当SOCKET完成主动关闭或关闭的断开连接处理时出现这种状态。当完成断开连接处理或TCP超时(Sn_IR(TIMEOUT)=1),它的状态将改变为SOCK_CLOSED。T该状态表示已发送ARP请求,以获取目的硬件地址在SOCK_UDP或SOCK_IPW状态执行了END命令,或在SOCK_N状态执行了CONNECT命令,将产生该状态。(Sn_IR(TIMEOUT)=1),在UDP或IPRAW模式,它将回到先前的状另外,在SOCK_UDP和SOCK_IPRW状态,当END命令所执行的当前n_DIPR与上一次不相同,也要执行ARP操作。如果当前的n_DIPR与上一次的相同,ARP操作将不被执行,因为已经获得了目的硬件地址。5SOCKETnSn_PORTR(SOCKETn源端口寄存器 SOCKEn工作在CP或UDP模式下有效,在其它模式下将忽略。它必须在OEN命令之前设置。例Sn_PORTRSn_DHAR(SOCKETn目的硬件地址寄存器)[R/W]主机通过该寄存器设置SOCKETn的目的硬件地址,或通过某些过程获得SOCKETn的目的硬件地址。如果SOCKET0用于PPoE模式,S0_DHAR就是已经得到的PPoE服务器的硬件地址。当在UDP或IPRW模式使用END_MAC命令时,它设置SOCKEn的目的硬件地址。在TCP、UDP或PRW模式,通过CONNECT或END命令的ARP处理,Sn_DHAR获得了目的硬件地址。主机在成功运行CONNECT或END命令后,可以通过Sn_DHAR得到目的硬件地址。当使用W5300的PPPoE处理时,PPPoE服务器的硬件地址不需要即使运行了CLOSE命令,PPPoE的配置信息在内部一直有效。例Sn_DHARSn_DPORTRSOCKETn目的端口寄存器WO][0x08212+0x40n/0x212+0x40n][0x0000]它用于设置SOCKETn的目的端。如果SOCKET0用在PPPoE模式,S0_DPORTR设置已经获得PPP会话ID只有在TCP、UDP或PPPoE模式下有效,在其它模式下无效。在CP客户端模式下运行CONNECT命令之前,需要将它设置为处于CP服务器模式下的端口的端。在UDP模式下运行SEND或SEND_MAC命令之前,Sn_DPORTR设置为UDP数据包发送的目的端。(由S0_DPORTR设置)应用在PSIDR例Sn_DPORTRSn_DIPR(SOCKETn目的IP地址寄存器)[R/W]它设置为目的IP地址或在通信过程中被设置为目的IP地址。如果SOCKET0用于PPPoE模式S0_DIPR设置为已经获得的PPPoE服务器的IP地址只有在TCP、UDP、IPRAW或PPPoE模式下有效,在其它模式下在CP客户端模式下,运行CONNECT命令之前,必须将它设置为CP服务器的IP地址。而在TCP服务器模式,当成功建立连接以后,它被设置为TCP客户端的IP地址。在UDP模式或PRW模式下运行END或END_MAC命令之前,Sn_DIPR设置为UDP数据包或IP数据包发送的目的IP地址。在PPPoE模式下,S0_DIPR设置为已经获得的PPPoE服务器的IP例Sn_DIPR192168011Sn_MSSSOCKETn最大段大小寄存器R/W][0x08218+0x40n/0x218+0x40n][它设置SOCKEn的MTU(最大传输单元),或指示已经设置的MTU。如果主机不设置Sn_MSSR,它将使用默认的MTU设置。它只支持TCP或UDP模式。当使用PPPoE(MR(PPPoE)=1)时,TCP或UDP的MTU设置在PPPoEMTU范围之内在IPRW或MACRW模式,内部不处理MU,但使用默认的MU。因此,当传输的数据长度超过默认的MU时,主机应当将数据按照默认的MTU进行分片。在CP或UDP模式,如果传输的数据长度超过了MTU,W5300将数据自动按照MTU进行分片。MTU在TCP模式下又称之为MSS。根据主机写入的值和对端的MSS,W5300在连接过程中选择一个较小的MSS值。在UDP模式下,没有TCP的连接过程,因此只使用主机设置的值。当与不相同的TU的对端通信时,W5300可以接收CMP(分片的MTU)数据包。在这种情况下,IR(FTU)设置为‘1’,主机可以通过FMTUR和UIPR分别获得分片的MTU和目的IP地址。在IF(FMU)=1时,不能与对端进行UDP通信。所以必须关闭SOCKET,设置FMTU为n_MSS,然后试着使用OEN命令启动通信。NormalDefaultDefault1~1~1~1~例Sn_MSS1460这是一个1字节的寄存器,设置SOCKETn的数据包保持激活(KA)的传输定时。只有在TCP模式下有效,在其它模式下无效。时间单位是5秒。在n_SSR变换为SOCK_ESABIHED后,并经过至少一次数据包的发送和接收后,KA数据包就可以传输。在n_KAVT>0时,W5300经过一段时间间隔后自动发送一个KA数据包,以检验TCP的连接(自动保持激活操作)。在Sn_KAVTR=0时,不进行自动保持激活的操作,KA数据包可以由主机通过发送SEND_KEEP命令来实现(手动保持激活操作)。当Sn_KPALVTR>0时无视手动激活操作10Sn_PROTORSOCKETn协议号寄存器)[R/W][0x0821B+40n/0x21B+0x40n][0x00]它是一个1字节的寄存器,设置IP层数据包IP头中的协议号字段()例Sn_PROTOR0x01它设置IP层数据包IP头中的服务类型(TOS)字段。它必须在OPEN命令之前设置。参考。例Sn_TOSR它设置IP层数据包IP头中的生存期(TTL)字段。它必须在OPEN命令之前设。例Sn_TTLR128Sn_TX_WRSR(SOCKETn发送数据字节长度寄存器)[R/W][0x08220+40n/0x220+40n][0x 它通过Sn_TX_FIFOR寄存器设置写入到内部TX器的数据字节长度它必须在END或END_AC命令之前进行设置,该值不能比TMSRn设置的内部X器空间大在TCP或UDP模式,如果Sn_TX_WRSR>n_MSSR,W5300自动将数据按照Sn_MSSR进行分片。在其它模式,n_TX_WRSR不能比Sn_MSSR大。例1Sn_TX_WRSR64KB65536-------例2Sn_TX_WRSR2017-------Sn_TX_FSR(SOCKETnTX剩余空间寄存器)[R][0x08224+40n/0x224+40n][0x 它指示SOCKEn内部TX器的剩余空间的字节数(传输数据的字节数)。当发送数据的字节数超过n_TX_FSR时,主机不能通过Sn_TX_FIFOR写入数据。因此,在发送数据之前,必须检验n_X_FSR寄存器。而如果发送的字节数小于或等于Sn_X_FSR,那么就可以向W5300写入数据,并使用END或END_AC命令发送数据。在CP模式,如果对端检查发送的数据包(收到对端的DA/ACK数据包),n_TX_FSR根据发送数据包的大小自动增加。在其它模式,当IR(ENDOK)为‘1’时,Sn_TX_FSR根据发送数据的多少自动增加。例1Sn_TX_FSR64KB65536-------例2Sn_TX_FSR33332-------Sn_RX_RSR(SOCKETn接收数据的字节长度寄存器)[R][0x08228+40n/0x228+40n][0x 它指示SOCKETn内部RX器接收数据的字节长度主机不能通过Sn_RX_FIFOR比Sn_R_RSR多的数据。因此,检查Sn_RX_RR之后,主机才可以通过n_RX_FIFORSn_X_RSR字节长度的数据,或比n_RX_RSR少的数据,然后将数据保存到主机系统器中。然后,主机通过ECV命令通知W5300数据完成。主机在读n_X_FIFOR寄存器时,n_RX_RSR自动减少2字节。当n_RX_RSR>0时,有一个或多个数据包在W5300的内部RX器中。而接收的数据必须按照数据包的单元进行处理。参考n_R_FIFOR.例1Sn_RX_RSR64KB65536-----

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论