无线串口通信

无线串口通信实验报告

CHINAJIA

无线串口通信

一 实验目的

1 完成串口基本实验(MCU 和PC 通信)

2 完成无线模块的调试

3 编制通信协议是通信可靠稳定 二.实验原理

1、无线数据传输模块PTR 2000和无线通信芯片nRF401

本实验项目选用的无线传输模块为PTR2000,他是一种超小型、低功耗、高速率的无线收发数据传输模块,使用的是挪威Nordic 公司推出的nRF401无线通信芯片。该芯片使用了433MHz IGM频段,是真正的单片UHF 无线收发一体芯片。

在数据编码方面,nRF401采用串口传输,无须多数据进行曼彻斯特编码,应用及编程非常简单,传送的效率很高,标称速率就是实际速率。

在控制芯片外围元件的数量方面,nRF401也是一个较为理想的选择,它的外围元件仅需10个左右,无须声表面滤波器、变容器等昂贵的元件,只需使用4MHz 的晶体,收发天线合一,减小了系统开发的难度。

在目前较为流行的无线通信芯片中,无论是从使用的方便性、传输速度还是输出功率等各个方面考虑,nRF401都是较为理想的选择,本实验项目就是基于 nRF401芯片的无线数据传输模块。

PTR2000是一种超小型、低功耗、高速度的无限数据传输模块,它的通信速率最高可达20Kbps, 也可工作在其他速率,如4800bps/9600bps。PTR2000采用了低发射功率、高灵敏度设计,可满足无线管制的要求且无须使用许可证,是目前低功率无线数据传输的理想选择。

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) :滤波器接入端。

VCO1、VCO2(引脚5、6) :外界压控振荡电感。

DIN(引脚9) :发射数据输入端,该引脚用于从单片机接收要发送的数据。 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引脚功能说明

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=0时,模块为数据接收状态。

正确地设置工作模式对于使用PTR2000模块至关重要,对于PTR2000模块而言,它的工作模式设置主要包括工作频道的设置和发送、接收、待机状态的设置,这由TXEN 、CS 、PWR 三个引脚共同决定,如 下表1-3:

表1-3 PTR2000工作模式设置

5、发送端单片机和PTR2000的接口电路设计

本实验项目中单片机选用Atmel 公司的AT89C52, 它通过自己的串口以及I/O控制口与PTR2000直接相连,接口电路如图1-4所示:

图1-4 单片机和PTR2000接口电路原理图6、接收端单片机和PTR2000的接口电

图1-4中,AT89C52单片机主要完成数据的采集和处理,向PTR2000模块发送数据并且接收PC 机通过PTR2000传送过来的数据。和单片机相连的PTR2000模块主要是将单片机的待传数据调制成射频信号,发送到PC 机端的PTR2000模块,同时接受PC 机端PTR2000模块传过来的射频信号,并调制成单片机能够识别的TTL 信号送给单片机。

图1-5 接收端单片机和PTR2000接口电路原理图

7、串行无线通信协议设计

无线通信中,由于外部环境的干扰,通常误码率是比较高的,因此通信协议的设计对保证通信的可靠性十分重要。对于协议设计而言,最重要的就是帧结构的设计。

本实验存在指令帧和数据帧。数据帧的内容包括起始字节、数据长度字节、数据字节、结束字节、和校验和字节,见下表1-6

表1-6 串行无线通信的数据帧结构

三.源程序

1、发送端单片机程序设计

//发送模块

//////////////////////// #include //////////////////////// #define uchar unsigned char #define uint unsigned int ////////////////////////

sbit TXEN=P2^0;//定义发送\接受模式选择位

sbit PWR_UP=P2^1;//工作模式\待机模式选择位

sbit CS=P2^2;//频率通道选择位 sbit test=P0^0;

//////////////////////// uchar T_buffer[11]={0x55,0xaa};

uchar R_buffer[11]; /////////////////////// //配置UART;9600; void init_UART() {

TMOD=0X20; TH1=0XFD; TL1=0XFD;

TR1=1;//波特率设置

SCON=0X40; ////// }

///////////////// void delay_1s()

{

uint delay_1s_aa=60000; while(delay_1s_aa-->0); }

//////////////// uchar flag=0; uchar i=0; uint aa=0; void main() {

init_UART();//初始化UART,9600 IE=0x90;//开启UART 中断 //////// aa=240; while(aa-->0);

TXEN=0;//TXEN经过反相器反向后变成高电平 aa=78; while(aa-->0); while(1) {

