基于nRF24L01的无线USB控制系统

基于nRF24L01的无线USB控制系统,第1张

  引言

  当今,无线技术飞速发展,应用的领域越来越广,与有线技术相比,无线技术具有方便、灵活、减少布线施工难度、降低成本等优点。本文阐述了无线USB控制系统的组成、功能和设计方法,系统由PC、无线USB控制器和多个终端节点组成,本文分别给出了实现无线USB控制器和终端节点的一种方案:无线USB控制器的方案是以单片机STC89C58RD+为微控制器,基于Nordic公司的2.4GHz的无线收发芯片nRF24L01,结合Philips公司的PDISUBD120D USB控制芯片来实现的;终端节点的方案是以STC89C58RD+为微控制器,基于nRF24L01无线收发芯片和根据需求的实际应用电路来实现的。

  1系统组成及其实现方案

  1.1系统描述

  如图1,无线USB控制系统的组成包括PC、无线USB控制器和终端节点(n个)。PC和无线USB控制器之间通过USB接口进行通信,在PC端,用VC++开发应用程序实现对无线USB控制器进行控制,无线USB控制器和各个终端节点通过无线收发芯片nRF24L01实现无线通信

基于nRF24L01的无线USB控制系统,基于nRF24L01的无线USB控制系统,第2张

  1.2系统实现方案

  1.2.1无线USB控制器实现方案

  无线USB控制器实现方案如图2所示,主要包括微控制器STC89C58RD+、USB控制芯片PDIUSBD12和无线模块nRF24L01 Module。STC89C58RD+内含32KB程序存储器、1280B RAM和16KB E2PROM,E2PROM可用来存储终端节点的地址及需要掉电存储的其他数据,32KB程序存储器和1280B RAM可以满足绝大多数应用需求。USB控制芯片PDIUSBD12是一个性能优化的USB控制器件,完全符合USB1.1规范,支持本地DMA传输,用于基于微控制器的系统。USB1.1最大支持的传输速度是12Mb/s,比一般的PC接口速度都快,足够满足无线USB控制系统的应用。无线模块部分采用Nordic公司的nRF24L01单片射频收发芯片,该芯片工作于2.400~2.4835GHz的ISM(工业、医学和科学)频段,工作电压为1.9~3.6V,有多达126个频道可供选择,支持多点间通信,最高速率达2Mb/s,内置链路层,减少了MCU的复杂性和成本,提高了数据传输的可靠性,而且只需少量的外围元件便可组成射频收发电路,具有体积小、功耗低、性价比高等优点。

  基于nRF24L01的无线USB控制系统,基于nRF24L01的无线USB控制系统,第3张

  1.2.2终端节点实现方案

  终端节点实现方案如图3所示,主要包括微控制器STC89C58RD+、无线模块nRF24L01 Module和实际应用需求的扩展电路。STC89C58RD+微控制器和nRF24L01无线模块构成终端节点与无线USB控制器之间无线通信的基础,终端节点的扩展电路是根据实际应用需求来设计的,如应用于温度数据采集系统,则扩展电路应是温度传感器的电路,终端节点的灵活设置使得整个系统可以满足多种应用场合的需求。

基于nRF24L01的无线USB控制系统,基于nRF24L01的无线USB控制系统,第4张

  2系统的硬件部分

  2.1 nRF24L01无线模块原理图

  nRF24L01是挪威Nordic VLSI公司推出的单片射频收发芯片,20个引脚4mm×4mm QFN封装,内置频率合成器、功率放大器晶体振荡器、调制器等功能模块,采用Enhanced ShockBurst技术,使用SPI接口与微控制器通信,速率为0~8Mb/s,配置方便。nRF24L01适用于无线数据通信、无线个人电脑外设、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。关于该芯片的具体功能和工作模式及其编程过程请参照参考文献。该模块电路原理图,如图4所示。

基于nRF24L01的无线USB控制系统,基于nRF24L01的无线USB控制系统,第5张

  nRF24L01模块在PCB布线时采用双面板,底层全部铺地,顶层放置元器件,所有电容电阻电感采用0402封装电容电感电阻尽量靠近芯片引脚,顶层也需大面积铺地,在顶层和底层放置大量的通孔。该模块供电电压为3.3V,SPI接口可以直接与5V的MCU的IO口相连接,无SPI接口的MCU可以用IO口模拟SPI时序,使用方便。

  2.2 USB控制芯片PDIUSBD12原理图

  PDIUSBD12是一款性价高的USB控制芯片,它与MCU配合使用,这使得设计者可以灵活地选择MCU,它与MCU之间通过并行接口通信,还支持本地DMA传输。图5是PDIUSBD12与STC89C58RD+单片机连接的原理图。

  上图未画出STC89C58RD+单片机,只给出了网点名称,如P00-P07、P27、ALE、INT1、WR、RD,STC89C58RD+与标准的80C51(如AT89S51)引脚完全兼容,PDIUSBD12与MCU的连接有2种方式:总线方式和分开的地址数据方式。采用总线方式时引脚10的ALE连接MCU的ALE,引脚28的A0接到高电平;采用分开的地址数据方式,则ALE连接低电平,A0连接任意的IO口,数据或地址(命令)由A0来区分。图5采用总线方式。另外该无线USB控制器直接使用USB接口供电,省去了电源,降低了成本。

 基于nRF24L01的无线USB控制系统,基于nRF24L01的无线USB控制系统,第6张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2656865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-13
下一篇 2022-08-13

发表评论

登录后才能评论

评论列表(0条)

保存