基于NRF905的无线通信设计
- 格式:pdf
- 大小:10.22 KB
- 文档页数:1
无线通信系统在小型遥控机耕船控制中的应用一基于nR F905无线收发芯片史强,郭小锋(西南大学工程技术学院,重庆400716)摘要:提出了一种无线操控机耕船的设计方法。
采用挪威N or di c V L SI公司最新推出的单片无线收发芯片nR F905进行设计,主要是通过发送端发送指令控制接收端机耕船的直流电机,从而控制离合器以及转向系统。
此系统主要由接收终端和发送终端组成,各部分主要由A R M7一LPc2132单片机主芯片、液晶显示系统、R S232串口等各功能模块组成。
重点说明了无线通信系统的硬件设计和软件设计,对nR F905的内部寄存器配置和收发流程进行了重点介绍,并且给出了实验测试分析。
实验表明,该无线传输系统抗干扰性良好,能够很好地传输各种指令,从而较精确地控制机耕船的转动方向。
关键词:机耕船;无线通讯;射频;A R M【7一LPc2132单片机中图分类号:TP273+.5文献标识码:A文章编号:1003—1明X(2012)03-0195—04O引言目前,在丘陵山区农田耕作中,机耕船是普遍使用的农业机械,但其耕作过程中操作者需下田操作且劳动强度很大。
因而,常有学者称“机耕船解放了牛,累死了人”。
机耕船亦称船式拖拉机,是我国独创的一种水田动力机械,通常由柴油机、船体、耕作机具3大部分组成,它适用于平原、湖区、丘陵、山区等各种不同类型的水田和沿海地区的滩涂田机耕作业,尤其是在拖拉机无法作业的深泥脚田可以很好地进行工作。
近年来,在丘陵山区,农机推广部门引进机耕船用于水田耕作,取得了一定的宣传效果;但在实际运用中,由于常用机耕船为乘坐式,质量大,转移难,不适应于丘陵梯田、小块田的耕作需要。
随着现代农业的不断发展,人们对农业机械自动化的需求越来越强,研制一种可以替代机耕船用于丘陵地区水田耕作的机械无疑是一个重要而又紧迫的课题。
在这种背景下,笔者参与设计了一种遥控机耕船。
它采用6.3kw的柴油机:后置可拆卸(田间转移方便)旋耕刀组,可装拆扶手(扶手由于田间转移操收稿日期:20l l—05一18基金项目:南方丘陵山区微耕机系列产品及专用节能发动机研究项目(C ST c,2007A A l001)作者简介:史强(1985一),男,山东莱芜人,硕士研究生,(E—m ai l) w s吲i nan2008@163.com。
318
管理科学与工程技术GUANLIKEXUEYUGONGCHENGJISHU
引言
无线通信在机动性要求较强的设备中或人们不方便随时到达现场的条件下得到了越来越广泛的应用。
微功率短距离无线通信技术作为无线通信实用技术,通常射频芯片采用GFSK(高斯频移键控)调制方式,因其功率小、开发简单快速而在无线抄表、门禁系统、工业数据采集系统等领域有着重要应用。
本设计对接收到的温度数据通过数码管进行显示,并采用NRF905芯片进行无线通信,实现远距离数据传输。
总体设计
一、无线设计芯片简介
NRF905有两种工作模式和两种节能模式。
分别为掉电模式、待机模式、Shock-Burst RM 接收模式和Sho ck-Burst TM 发送模式,这几种模式由外界CPU 通过控制NRF905的3个引脚PWR-UP 、TRX-CE 和TXE N 的高低电平来决定。
二、系统设计
系统以AT89S52处理器为核心构成一个应用开发系统。
其中,NRF905通过SPI 接口与AT89S52处理器相连,实现无线数据的传输,另外再选几个I/O 口连接NRF905的输入输出信号。
串行接口可以实现与P C 机的通信,18B20温度传感器可以为系统提供温度数据,供NRF905芯片进行无线数据传输。
同时,为了保证系统无线传输的可见性,外加了数码管显示功能。
三、硬件设计
(一)单片机主控制电路
NRF905共有32个引脚,其中有10个引脚尤其需要我们注意:和主M CU 通讯的SPI 接口的四个引脚,数据线M OSI 、M ISO ,时钟线SCK 、使能线CSN ,其中CSN 可以接到一个I/O 口控制芯片工作,而其它三个脚接到主MCU 的SPI 接口上;主M CU 的控制线有三个引脚,控制低功耗的PWR_UP ,控制正常工作的TX_EN ,选择发送还是接受方式的TRX_CE ,这几个引脚都接到主MCU 的通用I/O 口;NRF905的反馈线有三根,检测到频道正被使用的CD(carrier detected),通知接受地址正确的AM(add ress matc hed ),告诉MCU 数据接受正确的DR(d ata received),这几个引脚需要接到主M CU 的中断引脚上,当接收数据正确时以中断方式通知主MCU 。
(二)数据显示电路本设计采用的是共阳数码管,将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM ﹢接到5V ,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
(三)温度采集电路本系统设计中选择了DS18B 20数字式温度传感器,使得系统温度传感器模块的硬件极其简单,只占用单片机系统的一个数据I/O 口加一个上拉电阻即可。
当主机需要对众多在线DS18B20的某一个进行操作时,首先要发出匹配ROM 命令(55H),接着主机提供64位序列码,之后的操作就是针对该DS18B20的。
在DS18B20组成的多路测温系统中,主机在发出跳过ROM 命令之后,再发出统一的温度转换启动码44H ,就可以实现所有DS18B20的统一转换。
再经过1s 后就可以用很少的时间去逐一地读回每个DS18B20的温度数据。
(四)通信接口电路
本设计考虑到单片机与PC 机之间的通信问题,所以引入串口通信。
RS-232C 最大的优点在于采用直通方式,双向通信,基本频带,电流环方式,串行传输方式。
在单片机系统中使用MAX232芯片,完成单片机和上位PC 机的RS-232C 通信。
四、软件系统设计及系统调试
(一)NRF905的初始配置
NRF905的初始配置主要是对它的寄存器进行细致的配置。
在实际
基于
NRF905的无线通信设计
赵龙昊/大庆油田装备制造集团特种车制造分公司,黑龙江
大庆163412
工作中,NRF905可以自动滤除地址不相同的数据,只有地址匹配且校验正确的数据才会被接收,并存储在接收数据寄存器中。
NRF905控制信号线CSN 的下降沿使能寄存器,如果希望对某个寄存器进行操作的时候,首先需要将CSN 引脚置低。
NRF905提供了特殊的命令字来支持对寄存器的操作,比如写配置寄存器的命令字为(WC)0000XXXX ,读配置寄存器的命令字为(RC)0001XXXX ,其中XXXX 为起始地址。
当操作某个寄存器时,先写入该寄存器的命令字,即可对其操作。
(二)发送数据流程设计
设置好配置寄存器后,就可以发送数据了:
1、单片机AT89S52将PWR_UP 置高,使NRF905进入工作模式,再将TX_EN 置高进入发送数据模式。
2、将发送地址通过SPI 口写入发送地址寄存器TX_ADDRESS ,再将数据写入发送数据寄存器TX_PA YLOAD ,S PI 口的速度由AT89S 52设置。
3、AT89S 52置高TRX_CE ,NRF905自动将数据帧格式补齐加入包头Preamble ,并根据寄存器设置计算CRC 校验填入包尾,然后NRF905将整个数据以100b it/s 的速度,采用曼彻斯特编码,以GFSK 形式发送出去,发送完毕,DR 会置高,通知单片机可以继续下次发送。
4、如果配置成自动重发模式,NRF905会自动重发,直到TRX_CE 置低。
5、发送完后可以将TRX_CE 置低,这样就进入standby 模式,实际操作时可以直接将TRX_C E 产生脉冲,持续时间不少于10μs ,就可以发送完数据。
(三)接收数据设计
下面我们讨论如何接收数据:1、主M CU 将TX_EN 置低、TRX_CE 置高,过650μs 后,则进入接收模式。
2、NRF905监控频道使用状况,如果发现频道被占用,则将CD 置高,可以利用该特性采取一些冲突避免检测机制,发送数据前如果检测到CD 信号,则可以随机延迟一段时间再发送数据,该特性可以有效地避免数据冲突。
3、当接收到的数据发送地址和自己地址匹配时,则AM 置高,通知该数据是发给自己的。
4、对数据的CRC 进行校验,如果正确,则去除包头和CRC 段,将数据保存在接收数据寄存器RX_PAYLOAD ,同时DR 信号置高,通知主MCU 读取数据。
5、主M CU 将TRX_CE 置低,进入standby(省电)模式再通过SPI 口将数据读出来,当数据都读完后,NRF905将AM 和DR 重新置低,为下次接收数据做准备。
(四)系统调试。
系统调试采用软件硬件结合调试。
1、硬件调试
把单片机应用系统的试验样机装配完毕以后,便可进入硬件调试阶段,硬件调试一般按脱机检查和联机调试两步进行。
(1)脱机检查就是根据硬件逻辑电路图,用万用表等工具检查试验样机联线的正确性与可靠性,其中对电源系统的极性、短路故障等问题要特别注意。
(2)联机调试就是把试验样机上的单片机拔下,并将单片机开发装置的仿真头插入试验样机上的单片机插座上,这样就将仿真器与单片机应用系统两者连接起来,构成了联机调试状态。
2、软件调试软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
软件调试的一般法是先独立后联机、先分块后组合、先单步后连续。