




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
nRF905模块和SPI接口的点对点无线通信日期:2010-03-23 来源:本站编辑 作者:admin字体:大 中 小 (投递新闻)采用一般的无线传输方式时可能因为环境噪声大,干扰信号强而导致接收数据的准确性很低。针对这种情况,设计一种低成本、高准确率的无线数据传输系统 基于PIC16F876的SPI和nRF905模块的点对点无线通信系统。利用PIC16F876和nRF905模块直接进行SPI数据交换,时序同步性好,程序编写简单。PIC16F876通过相应的I/O口连接到编程器,可直接进行在线调试。鉴于无线通信环境中噪声大,信号干扰大的特点,采用的nRF905模块引入自动重发,高抗干扰GFSK调制和最高16位CRC校验机制,确保了数据传输的可靠性。 1 硬件电路规划 PIC16F876、nRF905模块及编程器连接头J1之间的电路连接,220V一5V电路实现,5V一3V电压转换电路如图1、图2、图3所示。图1 PIC16F876、nRF905模块及编程器之间的电路连接 本系统所用的nRF905模块系指迅通科技公司的一个nRF905无线通信模块。此模块在与单片机P1C16F876相连时,只用了核心芯片nRF905的14个引脚(见图1)。 在图1中,单片机PIC16F876输入 输出口与nRF905模块相应接口连接情况:RC7nRF905模块时钟分频输出,RC6nRF905模块地址匹配输出AM,RC5MISO,RC4MOSI,RC3 SCK,RC2CSN,RB7 RB6&RB3J1编程器连接线,RB5nRF905模块数据就绪输出DR,RB2PWR,RB1 TXEN,RB0 TRX_CE。单片机通过RB7、RB6和RB3与编程器相连,可进行在线编程;由RC5输出数据到nRF905模块,由RC4从nRF905模块输入数据。由一个4 MHz陶瓷晶体振荡器为单片机提供时钟输入。16F876的工作电压是4555 V,通过图2中的DBA元件实现从220 V市电到5 V电压的转换。由于nRF905模块的工作电压是1936 V,需从5 V电压转换得到一个符合nRF905模块正常工作的稳定电压。考虑使用分压电阻与3 V稳压管串联分压,从稳压管两端可得到一个稳定的3 V电压输出,如图3所示。2 软件设计 考虑到nRF905模块内置完整的通信协议和CRC,软件设计工作主要集中在如何实现对nRF905模块的有效初始配置,以及16F876与nRF905模块之间SPI通信的实现。其中须保证16F876与nRF905模块时序的一致,并充分考虑nRF905模块对时序的要求。SPI时序如图4所示。对应程序设计:MOVLW B11000000 ;bit7=smp=1MOVWF SSPSTAT ;在输出数据的末尾采样输入数据;bit6=cke=1,ckp=0时上升沿;发送数据MOVLW B00000001 ;bit2bito设置晶振16,SPI主控方式MOVWF SSPCON ;bit4=CKP=0空闲时钟低电平 nRF905模块存在4种工作模式:掉电和SPI编程模式、待机和SPI编程模式、发射模式、接收模式。BSF PORTB,2 ;待机和SPI编程方式BCF PORTB,0 ;PWR_UP= 1,TRX_EN= 0,TX_EN= 0BCF PORTB,1BSF PORTB,0 ;往芯片中写数据操作完毕,转换到发射模式BSF PORTB,1BSF PORTB,0 ;往芯片中写数据操作完毕,转换到接收模式 ;RB0_TRX_CE= 1,RB1_TXEN= 0 通过对16F876相应输出口高低电平的转换,可控制nRF905模块工作模式的变化。将单片机的SPI接口与nRF905模块的相应SPI口互连,实现16F876与nRF905模块之间的数据传递或实现16F876向nRF905模块发出控制命令;在编程模式下,可将预配置的命令或数据送入单片机收发缓冲器SSPBUF中,以16F876作为主控模式,并提供SPI通信必需的SCK时钟,nRF905模块作为从动模式,在SCK上升沿,双方进行数据传递,启动SCK后可将单片机数据逐位移人nRF905模块中,以完成对其初始配置。 参照nRF905模块数据手册进行初始配置:nRF905模块的发射功率,工作频段,发送数据宽度,发送数据地址,接收数据宽度,接收数据地址,CRC校验等。若该nRF905模块作为发射部分,则将已采集并存储在单片机中的数据送入nRF905模块,以备发射。MOVLW 58H;BIT7=CRC_MODE=1,8位CRC校验位;BIT6=CRC_EN=1,CRC校验允许;BIT5:3=XOF2:0=000,晶振4 MHz;BIT2=UP_CLK_EN=0外部时钟信号禁止;BIT1:0=UP_CLK_FREQ1:0=11,500 kHzMOVLW B001001100;BIT5=AUTO_RETRAN=0不重发数据;输出功率为-10 dBm,;BIT4=RX_RED_PWR=0正常工作模式;BIT1=HEREQ_PLL=0.433 MHz频段;CH_NO8=0 设计一个SPI通信模块程序进行循环调用,以简化程序设计,提高可读性。;SPI通信子程序OUT_INBSF SSPCON,SSPEN ;允许SPI模式MOVWF SSPBUF ;数据送给SSPBUF后开始发送LP2BCF STATUS,RP1 ;选择RAM 体1RSF STATUSRP0 BTFSS SSPSTAT,BF ;查询发送接收完否GOTO LP2 ;否,继续查询BCF STATUS,RP0 ;是,选择RAM 体0MOVF SSPBUF,W ;从缓冲器取出数据RETURN ;子程序返回程序流程如图5所示。结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南街小学1年级数学试卷
- 宁波七年级下数学试卷
- 庄园葡萄酒品质控制流程分析报告
- 体育场地施工项目的成本控制策略
- 移动娱乐设计趋势报告
- 2025年大型设备安装服务项目建议书
- 2025贵州望谟富民村镇银行股份有限公司招聘笔试备考试题及答案解析
- 武胜县2025年农业技术(经济)助理岗招聘(202人)考试备考题库及答案解析
- 2025贵州桐梓县考调事业单位15人笔试模拟试题及答案解析
- 2025年高纯人造硅灰石项目合作计划书
- GB/T 748-2005抗硫酸盐硅酸盐水泥
- GB 15763.1-2001建筑用安全玻璃防火玻璃
- 走好群众路线-做好群众工作(黄相怀)课件
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
- 既有重载铁路无缝线路改造及运维技术探索
- 2022年教师副高职称评答辩范文(七篇)
- 高压罗茨风机选型参数表
- 金融控股公司协同模式与实务分析
- 2021-2022年湖南省长沙市第一中学高一(上)入学考试物理试题(解析版)
- 轴类零件的设计ppt课件
评论
0/150
提交评论