收藏 分销(赏)

基于RS总线的多机通信专业系统设计.doc

上传人:二*** 文档编号:4536441 上传时间:2024-09-27 格式:DOC 页数:40 大小:367.54KB
下载 相关 举报
基于RS总线的多机通信专业系统设计.doc_第1页
第1页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、摘 要在多机通信领域因为单片机含有灵活高效多机通信功效和价格优势,应用越来越广泛,但因为单片机收发信号全部是TTI 电平,驱动能力和抗干扰性有限,实用中常配合其它总线实现互联,RS-485总线就是其中之一。RS-485总线是平衡差分传输,抗干扰性好,最远可传输4000 m,可互联多达128个单片机,很适台组成多机通信系统。在多机通信中,最关键是确保通信有条不紊地进行,所以需要严格通信协议和完善通信软件,本文将关键介绍应用于某大型工程单片机多机通信协议和通信软件设计方法。本文介绍一个利用单片机本身所提供串行通讯口,采取自定义串行通信协议,加上总线驱动器如MAX481、MAX483、MAX485、

2、MAX487等组合成简单RS485通讯网络,完成单片机间多机通讯。 关键词: 单片机;串行通信;RS485总线: 多机通信协议 AbstractIn computer communication field. Because of the single chip microcomputer has flexible and efficient computer communication function and price advantage, used more and more widely, but because of the single chip microcomputer to

3、 send and receive signals are TTI level, drive and anti-interference ability is limited, practical cooperation with other bus realize in Internet, RS-485 bus is one of them. RS-485 bus is a balanced differential transmission, anti-jamming of the good and as far as 4000 m could be transmitted, interc

4、onnected as many as 128 single chip microcomputer, very comfortable a composition computer communication system. In computer communication, the most important is to ensure that communications in an orderly way, and therefore need to strict communication protocol and perfect communication software, t

5、his paper will focus on introduces applied in a large project single-chip computer communication association Put the communication software design method. This paper introduces a microcontroller itself provide the serial communication mouth, use custom serial communication protocol, plus the bus dri

6、ves as MAX481, MAX483, MAX485, MAX487 combined into simple RS-485 communication network, finish between the single chip computer communication. Keywords: SCM; Serial communication; RS-485 bus: computer communication agreement目 录第1章 绪论11.1 课题研究背景和意义11.2 单片机多机通信发展1第2章 总体介绍32.1 系统组成32.2 RS-48532.3 多机通信

7、原理4第3章 硬件设计及原理63.1 80C51单片机硬件结构63.2 最小应用系统设计73.2.1 时钟电路73.2.2 复位电路83.3 总线驱动芯片9第4章 系统问题及其处理124.1 通信规则124.2 总线匹配134.3 硬件抗干扰方法134.3.1 RO及DI端配置上拉电阻134.3.2 地线和接地144.3.3 电磁干扰(EMI)问题144.3.4 瞬态保护154.3.5 总线隔离164.4 软件抗干扰方法164.4.1 指令冗余164.4.2 拦截技术164.4.3 软件“看门狗”技术17第5章 软件设计195.1 系统结构195.2 通信协议195.2.1 信息格式195.2

