CN106789464A - 基于fpga和w5100的以太网装置及控制方法 - Google Patents
基于fpga和w5100的以太网装置及控制方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus 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
技术领域
本发明属于通信领域,涉及到一种提供了控制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)根据物理地址把数据写到发送缓冲区。
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)
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)
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 | 中国科学院西安光学精密机械研究所 | 一种适用于相机与采集计算机之间的通用转接板 |
-
2016
- 2016-12-19 CN CN201611178304.2A patent/CN106789464A/zh active Pending
Patent Citations (3)
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)
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)
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 |