SBUF=T_buffer[i];//发送数据 while(flag==0);//等待发送中断

并结束 } } //

void s_(void) interrupt 4 using 1 {

if(TI==1) { } }

TI=0; flag=1; test=0;

delay_1s();//等待一段时间 flag=0;//将标志复位 if(i==0)

i=1;

//换一个数据

else

i=0;

2、接收端计算机程序设计

#include /////////////////// #define uchar unsigned char #define uint unsigned int ///////////////////

sbit TXEN=P2^0;//定义发送\接受模式选择位

sbit PWR_UP=P2^1;//工作模式\待机模式选

择位

sbit CS=P2^2;//频率通道选择位 //////////////////////// uchar buffer;

//////////////////////// //开机延时程序, 等待电压稳定 void init_delay() {

}

uchar delay_a=200; while(delay_a-->0);

REN=1;//UART使能接受 IE=0X90;//开启UART 中断 while(1) {

while(flag==0);//等待UART 的接

/////////////////////// //配置UART;9600; void init_UART() { }

////////// uchar flag=0; /////////// void main() {

uint aa=728; P0=0X00;

init_UART();//初始化UART,9600 while(aa-->0);//等待5MS 四.干扰分析 TMOD=0X20; TH1=0XFD; TL1=0XFD;

TR1=1;//波特率设置

SCON=0X40; //////

受中断并结束

P0=buffer;//将接受下来的数据

通过P0口显示出来 }

//////////// //UART的接受中断

void R_(void) interrupt 4 using 1 {

if(RI==1) {

RI=0;//将接受中断标志位复位 buffer=SBUF;//将UART 中的数据 }

flag=0;//将标志复位

接收下来,并保存在buffer 变量中 }

}

flag=1;//将标志置位

51系列单片机工作的时候,会产生比较强的电磁辐射,频率范围在9MHZ-900MHZ ,因此它会影响任何此频率内的无线接收设备的灵敏度,解决的方法是尽量降低CPU 晶体的频率。测试表明:在1M 晶体的辐射强度,只有12M 晶体时的1/3,因此,如果把晶体频率选择在500K 以下,可以有效降低CPU 的辐射干扰。另外一个比较好的方法是:将接收模块通过一个3芯屏蔽电缆(地,+5V,DATA ,屏蔽线的地线悬空)将模块引出到离开单片机2米以外,则不管51CPU 使用那个频率的晶体,这种干扰就会基本消除。对于PIC 单片机,则没有上述辐射干扰。可以任意使用。

第五部分 实验结果

刚上电,效果不明显,数据有误码

待稳定以后,数据显示为

55H

LED 显示数据为55h 第六部分 参考文献

[1]何立民.MCS51系列单片机应用系统设计[M ]. 北京:北京航空航天 出版社,1999. [2]沈红卫. 单片机应用系统设计实例与分析[M ]. 北京:北京航空航 天大学出版社,2003

无线串口通信实验报告

CHINAJIA

无线串口通信

一 实验目的

1 完成串口基本实验(MCU 和PC 通信)

2 完成无线模块的调试

3 编制通信协议是通信可靠稳定 二.实验原理

1、无线数据传输模块PTR 2000和无线通信芯片nRF401

本实验项目选用的无线传输模块为PTR2000,他是一种超小型、低功耗、高速率的无线收发数据传输模块,使用的是挪威Nordic 公司推出的nRF401无线通信芯片。该芯片使用了433MHz IGM频段,是真正的单片UHF 无线收发一体芯片。

在数据编码方面,nRF401采用串口传输,无须多数据进行曼彻斯特编码,应用及编程非常简单,传送的效率很高,标称速率就是实际速率。

在控制芯片外围元件的数量方面,nRF401也是一个较为理想的选择,它的外围元件仅需10个左右,无须声表面滤波器、变容器等昂贵的元件,只需使用4MHz 的晶体,收发天线合一,减小了系统开发的难度。

在目前较为流行的无线通信芯片中,无论是从使用的方便性、传输速度还是输出功率等各个方面考虑,nRF401都是较为理想的选择,本实验项目就是基于 nRF401芯片的无线数据传输模块。

PTR2000是一种超小型、低功耗、高速度的无限数据传输模块,它的通信速率最高可达20Kbps, 也可工作在其他速率,如4800bps/9600bps。PTR2000采用了低发射功率、高灵敏度设计,可满足无线管制的要求且无须使用许可证,是目前低功率无线数据传输的理想选择。

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) :滤波器接入端。

