W5100在FPGA系统中实现TCP/IP网络通信
W5100在FPGA系统中实现TCP,IP网络
通信
邋信论坛
W5100在FPGA系统中实现TCP/IP网络通信
武楠
(中国电子科技集团公司第五十四研究所河北石家庄050081)
In要】介绍了W5100在现场可编程门阵列(FPGA)系统中实现TCP/IP网络通信
的方法.描述了W5100的内部架构和寄存
器设置,设计了一套基于直接总线接口模式的FPGA系统,系统主要由
FPGA,WS100及网络接口组成.FPGA通过状态机状态控制
W5100,实现传输控制
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
(TCP)/互联网协议(IP).
【关键~]W5100FPGATCPIP
中图分类号:TP393文献标识码:A文章编号:1008—1739(2011)3,4-107—3
ImplementationofTCP/IPNetworkCommunicationsinFPGA SystemBasedonW5100
WUNan
(The54tllResearchInstituteofCETC,ShijiazhuangHebei050081,China) Abstract:TheimplementationmethodsofgTCP/IPnetworkcommunicationsinFPGAsyste
mbasedonWS100areintroduced.
TheinternalstructureandregistersettingsofW5100aredescribed,andaFPGAsystemmodel
basedonthedirectbusinterfacemodeis
designed.ThesystemismainlycomposedofFPGA,W5100andnetworkinterface.FPGAcont?W5100bystatemachinestateto
achieveTransmissionControlProtocol(TCP)/IntemetProtocol(IP). Keywords:W5100;FPGA;TCP/IPprotocol
1引言种并行总线(直接总线接口和间接总线接口),以及SPI串行总
线等接口方式.内置16KByte发送/接收数据缓冲区,可快速
传统的以太网解决方案,往往采用主控cPu连接物理层进行数据交换,最大通信速率达到25Mbps.W5100支持且自
接口芯片.在主控器内编写以太网通信协议.这种方法需要编动识别全双工或半双工的传输模式,并可实现且兼容10M/
写繁琐的程序并且耗费大量的时间调试.由于网络协议一般100M以太网络. 都比较大,写入软件后稳定性欠佳,不利于系统的快速开发与
稳定运行.而且客户时常会有新的需求.这种用软件实现的方2W5100芯片结构 式很难满足频繁更新升级的要求.
W5100是WlZnet公司新推出的固件网络芯片,很好的W5100芯片主要由4部分组成:硬件TCP/IC核,微控器
解决了上述问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
.与之前的网络芯片W3100A和W3150A+相接口单元,发送/接收数据缓冲区和以太网物理层单元,其功
比,它集成了以太网物理层R.TL8201CP核,具有更好的集成能框图及基本外围连接如图1所示,其中ICMP为控制报文
性.拥有更稳定,更优良的性能.W5100集TCP/IP协议栈,以协议,IGMP为互联网组管理协议,UDP为用户数据包协议,
太网MAC和PHY为一体,支持ICP,UDP,IPv4,ICMP,AR_P是地址解析协议,PPPoE是基于以太网的点对点协议,
AR_P,IGMP和PPPoE等网络协议.它提供多种总线,包括2MCUBusI/F为多点控制单元总线接口.SPII/F是串行外围
1HO
定稿日期:2010-01,10
/
2011年第03,04期《计算机与厨络》
1O8
遗论坛
计算机与麓络创新生活
(应用)
i-~-API.….....….......J.............…......
(蚴程序)
;usI/F……一生……………?………一SPII/F (MCU接口),
}
/,,
匝伍弼
.
—
-_[习圈TX/RX缓存
f8023以太网WAC}\/
{一
r以太网PHY]w"
\/
}
(以太网变压器)
}
(RJ45)
图1W5100结构
W5100供电电压为3-3v和1.8V,其中1.8V可由芯片 内部线性稳压电源产生,外接滤波电路后,供回芯片.W5100 通过异步数据地址等接口与微控器相接.芯片的以太网物理 单元通过接收RXIP/RXlN和发送TxoP/TxoN,连接以太 网变压器.再通过网络接口RJ4S和网络电缆接入到以太网络 当中.通讯模式可选为自动识别,或者强制设定为10BaseT/ 100BaseTxs,HDX/FDX等设置的组合通讯方式.芯片还提供 了许多接口用于接发光二极管,包括发送(Tx),接收(,全/ 半5~(Full/Duplex),冲突(Collision),连接(Link),速度(Speed)的 指示灯,以显示芯片的当前工作态.
W5100集成了强大的网络接入协议,对它只需要设置其
IP地址和端口号,即可完成配置以接入到以太网.灵活地创建 和选择套接字(socket)后,则可完成远程网络数据交互.通过合 理的编写控制寄存器,芯片可以完成数据的接送和发收,并把 数据存放在内部存储空间内.W5100的工作存储空间分为4 部分,如图2所示.OxOOOO-q)xO030为常用寄存器,0x0400, 0x0800为套接字寄存器,0x4000~0x6000为发送数据缓冲区, 0x6000,--0x8000为接收数据缓冲区,其余为保留区域. 0x0000
0x0030
Ox0400
Ox0800
0x4O0O
Ox6000
公共寄存器
保留
端口寄存器
保留
发送寄存器
援收存储器
图2W5100存储空间
(1)常用寄存器控制
常用寄存器主要包括模式寄存器(?【R),网关地址寄存器 (GWR),子网掩码寄存器(SUBR),源硬件地址寄存器(SHAR), 源IP地址寄存器(SIPR),中断寄存器(IR),中断屏蔽寄存器 (IMP.),重试时间寄存器(RTR),重试次数寄存器(RcR),接收 数据缓冲区大小寄存器(RMSR),发送数据缓冲区大小寄存器 (TMSR)等.
(2)套接字寄存器控制
套接字寄存器主要用于网络连接后.控制各个通路的数
据收发.W5100支持4条通路,因此对应的有完全等价的4组 套接字寄存器.以sn表示s0,s1,s2和s3.各个通道均具有一 套独立的寄存器设置:命令寄存器(Sn_CR),中断寄存器 (Sn_IR),状态寄存器(Sn_SR),空余发送/接收数据缓冲区大小 寄存器等..
3硬件设计
W5100与微处理器芯片的接口方式有3种:直接总线接 口模式,间接总线接口模式和SPI模式.其中直接总线接口模 式适用于大数据量传输的情况;SPI模式的接口连线较少,适 用于数据量不大.传输速率相对较低的情况;间接总线接口模 式下的数据传输性能则介于它们两者之间.在系统中选用直 接总线接口模式,以最大限度地提高数据的传输速率.直接总 线接口采用15位地址线,8位数据线,另加\CS,\W-R,kR.D,
\INT及\RESET等信号线.FPGA有灵活的IO接口技术,与 W5100连接方式简单,如图3所示.
,CS『cS
,WR—'^~R
/RD——'/RDRXIP--I1,,搠t::
hIT——?/}NTRXIN—+
IRESET——?IRESETTXOP??一
ADDR[14:0]ADDR[14:0】TXON?卜一!I:
DATAf7O】DATA[7:0l
I--SEN
图3FPGA与W5100硬件连接示意图
W5100的IO管脚工作电平为3.3v.sEN管教接地,代表 W5100工作在直接总线接口.RXIP,R.XIN,TXOP及TXON 是10M/100M以太网的接口.13F-60LD是带有网络变压器 的RJ45接头.
4软件设计
4.1li'I'GA程序
W5100对读写时序要求比较严格.若不满足读写时序的要求, 《计算机与网络》2011年第03,04期
计算机与网络创新生活
遥倍论坛
辫黎囊
会导致数据传输错误,写时序要求如图4所示,为保证可靠, 时序设计中还留有一定的裕量.
等信息.然后发送监听命令,查询W5100的状态,进入建立 TCP通讯状态,等客户端发送监听命令后,双方建立连接.查 图4W5100对读写时序
在FPGA中使用有限状态机来实现读写时序,以写时序 为例.选用10MHz的时钟来进行数据和地址的写操作,即写 周期为100ns,满足图4中的条件1.用200MHz的时钟来控 制状态机,状态图如图5所示.从图中可以看出,有效地址到/ cs变低的时间(条件2)为15ns;/CS变低N/WR变高的时间 (条件3)为85Ils;读时序与写时序类似,将图4各操作中的/ wR信号换为/RD信号,并且不用对数据赋值.只需将数据 线上的数据取出即可.
接
收
女
丝
图5FPGA控制W5100状态
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图
在系统中,W5100组成的以太网设置为服务器,通讯对 方设置为客户端(位置可颠倒).FPGA先对W5100进行复位, 等待复位完毕后,进入网络配置.需要对W5100的物理地址, Ip地址,端口号,网关地址,子网掩码,中断及收发寄存器大小 条件1:_>70ns
条件2:_>7ns
条件3:>_.70ns
条件4:曼1rls
条件5:-<1ns
条件6:$14ns
询W5100接收寄存器是否有数据,如
果有.则接收数据,接收完毕后,转入建
立状态;如果没有,则发送数据,发送完
毕后,转入建立状态.在发送过程中,如
果客户端发送结束通讯命令或者网络
异常中断(如出现掉线现象),W5100
进入关闭端口状态,然后进入监听状
态;等待下一次的连接.
3.2上位机测试软件
为了验证TCP/IP通讯是否连接,测
量网络速度,设计了一个简单的上位机
软件.开发工具为VC6.0.设计的板卡
通过网线与计算机的网卡相连,启动上
位机软件.通讯步骤如下:?启动连
接:与板卡建立TCP通讯;?发送数
据:可选择发送文件及发送次数;?接
收数据:接收板卡发送的测试数据;?结束通讯:发送关闭端 口命令,同时显示通讯速率.经测试,设计的板卡与上位机通 讯可靠稳定,最大通讯速率(有效数据率):16.186MByte/S,接 近25MByte/S理论水平.
4结束语
依托W5100完善的TCP/IP协议处理功能,使FPGA在 没有操作系统的支持下接入[nternet网络,具有简单,可靠,价 格低廉等优点,具有非常好的应用前景.这种系统架构可完全
卸载网络协议所需的负荷,减少软件开发的开支,具有较短的 开发周期与较强的工程弹性.
参考文献
[1】邹依依,郭灿新,黄成军,王瑶,江秀臣.W5100在DSP远程 以太网数据通信系统中的应用[J].工业控制计算机》 2008,21(8):20-21.
[2]刘关德,余学飞.基于SPI总线和WS100的医疗仪器网络 接口设计田.姓物医学工程研究》.2008,27(3):201—204. [3】北京博控自动化有限公司.基于W5100的DSP快速网络接 入解决方案.弹片机与嵌入式系统应用》.2009,(3): 84-85.
[4】王炳口,刘爽,张伟,朱琳.基于硬件协议栈W5100的图像 采集传输系统[M1.《电子技术应用)).2009,(3):92-93.
2011年第03,04期《计算机与厨络》