1、I无线串口通信实验报告CHINAJIA1无线串口通信一 实验目的1 完成串口基本实验(MCU 和 PC 通信)2 完成无线模块的调试3 编制通信协议是通信可靠稳定二实验原理1、无线数据传输模块 PTR 2000 和无线通信芯片 nRF401本实验项目选用的无线传输模块为 PTR2000,他是一种超小型、低功耗、高速率的无线收发数据传输模块,使用的是挪威 Nordic 公司推出的 nRF401 无线通信芯片。该芯片使用了433MHz IGM 频段,是真正的单片 UHF 无线收发一体芯片。在数据编码方面,nRF401 采用串口传输,无须多数据进行曼彻斯特编码,应用及编程非常简单,传送的效率很高,标
2、称速率就是实际速率。在控制芯片外围元件的数量方面,nRF401 也是一个较为理想的选择,它的外围元件仅需10 个左右,无须声表面滤波器、变容器等昂贵的元件,只需使用 4MHz 的晶体,收发天线合一,减小了系统开发的难度。在目前较为流行的无线通信芯片中,无论是从使用的方便性、传输速度还是输出功率等各个方面考虑,nRF401 都是较为理想的选择,本实验项目就是基于 nRF401 芯片的无线数据传输模块。PTR2000 是一种超小型、低功耗、高速度的无限数据传输模块,它的通信速率最高可达20Kbps,也可工作在其他速率,如 4800bps/9600bps。PTR2000 采用了低发射功率、高灵敏度设
3、计,可满足无线管制的要求且无须使用许可证,是目前低功率无线数据传输的理想选择。2、无线通信芯片 Nrf401 引脚功能说明Nrf401 使用 20 引脚的 SSOCI 封装,其引脚分布如下图 1-1下面介绍各个引脚的功能。XC1、XC2(引脚 1、20):这两个引脚用于连接外部参考晶振,其中,XC1 为晶振输入,XC2 为晶振输出。VDD(引脚 2、8、13):电源输入脚,电压范围 2.7-5.2V。VSS(引脚 3、7、14、17):电源地。FILT1(引脚 4):滤波器接入端。2VCO1、VCO2(引脚 5、6):外界压控振荡电感。DIN(引脚 9):发射数据输入端,该引脚用于从单片机接收
4、要发送的数据。DOUT(引脚 10):接收数据输出端,该引脚讲无线接收到的数据送入单片机。RF_PWR(引脚 11):发射功率设置。CS(引脚 12):频道选择端。CS=0,芯片工作在频道 1,即 433.92MHz 频道;CS=1,芯片工作频道 2,即 434.33MHz。ANT1、ANT2(引脚 16、15):天线接口。PWR(引脚 18):低功耗控制。PWR=1 时,芯片处于正常工作状态;PWR=0 时,芯片为待机微功耗状态。TXEN(引脚 19):工作模式切换。TXEN=1 时,芯片为数据发射状态;TXEN=0 时;芯片为数据接收状态。3、无线数据传输模块 PTR2000 引脚功能说明
5、PTR2000 是基于 Nrf401 芯片的无线数据传输模块,它的引脚分布如图 1-2 所示。下面介绍各个引脚的功能。VCC(引脚 1):电源输入脚,电压范围 2.7-5.2V。CS(引脚 2):频道选择端。CS=0,芯片工作在频道 1,即 433.92MHz 频道;CS=1,芯片工作在频道 2,即 434.33MHz。DO(引脚 3):数据输出端。DI(引脚 4):数据输入端。GND(引脚 5):电源地。PWR(引脚 6):低功耗控制。PWR=1 时,模块处于正常工作状态;PWR=0 时,模块为待机微功耗状态。TXEN(引脚 7):工作模式切换。TXEN=1 时,模块为数据发射状态;TXEN
6、=0 时,模块为数据接收状态。正确地设置工作模式对于使用 PTR2000 模块至关重要,对于 PTR2000 模块而言,它的工作模式设置主要包括工作频道的设置和发送、接收、待机状态的设置,这由TXEN、CS、PWR 三个引脚共同决定,如下表 1-3:引脚电平 工作模式TXEN CS PWR 工作频道 工作状态0 0 1 1(433.92MHz 接收0 1 1 2(434.33MHz 接收1 0 1 1(433.92MHz) 发射1 1 1 2(434.33MHz) 发射- - 0 - 待机表 1-3 PTR2000 工作模式设置35、发送端单片机和 PTR2000 的接口电路设计本实验项目中单
7、片机选用 Atmel 公司的 AT89C52,它通过自己的串口以及 I/O 控制口与PTR2000 直接相连,接口电路如图 1-4 所示:图 1-4 中,AT89C52 单片机主要完成数据的采集和处理,向 PTR2000 模块发送数据并且接收 PC 机通过 PTR2000 传送过来的数据。和单片机相连的 PTR2000 模块主要是将单片机的待传数据调制成射频信号,发送到 PC 机端的 PTR2000 模块,同时接受 PC 机端 PTR2000 模块传过来的射频信号,并调制成单片机能够识别的 TTL 信号送给单片机。P1.0(T2)EX46789VSCRDALOGNI/WU_MuFYpKBH-e
8、adr图 1-4 单片机和 PTR2000 接口电路原理图 6、接收端单片机和 PTR2000 的接口电路4图 1-5 接收端单片机和 PTR2000 接口电路原理图7、串行无线通信协议设计无线通信中,由于外部环境的干扰,通常误码率是比较高的,因此通信协议的设计对保证通信的可靠性十分重要。对于协议设计而言,最重要的就是帧结构的设计。本实验存在指令帧和数据帧。数据帧的内容包括起始字节、数据长度字节、数据字节、结束字节、和校验和字节,见下表 1-6表 1-6 串行无线通信的数据帧结构起始字节 数据长度字节 数据字节 校验和字节 结束字节1 字节 1 字节 N 字节 1 字节 1 字节三源程序1、发
9、送端单片机程序设计/发送模块/#include/#define uchar unsigned char#define uint unsigned int/sbit TXEN=P20;/定义发送接受模式选择位sbit PWR_UP=P21;/工作模式待机模式选择位sbit CS=P22;/频率通道选择位sbit test=P00;/uchar T_buffer11=0x55,0xaa;uchar R_buffer11;/配置 UART;9600;void init_UART()TMOD=0X20;TH1=0XFD;TL1=0XFD;TR1=1;/波特率设置SCON=0X40;/void dela
10、y_1s()2uint delay_1s_aa=60000;while(delay_1s_aa0);/uchar flag=0;uchar i=0;uint aa=0;void main()init_UART();/初始化 UART,9600IE=0x90;/开启 UART 中断/aa=240;while(aa0);TXEN=0;/TXEN 经过反相器反向后变成高电平aa=78;while(aa0);while(1)SBUF=T_bufferi;/发送数据while(flag=0);/等待发送中断并结束delay_1s();/等待一段时间flag=0;/将标志复位if(i=0)i=1;else
11、 /换一个数据i=0;/void s_(void) interrupt 4 using 1if(TI=1)TI=0;flag=1;test=0;2、接收端计算机程序设计#include/#define uchar unsigned char#define uint unsigned int/sbit TXEN=P20;/定义发送接受模式选择位sbit PWR_UP=P21;/工作模式待机模式选择位sbit CS=P22;/频率通道选择位/uchar buffer;/开机延时程序,等待电压稳定void init_delay()2uchar delay_a=200;while(delay_a0);
12、/配置 UART;9600;void init_UART()TMOD=0X20;TH1=0XFD;TL1=0XFD;TR1=1;/波特率设置SCON=0X40;/uchar flag=0;/void main()uint aa=728;P0=0X00;init_UART();/初始化 UART,9600while(aa0);/等待 5MSREN=1;/UART 使能接受IE=0X90;/开启 UART 中断while(1)while(flag=0);/等待 UART 的接受中断并结束P0=buffer;/将接受下来的数据通过 P0 口显示出来flag=0;/将标志复位/UART 的接受中断vo
13、id R_(void) interrupt 4 using 1if(RI=1)RI=0;/将接受中断标志位复位buffer=SBUF;/将 UART 中的数据接收下来,并保存在 buffer 变量中flag=1;/将标志置位四干扰分析51 系列单片机工作的时候,会产生比较强的电磁辐射,频率范围在 9MHZ-900MHZ,因此它会影响任何此频率内的无线接收设备的灵敏度,解决的方法是尽量降低 CPU 晶体的频率。测试表明:在 1M 晶体的辐射强度,只有 12M 晶体时的 1/3,因此,如果把晶体频率选择在500K 以下,可以有效降低 CPU 的辐射干扰。另外一个比较好的方法是:将接收模块通过一个 3 芯屏蔽电缆(地,+5V,DATA,屏蔽线的地线悬空)将模块引出到离开单片机 2 米以外,则不管 51CPU 使用那个频率的晶体,这种干扰就会基本消除。对于 PIC 单片机,则没有上述辐射干扰。可以任意使用。 第五部分 实验结果2刚上电,效果不明显,数据有误码待稳定以后,数据显示为 55HLED 显示数据为 55h第六部分 参考文献1何立民.MCS51 系列单片机应用系统设计M.北京:北京航空航天 出版社,1999.32沈红卫.单片机应用系统设计实例与分析M.北京:北京航空航 天大学出版社,2003