CN108966046B - 一种基于fpga的两种通信接口融合mac控制器 - Google Patents
一种基于fpga的两种通信接口融合mac控制器 Download PDFInfo
- Publication number
- CN108966046B CN108966046B CN201810786750.4A CN201810786750A CN108966046B CN 108966046 B CN108966046 B CN 108966046B CN 201810786750 A CN201810786750 A CN 201810786750A CN 108966046 B CN108966046 B CN 108966046B
- Authority
- CN
- China
- Prior art keywords
- data
- sending
- communication standard
- receiving
- frame
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
- H04Q1/02—Constructional details
- H04Q1/028—Subscriber network interface devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于FPGA的两种通信接口融合MAC控制器,包括第一通信标准数据收发模块、第二通信标准数据收发模块以及管理模块;管理模块包括寄存器管理单元、信道接入机会管理单元、发送流控管理单元和接收流控管理单元,其中发送流控管理单元由发送仲裁子单元、发送队列、发送控制子单元和发送缓存组成,接收流控管理单元由接收控制子单元和接收缓存组成。该MAC控制器工作在两种通信标准中的一种模式,可以避免网络间干扰,具有基于优先级的发送和接收流控管理功能和基于优先级和信道状态的信道接入机会调整功能,适用于两种通信标准融合网络环境。
Description
技术领域
本发明涉及异构无线网络融合领域,具体来说,涉及一种基于FPGA的两种接口融合的媒体接入控制(Media Access Control,MAC)控制器。
背景技术
上个世纪末以来,无线通信技术因部署方便、覆盖范围广的特点开始被广泛用于网络接入。目前无线通信技术的种类多种多样,在物联网的应用中,一片区域中往往覆盖了多种无线通信网络,这种多种无线通信技术混合的网络模型就是异构无线网络。由于无线网络技术在接入方式、网络架构、传输控制等方面均有很大的差别,不同网络之间不能够互联互通,形成了信息孤岛,这就使得网络的整体通信效率和服务质量大大下降。因而需要无线网络的融合以实现多种无线通信网络的互联、互通和集成。在未来5G技术的实用过程中也需要异构网络融合技术,以利用现有的网络资源实现网络的全面覆盖。
协议转换的松耦合方式实现网络融合,不改变子网的网络架构,通过协议转换设备(如转换网关)实现两种网络的互联互通,该方法利用现有的网络和设备,实现容易且能在短期内投入使用,当前大量的网络融合均采用此方式实现。
当前用于网络融合的协议转换系统的实现方法有基于传统的嵌入式系统、基于SoC和基于SoPC三种方式,前两种方式中协议转换和管理功能以及网络层及上层软件协议栈一般由嵌入式处理器实现,而物理层及MAC功能则采用专用的收发模块实现,收发模块一般通过UART、USB或SPI总线的方式与处理器相连,这种方式的协议转换系统一般体积大、功耗高、成本高、系统的安全性及可靠性差。SoPC具有可定制、生命周期长、成本低的特点,采用此方式实现协议转换系统,设计人员可以根据融合网络环境的需要灵活的划分软硬件功能,用定制的硬件实现软件中的算法,从而达到硬件加速的目的。
不同于有线网络的传输介质是特定的传输线,无线网络的传输介质是特定频率范围的电磁波,工作频谱的相互重叠、相互干扰会导致频谱利用率降低、能耗升高、数据传输效率降低等一系列问题,因而共存问题是无线网络融合中需要解决的首要问题。
融合网络环境中帧类型多样性以及应用的复杂性,使融合网络中的帧往往具有不同的优先级需求。以用于环境监测的IEEE 802.15.4和IEEE802.11b的融合网络为例。IEEE802.15.4标准网络收集到的环境数据,其数量多且对实时性要求不高,优先级相对较低;而对IEEE802.15.4标准网络及IEEE 802.11b标准网络的配置信息决定着子网能否正常运行,优先级则比较高。因此,融合网络系统应具有一定的管理功能使得优先级高的数据被优先处理。
发明内容
针对现有技术的缺陷,本发明的目的在于解决采用单独收发模块实现MAC层及物理层功能的协议转换系统的功耗高、体积大、成本高、灵活性差的问题,异构网络间的频谱干扰问题及融合网络环境中的数据具有不同优先级的技术问题。
有鉴于此,本发明提出了一种基于FPGA的两种通信接口融合的MAC控制器,该控制器可用于采用SoPC方式设计的协议转换系统当中。本控制器利用硬件并行性处理的特点,将MAC层的控制、管理及数据处理工作放到MAC控制器硬件上进行,可以减轻CPU的负担提升网络的整体性能;为避免两种标准间的频谱干扰,该控制器根据上层待发数据的类型切换到对应的某一种通信标准工作模式;本发明的控制器在MAC帧格式设计中增加了优先级子域,融合MAC控制器具有处理器可配置的基于优先级的流控功能和基于优先级及信道状态动态的信道接入机会调整功能。
基于FPGA的无线通信技术传输接口融合的MAC控制器的结构包括第一通信标准数据收发模块、管理模块和第二通信标准数据收发模块,其中第一通信标准数据收发模块和第二通信标准数据收发模块均由发送单元、接收单元、CSMA/CA控制器单元和CRC校验单元组成,负责实现帧的组装、发送、接收、筛选、CSMA/CA机制、自动重传和自动返回确认帧功能;管理模块由寄存器管理单元、信道接入机会管理单元、接收流控管理单元和发送流控管理单元组成,负责实现MAC控制器进行其中一种标准模式的选择及控制、帧的发送和接收过程的流控管理及信道接入机会的调整。该融合MAC控制器的架构具有通用性,以此架构为基础可以实现如IEEE802.15.4标准、蓝牙、IEEE 802.11b标准等协议的融合MAC控制器。
为实现上述目的,本发明提供一种基于FPGA的两种通信接口融合MAC控制器,包括:第一通信标准数据收发模块、第二通信标准数据收发模块以及管理模块;
第一通信标准数据收发模块实现基于第一通信标准的数据的接收和发送;
第二通信标准数据收发模块实现基于第二通信标准的数据的接收和发送
管理模块用于从存储器中读取数据,并根据数据类型和数据的优先级将读取的数据转发给第一通信标准数据收发模块或第二通信标准数据收发模块;所述数据类型信息用于指示该数据的类型为第一通信标准数据帧或第二通信标准数据帧,所述第一通信标准数据收发模块、第二通信标准数据收发模块以及管理模块集成在一个FPGA芯片中。
可选地,所述管理模块包括:寄存器管理单元、发送流控管理单元、接收流控管理单元以及信道接入机会管理单元组成;
寄存器管理单元中包括数据收发模块的参数信息和用于管理模块的信息,其将参数信息的值解析成控制信号及数据信号进而实现处理器对融合MAC控制器的灵活配置,第一通信标准数据收发模块或第二通信标准数据收发模块的一个数据发送完毕之后,数据帧标号及发送状态写入状态寄存器,处理器通过读状态寄存器获得批数据的发送状态;
发送流控管理单元用于从外部存储器中读取数据,并根据数据的优先级将其缓存,优先缓存优先级高的数据,根据缓存的数据的数据类型信息将缓存的数据转发至第一通信标准数据收发模块或第二通信标准数据收发模块,第一通信标准数据收发模块或第二通信标准数据收发模块中的一个数据收发送完毕后,对应的发送个数计数器加1,当发送个数计数器计数到发送阈值时,发送中断信号请求处理器读状态寄存器获得发送状态信息;
接收流控管理单元用于缓存第一通信标准数据收发模块和第二通信标准数据收发模块接收到的数据,将缓存中的数据读出并写入外部存储器,同时根据所接收到的数据的优先级发送接收中断至处理器,请求处理器处理,若接收到的数据的优先级高,则直接请求处理器处理,若接收到的数据的优先级低,则当缓存的优先级低的数据的数量达到接收阈值后,再请求处理器处理;
信道接入机会管理单元用于根据优先级及信道状态动态调整数据帧的信道接入机会,其中,数据帧的优先级越高其信道接入机会越大。
可选地,所述发送流控管理单元包括:发送仲裁子单元、发送队列子单元、发送控制子单元以及发送缓存子单元;
发送仲裁子单元包含一个BRAM和控制逻辑,BRAM负责缓存从外部存储器中读到的数据,控制逻辑负责识别要发送的数据的优先级,并根据优先级将帧送入发送队列中;
发送队列子单元由四个同步FIFO组成,负责存储具有不同优先级的帧;
发送控制子单元根据发送队列中四个FIFO的空满状态及数据收发模块的发送结果优先将发送队列中高优先级的数据送入发送缓存模块,同时对头部的数据标号和数据类型信息进行识别,产生模式选择信号和开始发送信号用于选择第二通信标准数据收发模块或第一通信标准数据收发模块并控制其开始工作,第一通信标准数据收发模块或第二通信标准数据收发模块中的一个数据收发送完毕后,发送控制子单元中的发送个数计数器加1,当发送个数计数器计数到发送阈值时,发送控制子单元发送中断信号请求处理器读状态寄存器获得发送状态信息;
发送缓存子单元用于缓存由第二通信标准数据收发模块和第一通信标准数据收发模块发送的数据。
可选地,接收流控管理单元包括接收控制子单元和接收缓存子单元;
接收缓存子单元用于缓存第一通信标准数据收发模块和第二通信标准数据收发模块接收到的数据;
接收控制子单元用于将缓存中的数据读出并写入外部存储器,同时根据所接收到的数据帧的优先级发送接收中断至处理器,如果接收到的数据具有最高的优先级,则会立即发送接收中断信号;对于多种低优先级的帧,接收控制模块对接收到的多个低优先级的帧进行计数,任意一个计数器计数到对应的接收阈值时,接收控制子单元则会发送接收中断信号至处理器并将该计数器清零。
可选地,信道接入机会管理单元负责根据优先级及信道状态动态调整信道接入机会,对于第二通信标准数据收发模块的信道访问过程,通过调整二进制指数随机退避机制中的最大退避指数来改变信道接入机会,最大退避指数为优先级和重传次数之和;对于第一通信标准数据收发模块的信道访问过程,通过调整退避指数来改变信道接入机会,退避指数为优先级为重传次数之和;采用信道接入机会调整功能之后,信道接入机会与帧的优先级及重传次数两个因素有关:优先级越高,接入信道的机会越大;重传次数越小,信道接入的机会越大。
具体地,本发明基于优先级的管理功能体现在如下几个方面:
1、发送过程,发送流控管理单元将优先级高的数据优先送入第一通信标准数据收发模块或第二通信标准数据收发模块。
2、接收过程中,处理器为低优先级数据设置接收阈值,接收到高优先级数据直接请求处理器处理,低优先级的达到阈值后请求处理器处理。
3、发送过程中,信道接入机会管理单元根据优先级对信道接入机会进行调整,通过控制CSMA/CA控制器中的退避指数改变接入机会,优先级越高,信道接入机会越大。
可选地,所述第一通信标准数据收发模块和第二通信标准数据收发模块均包括:CSMA/CA控制器、发送单元、接收单元以及CRC校验单元;
CSMA/CA控制器单元负责根据CSMA/CA算法进行信道的访问,同时生成控制发送单元的开始发送信号、生成控制接收单元的准备接收信号、数据发送失败之后的开始重传信号、传送至管理模块的发送成功或失败信号;
发送单元进行MAC数据帧、命令帧和确认帧的组装和发送:对于数据帧及MAC命令帧,发送单元从缓存模块中读取数据并为其添加帧头和帧尾;对于确认帧,根据接收模块的控制信号及数据信号组装确认帧并发送;
接收单元主要负责帧的接收、筛选和保存,对需要返回确认帧的数据,产生开始发送确认帧信号;数据接收成功,产生数据接收成功信号;
CRC校验单元用于帧的发送和接收过程的CRC校验及解校验,以及二进制指数随机退避过程中产生随机退避数,对于第二通信标准数据收发模块CRC校验单元的位宽为16位;对于第一通信标准数据收发模块,CRC校验单元的位宽为8位。
可选地,该MAC控制器中数据的发送过程为:
当存储器中有数据需要发送时,管理模块从存储器中取出待发送的数据,发送流控管理模块将优先级高的数据写入发送缓存模块并生成开始发送信号和模式选择信号;第一通信标准数据收发模块或第二通信标准数据收发模块的CSMA/CA控制器启动并监测信道状态,当信道状态为可以接入时,CSMA/CA控制器将开始发送信号拉高,随后发送单元从数据缓存模块中读取数据,为其添加同步头、帧开始定界符、优先级信息及FCS帧尾,将数据通过串行接口发送到物理层;发送单元发送完毕之后,CSMA/CA控制器产生控制信号控制接收模块准备接收确认帧,在协议规定的时间内接收到正确的确认帧,则表示一帧发送成功,否则发送失败;由CSMA/CA控制器产生第一通信标准或第二通信标准数据发送成功或失败信号并传输至管理模块的发送流控单元;管理模块的寄存器管理单元的状态寄存器更新,发送流控管理单元的发送控制子单元将发送队列中最高优先级的数据写入发送缓存子单元并生成相应的控制信号,开始下一帧数据的发送。
可选地,该MAC控制器中数据的接收过程为:
当检测到第一通信标准物理层或第二通信标准物理层传输过来的开始发送信号有效,接收单元开始接收数据、对数据进行筛选并将数据存入控制通路中的接收缓存,筛选过程出现错误则会立即停止接收该帧,并将已存入接收缓存中的数据清除,整个帧接收完毕且筛选通过,且等待协议规定的时间间隔之后,接收单元将确认帧开始发送信号拉高,随后发送单元启动,开始组装并发送确认帧,确认帧发送完毕表示一帧数据接收成功,产生接收成功信号传输至管理模块的接收流控单元,接收流控单元的接收控制子单元将接收缓存中的数据写入存储器中,对数据的优先级域进行识别据此产生中断信号。
可选地,寄存器管理单元包括控制寄存器、状态寄存器、控制寄存器解析逻辑、状态寄存器读写逻辑。控制寄存器中的信息包括用于数据收发模块的参数信息(如最大重传次数、最大和最小退避指数、MAC地址、BSSID、PANID、是否为协调器节点、是否为接入点等)和用于管理模块的信息(如是否使用CSMA/CA参数调整、发送阈值、不同优先级的接收阈值等),控制寄存器解析逻辑用于将控制寄存器中的值解析成控制信号及数据信号进而实现处理器对融合MAC控制器的灵活配置。状态寄存器由帧标号和发送状态组成,数据收发模块一个数据发送完毕之后,写状态寄存器逻辑将帧标号及发送状态写入状态寄存器,处理器通过读状态寄存器获得批数据的发送状态。
可选地,所述第一通信标准可以为IEEE 802.11b标准,所述第二通信标准可以为IEEE 802.15.4标准。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明的融合MAC控制器基于松耦合方式设计,可应用于IEEE802.15.4标准/IEEE802.11b标准融合网关SoPC中。本发明基于一个FPGA芯片实现IEEE 802.15.4和IEEE802.11b两种通信接口融合,相比于现有采用单独的芯片实现单种无线通信协议,可以减少对各芯片单独供电的能耗、减小体积、降低成本。
本发明的融合MAC控制器通过802.15.4/802.11b数据收发模块实现帧组装、帧筛选、CRC校验、CSMA/CA、自动重传和自动返回确认帧功能,可以减少处理器的负载;通过管理模块生成控制信号控制802.15.4/802.11b数据收发模块工作,实现IEEE802.15.4标准/IEEE 802.11b标准模式选择。
本发明的融合控制器具有基于优先级的数据发送和接收过程的流控管理功能和信道接入机会调整功能,可适用于有优先级需求的复杂融合网络环境。
具体地,当两种通信标准为IEEE802.15.4标准和IEEE 802.11b标准时,本发明提供的方案可以基于一个FPGA将EEE802.15.4标准/IEEE 802.11b标准融合网关SoPC中。
附图说明
图1为本发明提供的融合MAC控制器的架构图;
图2为本发明提供的融合MAC控制器的模块划分图;
图3为本发明提供的融合MAC控制器数据收发模块框图;
图4为本发明提供的融合MAC控制器管理模块发送流控管理单元框图;
图5为本发明提供的融合MAC控制器管理模块接收流控管理单元框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
需要说明的是,以下实施例将以两种标准为IEEE802.15.4标准/IEEE802.11b标准为例进行说明。本领域技术人员可以理解的是,以上两种标准仅做示例进行说明,并不做对本发明的任何限定。本领域技术人员根据实际需要选取具体标准实现任意两种标准融合到网关SoPC的方案,均应属于本发明的保护范围。
图1为本发明提供的融合MAC控制器的架构图,如图1所示包括:802.11b数据收发模块、802.15.4数据收发模块以及管理模块;
802.11b数据收发模块实现基于IEEE802.11标准通信的数据的接收和发送;
802.15.4数据收发模块实现基于IEEE802.15.4标准通信的数据的接收和发送
管理模块用于从存储器中读取数据,并根据数据类型和数据的优先级将读取到的数据转发给802.11b数据收发模块或802.15.4数据收发模块;所述数据类型信息用于指示该数据的类型为IEEE 802.15.4或IEEE 802.11b帧,所述802.11b数据收发模块、802.15.4数据收发模块以及管理模块集成在一个FPGA芯片中。
图2为本发明提供的融合MAC控制器的模块划分图,如图2所示,IEEE802.15.4和IEEE 802.11传输接口融合MAC控制器由802.15.4数据收发模块、802.11b数据收发模块和管理模块组成。数据收发模块实现IEEE 802.15.4和IEEE 802.11b数据的组装、发送、接收和筛选,CSMA/CA机制、自动重传和自动返回确认帧功能;管理模块实现对802.15.4/802.11b数据收发模块的选择和控制、基于优先级的数据发送和接收过程的流控管理和基于优先级及信道状态的信道接入机会调整功能。
本发明为(存储器中)待发送的数据添加了帧头信息,包括长度、数据标号、优先级和数据类型。其中,长度表示待发送的帧的长度;数据标号为IEEE 802.15.4及IEEE802.11b帧在融合网络环境中的唯一标识,用于处理器从MAC控制器中获得每一帧数据的发送状态;优先级为该数据在融合网络环境中的优先级,本发明为融合网络环境中的数据划分了0-3四个优先级,其中0表示最高优先级,3表示最低优先级;数据类型表示数据类型为IEEE 802.15.4或IEEE 802.11b帧,用于控制融合MAC控制器的工作模式。本发明为融合MAC控制器的MAC协议数据单元增加了优先级子域,子域位于MAC服务数据单元和帧校验尾之间,位宽为8比特,优先级子域也需进行CRC校验。
802.15.4数据收发模块和802.11b数据收发模块具有相同的模块划分及模块连接关系。如图3所示,802.15.4和802.11b数据收发模块均由CSMA/CA控制器、发送单元、接收单元和CRC校验单元组成。
CSMA/CA控制器单元负责根据CSMA/CA算法进行信道的访问,同时作为发送过程的核心控制单元,CSMA/CA控制器单元还负责生成对其他单元的控制信号,包括用于控制发送单元的开始发送信号、用于控制接收单元的准备接收信号、数据发送失败之后的开始重传信号、传送至管理模块的发送成功或失败信号。
发送单元进行MAC数据帧、命令帧和确认帧的组装和发送:对于数据帧及MAC命令帧,发送单元从缓存模块中读取数据并为其添加帧头和帧尾;对于确认帧,根据接收模块的控制信号及数据信号组装确认帧并发送。
接收单元主要负责帧的接收、筛选和保存,负责产生对其他模块的控制信息,如:对需要返回确认帧的数据,产生开始发送确认帧信号;数据接收成功,产生数据接收成功信号。
CRC校验单元用于帧的发送和接收过程的CRC校验及解校验,以及二进制指数随机退避过程中产生随机退避数。对于802.15.4数据通路,CRC校验单元的位宽为16位;对于802.11b数据通路,CRC校验单元的位宽为8位。
如图2所示,管理模块由寄存器管理单元、发送流控管理单元、接收流控管理单元和信道接入机会管理单元组成。
寄存器管理单元包括控制寄存器、状态寄存器、控制寄存器解析逻辑、状态寄存器读写逻辑。控制寄存器中的信息包括用于数据收发模块的参数信息(如最大重传次数、最大和最小退避指数、MAC地址、BSSID、PANID、是否为协调器节点、是否为接入点等)和用于管理模块的信息(如是否使用CSMA/CA参数调整、发送阈值、不同优先级的接收阈值等),控制寄存器解析逻辑用于将控制寄存器中的值解析成控制信号及数据信号进而实现处理器对融合MAC控制器的灵活配置。状态寄存器由帧标号和发送状态组成,802.15.4/802.11b数据收发模块一个数据发送完毕之后,写状态寄存器逻辑将帧标号及发送状态写入状态寄存器,处理器通过读状态寄存器获得批数据的发送状态。
如图4所示,发送流控管理单元由发送仲裁、发送队列、发送控制和发送缓存四个子单元组成。发送仲裁子单元包含一个BRAM负责缓存从外部存储器中读到的数据,此外还包括一些控制逻辑负责识别要发送的数据帧的优先级,并根据优先级将帧送入发送队列中;发送队列子单元由四个同步FIFO组成,负责存储具有不同优先级的帧;发送控制子单元根据发送队列中四个FIFO的空满状态及数据收发模块的发送结果优先将发送队列中高优先级的数据送入发送缓存模块,同时对头部的数据标号和数据类型信息进行识别,产生模式选择信号和开始发送信号用于选择802.15.4/802.11b数据收发模块并控制其开始工作,802.15.4/802.11b数据收发模块中的一个数据收发送完毕后,发送控制字单元中的发送个数计数器加1,当发送个数计数器计数到发送阈值时,发送控制子单元发送中断信号请求处理器读状态寄存器获得发送状态信息;发送缓存用于缓存由数据收发模块发送的数据。
如图5所示,接收流控管理单元由接收控制子单元和接收缓存组成。接收缓存用于缓存数据收发模块接收到的数据;数据收发模块成功接收数据后,接收控制子单元会立即将接收缓存中的数据读出并写入外部存储器,同时根据所接收帧的优先级发送接收中断至处理器。如果接收到的数据具有最高的优先级,则会立即发送接收中断信号;对于三种低优先级的帧,接收控制模块对接收到的三个优先级的帧进行计数,任意一个计数器计数到接收阈值时,接收控制子单元则会发送接收中断信号至处理器并该计数器清零。
信道接入机会管理单元负责根据优先级及信道状态动态调整信道接入机会。本发明中优先级的值越小代表优先级越高,如0表示最高的优先级,3表示最低的优先级。重传次数可以一定程度上反映信道的状况,重传次数的值越大,表示信道的状态越差。对于采用信道接入机会调整的802.15.4数据收发模块的信道访问过程,通过调整二进制指数随机退避机制中的最大退避指数来改变信道接入机会,最大退避指数为优先级和重传次数之和;对于采用信道接入机会调整的802.11b数据收发模块的信道访问过程,通过调整退避指数来改变信道接入机会,退避指数为优先级为重传次数之和。采用信道接入机会调整功能之后,信道接入机会与帧的优先级及重传次数两个因素有关:优先级越高,接入信道的机会越大;重传次数越小,信道接入的机会越大。
对融合MAC控制器中帧的发送和接收过程进行说明如下:
数据的发送过程为:当存储器中有数据需要发送时,管理模块从存储器中取出待发送的数据,发送流控模块将优先级高的数据写入发送缓存模块并生成开始发送信号和模式选择信号,802.15.4/802.11b数据收发模块的CSMA/CA控制器启动并监测信道状态,当信道状态为可以接入时,CSMA/CA控制器将开始发送信号拉高,随后发送单元从数据缓存模块中读取数据,为其添加同步头、帧开始定界符、优先级信息及FCS帧尾,将数据通过串行接口发送到物理层。发送单元发送完毕之后,CSMA/CA控制器产生控制信号控制接收模块准备接收确认帧,在协议规定的时间内接收到正确的确认帧,则表示一帧发送成功,否则发送失败。由CSMA/CA控制器产生IEEE 802.15.4/IEEE 802.11b数据发送成功或失败信号并传输至管理模块的发送流控单元。之后,管理模块的寄存器管理单元的状态寄存器更新,发送流控单元的发送控制子单元将发送队列中最高优先级的数据写入发送缓存模块并生成相应的控制信号,开始下一帧数据的发送。
数据的接收过程为:当检测到802.11b物理层或802.15.4物理层传输过来的开始发送信号有效,接收单元开始接收数据、对数据进行筛选并将数据存入控制通路中的接收缓存。筛选过程出现错误则会立即停止接收该帧,并将已存入接收缓存中的数据清除。整个帧接收完毕且筛选通过,且等待协议规定的时间间隔之后,接收单元将确认帧开始发送信号拉高。随后发送单元启动,开始组装并发送确认帧,确认帧发送完毕表示一帧数据接收成功,接收单元产生接收成功信号传输至管理模块的接收流控单元。接收流控单元的接收控制子单元将接收缓存中的数据写入存储器中,对数据的优先级域进行识别据此产生中断信号。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于FPGA的两种通信接口融合MAC控制器,其特征在于,包括:第一通信标准数据收发模块、第二通信标准数据收发模块以及管理模块;
第一通信标准数据收发模块实现基于第一通信标准的数据的接收和发送;
第二通信标准数据收发模块实现基于第二通信标准的数据的接收和发送
管理模块用于从存储器中读取数据,并根据数据类型和数据的优先级将读取的数据转发给第一通信标准数据收发模块或第二通信标准数据收发模块;所述数据类型信息用于指示该数据的类型为第一通信标准数据帧或第二通信标准数据帧,所述第一通信标准数据收发模块、第二通信标准数据收发模块以及管理模块集成在一个FPGA芯片中;
所述管理模块包括:寄存器管理单元、发送流控管理单元、接收流控管理单元以及信道接入机会管理单元组成;
寄存器管理单元中包括数据收发模块的参数信息和用于管理模块的信息,其将参数信息的值解析成控制信号及数据信号进而实现处理器对融合MAC控制器的灵活配置,第一通信标准数据收发模块或第二通信标准数据收发模块的一个数据发送完毕之后,数据帧标号及发送状态写入状态寄存器,处理器通过读状态寄存器获得批数据的发送状态;
发送流控管理单元用于从外部存储器中读取数据,并根据数据的优先级将其缓存,优先缓存优先级高的数据,根据缓存的数据的数据类型信息将缓存的数据转发至第一通信标准数据收发模块或第二通信标准数据收发模块,第一通信标准数据收发模块或第二通信标准数据收发模块中的一个数据收发送完毕后,对应的发送个数计数器加1,当发送个数计数器计数到发送阈值时,发送中断信号请求处理器读状态寄存器获得发送状态信息;
接收流控管理单元用于缓存第一通信标准数据收发模块和第二通信标准数据收发模块接收到的数据,将缓存中的数据读出并写入外部存储器,同时根据所接收到的数据的优先级发送接收中断至处理器,请求处理器处理,若接收到的数据的优先级高,则直接请求处理器处理,若接收到的数据的优先级低,则当缓存的优先级低的数据的数量达到接收阈值后,再请求处理器处理;
信道接入机会管理单元用于根据优先级及信道状态动态调整数据帧的信道接入机会,其中,数据帧的优先级越高其信道接入机会越大。
2.根据权利要求1所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,所述发送流控管理单元包括:发送仲裁子单元、发送队列子单元、发送控制子单元以及发送缓存子单元;
发送仲裁子单元包含一个BRAM和控制逻辑,BRAM负责缓存从外部存储器中读到的数据,控制逻辑负责识别要发送的数据的优先级,并根据优先级将帧送入发送队列中;
发送队列子单元由四个同步FIFO组成,负责存储具有不同优先级的帧;
发送控制子单元根据发送队列中四个FIFO的空满状态及数据收发模块的发送结果优先将发送队列中高优先级的数据送入发送缓存模块,同时对头部的数据标号和数据类型信息进行识别,产生模式选择信号和开始发送信号用于选择第一通信标准数据收发模块或第二通信标准数据收发模块并控制其开始工作,第一通信标准数据收发模块或第二通信标准数据收发模块中的一个数据收发送完毕后,发送控制子单元中的发送个数计数器加1,当发送个数计数器计数到发送阈值时,发送控制子单元发送中断信号请求处理器读状态寄存器获得发送状态信息;
发送缓存子单元用于缓存由第二通信标准数据收发模块和第一通信标准数据收发模块发送的数据。
3.根据权利要求1所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,接收流控管理单元包括接收控制子单元和接收缓存子单元;
接收缓存子单元用于缓存第一通信标准数据收发模块和第二通信标准数据收发模块接收到的数据;
接收控制子单元用于将缓存中的数据读出并写入外部存储器,同时根据所接收到的数据帧的优先级发送接收中断至处理器,如果接收到的数据具有最高的优先级,则会立即发送接收中断信号;对于多种低优先级的帧,接收控制模块对接收到的多个低优先级的帧进行计数,任意一个计数器计数到对应的接收阈值时,接收控制子单元则会发送接收中断信号至处理器并将该计数器清零。
4.根据权利要求1所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,信道接入机会管理单元负责根据优先级及信道状态动态调整信道接入机会,对于第二通信标准数据收发模块的信道访问过程,通过调整二进制指数随机退避机制中的最大退避指数来改变信道接入机会,最大退避指数为优先级和重传次数之和;对于第一通信标准数据收发模块的信道访问过程,通过调整退避指数来改变信道接入机会,退避指数为优先级为重传次数之和;采用信道接入机会调整功能之后,信道接入机会与帧的优先级及重传次数两个因素有关:优先级越高,接入信道的机会越大;重传次数越小,信道接入的机会越大。
5.根据权利要求1所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,所述第一通信标准数据收发模块和第二通信标准数据收发模块均包括:CSMA/CA控制器、发送单元、接收单元以及CRC校验单元;
CSMA/CA控制器单元负责根据CSMA/CA算法进行信道的访问,同时生成控制发送单元的开始发送信号、生成控制接收单元的准备接收信号、数据发送失败之后的开始重传信号、传送至管理模块的发送成功或失败信号;
发送单元进行MAC数据帧、命令帧和确认帧的组装和发送:对于数据帧及MAC命令帧,发送单元从缓存模块中读取数据并为其添加帧头和帧尾;对于确认帧,根据接收模块的控制信号及数据信号组装确认帧并发送;
接收单元主要负责帧的接收、筛选和保存,对需要返回确认帧的数据,产生开始发送确认帧信号;数据接收成功,产生数据接收成功信号;
CRC校验单元用于帧的发送和接收过程的CRC校验及解校验,以及二进制指数随机退避过程中产生随机退避数,对于第二通信标准数据收发模块CRC校验单元的位宽为16位;对于第一通信标准数据收发模块,CRC校验单元的位宽为8位。
6.根据权利要求1至5任一项所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,该MAC控制器中数据的发送过程为:
当存储器中有数据需要发送时,管理模块从存储器中取出待发送的数据,发送流控管理模块将优先级高的数据写入发送缓存模块并生成开始发送信号和模式选择信号;第一通信标准数据收发模块或第二通信标准数据收发模块的CSMA/CA控制器启动并监测信道状态,当信道状态为可以接入时,CSMA/CA控制器将开始发送信号拉高,随后发送单元从数据缓存模块中读取数据,为其添加同步头、帧开始定界符、优先级信息及FCS帧尾,将数据通过串行接口发送到物理层;发送单元发送完毕之后,CSMA/CA控制器产生控制信号控制接收模块准备接收确认帧,在协议规定的时间内接收到正确的确认帧,则表示一帧发送成功,否则发送失败;由CSMA/CA控制器产生 第一通信标准或 第二通信标准数据发送成功或失败信号并传输至管理模块的发送流控单元;管理模块的寄存器管理单元的状态寄存器更新,发送流控管理单元的发送控制子单元将发送队列中最高优先级的数据写入发送缓存子单元并生成相应的控制信号,开始下一帧数据的发送。
7.根据权利要求1至5任一项所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,该MAC控制器中数据的接收过程为:
当检测到第一通信标准物理层或第二通信标准物理层传输过来的开始发送信号有效,接收单元开始接收数据、对数据进行筛选并将数据存入控制通路中的接收缓存,筛选过程出现错误则会立即停止接收该帧,并将已存入接收缓存中的数据清除,整个帧接收完毕且筛选通过,且等待协议规定的时间间隔之后,接收单元将确认帧开始发送信号拉高,随后发送单元启动,开始组装并发送确认帧,确认帧发送完毕表示一帧数据接收成功,产生接收成功信号传输至管理模块的接收流控单元,接收流控单元的接收控制子单元将接收缓存中的数据写入存储器中,对数据的优先级域进行识别据此产生中断信号。
8.根据权利要求1所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,寄存器管理单元包括控制寄存器、状态寄存器、控制寄存器解析逻辑以及状态寄存器读写逻辑;
控制寄存器中的信息包括用于第一通信标准数据收发模块和第二通信标准数据收发模块的参数信息和用于管理模块的信息;
控制寄存器解析逻辑用于将控制寄存器中的值解析成控制信号及数据信号进而实现处理器对融合MAC控制器的灵活配置;
状态寄存器由帧标号和发送状态组成,第一通信标准数据收发模块或第二通信标准数据收发模块的一个数据发送完毕之后,写状态寄存器逻辑将帧标号及发送状态写入状态寄存器,处理器通过读状态寄存器获得批数据的发送状态。
9.根据权利要求1至5任一项所述的基于FPGA的两种通信接口融合MAC控制器,其特征在于,所述第一通信标准为IEEE 802.11b标准,所述第二通信标准为IEEE 802.15.4标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810786750.4A CN108966046B (zh) | 2018-07-17 | 2018-07-17 | 一种基于fpga的两种通信接口融合mac控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810786750.4A CN108966046B (zh) | 2018-07-17 | 2018-07-17 | 一种基于fpga的两种通信接口融合mac控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108966046A CN108966046A (zh) | 2018-12-07 |
CN108966046B true CN108966046B (zh) | 2020-02-21 |
Family
ID=64495711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810786750.4A Active CN108966046B (zh) | 2018-07-17 | 2018-07-17 | 一种基于fpga的两种通信接口融合mac控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108966046B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459545B (zh) * | 2020-03-27 | 2022-07-22 | 广东速美达自动化股份有限公司 | 一种fpga的寄存器资源的优化方法及装置 |
CN113132069A (zh) * | 2021-03-22 | 2021-07-16 | 合肥富煌君达高科信息技术有限公司 | 一种丢包重传的通信机制及基于fpga实现其的方法 |
CN113971145B (zh) * | 2021-10-28 | 2022-08-19 | 金华高等研究院 | 一种带有动态缓冲区分配的spi转多串口的电路和方法 |
CN114124858B (zh) * | 2022-01-29 | 2022-05-17 | 飞腾信息技术有限公司 | 控制方法及控制设备 |
CN115100840B (zh) * | 2022-05-16 | 2024-01-12 | 深圳绿米联创科技有限公司 | 设备控制方法、装置、电子设备及存储介质 |
CN115086104B (zh) * | 2022-06-23 | 2023-11-21 | 武汉迈威通信股份有限公司 | 一种支持数据断线重传的方法及串口服务器 |
CN115694772A (zh) * | 2022-09-05 | 2023-02-03 | 北京机电工程研究所 | 一种基于两级fifo的智能接口设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100514233C (zh) * | 2007-09-30 | 2009-07-15 | 重庆邮电大学 | 一种基于sopc的epa现场控制器 |
US8417187B2 (en) * | 2008-01-07 | 2013-04-09 | Apple Inc. | Methods and apparatus for wireless device coexistence |
US9391621B2 (en) * | 2013-09-27 | 2016-07-12 | Silicon Mobility | Configurable multiply-accumulate |
-
2018
- 2018-07-17 CN CN201810786750.4A patent/CN108966046B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108966046A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108966046B (zh) | 一种基于fpga的两种通信接口融合mac控制器 | |
US7565467B2 (en) | USB hub, USB-compliant apparatus, and communication system | |
CN107347201B (zh) | 一种基于优先级的无线传感器网络轮询系统控制方法 | |
US8594112B2 (en) | Memory management for high speed media access control | |
US9439142B2 (en) | Power saving for low latency deterministic networks in wireless personal area networks | |
US20100146157A1 (en) | Multi-radio interfacing and direct memory access based data transferring methods and sink node for performing the same in wireless sensor network | |
JP2009507422A (ja) | 媒体アクセス制御アーキテクチャ | |
US20070147386A1 (en) | System for switching variable-length data packets of heterogeneous network and method for the same | |
JP2003051826A (ja) | 無線通信システム、無線通信制御装置及び無線通信制御方法、無線通信装置及び無線通信方法、並びに記憶媒体 | |
WO2023030336A1 (zh) | 数据传输方法、tsn节点和计算机可读存储介质 | |
KR20060088994A (ko) | 지그비 시스템에서 데이터 송수신 방법 및 그 방법을사용하는 코디네이터 및 디바이스 | |
JP2002261786A (ja) | マルチアクセス通信システム及びデータ送受信装置 | |
US20120106528A1 (en) | Unified protocol stack for colocated wireless transceivers | |
CN109922537B (zh) | 无线模块及其实现方法 | |
US20170134299A1 (en) | Method and apparatus for controlling message over heterogeneous network | |
CN113051204A (zh) | 串行背板总线通信方法及系统 | |
CN114422614B (zh) | 控制多链路设备发送数据的方法、装置、设备及存储介质 | |
CN112491620B (zh) | 一种基于srio的多通道数据传输控制器及调整方法 | |
CN113885461B (zh) | 一种串并转换模块、设备、方法、装置和工业控制系统 | |
CN105099505B (zh) | 一种适用于脉冲超宽带无线网络的通信系统 | |
CN110972099A (zh) | 一种汽车综合多协议网关及外围设备与传感器互联系统 | |
CN110365579A (zh) | 无线片上网络中拥塞与故障感知无线路由器及其路由方法 | |
CN114885043B (zh) | 一种自适应前传协议的接口系统及方法 | |
JPH10303962A (ja) | ノード認識方法 | |
CN113179552B (zh) | 一种无线单信道通信网络避免冲突的通信方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |