基于nRF905无线数传模块的设计
来源:互联网 发布:国考流程知乎 编辑:程序博客网 时间:2024/05/22 18:43
nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9~3.6V,32引脚QFN封装(5×5mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器, ShockBurst工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905适用于无线数据通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。
nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器功率放大器等模块,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,因此使用非常方便。
标准通信接口模块
标准通信接口模块主要由三部分组成:标准RS232C接口模块;标准RS485接口模块;无线通信接口无线模块。标准RS232C接口模块,采用MAXIM公司生产的MAX232A芯片将微处理器(MCU)的TTL电平与PC机串口标准RS232C电平进行相互转换。标准RS485接口模块采用Motorola公司生产的MC3486和MC3487电平转换芯片实现TTL电平与RS485电平的转换。无线通信接口无线模块采用Philips公司生产的74LVC4245A电平转换芯片实现3V与5V电平转换,可以实现MCU与nRF905之间的双向数据通信。其工作原理为:根据事先设定的通信协议,MCU通过设定74LVC4245A的DIR引脚为高和低电平,可以分别实现数据由MCU到nRF905的传输(即5V转换为3V)和nRF905到MCU的传输(即3V转换为5V)。
RS232接口通信软件设计
在本设计中PC机发送字符与接受字符均采用查询方式,发送前先读取通信或状态寄存器,查询发送保持寄存器是否为空;接收前先读取通信或状态寄存器,查询一帧据是否收完。从机采用中断方式,即接受到地址帧后就进行串行口中断申请,CPU响应后,进入中断服务程序。
PC机通讯程序用Visual Basic开发。我们利用了VB提供的串行通讯专用ActiveX控件MSComm,该控件2.4G无线模块屏蔽了通讯过程的低层操作。只需设置MSComm 控件的相应属性,调用控件相应方法和事件,按照通讯协议要求发出命令号,下位机完成相应功能,便能实现数据通讯。
RS485接口通信软件设计
利用RS485接口可以实现 PC机与单片机之间、单片机与单片机之间的远距离点对点和点对多点的异步串行通信。由于RS485通讯是一种半双工通讯,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通讯对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。对于多机通信,总线上所连接的各单机的发送控制信号在时序上应完全隔开,以保证发送和接收信号的完整和正确避免总线上信号的碰撞。
基于nRF905的高频头的无线通信软件设计
由于与RF协议相关的高速信号处理部分已经嵌入在2.4G无线模块内部,高频头可与各种低成本单片机配合使用,也可以与DSP等高速处理器配合使用;高频头提供一个SPI接口,速率由微控制器自己设定的接口速度决定。在RX模式中,地址匹配(AM)和数据准备就绪(DR)信号通知MCU一个有效的地址和数据包已经各自接收完成,微控制器即可通过SPI读取接收的数据。在TX模式中,高频头自动产生前导码和CRC校验码,数据准备就绪(DR)信号通知MCU数据传输已经完成。这意味着降低MCU的存储器需求也就是降低MCU成本,同时缩短软件开发时间。
随着信息技术和计算机科学的变革和发展,无线通讯技术已经成为一种发展趋势在各个领域当中逐步得到应用。无线通讯传输技术具有成本低、无需通讯电缆、不受应用环境限制、组态灵活、重构性强等优点,这就给无线通信技术带来了很大的发展空间。本文采用了挪威Nordic VLSI公司最新推出的单片无线收发一体芯片nRF905,并在此基础上设计出多功能无线数传模块。
- 基于nRF905无线数传模块的设计
- 基于stm32f103zet6之NRF905无线模块的学习
- 基于CC1020的无线数传模块设计
- nRF905 无线发射模块
- 基于NRF905的无线温度采集系统
- 基于CC2430的ZigBee无线数传模块的设计和实现
- 基于CC2430的ZigBee无线数传模块的设计和实现
- 基于RF芯片nRF401、AT89C52微控制器和MAX3316接口芯片的无线数传模块设计
- 无线数传模块
- 无线数传模块
- 基于CC2430的串口无线模块的设计
- 基于51单片机的NRF905收发程序
- 无线数传模块433
- 微功率无线数传模块的使用
- nRF2401A vs nRF24L01+ 无线数传模块之间的区别
- nRF24L01 无线数传模块之间的区别 干货分析
- NRF905无线通讯模块的距离到底有多远呢?
- GPRS DTU无线数传模块终端
- jsp学习笔记1
- C# Dictionary学习
- Android RIL 调试分析全记录
- jsp学习笔记2
- 软件加密狗破解思路和方法
- 基于nRF905无线数传模块的设计
- 程序多语言实现
- QQ拼音总是切回英文
- struts.xml配置
- jsp学习笔记3
- jsp学习笔记4
- jsp学习笔记5
- ESQL操作数据库总结
- fork source exec区别