构建拥有自主MAC层协议的无线网卡_无线通信论文
关键词:无线网卡 prism2 tms320vc5402 epm7128ae mac协议
随着无线网络应用领域的增长,各种无线接入方式不断涌现,基于ieee 802.11无线以太网标准的宽带无线接入系统凭借其高达11~54mbps的数据传输速率及其建网速度快、运营成本低、投资成本回报快等特点获得用户的青睐。但是无线网卡芯片供应商只向用户提供套片解决方案,这对研究无线局域网mac层协议的高校和科研单位来说极为不便。通常的作法是:首先开发出自己的mac层协议软件,然后使用信道仿真器来仿真此mac层协议。这种作法的缺点是不能在信道上实测。本文针对该问题,基于intersil公司的prism2系列无线局域网套片的解决方案,去掉其中的mac层控制芯片,使用tms320vc5402和pem7128ae来完成对套片其它芯片的控制和数据交换,实现自主的mac层协议无线网卡。
图1
1 无线网卡解决方案
intersil公司的prism2系列无线网卡套片及其主要功能如表1所列。
使用该套片,根据intersil公司提供的无线局域网解决方案,就可以方便地构建ieee802.11b的无线网卡。
参考intersil公司的提供的无线局域网解决方案,笔者提出的拥有自主mac层协议的无线网卡解决方案如图1所示。
在该方案中,去掉了prism2系列套片中的mac层控制芯片hfa3841,用tms320vc5402和epm7128ae来实现对prism2系列其它芯片的控制和数据交换,构建拥有自主mac层协议的无线网卡。
图2
2 无线网卡的接口分析
根据intersil公司提供的套片数据手册及其各芯片的接口关系可知,要构建自主mac层协议的无线网卡,替代芯片组tms320vc5402和epm7128ae须有以下接口能力。
①具有足够的通用i/o口,以便与套片的各个控制引脚相连接,对其进行置位或清位操作,从而使无线网卡处于正确的收发状态。
②具有spi接口,能够对hfa3683、hfa3783和hfa3861中各个寄存器进行初始化。同时需要注意的是,对hfa3861来说应该是16位的数据传输格式,先传数据高位;对hfa3783和hfa3683来说,应该是20位的数据传输格式,先传输数据高位。
③具有连续数据传输的能力,能够与hfa3861进行连续的数据交换。需要注意的是数据接收和发送的时钟都需要由hfa3861来提供。
根据tms320vc5402的芯片资料可知,tms320vc5402具有2个支持多种接口标准且能高速双向数据传输的多通常缓冲同步串口(mcbsp)。将dma与mcbsp相结合,在不占用cpu资源的情况下,可以构造自动收发的串行数据传输通道。同时epm7128ae提供了足够的门阵列单元和i/o引脚,可以完成对无线卡控制引脚的置位或清位操作,同时还可以在epm7128ae里面设计完成802.11b的部分功能(如退避、定时、设置na位、crc32校验等)。
由以上分析可知,使用tms320vc5402和epm7128ae来替代hfa3841完成对套片的设置、控制和数据交换,以实现拥有自主mac层协议的无线网卡是可行的。替代芯片组与无线网卡套片的接口关系如图2所示。其中,tms320vc5402的串口0负责对hfa3861、hfa3783和hfa3683的寄存器进行初始化;串口1负责与hfa3861进行数据交换;epm7128ae的i/o引脚与套片的控制引脚相连,进行相应的控制操作。
3 无线网卡的接口实现
根据上述分析可知,利用tms320vc5402和epm7128ae完成对无线网卡的控制主要分以下三个步骤。
①对于无线网卡的各个寄存器的初始化。由于dsp对hfa3861、hfa3783和hfa3683寄存器初始化时的数据传输格式不同,而在本接口设计中又使用了同一个串口,所以在对寄存器进行设置前要将dsp的串口0初始化为正确的工作模式。另外,若寄存器的初始化值错误或寄存器的初始化顺序不对,则初始化工作不能正常进行,各个芯片也不能处于正确的工作状态。由于这里涉及的寄存器过多,在这里就不一一多述,请参考数据手册的说明。
图4
②对于无线网卡的控制引脚设置。套片控制引脚的配置,主要由cpld内的“控制引脚配置模块”来完成。现对网卡发数据过程作一示例,此时要求各个相关的控制引脚状态如图3所示。当dsp要发送数据时,首先发送一个特殊的配置数据ctrl_snd,在cpld内完成译码工作,然后启动“发送数据控制引脚配置模块”,由该模块来完成各控制引脚状态的变化,进而完成数据的发送。数据发送完毕,应第一时钟内将各控制引脚置为接收态。
③无线网卡的数据收发。无线网卡的基带数据收发波动如图4所示,它采用的是数据连续传送模式,这就要求dsp的mcbsp和dma结合起来,完成数据的连续传输。为了和通用的无线网卡兼容,需要将串口设置为8位的数据传输模式,先传数据的高位。需要注意的一点是,无论数据收发,都需要由hfa3861来提供时钟,而hfa3861本身并不提供帧同步信号,所以说帧同步需要在cpld内由hfa3861提供的时钟来产生。但是并不能简单地由8时钟产生一帧同步的方法来产生,否则数据的错位比较严重。正确的作法是充分利用tx_rdy和rx_rdy这两个信号,由它们控制产生合适的帧同步信号。
4 无线网卡的操作
至此,按照图5的顺序来操作无线网卡,就可以正确的进行数据收发。
5 结论
通过对prism2系列无线网卡套片的接口时序分析,用dsp和cpld来替换其中的mac层控制芯片,构建拥有自主mac层协议的无线网卡,实践证明是可行的。我们在863重大项目“无线移动自纺织互联网及其实验系统的研制”中得以成功应用,实现了增强型802.11b mac协议。