|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
<strong>1 引言</strong>
USB(universal serial bus,通用串行总线)作为一个计算机与外设之间的接口方案,因其具有使用方便、传输速度快、端口易扩展等特点,已经逐步扩展应用到了消费电子、移动通信、家庭网络、工业控制以及仪器仪表等诸多领域。键盘、鼠标、数码相机、音箱、闪存盘无不通过USB与电脑相连,目前每个月有1亿多的USB接口芯片出货量。
现有的USB接口通常都是有线的,这给使用带来一定的不便。随着近距离无线通信技术的发展,无线USB(WirelessUSB。简称WUSB)技术得到了较大发展,例如,基于UWB(ultra wide band)的WUSB带宽可达480Mbps。
WUSB是2004英特尔春季技术峰会提出的一个全新无线传输标准,目的是采用无线的方式收发信号,消除计算机和外设之间的线缆,但计算机和外设这两端依然以USB的方式工作。在该标准中,WUSB可认为是应用层的技术,在应用层和物理层之间。加入了汇聚层(类似于链路层)WiMedia,提供了一个公共无线平台。应用层除WUSB外,还可以是无线1394,或叠加各种软件,以便满足三种网络客户的不同需求,实现3C网的融合。因此,WUSB具有广泛应用前途。
本文提出了一种基于NRF24LU1芯片无线USB模块的解决方案。
<strong>2 无线USB模块结构和原理</strong>
无线USB模块结构如图1所示,它包括USB接口、USB控制器、MCU、射频模块、射频匹配电路及天线六个部分组成。其中,USB控制器主要是负责把MCU发来的数据进行USB协议封装和USB数据进行控制,及对USB数据解析后转发到MCU;MCU负责对射频芯片和USB控制器的控制,实习模块总功能的实现;射频模块和射频匹配电路主要负责无线数据的发送和采集。
<ignore_js_op>
2010-4-22 13:08:17 上传
<strong>下载附件</strong> (3.58 KB)
</ignore_js_op>
图1 无线USB结构图
对于无线USB模块的实现,可以有以下方案:(1)三芯片实现。分别利用USB控制器芯片、单片机和射频芯片实现,如用CP2 102+MCu+NRF905;(2)两芯片实现。利用已经集成了USB控制器的单片机芯片和射频芯片实现,如利用MSP430+CC2400;或用USB控制器芯片和射频单片机芯片实现,如用CP2102+NRF24E1;(3)单芯片实现。用集成好的芯片实现,如NORDIC公司的NRF24LU1。
三个方案中,方案(1)(2)的成本比较高,而且模块体积会比较大,方案(3)中,由于芯片是专门针对于无线USB模块设计的,只要用单芯片就可以组成无线USB模块.该方案的无线USB模块成本只要30块左右,同时体积可以达到10mmx 20mm,能很方便集成到现有的USB设备中或者直接外接在现有的USB设备外。所以本文以方案(3)作为讨论。
<strong>3 NRF24LU1 内部结构和工作原理</strong>
NRF24LU1是NORDIC公司在07年推出的一款专门针对于无线USB实现的芯片,其内部控制器采用MCS 51指令设计,但其减少了指令周期,达到传统8051的12陪;16k字节的flash和2k片上SRAM;接口包括通用10口、主从SPI接口、UART、和USB口,其中USB控制器是全速USB2.0控制器;2.4GHz的射频传输模块,传输速度可以为1MHz或2MHz,对于其作为无线USB应用有很好的传输速度保证,同时其包括自动回复和重传功能。
NRF24LU1里面集成了电压转换模块,可以直接由USB供电,不用再加电压转换芯片。无线USB模块硬件结构主要有一下几部分组成:匹配电路、USB接口和时钟输入接口电路。对于NRF24LU1芯片。其天线负载阻抗为,所以要通过天线匹配网络,使特征阻抗匹配成,使其能和通用天线匹配,电路如图2。
<ignore_js_op>
2010-4-22 13:08:17 上传
<strong>下载附件</strong> (20.69 KB)
</ignore_js_op>
图2 无线模块电路图
由于模块传输速率为2.4Gbit/s,在其布线和做板的时候要注意阻抗等问题。滤波电容尽可能接近芯片电源脚,同时对于射频电路,元件放置应该紧密放置,以减少线电感的增加,同时为了接地良好,上下板层应该敷铜接地,并利用适当多的过孔连接两个底层。建议板层为两层,只有单层放元件,敷铜接地,其中板厚为1.6mm,材料FR-4,介质常数4.2。
4 系统软件设计
无线USB模块主要包括两方面,一是USB数据采集;二是无线传输。在读USB数据中。USB数据由USB控制器处理后,保存到RAM里面,再由MCU通过SPI总线发送到无线传输缓冲器,冉发送出去;而对于发送USB数据,过程相反。
NRF24LU1对于输入输出数据的USB独立终端允许5种不同的应用,如鼠标、键盘、移动控制,游戏和玩具,同时其总支持14个端点和4种传输方式,端点0支持控制传输,端点1到5(输入输出)支持批量传输和中断传输,端点8(输入输出)支持同步传输。
控制传输用于在外设初次连接时对器件进行配置;对外设的状态进行实时检测;对控制命令的传送等;也可以在器件配置完成后被客户软件用于其它目的。其包括两或三个阶段:建立阶段、数据阶段(可选)和状态阶段。在写操作时,终端收到建立申请后,USB控制器设置握手标志和建立申请中断请求标志,如果数据接收正确,USB控制器则设置数据接收中断请求标志。建立后,终端收到输出请求,则开始传输数据,传输完后设置输出终端请求标志。状态阶段在最后的操作序列中。对于读操作,过程跟写操作基本相同,它们只有在数据传输阶段中有些不同。在数据阶段,当确认host数据包后,设置输入0端点中断请求和开始把数据放到缓冲器里面,在缓冲数据的时候,设置输入0端点缓冲器忙标志,缓冲完后清除该标志。
批量传送用于进行批量的、非实时的数据传输;中断传输模式,对于那些小批量的、点式、非连续的数据传输应用的场合,如用于人机交互的鼠标、键盘、游戏杆等,中断传输的方式是最适合的。他们包括两或三个阶段:请求包、数据包和握手包(可选)。在批蕈输入过程中,host发送一个IN数据请求去接收批量数据。如果输入忙标志有效,USB控制器回复一个数据包,如果host收到有效数据,则回复一个ACK握手。当终端从host收到ACK握手后,USB控制器设置中端请求标志和清除忙标志。MCU服务终端请求,当数据是有效,则数据开始进入数据缓冲器中,并设置忙标志,并开始重复上面过程。在批量输出过程中,当host想输出批量数据,其发送OUT请求数据包。ACK握手信号返回到host,当USB控制器收到数据的时候,设置输出中断标志,并开始输出数据,并设置输出忙标志。
同步传输适用于那屿要求资料连续地、实时地、以固定的数据传输率产生、传送并消耗的场合,如数字录像机等。其不用握手确定.同时,其数据包中的DATA0和DATA1作为PID,用于标识不同的数据包。USB控制器在每次传输中都自动捆绑PID。
系统流程图如下图3:
<ignore_js_op>
2010-4-22 13:08:17 上传
<strong>下载附件</strong> (6.71 KB)
</ignore_js_op>
图3 系统流程图
其中,USB初始化包括一下步骤:配置USB数据包结构;初始化USB描述,初始化成你要实现的USB类型,可以设置5种不同的类型;选择语言;设置状态寄存器;设置ACK要求;设置USB中断;设置USB RAM;选择USB应用的终端类型。
如果USB类型选择了键盘或者鼠标,要初始化无线桌面协议,如选择键盘协议,则用wdp_device_init(WDP_KEYBOARD)函数把无线桌面协议初始成键盘模式。
无线模块初始化包括:MCU和无线模块SPI接口有效;数据传输信道选择;设置数据传输速度;FIFO大小设置;发送和接收功率设置;自动回复确认和重发次数设定等。
当USB数据到来的时候,模块首先读取端点状态并选择终端输入传输端点.判断缓冲器数据是否已经满,如果未满,则接收并知道缓冲器满并置缓冲器忙,并把缓冲器数据传送到无线FIFO并发送到接收模块,当数据发送完并接收到确定后,USB控制器把忙标志清楚,在接收USB数据。其工作流程图如下图4。
<ignore_js_op>
2010-4-22 13:08:17 上传
<strong>下载附件</strong> (7.46 KB)
</ignore_js_op>
图4 USB数据输入处理流程图
当模块接收到无线数据的时候,MCU通过SPI接口把FIFO的数据放到USB发送缓冲器罩,设置USB端点状态,并处理与控制输出相关的USB标准请求和USB HID设备类请求,发送USB数据,USB数据发送完毕后,通过无线发送确定信号,并再次接收无线数据,如果之前数据还没有发送完的,不用再进行USB请求等设置,以减少处理时间。
由于USB协议的交互时间有严格的要求,所以无线数据和数据处理中,延时不能太长;USB 2.0协议。其支持三种设备:低速、全速、高速,而对于NRF24LU1芯片.由于其无线传输速限制,所以无线USB模块只能工作在低速和全速。
<strong>5 结语</strong>
USB接口是计算机的基本配置,是最常用的计算机和外设的通信接口。WUSB是近距离无线通信的重要应用.可以消除计算机和外设的连线,给使用带来很大的方便,因此WUSB应用模块将会用很大的发展空间。本文基于NORDIC公司新推出的NRF24LU1芯片,更好的解决了USB无线应用,其减少了现有无线USB的尺寸和成本,同时提高了无线USB性能和安全性,有一定应用前景。
本文作者创新点:本文基于NRF24LU1单芯片实现无线USB模块,减少了多芯片模块的成本和体积,更利于无线USB模块的推广。
作者:丁宝国,陆以勤 来源:《微计算机信息》(嵌入式与SOC)2009年第7-2期 |
|