CN102065569A - 一种适用于wlan的以太网mac子层控制器 - Google Patents

一种适用于wlan的以太网mac子层控制器 Download PDF

Info

Publication number
CN102065569A
CN102065569A CN2009102377764A CN200910237776A CN102065569A CN 102065569 A CN102065569 A CN 102065569A CN 2009102377764 A CN2009102377764 A CN 2009102377764A CN 200910237776 A CN200910237776 A CN 200910237776A CN 102065569 A CN102065569 A CN 102065569A
Authority
CN
China
Prior art keywords
frame
buffer memory
submodule
descriptor
data
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.)
Granted
Application number
CN2009102377764A
Other languages
English (en)
Other versions
CN102065569B (zh
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.)
Zhejiang Kerui Microelectronics Technology Co ltd
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN200910237776.4A priority Critical patent/CN102065569B/zh
Publication of CN102065569A publication Critical patent/CN102065569A/zh
Application granted granted Critical
Publication of CN102065569B publication Critical patent/CN102065569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种适用于WLAN的以太网MAC子层控制器,包括发送模块、接收模块、状态模块、控制模块、MII管理模块、发送缓存、接收缓存和寄存器模块;其中,发送缓存和接收缓存采用读地址可载入的异步FIFO,实现数据帧的存储,重传和丢弃;主机与MAC子层控制器之间的数据帧信息的交互通过数据帧缓存描述符来进行,数据帧缓存描述符分为发送缓存描述符和接收缓存描述符,发送缓存描述符用来控制数据帧的发送过程并记录和返回发送状态;接收缓存描述符用来控制读取接收到的数据帧并向主机返回帧接收状态。利用本发明实现了嵌入式设备的网络接入,实现了帧冲突重传和坏帧丢弃的功能,并且提高了接收短帧情况下片内缓存的利用效率。

Description

