关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于nRF24L01的无线USB控制系统

基于nRF24L01的无线USB控制系统

作者:时间:2010-03-24来源:网络收藏

PC端应用程序的开发采用VC++6.O平台,本设备模拟成MassStorage设备,那么PC与设备通信通过SCSI命令,使用时候除了标准的SCSI命令外,可以自己定义私有的SCSI命令,程序主要通过自定义的私有的SCSI命令来实现与无线控制器的数据通信,应用程序首先用Create-File()打开设备,之后主要调用DeviceIoControl()函数来实现数据通信,最后用CloseFile()关闭设备。该函数的使用可参考MSDN。
以上部分的软件是整个系统开发的难点,所涉及的知识点范围广,图6是实际开发成功的模拟成MassStorageDevice类的无线控制器。

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


3.2 01的固件设计
01与MCU之间通过SPI接口通信,本系统所采用的单片机STC89C58RD+无SPI接口,故通过IO口模拟,01采用ShockBurstTM进行可靠的发送和接收。采用AutoAck、自动重发的配置过程如下:
发送过程配置:
1)配置发射功率、数据速率、载波频率、CRC校验位数、发送的地址宽度和数据宽度、AutoAck、自动重发次数等。
2)配置:PRIM_RX位为0。
3)配置要通信的的终端节点地址TX_ADDR和要发送的数据到TX_PLD,配置发送端RX_ADDR的值与TX_ADDR的值一样。
4)CE从低到高跳变芯片开始发送数据,CE至少需要10μs。
5)读取STATUS寄存器,判断发射成功与否。
接受过程配置:
1)配置发射功率、数据速率、载波频率、CRC校验、接收的地址宽度和数据宽度等等,其中数据速率、载波频率、CRC校验位数、接收的地址宽度和数据宽度必须和发送端一致。
2)PRIM_RX位配置为1,配置EN_RXADDR寄存器使能所有数据管道。
3)CE从低电平跳变为高电平,130μs后nRF24开始监视空中的无线信号。
4)当IRQ中断时,中断服务程序里面读取STATUS寄存器,判断是否接收到有效的数据。
5)收到有效数据则设置CE为低电平,nRF24进入standby-I模式。MCU读取接收到的数据。
图7和图8是无线控制系统应用于控制多终端频率发生器系统的实际软件和硬件。


4 结束语
整个系统通过实际验证满足了设计要求,USB工作稳定,速度快,RF24无线模块通信正常、距离远、误码率低、稳定性高。本系统可应用于大部分需要PC进行无线控制或无线数据采集的场合,只需要扩展终端节点的应用电路,即可以满足不同的应用需求。系统具有可靠性好、性价比高、扩展性强和使用方便。


上一页 1 2 3 4 下一页

关键词: nRF 24L L01 USB

评论


相关推荐

技术专区

关闭