8、.2 定时和重发205.2.3 通信过程205.3 通信软件设计215.3.1 从机通信软件设计215.3.2 主机通信软件设计23第6章 程序设计246.1 主机程序以下:246.2 从机1程序以下:266.3 从机2程序以下:27第7章 系统仿真29结束语31致 谢32参考文件33第1章 绪论1.1 课题研究背景和意义单片机是一个集成在电路芯片,是采取超大规模集成电路技术把含有数据处理能力中央处理器CPU随机存放器RAM、只读存放器ROM、多个I/O口和中止系统、定时器/计时器等功效(可能还包含显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上组成一个小而完善

9、计算机系统现在单片机渗透到我们生活各个领域,几乎极难找到哪个领域没有单片机踪迹。导弹导航装置,飞机上多种仪表控制,计算机网络通讯和数据传输,工业自动化过程实时控制和数据处理,广泛使用多种智能IC卡,民用豪华轿车安全保障系统,录象机、摄象机、全自动洗衣机控制,和程控玩具、电子宠物等等,这些全部离不开单片机。更不用说自动控制领域机器人、智能仪表、医疗器械了。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备智能化管理及过程控制等领域伴随计算机技术发展及工业自动化水平提升, 在很多场所采取单机控制已不能满足现场要求,所以必需采取多机控制形式,而多机控制关键经过多个单片机之间串行通信实

10、现。串行通信作为单片机之间常见通信方法之一, 因为其通信编程灵活、硬件简练并遵照统一标准, 所以其在工业控制领域得到了广泛应用。组成较大规模检测、控制系统,常常要采取多个单片机,组成能够通信多机系统。Mcs一51系列单片机为实现多机通信联网设计了方便串行通信接口功效。将多个Mcs一51单片机组成串行总线形式相互通道,经过写单片机串行控制方法寄存器,将串行口置成方法2或方法3,就能够实现主机和分机之间串行通信。这种多机系统结构简单,应用广泛,但它只能实现由主机呼叫分机,然后实现主机和分机之间全双工串行通信。我们在监控系统中要求现有主机和分机主动通信,又有分机和主机主动通信,这种结构多机系统就无法

11、满足要求。多机协同工作已是单片机发展一个关键趋势,现在单片机多机通信关键方法仍然是主从式多机通信系统。单片机多机通信目标是实现分布式处理系统,单片机多机通信方法有很多个,应用前景宽广,很含有研究意义!1.2 单片机多机通信发展伴随科技发展,单片机已不是一个陌生名词,它出现是近代计算机技术发展史上一个关键里程碑,因为单片机诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片微小体积和低成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最关键智能化工具。 所

12、包含市场拥有率最高是MCS51系列,因为世界上很多著名IC生产厂家全部生产51兼容芯片。生产MCS51系列单片机厂家如美国AMD企业、ATMEL企业、INTEL企业、WINBOND企业、PHILIPS企业、ISSI企业、TEMIC企业及南韩LG企业、日本NEC、西门子企业等。到现在为止,MCS51单片机已经有数百个品种,还在不停推出功效更强新产品。现代单片机普遍含有通信接口,能够很方便地和计算机进行数据通信,为在计算机网络和通信设备间应用提供了极好物质条件,现在通信设备基础上全部实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随地可见移动

13、电话,集群移动通信,无线电对讲机等。单片机通信领域应用首先从两片单片机之间通信发展起来,以后有了主从式多机通信并得到了广泛应用,又出现了以单片机作为下位机和以PC机作为上位机通信应用,上位机用VB或VC+等面向对象程序设计语言编写通信收发程序,也得到了广泛应用。即使,单片机多机通信已经有较长研究历史了,但其形式大多是主从式,极少是平权式。第2章 总体介绍2.1 系统组成本设计采取MCS-51系列中80C51单片机。80C51是一款八位单片机,它易用性和多功效性受到了广大使用者好评。它是第三代单片机代表。新一代单片机最关键技术特点是向外部接口电路扩展,以实现Microcomputer完善控制功效

14、为己任,将部分外部接口功效单元如A/DPWMPCA(可编程计数器阵列)WDT(监视定时器)高速I/O口计数器捕捉/比较逻辑等。这一代单片机中,在总线方面最关键进展是为单片机配置了芯片间串行总线,为单片机应用系统设计提供了愈加灵活方法。Philips企业还为这一代单片机80C51系列8C592单片机引入了含有较强功效设备间网络系统总线-CAN(Controller Area Network BUS).新一代单片机为外部提供了相当完善总线结构,为系统扩展和配置打下了良好基础。菲利浦企业研发LPC900系列单片机是一个基于80C51内核高速、低功耗Flash单片机,关键集成了字节方法I2C总线、SP

15、I接口、UART通信接口、实时时钟、E2PROM、A/D转换器、ISP/IAP在线编程和远程编程方法等一系列有特色功效部件。本文中系统组成使用了P89LPC932单片机。P89LPC932是一款单片封装微控制器,适适用于很多要求高集成度、低成本场所。它采取了高性能处理器结构,指令实施时间只需要2-4个时钟周期,6倍于标准80C51器件。2.2 RS-485RS485标准接口是单片机系统种常见一个串行总线之一。RS-485通信方法RS-485标准是由EIA(电子工业协会)和TIA(通讯工业协会)共同制订和开发。RS-485作为一个多点差分数据传输电气规范,已成为业界最广泛应用标准通信接口之一。理

16、论上,RS-485标准最多接入32个设备(受芯片驱动能力影响),能够工作在半双工或全双工模式下,最大传输距离约为1219米,最大传输速率约为10Mbps1。然而通常RS-485网络采取平衡双绞线作为传输媒体,平衡双绞线长度和传输速率成反比,只有在20Kbps传输速率下,才可能达成最大传输距离。通常15米长双绞线最大传输速率仅为1Mbps。不过对于速率要求不是很高控制系统来说已经足够了。RS-485采取平衡发送和差分接收方法来实现通信:在发送端TXD将串行口TTL电平信号转换成差分信号A、B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,所以有极

17、强抗共模干扰能力,接收灵敏度也相当高。同时,最大传输速率和最大传输距离也大大提升。假如以10Kbps速率传输数据时传输距离可达12m,而用100Kbps时传输距离可达1.2km。假如降低波特率,传输距离还可深入提升。另外RS-485实现了多点互连,最多可达256台驱动器和256台接收器,很便于多器件连接。不仅能够实现半双工通信,而且能够实现全双工通信。 2.3 多机通信原理在多机通信中,每台从机均分配有一个从机地址,主机和从机之间进行串行通信时,通常是主机先呼叫某从机地址,唤醒被叫从机后,主、从两机之间进行数据交换。而未被呼叫从机则继续进行各自工作。可是,假如在主机和某被呼叫从机进行数据交换过

18、程中,其它从机假如不采取对应数据识别技术,则这些从机就会因为串行通信线上有数据传输而时时被打断,影响正常工作。利用单片机串口工作方法2、方法3能够很好处理上述问题。在多机通信过程中,从机首先要处理是怎样识别主机发送是地址信息还是数据信息。当发送是地址信息时,各从机全部响应串口中止,接收主机下发一帧地址数据。而当主机发送数据帧时,无关从机可不响应串口中止。处理方法是:当主机发送一帧地址信息时,应保持这帧数据第9位为1(即TB8=1)。从机根据工作方法2或工作方法3运行时,将串口寄存器SCON中控制位SM2置为1,当所接收一帧数据第9位为1,全部从机全部产生串口中止,接收这一帧地址数据并和各自从机

19、地址进行比较,以判定主机是否要和本机通信。接收到地址数据和从机地址相等达成为被呼叫从机,该从机将串口控制寄存器SCON中控制位SM2清为0,去接收主机发送来数据帧(数据帧第9位为0),此时不管接收到第9位数据是否为1或0,全部要产生串口中止,这就确保了主机和被呼叫从机间正常数据通信。数据通信结束后,该从机又重新将串行口控制寄存器SCON中控制位SM2置为1,为下一次和主机进行通信做好准备。其它从机则一直在SM2=1下继续自己工作,不会因为主、从机之间数据通信而被打断。多机通信实现,关键靠主、从机正确地设置和判定多机通信控制位SM2和发送或接收第9位数据(TB8或RB8)。当主机给从机发送信息时

20、,要依据发送信息性质来设置TB8,发送地址信号时,设置TB8=1;发送数据或命令时,设置TB8=0。当从机SM2为1时,该从机只接收地址帧(RB8位为1),对数据帧(RB8位为0)将不予理会。而当SM2为0时,该从机接收全部发送来信息。多机通信过程以下:(1) 使全部从机SM2置1,处于只接收地址帧状态(即从机复位);(2) 主机发送一地址帧信息,其中包含8位地址,第9位为地址、数据标志位,第9位置1表示发送是地址;(3) 从机接收到地址帧后,各自中止CPU,把接收到地址和当地址作比较;(4) 地址相符从机,使SM2清零以接收主机随即发来全部信息,对于地址不相符从机,仍保持SM2=1状态,对主

21、机随即发送数据不予理会,直到主机发送来新地址帧;(5) 主机发送数据或控制信息给被寻址从机;(6) 被寻址从机,因SM2=0,能够接收主机发送过来全部数据,当从机接收数据结束时,置位SM2,返回接收地址帧状态(复位状态);(7) 当主机改为和另外从机联络时,可再发地址帧寻址其从机,而先前被寻址过从机恢复SM2=1。第3章 硬件设计及原理一个单片机应用系统硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部功效单元,如ROMRAMI/O口定时/记数器中止系统等能量不能满足应用系统要求时,必需在片外进行扩展,选择合适芯片,设计对应电路。二是系统配置,既根据系统功效要求配置外围设备,如键盘显示器

22、打印机A/DD/A转换器等,要设计适宜接口电路。3.1 80C51单片机硬件结构80C51单片机是把那些作为控制应用所必需基础内容全部集成在一个尺寸有限集成电路芯片上2。假如按功效划分,它由以下功效部件组成,即微处理器、数据存放器、程序存放器、并行I/O口、串行口、定时器/计数器、中止系统及特殊功效寄存器。它们全部是经过片内单一总线连接而成,其基础结构依旧是CPU加上外围芯片传统结构模式。但对多种功效部件控制是采取特殊功效寄存器集中控制方法。微处理器:该单片机中有一个8位微处理器,和通用微处理器基础相同,一样包含了运算器和控制器两大部分,只是增加了面向控制处理功效,不仅可处理数据,还能够进行位

23、变量处理。数据存放器:片内为128个字节,片外最多可外扩至64k字节,用来存放程序在运行期间工作变量、运算中间结果、数据暂存和缓冲、标志位等,所以称为数据存放器。程序存放器:因为受集成度限制,片内只读存放器通常容量较小,假如片内只读存放器容量不够,则需用扩展片外只读存放器,片外最多可外扩至64k字节。 中止系统:含有5个中止源,2级中止优先权。定时器/计数器:片内有2个16位定时器/计数器, 含有四种工作方法。串行口:1个全双工串行口,含有四种工作方法。可用来进行串行通讯,扩展并行I/O口,甚至和多个单片机相连组成多机系统,从而使单片机功效更强且应用更广。 P1口、P2口、P3口、P4口:为4

24、个并行8位I/O口。特殊功效寄存器:共有21个,用于对片内个功效部件进行管理、控制、监视。实际上是部分控制寄存器和状态寄存器,是一个含有特殊功效RAM区。由上可见,80C51单片机硬件结构含有功效部件种类全,功效强等特点。尤其值得一提是该单片机CPU中位处理器,它实际上是一个完整1位微计算机,这个一位微计算机有自己CPU、位寄存器、I/O口和指令集。1位机在开关决议、逻辑电路仿真、过程控制方面很有效;而8位机在数据采集,运算处理方面有显著优点。MCS-51单片机中8位机和1位机硬件资源复合在一起,二者相辅相承,它是单片机技术上一个突破,这也是MCS-51单片机在设计精美之处。3.2 最小应用系

25、统设计80C51是片内有ROM/EPROM单片机,所以,这种芯片组成最小系统简单可靠。用80C51单片机组成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,图3-1 80C51单片机最小系统所表示。因为集成度限制,最小应用系统只能用作部分小型控制单元。其应用特点:(1) 有可供用户使用大量I/O口线。(2) 内部存放器容量有限。(3) 应用系统开发含有特殊性。图3-1 80C51单片机最小系统3.2.1 时钟电路80C51即使有内部振荡电路,但要形成时钟,必需外部附加电路。80C51单片机时钟产生方法有两种。内部时钟方法和外部时钟方法。本设计采取内部时钟方法,利用芯片内部振荡电路,在X

26、TAL1、XTAL2引脚上外接定时元件,内部振荡电路便产生自激振荡。本设计采取最常见内部时钟方法,即用外接晶体和电容组成并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高频率稳定性。所以本设计中,振荡晶体选择6MHZ,电容选择65pF。时钟电路图3-2。 图3-2 80C51时钟电路在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以降低寄生电容,愈加好确保振荡器稳定和可靠地工作。为了提升温度稳定性,应采取NP

27、O电容。3.2.2 复位电路80C51复位是由外部复位电路来实现。复位引脚RST经过一个斯密特触发器用来抑制噪声,在每个机器周期S5P2,斯密特触发器输出电平由复位电路采样一次,然后才能得到内部复位操作所需要信号。复位电路通常采取上电自动复位和按钮复位两种方法。最简单上电自动复位电路中上电自动复位是经过外部复位电路电容充电来实现。只要Vcc上升时间不超出1ms,就能够实现自动上电复位。时钟频率用6MHZ时C取22uF,R取1K。除了上电复位外,有时还需要按键手动复位。本设计就是用按键手动复位。按键手动复位有电平方法和脉冲方法两种。其中电平复位是经过RST端经电阻和电源Vcc接通而实现。按键手动

28、复位电路见图3-3。时钟频率选择6MHZ时,C取22uF,R2取200,R1取1K。图3-3 80C51复位电路 在这种简单复位电路中,干扰轻易串入复位端,在大多数情况下不会造成单片机错误复位,但会引发内部一些寄存器错误复位。这时可在复位引脚上接一个去耦电容。假如干扰严重,或整个系统干扰严重,引发单片机复位,可采取屏蔽措施处理,如加屏蔽网或移动位置等。 在实际应用中,为了确保复位电路可靠地工作,常将RC电路接施密特电路后接入单片机复位端,尤其适合于应用系统现场干扰大,电压波动大工作环境,图3-4所表示抗干扰复位电路。 图3-4 抗干扰复位电路3.3 总线驱动芯片 MAX481、MAX483、M

29、AX485、MAX487-MAX491和MAX1487是用于RS-485和RS-422通信低功耗收发器,每个器件中全部含有一个驱动器和一个接收器。MAX483、MAX487、MAX488和MAX489含有限摆率驱动器,能够减小EMI,并降低由不合适终端匹配电缆引发反射,实现最高250kbps 无差错数据传输。MAX481、MAX485、MAX490、MAX491、MAX1487驱动器摆率不受限制,能够实现最高2.5Mbps传输速率。这些收发器在驱动器禁用空载或满载状态下,吸收电源电流在120(A 至500(A 之间。另外,MAX481、MAX483和MAX487含有低电流关断模式, 仅消耗0.

30、1A。全部器件全部工作在5V单电源下。驱动器含有短路电流限制,并能够经过热关断电路将驱动器输出置为高阻状态,预防过分功率损耗。接收器输入含有失效保护特征,当输入开路时,能够确保逻辑高电平输出。MAX487和MAX1487含有四分之一单位负载接收器输入阻抗, 使得总线上最多能够有1 2 8 个MAX487/MAX1487收发器。使用MAX488-MAX491能够实现全双工通信,而MAX481、MAX483、MAX485、MAX487和MAX1487则为半双工应用设计。MAX481/MAX483/MAX485/MAX487-MAX491和MAX1487是用于RS-485和RS-422通信低功耗收发

31、器。MAX481、MAX485、MAX490、MAX491和MAX1487能够以最高2.5Mbps 数据速率发送并接收数据;而MAX483、MAX487、MAX488和MAX489则用于最高250kbps数据速率。MAX488-MAX491是全双工收发器,MAX481、MAX483、MAX485、MAX487和MAX1487是半双工收发器。另外,MAX481、MAX483、MAX485、MAX487、MAX489、MAX491和MAX1487中包含驱动器使能(DE)和接收器使能(RE)控制引脚,被禁用时,驱动器或接收器输出为高阻态。 和标准RS-485 驱动器( 最多32 个收发器) 单位负载

32、( 12k输入阻抗) 相比,MAX487和MAX1487含有48k输入电阻,1/4单位负载接收器输入阻抗,在一条总线上许可最多挂接128个收发器。MAX487/MAX1487和其它RS-485收发器任意组合能够许可32个收发器或更少收发器连接在同一条总线上。MAX481/MAX483/MAX485和MAX488-MAX491含有标准12k接收器输入阻抗。常见RS485总线驱动芯片有MAX485、MAX3080、MAX3088、SN75176,MAX485、MAX3080、MAX3088芯片全部有一个发送器和一个接收器,很适合作为RS485总线驱动芯片,其中MAX3080、MAX3088能够在一

33、条通讯线上连接256只,MAX3088达成10Mbps通讯速率,下面以MAX485为例介绍其逻辑表。 MAX485及其逻辑图3-5所表示。图3-5 MAX485芯片RS485方法组成多机通信原理在由单片机组成多机串行通信系统中,通常采取主从式结构:从机不主动发送命令或数据,一切全部由主机控制。而且在一个多机通信系统中,只有一台单机作为主机,各台从机之间不能相互通讯,即使有信息交换也必需经过主机转发。采取RS485组成多机通信原理框图,图3-6所表示。图3-6 MAX485经典半双工RS-485网络第4章 系统问题及其处理4.1 通信规则 因为MAX485通讯是一个半双工通讯,发送和接收共用同一

34、物理信道。在任意时刻只许可一台单机处于发送状态。所以要求应答单机必需在侦听到总线上呼叫信号已经发送完成,而且没有其它单机发出应答信号情况下,才能应答。半双工通讯对主机和从机发送和接收时序有严格要求。假如在时序上配合不好,就会发生总线冲突,使整个系统通讯瘫痪,无法正常工作。要做到总线上设备在时序上严格配合,必需要遵从以下几项标准: (1) 复位时,主从机全部应该处于接收状态。 MAX485芯片发送和接收功效转换是由芯片 RE* ,DE端控制。RE*=1,DE=1时,MAX485发送状态;RE*=0,DE=0时,MAX485处于接收状态。通常使用单片机一根口线连接RE*,DE端。在上电复位时,因为

35、硬件电路稳定需要一定时间,而且单片机各端口复位后处于高电平状态,这么就会使总线上各个分机处于发送状态,加上上电时各电路不稳定,可能向总线发送信息。所以,假如用一根口线作发送和接收控制信号,应该将口线反向后接入MAX485控制端,使上电时MAX485处于接收状态。 另外,在主从机软件上也应附加若干处理方法,如:上电时或正式通讯之前,对串行口做几次空操作,清除端口非法数据和命令。 (2) 控制端RE*,DE信号有效脉宽应该大于发送或接收一帧信号宽度。 在全双工通讯过程中,发送和接收信号分别在不一样物理链路上传输,发送端一直为发送端,接收端一直为接收端,不存在发送、接收控制信号切换问题。在RS485

36、半双工通讯中,因为MAX485发送和接收全部由同一器件完成,而且发送和接收使用同一物理链路,必需对控制信号进行切换。控制信号何时为高电平,何时为低电平,通常以单片机TXC(发送完成标识),RXC(接收完成标识)信号作参考。 发送时,检测TXC是否建立起来,当TXC为高电平后关闭发送功效转为接收功效; 接收时,检测RXC是否建立起来,当RXC为高电平后,接收完成,又能够转为发送。 在理论上即使行得通,但在实际联调中却出现传输数据时对时错现象。依据查证相关资料,并借助示波器反复测试,才发觉一个值得注意问题,我们能够查看单片机时序: 单片机在串行口发送数据时,只要将8位数据位传送完成,TXC标志即建

37、立,但此时应发送第九位数据位(若发送地址帧时)和停止位还未发出。假如在这是关闭发送控制,势必造成发送帧数据不完整。假如单片机多机通讯采取较高波特率,几条操作指令延时就可能超出2位(或1位)数据发送时间,问题或许不会出现。不过假如采取较低波特率,如9600,发送一位数据需104s左右,单靠几条操作指令延时远远不够,问题就显著地暴露出来。接收数据时也一样如此,单片机在接收完8个数据位后就建立起RXC信号,但此时还未接收到第九位数据位(若接收地址帧时)和停止位。所以,接收端必需延时大于2位数据位时间(1位数据位时间=1/波特率),再作应答,不然会发生总线冲突。 (3) 总线上所连接各单机发送控制信号

38、在时序上完全隔开。 为了确保发送和接收信号完整和正确,避免总线上信号碰撞,对总线使用权必需进行分配才能避免竞争,连接到总线上单机,其发送控制信号在时间上要完全隔离。 总而言之,发送和接收控制信号应该足够宽,以确保完整地接收一帧数据,任意两个单机发送控制信号在时间上完全分开,避免总线争端。 4.2 总线匹配 总线匹配有两种方法,一个是加匹配电阻,在总线两端差分端口VA和VB之间应跨接120匹配电阻,以降低因为不匹配而引发反射、吸收噪声,有效地抑制了噪声干扰。但匹配电阻要消耗较大电流,不适适用于功耗限制严格系统。 另外一个比较省电匹配方案是RC 匹配利用一只电容C 隔断直流成份,能够节省大部分功率

39、,但电容C取值是个难点,需要在功耗和匹配质量间进行折衷。除上述两种外还有一个采取二极管匹配方案,这种方案虽未实现真正匹配,但它利用二极管钳位作用,快速减弱反射信号达成改善信号质量目标,节能效果显著。 4.3 硬件抗干扰方法4.3.1 RO及DI端配置上拉电阻 异步通信数据以字节方法传送,在每一个字节传送之前,先要经过一个低电平起始位实现握手。为预防干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,提议RO外接10k上拉电阻。 确保系统上电时RS-485芯片处于接收输入状态 。对于收发控制端DE提议采取MCU引脚经过反相器进行控制,不宜采取MCU引脚直接进行控制,以预防MC

40、U上电时对总线干扰。 4.3.2 地线和接地 电子系统接地是一个很关键而又常常被忽略问题,接地处理不妥常常会造成不能稳定工作甚至危及系统安全。对于RS-485网络来讲也是一样,没有一个合理接地系统可能会使系统可靠性大打折扣,尤其是在工作环境比较恶劣情况下,对于接地要求更为严格。相关RS-485网络接地问题极少有资料提及,在设计者中也存在着很多误区,致使通信可靠性降低、接口损坏率较高。一个经典错误见解就是认为RS-485通信链路不需要信号地,而只是简单地用一对双绞线将各个接口A、B端连接起来。这种处理方法在一些情况下也能够工作,但给系统埋下了隐患,关键有以下两方面问题: 共模干扰问题:确实,RS

41、-485接口采取差分方法传输信号,并不需要相对于某个参考点来检测信号,系统只需检测两线之间电位差就能够了。但应该注意是,收发器只有在共模电压不超出一定范围(-7V至+12V)条件下才能正常工作。当共模电压超出此范围就会影响通信可靠,直至损坏接口。当发送器A向接收器B发送数据时,发送器A输出共模电压为VOS,因为两个系统含有各自独立接地系统,存在着地电位差VGPD。那么,接收器输入端共模电压就会达成VCM=VOS+VGPD。RS-485标准要求VOS3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响

42、正常通信,重则损坏接口。 4.3.3 电磁干扰(EMI)问题 驱动器输出信号中共模部分需要一个返回通路,假如没有一个低阻返回通道(信号地),就会以辐射形式返回源端,整个总线就会像一个巨大天线向外辐射电磁波。所以,尽管是差分传输,对于RS-485网络来讲,一条低阻信号地还是必不可少。一条低阻信号地将两个接口工作地连接起来,使共模干扰电压VGPD被短路。这条信号地能够是额外一对线(非屏蔽双绞线)、或是屏蔽双绞线屏蔽层。值得注意是,这种做法仅对高阻型共模干扰有效,因为干扰源内阻大,短接后不会形成很大接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大环路电流,影响正常通

43、信。笔者认为,能够采取以下三种方法: A、若干扰源内阻不是很小,能够考虑在接地线上加限流电阻限制干扰电流。接地电阻增加可能会使共模电压升高,但只要控制在合适范围内就不会影响正常通信; B、采取浮地技术,隔断接地环路。当共模干扰内阻很小时上述方法已不能奏效,此时能够考虑将引入干扰节点(比如处于恶劣工作环境现场仪表)浮置起来(也就是系统电路地和机壳或大地隔离),这么就隔断了接地环路,不会形成很大环路电流; C、采取隔离接口。有些情况下,出于安全或其它方面考虑,电路地必需和机壳或大地相连,不能悬浮,这时能够采取隔离接口来隔断接地回路,不过仍然应该有一条地线将隔离侧公共端和其它接口工作地相连。 4.3

44、.4 瞬态保护 前面提到接地方法只对低频率共模干扰有保护作用,对于频率很高瞬态干扰就无能为力了。因为引线电感作用,对于高频瞬态干扰来讲,接地线实际等同于开路。这么瞬态干扰可能会有成百上千伏电压,但连续时间很短。在切换大功率感性负载(电机、变压器、继电器等)、闪电等过程中全部会产生幅度很高瞬态干扰,假如不加以合适防护就会损坏接口。对于这种瞬态干扰能够采取隔离或旁路方法加以防护。 隔离保护方案:这种方案实际上将瞬态高压转移到隔离接口中电隔离层上,因为隔离层高绝缘电阻,不会产生损害性浪涌电流,起到保护接口作用。通常采取高频变压器、光耦等元件实现接口电气隔离,已经有器件厂商将全部这些元件集成在一片IC

45、中,使用起来很简便,如Maxim企业MAX1480/MAX1490,隔离电压能够到2500V。这种方案优点是能够承受高电压、连续时间较长瞬态干扰,实现起来也比较轻易,缺点是成本较高。 旁路保护方案:这种方案利用瞬态抑制元件(如TVS、MOV、气体放电管等)将危害性瞬态能量旁路到大地,优点是成本较低,缺点是保护能力有限,只能保护一定能量以内瞬态干扰,连续时间不能很长,而且需要有一条良好连接大地通道,实现起来比较困难。 实际应用中能够将二者结合起来灵活利用。隔离接口对大幅度瞬态干扰进行隔离,而旁路元件保护隔离接口不被过高瞬态电压击穿。 4.3.5 总线隔离 RS-485总线为并接式二线制接口,一旦

46、有一只芯片故障就可能将总线“拉死”,所以对其二线口VA、VB和总线之间应加以隔离。通常在VA、VB和总线之间各串接一只410PTC电阻,同时和地之间各跨接5VTVS二极管,以消除线路浪涌干扰。另外应该合理选择芯片。比如,对外置设备为预防强电磁(雷电)冲击,提议选择防雷击芯片。 4.4 软件抗干扰方法4.4.1 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数看成操作码,程序将犯错。若“飞” 到了三字节指令,犯错机率更大。 在关键地方人为插入部分单字节指令,或将有效单字节指令重写称为指

47、令冗余。通常是在双字节指令和三字节指令后插入两个字节以上NOP。这么即使乱飞程序飞到操作数上,因为空操作指令NOP存在,避免了后面指令被看成操作数实施,程序自动纳入正轨。另外,对系统流向起关键作用指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些关键指令实施。4.4.2 拦截技术 所谓拦截,是指将乱飞程序引向指定位置,再进行犯错处理。通常见软件陷阱来拦截乱飞程序。所以先要合理设计陷阱,其次要将陷阱安排在合适位置。 (1)软件陷阱设计 当乱飞程序进入非程序区,冗余指令便无法起作用。经过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行犯错处理。软件陷阱是指用来将捕捉乱飞程序引向复位入口地址0000H指令。通常在EPROM中非程序区填入以下指令

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服