基于单片机的串行通信发射机的设计与实现.docx
- 文档编号:6928059
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:22
- 大小:676.61KB
基于单片机的串行通信发射机的设计与实现.docx
《基于单片机的串行通信发射机的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的串行通信发射机的设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的串行通信发射机的设计与实现
武汉工程大学邮电与信息工程学院
毕业设计(论文)
基于单片机的串行通信发射机的
设计与实现
DesignandImplementationbasedonSerialCommunicationTransmitter
学生姓名
学号
专业班级
指导教师
2012年5月
作者声明
本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
如本毕业设计(论文)引起的法律结果完全由本人承担。
毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。
特此声明。
作者专业:
作者学号:
作者签名:
____年___月___日
摘要
在通信领域内,有两种数据通信方式:
并行通信和串行通信。
随着计算机网
络化和微机分级分布式应用系统的发展,通信的功能越来越重要。
因此串行发射应用愈来愈广泛。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在设备间交换信息,但传输速度较低。
故串行通信在低速率、长距离通信上非常适用。
而串行通信发射机是串行通信中极为重要的基础。
本设计中ADC0809将采集到的模拟信号转换成数字信号后传送至单片机,在单片机通过编程方式来增加CRC-8(8位循环冗余码校验)校验码以加强数据可靠性,最后单片机再把采集到的数据和校验码通过一个无线发送器以串行通信的方式发送出去。
本论文共分为六个章节。
第1章简要阐述了课题的研究背景及意义,并对串行通信发射机做了相关介绍;第2章介绍了系统的任务分析和设计方案;第3章主要介绍了系统的电路设计及所需设备及芯片;第4章对串行通信发射机的软件部分做了详细论述,并给出软件设计流程;第5章分析了系统测试过程及结果;第6章总结了全文并对课题的发展前景做了展望。
关键词:
单片机;CRC-8;串行通信
Abstract
Inthecommunicationsfield,therearetwodatacommunicationmethod:
parallelcommunicationandserialcommunication.WiththecomputernetworkNetworkofdistributedapplicationsandcomputergradingsystem,thecommunicationsfunctionisincreasinglyimportant.Therefore,theserialtransmitmoreandmorewidely.Serialcommunicationusingadatacable,dataaonefollowedbytransfereverydataoccupyafixedlengthoftime.Itonlytakesafewafewlinesyoucanexchangeinformationbetweendevices,butthelowtransmissionspeed.Serialcommunicationisidealforlow-rate,long-distancecommunication.Serialcommunicationstransmitterisanextremelyimportantfoundationoftheserialcommunication.
ADC0809analogsignalacquisitiontoconvertthedigitalsignalsenttothemicrocontroller,themicrocontrollerprogrammaticallytoincreaseCRC-8(8-bitcyclicredundancycheck)checksumtoenhancedatareliability,thefinalmicrocontrollerthencollectedthedataandcheckcodeserialcommunicationsentthroughawirelesstransmitter.
Thisthesisisdividedintosixchapters.Chapter1brieflydescribedtheresearchbackgroundandsignificance,andserialcommunicationtransmittersdo;Chapter2describesthetaskanalysisanddesignofthesystem;Chapter3introducesthecircuitdesignofthesystemandrequiredequipmentandchips;Chapter4,thesoftwareportionoftheserialcommunicationtransmitterindetail,andgivesthesoftwaredesignprocess;Chapter5analyzesthesystemtestprocessandresults;Chapter6summarizesthefulltextanddesignduringtheharvestthesentiment.
KeyWords:
Singlechipmicrocomputer;CRC-8;Serialprogramming
第1章选题背景和意义
目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。
随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强,应用也会更广泛。
单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。
这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。
在通信领域内,有两种数据通信方式:
并行通信和串行通信。
随着计算机网
络化和微机分级分布式应用系统的发展,通信的功能越来越重要。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
其特点如下:
传输线少、长距离传送时成本低、传输速率低.。
因此串行发射应用愈来愈广泛。
而串行通信发射机是串行通信中极为重要的基础。
此次设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。
本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。
理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。
第2章任务分析与方案设计
基于单片机的串行通信发射机系统的主要功能就是以单片机为控制芯片,把采集到的数据通过串行通信的方式进行传送。
本设计中数据采集器采用的是一个8通道8位线性模-数编码器ADC0809,给数据加CRC-8校验码则是采用编程的方式来实现的,发送方式采用了以无线传输的方式来传送串行数据的方法,故还需要设计一个无线发送电路。
这个系统有如下两个部分:
硬件电路部分有A/D转换器及接口电路、单片机的接口电路及A/D转换器与单片机的数据线、无线数据发射电路。
软件部分是A/D转换器的数据采集部分,用软件对A/D0809转换成的数据进行CRC-8编码,然后将采集到的八位数据和转换好的CRC-8编码作为一帧通过无线发送模块发送出去。
为了方便电路、程序的实时修改在本设计中全部采用仿真设计软件。
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件Proteus是唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
在本设计中采用Proteus来进行电路设计,采用Keil进来软件编写以及编译,最后将Keil编译出的程序文件跟Proteus进行联合仿真。
第3章电路设计
3.1电路连接仿真图
ADC0809跟MCS-51之间的数据交换采用并行传输方式,用MCS-51的P0口读ADC0809的数据,故只需用8条连线将P0.0~P0.7口分别与OUT1~OUT8连接即可,另外由于Proteus中没有MICRF102元件库,在本设计中就采用示波器来表示。
综合各芯片的引脚分布及功能特点,具体的电路连接图如图3.1所示。
图3.1电路连接仿真图
3.2MCS-51单片机
本系统采用MCS-51单片机,MCS是Intel公司单片机系列的符号。
Intel公司推出有MCS-48、MCS-51、MCS-96系列单片机。
其中MCS-51系列单片机典型机型包括51和52两个子系列。
在51子系列中,主要有8031、8051、875l三种机型,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器有所不同。
MCS-51单片机的引脚图如图3.2所示。
图3.2单片机引脚图
各引脚功能如下:
(1)P0.0~P0.7:
P0口是一个8位双向I/O口。
在访问外部存储器(RAM、ROM)和扩展的I/O口时分时进行工作。
在指令的前半周期,P0口作为地址总线的低8位,在指令的后半周期为8位的数据总线。
(2)P1.0~P1.7:
P1口是一个带有上拉电阻的8位双向I/O口。
(3)P2.0~P2.7:
P2口是一个带有上拉电阻的8位双向I/O口。
在访问外部存储器(RAM、ROM)和扩展的I/O口时,送出地址总线的高8位。
(4)P3.0~P3.7:
P3口是一个带有上拉电阻的8位双向I/O口在MCS-51单片机中,P3口是一个双功能口,其第一功能是作为通用I/O口,第二功能是作为特殊信号线使用。
(5)ALE(地址锁存控制信号):
在系统扩展时,ALE用于控制把P0口输出的低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
此外由于ALE是以晶振1/6的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。
(6)
(外部程序存储器读选通信号):
在读外部程序空间时
有效(低电平),以实现外部程序空间单元的读操作。
(7)
(访问内外程序存储器控制信号):
当
信号为低电平时,对ROM的读操作限定在外部程序存储器;而当
信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
(8)RST复位信号:
当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的初始化复位操作。
(9)XTAL1和XTAL2(外接晶体引线端):
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
(10)Vss:
地线。
(11)Vcc:
正5V电源。
3.3A/D转换器
本系统采用ADC0809进行模数转换,ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。
用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D转换电路的核心。
ADC0809引脚如图3.3所示。
图3.3ADC0809引脚图
各引脚的功能如下:
IN0~IN7:
8个通道的模拟量输入端。
可输入0~5V待转换的模拟电压。
D0~D7:
8位转换结果输出端。
三态输出,D7是最高位,D0是最低位。
A、B、C:
通道选择端。
当CBA=000时,IN0输入;当CBA=111时,IN7输入。
ALE:
地址锁存信号输入端。
该信号在上升沿处把A、B、C的状态锁存到内部的多路开关的地址锁存器中,从而选通8路模拟信号中的某一路。
START:
启动转换信号输入端。
从START端输入一个正脉冲,其下降沿启动ADC0809开始转换。
脉冲宽度应不小于100~200ns。
EOC:
转换结束信号输出端。
启动A/D转换时它自动变为低电平。
OE:
输出允许端。
CLK:
时钟输入端。
ADC0809的典型时钟频率为640kHz,转换时间约为100μs。
REF(-)、REF(+):
参考电压输入端。
ADC0809的参考电压为+5V。
VCC、GND:
供电电源端。
ADC0809使用+5V单一电源供电。
当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。
在START上升沿时,所有的内部寄存器清零,在下降沿时,开始进行A/D转换,此期间START应保持低电平。
在START下降沿后10us左右,转换结束信号变为低电平,EOC为低电平时,表示正在转换,为高电平时,表示转换结束。
OE为低电平时,D0~D7为高阻状态,OE为高电平时,允许转换结果输出。
3.4无线发射电路设计
无线发射电路如图3.4所示,电路以MICRF102为核心。
MICRF102芯片内包含有:
由基准振荡器、相位检波器、分频器、带通滤波器、压控振荡器构成的合成器,发射偏置控制,RF功率放大器,天线调谐控制和变容二极管等电路,是一个真正的"数据输入-无线输出"的单片无线发射器件。
UHF合成器产生载频和正交信号输出。
输入相位信号(I)用来驱动RF功率放大器。
天线调谐正交信号(Q)用来比较天线信号相位。
天线调谐控制部分检测天线通道中发射信号的相位和控制变容二极管的电容,以调谐天线,实现天线自动调谐。
功率放大器输出受发射偏置控制单元控制。
ASK/OOK调制,提供低功耗模式,数据传输速率为20kb/s。
图3.4无线发射电路
这个无线发射电路是基于MICRF102芯片设计的,在使用此芯片时要注意以下问题:
(1)REFOSC(引脚4)是基准振荡端,连接晶振到地,或采用AC耦合方式输入峰-峰值为0.5V的时钟脉冲。
发射频率是基准振荡器频率的32倍:
基准振荡频率×32=发射频率。
如果使用外接时钟信号,须采用AC耦合方式,输入信号幅度峰-峰值为200~500mV。
(2)MICRF102使用差分输出去驱动天线负载。
功率放大器输出级包含有一个变容二极管,它自动与天线的电感调谐,以保证谐振在发射频率上。
典型的PCB导线天线的电感与回路的尺寸、天线导线的宽度、PCB铜泊的厚度和接地板的位置有关。
设计时一般选择变容二极管的电容值为6.5pF。
天线电感L由公式L=1/(4π2f2C)计算。
(3)功率放大器的输出功率与PC端(引脚1)上的电压有关。
正常工作时,该引脚端上的电压被设置在0.2~0.4V之间。
PC端上的电压上升,输出功率加大;但是,如果PC端上的电压超过0.4V,功率放大器被限流,输出功率不再增加。
减少PC端的电压可降低电源功率消耗,同时也会减少RF输出功率。
(4)STBY端(引脚5)是待机模式控制。
接VDD为发射方式,接VSS为待机模式。
(5)MICRF102芯片对电源纹波敏感,正确地电源旁路是必需的,一般使用4.7μF、0.1μF、100pF3个电容并联在VDD和VSS之间。
第4章软件设计
4.1ADC0809工作地址
ADC0809与MCS-51单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本论文中选用中断接口方式。
由于ADC0809无片内时钟,时钟信号可直接由外部时钟信号源给出。
由于ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的A、B、C相连。
通道基本地址为0000H~0007H。
其对应关系如表4.1所示。
表4.1ADC0809地址码与对应输入通道
地址码
输入通道
C
B
A
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
在本系统中,由于只采用ADC0809的一个采样信道,故可直接将ADC0809的A、B、C三个接口接0电平。
控制信号:
将P2.0作为片选信号,在启动A/D转换时,由单片机的写信号和P2.0控制ADC的地址锁存和启动转换。
由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。
ADC0809工作时序图如图4.1所示。
图4.1ADC0809工作时序图
在读取转换结果时,用单片机的读信号
和P2.0引脚经或非门后,产生正脉冲作为OE信号,用一打开三态输出锁存器。
START信号和OE信号的逻辑表达式为
START=
(4.1)
OE=
(4.2)
当MCS-51通过对0000H~0007H(基本地址)中的某个口地址进行一次写操作,即可启动相应通道的A/D转换;当转换结束后,ADC0809的EOC端向MCS-51发出中断申请信号;MCS-51通过对0000H~0007H中的某个口地址进行一次读操作,即可得到转换结果。
通过电路图的电路连接方式可以算出,ADC0809的一个工作地址是FEF8H。
4.2A/D转换
中断方式使用EOC信号作为向MCS-51的中断申请。
在主程序中,向ADC发出首次启动转换信号后,并计数管理转换通道数。
当检测到EOC的请求后,转去执行中断服务程序,读取转换结果,并启动下一次转换,后继续执行。
A/D转换程序流程图如图4.2所示。
图4.2A/D转换程序流程图
4.3CRC-8编码
为保证单片机系统串行通信的可靠性,除了需采取硬件措施确保通信接口电平匹配、时序匹配消除波特率误差外,还需通过软件对通信数据的准确度进行校验。
MCS-51单片机的UART技术为应用系统实现串行通信奠定了基础。
MCS-51单片机串行通信系统中,主要采用奇偶校验方法,例如,设置MCS-51单片机为方式2(11位:
起始位0、数据位D0~D7、奇偶校验位、停止位1),通过检测接收数据的奇偶性来判断其传翰的数据是否畸变。
奇偶校验法简单、快速,但它只能进行数据的奇偶性畸变检测,对于双位畸变则无能为力,可靠度较差。
常见的校验方法还有多重校验、海明校验和CRC校验等。
多重校验采用多个校验位检测校验每一组数据中的每一位,具有相当高的可靠性,但由于检验位占据太多的数据流位置,因而通信设备利用率很低。
海明校验是奇偶校验与多重校验的折中,通过在数据流中插人一定数量的校验位,通过采取编码、译码与纠错等措施保证通信可靠性,这种方法实现过程复杂,且不能保证实现高可靠性通信。
CRC(CyclicRedundancyCheck)循环冗余校验技术可为MCS-51单片机系统实施高可靠通信设计提供技术支持。
CRC转换子程序流程图如图4.3所示。
图4.3CRC转换子程序流程图
4.3MCS-51单片机串行口结构与数据发送
MCS-51单片机的串行口是一个全双工串行口,在结构上它由两个物理上独立的接收和发送缓冲器SBUF(共用一个逻辑地址99H)、一个串行口控制寄存器(SCON)、由定时器TI构成的波特率发生器、移位寄存器等部件组成的通用异步收发器(UART),如图4.4所示。
图4.4单片机串行口结构图
串行口控制寄存器的主要功能是选择串行口的通信方式、发送和接收控制及串行口通信状态的指示。
SCON作为特殊功能寄存器之一,它占用内部98H地址,可以进行位寻址。
该寄存器各位意义如表4.2所示。
表4.2寄存器各位意义
SCON
9FH
9DH
9CH
9BH
9AH
99H
98H
98H
SM0/FE
SM1
SM2
REN
TBB
TRB
RI
1.串行工作方式选择位(SM0、SM1)
SCON寄存器中的SM0和SM1位的不同编码决定串行口的不同工作方式,如表4.3所示。
表4.3SM0和SM1串口工作方式
SM0
SM1
工作方式
功能
波特率
0
0
方式0
8位移位寄存器方式
/12
0
1
方式1
10位UART
可变
1
0
方式2
11位UART
/64、
/32
1
1
方式3
11位UART
可变
(1)方式0为8位移位寄存器方式。
该方式用于I/O口扩展。
在这种方式下,RXD端可以作为串行数据的输出和输入端,TXD按
/12的速率输出同步移位脉冲。
在同步移位脉冲作用下驱动外接的移位寄存器,可以将该串行口扩展为并行输出口或并行输入口。
该方式以8位数据为一帧,没有起始位和停止位。
这种串行口扩展I/O口方式,可节省单片机本身的I/O口资源。
(2)方式1为10位UART方式。
在这种方式下,串行口按串行通信字符格式在发送的8位数据前嵌入一个起始位,在8位数据后嵌入一个停止位,10位作为一帧发送。
波特率可按要求设定。
接收方以同样方式和波特率接收数据。
(3)方式2为11位UART方式。
在这种方式下,TB8作为发送的第9位数据,8位数据和第9位TB8与起始位和停止位,共11位构成一帧。
发送的第9位数据TB8是发送8位(D0~D7)数据的附加信息位,在双机通信时它可以代表数据的奇偶性,在多机通信时它可以表明所发的8位数据(D0~D7)是地址信息还是数据信息。
第9位作为附加信息位与SM2(多机通信控制位)配合,完成多个分机的寻址。
第九位数据TB8在发送前由程序设定。
(4)方式3与方式2类似。
它们之间的区别在于方式3波特率可变,更适用于要求以某一波特率进行多机通信的场合。
2.允许接收控制位REN
通信的双方在通信前由软件将该位置1,允许接收。
该位清零时禁止接收。
3.发送第9位TB8
该位是工作在方式2和方式3时要发送的第9位数据,根据需要由软件置位或清零。
在主从式多机通信时,该位作为标志位,标志所发数据是地址帧(TB8=1)还是数据帧(TB8=0),而由分机进行识别接收。
在双机通信时,该位也可当做附加奇偶校验位。
4.接收第9位RB8
该位是方式2和方式3时接收到的第9位数据。
在方式1中,如果接收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 串行 通信 发射机 设计 实现