VCO1、VCO2(引脚5、6) :外界压控振荡电感。

DIN(引脚9) :发射数据输入端,该引脚用于从单片机接收要发送的数据。 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引脚功能说明

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=0时,模块为数据接收状态。

正确地设置工作模式对于使用PTR2000模块至关重要,对于PTR2000模块而言,它的工作模式设置主要包括工作频道的设置和发送、接收、待机状态的设置,这由TXEN 、CS 、PWR 三个引脚共同决定,如 下表1-3:

表1-3 PTR2000工作模式设置

5、发送端单片机和PTR2000的接口电路设计

本实验项目中单片机选用Atmel 公司的AT89C52, 它通过自己的串口以及I/O控制口与PTR2000直接相连,接口电路如图1-4所示:

图1-4 单片机和PTR2000接口电路原理图6、接收端单片机和PTR2000的接口电

图1-4中,AT89C52单片机主要完成数据的采集和处理,向PTR2000模块发送数据并且接收PC 机通过PTR2000传送过来的数据。和单片机相连的PTR2000模块主要是将单片机的待传数据调制成射频信号,发送到PC 机端的PTR2000模块,同时接受PC 机端PTR2000模块传过来的射频信号,并调制成单片机能够识别的TTL 信号送给单片机。

图1-5 接收端单片机和PTR2000接口电路原理图

7、串行无线通信协议设计

无线通信中,由于外部环境的干扰,通常误码率是比较高的,因此通信协议的设计对保证通信的可靠性十分重要。对于协议设计而言,最重要的就是帧结构的设计。

本实验存在指令帧和数据帧。数据帧的内容包括起始字节、数据长度字节、数据字节、结束字节、和校验和字节,见下表1-6

表1-6 串行无线通信的数据帧结构

三.源程序

1、发送端单片机程序设计

//发送模块

//////////////////////// #include //////////////////////// #define uchar unsigned char #define uint unsigned int ////////////////////////

sbit TXEN=P2^0;//定义发送\接受模式选择位

sbit PWR_UP=P2^1;//工作模式\待机模式选择位

sbit CS=P2^2;//频率通道选择位 sbit test=P0^0;

//////////////////////// uchar T_buffer[11]={0x55,0xaa};

uchar R_buffer[11]; /////////////////////// //配置UART;9600; void init_UART() {

TMOD=0X20; TH1=0XFD; TL1=0XFD;

TR1=1;//波特率设置

SCON=0X40; ////// }

///////////////// void delay_1s()

{

uint delay_1s_aa=60000; while(delay_1s_aa-->0); }

//////////////// uchar flag=0; uchar i=0; uint aa=0; void main() {

init_UART();//初始化UART,9600 IE=0x90;//开启UART 中断 //////// aa=240; while(aa-->0);

TXEN=0;//TXEN经过反相器反向后变成高电平 aa=78; while(aa-->0); while(1) {

SBUF=T_buffer[i];//发送数据 while(flag==0);//等待发送中断

并结束 } } //

void s_(void) interrupt 4 using 1 {

if(TI==1) { } }

TI=0; flag=1; test=0;

delay_1s();//等待一段时间 flag=0;//将标志复位 if(i==0)

i=1;

//换一个数据

else

i=0;

2、接收端计算机程序设计

#include /////////////////// #define uchar unsigned char #define uint unsigned int ///////////////////

sbit TXEN=P2^0;//定义发送\接受模式选择位

sbit PWR_UP=P2^1;//工作模式\待机模式选

择位

sbit CS=P2^2;//频率通道选择位 //////////////////////// uchar buffer;

//////////////////////// //开机延时程序, 等待电压稳定 void init_delay() {

}

uchar delay_a=200; while(delay_a-->0);

REN=1;//UART使能接受 IE=0X90;//开启UART 中断 while(1) {

while(flag==0);//等待UART 的接

/////////////////////// //配置UART;9600; void init_UART() { }

////////// uchar flag=0; /////////// void main() {

uint aa=728; P0=0X00;

init_UART();//初始化UART,9600 while(aa-->0);//等待5MS 四.干扰分析 TMOD=0X20; TH1=0XFD; TL1=0XFD;

TR1=1;//波特率设置

SCON=0X40; //////

受中断并结束

P0=buffer;//将接受下来的数据

通过P0口显示出来 }

//////////// //UART的接受中断

void R_(void) interrupt 4 using 1 {

if(RI==1) {

RI=0;//将接受中断标志位复位 buffer=SBUF;//将UART 中的数据 }

flag=0;//将标志复位

接收下来,并保存在buffer 变量中 }

}

