《单片机应用设计-基于单片机的433M无线通信系统》廖永斌

《单片机应用设计-基于单片机的433M无线通信系统》廖永斌
《单片机应用设计-基于单片机的433M无线通信系统》廖永斌

课程设计

题目基于单片机的433M无线通信系统学院

专业

班级

姓名

指导教师

2018年 1月 13日

《单片机应用设计》任务书

学生姓名:专业班级:

指导教师:工作单位:

题目: 基于单片机的433M无线通信系统

课程设计目的:

1、熟悉单片机应用系统的硬件设计及软件设计的基本方法;

2、将《单片机原理与应用》理论课的理论知识应用于实际的应用系统中;

3、训练单片机应用技术,锻炼实际动手能力

4、提高正确地撰写论文的基本能力。

课程设计内容和要求

1、完成硬件电路的设计,其中包括单片机和CC1101模块的设计;

2、完成无线通信模块的程序设计与实现,上机运行调试程序,记录实验结果(如图表等),

并对实验结果进行分析和总结;

3、课程设计报告书按学校统一规范来撰写,报告主要包括以下内容:目录、摘要、关键

词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论献等;

4、查阅不少于6篇参考文献。

初始条件:

1、STC89C52和CC1100H模块;

2、先修课程:单片机原理与应用。

时间安排:

第19周,安排设计任务,完成硬件设计;

第20周,完成软件设计、撰写报告,答辩。

指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录

摘要 (Ⅰ)

Abstract (Ⅱ)

1基本原理 (1)

1.1无线通信系统 (1)

1.2芯片简介 (1)

1.2.1单片机STC89C52 (1)

1.2.2 无线通信CC1101芯片 (3)

2方案论证与设计 (5)

2.1无线通信模块选择 (5)

2.2 单片机最小系统选择 (5)

2.3整体方案设计 (6)

3 硬件电路设计 (6)

4软件程序设计 (8)

4.1发送端编程 (8)

4.2接收端编程 (9)

4.3程序调试与下载 (10)

5硬件仿真 (12)

6实物制作与调试 (12)

6.1 STC89C52单片机最小系统 (12)

6.2无线通信模块CC1101 (13)

6.3稳压电路模块 (13)

7心得体会 (15)

8参考文献 (16)

附录 (17)

摘要

随着通信系统信息容量的不断提高,射频技术在无线通信中占据着举足轻重的位置。无线射频技术利用射频方式进行非接触双向通信,可以自动识别目标对象并获取相关数据,具有精度高、适应环境能力强、抗干扰强、操作快捷等许多优点。本文主要内容是以单片机应用技术、无线收发技术为理论基础,实现数据的无线收发及状态的显示。

首先,本文介绍了STC89C52单片机以及无线收发芯片CC1101的相关理论知识。其次本文对于要解决的实验任务,介绍了如何构建思路及方案分析。详细介绍了系统的设计方案及各个模块的器件选型和硬件电路设计,MCU部分的软件设计流程图以及无线通信模块CC1101的软件编程要点。完成了基于单片机的433M无线通信系统的设计实现。433MHz频段的优点在于无需申请频段许可,采用全向天线作为发射和接收天线,在实验室环境内发射无死区。

关键字:STC89C52 CC1101 433M无线通信

Abstract

With the continuous improvement of information capacity of communication system, radio frequency technology plays an important role in wireless communication. Wireless rf technology using non-contact two-way communication in the form of radio frequency (rf) can automatically identify the target object and obtain the relevant data, has high precision, strong ability to adapt, strong anti-interference, quick operation and many other advantages. The main content of this paper is the application technology of single chip microcomputer and wireless transceiver technology as the theoretical basis to realize the wireless transmission and status display of data.

