一种基于FPGA的无线局域网接入实现


无线局域网是目前通信领域研究的一个热点 , 其MAC层协议采用的是一种载波侦听多址接入/冲突避免(CSMA/CA)的方式 。对于无线局域网的分布式系统(DS)而言 , 可以采用有线的方式来实现 , 因此无线网与有线网的互连互通显得很要害 。本文将介绍一种基于现场可编程门阵列(FPGA)来实现以太网(IEEE802.3)数据与无线局域网(IEEE802.11)数据的桥接与转换 , 以完成有线接入与无线传输的网桥功能 。
FPGA是与传统PLD不同的一类可编程ASIC , 它是将门阵列的通用结构与PLD的现场可编程特性结合于一体的新型器件 , 最早由美国Xilinx公司于1985年推出 。FPGA具有集成度高、通用性好、设计灵活、开发周期短、编程方便、产品上市快捷等特点 , 它的门数可达100万门以上 。近年来 , FPGA在通信系统的硬件设计方面应用的越来越广泛 。
系统硬件平台设计及功能描述
该系统(以下称为MAC板)处于PHY层(物理层)基带处理板与客户多媒体数据接入之间 , 一方面要将用户数据接入系统 , 经过基带处理后进行无线传输;另一方面 , 无线端解调解码后的数据要经过该系统转送给用户 。系统的硬件平台设计首先考虑采用专用ASIC芯片 , 对于板内、板间自定义的接口采用FPGA编程来实现 , 见图1 。
发送方式(Ethernet To Wireless):客户端数据(模拟信号)由双绞线从RJ-45接口进入隔离变压器 , 隔离变压器主要功能是隔离直流等干扰;模拟信号进入PHY芯片 , 滤波 , 整形 , 4B/5B解码 , 从MII(Media Independent Interface)变为4位数据并行输出;并行信号进入FPGA实现串行MPDU(MAC Protocol Data Unit)的生成;最后从基带接口发送给后续部分 , 以实现无线传输 。
接收方式(Wireless To Ethernet):接收是发送的逆过程 。从PHY层基带处理模块来的串行MPDU数据流经FPGA处理后变成4位并行的符合IEEE802.3格式的数据帧 , PHY芯片从MII接收数据 , 4B/5B编码 , 转化为MLT3(多电平传输)格式模拟信号 , 预整形 , 发送到隔离变压器;信号经隔离变压器 , 到RJ-45接口、双绞线到达用户端 。
需要说明的是 , 该系统的MPDU并没有完全按照无线局域网IEEE802.11规范来设计 , 而是作了很大的简化 , 只力求把以太网的数据无线转发同时能接收进来就可以 , 目的是给后续的研究提供一个基础 。IEEE802.3数据帧和MPDU帧格式如图2所示 。把IEEE802.3帧除去Preamble之外的部分当作MPDU的数据 , 内部并不作处理 。由于最长的以太网帧为1518字节 , 所以Data域实际上控制在1.5K字节左右 , 用12bit表示长度已经够了 。
MII数据与MPDU之间的转换
根据需求和成本综合考虑 , 这里FPGA采用Xilinx公司的Virtex-E XCV300E器件 。它具有高性能、大容量、处理速度快等优点 , 而且比起Virtex-Ⅱ系列的器件价格低廉 。FPGA在这里实现的其实就是一个连续帧数据流的帧头处理及并/串转换 。按照功能来说分为发送(Ethernet To Wireless)和接收(Wireless To Ethernet)两个相对独立的模块 。
发送模块
主要负责给无线局域网PHY层提供数据流 , 大体描述其工作过程为:(1)从MII接收来的数据去掉Preamble后经双口RAM缓存 , 再经一个4位寄存器作并/串转换后输出;(2)根据MPDU的需要 , 在数据输出之前要先输出表示帧长的Length , 它由Write计数器计数产生 , 经Length存储器缓存 , 再经一个12位寄存器作并/串转换后输出;(3)由两个状态机为核心构成控制部分 , 完成对整个数据流的控制 。图3给出了发送功能的框图 。下面将就主要模块分别简要说明 。
前端同步处理:发送时10MHz以太网数据到达MII时分成4路并行 , 并提供2.5MHz输入时钟;接收时基带处理部分除了提供数据MPDU , 还提供了6.25MHz的输入时钟 。考虑到数据、使能以及时钟之间的相位关系可能会受传输路径的影响而发生错位 , 所以在接入时让数据和使能都先经过由该时钟触发的D触发器 , 使它们与时钟的相位关系重新明确 , 以便于后续的处理 。

推荐阅读