flag=1;//将标志置位

51系列单片机工作的时候,会产生比较强的电磁辐射,频率范围在9MHZ-900MHZ ,因此它会影响任何此频率内的无线接收设备的灵敏度,解决的方法是尽量降低CPU 晶体的频率。测试表明:在1M 晶体的辐射强度,只有12M 晶体时的1/3,因此,如果把晶体频率选择在500K 以下,可以有效降低CPU 的辐射干扰。另外一个比较好的方法是:将接收模块通过一个3芯屏蔽电缆(地,+5V,DATA ,屏蔽线的地线悬空)将模块引出到离开单片机2米以外,则不管51CPU 使用那个频率的晶体,这种干扰就会基本消除。对于PIC 单片机,则没有上述辐射干扰。可以任意使用。

第五部分 实验结果

刚上电,效果不明显,数据有误码

待稳定以后,数据显示为

55H

LED 显示数据为55h 第六部分 参考文献

[1]何立民.MCS51系列单片机应用系统设计[M ]. 北京:北京航空航天 出版社,1999. [2]沈红卫. 单片机应用系统设计实例与分析[M ]. 北京:北京航空航 天大学出版社,2003


相关文章

  • 无线电台通信方案介绍
  • 无线电台通信方案介绍 一.前言 用无线电台方式实现远程数据采集.监视与控制,相对于架设专用电缆(或光缆).租用电信专线等,具有造价低廉.施工快捷.运行可靠.维护简单等优点. 二.无线电台与有线连接的通信方式示意比较 1.硬件连接 如果用TX ...查看


  • 基于51单片机的LED可见光通信系统
  • V lI y 4i"o匹^口i_ffri"4 lUgll--PARTS&AP器LI件CA与TI应ON用S [本文献信息l王涛.基于51单片机的LED可见光通信系统[J].电视技术,2013,37(9) 基于51单 ...查看


  • 基于BCI的壁虎动物机器人遥控刺激系统
  • 基于BCI的壁虎动物机器人遥控刺激系统 李海鹏1,戴振东1,谭华1,郭策1,孙久荣2 1南京航空航天大学仿生结构与材料防护研究所,南京 (210016) 2 北京大学生命科学学院,北京(100871) E-mail: 摘 要:论文介绍了一个 ...查看


  • 蓝牙通用外接模块实例
  • 蓝牙是一种短距离无线通信技术.本文从蓝牙协议栈中的HCI 层入手,对该层的主要功能和工作机制进行了剖析,进而阐述了基于HCI 层的蓝牙应用开发方案,并设计了一个基于蓝牙技术开发的产品实例--蓝牙通用外接模块,最后,还对基于此模块的扩展应用- ...查看


  • 污水处理监测方案
  • 污水处理监测系统应用方案 一.项目背景 随着经济的发展,我国的污水排放量已越来越大,已造成地表水的严重污染,环境质量呈现不断恶化趋势,但目前全国各地对污染源和排污河渠的水质监测仍停留在手工监测阶段,时间覆盖率低,样品缺乏科学性和代表性,难以 ...查看


  • 单片机无线通信系统的设计与实现
  • 第3期2010年6月 微处理机 MICROPROCESSORS No.3Jun.,2010 ·微机网络与通信· 单片机无线通信系统的设计与实现 黄 婷,施国梁,黄 坤 (苏州大学电子信息学院,苏州215006) 要:给出了一种基于51系列单 ...查看


  • 车载无线中控系统
  • 摘 要: 针对中低端车辆车载系统缺乏智能的问题,将嵌入式ARM控制系统与4G无线传输系统相结合,设计了基于ARM车载控制系统的无线远程监控系统.介绍了系统的整体架构以及模块间的数据通信和信号控制.为加强车主对车身的把握,系统有激光测距进行平 ...查看


  • 智能家居设计方案
  • <无线传感器网络技术> 设计方案 题 目: 基于ZigBee 的智能家居设计 学 院: 自动化学院 班 级: 15级自动化3班 学 号: [1**********]9 姓 名: 金威 任课老师: 黄成 基于ZigBee 的智能家 ...查看


  • 国家级省级"项目阶段报告"书写格式
  • "基于无线传感网络的核电站人员定位系统设计"阶段性研 究报告 金师兴 李永强 刘思綦 一.项目名称 基于无线传感网络的核电站人员定位系统设计 二.项目综述 无线传感网络(Wireless Sensor Network)技 ...查看


热门内容