PC与MCU 485多机通讯的实现_第1页
PC与MCU 485多机通讯的实现_第2页
PC与MCU 485多机通讯的实现_第3页
PC与MCU 485多机通讯的实现_第4页
PC与MCU 485多机通讯的实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PC与MCU 485多机通讯的实现 摘要本文介绍一种能利用rs-485电气特性和简单的结构方式,采用自定义串行通信协议,实现单片机rs-485多机通讯的方法和技巧以及在宿迁市技工学校控电系统中的应用。 关键词控电系统 单片机 rs-485总线 串行通信 一、简介 rs-485串行总线接口的传输信号方式为差分平衡方式,抗共模干扰的能力很强,允许一对双绞线上一个发送器驱动多个负载设备。工业现场控制系统中一般都采用该总线标准进行数据传输,而且一般采用rs-485串行总线接口标准的系统都使用max485芯片作为通信控制器或各分机的cpu。max485芯片的结构和引脚都非常简单,内部含有一个驱动器和接

2、收器。ro和di端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的rxd和txd相连即可;/re和de端分别为接收和发送的使能端,当/re为逻辑0时,器件处于接收状态;当de为逻辑1时,器件处于发送状态,因为max485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;a端和b端分别为接收和发送的差分信号端,当a引脚的电平高于b时,代表发送的数据为1;当a的电平低于b端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制max485的接收和发送即可。利用单片机本身所提供的简单串行接口,加上总线驱动器如max485等组合成简单的rs-485通

3、讯网络。本文所述的方法已成功地应用于宿迁技校控电系统,一台主机与25台从机通讯,通讯波特率达64kbps。LOCALhOSt 二、rs-485方式构成的多机通信原理 在由单片机构成的多机串行通信系统中,一般采用主从式结构:从机不主动发送命令或数据,一切都由主机控制。并且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必须通过主机转发。 在总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。匹配电阻的取值应该与总线的特性阻抗相当。 当总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。将总线上差分信号的正端a+和+5电源间接

4、一个10k的电阻;正端a+和负端b-间接一个10k的电阻;负端b-和地间接一个10k的电阻,形成一个电阻网络。当总线上没有信号传输时,正端a+的电平大约为,负端b-的电平大约为,即使有干扰信号,却很难产生串行通信的起始信号0,从而增加了总线抗干扰的能力。 三、通信规则 由于rs-485通讯是一种半双工通讯,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通讯对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正

5、常工作。要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则: 1.复位时,主从机都应该处于接收状态 sn75176芯片的发送和接收功能转换是由芯片的 re*,de端控制的。re*=1,de=1时,sn75176发送状态;re*=0,de=0时,sn75176处于接收状态。一般使用单片机的一根口线连接re*,de端。在上电复位时,由于硬件电路稳定需要一定的时间,并且单片机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息。因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入sn75176的控制端,使上电时sn7517

6、6处于接收状态。 另外,在主从机软件上也应附加若干处理措施,如:上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令。 2.控制端re*,de的信号的有效脉宽应该大于发送或接收一帧信号的宽度。 在rs-232,rs-422等全双工通讯过程中,发送和接收信号分别在不同的物理链路上传输,发送端始终为发送端,接收端始终为接收端,不存在发送、接收控制信号切换问题。在rs-485半双工通讯中,由于sn75176的发送和接收都由同一器件完成,并且发送和接收使用同一物理链路,必须对控制信号进行切换。控制信号何时为高电平,何时为低电平,一般以单片机的ti,ri信号作参考。 发送时,检测ti是否

7、建立起来,当ti为高电平后关闭发送功能转为接收功能; 接收时,检测ri是否建立起来,当ri为高电平后,接收完毕,又可以转为发送。 在理论上虽然行得通,但在实际联调中却出现传输数据时对时错的现象。根据查证有关资料,并在联调中借助存储示波器反复测试,才发现一个值得注意的问题,我们可以查看单片机的时序: 单片机在串行口发送数据时,只要将8位数据位传送完毕,ti标志即建立,但此时应发送的第九位数据位(若发送地址帧时)和停止位尚未发出。如果在这是关闭发送控制,势必造成发送帧数据不完整。如果单片机多机通讯采用较高的波特率,几条操作指令的延时就可能超过2位(或1位)数据的发送时间,问题或许不会出现。但是如果

8、采用较低波特率,如9600,发送一位数据需100s左右,单靠几条操作指令的延时远远不够,问题就明显地暴露出来。接收数据时也同样如此,单片机在接收完8个数据位后就建立起ri信号,但此时还未接收到第九位数据位(若接收地址帧时)和停止位。所以,接收端必须延时大于2位数据位的时间(1位数据位时间=1/波特率),再作应答,否则会发生总线冲突。 3.总线上所连接的各单机的发送控制信号在时序上完全隔开。 为了保证发送和接收信号的完整和正确,避免总线上信号的碰撞,对总线的使用权必须进行分配才能避免竞争,连接到总线上的单机,其发送控制信号在时间上要完全隔离。 总之,发送和接收控制信号应该足够宽,以保证完整地接收

9、一帧数据,任意两个单机的发送控制信号在时间上完全分开,避免总线争端。 程序流程框图,参见图2。其中:a)为发送流程图;b)为接收流程图。 注:延时t秒的取值:(1)传送地址帧时,t2x(1/波特率),可以选取t=(1/波特率)。 (2)传送数据帧时,t1x(1/波特率),可以选取t=(1/波特率)。 四、通信线的选择和安装处理 由于男女宿舍分两个区域,主机与各分机相距最长达786米,64kbps的高频传输速度对通讯线要求较高,必须满足以下要求: 1.抗干扰能力强。虽然总线末端接一个匹配电阻,吸收总线上的反射信号,保证正常传输信号干净;从而增加了总线抗干扰的能力。但是,我们在铺设通信线时还是选择

10、外面加屏蔽网的。因为从地下穿管暗敷与电讯并行,又与校园广播网交叉,且不可避免地与强电靠近;这些外界的高次谐波会由屏蔽网隔离,从而减少干扰。 2.消除通信线自身分布电容,长距离的,极高的频率,平行的双导线不是最佳选择,较密的双绞线可以消除通信线自身分布电容。 3.减少中间接头,长距离通讯,中间必然接头,接头的存在会影响信号的传输,在与厂方订货时,就一步到位把正根线长度加大。但过长的导线施工起来很不方便,采取把接头放在室内桥架内,便与处理和维护。 4.具备较小的阻值和较高的机械强度,满足要求的选择2截面的br高密双绞屏蔽导线,内加纤维抗拉筋。地埋于-米深度,穿直径50波纹管内保护,在转弯处加转角井,留有一定余量备伸缩。墙面桥架内穿管保护。如图: 参考文献: 1肖金球等.一种多智能仪表dcs系统的研究.微计算机信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论