软件设计 - 基于nRF24L01和PIC16F877无线数据传输系统设计
要设计好系统的软件,必须清楚其工作原理:首先给发射机上电,配置其L01为PRX,使其进入接收模式等待主机的握手指令,此时采集装置并未开始工作。然后将接收机通过USB接口连接计算机,运行VB程序,点击开始试验按钮,握手指令(H’33’)便通过接收机的L01 (上电配置为PTX)发射出去,发射机在接收到握手指令后,还要做出判断,若不是H’33’,则继续等待握手指令;若是,表示双方建立连接成功,此时发射机的L01便配置为PTX,同时单片机向采集装置发送一脉宽为3.6us的高电平脉冲以激活A/D,使其开始采样,采样率为1KHz。由于每路传感器信号都要被A/D采样,并转换为12bit数字量(认为是2 Byte),那么10通道则为20 Byte,经过单片机处理后再送入L01打包发射。350us之后,接收机收到该数据,并通过单片机和USB芯片实时写入计算机缓存区内,这样双方数据传输10000次,每次20Byte,传输完毕后数据曲线会在VB界面上实时显示。
基于以上分析,该系统软件分为两部分:单片机控制程序和计算机界面程序。前者主要完成以nRF24L01为核心的多通道信号的采集和无线传输,后者则完成信号的显示,以供研究人员分析。本文只介绍控制程序,它采用模块化程序设计方法, 分为发射机程序和接收机程序两部分。其流程图如图3所示。
由于采集系统以1KHz进行采样,即每1ms送20Byte数据,因此无线部分进行一次传输需1ms。若接收机执行接收子程序不够1ms,则必须通过延迟补够,以和发射同步。另外,在接收机程序中特设置800us定时器中断,以防接收机因接收不到数据而长时间等待,影响数据的传输效率。
4.问题分析
本系统在运行时出现了一些问题,使其不能正常工作,现说明如下:
① L01在收发转换时出现问题;
原因:配置字并未写入L01内。
② 数据传输时发现其低八位为零,但高四位有数;
原因:开启了单片机的PSP功能,导致D口不能用了。
③ 数据传输波形图严重失真;
原因:无线模块在收发同步上存在问题,数据包之间没有一一对应。
5.实验结果
本系统需进行10000次数据传输,每次传输20字节。传输数据时务必保证发射机和接收机的同步性,否则数据包之间将会出现错位,得到的数据曲线会严重失真,影响分析,所以同步问题在无线数据传输系统占重要地位。现附上本系统在同步良好情况下的无线数据传输波形图,见图4。图中的10条曲线是传感器信号被10片A/D采样后经无线传输至计算机后通过VB界面显示出的,中间幅值较高的曲线是两路正弦波,其余为基线。
6.结论
本系统控制方便、工作稳定,能实现可靠的无线数据传输。经大量实验测得:该系统的平均传输率可以达到256Kbps,平均误码率只有0.2%,可满足绝大部分无线数据传输的需要。
- 第 1 页:基于nRF24L01和PIC16F877无线数据传输系统设计
- 第 2 页:软件设计
本文导航
非常好我支持^.^
(3) 100%
不好我反对
(0) 0%
相关阅读:
- [移动通信] 5G 3GPP全球频谱介绍 2023-10-24
- [电子说] NB-IOT无线倾角传感器用于伊利智能货架安全监测的具体案例 2023-10-24
- [电子说] 环旭电子推出Pisces企业级无线路由器助力企业应对高密度数据挑战 2023-10-24
- [电子说] 首批高通骁龙8 Gen3旗舰入网 2023-10-24
- [RF/无线] 5G-A时代的室内网络建设解决方案 2023-10-24
- [电子说] 无线模拟信号采集器0-10v0-5v 4-20mA数据wifi通讯 2023-10-24
- [电子说] 物联网无线传感器节点可使用国产铁电存储器PB85RS2MC 2023-10-24
- [电子说] 御芯微亮相2023年世界物联网博览会 2023-10-24
( 发表人:叶子 )