《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 基于802.11b无线网卡和EPXA1开发板的无线MAC开发平台

基于802.11b无线网卡和EPXA1开发板的无线MAC开发平台

2008-09-09
作者:陈雄飞, 陈 曦, 陆建华

  摘 要: 利用现有802.11b无线网卡" title="无线网卡">无线网卡的物理层部分和Altera公司的EPXA1开发板" title="开发板">开发板实现可以收发802.11b无线网络信号的软件无线电平台,在此平台基础上可自由开发各种无线局域网媒体访问控制协议。
  关键词: 802.11b网卡 媒体访问控制 EPXA1 开发平台


  无线局域网媒体访问控制(MAC)协议的开发是目前各种无线应用研究的热点。同时MAC协议的开发、调试和实现离不开物理层(PHY)的支持。很多MAC协议的开发者由于没有物理层的支持,只能停留在协议仿真的阶段。本文提出了一个可以通过无线链路收发信号(可以与基于802.11b的无线局域网AP以及无线网卡通信)的无线MAC开发平台。该平台利用现有802.11b无线网卡的物理层部分(包括天线、射频芯片、中频芯片和基带处理器" title="基带处理器">基带处理器),再加上EPXA1开发板构成。利用该平台,可以在EPXA1开发板上进行各种MAC协议的开发和调试。
1 系统架构
  系统主要由三部分构成:802.11b无线网卡、EPXA1开发板以及两者之间转接PCB板,如图1所示。


  系统中使用的802.11b无线网卡通过标准的PCMCIA接口与笔记本相连。该无线网卡最大的特点是MAC控制芯片和基带处理芯片以及前端中频射频芯片是分离的,只有这样才能将其MAC芯片替换成EPXA1开发板。在无线网卡启动之前必须给基带处理芯片以及前端中频、射频芯片的控制寄存器" title="控制寄存器">控制寄存器设置合适的值。这是控制逻辑PLCI部分要做的工作。该网卡的主要组成芯片有:
  (a)HFA3841(Wireless LAN Medium Access Controller)是该无线网卡的MAC部分,在本设计中,将其替换成笔者的开发板。
  (b)HFA3861B (Baseband processor)是无线网卡的基带处理器[3],在网卡启动过程中,需要通过相应的串行配置口对其进行配置。
  (c)HFA3683A (RF/IF converter and synthesizer)芯片进行射频到中频的变换[4],需要通过相应配置口进行控制寄存器的配置。
  (d)HFA3783 芯片进行中频到基带的变换[5],也需要通过相应配置口进行寄存器的配置(工作模式和工作频率等)。
  Altera公司的EPXA1开发板集成了ARM922T嵌入式微处理器以及相应外设,其外设中拥有10万等效系统门的可编程逻辑器件以及相应的扩展I/O" title="I/O">I/O口,不需要再另外设计FPGA电路,更方便了软件和硬件的协同设计。同时,Altera公司提供的QuartusII软件,也提供了对硬件和软件协同设计的良好支持。
  转接PCB板用于连接EPXA1开发板的扩展I/O口和802.11b无线网卡上有用的信号线。板上设计了一个PCMCIA插槽,用来固定无线网卡,转接板使用了隔离芯片SN74CBTD3384进行电平转换和保护EPXA1开发板,同时也通过该板给无线网卡供电。
2 设计过程
2.1对802.11b无线网卡的处理

  首先拿掉无线网卡的MAC芯片,然后将MAC芯片上与基带处理器、前端射频以及中频芯片相连的线引出,因为在网卡启动过程中,需要通过这些线对前端芯片进行相应配置。图2是无线网卡的MAC芯片与其他芯片之间的连接关系,在设计过程要确保将这些线引出到EPXA1开发板上。


2.2 转接PCB板的设计
  可以参照PCMCIA接口标准,将其中的电源线、地线以及有用的地址线和数据线连接到EPXA1的扩展I/O口(逻辑高电平为5V),连接过程使用了SN74CBTD3384进行电平转换(5V到3.3V的转换)。另外在EPXA1的扩展I/O口中,有提供3.3V和5V电源的引脚,可以作为无线网卡的电源,PCB板上还可以加上测试引脚,方便硬件的调试。
2.3 PLCI部分的设计
  整个系统的构架和PLCI所处的位置如图3所示。PLCI(物理层控制接口)和PLDI(物理层数据接口)是设计的重点,是利用EPXAl的可编程逻辑实现的,主要编程语言是Verilog HDL。PLCI是MAC与物理层的控制接口,它实现了对前端芯片(包括HFA3861B、HFA3683以及HFA3783)的控制寄存器的配置,包括产生配置所需的串行数据、时钟及片选信号。PLDI是MAC与物理层的数据接口,是MAC与PHY交换数据的通路;而ARM9嵌入式微处理器则运行C语言代码实现各种无线MAC协议。ARM9与外围设备之间通过AHB总线连接。
  在写程序之前,首先要弄清楚各个控制寄存器的读写过程。


  BBP(基带处理器)的控制接口是一个典型的三线接口,即只有时钟(SCLK)、数据(SD)和片选(CS_BAR)三个信号,没有单独的读/写使能信号,而利用了地址的最高位来标识读或写操作。每次读/写操作时,数据线(SD)上先后出现串行的地址和数据,其中地址位的MSB(A7)=1时为写操作,表明将数据写入该地址对应的寄存器中;地址位MSB(A7)=0时为读操作,表面后面的数据是从该地址指示的寄存器中读取出来的。
  HFA3683与HFA3783的读写时序相同,通过LE_RF和LE_IF的有效(低有效)来决定对哪块芯片进行读写。
  DATA线上的串行数据是在时钟的上升沿写入芯片中的一个20位的移位寄存器,然后在LE的上升沿写入根据LSB1和LSB2两位对应的地址。
  上述的串行输出数据(SD)和时钟(SCLK)由PLCI逻辑产生。各前端芯片利用时钟的上升沿来采集数据的,所以数据与时钟的上升沿要严格对齐,有足够的建立时间和保持时间。
  在PLCI的设计中,定义了一些寄存器与CPU通信,这些寄存器根据相应芯片读写时序的要求,有不同的宽度,例如BBP的写寄存器有17位,低8位为要写入的数据,高8位为要写入的寄存器的地址,最高位用来表明写入操作是否完成。以便启动下一次读写操作。
  ESS (Excalibur Stripe Simulator)是一个Stripe仿真模型,它可以仿真CPU指令的执行,并用来观察PLD-to-Stripe和Stripe-to-PLD的总线时序。ADS 1.2 带的AXD调试器可以模拟CPU执行指令的情况,并观察每条指令执行之后系统的状态。
  通过AXD Debugger与ESS的结合,可以观察一条PLD-to-Stripe或者Stripe-to-PLD总线操作指令执行后相应总线上的时序,再结合ModelSim进行仿真,方便了程序的调试。图4是ModelSim中对BBP进行配置时的仿真波形,该波形与要求的BBP的写入逻辑是一致的。


3 系统的启动和验证
  在启动系统前,还必须写一个PLCI.C文件,在其中利用c函数对PLCI.V中定义的寄存器进行读写操作。
  //BBP的写操作函数
  void BBP_wr(long val)
  {
  *BBP_WRITE=val|0x8000;
  //val的高八位是地址,低八位为数据,最高位置1表明为写寄存器操作
  while(((*BBP_WRITE)&0x10000)==0x10000){}//读取标志位,一直到操作完成
  }
  RF以及IF芯片的写操作函数类似。
  BBP总共有49个寄存器要进行写入操作[1]
  HFA3683有三个控制寄存器需要写入[4],HFA3783有四个控制寄存器[5]。后面两个芯片共同的寄存器有:模式寄存器M(用于控制芯片的工作模式)、R counter寄存器和A/B counter寄存器(用于控制频率综合器的综合频率),R counter和A/B counter的具体值需要对无线网卡工作时的射频和中频频率进行测量得到。按照802.11b协议的规定之一,无线网卡工作时共有14个信道[2],所以得到的射频芯片(HFA3683A)工作频率共有14个(即有14种不同的R、A、B值),中频(HFA3783)芯片的工作频率有一个。
  使用的编程工具是Quartus II,它可以分别编译硬件部分(PLCI.V主要是或者verilog HDL语言)和软件部分(PLCI.C),然后再一起编译生成.hex文件下载到开发板上。
  验证过程:将无线网卡设置成接收状态(RX_PE置高、TX_PE置低、RADIO_PE置低、PE1置高、PE2置高、RESET置高、TR/SW置低)。另外需要设置好一个802.11b的AP(Access Point),将其设置在一个固定的工作频道上,同时设置RF/IF Converter 的控制寄存器,使网卡也工作在该频道上。此时用逻辑分析仪监测来自BBP的三个信号:RXC、RXD、MD_RDY信号,可以在逻辑分析仪上得到如图5所示波形。


  本系统提供了一条至MAC的最高速率为22Mbps的串行数据链路,结合EPAX1开发板上的嵌入式微处理器可以构建各种无线局域网演示系统。利用现有的无线网卡作为物理层,可以给那些专注于上层协议开发的人更多的方便。只要有相应的控制逻辑,这种系统构建方式也适用于其它的开发板,给想验证和实现自己开发MAC协议的人带来了一条捷径。笔者目前正在利用此平台开发802.11e媒体访问控制协议。
参考文献
1 IEEE Std 802.11-1999:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications[S].USA:IEEE, 1999
2 IEEE Std 802.11b: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications-Higher-Speed Physical Layer Extension in the 2.4GHz Band.[S]. USA:IEEE,1999
3 Direct Sequence Spread Spectrum Baseband Processor datasheet
4 2.4GHz RF/IF Converter and Synthesizer datasheet
5 I/Q Modulator/Demodulator and Synthesizer datasheet

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。