一种适用于WLAN的以太网MAC子层控制器
技术领域
本发明涉及计算机网络领域中的MAC子层以及微电子领域中的ASIC设计领域。尤其涉及一种适用于WLAN无线传输系统网络接入的基于IEEE802.3标准规范的以太网MAC子层控制器。
背景技术
随着互联网和电子技术的发展,越来越多的电子设备开始接入网络,研究方便快捷的网络接入方案有很强的现实意义。IEEE802.3快速以太网标准规定了10M/100M以太网物理层和MAC子层规范。该协议规范最高支持100Mbps可靠的全双工数据传输,能够满足绝大多数数据流传输的吞吐率的需求。
媒体介质访问控制(MAC)子层处于IEEE 802网络参考模型中的第二层,与最底层的物理层通过媒体介质无关接口连接,是网络参考模型中重要的一层。MAC子层的主要功能是实现媒体访问接入控制以及在物理层的基础上实现无差错的通信,具体负责:发送过程中将上层交下来的数据封装成帧进行发送,接收过程中将帧拆卸;实现和维护MAC协议;比特差错监测;寻址[2]。设计一种简便,稳定的MAC子层控制器对于充分发挥网络的性能至关重要。
文献[3]设计的MAC控制器帧缓存结构采用片内RAM作为帧数据缓存,将RAM缓存区分为若干连续的256字节大小的分片,对于长度小于256字节的帧用一个分片存储,如果帧长大于256字节,则用几个分片来存储。这种缓存方案设计较为简单,但是存在接收短帧时帧缓存利用率不高的问题,例如一个64字节的最小帧也要占用一个分片(256字节)的缓存空间。如果采用FIFO作为缓存则不会出现由于存储分片而造成存储的浪费,但是传统的FIFO读写指针都为顺序的增加,难以满足发送数据帧冲突重传以及接收帧时直接丢弃坏帧的功能。
发明内容
(一)要解决的技术问题
有鉴于此,本发明主要目的在于提供一种适用于WLAN的以太网MAC子层控制器,使得数据帧重传和丢弃等的功能实现更为简便,并且解决传统缓存结构在接收数据帧时的缓存浪费的弊端。
(二)技术方案
为达到上述目的,本发明提供了一种适用于WLAN的以太网MAC子层控制器,该控制器包括发送模块、接收模块、状态模块、控制模块、MII管理模块、发送缓存、接收缓存和寄存器模块;其中,发送缓存和接收缓存采用读地址可载入的异步FIFO,实现数据帧的存储,重传和丢弃;主机与MAC子层控制器之间的数据帧信息的交互通过数据帧缓存描述符来进行,数据帧缓存描述符分为发送缓存描述符和接收缓存描述符,发送缓存描述符用来控制数据帧的发送过程并记录和返回发送状态;接收缓存描述符用来控制读取接收到的数据帧并向主机返回帧接收状态。
上述方案中,所述发送模块包括发送数据通路子模块、发送CRC子模块、随机数子模块和发送状态机子模块,其中:
发送数据通路子模块,为发送模块的数据通路,用于为一帧数据添加前导码,填充字段以及CRC校验字段,并以半位元的格式输出一帧数据;
发送CRC子模块,用于计算一帧数据的CRC校验码序列,它在一帧数据结束后产生32位的有效的帧校验序列,并通过发送数据通路子模块发送至MII接口;
随机数子模块,用来产生符合二进制指数随机退避时间长度的随机数;
发送状态机子模块,是发送模块的状态机,按照802.3协议的要求完成发送一帧数据时的状态转换;模块内部还包含若干个计数器,包括记录发送数据的字节数、重发次数的计数、IPG时间的计数和延迟时间计数,它与状态机子模块一起实现复杂的发送控制,包括对数据通路的控制、控制发送CRC子模块的初始化及使能,以及根据在发送过程中产生的各种状况产生状态信号至状态模块、发送缓存和接收缓存。
上述方案中,所述接收模块用于完成数据帧的接收和错误校验,接收模块从MII接口接收数据,识别前导码、目的地址,决定是否将此帧数据交给接收缓存,并对帧数据进行CRC校验;同时,接收模块会响应在接收过程中发生的各种情况并在接收结束后产生此帧数据的接收状态信号rx_status;接收模块包含接收计数器子模块、地址检测子模块、接收CRC子模块、接收数据通路和接收状态机子模块。
上述方案中,所述接收计数器子模块中包含若干计数器,用来对接收到的字节数、接收到的半字节数及帧间间隔进行计数;接收CRC子模块用来实现对一帧数据的CRC校验;接收状态机子模块用来控制帧接收过程中的状态转移。
上述方案中,所述发送缓存和接收缓存所采用的读地址可载入的异步FIFO,使用握手方式实现读写指针安全的异步时钟域之间的传输,通过握手方式传递读写指针,使得读写指针可以跳跃变化。
上述方案中,所述异步FIFO工作在三种工作模式:普通FIFO模式、读地址可载入/帧保护模式和读地址可载入/非帧保护模式;其中,读地址可载入/帧保护模式的特征为:在下一次读地址载入前,正在读取的一帧数据不会被覆盖掉;读地址可载入/非帧保护模式的特征为:读地址可载入,当前正在读取的帧中,已经读取过的数据可以被覆盖掉。
上述方案中,所述异步FIFO使用握手方式实现读写指针安全的异步时钟域之间的传输,在将读指针同步到写时钟域时,具体包括:
步骤1:首先读时钟域更新读指针寄存器r_wptr,然后向写时钟域发送一个请求读取读指针寄存器的的信号w_req,w_req同步到写时钟域后变为w_req_sync;
步骤2:写时钟域检测到w_req_sync的上升沿会读取读指针寄存器,同时向读时钟域发送一个回应信号w_ack,w_ack同步到读时钟域后产生信号w_ack_sync;
步骤3:读时钟域检测到w_ack_sync的上升沿并更新读指针计数器,同时复位w_req信号;
步骤4:写时钟域检测到w_req_sync的下降沿后,复位w_ack;
步骤5:读时钟域检测到w_ack_sync的下降沿后,开始新一次的读取读指针寄存器的请求。
上述方案中,所述发送缓存包含发送数据帧缓存单元、发送描述符控制单元以及发送缓存控制单元,发送帧数据描述符至少包含以下几个字段:首地址指针、帧数据长度、帧的发送状态和发送缓存描述符状态;
所述基于读地址可载入的异步FIFO和发送数据描述符的MAC控制器帧数据发送过程包括如下步骤:
步骤10:主机通过发送缓存描述符获得可用的空闲发送缓存描述符,主机接口保存当前的发送FIFO的写指针wptr;
步骤20:主机通过主机接口中的DMA将一帧数据写入到发送FIFO中;
步骤30:主机通过主机接口将此帧数据的起始FIFO写指针,帧长度信息,描述符状态信息写入发送缓存描述符子模块,发送缓存描述符子模块将这些信息组成一个发送描述符,写入一个空闲的发送描述符缓存中;
步骤40:发送缓存控制模块从发送缓存描述符子模块中读取一个发送缓存描述符,寄存该描述符并向发送FIFO载入帧数据在发送FIFO中存储的首指针,开始读取数据并发送;
步骤50:如果发送过程中发生冲突需要重传,则发送缓存控制模块重新向发送FIFO载入该帧的首指针,重传该帧;如果该帧发送完毕或失败,则向发送缓存描述符子模块回写该帧的发送状态信息及描述符状态信息,发送缓存描述符子模块回写发送状态到相应描述符并向主机产生发送中断,等待主机读取处理。
上述方案中,所述接收缓存包含接收数据帧缓存单元、接收描述符控制单元以及接收缓存控制单元,接收缓存数据描述符至少包含以下几个字段:接收帧的首指针、帧数据长度和帧的接收状态;接收缓存描述符控制单元由一个异步FIFO实现,使用三个FIFO存储单元存储一个接收缓存描述符,第一个单元为全‘1’,标志一个接收缓冲描述符的边界;后两个存储单元用来存储接收缓存描述符的有效内容。
上述方案中,所述基于读地址可载入的异步FIFO和发送数据描述符的MAC控制器帧数据接收缓存过程包括如下步骤:
步骤100:接收缓存控制单元在接收一帧数据之前,先保存当前接收数据FIFO的写指针,然后开始接收帧数据;
步骤200:该帧接收完毕后,将该帧在数据FIFO中的首指针、帧长度和帧接收状态写入到接收缓存描述符模块中,并产生接收中断,等待主机处理;
步骤300:主机响应中断,读取接收缓存描述符,并根据其中的信息从接收FIFO中读取该帧;如果主机读取缓存描述符后发现该帧数据已损坏,则主机可以直接丢弃该描述符,在读取下一个接收描述符后,直接向接收FIFO载入新描述符的首指针,则可以直接越过接收FIFO中的坏帧,而无需将坏帧读出。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1、本发明提供的适用于WLAN的以太网MAC子层控制器,具有很强的通用性,可广泛适用于需要对数据帧进行缓存和处理的数字系统中。
2、本发明提供的适用于WLAN的以太网MAC子层控制器,方便的实现了数据帧重传和数据帧丢弃的功能,并提高了片内缓存的利用效率,具有很强的实用价值。
附图说明
图1是本发明提供的适用于WLAN的以太网MAC子层控制器的示意图;
图2是本发明提供的适用于WLAN的以太网MAC子层控制器中数据帧发送单元的示意图;
图3是本发明提供的适用于WLAN的以太网MAC子层控制器中数据帧接收单元的示意图;
图4是本发明提供的适用于WLAN的以太网MAC子层控制器中读地址可载入的多模式异步FIFO结构的示意图;
图5是本发明提供的适用于WLAN的以太网MAC子层控制器中发送缓存单元结构的示意图;
图6是本发明提供的适用于WLAN的以太网MAC子层控制器中接收缓存单元结构的示意图;
图7是本发明提供的适用于WLAN的以太网MAC子层控制器中FPGA实现平台结构的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提出了一种基于双口RAM的读地址可以载入的异步FIFO并且将其应用到缓存结构中,并基于此缓存结构提出了一种简单、稳定的快速以太网MAC子层控制器架构,其主要特征为:(1)支持10M/100M bps数据传输速率(2)支持半双工、全双工传输模式,支持半双工下的CSMA/CD及全双工下的流量控制功能;(3)支持MIIM接口,可以对PHY芯片进行管理操作(4)最多支持32个发送缓冲描述符和85个接收缓冲描述符。
本发明提供的这种适用于WLAN的以太网MAC子层控制器,采用读地址可载入的异步FIFO作为数据帧的缓存单元,实现数据帧的存储,重传和丢弃。主机与MAC子层控制器之间的数据帧信息的交互通过数据帧缓存描述符来进行,数据帧缓存描述符分为发送缓存描述符和接收缓存描述符。发送缓存描述符用来控制数据帧的发送过程并记录和返回发送状态;接收缓存描述符用来控制读取接收到的数据帧并向主机返回帧接收状态。
本发明的主要贡献是:提出了一种快速以太网MAC控制器的系统架构,提出了一种读地址可载入的异步FIFO结构以及帧数据缓存结构并应用于MAC控制器的实现架构中,很好的解决了传统的MAC控制器帧缓存结构在接收短帧时缓存利用率低的问题,并方便了帧重传及帧丢弃功能的实现。本发明可直接应用于WLAN无线传输系统。
请参阅图1,该图描述了快速以太网MAC控制器的系统架构,整个系统分为发送模块、接收模块、状态模块、控制模块、MII管理模块、发送/接收缓存和寄存器模块。
图2给出了数据帧的发送模块的结构框图。发送数据通路子模块为发送模块的数据通路,负责为一帧数据添加前导码,填充字段以及CRC校验字段,并以半位元的格式输出一帧数据。发送CRC子模块用于计算一帧数据的CRC校验码序列,它在一帧数据结束后产生32位的有效的帧校验序列,并通过发送数据通路子模块发送至MII接口。随机数子模块用来产生符合二进制指数随机退避时间长度的随机数。发送状态机子模块是发送模块的状态机,它是发送模块中最重要的部分,按照802.3协议的要求完成发送一帧数据时的状态转换。该模块内部还包含了若干个计数器,包括记录发送数据的字节数,重发次数的计数,IPG时间的计数,延迟时间计数等。它与发送状态机模块一起实现复杂的发送控制,包括对数据通路的控制,控制发送CRC子模块的初始化及使能,以及根据在发送过程中产生的各种状况产生状态信号至状态模块和发送缓存模块。
图3给出了数据帧的接收模块的结构框图。该模块的主要任务是完成数据帧的接收和错误校验。接收模块从MII接口接收数据,识别前导码、目的地址,决定是否将此帧数据交给接收缓存,并对帧数据进行CRC校验。同时,接收模块会响应在接收过程中发生的各种情况并在接收结束后产生此帧数据的接收状态信号rx_status。接收模块包含接收计数器子模块,地址检测子模块,接收CRC子模块,接收数据通路和接收状态机子模块。其中,接收计数器子模块中包含若干计数器,用来对接收到的字节数,接收到的半字节数及帧间间隔进行计数。因为按照802.3协议,有些计数功能是不可能同时开启的,因此在设计中将一个计数器分时复用,满足多个计数功能的需要,从而节省了资源。接收CRC子模块用来实现对一帧数据的CRC校验。接收状态机子模块用来控制帧接收过程中的状态转移。
图4给出了适用于该MAC控制器数据帧缓存单元的读地址可载入的异步FIFO的设计框图。其特征在于:
(1)使用握手方式实现读写指针安全的异步时钟域之间的传递。
(2)三种工作模式的选择:可选择工作在普通FIFO模式、读地址可载入/帧保护模式及读地址可载入/非帧保护模式。其中,读地址可载入/帧保护模式的特征为:在下一次读地址载入前,正在读取的一帧数据不会被覆盖掉;读地址可载入/非帧保护模式的特征为:读地址可载入,当前正在读取的帧中,已经读取过的数据可以被覆盖掉。
(3)可以在读写端指示剩余缓存容量。
该异步FIFO采用握手机制来实现读/写指针的同步。以将读指针同步到写时钟域为例,首先读时钟域更新读指针寄存器r_wptr,然后向写时钟域发送一个请求读取读指针寄存器的的信号w_req,w_req同步到写时钟域后变为w_req_sync,写时钟域检测到w_req_sync的上升沿会读取读指针寄存器,同时向读时钟域发送一个回应信号w_ack,w_ack同步到读时钟域后产生信号w_ack_sync,读时钟域检测到w_ack_sync的上升沿并更新读指针计数器,同时复位w_req信号。写时钟域检测到w_req_sync的下降沿后,复位w_ack。读时钟域检测到w_ack_sync的下降沿后,开始新一次的读取读指针寄存器的请求。通过这样的握手方式,可以保证读指针寄存器在写时钟域对其进行读取时稳定不变,从而避免指针传递错误的发生。
与传统的MAC控制器中的缓冲器的架构相比,针对以太网MAC控制器中发送缓存和接收缓存的需要,该异步FIFO中增加了读指针载入的功能,该功能可以方便的实现帧重传以及坏帧丢弃的功能。读指针载入功能的原理为:当地址载入信号有效时,FIFO先将要载入的读指针寄存,然后等待允许改变读指针寄存器rg_rptr的信号r_ack_sync的上升沿,并将寄存的读指针写入到rg_rptr中,并且从该地址开始读指针递增从FIFO内部的RAM里读数据。此时,对于MAC接收数据帧时的需要,读指针可以同步到写时钟域进行比较,已经读完的该帧数据也可以被写时钟覆盖掉,这时FIFO工作在读地址可载入/非帧保护模式;而当MAC在发送一帧数据时,因为有可能需要重传该帧,因此该帧已经发送的数据也不能被覆盖掉,为了满足这一要求,在发送FIFO的设计中,读指针寄存器只在读指针载入(即一帧数据的首地址)的时候发生改变并向写时钟域传递,在读取一帧数据的过程中,虽然读指针递增,但是维持读指针寄存器为该帧存放的首地址,这样就可以保证该帧数据在发送期间不会被覆盖,直到该帧数据发送完成,下一帧数据的首地址载入,在这种情况下FIFO工作在读地址载入/帧保护模式。
以下结合具体符合IEEE 802.3x协议规范的MAC控制器进行帧数据发送和接收过程的具体实例,并参照附图,对本发明进一步详细说明。
图5为发送缓存单元的设计结构。发送缓存单元负责缓存主机要发送的数据帧,并按照数据帧在发送FIFO中的队列顺序将数据帧交由发送模块进行一帧数据的发送,发送缓存还要实现在冲突发生时帧重传以及将一帧数据发送的状态信息回写到发送缓存描述符模块中以便主机读取的功能。发送缓存模块的结构如图六所示:其中,发送FIFO为读地址可载入的异步FIFO,用作发送帧的缓存,在发送缓存单元中该FIFO工作在读地址可载入/帧保护模式。发送缓存控制模块负责从发送缓存描述符子模块读取发送描述符,回写发送状态,以及对发送数据流的控制。发送缓存描述符子模块负责发送缓存描述符的管理。发送缓存描述符子模块使用32bit×64的单口RAM用作发送描述符的缓存,内部设计了将发送时钟同步到主机时钟的逻辑。每个发送描述符使用64比特存储,包括首地址指针(10bit),帧数据长度(16bit),帧的发送状态(16bit),发送缓存描述符状态(8bit)以及保留字段五个字段。所设计的MAC最多可以存储32个发送描述符。
本实例过程发送一个发生一次冲突的数据帧,发送缓存模块的工作过程如下:
步骤一:首先,主机通过txbd_num_aval信号得知有多少个可用的空闲发送缓存描述符。若有空闲的发送缓存描述符,主机接口模块保存当前的发送FIFO的写指针wptr。
步骤二:主机通过主机接口中的DMA将一帧数据写入到发送FIFO中。
步骤三:主机通过接口将此帧数据的起始FIFO写指针,帧长度信息,描述符状态信息写入发送缓存描述符子模块,发送缓存描述符子模块会按地址顺序写入一个空闲的发送描述符缓冲中去。
步骤四:当有发送缓存描述符写入后,发送缓存描述符子模块的空标志信号txbd_null无效。发送缓存控制模块向发送缓存描述符子模块申请读取一个发送缓存描述符,发送缓存描述符会按地址顺序取一个有效的发送描述符给发送缓存控制模块,发送缓存控制获取待发送帧的信息后,寄存该信息并向发送FIFO载入帧首指针,开始读取数据并发送。
步骤五:在发送过程中发送模块检测到载波冲突并通知发送缓存单元,发送缓存单元开始执行帧重传。发送缓存控制模块重新向发送FIFO载入该帧的首指针,重传该帧。该帧发送完毕后,向发送缓存描述符子模块回写该帧的发送状态信息及描述符状态信息,发送缓存描述符子模块会写发送状态到相应描述符并向主机产生发送中断,等待主机读取处理。
图6为接收缓存单元的设计结构。接收缓存模块负责缓存帧数据,并将接收状态写入到接收缓存描述符中,同时,接收缓存还要负责产生流量控制请求及清除的信号。因为在数据帧接收过程中,在MAC端只需要对接收缓存描述符进行写操作,而在主机端只需对接收缓存进行读操作,所以用一个32位的异步FIFO来缓存接收缓存描述符。每个接收缓存描述符占用64bit,每个接收缓存描述符在FIFO中占用三个存储单元,第一个存储单元写全‘1’,作为接收描述符的起始标志字,接下来的两个存储单元依次存储一个64位的接收缓冲描述符。接收缓存描述符的格式为:接收帧的首指针(12bit),数据帧长度(16bit),接收状态(16bit)和保留字段。所设计的MAC控制器使用深度4K的32位宽的FIFO作为帧数据缓存,缓存容量为16KB;使用深度为256的32位宽FIFO作为接收缓存描述符的缓存,最多可容纳85个接收缓存描述符。
本实例过程接收一个CRC校验错误的数据帧,接收缓存模块及主机端的工作过程如下:
步骤一:接收缓存控制模块在接收一帧数据之前,先保存当前接收数据FIFO的写指针,然后开始接收帧数据。
步骤二:该帧接收完毕后,首先向接收缓存描述符FIFO中写一个全‘1’的32位字,然后将该帧在数据FIFO中的首指针、帧长度和帧接收状态写入到接收缓存描述符模块的FIFO中,并产生接收中断,等待主机处理。
步骤三:主机响应中断,读取接收缓存描述符,主机根据接收缓存描述符模块中的CRC校验状态字段发现该帧的CRC校验错误,主机直接丢弃该描述符,在读取下一个接收描述符后,直接向接收数据FIFO载入新描述符的首指针,则可以直接越过接收数据FIFO中的坏帧,而无需将坏帧读出。
图7给出了该MAC控制器实现的FPGA验证平台,该验证平台基于ALTERA STRATIX II EP2S60 FPGA,采用专用的外围802.3PHY芯片。验证平台用两块FPGA开发板和两台PC搭建,构成PC1和PC2之间数据收发的双向通路。在PC端运行commview发包/抓包软件,通过网口将数据帧发送至FPGA开发板1的RJ45接口,数据帧经过802.3PHY、MAC后存储到MAC的接收缓存中。转发逻辑模拟主机的行为,将收到的数据帧通过两块开发板中间的排线发送到开发板2并写入FPGA开发板2的MAC发送缓存中,FPGA开发板2然后将数据帧转发至PC2,通过PC1发送数据和PC2接收数据帧的比较,以及通过ALTERA FPGA内嵌的逻辑分析仪signal tap观测实际的数据波形,可以验证以太网MAC控制器功能的正确性。两块FPGA开发板共用一个晶振,使用同轴连接SMA口完成晶振产生的时钟信号的板间传送,在验证中使用的系统主时钟为33MHZ,两开发板之间用四位数据线进行数据的转发。在该测试平台上对MAC进行的测试包括:10M/100M,全双工/半双工模式下基本数据传输测试;单播帧,广播帧和组播帧的接收测试;全双工模式下的流量控制测试等。在完成MAC基本功能的验证之后,利用此验证平台进行大文件传输,以验证所设计的MAC的数据通路的健壮性。方法为,在PC2运行FTP服务器端软件,在PC1端运行FTP客户端软件flashFXP,用FTP工具在PC1和PC2之间传送文件。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
文献索引
[1]IEEE Std 802.3,2000 Edition,Part 3:Carrier sense multiple access with collision detection(CSMA/CD)accessmethod and physical layer apecifications[S].
[2]谢希仁.计算机网络(第三版).大连:大连理工大学出版社;2002
[3]RTL8019AS DATASHEET,REALTEK Corporation,2000

