基于485总线的PC机与多片单片机的通信教材.docx
《基于485总线的PC机与多片单片机的通信教材.docx》由会员分享,可在线阅读,更多相关《基于485总线的PC机与多片单片机的通信教材.docx(43页珍藏版)》请在冰豆网上搜索。
![基于485总线的PC机与多片单片机的通信教材.docx](https://file1.bdocx.com/fileroot1/2022-11/20/10c65265-dd05-48da-a6b4-728a0835597c/10c65265-dd05-48da-a6b4-728a0835597c1.gif)
基于485总线的PC机与多片单片机的通信教材
武汉工程大学邮电与信息工程学院
毕业设计(论文)说明书
论文题目PC机与多台单片机之间的串行通信
学号6402010113
学生姓名李鹏
专业班级06电子科技1班
指导教师陈裕国____(副教授)___________
总评成绩
2010年5月29日
摘要…………………………………………………………………………………Ⅱ
Abstract……………………………………………………………………………Ⅲ
第一章绪论………………………………………………………………………1
第二章课题实施方案……………………………………………………………2
第三章硬件电路设计……………………………………………………………5
3.180C51单片机结构及其串行通信原理………………………………………5
3.2串行接口及其差分转换电路…………………………………………………17
3.3ProtelDXP2004原理图设计………………………………………………20
第四章软件电路设计…………………………………………………………29
4.1系统的通信协议……………………………………………………………29
4.2C51编程实现PC机与单片机之间的串行通信…………………………29
4.3Windows集成开发环境uVision2………………………………………33
总结………………………………………………………………………………39
致谢………………………………………………………………………………41
参考文献………………………………………………………………………42
摘要
本文详细介绍了基于RS-485总线的PC机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计。
该设计是由PC机与单片机组成的主从控制系统,其中PC机做为上位机对下位单片机是实现控制和监视功能。
它包括通信和控制两个功能模块。
单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令。
由于此通信的PC接口是RS232的9针接口,且下位机数目有限(32台)。
所以本设计采用了RS485总线以及RS232转RS485的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并叙述了设计过程中必备的绘图软件ProtelDXP的应用,以及编辑源代码软件keiluVision2的应用,实现了PC机对多个单片机组成采集终端的通信与管理。
关键词:
PC机单片机RS-485通信
Abstract
Thecommunication、realizedmethodandcorrespondingdesignofhardwareandsoftwarebetweenPCandmultipleMCUsbasedonRS-485isdescribedindetaiinthearticle.ThisdesigninstroducesapincipalandsubordinatecontrolsystemwhichiscomposedofPCandsinglechip.Dividedfromitsfunction,itincludestwoparts:
communicationandcontrol,inwhichPCisusedasmaster,andMCUsisusedasslavesoastoreceivethesingleorderfromthemaster.Thebusinterfaceconversionandthedesignofmaster-slavecommunicationprotocolisintroducedandTheprogramflowchartofcommunicationwithinterruptprocessisalsogiven.Intheprocessofdesign,theuseofunnecessarypaintersoftwareandcodeeditorsoftwareisdepictedsothatrealizethecommunicationandadministrationbetweenPCandmultipleMCUswhichcomposedcollectionterminal.
Keywords:
PCMCUsRS-485communication
第一章绪论
单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。
因此在工业控制领域得到了广泛的应用,在工业控制领域,计算机的数量有一台变为多台,多台计算机组成了多机系统,计算机分布关系可以分为紧密耦合和松散耦合,主从控制系统是一种松散式的多机系统,计算机之间由通信协议来联系。
此时往往需要组成上位机对下位机的通讯系统,由一台上位机去控制多台下位机。
主从控制就是一台功能较强的主机和32台左右的从机组成的多机系统。
上位机一般是PC机,下位机一般是单片机系统,执行单片机与PC机串行通信的问题。
本课题计算机的通信由上位机(主机)控制。
主机向各个从机发送命令或者接受从机反馈的信息,主机有权修改从机的参数,接受从机的数据,还可以查看从机的状态,可以说主机是主从控制的大脑。
在本设计中主机用来监视或查看从机的状态,并向从机发送命令,在系统中起着主导地位。
我们通过查看主机界面的状态即可响应的控制发送与接收。
从机在系统中处于从属地位,是命令的执行者。
从机之间不能直接联系,它们之间必须有主机这个桥梁联系。
在设计中我们选用了PC机作为我们的主机,从机为单片机(我们本着可得,性价比采用此选择)。
但在选择中出现了通讯接口的问题,我们是串型通讯,在PC机和单片机之间,我们需要电平转换,而且考虑到工业运用问题我们需要考虑总的选用,在常用的RS232和RS485中,不能使用双端信号,因此要求使用较高的输出电压,而且其传输距离仅为15米。
RS485通信接口的信号传输是用两根线之间的电压表示逻辑1和0的因为发送端两根传送线,而且接受接收端也是两根传送线.这样RS485接受和发送仅需要2根线就完成了传输.由于传输线采用了差动信道,所以它的干扰抑制性好,又由于它的阻抗低无接地问题.传输距离可高达1200m,传输速度可达1Mbps比较上面的数据,考虑工业要求,我们采用了RS485方式。
第二章课题实施方案
2.1系统硬件设计
PC机的串行接口为RS-232或USB总线,现阶段应用更多的是将RS-232接口转换成RS-485接口,然后采用RS-485进行长距离、高速的串行异步通信。
单片机采用RS-485进行串行通信,只需要将TTL电平的串行接口通过芯片转换为RS-485串行接口,这种转换比较简单,本系统采用的是MAX485芯片。
利用PC现有的RS-232接口,系统中采用专用的RS-232/485标准转换芯片MAX3162E来实现。
此转换芯片一边与RS-232标准9针接口相连,另一边与RS-485总线相连,原理图如图2-1所示。
PC机
(db9)
RS-232/RS-485标准转换芯片
RS-485
RS-485
RS-485
RxdTxd
8051
RxdTxd
8051
RxdTxd
8051
图2-1系统结构图
在多媒体网络广播系统中,利用PC机与单片机够成的多机通信系统,采用主从式结构:
主从控制多个从机,作为从机的单片机不主动发送命令或数据,一切都由主PC机控制;并且在一个多级系统中,只有一台主机,各台从机之间不能相互通信,即使有信息交换也必须通过主从转发。
采用RS-485构成的多机通信系统原理框图、在总线末端接一个匹配电阻,吸收总线上的反射信号,使得正常传输信号无毛刺。
匹配电阻的取值应该与总线的特性阻抗相当。
在总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。
将总线上的差分信号的正端A+和负端B-之间接一网络。
当总线上没有传输时,正端A+的电平大约为3.2V,负端B-的电平大约为1.6V,即使有干扰信号,也很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。
在该系统中,由于采用MAX487差分平衡收发器芯片,半双工传输方式,因此驱动器可接的下位机根据需要最多可扩展至128个。
2.2系统软件设计
(一)通信协议设计
为保证通信进行,首先做到单片机的串行口与主控机串行口的设置保持一致,即数据格式一致、通信波特率相同。
如果是多点通信,每个从机要分配一个地址码。
系统中协议有三种帧格式:
呼叫帧、应答帧和数据帧。
呼叫帧由主机发出。
应答帧只能由从机发出。
当从机收到呼叫帧后,把本机地址和当前状态回发给主机。
设置开机自检、自诊断程序,机器不能带病工作;如果需要,还可以设置在工作空闲时或定时自检程序。
PC机与单片机构成的多机通信系统采用主从结构。
数据通信总是有主机发起。
主机处于发送状态“说”时从机总是处于“听”状态。
若主机发送的地址信息与本地从机相符,则接受该数据,否则,继续“听”总线上的数据。
若从机需要发送数据,则必须等到主机轮询本地从机时,才可以提出请求。
这种网络模式下从机不会“侦听”其他从机对主机的响应,这样就不会对其他从机产生错误的响应。
主从式多机通信协议中,通信速率设为19.2kbps。
系统上电或复位后,使所有从机的SM2位置1处于只接收地址帧监听状态。
主机向从机发送一帧地址信息,从机接收到地址帧后,将其与本地地址比较,判断是否一致。
若与本地地址相符,则清除SM2,同时发送应答帧,进入通信状态;其他与本地地址不相符的从机则保持SM2位不变,继续监听。
主从机均以中断方式进行通信,程序流程如图2-2所示:
否
图2-2通信流程图
(二)多机发送是的分时说、听
多机传送时,通信协议要合理地协调总线的分时公用,通信波特率的计算要有冗余。
采用RS-485总线连接的多个站点,由于485总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,即任一时刻只有一个站点在“说”,则数据将在通信总线里碰撞,结果是处于接受状态的站点不能收到正确的数据。
在RS-485总线通信网络中,必须控制好每个站点的“听”、“说”状态,即收、发状态,对总线的使用权必须进行分配,以使各个从机的发送控制信号在时间上完全隔离,保证能及时、正确地传输数据。
要做到总线上设备在时序上的严格配合,必须要遵从一下几点:
1.复位时,主从机都应该处于接受状态。
2.控制端RE、DE的信号有效脉冲宽应该大于发送或接收一帧信号的宽度。
3.总线上所连接的各从机的发送控制信号在时序上完全隔开。
通信方式一般是主节点循环轮询各个从节点。
各个从节点都有自己的网络通信识别号,即本机地址。
当朱节点的轮询信息中包含自己的网络通信识别号,此从节点对此帧进行应答,其他节点则忽略此帧,不做处理。
第三章硬件电路设计
3.180C51单片机结构
3.1.1MCS-51单片机内部结构
在MCS-51系列里,所有产品都是以8051为核心电路发展起来的,它们都具有8051的基本结构和软件特征。
从制造工艺来看,MCS-51系列中的器件基本上可分为HMOS和CMOS两类。
CMOS器件的特点是电流小和功耗低(掉电方式下消耗10uA电流),但对电平要求高(高电平大