First of all, this paper introduces the relevant theoretical knowledge of STC89C52 single chip microcomputer and wireless transceiver chip CC1101. Secondly, this paper introduces how to construct train of thought and plan analysis. This paper introduces the design scheme of the system and the device selection and hardware circuit design of each module, the software design flow chart of the MCU part and the software programming key points of the wireless communication module CC1101. The design and implementation of the 33m wireless communication system based on SCM is completed. The advantage of the 433MHz frequency band is that there is no need to apply for the band license, and the whole antenna is used as the transmitting and receiving antenna, and there is no dead zone in the laboratory environment.

Key words: STC89C52 CC1101 433M wireless communication.

1基本原理

1.1无线通信系统

无线通信就是不用导线、电缆、光纤等有线介质,而是用自由空间来传递电磁信号的通信方式。无线通信主要包括短波通信﹑微波通信﹑卫星通信和红外线通信。而无线收发顾名思义,就是将两块通信模块以空气为传输介质来实现发送和接收数据。发送时,通过模块中携带数据的变化高频电流,在天线上形成电磁波信号,发送出去。而接收端中,天线将接收到的电磁波信号转换为携带数据的变化高频电流。

短距离无线数据传输技术是作为一种无线通信的实用技术广泛应用于工业、农业以及人们日常生活中的,它是在一个单片的射频收发芯片和微控制器以及一些外围的电子器件(如电阻、电容等)构成的无线通信模块硬件电路的基础上,再配合软件上的开发,并按照命令字节的协议进行数据包的操作,便可实现其最基本的无线数据传输功能。简单的讲,只要有微控器,单片射频收发芯片以及少量的外围和显示设备就可以构成一个无线传输系统,传输系统结构如图1.1所示。

图1.1 无线传输系统结构图

1.2芯片简介

1.2.1单片机STC89C52

STC89C52是一种低功耗、高性能的CMOS 8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash ROM,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,2个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。

1.参数说明:

(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指

令代码完全兼容传统8051;

(2)工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机);

(3)工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz;

(4)用户应用程序空间为8K 字节;

(5)片上集成512 字节RAM;

