单片机串口通信毕业论文.docx

上传人:b****3 文档编号:27427506 上传时间:2023-06-30 格式:DOCX 页数:54 大小:302.69KB
下载 相关 举报
单片机串口通信毕业论文.docx_第1页
第1页 / 共54页
单片机串口通信毕业论文.docx_第2页
第2页 / 共54页
单片机串口通信毕业论文.docx_第3页
第3页 / 共54页
单片机串口通信毕业论文.docx_第4页
第4页 / 共54页
单片机串口通信毕业论文.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

单片机串口通信毕业论文.docx

《单片机串口通信毕业论文.docx》由会员分享,可在线阅读,更多相关《单片机串口通信毕业论文.docx(54页珍藏版)》请在冰豆网上搜索。

单片机串口通信毕业论文.docx

单片机串口通信毕业论文

单片机串口通信毕业论文

 

摘要

在要监控的范围较大或监控点数较多的情况下,就需要把监控工作分散进行,而把监控结果集中管理。

这就是所谓的分布式监控。

而分布式监控比较常用的一种通信方式就是主从式通信了。

本文介绍了一个单片机做主机,两个单片机做从机的小型主从式总线通信系统的设计与实现。

系统不仅实现了主从机之间的通信,而且实现了从机之间的通信。

本文以主从式通信系统的分析与设计为主线,首先了解串行通信理论的有关概念,由此引出了多台设备间的串行通信模式,并提出了一个按总线方式将多个RS-232的发送端并联的可行方案。

同时也介绍了单片机之间的串行通信设计。

主从式通信的程序由两部分组成,一部分是主机的串行通信程序,别一部分是从机的串行通信程序。

因此要设计一个协议管理主从机之间的通信。

通信协议的设计主要解决了以下几个问题:

1.对于主从式通信系统的设计通过通信协议进行管理,可以对主从机之间的通信进行规范化管理,使整个系统不会陷入混乱通信之中。

2.设计了主机向从机发送通信方式的命令格式,从机向主机发送反馈命令的格式,以及通讯握手和发送/接收的具体处理流程

关键字:

主从式,多机通信,RS-232串行数据通信

 

Abstract

Aslargenumberofobservationpointsaremonitoredsimultaneously,eachofthetaskscanbecontrolledthroughadistributedcontrolsysteminordertofocusontheresultofobservation.ThisiscalledtheDistributedMonitoring.Thedistributedcontroliscommonlyusedasawayofmaster-slavecommunication.Thisarticledescribesamicrocontrollertobethehostandtwosmallmicrocontrollertobetheslaveandbythiswaytodesignamaster-slavebuscommunicationsystem.Systemnotonlyrealizesthecommunicationbetweenmasterandslave,butalsorealizesthecommunicationbetweentheslaves.

Thisthesisfocusedonanalysisanddesignofacommunicationsplanforadistributedmonitoredcontrolsystem.Inthebeginningtheapplicationbackgroundandthelayoutofthedevicesareintroduced,thisleadstotheserialcommunicationmodebetweenmultiple-device.AftertheintroductionafeasiblewaytoletseveralRS-232’sTXDbeinparallelviabusisdescribed.AlsointroducedthedesignofserialcommunicationbetweenMCU.

Communicationprotocoldesignedmainlytosolvethefollowingproblems:

first,forthemaster-slavecommunicationsystemdesignmanagementthroughcommunicationprotocolscanbestandardizedmanagementthemasterslavecommunications.Bythisway,thewholesystemwillnotintochaoscommunications.second,Designofthehostmachinetosendacommunicationfromthecommandformat,feedbackfromthemachinetosendcommandstotheformatofthehost,Communicationhandshakeandsend/receivethespecificprocesses

KeyWords:

Master-slavemode,Muliple-computercommunication,RS-232serialdatecommunication

1绪论

为了提高系统管理的先进性和安全性,计算机工业自动控制和检测系统越来越多地采用集总分散系统。

