新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > n R F24 LU 1+的U S B无线网络系统设计

n R F24 LU 1+的U S B无线网络系统设计

作者:时间:2009-10-15来源:网络收藏
引 言
随着个人电脑的发展、USB(Universal Seral Bus)技术日趋成熟,USB设备也以惊人的速度发展。日常生活里的数码相机、打印机、扫描仪,医院里的心电图机、床边监护系统,以及图书馆、超市和物流仓库的有线条码扫描仪等设备大都使用了USB接口的通信。但是,由于USB的电缆长度受限(一般规定低速电缆长度不超过3 m,全速电缆长度不超过5 m),为使用带来诸多不便。为了实现数据的高速传输,弥补其电缆长度受限的不足,本文给出了基于R1+的USB接口设备的网络化系统方案。

1 系统
系统总体框图如图1所示。
系统工作原理:首先,将收发主机的USB插头插入PC机的USB插座,实现PC机与收发主机的硬件连接;同理,实现无线收发从机与USB设备i(i=1,…,n)的硬件连接。无线收发主/从机可以根据现实情况采取自供电,或从与其所连的设备获取供电。接着,PC机实现对无线收发主机的USB枚举过程;同时,无线收发从机的USB主控单元实现对USB设备的USB枚举过程。枚举结束后,建立无线网络。无线收发主机和每个无线收发从机都设定一个唯一的地址,无线收发主机通过查询方式与无线收发从机进行通信。无线网络建立后,通过无线收发主/从机就可以进行USB数据流的无线通信了。

本文引用地址:http://www.eepw.com.cn/article/157816.htm

2 硬件电路
2.1 nR1+的芯片结构及特点
nR1+是Nordic半导体公司推出的一款将高性能的射频和单片USBdongle的功能结合起来的无线收发芯片。nRF24LU1+内含1个增强型的8051MCU内核、无线收发模块、符合全速USB 2.0标准的器件控制器、2 KB的片内SRAM、16 KB或32 KB的片内Flash存储器、6个通用的I/O口以及电压调整器。nRF24LU1+显著地增强了抗宽带干扰和互调失真(IMD)性能。nRF24LU1+芯片需要的外部元件只是低成本的16 MHz晶振、去耦电路、匹配网络和天线。VBUS(USB工作电源)工作电压范围4.0~5.25 V。nRF24LU1+是单片结构,外形尺寸很小(5 mm×5 mm)。
无线工作于全球开放的2.400~2.483 5 GHz频段,的通信波特率可以通过软件设置工作于2 50 kbps、1 Mbps、2 Mbps;使用Enhanced ShockedBust技术可以实现数据包的自动打包/解包和传输处理(应答、重传);使用MultiCeiver技术可同时支持6个无线装置,频段、输出能量和其他射频参数可通过射频寄存器方便地进行编程调节;具有点对多点通信,并且采用AES加密技术实现更安全的数据传输;使用超低功耗(ULP)无线技术,0 dBm输出功率时典型峰值电流为11.1 mA;集成了1个稳压器,芯片可以直接由USB总线供电。
2.2 ISP1161的芯片结构及特点
ISP1161是Philips公司的一款符合USB2.0总线协议的USB接口芯片。它既带主机控制器(HC)又带设备控制器(DC),支持全速/低速传输,16位数据总线,支持3.3 V/5 V双供电方式。ISP1161为USB主机控制器时,提供2个USB设备连接的向下端口。
2.3 带USB接口的无线收发主机
无线收发主机电路如图2所示。电路由nRF24LU1+、16 MHz的晶振,以及其他元器件等构成。nRF24LU1+中的MCU负责控制其片内的USB模块和无线模块,实现USB数据流到无线数据流的转换。

2.4 带USB接口的无线收发从机
无线收发从机与外部USB设备的连接电路如图3所示。无线收发从机电路由Philips公司的ARM7处理器LPC2103和USB嵌入式主控制器ISP1161,以及nRF24LU1+和一些外围器件构成。LPC2103和ISP1161构成USB的主机控制单元(HCU)。ISP1161作为主机控制器时有2个下行端口,分别连接nRF24LU1+的USB口和外部USB设备。nRF24LU1+负责无线数据流到USB数据流的传输。HCU负责来自nRP24LU1+的USB数据和外部LISB设备数据的传输。

3 USB无线的软件实现
3.1 nRF24LU1+的USB模块固件程序设计
USB设备的软件开发包括PC机端的USB设备驱动程序和界面应用程序,以及USB芯片端的芯片固件程序的开发。芯片固件程序是指运行在USB芯片内部的程序代码,它负责USB协议的处理和USB设备与主机的数据传输。芯片固件程序的开发是重点,也是难点。
3.1.1 USB设备的枚举过程
从终端用户看,USB系统就是外设通过一根USB电缆和PC机连接起来。USB在外设和PC机之间提供通信服务,通常把外设称为“USB设备”,把其所连接的PC机称为“USB主机”。USB使用总线枚举操作管理USB设备的连接和断开。以USB设备的连接为例说明枚举过程。步骤如下:
①USB设备连接在主机或集线器的下行端口上,USB设备上电。
②USB设备的复位。主机应提供至少10 ms的复位恢复时间。复位完成后,USB设备进入缺省状态,可使用缺省设备地址对管道0的控制事务作出响应。
③主机向USB设备发出Get Descriptor (Device)请求,以取得其缺省控制管道所支持的最大数据包长度。
④主机向USB设备发出SetAddress请求,为其分配一个唯一的设备地址。
⑤主机使用新地址向USB设备发出GetDescriptor(Configuration)请求,并读取其全部配置信息。该过程需要花费几ms。
⑥主机根据设备的配置信息(如供应商、产品ID等),为其选择一个合适的设备驱动程序。通常需要由开发人员自己编写,有时也可以使用设备类或供应商提供的通用驱动程序。
⑦加载了USB设备驱动程序后,主机发出SetCon-figuration请求为该设备选择一个合适的配置。配置成功后,枚举结束,USB设备可以和主机进行数据传输了。
3.1.2 USB模块固件程序设计
nRF24LU1+的USB模块由2个SFR寄存器和XDATA寄存器组来控制。USB固件程序由2部分组成:USB模块的初始化程序和中断服务程序。
(1)USB模块的初始化程序
关闭USB中断,调用端点初始化函数USB_endpoint_init(void)设置USB各个端点的传输方式、缓存区大小、中断事件产生条件,调用USB服务函数USB_setvice(void)为中断服务程序中调用做准备;打开USB中断,调用函数USB_device_connect(void)使得内部的1.5 kΩ上拉电阻连到D+线上,实现全速USB设备的配置。这样,就可以响应主机的枚举过程了。
(2)USB模块的中断服务程序
USB控制器提供2个中断信号给nRF24LU1+,分别为唤醒中断请求USBWU信号和USB中断请求USBIRU信号。USB中断请求USBIRQ为nRF24Lu1+的一个中断,而USB中断请求下又有许多中断,包括:12个块端点中断、帧开始中断(sofir)、挂起中断(suspir)、USB复位中断(uresir)、建立令牌中断(sutokir)、建立数据有效中断(sudavir)。如果多个USB中断同时发生,USB控制器将按优先级次序响应。激活的中断在中断向量寄存器ivec中得到,例如sofir中断时,ivec寄存器的内容为0x04。USB中断请求USBIRQ的部分程序代码如下:


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