
W5300控制器详细设计及使用说明文档.doc
22页目录1引言31.1编写目的31.2定义31.3参考资料32W5300控制器的实现流程32.1实现流程图32.2流程简要说明33流程控制33.1W5300 RESET33.2W5300初始化3数据位宽设置3主机接口模式和时序设置3主机中断设置3根本网络信息设置3重新发送参数设置33.2.6SOCKETn 的部T*/R* 存储器空间分配设置33.3数据通信3初始化3建链3数据通信3关闭34逻辑实现方案34.1逻辑架构34.2接口控制模块3读时序实现3写时序实现3实现状态机3接口定义34.3主控制模块3实现状态机3接口定义34.4初始化配置模块3实现状态机3接口定义34.5SOCKET驱动模块3实现状态机3接口定义35性能指标35.1支持SOCKET数以及协议35.2网络延时35.3传输带宽36使用指南36.1接口说明36.2配置参数说明36.3关键时序36.4状态存放器31 引言1.1 编写目的1.2 定义1.3 参考资料Ø ""Ø "W5300中文用户数据手册"2 W5300控制器的实现流程本W5300控制器在16位数据的直接模式地址方式的根底上实现2.1 实现流程图2.2 流程简要说明1. W5300 reset:W5300工作之前,需要对其进展复位,复位低电平有效,并且至少保持2us〔W5300不支持上电复位,必须通过‘/reset’接口对其进展复位〕。
2. Wait for at least 10ms:W5300复位后,需要等待至少10ms使得W500部锁相环稳定后,才能进展W5300初始化操作3. W5300 initialization:初始化W5300就是将相应的参数按照写时序要求写入存放器初始化分为3个步骤:1) 主机接口配置:设置主机接口模式和时序,设置数据位宽,设置主机中断2) 设置网络信息:设置数据通信的根本信息〔SHAR、GAS、SBUS和SIPR〕;设置重新发送的时间间隔和重发次数3) 部T*/R*存储器分配:定义部T*/R*存储器大小及SOCKTEn的T*/R*存储器大小4. Data municate:对使用的COCKETn初始化,进展发送、接收数据及相关配置3 流程控制3.1 W5300 RESET通过W5300芯片的‘/RESET’接口对芯片进展复位,低电平有效RESET信号低电平至少持续2us ,为了使锁相环逻辑稳定,复位信号恢复高电平后至少等待10ms,见图3.1-1W5300不支持上电复位因此必须由外部系统给出复位信号在复位信号有效的2us期间,需要对‘BIT16EN’接口进展配置‘BIT16EN’为 16/8 位数据位选择,它确定W5300的数据位的宽度:高电平选择16位数据位,低电平选择8位数据位。
在复位期间,它被锁存在模式存放器〔MR〕的第15位,复位后它的改变不会产生影响即数据位的宽度在复位后不会发生改变图3.1-1 W5300复位初始化3.2 W5300初始化3.2.1 数据位宽设置数据位宽的设置可参见3.1节,根据实际使用,‘BIT16EN’接口信号可以始终配置为‘1’3.2.2 主机接口模式和时序设置主机的接口模式和时序设置即为对W5300的模式〔MR〕存放器进展配置:Ø MR存放器地址:0*000Ø MR根底器配置值:0*B800下表为MR存放器的配置说明:表3.2.2-1 MR存放器位符号说明MR[15]DBW数据总线宽度0 :8 位数据总线宽度1 :16位数据总线宽度在W5300复位期间,这个值由BIT16EN引脚的电平确定复位后,这个值不改变MR[14]MPFMAC层终止数据报文0 :正常报文1 :终止报文当从路由器或交换机收到终止报文时,该位置‘1 ’当设置为‘1 ’时,将停顿数据传输,直到该位为‘0’MR[13]WDF2写数据时间当写数据操作时,/CS为低电平后,W5300在WDF×PLL_CLK时间后取写入的数据,如果主机写操作在WDF×PLL_CLK完成〔/CS 恢复为高电平〕,写入的数据在‘/CS’为高电平时取走MR[12]WDF1MR[11]WDF0MR[10]RDH读数据保持时间0 :没有数据保持时间1 :数据保持时间为2×PLL_CLK 在主机进展读操作时,当主机的读操作完成〔/CS 恢复高电平〕后,W5300在2×PLL_CLK时间之保持读取的数据。
在这种情况下,注意数据总线上的数据冲突MR[9]-保存MR[8]FSFIFO交换0 :制止交换1 :允许交换它用于高字节和低字节的交换W5300的字节一般采用大端模式如果主机系统采用小端模式,则将该位置‘1 ’,将Sn_T*_FIFOR 和Sn_R*_FIFOR 的字节顺序交换,使用效果与小端模式一样MR[7]RST软件复位该位置‘1 ’,对W5300软件复位复位完毕后自动清‘0 ’MR[6]-保存MR[5]MT存储器测试0 :制止部R*/T* 存储器测试1 :允许部存储器测试一般来讲,W5300部T*存储器支持主机通过Sn_T*_FIFOR存放器的写操作,而部R*存储器只支持主机通过Sn_R*_FIFOR 存放器的读操作如果该位置‘1’,部R*/T* 存储器同时支出通过Sn_T*_FIFOR和Sn_R*_FIFOR 的读写操作,从而校验部T*/R* 存储器测试W5300部T*/R* 完成后,需要对系统重新复位或关闭端口MR[4]PBPing 功能阻止模式0 :允许Ping 1 :制止Ping 自动Ping应答支持最多119 个字节Ping功能阻止模式还需要考虑Sn_MR和Sn_PROTOR的设置。
MR[3]PPPoEPPPoE模式0 :制止PPPoE模式1 :启动PPPoE模式MR[2]DBS数据总线交换0 :制止交换1 :允许交换DBS位只交换Sn_T*_FIFOR/Sn_R*_FIFOR的高字节和低字节然而该位交换所有存放器的高字节和低字节,包括Sn_T*_FIFOR/ Sn_R*_FIFOR 存放器该位只有DBW为‘1’时有效MR[1]-保存MR[0]IND间接总线模式0 :直接总线模式1 :间接总线模式它设置W5300与主机的接口模式3.2.3 host主机中断设置主机中断设置即为对中断屏蔽存放器进展配置,它配置W5300的中断并报告给主机IMR 的每一个中断屏蔽位对应IR的每一个中断位当IR的任何一个位为‘1’且相应的IMR 位也为‘1’时,将向主机产生中断〔‘/INT ’输出低电平〕如果相应的IMR位为‘0’,将不产生中断〔‘/INT ’保持高电平〕,即使IR位为‘1’Ø IMR存放器地址:0*004Ø IMR根底器配置值:0*80FF下表为IR存放器的位说明,可以根据IR存放器对IMR存放器进展配置:表3.2.3-1 IR存放器位符号说明IR[15]IPCFIP 冲突当IP 地址产生冲突时,该位置‘1’时〔当接收到ARP请求数据包的IP 地址与W5300本机IP地址一样〕。
当它置‘1’时,网络中的另外一个设备使用了一样的IP 地址,将造成通信错误因此需要尽快采取措施解决这个问题IR[14]DPUR目标端口无法到达当收到ICMP 〔目的端口无法到达〕数据包时,该位置‘1 ’该中断用于UDP协议传输IR[13]PPPTPPPoE中止在PPPoE模式,当与效劳器连接关闭时,该位置‘1’IR[12]FMTU分片最大传输单元〔MTU〕当收到ICMP 〔分片最大传输单元〕数据包时,该位置‘1 ’在基于UDP协议传输时,需要考虑TCP协议下可以不需要考虑IR[11:8]-保存IR[7]S7_INTSOCKET7中断当SOCKET7产生中断时,该位置‘1’该中断信息对应于S7_IR1当S7_IR1被主机清‘0’后,该位自动清‘0’IR[6]S6_INTSOCKET6中断当SOCKET6产生中断时,该位置‘1’该中断信息对应于S6_IR1当S6_IR1被主机清‘0’后,该位自动清‘0’IR[5]S5_INTSOCKET5中断当SOCKET5产生中断时,该位置‘1’该中断信息对应于S5_IR1当S5_IR1被主机清‘0’后,该位自动清‘0’IR[4]S4_INTSOCKET4中断当SOCKET4产生中断时,该位置‘1’。
该中断信息对应于S4_IR1当S4_IR1被主机清‘0’后,该位自动清‘0’IR[3]S3_INTSOCKET3中断当SOCKET3产生中断时,该位置‘1’该中断信息对应于S3_IR1当S3_IR1被主机清‘0’后,该位自动清‘0’IR[2]S2_INTSOCKET2中断当SOCKET2产生中断时,该位置‘1’该中断信息对应于S2_IR1当S2_IR1被主机清‘0’后,该位自动清‘0’IR[1]S1_INTSOCKET1中断当SOCKET1产生中断时,该位置‘1’该中断信息对应于S1_IR1当S1_IR1被主机清‘0’后,该位自动清‘0’IR[0]S0_INTSOCKET0中断当SOCKET0产生中断时,该位置‘1’该中断信息对应于S0_IR1当S0_IR1被主机清‘0’后,该位自动清‘0’3.2.4 根本网络信息设置根本网络信息设置,即为对W5300的本机硬件地址〔MAC〕存放器〔SHAR〕、网关IP地址存放器〔GAR〕、子网掩码存放器〔SUBR〕和本机IP地址存放器〔SIPR〕进展配置1) 本机硬件地址〔MAC〕存放器〔SHAR〕配置:Ø SHAR0存放器地址:0*008Ø SHAR0存放器配置值:MAC[47:32]Ø SHAR2存放器地址:0*00AØ SHAR2存放器配置值:MAC[31:16]Ø SHAR4存放器地址:0*00CØ SHAR4存放器配置值:MAC[15:0]2) 网关IP地址存放器〔GAR〕配置:Ø GAR0存放器地址:0*010Ø GAR0存放器配置值:GAR[31:16]Ø GAR1存放器地址:0*012Ø GAR1存放器配置值:GAR[15:0]3) 子网掩码存放器〔SUBR〕配置:Ø SUBR0存放器地址:0*014Ø SUBR0存放器配置值:SUBR [31:16]Ø SUBR1存放器地址:0*016Ø SUBR1存放器配置值:SUBR [15:0]4) 本机IP地址存放器〔SIPR〕Ø SIPR0存放器地址:0*014Ø SIPR0存放器配置值:SUBR [31:16]Ø SIPR1存放器地址:0*016Ø SIPR1存放器配置值:SUBR [15:0]3.2.5 重新发送参数设置重新发送参数设置,即为对W5300的重复发送超时存放器〔RTR〕和重复发送计数存放器〔RCR〕进展配置。
1) 重复发送超时存放器〔RTR〕用于配置重复发送超时周期的值RTR的标准单位是100us ,RTR初始化设置为2000〔0*7D0 〕,超时的时间周期为。












