CN106789464A - 基于fpga和w5100的以太网装置及控制方法 - Google Patents

基于fpga和w5100的以太网装置及控制方法 Download PDF

Info

Publication number
CN106789464A
CN106789464A CN201611178304.2A CN201611178304A CN106789464A CN 106789464 A CN106789464 A CN 106789464A CN 201611178304 A CN201611178304 A CN 201611178304A CN 106789464 A CN106789464 A CN 106789464A
Authority
CN
China
Prior art keywords
fpga
register
data
address
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611178304.2A
Other languages
English (en)
Inventor
蒋华利
常涛
耿弯弯
张宇
马英英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Optical Electrical Communication Technology Co Ltd
Original Assignee
Tianjin Optical Electrical Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Optical Electrical Communication Technology Co Ltd filed Critical Tianjin Optical Electrical Communication Technology Co Ltd
Priority to CN201611178304.2A priority Critical patent/CN106789464A/zh
Publication of CN106789464A publication Critical patent/CN106789464A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)

Abstract

本发明提供了一种基于FPGA和W5100的以太网装置及其控制方法,所述装置包括FPGA,以及通过FPGA的IO接口与FPGA连接的若干W5100芯片,所述FPGA通过有限状态机控制W5100芯片的接口时序。本发明使用低成本的FPGA+W5100是实现多网口项目的最优解决方案,FPGA与W5100的结合既简化了FPGA的开发难度,又简单了开发成本,由于FPGA的可编程与多IO特性,本发明可以应用在多接口,多协议的项目中。

Description