Claims (10)

1.一种适用于WLAN的以太网MAC子层控制器,其特征在于,该控制器包括发送模块、接收模块、状态模块、控制模块、MII管理模块、发送缓存、接收缓存和寄存器模块;其中,发送缓存和接收缓存采用读地址可载入的异步FIFO,实现数据帧的存储、重传和丢弃;主机与MAC子层控制器之间的数据帧信息的交互通过数据帧缓存描述符来进行,数据帧缓存描述符分为发送缓存描述符和接收缓存描述符,发送缓存描述符用来控制数据帧的发送过程并记录和返回发送状态;接收缓存描述符用来控制读取接收到的数据帧并向主机返回帧接收状态。
2.根据权利要求1所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述发送模块包括发送数据通路子模块、发送CRC子模块、随机数子模块和发送状态机子模块,其中:
发送数据通路子模块,为发送模块的数据通路,用于为一帧数据添加前导码,填充字段以及CRC校验字段,并以半位元的格式输出一帧数据;
发送CRC子模块,用于计算一帧数据的CRC校验码序列,它在一帧数据结束后产生32位的有效的帧校验序列,并通过数据通路子模块发送至MII接口;
随机数子模块,用来产生符合二进制指数随机退避时间长度的随机数;
发送状态机子模块,是发送模块的状态机,按照IEEE 802.3协议的要求完成发送一帧数据时的状态转换;模块内部还包含若干个计数器,包括记录发送数据的字节数、重发次数的计数、IPG时间的计数和延迟时间计数,它与发送状态机子模块一起实现复杂的发送控制,包括对数据通路的控制、控制发送CRC子模块的初始化及使能,以及根据在发送过程中产生的各种状况产生状态信号至状态模块、发送缓存和接收缓存。
3.根据权利要求1所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述接收模块用于完成数据帧的接收和错误校验,接收模块从MII接口接收数据,识别前导码、目的地址,决定是否将此帧数据交给接收缓存,并对帧数据进行CRC校验;同时,接收模块会响应在接收过程中发生的各种情况并在接收结束后产生此帧数据的接收状态信号rx_status;接收模块包含接收计数器子模块、地址检测子模块、接收CRC子模块、接收数据通路子模块和接收状态机子模块。
4.根据权利要求3所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述接收计数器子模块中包含若干计数器,用来对接收到的字节数、接收到的半字节数及帧间间隔进行计数;接收CRC子模块用来实现对一帧数据的CRC校验;接收状态机子模块用来控制帧接收过程中的状态转移。
5.根据权利要求1所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述发送缓存和接收缓存所采用的读地址可载入的异步FIFO,使用握手方式实现读写指针安全的异步时钟域之间的传输,通过握手方式传递读写指针,使得读写指针可以跳跃变化。
6.根据权利要求5所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述异步FIFO工作在三种工作模式:普通FIFO模式、读地址可载入/帧保护模式和读地址可载入/非帧保护模式;其中,读地址可载入/帧保护模式的特征为:在下一次读地址载入前,正在读取的一帧数据不会被覆盖掉;读地址可载入/非帧保护模式的特征为:读地址可载入,当前正在读取的帧中,已经读取过的数据可以被覆盖掉。
7.根据权利要求5所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述异步FIFO使用握手方式实现读写指针安全的异步时钟域之间的传输,在将读指针同步到写时钟域时,具体包括:
步骤1:首先读时钟域更新读指针寄存器r_wptr,然后向写时钟域发送一个请求读取读指针寄存器的的信号w_req,w_req同步到写时钟域后变为w_req_sync;
步骤2:写时钟域检测到w_req_sync的上升沿会读取读指针寄存器,同时向读时钟域发送一个回应信号w_ack,w_ack同步到读时钟域后产生信号w_ack_sync;
步骤3:读时钟域检测到w_ack_sync的上升沿并更新读指针计数器,同时复位w_req信号;
步骤4:写时钟域检测到w_req_sync的下降沿后,复位w_ack;
步骤5:读时钟域检测到w_ack_sync的下降沿后,开始新一次的读取读指针寄存器的请求。
8.根据权利要求1所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述发送缓存包含发送FIFO、发送缓存控制子模块以及发送缓存描述符子模块,发送缓存描述符子模块中的发送缓存描述符至少包含以下几个字段:首地址指针、帧数据长度、帧的发送状态和发送缓存描述符状态;
所述基于读地址可载入的异步FIFO和发送缓存描述符的MAC控制器帧数据发送过程包括如下步骤:
步骤10:主机通过发送缓存描述符子模块获得可用的空闲发送缓存描述符,主机接口保存当前的发送FIFO的写指针wptr;
步骤20:主机通过主机接口中的DMA将一帧数据写入到发送FIFO中;
步骤30:主机通过主机接口将此帧数据的起始FIFO写指针,帧长度信息,描述符状态信息写入发送缓存描述符子模块,发送缓存描述符子模块将这些信息组成一个发送缓存描述符,写入一个空闲的发送缓存描述符缓存中;
步骤40:发送缓存控制子模块从发送缓存描述符子模块中读取一个发送缓存描述符,寄存该描述符并向发送FIFO载入帧数据在发送FIFO中存储的首指针,开始读取数据并发送;
步骤50:如果发送过程中发生冲突需要重传,则发送缓存控制子模块重新向发送FIFO载入该帧的首指针,重传该帧;如果该帧发送完毕或失败,则向发送缓存描述符子模块回写该帧的发送状态信息及描述符状态信息,发送缓存描述符子模块回写发送状态到相应描述符并向主机产生发送中断,等待主机读取处理。
9.根据权利要求1所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述接收缓存包含接收FIFO、接收缓存描述符子模块以及接收缓存控制子模块,接收缓存描述符子模块中的接收缓存描述符至少包含以下几个字段:接收帧的首指针、帧数据长度和帧的接收状态;接收缓存描述符控制单元由一个异步FIFO实现,使用三个FIFO存储单元存储一个接收缓存描述符,第一个单元为全‘1’,标志一个接收缓冲描述符的边界;后两个存储单元用来存储接收缓存描述符的有效内容。
10.根据权利要求9所述的适用于WLAN的以太网MAC子层控制器,其特征在于,所述基于读地址可载入的异步FIFO和接收缓存描述符的MAC控制器帧数据接收缓存过程包括如下步骤:
步骤100:接收缓存控制子模块在接收一帧数据之前,先保存当前接收FIFO的写指针,然后开始接收帧数据;
步骤200:该帧接收完毕后,将该帧在数据FIFO中的首指针、帧长度和帧接收状态写入到接收缓存描述符子模块中,并产生接收中断,等待主机处理;
步骤300:主机响应中断,读取接收缓存描述符,并根据其中的信息从接收FIFO中读取该帧;如果主机读取缓存描述符后发现该帧数据已损坏,则主机可以直接丢弃该描述符,在读取下一个接收缓存描述符后,直接向接收FIFO载入新描述符的首指针,则可以直接越过接收FIFO中的坏帧,而无需将坏帧读出。
CN200910237776.4A 2009-11-17 2009-11-17 一种适用于wlan的以太网mac子层控制器 Active CN102065569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910237776.4A CN102065569B (zh) 2009-11-17 2009-11-17 一种适用于wlan的以太网mac子层控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910237776.4A CN102065569B (zh) 2009-11-17 2009-11-17 一种适用于wlan的以太网mac子层控制器