较为常见的形式是由一台作管理用的上位主计算机(主机)和多台直接参与控制检测的下位从计算机(从机)构成的主从式多机系统,主机和从机之间以通讯的方式来协调工作。

主机的作用一是要向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步决策和报表。

从机被动地接收、执行主机发来的命令,并且根据主机的要求向主机回传相应的实时数据,报告其运行状态[1]。

由于计算机工业自动控制和检测系统越来越多地采用集总分散系统,而主从式是其中最为普遍的一种方式。

51单片机由于其出色的性能和便宜的价格,目前仍然是国内用的最为广泛的8位单片机类型,因此选取基于51单片机的主从通信系统的设计与实现这个课题是十分有意义的。

通过这个课题,不仅对51单片机有了一个比较系统的认识与了解,还可以将所学习的单片机和C语言的有关知识应用到具体的实际中去。

同时,通过本次课题,还可以对主从通信有一个大体上的认识了解。

通过查找资料,可以学习到各种各样的主从通信的方法,也可以通过对比学习到具体实际情况下各种方法的具体应用。

随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。

通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。

由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。

在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。

所以串行接口是微机应用系统常用的接口。

本次课题的设计所采用的方法是用串口通信的方法来实现主从式总线通信系统的。

这是因为用串行总线技术可以使集总分散系统的硬件设计大大简化、系统的体积减小、可靠性提高。

同时,系统的更改和扩充极为容易。

MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的串行通讯接口,因此可以很方便地构成一个主从式多机系统。

1.2目前国内外本课题研究状况

由于计算机工业自动控制和检测系统越来越多地采用集总分散系统,而主从式是其中最为普遍的一种方式,因此各种各样主从式总线通信系统的方法不断涌现。

目前比较常用的有利用IIC总线传输协议设计的主从式总线通信系统,还有的是利用SPI总线传输协议和USB协议以及串口通信等设计的主从式总线通信系统。

由于主从式总线通信系统采用的的方法众多,因此目前国内外一般是根据实际情况而采用不同的方法去实现主从式通信系统的功能。

比如,如果要设计的主从式通信系统只是在小范围内传送数据,甚至只是在板间传送数据,或者要求使用的I/O口很少,而对于数据的抗干扰能力的要求不是很高的话,则采用IIC总线传输协议是最合适不过的了[2]。

IIC总线支持任何一种IC制造工艺,并且PHILIPS和其他厂商提供了种类非常丰富的I2C兼容芯片。

作为一个专利的控制总线,IIC已经成为世界性的工业标准。

每个器件都有一个唯一的地址,而且可以是单接收的器件(例如:

LCD驱动器)或者可以接收也可以发送的器件(例如:

存储器)。

发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。

IIC是一个多主总线,即它可以由多个连接的器件控制。

基本的I2C总线规范于20年前发布,其数据传输速率最高为100Kbits/s,采用7位寻址。

但是由于数据传输速率和应用功能的迅速增加,I2C总线也增强为快速模式(400Kbits/s)和10位寻址以满足更高速度和更大寻址空间的需求。

IIC总线始终和先进技术保持同步,但仍然保持其向下兼容性。

并且最近还增加了高速模式,其速度可达3.4Mbits/s。

它使得IIC总线能够支持现有以及将来的高速串行传输应用,例如EEPROM和Flash存储器。

而如果需要远距离传输数据,且对数据传送的抗干扰能力要求有点高,则可以使用RS-422或者RS-485协议进行主从式通信系统的设计。

另外,USB协议则是一种比较新型、快速、灵活的总线传输方法,此通信系统通常只有一个主机,利用此方法设计的通信系统有如下特点:

(1)适用范围广泛,适用于数码相机,高速数据采集等多种设备;