基于FPGA和W5100的以太网装置及控制方法
技术领域
本发明属于通信领域,涉及到一种提供了控制W5100实现以太网接口进行数据传输的方案。
背景技术
伴随着计算机网络技术的发展,以太网随处可见,目前使用最为普遍的接口之一。目前物联网作为一个朝阳产业,也在快速发展。物联网要求每个设备都要有以太网的参与。实现以太网接口的方案有很多种,目前多以控制芯片CPU/MCU/FPGA等智能芯片和以太网Phy芯片作为解决方案。这种方案的优点是以软件为主,开发人员较多。而其缺点是需要编写大量繁琐的程序,和较长时间的调试。
基于这样的情况硬件实现以太网的方案就应运而生。W5100是WIZnet公司推出的固件网络芯片。该芯片集TCP/IP协议栈,以太网MAC和PHY为一体,支持TCP,UDP,IPv4,ICMP,ARP,IGMP和PPPoE等网络协议。内置16KB的发送/接收数据缓冲区,可以快速的进行数据交互,最大通信速率达25Mbps。W5100支持且自动识别全双工和半双工的数据传输模式,而且该芯片兼容10M和100M以太网。
因此如何使用W5100实现以太网接口的解决方案,是亟需解决的问题。
发明内容
本发明提出一种基于FPGA和W5100的以太网装置及控制方法,为多网口互联,以及基于FPGA的网络通信,提供了一种稳定快捷,低成本的解决方案。
为达到上述目的,本发明的技术方案是这样实现的,一种基于FPGA和W5100的以太网装置,包括FPGA,以及通过FPGA的IO接口与FPGA连接的若干W5100芯片,所述FPGA通过有限状态机控制W5100芯片的接口时序。
进一步的,W5100芯片的地址总线ADDR14~ADDR0分别与FPGA的IO接口的地址总线ADDR14~ADDR0连接,数据总线DATA7~DATA0分别与FPGA的IO接口的数据总线DATA7~DATA0连接,片选信号线CS与FPGA的IO接口的CS连接,WR、RD、INT信号线分别与FPGA的IO接口的WR、RD、INT信号线连接。
进一步的,所述FPGA控制W5100芯片的有限状态机包括W5100_IDLE、W5100_INIT、W5100_Sn_INIT、W5100_JUDGE、W5100_DAT_RECV、W5100_DAT_SEND、W5100_CLOSED。
一种应用上述以太网装置的控制方法,步骤为:
(8)W5100_IDLE:对W5100进行复位,复位时间要大于2us;
(9)W5100_INIT:对W5100基础寄存器进行初始化;
(10)W5100_Sn_INIT:对SOCK端口进行设置以及建立TCP连接;
(11)W5100_JUDGE:在这个状态检测是否有终止连接请求,是否有数据接收或者发送,FIFO是否有数据;
(12)W5100_DAT_RECV:用于读取接收的数据;
(13)W5100_DAT_SEND:用于把数据写到发送缓冲区;
(14)W5100_CLOSED:关闭TCP/IP连接。
进一步的,步骤(2)主要包括:
基础设置,包括模式寄存器,中断屏蔽寄存器,重发时间寄存器,重发次数寄存器;
网络信息设置,包括网管地址寄存器,本机物理地址寄存器,子网掩码寄存器,本机IP地址寄存器;
端口存储信息设置。
进一步的,步骤(3)主要工作流程为:
(301)端口初始化,设置端口n模式寄存器,本机端口n的端口号,端口n命令寄存器;
(302)侦听,设置命令寄存器为侦听模式;
(303)等待连接成功,当收到远程对端发来的连接请求,W5100将回复ACK数据包,并把状态改变成连接状态,需要读取状态寄存器,以获得连接状态。
进一步的,步骤(5)主要工作流程为:
(501)获取读地址信息;
(502)根据端口n接收缓冲区RX的基地址和RX屏蔽地址计算物理地址;
(503)根据物理地址读取接收的数据。
进一步的,步骤(6)主要工作流程为:
(601)读取端口n发送存储器剩余空间寄存器,以便确定发送数据的大小;
(602)读取写指针寄存器,并计算物理地址;
(603)根据物理地址把数据写到发送缓冲区。
相对于现有技术,本发明所述基于FPGA和W5100的以太网装置及控制方法的有益效果为:
本发明使用低成本的FPGA+W5100是实现多网口项目的最优解决方案,FPGA与W5100的结合既简化了FPGA的开发难度,又简单了开发成本,由于FPGA的可编程与多IO特性,本发明可以应用在多接口,多协议的项目中。
附图说明
图1是FPGA与W5100的硬件连接示意图;
图2是控制W5100的状态机示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
本发明利用可编程逻辑器件FPGA,通过有线状态机控制W5100的接口时序,来控制以该芯片。由于FPGA的普通IO相较于MCU的GPIO多,因此,可用使用FPGA控制多个W5100以实现网络数据的中转,与通信协议的转换。如以太网转PCI,CAN等协议。由于FPGA的可编程与多IO特性,该专利可以应用在多接口,多协议的项目中。
如图1所示,W5100芯片的地址总线ADDR14~ADDR0分别与FPGA的IO接口的地址总线ADDR14~ADDR0连接,数据总线DATA7~DATA0分别与FPGA的IO接口的数据总线DATA7~DATA0连接,片选信号线CS与FPGA的IO接口的CS连接,WR、RD、INT信号线分别与FPGA的IO接口的WR、RD、INT信号线连接。
对于W5100的设计主要是通过有限状态机来控制其接口时序,以实现对W5100的模式配置和数据的读取与写入。其状态机的设计如图2所示:
对W5100状态控制的主要流程如下所示:
W5100_IDLE:对W5100进行复位,复位时间要大于2us;
W5100_INIT:对W5100基础寄存器进行初始化,主要有基础设置(模式寄存器,中断屏蔽寄存器,重发时间寄存器,重发次数寄存器),网络信息设置(网管地址寄存器,本机物理地址寄存器,子网掩码寄存器,本机IP地址寄存器)和端口存储信息设置;
W5100_Sn_INIT:对SOCK端口进行设置以及建立TCP连接。其主要工作流程为:①端口初始化,设置端口n模式寄存器,本机端口n的端口号,端口n命令寄存器;②侦听,设置命令寄存器为侦听模式;③等待连接成功,当收到远程对端发来的连接请求,W5100将回复ACK数据包,并把状态改变成连接状态。所以需要读取状态寄存器,以获得连接状态;
W5100_JUDGE:在这个状态检测是否有终止连接请求,是否有数据接收或者发送FIFO是否有数据(发送/接收数据的优先级);
W5100_DAT_RECV:①获取读地址信息,②根据端口n接收缓冲区RX的基地址和RX屏蔽地址计算物理地址(由于缓冲区大小的问题,以及数据包大小,读取数据时地址可能递增到最大后返回到基地址--反折);③根据物理地址读取接收的数据;
W5100_DAT_SEND:①读取端口n发送存储器剩余空间寄存器,以便确定发送数据的大小,②读取写指针寄存器,并计算物理地址,③根据物理地址把数据写到发送缓冲区;
W5100_CLOSED:关闭TCP/IP连接。
以上描述了本发明的基本原理、主要特征和实施方案等信息,但是本发明不受上述实施过程的限制,在不脱离发明精神和范围的前提下,本发明还可以有各种变化和改进。因此,除非这种变化和改进脱离了本发明的范围,它们应该被看作包含在本发明中。

