CN101286873B - 一种以太网错误帧提取接口装置 - Google Patents
一种以太网错误帧提取接口装置 Download PDFInfo
- Publication number
- CN101286873B CN101286873B CN2008100443413A CN200810044341A CN101286873B CN 101286873 B CN101286873 B CN 101286873B CN 2008100443413 A CN2008100443413 A CN 2008100443413A CN 200810044341 A CN200810044341 A CN 200810044341A CN 101286873 B CN101286873 B CN 101286873B
- Authority
- CN
- China
- Prior art keywords
- frame
- buffer memory
- ethernet
- fifo buffer
- state
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种以太网错误帧提取接口装置,其接收状态机接收来自PHY模块的以太网帧,并解析获得以太网帧数据,产生状态描述符;底层数据FIFO缓存存储来自接收状态机的所有以太网帧数据,底层状态FIFO缓存存储来自接收状态机的、和以太网帧一一对应的状态描述符;错误帧抛弃逻辑模块根据接收控制位和状态描述符中的错误帧标识判断该以太网帧是否接收,如果接受控制位允许,则接收,否则,直接抛弃;高层数据FIFO缓存和高层状态FIFO缓存存储错误帧抛弃逻辑模块判断后以太网帧数据和状态描述符。这样可以轻易通过与预先设定的接收控制位控制错误帧的主动接收,将以太网错误帧提取出来,同时兼顾标准以太网帧的存取。
Description
技术领域
本发明涉及一种应用于以太网通信的接口装置,具体来讲,涉及一种在以太网通信中,对错误帧进行提取的接口装置。
背景技术
现有技术的以太网适配器接口装置采用多个FIFO并联或单独的RAM存储结构,错误帧提取的实现代价太大,并且都不能主动地接收所有的错误帧,因为错误帧不是标准的以太网帧。
多个FIFO并联存储结构的接口装置,如图1所示,每个FIFO只存储一帧数据,利用FIFO的清空机制可以清除存入的错误帧数据。但其上下端需要多路接收和提取的仲裁逻辑配合。FIFO并联的数量越多,仲裁逻辑越复杂,扩展性欠佳。另外,每个FIFO无论大小,只存储一帧数据,当存储短帧时势必会造成存储空间的浪费。不能充分利用存储空间和有限数量的FIFO并联,也容易出现接收丢帧的现象。
单个RAM存储结构的接口装置,如图2所示,单个RAM可以存储多帧数据,修改写入指针可以实现错误帧数据的抛弃。每次接收帧数据前,保存RAM的写入指针。若随后接收到是错误帧,可以还原之前保存写入指针,完成写入的错误帧数据的抛弃。但RAM的写入指针同时要受到错误帧处理逻辑和状态机正常写入的控制,不易实现。
此外,现有技术的以太网错误帧提取接口装置是将错误帧直接抛弃,不能主动接收错误帧。在网络故障测试领域,既要能完成正常的以太网通信,又要能检测很多网络故障,这就要求以太网接口装置应能接收标准的以太网帧和错误帧,而且可根据需求取舍其中特定类型的错误帧。
发明内容
本发明的目的在于克服现有技术的不足,提供一种结构简单、能主动接收错误帧的以太网错误帧提取接口装置。
为实现上述发明目的,本发明的以太网错误帧提取接口装置,包括接收状态机、底层数据FIFO缓存、底层状态FIFO缓存、错误帧抛弃逻辑模块、高层数据FIFO缓存以及高层状态FIFO缓存;
接收状态机,用于接收来自PHY模块的以太网帧,并解析获得以太网帧数据,产生状态描述符;
底层数据FIFO缓存,用于存储来自接收状态机的所有以太网帧数据;
底层状态FIFO缓存,用于存储来自接收状态机的、和以太网帧一一对应的状态描述符,状态描述符记录该以太网帧的信息;
错误帧抛弃逻辑模块,用于根据预先设定的接收控制位和底层状态FIFO缓存读出的状态描述符中的错误帧标识,判断该以太网帧是否进一步接收,如果错误帧标识为接收控制位允许的,则进一步接收该以太网帧,否则,不接收,直接抛弃;
高层数据FIFO缓存和高层状态FIFO缓存,用于分别存储错误帧抛弃逻辑模块判断后进一步接收的以太网帧数据和状态描述符。
本发明以太网错误帧提取接口装置通过底层数据FIFO缓存和底层状态FIFO缓存,先将以太网帧数据和状态描述符存储,这样可以轻易通过与预先设定的接收控制位控制错误帧的主动接收,将以太网错误帧提取出来,同时兼顾标准以太网帧的存取。FIFO技术现成,数量固定,结构简单。FIFO的容量可自定义,接收控制易实现也易调整,具有非常好的扩展性,适用于通用的可编程逻辑器件。
附图说明
图1是现有技术中FIFO并联存储结构接口装置原理图;
图2是现有技术中单个RAM存储结构接口装置原理图;
图3是本发明以太网错误帧提取接口装置一种具体实施方式原理图;
图4是图3所示错误帧抛弃逻辑模块结构图;
图5是本发明以太网错误帧提取接口装置一种具体实施方式以太网错误帧提取流程图。
具体实施方式
下面结合附图,对本发明优选具体实施方式进行描述。需要提醒注意的是,尽管相似部件出现在不同附图中,但它们被赋予相似的附图标记。在以下的描述中,当采用的已知功能和设计的详细描述也许会淡化本发明的主题内容时,这些描述在这儿将被忽略。
图1、图2是现有技术中FIFO并联存储结构接口装置及单个RAM存储结构接口装置原理图,前面已经进行过描述,在此不再赘述。
图3是本发明以太网错误帧提取接口装置一种具体实施方式原理图。在本实施例中,本发明的以太网错误帧提取接口装置包括:接收状态机1、底层数据FIFO缓存201、底层状态FIFO缓存202、错误帧抛弃逻辑模块3,以及高层数据FIFO缓存401和高层状态FIFO缓存402。
接收状态机1接收来自PHY模块5的以太网帧,并解析获得以太网帧数据,产生状态描述符,无条件地分别存储于底层数据FIFO缓存201,底层状态FIFO缓存202中,这样,底层状态FIFO缓存202存储来自接收状态机的1、和以太网帧一一对应的状态描述符,状态描述符记录该以太网帧的信息。
错误帧抛弃逻辑模块3根据预先设定的接收控制位和底层状态FIFO缓存读出的状态描述符中的错误帧标识,判断该以太网帧是否进一步接收,如果错误帧标识为接收控制位允许的,则进一步接收该以太网帧,并将以太网帧数据和状态描述符分别存储于高层数据FIFO缓存401和高层状态FIFO402缓存,否则,不接收,直接抛弃。
在本实施例中,高层FIFO缓存4、底层FIFO缓存2都由数据FIFO缓存和状态FIFO缓存组成,均为32位宽。高层FIFO缓存4采用传统读出型的双口FIFO;底层FIFO缓存2采用预读出型(Show-Ahead)的单口FIFO,即FIFO的数据在读信号有效前就输出,读信号只作为一次输出的应答。
底层、高层数据FIFO缓存201、401存储以太网帧数据,一个数据FIFO可以存储多个帧,以太网帧数据由接收状态机1解析获得。帧数据先储存在底层数据FIFO缓存201,再有选择的进入高层数据FIFO缓存401中。
底层、高层状态FIFO缓存202、402存储和以太网帧一一对应的状态描述符,每个状态描述符是32位。状态描述符由接收状态机1产生,记录了该以太网帧的信息。
在本实施例中,底层、高层数据FIFO缓存201、401将先后存入的帧数据按32位对齐后,首尾紧紧挨着,充分利用存储空间。这样一帧数据可以跨高层、底层数据FIFO缓存401、201储存。即若高层数据FIFO缓存401在接收底层数据FIFO缓存201读出帧时变满了,底层数据FIFO缓存201会暂时停止读出,这一帧数据会同时存储在两层数据FIFO缓存201、401里,高层数据FIFO缓存401满了之后,底层数据FIFO缓存201才会变满,最大程度地利用了存储空间。
同理,状态FIFO缓存202、402也采用同样的存储方法,这样,底层数据或状态FIFO缓存满后才不接收到达帧,最大程度地利用两层FIFO缓存所有空间,最大限度地避免了接收丢帧的现象。
两层FIFO状态2、4之间的错误帧处理逻辑模块3起到了以太网帧的筛选过滤作用,错误帧的抛弃操作在此完成。错误帧处理逻辑模块3只用监测从底层状态FIFO缓存202读出状态描述符,根据接收控制位和状态描述符中的错误帧标识,判断该以太网帧是否进一步接收,如果错误帧标识为接收控制位允许的,则进一步接收该以太网帧,否则,不接收,直接抛弃。这一帧筛选过程保证了高层FIFO缓存401中的帧数据都是期待接收的。当处理器6从高层FIFO缓存401提取帧数据时,就省去了错误帧的判断操作,存取负担会减轻,实现了以太网帧的高效接收。
在本实施例中,状态描述符包括了错误帧标识,均为高有效,它们指示了该帧属于哪一类错误帧,共有8类,见表1。
序号 | 错误帧标识 | 位宽 | 说明 |
1 | 地址失配标识 | 1 | 指示该帧的目的地址不匹配。 |
2 | 短帧标识 | 1 | 指示该帧是短帧。 |
3 | 长帧标识 | 1 | 指示该帧是长帧。 |
4 | 校验错误标识 | 1 | 指示该帧的CRC32校验结果错误。 |
5 | 迟冲突标识 | 1 | 指示该帧是迟冲突帧。 |
6 | 解码错误标识 | 1 | 指示该帧是解码错误帧。 |
7 | 暂停标识 | 1 | 指示该帧是流量控制帧。 |
8 | 截断标识 | 1 | 指示该帧接收时因存储空间不足而被截断。 |
表1
在本实施例中,接收控制位包括全局接收控制位和独立接收控制位,均为高有效,见表2。全局控制位有效时,允许接收所有错误帧;无效时,独立控制位将起作用。错误帧是对应的独立控制位允许的,即有效时,就被允许接收。引入全局和独立接收控制位后,错误帧处理,即进一步接收或抛弃操作变得简单易行,可以自由设定接收一种或几种错误帧。
表2
图4是图3所示错误帧抛弃逻辑模块结构图。在本实施例中,包括接收控制寄存器301、位运算及状态描述符暂存电路302以及与电路303,与电路303在图中用&符号表示。接收控制位存储在接收控制寄存器301中,位运算及状态描述符暂存电路302从接收控制寄存器301中读出接收控制位,在底层状态FIFO缓存202中读出状态描述符,根据接收控制寄存器301中预先设定的接收控制位和底层状态FIFO缓存202读出的状态描述符中的错误帧标识,输出是否进一步接收的接收控制信号,如果错误帧标识为接收控制位允许的,则进一步接收该以太网帧,否则,不接收,直接抛弃。
在本实施例中,接收控制信号为位运算的结果。其运算如下:
接收控制=全局接收控制位|(
(短帧标识 & 短帧接收控制位)|
(长帧标识 & 长帧接收控制位)|
(校验错误帧标识 & 校验错误帧接收控制位)|
(地址失配帧标识 & 地址失配帧接收控制位))
各个接收控制位和错误帧标识都是高有效。由上述公式可知:“接收控制”为逻辑“1”时,表示允许接收,为逻辑“0”时表示拒绝接收。例如只允许接收短帧时,全局接收控制位置0,短帧接收控制位置1,其他独立接收控制位置0。错误帧处理逻辑模块3遇到短帧时“接收控制”的结果为1,遇到其他帧时为0,使得高层FIFO缓存4只接收短帧。
接收控制信号和底层数据FIFO缓存201的读信号在与电路303相与,作为高层数据FIFO缓存401的写信号,控制底层数据FIFO缓存201的以太网帧数据是否进入到高层数据FIFO缓存401。接收控制信号为1时,高层数据FIFO缓存401的写信号可看成时底层数据FIFO缓存201的读信号,实现了高低两层数据FIFO缓存401、201数据以最快的速度存储。接收控制信号为0时,底层数据FIFO缓存201的读信号虽然有效,但高层数据FIFO缓存401的写信号却无效,即底层帧数据只被读出而没被写入,实现了错误帧的快速抛弃。
在底层数据FIFO缓存401读出数据前,位运算及状态描述符暂存电路302会先读出对应状态描述符,并将其暂存于一寄存器中。当数据FIFO缓存401读出帧数据后,接收控制信号会有选择地将暂存的状态描述符写入高层状态FIFO缓存402中。
高低两层FIFO缓存4、2的存储结构简单,搭建的元件数量固定,各个FIFO的容量可以根据需求调整大小,能很好的适用于不同场合。独立接收控制位也可以根据需求扩展,接收控制信号可扩展为:
接收控制=全局接收控制位|(
(错误帧标识1&独立接收控制位1)|
(错误帧标识2&独立接收控制位2)|
……
(错误帧标识n&独立接收控制位n))
其中错误帧标识必须是接收状态机能识别出的错误帧,n为错误帧标识编号。
采用高低两层FIFO缓存4、2的存储结构后,帧数据接收流程如下:
1.底层数据FIFO缓存201无条件地接收所有来自接收状态机1的以太网帧,包括标准以太网帧和错误帧。存储完一帧数据后,接收状态机1产生一个对应的状态描述符,并写入底层状态FIFO缓存202中。
2.从底层状态FIFO缓存202读出一个状态描述符,并临时保存到位运算及状态描述符暂存电路302一个寄存器中。根据该状态描述符和预设的错误帧接收控制位,计算出该帧的处理结果,是否进一步接收:允许接收或拒绝接收。
3.处理结果为允许接收时,高层数据FIFO缓存401从底层数据FIFO缓存201中接收对应的一帧数据,之后再将暂存的状态描述符写入高层状态FIFO缓存402。处理结果为拒绝接收时,底层数据FIFO缓存201只读出该帧数据,不写入,数据和状态描述符都予以抛弃。
图5是本发明以太网错误帧提取接口装置一种具体实施方式以太网错误帧提取流程图。在本实施例中,以只提取短帧为例,帧数据提取流程如下:
1.底层数据FIFO缓存201存储了所有接收帧,每一帧对应的状态描述符也都存入底层状态FIFO缓存202。
2.从底层状态FIFO缓存202读出一个状态描述符,错误帧处理逻辑模块3会判断是该帧否是短帧。只有短帧,才允许进一步接收。
3.若该帧为短帧,则该帧数据和该帧的状态描述符都会被写入到高层FIFO缓存4中。否则数据和状态都不会被写入高层FIFO缓存4中。最后高层FIFO缓存4保存的都是短帧。
尽管上面对本发明说明性的具体实施方式进行了描述,但应当清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (4)
1.一种以太网错误帧提取接口装置,包括接收状态机,其特征在于,还包括底层数据FIFO缓存、底层状态FIFO缓存、错误帧抛弃逻辑模块、高层数据FIFO缓存以及高层状态FIFO缓存;
接收状态机,用于接收来自PHY模块的以太网帧,并解析获得以太网帧数据,产生状态描述符;
底层数据FIFO缓存,用于存储来自接收状态机的所有以太网帧数据;
底层状态FIFO缓存,用于存储来自接收状态机的、和以太网帧一一对应的状态描述符,状态描述符记录该以太网帧的信息;
错误帧抛弃逻辑模块,用于根据预先设定的接收控制位和底层状态FIFO缓存读出的状态描述符中的错误帧标识,判断该以太网帧是否进一步接收,如果错误帧标识为接收控制位允许的,则进一步接收该以太网帧,否则,不接收,直接抛弃;
高层数据FIFO缓存和高层状态FIFO缓存,用于分别存储错误帧抛弃逻辑模块判断后进一步接收的以太网帧数据和状态描述符。
2.根据权利要求1所述的以太网错误帧提取接口装置,其特征在于,所述的错误帧抛弃逻辑模块包括接收控制寄存器、位运算及状态描述符暂存电路以及与电路;
接收控制位存储在接收控制寄存器中;
位运算及状态描述符暂存电路从接收控制寄存器中读出接收控制位,在底层状态FIFO缓存中读出状态描述符,根据接收控制寄存器中预先设定的接收控制位和底层状态FIFO缓存读出的状态描述符中的错误帧标识,输出是否进一步接收的接收控制信号;
接收控制信号和底层数据FIFO缓存的读信号在与电路相与,作为高层数据FIFO缓存的写信号,控制底层数据FIFO缓存的以太网帧数据是否进入到高层数据FIFO缓存。
3.根据权利要求2所述的以太网错误帧提取接口装置,其特征在于,所述的接收控制位包括全局接收控制位和独立接收控制位;
全局控制位有效时,允许接收所有错误帧;
无效时,独立控制位将起作用,错误帧是对应的独立控制位允许的,即有效时,就被允许接收。
4.根据权利要求3所述的以太网错误帧提取接口装置,其特征在于,所述的接收控制信号为位运算的结果,其运算如下:
接收控制=全局接收控制位|(
(错误帧标识1&独立接收控制位1)|
(错误帧标识2&独立接收控制位2)|
……
(错误帧标识n&独立接收控制位n))。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100443413A CN101286873B (zh) | 2008-05-05 | 2008-05-05 | 一种以太网错误帧提取接口装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100443413A CN101286873B (zh) | 2008-05-05 | 2008-05-05 | 一种以太网错误帧提取接口装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101286873A CN101286873A (zh) | 2008-10-15 |
CN101286873B true CN101286873B (zh) | 2010-09-01 |
Family
ID=40058855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100443413A Expired - Fee Related CN101286873B (zh) | 2008-05-05 | 2008-05-05 | 一种以太网错误帧提取接口装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101286873B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377660B (zh) * | 2010-08-20 | 2015-06-03 | 中兴通讯股份有限公司 | 信元传输方法及装置 |
CN102984506B (zh) * | 2012-12-18 | 2016-08-10 | 大连科迪视频技术有限公司 | 一种3g-sdi/dvi便携式视频信号采集方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756370A (zh) * | 2004-09-28 | 2006-04-05 | 乐金电子(惠州)有限公司 | 无线图像通信系统的错误帧跳跃方法及装置 |
-
2008
- 2008-05-05 CN CN2008100443413A patent/CN101286873B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756370A (zh) * | 2004-09-28 | 2006-04-05 | 乐金电子(惠州)有限公司 | 无线图像通信系统的错误帧跳跃方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101286873A (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103916252B (zh) | 一种基于fpga的高带宽以太网ip核 | |
US8291167B2 (en) | System and method for writing cache data and system and method for reading cache data | |
US7366865B2 (en) | Enqueueing entries in a packet queue referencing packets | |
CN104866454B (zh) | 面向板级高速总线的写报文前瞻处理方法及装置 | |
CN103581055B (zh) | 报文的保序方法、流量调度芯片及分布式存储系统 | |
CN106371898B (zh) | 事件队列管理 | |
US20110320646A1 (en) | Skip based control logic for first in first out buffer | |
CN110515881A (zh) | 一种串口通信帧的同步系统及同步高性能方法 | |
CN102629235B (zh) | 一种提高ddr存储器读写速率的方法 | |
US10291232B2 (en) | Counter and counting method | |
CN101286873B (zh) | 一种以太网错误帧提取接口装置 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN101594201B (zh) | 链式队列管理结构整合错误数据过滤的方法 | |
US6618831B2 (en) | Increasing performance with memory compression | |
CN106776374A (zh) | 一种基于fpga的高效数据缓冲方法 | |
CN101594305A (zh) | 一种报文处理方法及装置 | |
CN1221104C (zh) | 一种利用帧定位实现包方式数据高位宽到低位宽的格式转换方法 | |
CN100549928C (zh) | 一种虚拟先入先出内存的实现方法和控制装置 | |
CN101894005A (zh) | 高速接口向低速接口的异步fifo传输方法 | |
CN103220168B (zh) | 一种基于定长协议数据包长度异常的处理方法 | |
CN104407367B (zh) | 提高卫星导航终端接收机基带信号处理能力的装置与方法 | |
US7127547B2 (en) | Processor with multiple linked list storage feature | |
US20110179236A1 (en) | Memory Block Reclaiming Judging Apparatus and Memory Block Managing System | |
US20150006820A1 (en) | Dynamic management of write-miss buffer to reduce write-miss traffic | |
CN101697541A (zh) | 基于入口fifo和链表结构的以太网帧存储转发的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100901 Termination date: 20130505 |