基于nrf401的无线通讯系统及应用

基于nrf401的无线通讯系统及应用

ID:14424769

大小:172.50 KB

页数:5页

时间:2018-07-28

基于nrf401的无线通讯系统及应用_第1页
基于nrf401的无线通讯系统及应用_第2页
基于nrf401的无线通讯系统及应用_第3页
基于nrf401的无线通讯系统及应用_第4页
基于nrf401的无线通讯系统及应用_第5页
资源描述:

《基于nrf401的无线通讯系统及应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于nRF401的无线通讯系统及应用1.引言在仪器仪表及测控技术中,无线传感器数据的处理等,因此无线通讯干扰信息较多时,特别是在中断通讯模式下,频繁的中断将严重影响主程序的运行,另外由于对nRF401的操作除了控制输入输出外,还需要对nRF401的收发状态、运行模式切换,因此对于一个总线结构的系统(如485通讯模式),无线通讯部分也作为一个独立ID模块时,传统的设计处理遇到了困难。因此需要设置一个中间处理环节,既能有效过滤信息又不影响通讯速率。为解决上述问题,本设计基于nRF401作为无线收发芯片,使用两片AT89C2051作为控制芯片,设计出

2、一套无线通讯系统。其中一片AT89C2051(定义为控制芯片A)控制nRF401,AT89C2051的IO接口与串口配合控制nRF401实现异步通讯;另一片AT89C2051(定义为控制芯片B)既能满足总线串口的要求,又能解决控制芯片A由于频繁串行中断而不能及时响应总线的问题,起到分担任务、隔离干扰、串口扩展的作用。采用两片2051单片机设计方法,与采用一片双串口单片机设计相比,能降低成本、提高芯片利用率、隔离干扰。实践表明该系统结构简单、抗干扰能力强,能很好解决短距离系统之间的无线通信问题。2.系统硬件设计系统硬件设计包括无线通讯模块和通讯控

3、制部分。2.1基于nRF401的无线通讯模块设计nRF401是Nordic公司研制的单片UHF无线收发芯片,工作在433MHzISM频段。在接收模式中,nRF401被配置成传统的外差式接收机,所接收的放大器放大,经混频器变换成中频,放大、滤波后进入解调器。解调后变换成数字信号输出(DOUT端)。在发射模式中,数字信号经DIN端输入,经锁相环和压控振荡器处理后进入功率放大器射频输出。在本系统设计中,为了避免干扰,将基于nRF401的无线收发部分做在一块单独的PCB板上,引出通讯控制接口(J1),组成独立的无线收发模块。2.2基于AT89C2051

4、的控制系统设计控制部分包括两片AT89C2051,控制芯片A负责处理无线收发模块数据信息,并与控制芯片B通过P1口以中断1方式进行数据交流。控制芯片B负责处理来自串口的信息,并与控制芯片A进行数据交流。由于两片AT89C2051以中断方式并行传输模式传输数据,其数据交换时间远小于单片机串口通讯时间,因此不会影响整个系统的半双工通讯时间。为了满足各种要求,串口通过跳线被设计成232模式、485模式和UART模式。3.系统软件设计3.1通讯协议在无线通信的过程中,由于外部环境的干扰,通常误码率比较高,即使发射方不发送数据,接收方仍会经常接收到由于外

5、部干扰而产生的杂乱数据,为了在接收的过程中区分接收到的数据是否为有效数据,必须有一定的通信协议。在传输数据量不大时,为有效处理信息,本系统设计以下通讯协议:1)无线收发数据帧由3个字节组成,即8bit的标识位(0xab),8bit的数据位,8bit的校验位。2)无线收发数据帧格式byte1高四位为1010(0xa),低四位为数据的高四位Byte2高四位为1011(0xb),低四位为数据的低四位Byte3为byte1与byte2的异或值。3内部单片机之间传输的数据不包括标识字节和校验字节。4系统与外部串行通讯时,采用另外的通讯协议(如ModBus

6、协议)。5外部输入采用中断方式,内部循环采用查询方式。6程序设计中,外部中断优先,以及时接收外部数据信息。7执行某一中断时,不响应其他中断。8无线通讯模块平时处于接收状态。3.2程序流程对于控制芯片A,接收无线收发模块数据为串行中断方式,接收控制芯片B数据为外中断1方式。主程序运行过程中始终处于检测系统状态字循环方式,当发送缓冲区有数据(来自控制芯片B)时,主程序调用串行发送程序将数据经串口、无线收发模块发送出去;当接收缓冲区有数据(来自无线收发模块)时,主程序调用并行发送程序将数据经P1口发送到控制芯片B。在设计应将发送缓冲区和接收缓冲区设置

7、为多字节,用来堆积不能及时转移的数据。控制芯片B的程序流程与控制芯片A流程相似,只是在接收串口数据时,控制芯片A程序对数据帧的校验方式不同。图4为程序流程图,其中UART()定义为串行中断服务程序;Int1()定义为外部中断1中断服务程序;TranByte定义为发送缓存区;RecByte定义为接收缓存区;Recsum定义为接收缓存区计数;Transum定义为发送缓存区计数;delay定义为延时子程序;flag定义为系统状态控制字,其中flag.7定义为接收缓存区状态标志;flag.6定义为发送缓存区状态标志。4.在自主移动机器人系统中的应用在自

8、主移动机器人系统中,可靠稳定的通讯系统对机器人与上位机、机器人与机器人之间的信息交换是十分重要的。基于nRF401的无线通讯系统可以作为中小型自主移动

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。