Claims (8)

1.一种基于FPGA和W5100的以太网装置,其特征在于,包括FPGA,以及通过FPGA的IO接口与FPGA连接的若干W5100芯片,所述FPGA通过有限状态机控制W5100芯片的接口时序。
2.根据权利要求1所述的装置,其特征在于,W5100芯片的地址总线ADDR14~ADDR0分别与FPGA的IO接口的地址总线ADDR14~ADDR0连接,数据总线DATA7~DATA0分别与FPGA的IO接口的数据总线DATA7~DATA0连接,片选信号线CS与FPGA的IO接口的CS连接,WR、RD、INT信号线分别与FPGA的IO接口的WR、RD、INT信号线连接。
3.根据权利要求1所述的装置,其特征在于,所述FPGA控制W5100芯片的有限状态机包括W5100_IDLE、W5100_INIT、W5100_Sn_INIT、W5100_JUDGE、W5100_DAT_RECV、W5100_DAT_SEND、W5100_CLOSED。
4.一种应用权利要求1-3任一项所述以太网装置的控制方法,其特征在于,步骤为:
(1)W5100_IDLE:对W5100进行复位,复位时间要大于2us;
(2)W5100_INIT:对W5100基础寄存器进行初始化;
(3)W5100_Sn_INIT:对SOCK端口进行设置以及建立TCP连接;
(4)W5100_JUDGE:在这个状态检测是否有终止连接请求,是否有数据接收或者发送,FIFO是否有数据;
(5)W5100_DAT_RECV:用于读取接收的数据;
(6)W5100_DAT_SEND:用于把数据写到发送缓冲区;
(7)W5100_CLOSED:关闭TCP/IP连接。
5.根据权利要求4所述的方法,其特征在于,步骤(2)主要包括:
基础设置,包括模式寄存器,中断屏蔽寄存器,重发时间寄存器,重发次数寄存器;
网络信息设置,包括网管地址寄存器,本机物理地址寄存器,子网掩码寄存器,本机IP地址寄存器;
端口存储信息设置。
6.根据权利要求4所述的方法,其特征在于,步骤(3)主要工作流程为:
(301)端口初始化,设置端口n模式寄存器,本机端口n的端口号,端口n命令寄存器;
(302)侦听,设置命令寄存器为侦听模式;
(303)等待连接成功,当收到远程对端发来的连接请求,W5100将回复ACK数据包,并把状态改变成连接状态,需要读取状态寄存器,以获得连接状态。
7.根据权利要求4所述的方法,其特征在于,步骤(5)主要工作流程为:
(501)获取读地址信息;
(502)根据端口n接收缓冲区RX的基地址和RX屏蔽地址计算物理地址;
(503)根据物理地址读取接收的数据。
8.根据权利要求4所述的方法,其特征在于,步骤(6)主要工作流程为:
(601)读取端口n发送存储器剩余空间寄存器,以便确定发送数据的大小;
(602)读取写指针寄存器,并计算物理地址;
(603)根据物理地址把数据写到发送缓冲区。
CN201611178304.2A 2016-12-19 2016-12-19 基于fpga和w5100的以太网装置及控制方法 Pending CN106789464A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611178304.2A CN106789464A (zh) 2016-12-19 2016-12-19 基于fpga和w5100的以太网装置及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611178304.2A CN106789464A (zh) 2016-12-19 2016-12-19 基于fpga和w5100的以太网装置及控制方法

Publications (1)

Publication Number Publication Date
CN106789464A true CN106789464A (zh) 2017-05-31

Family

ID=58890407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611178304.2A Pending CN106789464A (zh) 2016-12-19 2016-12-19 基于fpga和w5100的以太网装置及控制方法

Country Status (1)

