0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于无线收发芯片和USB接口芯片实现无线网络化系统的设计

电子设计 来源:单片机与嵌入式系统应用 作者:李建明,彭建学,于 2021-05-05 11:44 次阅读

作者:李建明;彭建学;于涛 来源:单片机嵌入式系统应用

引言

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

1 系统设计

系统总体框图如图1所示。

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

2 硬件电路设计

2.1 nRF24LU1+的芯片结构及特点

nRF24LU1+ 是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的部分程序代码如下:

3.2 nRF24LU1+的无线模块程序设计

nRF24LU1+使用具有内嵌的协议引擎(EnhancedShockBurst)2.4 GHz GFSK的RF收发器。EnhancedShockBurst具有自动包处理的特性,这使得实现可靠的双向数据链接变得容易。数据包的传输是在两个收发器之间进行的,其中一个作为主接收器(PRX),另一个作为主发送器(PTX)。每个数据包的传输都是由PTX发送数据包开始,而以PTX接收到PRX的应答包结束。在自动包传输处理工作时,nRF24LU1+提供了自动应答和重发数据的硬件机制,重发数据包的最大次数和第一次传输到下一次重传之间的延时均可编程设置。

nRF24LU1+发送器在Enhanced ShockBurst情况下的工作流程如图4所示。

通过把RECON寄存器的rfce位置高使发送器进入PTX模式。如果在TX的FIFO缓存区有数据包,则无线收发器进入TX模式并发送这个数据包。如果自动重新传输使能,状态机检查NO_ACK标志位是否被置位。如果被置位,RF收发器进入RX模式准备接收应答包。如果收到的应答包为空,则只有 TX_DS(传输数据发出)中断请求发生。如果应答包中包含载荷数据,则在收发器返回standby-I模式之前,TX_DS和RX_DR(接收数据准备)中断请求同时发生。如果延时时间到了而收发器还没有收到应答包,则收发器返回到standby-II模式。在自动重新传输时间没到之前,一直保持在 standby-II模式。如果重传次数没有达到设定值,则RF收发器进入TX模式并再一次重传最后一次的数据包;否则,会发生最大重传MAX_RT中断请求,并返回到standby-I模式。如果RECON寄存器的rfce位为高且TX FIFO(先入先出数据缓存区)为空,则RF收发器进入standby-I模式。

由于nRF24LU1+的无线收发模块有强大数据硬件收发机制,编写程序比较简单,只需在初始化程序中对相关寄存器进行设置就可进入数据的收发。发送数据时,把待发送的数据放入发送FIFO后,收发器会按照设置进行发送,发送的情况通过中断来通知MCU,MCU根据具体的中断请求执行相应的中断服务程序。接收数据时,收发器会不断地搜寻有效地址,当找到一个有效地址时,会处理剩下的数据包并通过CRC验证数据包。如果这个包是有效的,包内的载荷数据将被放入RX FIFO中。

数据包的格式如下:

无线通信程序由两部分组成:无线通信模块的初始化程序和中断服务程序。

初始化程序对工作模式、传输速率、无线通信的工作波段频率、RF输出功率、地址寄存器、数据包的有效数据长度、CRC的校验长度和RF中断寄存器等进行相应的设置。无线通信模块对nRF24LU1+只占一个中断源RFIRQ,具体是何种中断可通过查询STATUS寄存器中的TX_DS、RX_DR、 MAX_RT位来获得。中断服务程序分为发送中断服务程序、接收中断服务程序和最大重传中断服务程序。

结语

本文提出一种运用无线收发芯片nRF24LU1+组建的无线网络系统。此网络系统充分利用USB和无线收发模块各自的优点实现了快速、便捷的数据传输,具有集成度高、体积小、保密性强、功耗低的特点。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50117

    浏览量

    420321
  • 接口
    +关注

    关注

    33

    文章

    8422

    浏览量

    150663
  • usb
    usb
    +关注

    关注

    60

    文章

    7862

    浏览量

    263535