(2)支持热拔插,且此过程由系统自动完成,无需用户干预;(3)采用菊花链式的星型总线结构,支持多达127个外设同时连接;(4)1.5Mbps、12Mbps和480Mbps的3种速度模式,可以满足不同外设对速度的要求[3]。

USB发展到今天,总共有三种标准:

1996年发布的USB1.0,1998年发布的USB1.1以及刚刚发布的最新标准USB2.0,此三种标准最大的差别就在于数据传输率方面,在其它方面也有不同程度的改进,总体来说,就目前的USB2.0而言,已经拥有什么出众的性能与传输速率。

USB数据线由两对线组成,一对数据线,一对电力线,通过电力线可以为USB设备提供5V电压,允许通过最大电流为500mA,这个数字不算很大,但好在聊胜于无,可以满足一些耗电量较少的设备的需求,通过特殊的USB互联设备,我们还可以用USB口实现双机联网,速度是USB1.1的标准达12Mbps(1.5MB/S),可惜仅能进行简单的数据交换,不能称做真正的网络。

当所要设计的主从式总线通信系统采用譬如MSP430单片机当主机或者从机时,由于此单片机具有支持SPI的片内串行通信接口,所以可以采用SPI总线传输协议进行设计。

SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。

是Motorola首先在其MC68HCXX系列处理器上定义的。

SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200。

串行外围设备接口SPI是一种同步串行接口,因其硬件功能强,与SPI有关的软件就相当简单,可使MSP430单片机有更多的时间处理其他任务。

此时,所设计的系统拥有极低的功耗,丰富的片内外设,卓越的工作性能和方便灵活等优点[4]。

1.3本文的主要工作

本次毕业设计的主要工作是设计出一个51单片机总线式主从通信系统。

实现基于主从总线的数据传送,除了实现主机与从机间的数据传送外,还实现从机到从机的数据传送的功能。

为了方便起见,先设计一个一主两从的通信系统,画出系统的硬件原理图,并且在此原理图的基础上设计出软件实现此功能。

至于更加复杂的主从式多机系统的设计与实现可以在此系统的基础上进行扩展实现。

在本次主从式通信系统的设计与实现过程中,首先要做的工作是设计出一个主从式通信系统的硬件原理框图,然后在此原理框图的基础上进行具体的硬件电路设计,在设计过程中要充分考滤到可能出现的问题,然后找出合理的方法解决。

在已设计好了的硬件电路的基础上再进行具体的软件编写,满足任务书上主从式通信系统的功能要求。

在编写程序代码的过程中,要了解串口通信的原理,并且能通过串口进行正确的数据传送。

再者,为了对整个系统进行有效的,规范的管理,使之能够正确通信,必须设计出一个通信协议进行管理。

同时通信协议也对主从机之间的接收/发送数据流程有了直观的规定。

论文结构如下:

第一章,绪论。

介绍课题背景、发展现状,课题意义、应用前景等。

第二章,简要介绍串行通信理论的有关概念。

比如有通信、工作模式和同步异步通信等,对此章的更好了解有助于IIC总线传输协议、串口通信等原理的学习。

第三章,根据国内外目前采用的主从式总线设计方法列出了几种比较常用且简单的方法,并且介绍了它们的原理。

同时,根据所选课题的实际情况选取最好的方案进行主从式总线通信系统的选取。

第四章,对于已经选取好的方案进行系统的硬件设计,对于硬件的设计中出现的问题寻找解决办法。

并且在此硬件基础上进行相应的软件代码编写。

第五章,在已经构建的软、硬件平台上,对系统进行系统测试,并针对测试结果进行调试。

第六章,总结论文工作。

对设计的不足之处提出改进方案,并提出下一步的研究方向。

2串行通信理论的有关概念

2.1通信

不同的独立系统利用线路互相交换数据便是通信,而构成整个通信的线路称为网络。

通信的目的不外乎数据的交换,数据必须经过交换才能由发送端到达接收端,发送端所使用的方法就是将数据利用一定的程序通过线路发送出去,接收端则根据协议将数据收集起来并且进行存储或显示。