Country Link
CN (1) CN106789464A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109109904A (zh) * 2018-06-20 2019-01-01 东南大学 一种基于mvb的列车轴温检测装置及检测方法
CN114124663A (zh) * 2021-11-16 2022-03-01 太原市华纳方盛科技有限公司 一种以太网芯片断网重连的方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651673A (zh) * 2009-09-17 2010-02-17 山东大学 一种片上可编程系统连接到以太网的方法
CN203299913U (zh) * 2013-06-27 2013-11-20 国家电网公司 一种基于sopc技术的多生物识别网络化门禁装置
CN105376560A (zh) * 2014-08-22 2016-03-02 中国科学院西安光学精密机械研究所 一种适用于相机与采集计算机之间的通用转接板

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651673A (zh) * 2009-09-17 2010-02-17 山东大学 一种片上可编程系统连接到以太网的方法
CN203299913U (zh) * 2013-06-27 2013-11-20 国家电网公司 一种基于sopc技术的多生物识别网络化门禁装置
CN105376560A (zh) * 2014-08-22 2016-03-02 中国科学院西安光学精密机械研究所 一种适用于相机与采集计算机之间的通用转接板

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
倪云峰: "《单片机原理与应用》", 30 June 2009, pages: 244 - 262 *
刘金龙等: "基于FPGA的以太网与1553B网络接口设计", 《测控技术》 *
刘金龙等: "基于FPGA的以太网与1553B网络接口设计", 《测控技术》, no. 10, 18 October 2010 (2010-10-18) *
梁中英等: "基于FPGA和W5100的以太网通信系统设计", 《通信技术》 *
梁中英等: "基于FPGA和W5100的以太网通信系统设计", 《通信技术》, no. 11, 10 November 2010 (2010-11-10), pages 95 - 97 *
武楠: "W5100在FPGA系统中实现TCP/IP网络通信", 《计算机与网络》 *
武楠: "W5100在FPGA系统中实现TCP/IP网络通信", 《计算机与网络》, 26 February 2011 (2011-02-26), pages 107 - 109 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109109904A (zh) * 2018-06-20 2019-01-01 东南大学 一种基于mvb的列车轴温检测装置及检测方法
CN114124663A (zh) * 2021-11-16 2022-03-01 太原市华纳方盛科技有限公司 一种以太网芯片断网重连的方法、装置及设备
CN114124663B (zh) * 2021-11-16 2023-12-01 太原市华纳方盛科技有限公司 一种以太网芯片断网重连的方法、装置及设备

Similar Documents

Publication Publication Date Title
US7836220B2 (en) Network direct memory access
CN103077148B (zh) 一种基于pcie的主机通讯方法和主机
WO2016191990A1 (zh) 一种报文转换方法及装置
CN106534178B (zh) RapidIO网络通用套接字的实现系统及方法
CN103078871A (zh) 一种串口以太网协议转换方法
CN103095703B (zh) 一种实现网络与串口数据交互的方法、设备及系统
CN109819065A (zh) 基于fpga的数据传输及存储系统、方法以及数据系统
CN103916295A (zh) 数据传输方法、设备及网关
CN106789464A (zh) 基于fpga和w5100的以太网装置及控制方法
CN106899327A (zh) 数据传输的方法和装置
JP2023530190A (ja) IPv6ネットワーク通信方法、装置、及びシステム
CN103095850A (zh) 一种移动终端通过计算机共享网络的方法和系统
CN106790282A (zh) 一种协议转换的方法、装置及空调系统
CN103812664A (zh) 一种网络共享的方法及装置
CN206620162U (zh) 一种RapidIO和以太网转换模块
CN102546401B (zh) Usb3.0局域网极速数据交换机
WO2022042396A1 (zh) 数据传输方法和系统、芯片
RU99621U1 (ru) Коммуникационное устройство для работы в сетях ethernet
CN208424406U (zh) 一种以太网转换器
KR101469244B1 (ko) 수신된 데이터에서의 불필요한 패킷 제거 장치 및 방법
CN208905012U (zh) 一种实用通信接口卡
CN205179035U (zh) F28335dsp与w5100以太网模块通讯系统
CN102368754A (zh) 基于s3c6410的嵌入式网关
CN100505690C (zh) 高速数据链路控制数据的转发方法
EP4287567A1 (en) Data processing method, apparatus and chip

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531