摘 要:研究基于802.11B的无线网卡在嵌入式数字信号处理器(DSP)OMAP5912上的实现。整个系统以DSP为,采用T1公司的TNETll00B无线网卡模块实现802.11B通信协议,进行无线信号收发。系统制造简单,集成度高,适用于多种无线局域网络设备。
关键词:无线网卡 802.1lB 嵌入式 OMAP5912
引 言
无线局域网是指以无线信道作为传输媒介的计算机局域网;无线网络是有线联网方式的重要补充和延伸,并逐渐成为计算机网络中一个至关重要的组成部分,广泛应用于需要可移动数据处理或无法进行物理传输介质布线的领域。随着IEEE802.11无线网络标准的制定与发展,使无线网络技术更加成熟与完善;能够给用户提供更加安全可靠、移动、高效、远距离的网络互联方案,并已成功应用于众多行业。无线网络的强大加密技术和极低的辐射以及可以自由架设的2.4 GHz自由频段,可使无线网络得到进一步发展。下面介绍一种在嵌入式数字信号处理器(DSP)OMAP5912上实现无线网络802.11B的方法。DSP对PC机数据或者直接采样语音信号,通过无线网络传输,实现数据通信。由于系统以DSP为,使得无线网络的数字信号处理更加方便,可以较方便地实现数据加密、信号压缩等较复杂的算法。
1 无线网卡模块TNETll00B
无线信号的收发采用无线网卡模块TNETll00B实现。TNETll00B是TI公司近推出的遵循802.11B通信标准的无线信号收发芯片。
TNETll00B的内部功能如图1所示。TNETll00B主要由射频信号处理单元、基带信号处理单元、中间接入控制单元以及嵌入式CPU、RAM、主机硬件接口、时钟管理模块等多个部分组成。
射频信号处理单元实现无线信号的接收和发送。集成有1个8位22MHz的模数转换器AD和1个10位44MHz的数模转换器DA。AD/DA都具有自动增益控制功能,DA还具有功率控制功能。射频信号处理单元还提供可调的参考时钟,为AD的全速、半速时钟或者其1/4分频时钟,分别对应为22 MHz、11MHz和5.5 MHz。
基带信号处理单元实现基带信号的调制解调,支持IEEE Std的802.11B协议。基带单元的数据速率可以和射频单元的时钟一致,也可以设置成较低的1 Mb/s或者2 Mb/s。较低速率下的基带信号为了和射频单元进行通信,发送数据时采用插值滤波,使得低速率信号变成高速率信号;同样,接收数据时采用抽取滤波,使得高速率信号变成低速率信号。
中间接人控制单元完成射频单元和基带单元与处理器的逻辑控制,处理器、RAM、时钟以及与外设硬件接口的控制。处理器为44 MHz主频的ARM7TDMI嵌入式处理器,RAM容量为64 KB,可以动态分配接收和发送数据所占用的块。接人单元响应硬件产生的应答ACK、请求发送RTS、清除发送CTS等Modem命令。接人单元还具有对接收数据包的解析功能,具有64、128或者256位的加密/解码密钥注入功能。
主机硬件接口支持33 MHz的PCl2.2协议或者USBl.1接口,数据通信可以使用DMA后台方式传输。为了支持USB接口,TNETll00B专门配有1个48 MHz的时钟接口。此外,为了嵌入式CPU保持实时时钟,TNETll00B配有sleep时钟接口。该时钟信号需要配置电池。这样系统在断电情况下,依靠电池仍然保持准确的时钟信号。实时时钟在电池情况下功耗极低,功耗为12μW。
2系统硬件结构
整个系统由OMAP5912、TNET1100B、音频AD/DA、人机接口、PC机以及Flash组成,硬件连接如图2所示。图2中,13SP是控制单元;音频AD用于将采集的模拟语音信号转变成数字语音信号;音频DA将数字语音信号转换成模拟语音信号。FLASH_1保存DSP所需要的程序,供DSP上电调用;FLASH_2保存TNETll00B所需要的程序,供TNETll00B上电调用。DSP和PC机之间使用HPI口,使用PCI桥芯片,实现和PC机的连接。
PC机发送的数据包可以直接在PC上完成数据的压缩、交织以及编码等数据处理,OMAP5912负责传送数据。对OMAP5912直接采样的语音信号,基于WiFi的语音传输,(VoWiFi)要求数字化的语音信号必须以数据包的形式通过无线网络传输,为此OMAP5912必须实现数据组包处理算法。此外,无线网络要求语音数据必须在规定的时间间隔内传送出去,一般长的时间间隔为20ms。这样语音信号到目的地后,目的网卡才有足够的时间进行拆包并终形成语音数据实时播放出去。无线网络的结构必须保证数据包的丢失、延迟以及误码在规定的门限以下。在802.ll的升级协议中,还要求了新的服务质量协议、允许控制协议、快速漫游协议、智能安全协议以及无线资源管理协议等各种新的算法。这些均由OMAP5912中的嵌入式ARM处理器完成。
3 TNETll00B和OMAP5912的硬件设计
TNETll00B和OMAP5912的连接是系统硬件连接的关键,具体连接如图3所示。使用OMAP5912的EMIFS接口连接TNETll00B。EMIFS是OMAP5912的慢速外部存储器接口(External Memory Interface SlOW),可以方便地和外部Flash、异步SRAM等设备连接。系统的TNETll00B模块遵循802.llB协议,其数据传输速率为11 Mbps。OMAP5912的EMIFS接口满足其速度要求。
在TNETll00B和OMAP5912的EMIFS连接图中,TNETll00B作为OMAP5912的外部16位从异步设备。由于OMAP5912的内部数据总线宽度为32位,而TNETll00B的数据总线宽度为16位,为此,将每32位数据分成2个16位数据传输,使用BE0和BEl引脚区分当前传输的是高16位还是低16位。通信时,使用第20位地址线ADD20和片选信号CSl参与字节信号的译码,具体的译码电路如图4所示。译码电路直接使用逻辑器件实现,也可以使用CPLD实现。此外,当TNETllOOB有数据上传时,使用CINT引脚发送中断信号到OMAP5912,OMAP5912根据当前自身的工作情况处理和TNETll00B的通信;OMAP5912也可以使用通用I/O引脚控制TNETll00B的复位信号,当连续多次未收到TNETll00B的响应信号时,OMAP5912可以软件复位TNETll00B,从而避免通信的互锁现象。此外,OMAP5912使用通用I/O引脚控制TNETll00B的CPD(Card POWer Down)信号,可以在无数据通信时.控制TNETll00B进入低功耗状态。
4 TNETllDOB和OMAP5912的软件设计
OMAP5912和TNETll00B的数据通信流程如图5所示。系统初始化后,OMAP5912判断当前是否有数据读写。数据的读是通过判断是否有挂起的硬件中断;数据写是通过判断上层程序是否有数据发的软件中断。无数据读写情况下,OMAP5912将定期发送测试命令到TNET1100B,以便确定TNETll00B在正常工作;也可以根据需要,将TNET1100B设置到低功耗状态。如果读取数据的校验错误较多,表明当前无线通信的信道噪声很大或者TNETll00B的总线被干扰出现紊乱。OMAP5912将软件复位TNETll00B模块,使得TNETll00B重新设置总线,避免在低信噪比情况下多次重复发送同样的数据,减小无效通信时间。
5总 结
使用OMAP5910的EMIFS接口连接无线网卡接口TNETll00B,可实现802.llB协议的无线数据收发。使用TNETll00B模块实现射频信号处理、基带信号处理以及中间接入控制,可使系统结构简单、实现方便。由于采用具有DSP核的处理器,系统还可以方便地应用各种数据信号处理算法。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。