1.数据发送

通信的主要目的是将数据从一端发送到另一端,以实现数据的交换。

计算机与设备间的数据交换,计算机与计算机间的数据传输都属于通信的范畴。

一个完整的通信系统包括发送端、接收端、转换数据的接口及发送数据的实际信道或媒体。

一般情况下,发送与接收的节点称为DTE(DataTerminalEquipment,数据终端设备)。

数据在到达正确目的地之前,可能需要经过一系列中间节点,这些中间节点负责数据的转送工作,以送达目的地,这些中间节点称为DSE(DataSwitchingEquipment,数据交换设备)。

终端设备发送数据时,必须先将数据转换为电气信号,以便在线路上传递,而负责数据与电气信号转换的设备称为DCE(DataCommunicationEquipment,数据通信设备)。

DTE与DCE间的数据传输线路通常使用RS-232串行通信,而DCE与DSE间的媒体则包括了双绞线、同轴电缆、光纤或无线电等[5][6]。

2.通信的种类

通常通信的形式可以分为两种,一种为并行数据通信,另一种则为串行数据通信。

两种不同的通信模式如图2-1所示。

图2-1并行与串行

由图1可知,并行数据通信一次的传输量为8个位(1个字节),而串行数据通信则是一次只传输1位。

并行数据通信是指数据的各位同时进行传送的通信方式。

其优点是传送速度快;缺点是数据有多少位,就需要多少根传送线。

串行数据通信是指数据是一位一位顺序传送的通信方式,它的突出优点是只需一对传送线,这样就大大降低了传送成本,特别适应于远距离通信;其缺点是传送速度较低。

假设并行传送

N位数据所需时间为T,那么串行传送的时间至少为N*T[6]。

2.2通信参数

双方为了可以进行通信,必须要遵守一定的通信规则,这个共同的规则就是通信端口的初始化。

通信端口的初始化有以下几项必须设置:

1.数据的传输速率

传输双方通过传输线的电压改变来交换数据,但传输线的电压改变的速度必须和接收端的接收速度保持一致,RS-232通常用于异步传输,即双方并没有一个可参考的同步时钟作为基准。

由于没有一个参考时钟,双方所发送的高低电位到底代表几个位就不得而知了,要使得双方的数据读取正常,就要考虑到传输速率——波特率,其所代表的意义是每秒钟所能产生的最大电压状态改变率,或者说是每秒钟可以振荡的次数。

原始信号经过不同的波特率取样后,所得的结果完全不一样。

取样速度只有原来的一半时,信号被跳着取样,数据因此产生错误。

因此通信双方获得相同的通信速度是首先要做的事情[5]。

2.数据的发送单位

一般串行通信端口所发送的数据是字符类型的,若用来传输文件,则会使用二进制的数据类型。

当使用字符类型时,通常使用ASCII码,ASCII码中8个位形成一个字符。

以实际的RS-232传输来看,由于大多数应用只是发送文字码,因此只要7个位就可以将ASCII码的0-127号字符表达出来,所有的可见字符都在这个范围内,所以只要7个数据位就足够了。

不同的情况下,会使用到不同的发送单位,但使用多少个位合成一个字节必须先行确定[5]。

3.起始位及停止位

由于异步串行通信中并没有使用同步脉冲作为基准,故接收端完全不知道发送端何时将进行数据的发送,而当发送端准备要开始发送数据时,发送端会在所送出的字符前后分别加上高电位的起始位(逻辑0)及低电位的停止位(逻辑1),它们分别是所谓的起始位和停止位。

当发送端要开始发送数据时,便将传输在线的电位由低电位提升至高电位,而当发送结束后,再将电位降至低电位。

接收端会因起始位的触发(因电压由低电位升至高电位)而开始接收数据,并因停止位的通知(因电压维持在低电位)而确切数据的字符信号已经结束[5]。