Publications (2)

Publication Number Publication Date
CN102065569A true CN102065569A (zh) 2011-05-18
CN102065569B CN102065569B (zh) 2013-08-28

Family

ID=44000594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910237776.4A Active CN102065569B (zh) 2009-11-17 2009-11-17 一种适用于wlan的以太网mac子层控制器

Country Status (1)

Country Link
CN (1) CN102065569B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611592A (zh) * 2011-11-25 2012-07-25 中国西电电气股份有限公司 基于现场可编程门阵列的以太网rmii接口及实现方法
CN105634957A (zh) * 2016-01-29 2016-06-01 广东顺德中山大学卡内基梅隆大学国际联合研究院 以太网mac子层控制器及其控制方法
CN107544618A (zh) * 2016-06-24 2018-01-05 北京忆芯科技有限公司 指针同步电路及方法,消息交换装置及方法
CN108108148A (zh) * 2016-11-24 2018-06-01 舒尔电子(苏州)有限公司 一种数据处理方法和装置
CN108259380A (zh) * 2017-12-21 2018-07-06 安凯(广州)微电子技术有限公司 数据帧处理的方法、系统及以太网控制器
CN109413106A (zh) * 2018-12-12 2019-03-01 中国航空工业集团公司西安航空计算技术研究所 一种tcp/ip协议栈实现方法
CN109428681A (zh) * 2017-08-23 2019-03-05 株式会社东芝 无线通信装置以及无线通信方法
CN109861921A (zh) * 2019-01-21 2019-06-07 西安微电子技术研究所 一种面向以太网的自适应动态流控制系统及方法
CN110012025A (zh) * 2019-04-17 2019-07-12 浙江禾川科技股份有限公司 一种图像采集过程中的数据传输方法、系统及相关装置
CN111555800A (zh) * 2020-05-15 2020-08-18 北京光润通科技发展有限公司 一种千兆双光口服务器适配器
CN112596438A (zh) * 2020-12-14 2021-04-02 武汉第二船舶设计研究所(中国船舶重工集团公司第七一九研究所) 一种fpga与微控制器间实时可靠的波形数据传输电路
CN112737906A (zh) * 2020-12-22 2021-04-30 配天机器人技术有限公司 一种EtherCAT总线的物理层诊断方法及系统
CN112804321A (zh) * 2021-01-08 2021-05-14 广州航天海特系统工程有限公司 以太网数据包的缓存转发方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4428537B2 (ja) * 2003-11-25 2010-03-10 フリースケール セミコンダクター インコーポレイテッド パターン・マッチングを用いたネットワーク・メッセージ処理
CN100492985C (zh) * 2004-04-07 2009-05-27 北京润光泰力科技发展有限公司 基于以太网媒体接入控制层的网络设备的管理方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611592B (zh) * 2011-11-25 2014-10-29 中国西电电气股份有限公司 基于现场可编程门阵列的以太网rmii接口及实现方法
CN102611592A (zh) * 2011-11-25 2012-07-25 中国西电电气股份有限公司 基于现场可编程门阵列的以太网rmii接口及实现方法
CN105634957A (zh) * 2016-01-29 2016-06-01 广东顺德中山大学卡内基梅隆大学国际联合研究院 以太网mac子层控制器及其控制方法
CN107544618A (zh) * 2016-06-24 2018-01-05 北京忆芯科技有限公司 指针同步电路及方法,消息交换装置及方法
CN107544618B (zh) * 2016-06-24 2021-12-28 厦门旌存半导体技术有限公司 指针同步电路及方法,消息交换装置及方法
CN108108148B (zh) * 2016-11-24 2021-11-16 舒尔电子(苏州)有限公司 一种数据处理方法和装置
CN108108148A (zh) * 2016-11-24 2018-06-01 舒尔电子(苏州)有限公司 一种数据处理方法和装置
CN109428681A (zh) * 2017-08-23 2019-03-05 株式会社东芝 无线通信装置以及无线通信方法
CN108259380A (zh) * 2017-12-21 2018-07-06 安凯(广州)微电子技术有限公司 数据帧处理的方法、系统及以太网控制器
CN109413106A (zh) * 2018-12-12 2019-03-01 中国航空工业集团公司西安航空计算技术研究所 一种tcp/ip协议栈实现方法
CN109861921A (zh) * 2019-01-21 2019-06-07 西安微电子技术研究所 一种面向以太网的自适应动态流控制系统及方法
CN109861921B (zh) * 2019-01-21 2022-08-02 西安微电子技术研究所 一种面向以太网的自适应动态流控制方法
CN110012025A (zh) * 2019-04-17 2019-07-12 浙江禾川科技股份有限公司 一种图像采集过程中的数据传输方法、系统及相关装置
CN111555800B (zh) * 2020-05-15 2021-07-20 北京光润通科技发展有限公司 一种千兆双光口服务器适配器
CN111555800A (zh) * 2020-05-15 2020-08-18 北京光润通科技发展有限公司 一种千兆双光口服务器适配器
CN112596438A (zh) * 2020-12-14 2021-04-02 武汉第二船舶设计研究所(中国船舶重工集团公司第七一九研究所) 一种fpga与微控制器间实时可靠的波形数据传输电路
CN112737906A (zh) * 2020-12-22 2021-04-30 配天机器人技术有限公司 一种EtherCAT总线的物理层诊断方法及系统
CN112737906B (zh) * 2020-12-22 2023-03-24 配天机器人技术有限公司 一种EtherCAT总线的物理层诊断方法及系统
CN112804321A (zh) * 2021-01-08 2021-05-14 广州航天海特系统工程有限公司 以太网数据包的缓存转发方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN102065569B (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN102065569B (zh) 一种适用于wlan的以太网mac子层控制器
CN105359468B (zh) 用于传送数据的装置、方法、系统和介质
CN104572574B (zh) 基于千兆以太网视觉协议的以太网控制器ip核及方法
US7418524B2 (en) Universal serial bus (USB) extension
US5247626A (en) Fddi controller having flexible buffer management
US6393021B1 (en) Integrated multiport switch having shared data receive FIFO structure
US6347097B1 (en) Method and apparatus for buffering received data from a serial bus
US20020013821A1 (en) Method and network device for creating buffer structures in shared memory
EP0990990A2 (en) Flow control in a fifo memory
US6047001A (en) Apparatus and method in a network interface device for storing a data frame and corresponding tracking information in a buffer memory
CN105357147B (zh) 一种高速高可靠的片上网络适配单元
US20060212633A1 (en) Method and system of routing network-based data using frame address notification
CN102185833B (zh) 一种基于fpga的fc i/o并行处理方法
CN103916252A (zh) 一种基于fpga的高带宽以太网ip核
US20050132089A1 (en) Directly connected low latency network and interface
EP1014649A2 (en) Method and system of data transfer control
CN101917350A (zh) 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法
CN101018179A (zh) 数据总线桥接器及其工作方法
CN100535886C (zh) 一种节点之间的数据传输系统和装置及方法
CN203590259U (zh) 万兆以太网与RapidIO网络转换控制器
CN102692642A (zh) 基于以太网物理层收发器的地震数据传输装置
CN1949695A (zh) 一种帧数据传输中错帧丢弃的方法和系统
US7065582B1 (en) Automatic generation of flow control frames
CN102916902A (zh) 数据存储方法及装置
JP2986798B2 (ja) データ伝送制御方法およびデータ通信装置

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
ASS Succession or assignment of patent right

Owner name: RALINWI NANJING ELECTRONIC TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: INST OF MICROELECTRONICS, C. A. S

Effective date: 20150309

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100029 CHAOYANG, BEIJING TO: 210046 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150309

Address after: 404, room 6, building 6, 210046 Su Dao garden, Xu Zhuang Software Park, Xuanwu District, Nanjing, Jiangsu

Patentee after: Nanjing Electronic Technology Co., Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics, Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180320

Address after: 315000 room 210-045, No. 2, building 210-045, No. 750, Chuang Yuan Road, Ningbo high tech Zone, Zhejiang

Patentee after: Zhongke Rui micro (Ningbo) Electronic Technology Co., Ltd.

Address before: 404, room 6, building 6, 210046 Su Dao garden, Xu Zhuang Software Park, Xuanwu District, Nanjing, Jiangsu

Patentee before: Nanjing Electronic Technology Co., Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220426

Address after: 310051 Room 502, 5 / F, building 9, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province

Patentee after: Zhejiang Kerui Microelectronics Technology Co.,Ltd.

Address before: Room 210-045, 2 / F, building 003, 750 Chuangyuan Road, Ningbo hi tech Zone, 315000, Zhejiang Province

Patentee before: Zhongke Rui micro (Ningbo) Electronic Technology Co.,Ltd.

TR01 Transfer of patent right