收藏 人收藏

    评论

    相关推荐

    城市安防系统无线网络化实现方案

    本文提出了一种基于GSM和Zigbee技术的无线安防系统,该系统的特点在于利用GSM和Zigbee无线网络优势,实现了安防
    发表于 05-16 14:53 948次阅读
    城市安防<b class='flag-5'>系统</b><b class='flag-5'>无线网络化</b>的<b class='flag-5'>实现</b>方案

    单片机和工业无线网络

    如同今天的许多通用单片机(MCU)已经的把USB、CAN和以太网作为标准外调集成在芯片内部一样,越来越多的无线网络芯片无线网络解决方案也在
    发表于 03-04 13:21

    基于IEEE1451.2和蓝牙协议的无线网络化传感器

    设计的基于IEEE1451.2和蓝牙协议的无线网络化传感器,采用蓝牙模块替代TII实现无线连接,类似于实现了一个无线的STIM和
    发表于 04-16 15:03

    无线网络控制模块

    想做一个无线网络控制的遥控汽车,基本功能是:1、小汽车上安装无线控制模块,通过无线网络和家中的无线路由连接,无线控制模块分配有自己的IP地址
    发表于 08-25 11:42

    【7gyy】台式电脑使用无线网络的技巧

    实现台式电脑能无线上网,首先光靠台式电脑是不行的,因为需要实现XP系统下载的无线上网目前主要有2种方法,使用手机的3G
    发表于 03-10 08:50

    无线网络

    技术共同发展的结晶。其中,无线网桥是无线网络的一个重要技术,通过网桥可以扩充现有网络系统,可以将方圆几十公里的局域网完全无缝地连接在一起,组成一个计算机城域网系统。室外网桥通常有以下几
    发表于 07-05 11:42

    基于蓝牙技术的传感器无线网络化应用方案

    一些特殊情况下,有线线缆连接显然会造成很多不便,不能够满足现实需要。随着新兴无线技术(如蓝牙技术)的发展以及其芯片价格的降低,无线方式在很多场合都得到应用以取代原有的有线接口方式。
    发表于 11-13 10:35

    蓝牙无线网络化传感器在病人远程监护中有什么用?

    下,有线线缆连接显然会造成很多不便,不能够满足现实需要。随着新兴无线技术(如蓝牙技术)的发展以及其芯片价格的降低,无线方式在很多场合都得到应用以取代原有的有线接口方式。
    发表于 03-12 06:10

    蓝牙在传感器无线网络化有什么应用?

    下,有线线缆连接显然会造成很多不便,不能够满足现实需要。随着新兴无线技术(如蓝牙技术)的发展以及其芯片价格的降低,无线方式在很多场合都得到应用以取代原有的有线接口方式。
    发表于 03-13 07:05

    怎么实现CDMA无线网络防雷接地的设计?

    雷击CDMA无线网络的主要途径是什么?怎么实现CDMA无线网络防直接雷的接地设计?怎么实现CDMA无线网络防感应雷的接地设计?防雷设计中采取
    发表于 05-25 06:27

    怎么实现基于ZigBee无线网络的电源电压监控系统设计?

    针对当前传感器网络普遍采用的有线连接方式的布线不便、灵活性不高的缺点,提出了一种基于ZigBee无线网络的实时监控系统实现方法。介绍了利用CC2430
    发表于 05-25 06:57

    请问怎样去设计一种无线网络化传感器?

    基于蓝牙协议的无线网络化传感器该如何去设计?
    发表于 05-25 06:15

    WCDMA无线网络工程_部分1

    本书主要介绍WCDMA无线网络工程方面的相关技术问题,内容包括电波传播基础、WCDMA无线网络接口概述、WCDMA无线网络结构和性能增强、WCDMA
    发表于 03-31 10:39 5次下载

    无线网络接口收发器的设计与实现方案

    随着无线通信技术的不断成熟和应用,各种各样的智能网络化无线通信产品不断涌现,无线网络产品也得到飞速发展。
    的头像 发表于 05-23 11:48 2546次阅读
    <b class='flag-5'>无线网络</b><b class='flag-5'>接口</b>卡<b class='flag-5'>收发</b>器的设计与<b class='flag-5'>实现</b>方案

    基于S3C2410处理器实现3G无线网卡接入无线网络功能的设计

    本研究的目的是实现一个具有3G无线网络接入功能的嵌入式系统系统的硬件平台是基于ARM系列的S3C2410微处理器。文章简要介绍了该系统的体
    的头像 发表于 06-24 16:48 2515次阅读
    基于S3C2410处理器<b class='flag-5'>实现</b>3G<b class='flag-5'>无线网</b>卡接入<b class='flag-5'>无线网络</b>功能的设计