4.校验位的检查

为了预防错误的产生,因此使用校验位作为检查的机制;校验位是用来检查所发送数据正确性的一种核对码,其中又分成奇校验位和偶校验位两种方式,分别是检查字符码中I的数目是奇数或偶数。

以偶校验位为例,A的ASCII码01100001(二进制),其中1的数目是三个,因此校验位便是1,使1的数目保持偶数。

同理,校验位是奇校验位时,A的校验位便是0,使1的数目保持奇数[5]。

2.3工作模式

数据传输查模式有单工、半双工、全双工和多工工作方式。

单工方式时,数据仅按一个固定方向传送。

因而这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。

半双工方式时数据可实现双向传送,但不能同时进行,实际的应用采用某种协议实现收/发开关转换。

全双工方式时允许双方同时进行数据双向传送。

这三种传输方式都是用同一线路传输同一种频率信号,为了充分利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分或码分复用技术,即可实现在同一线路上共享功能,我们称之为多工传输方式。

几种传输方式框图如图

2-2所示。

从前往后依次为单工、半双工和全双工。

图2-2三种传输方式

不同的工作模式可以应用在不同的地方,也各有其优点。

就串行通信而言,RS-232使用的是全双工的模式。

同时可以利用的传输线路决定了工作模式。

RS-232之所以能达到全双工的功能,就是因为其引脚在设计上是接收与发送分属两个不同的引脚与线路[7]。

2.4同步通信与异步通信

异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。

为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。

异步通信以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)也是任意的,但每个字符中的各位是以固定的时间传送的。

原理图如图2-3所示。

图2-3异步通信原理图

同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。

此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。

发送方对接收方的同步可以通过外同步和自同步两种方法实现[7][8]。

为自同步原理图如图2-4所示。

图2-4同步通信原理图

3几种常用串行总线协议及方案选取

目前使用的比较广泛的串行总线传输协议有IIC总线传输协议、SPI总线传输协议以及RS-232总线协议。

无论利用其中任何一种总线协议都可以设计出一个主从式总线通信系统。

现在分别介绍其数据传输原理。

3.1IIC总线传输协议

IIC总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。

IIC总线只有两根双向信号线。

一根是数据线SDA,另一根是时钟线SCL。

IIC总线通过上拉电阻接正电源。

当总线空闲时,两根线均为高电平。

连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系[7][9]。

每个接到IIC总线上的器件都有唯一的地址。

主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。

由总线上接收数据的器件则为接收器。

在多主机系统中,可能同时有几个主机企图启动总线传送数据。

为了避免混乱,IIC总线要通过总线仲裁,以决定由哪一台主机控制总线。

数据的有效位规定:

IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化,如图3-1所示。

图3-1IIC总线数据传输有效位原理图

起始和终止信号:

SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号,如图3-2所示。

图3-2起始信号和终止信号原理图

起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。

连接到I2C总线上的器件,若具有IIC总线的硬件接口,则很容易检测到起始和终止信号。

接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将SCL线拉成低电平,从而使主机处于等待状态。

直到接收器件准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数据传送可以继续进行。

数据传送格式:

(1)字节传送与应答

每一个字节必须保证是8位长度。

数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。

原理图如图3-3所示。

如果一段时间内没有收到从机的应答信号,则自动认为从机已正确接收到数据。

由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数据传送。

如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续传送。

当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。

这个信号是由对从机的“非应答”来实现的。

然后,从机释放SDA线,以允许主机产生终止信号。

SCL

(主机)

图3-3IIC字符传送格式

(2)数据帧格式

IIC总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。

在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。

每次数据传送总是由主机产生的终止信号结束。

但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。

在总线的一次数据传送过程中,可以有三种组合方式:

第一是主机向从机发送数据,数据传送方向在整个传送过程中不变。

第二是主机在第一个字节后,立即从从机读数据。

第三种刚是在传送过程中,当需要改

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1