论文部分内容阅读
通过实现802.11协议族,Wi-Fi已经在高速无线局域网中占据了绝对主要地位。MAC层是实现Wi-Fi通信至关重要的一层。考虑到802.11 MAC标准提出的要求,在MAC硬件提供了可靠性和实时性的基础上,MAC软件可以提供开发的便捷性以及升级的灵活性,软硬件结合可以有效地提高系统的吞吐量。目前市场上各种各样的WLAN设备层出不穷,但是WLAN芯片厂商却屈指可数,其市场大多仍然被国外厂商占据。国产WLAN芯片的发展十分受限,MAC软件作为控制WLAN芯片的核心部分,是十分重要且值得去探索的。但是由于MAC软件的设计与WLAN芯片硬件设计的紧密结合,目前很少有适合的实现高速率MAC软件可以参考借鉴。MAC软件就像“路口”,硬件就像“马路”,即使“马路”再宽,也摆脱不了 MAC软件的设计与实现对这条“宽马路”的性能的限制。本文是本人参与的某企业WLAN芯片研发的实际项目。该项目本着自主创新的目的,旨在设计出符合802.11及附属协议的工业级通信芯片。根据设计目的,MAC软件需要实现设备配置、数据收发、设备状态和参数管理等业务。本文在熟悉802.11 MAC层相关协议族的基础上,根据协议实现的需求对MAC层实现进行了软硬件划分,清晰了 MAC软件的实际设计需求。通过对MAC软件功能的抽象,本文提出了一套行之有效的MAC软件系统架构——将MAC层的输入封装成不同的事件,将处理函数封装成库,通过对来自上下层接口和系统内部产生的事件的处理,完成数据流的传输以及设备间管理的控制。更进一步地,本文将MAC软件系统架构划分成事件管理器、事件分析器、MAC库、Host接口和硬件接口。事件管理器把从Host接口、硬件接口或者是MAC库产生的输入作为事件进行分类管理。事件分析器通过事件管理器顺序地提取事件进行分析,并按需求将产生的输出送往Host接口、硬件接口或是调用MAC库函数做进一步处理。另外,在MAC库的实现中,借鉴于硬件状态机的原理,MAC软件通过系统当前状态以及输入类型决定MAC系统该做的处理,并将操作结果返回给用户,通过这种机制巧妙地实现了 WLAN系统从未连接的DISABLE状态到已连接的ENABLE状态的管理控制。因为芯片正处于流片阶段,本文使用FPGA搭建了硬件仿真平台。首先,使用应用程序对设备进行配置或者向设备发送数据,通过WireShark抓包工具对测试过程中的数据进行抓包并进行解析。最后,通过对MAC硬件中不同层的环回测试验证了MAC软件传输过程中数据的正确性。验证结果表明MAC软件的正确实现了设备的配置、数据的收发和设备状态及参数的管理等业务功能,符合MAC软件设计要求。