(6)通用I/O 口(32个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻;

(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片;

(8)具有EEPROM 功能;

(9)具有看门狗功能;

(10)共3个16位定时器/计数器。即定时器T0、T1、T2;

(11)外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒;

(12)通用异步串行口(UART),还可用定时器软件实现多个UART;

(13)工作温度范围:-40~+85℃(工业级)/0~75℃(商业级);

(14)PDIP 封装;

2.引脚说明

(1)电源引脚

VCC:+5V 电源

VSS:接地端

(2)外接晶体引脚

XTAL1:外接晶振输入端

XTAL2:外接晶振输入端

(3)输入输出引脚

P0.0~P0.7:不作为地址/数据线使用时,可作为准双向I/O口使用。但必须外接上拉电阻。

P1.0~P1.7:带内上拉电阻的8位准双向通用I/O 口。

P2.0~P2.7:带内上拉电阻的8位准双向通用I/O 口。访问片外存储器时,P2 口用作高8位地址线。

P3.0~P3.7:8位准双向I/O接口,每个引脚还具有第二功能

(4)控制线

RST是复位端,当RST端出现持续两个机器周期以上的高电平时,即可实现复位操

作。

本实验基于STC89C52的单片机最小系统如图1.2所示

图1.2 单片机最小系统电路结构图

1.2.2 无线通信CC1101芯片

CC1101是TI(德州仪器)推出的一款低功耗433/868/915M频段的无线传输射频芯片,集2-FSK、GFSK、MSK调制方式于一体,提供扩展硬件支持的信息包处理、数据缓冲、群发信息、空闲信道评估、连接质量指示(RSSI)和无线唤醒,其具有多种优势特性,使得此芯片得到广泛应用。CC1101芯片具有以下基本特征:

(1)支持 2-FSK、4-FSK、GFSK、MSK以及 OOK等等灵活的 ASK 波形整形的实现的方式;

(2)工作频段:300~348 MHz、387~464 MHz 和 779~928 MHz;

(3)高灵敏度(1.2 kBaud、433 MHz、1% 误包率条件下为–112 dBm);

(4)低电流消耗(1.2 kBaud、433 MHz 下 RX 中为 15 mA);

(5)所有支持频率下高达 +12dBm 的可编程输出功率;

(6)0.6~500kBaud 的可编程数据速率;

(7)高效的 SPI 接口;利用一次“突发”数据传输便可对所有寄存器进行编程,编程很简洁;

(8)64字节发送/接收FIFO,从而用户可以设计出高效编程缓冲,以达到最快传输

波特率;

(9)快速的锁定频率合成器以及 90 μS的建立时间使其适合于许多跳频系统;

(10)提供同步字检测、地址校验、灵活的数据包长度和自动 CRC 处理的片上支持;

(11)地址及CRC 检验功能及点对多点通信地址控制;

(12)数字 RSSI 输出,这是许多射频芯片无法输出的重要参数;

(13)可编程信道滤波器带宽;

(14)可编程载波监听 (CS) 指示器;

(15)可编程前导质量指示器 (PQI),用于随机噪声伪同步字检测增强保护;

(16)支持在信号发送之前自动空闲信道评估 (CCA)(用于载波监听系统)

(17)支持每个数据包的链路质量指示 (LQI);

(18)可选数据自动白化和去白 (de-whitening);

(19)标准2.54 DIP 间距接口,便于嵌入式应用;

(20)125 个可选工作频道,满足多点通信和跳频通信需要;

(21)1.8V~3.6V的宽工作电压;

本实验中所用的CC1101芯片模块的电路结构如图1.3所示

图1.3 CC1101芯片模块的电路结构图

2方案论证与设计

经过仔细地分析与论证,我认为此次的基于单片机的488M无线通信系统可分为无线通信模块CC1101、单片机STC89C52最小系统、STC-ISP系统编程下载三部分组成。

2.1无线通信模块选择

方案一:nRF905芯片

nRF905单片无线收发器是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9-3.6V,32引脚QFN封装(5mm×5mm),工作于433/868/915MHz3个ISM频道(可以免费使用)。最大发射功率+10dBm,GFSK调制模式,仅支持50kbps通讯速率,最大数据包长度32-Byte,内置CRC。校验测试nRF905时选用444.0MHz的工作频率,设置发射功率为+10dBm(10mW),开启CRC校验,设置数据包长度为32-Byte。nRF905通讯距离的测试结果与nRF2401A和nRF24L01+相似,距离500米通讯稳定(丢包率不足1%)。到700米时出现严重的丢包。同时,nRF905所采用的433MHz胶棒天线具有较强的方向性,在接近极限距离时尤为明显。如想在远距离通讯中获得更好的稳定性,建议换用高增益的定向天线。

方案二:CC1101芯片

德州仪器(TI)射频芯片CC1101,相较于nRF系列的无线数传芯片,CC1101提供了更加丰富的功能。支持ASK、OOK、GFSK、2-FSK、4-FSK和MSK调制模式,支持通讯速率0.6kbps~500kbps,最高发射功率+10dBm。64-Byte的数据缓冲区,支持数据白化、支持前向交错及曼彻斯特编码。它们会增加数据在传输时的可靠性和出现错误编码时的纠错功能。但开启这两个功能的同时也会使通讯速率增加一倍,这也在一定程度上降低了接收灵敏度(速率越高接收灵敏度越低)。

综上所述,考虑到芯片性价比和系统功能实现难易程度,本设计选用方案二中TI的射频芯片CC1101作为无线通信系统的数据传输模块。

2.2 单片机最小系统选择

方案一: STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。

方案二:STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

经比较,考虑到在课程学习的进度和深度方面,方案二STC89C52的使用可以巩固课内知识的同时也提高可课外动手实践能力,可以在基本不增加硬件复杂性的情况下,大大降低了软件的复杂性,且硬件调节较软件调节具有更高的可操作性,故选择方案二。

2.3整体方案设计

本系统使用无线传输模块CC1101作为数据通信节点,STC89C52单片机作为微控制器

核心,将程序下载到2个单片机中,然后按KEY后发送信息,发送信息完毕后,发送方单片机控制LED闪烁,如果接收方接受到发送方数据,且经验证接收数据信息的正确性和无丢包后,控制接收端LED闪烁。而且两个STC89C52均可做为发送端和接收端,一个做为发送,对应另一端即为接收,实现及时双向通信。

系统结构框图如图2.1所示

图2.1 433M无线通信系统结构框图

3 硬件电路设计

3.1 STC89C52单片机最小系统

对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。在制作51单片机最小系统时需注意以下几点:

(1)复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短;

(2)晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大,处理速度越快;

(3)起振电容C2、C3一般采用15~33pF,并且电容距离晶振越近越好,晶振距离单片机越近越好;

(4)P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k;

STC89C52单片机最小系统的电路设计图如图3.1所示。

图3.1 STC89C52单片机最小系统电路设计图

3.2 无线通信模块CC1101

射频模块布线是整个系统PCB板设计中的核心。外围器件最好选用体积小的贴片元件,滤波电容尽可能接近器件引脚布置,这样滤波效果会更好。尽可能将数字电路远离射频电路因为数字电路存在陡峭的上升下降沿,所以MCU是射频电路的巨大噪声源,也可以考虑使用金属屏蔽罩,虽然该办法存在很多缺点,但仍然非常有效,而且在很多时候是隔离关键电路的唯一办法。虽然CC1101的使用手册给出了外围器件的详细参数,但实际应用中,很多时候阻抗匹配仍然需要重新测量计算,也要调整相应器件的参数。比如接地电容,由于板存在分布电容,实际使用的电容要比推荐的略小一些。整个PCB板最好采用统一接地方式。虽然数字地会干扰射频地和模拟地,但是若分开成3部分,最终总是有些高速信号线要穿过这些分开的接地点。

在CC1101无线通信模块的设计过程中要注意以下问题:

(1)VCC(5V)脚接电压范围为 4.5V到5.5V之间,推荐电压5V,不能在这个电压区间之外。

(2)VCC(3.3V)脚接电压范围为 1.8V-3.5V之间,不能在这个区间之外,超过3.6V 将会烧毁模块。这里使用LM1117-3.3V芯片转换得到。

(3)硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI 不需要单片机SPI模块介入,只需添加代码模拟SPI时序即可。

(4)17脚、18脚为接地脚, 需要和母板的逻辑地连接起来。

CC1101模块的电路设计图如图3.2所示。

图3.2 CC1101模块的电路设计图

4软件程序设计

4.1发送端编程

STC89C52控制CC1101作为发射端的编程流程主要包括以下4部分。

(1)数据编码:计算待发送数据的字节和数据包的编码;

(2)发射模式初始化:上载数据到TX、FIFO,使能TX;

(3)激活TX状态:如果所有字节没有完全写到TX 、FIFO,MCU将设置为低功耗模式;

(4)TX、FIFO阈值中断:填充TX、FIFO,当数据字节低于256时设置为固定长度模式,所有字节全部写完则完全发送。

STC89C52控制CC1101作为发射端的编程流程图如图4.1所示。

图4.1 CC1101发送模式流程图

4.2接收端编程

STC89C52控制CC1101作为接收端的编程流程主要包括以下5部分。

(1)初始化RX:设置无线长度模式并设置FIFO阈值;

(2)激活RX状态:如果所有字节没有完全读到RX FIFO,MCU将设置为低功耗模式;

(3)RX FIFO阈值中断:从RX FIFO读取长度字段,计算接收数据字节的总长度,数据字节低于255时设置为固定长度模式,计算并设置PKTLEN;

(4)RX数据包的接收:读出剩余字节,读完所有字节则完全接收;

(5)数据包解码,循环冗余码校验;

STC89C52控制CC1101作为接收端的编程流程图如图4.2所示。

图4.2 CC1101发送模式流程图

4.3程序调试与下载

本次单片机课程设计使用C语言进行目标程序的撰写,并利用keil软件来对程序进行调试。在“433M无线通信系统”课题中将整个系统的软件编程放在一个工程中,然后分别对各个功能程序单独编译调试,在单元的调试没有问题之后便对整个工程总体调试运行,在确认完成了所有的功能后便将对应程序生成.hex文件准备烧入单片机芯片中去。.hex 文件的烧入这次我们使用了USB转TTL的接口来实现。

keil软件调试界面如图4.3所示。stc-isp的在系统编程与下载界面如图4.4所示。

图4.3 keil软件调试界面

图4.4 stc-isp的在系统编程与下载界面

5硬件仿真

6实物制作与调试

6.1 STC89C52单片机最小系统

STC89C52单片机最小系统电路设计图如图6.1所示。

图6.1 单片机最小系统电路设计图6.2无线通信模块CC1101

无线通信模块CC1101电路设计图如图6.2所示。

图6.2 无线通信模块CC1101电路设计图

6.3稳压电路模块

3.3V稳压电路设计图如图6.3所示。其是利用LM1117-3.3芯片将输入的5V电压输出为3.3的电压,并且实现了较小纹波的电压稳定输出。

图6.3 3.3V稳压电路设计图

6.4 433M无线通信系统整体电路

433M无线通信系统整体电路图如图6.4所示。

图6.4 433M无线通信系统整体电路图

本系统使用无线传输模块CC1101作为数据通信节点,STC89C52单片机作为微控制器核心,将程序下载到2个单片机中,然后按KEY后发送信息,发送信息完毕后,发送方单片机控制LED闪烁,如果接收方接受到发送方数据,且经验证接收数据信息的正确性和无丢包后,控制接收端LED闪烁。而且两个STC89C52均可做为发送端和接收端,一个做为发送,对应另一端即为接收,实现及时双向通信。

7心得体会

这次的课程设计实践时间虽然短暂,但却使我受益匪浅。在书本上的知识实现到现实中的同时,也学到了很多书本中学不到的知识。让我感受到理论付诸于实践的重要性,这对知识的理解有很大的帮助。

对于这次课程设计,我花费了比较多的心思,这既是对课程理论内容的一次复习和巩固,同时也让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也能为资料的保存和交流提供了方便;我觉得在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计又出错了。

刚开始的时候,由于对无线通信模块CC1101的知识不熟悉,所以做起来比较困难。我大量查阅图书馆和网上的资料,希望能尽量在较短的时间内了解关于无线通信模块CC1101在通信系统上的应用,和有关射频模块的理解与应用及使用方法。在PROTUES仿真STC89C52单片机最小系统过程中,真真切切地感受到了仿真工具的重要性,如果能够熟练灵活运用仿真工具可大大的减短数学设计的周期。最后在实际中,先分开调试子模块STC89C52最小系统和无线通信模块CC1101,再对整体基于单片机433M无线通信系统实物进行软件调试和硬件方面功能测试。

此次的设计,其实也是我们所学知识的一次综合运用,让我深深的认识到了学习单片机要有一定的基础,要有电子技术方面的数字电路和模拟电路等方面的理论基础,特别是数字电路;也要有编程语言的汇编语言或C语言。要想成为单片机高手,我们首先要学好汇编语言,然后转入C语言学习,所以我们不能学到后面就忘了前面的知识,更应该将所学的知识紧紧的结合在一起,综合运用,所谓设计,就是要求创新,只有将知识综合运用起来才能真正的设计好。

通过这次单片机专业课程实践设计,我觉得收获了很多,无论是理论知识的学习,还是实践部分的运用。在课程设计之前,虽然自己已经接触过一些有关于单片机的知识,比如51系列、430超低功耗系列、STM32系列等等,但是跟射频相关的部分还是很生疏,在本次单片机专业课程实践设计中第一次接触无线射频模块CC1101,了解其在无线通信、射

相关主题
相关文档
最新文档