波特率自适应的RS-485光电收发器模块设计
扫描二维码
随时随地手机看文章
RS-485是一种工业领域内广泛使用的通信协议,其显著特点是信号采用“差分”方式传输,因此有效抑制了共模干扰,通信距离也因此大大增加。在不加任何中继设备时,理论传输距离为1.2 km。然而南于工业现场情况错综复杂,各种干扰相互叠加,而RS-485标准规定了最大总线负载为32个,因此在需要进行更长距离传输或者增加更多负载的情况下,有必要使用一种中继设备将信号更准确,更完整地传输到远端设备。光纤和其他传输介质相比具有宽频、低损耗、屏蔽电磁辐射、重量轻等优点,因此设计此款光电收发器能够有效提高信号传输质量和传输距离。
2 总体设计
2.1 使用场合及功能简述
RS-485光电收发器模块工作在物理层,设计的每个模块内有两路相互完全独立的光电收发器,每路作用是实现将两线制RS-485差分信号数据与光信号转换。当两线制RS-485传输线长度超过400 m时,信号质量下降,并且很容易受到外部电磁场干扰,此时使用光电收发器作为中继设备连接现场总线,不仅能够增强传输距离,而且可以保证传输中由外部电磁场造成的干扰减小到最低。
2.2 通信系统框架
如图l所示,从物理层来看,整个总线被光纤分成两段。此时每路收发器应视为相应段的末端,因此需要在每路收发器中内置终端匹配电阻,使负载端输入阻抗与传输线的特征阻抗相匹配,达到消除负载端反射的目的。与此同时,每一路光电收发器在电气性能上占一个节点,因此.每一段总线上所加的485负载应小于30个。
当现场比较分散时,或RS-485总线两端的设备不在同一建筑物内时,相关设备和模块可以采用如图2所示的方式进行连接,依现场环境而定。
3 设计原理
由于RS-485是半双工双向总线,具有多点、双向通信能力,即允许多个I/O模块同时连接到总线上,而且信号传输线上的传输方向不定。因此,在设计RS-485光电收发器模块时,首先重点考虑的就是控制好RS-485收发器的信号传递方向。
3.1 常见的3种RS-485光电收发器原理
现有已应用到现场的RS-485光电收发器通常采用以下方法实现:
(1)采用RC充放电延迟电路配合整形电路控制RS-485收发器的数据收发方向。
(2)将单片机作为定时器定时控制RS-485收发器数据收发方向。
(3)采用FPGA(CLPD)监视总线上的数据,当接收端有数据上传时,通过逻辑控制将RS-485收发器调整到接收状态,接收完毕后返回。
第1种方法采用硬件电路实现,使用阻容延迟电路。缺点是电阻电容本身有一定的误差,使用一段时间后由于老化或其他环境因素,容易导致延迟时间的变化,使模块准确性降低;而且这种方法在传输过程中以字节为单位。要求2个字节之间的通信时间间隔必须大于1个字节数据的通信时间,才能确保不丢失数据,因此降低了通信速率。
第1、2种方法采用软件控制收发器状态。第2种方法中用单片机检测接收到数据的起始位,单片机中断响应需要时间,并且这个时间必须小于RS-485总线上一个数据位的时间,这样才能够保证不漏掉每一个数据位,因此对传输速率有了一定的限制。第3种方法实际上是对收发器接收的到通信内容进行分析、判断,与此同时控制收发器状态,这种方法属于数据链路层的处理,软件运行时间降低了系统的实时性,同时使得整个通信系统变得更加复杂,也增加了模块成本。
3.2 波特率自适应RS-485光电收发器原理
3.2.1 硬件原理框图
该模块采用硬件电路搭建,包括方向控制和整形电路如图3所示。其工作原理:①24 V电源经过隔离DC/DC转换成5 V直流给整个模块供电。②双绞线传输的RS-485信号通过端子引入RS-485差分数据收发器(此处选用SN75HVD06D),支持最大10 MHz传输速率)。空闲状态下RS-485收发器默认状态为收,即接收外部传来的差分信号,将其转换为Rx数字信号,加以驱动后传给HFBR1414转换为光信号,通过光纤传输出去。相反,当有信号输入模块时,首先HFBR2412光头将光信号转换为数字Tx信号,经过整形、延迟处理后,同时控制收发器两个使能端DE、RE。(③T作在半双工方式的RS-485总线,主控单元与从站之间只能采用主从方式交换数据,而工作在总线上的光电收发器,也只能通过光头的输入信号判断信号的传输方向。因此,为了不占用总线的空闲时间,需要对方向控制门的波形作适当整形,可利用上拉下拉电阻保证总线上“1”的状态,而当光头接收到“0”时,则打开方向控制门,使驱动器总线产生“0”。
图4为工作过程中的波形.方向控制门默认为低,接收端数据默认为高。当发送端发送数据位“1”时,方向控制门关闭:发送数据位“0”时,方向控制门延迟一小段时间后打开。此时,接收端完全接收发送过来的数据,直到方向控制门关闭。
3.2.2 波特率自适应原理
波特率自适应光电收发器的设计思路是:通过方向控制门控制RS-485收发器收发状态,以一个数据位的时间宽度为单元,若收发状态时间宽度适应于任意波特率,则该光电收发器可以适应任何速率的数据传输,电路结构目如网5所示。
图5中外部数字信号流入模块时,首先通过一个RC延迟电路将信号延迟一小段时间(R×C),然后通过一个二输入与非门接入RS-85 收发器的两个使能端,使能端通过下拉电阻R2保证默认状态为RE使能,即默认为收(数据从左向右);当有“0”信号流入时,收发器自动切换到DE使能,即为发送状态(数据从右向左),此时收发器将完全接收外部输入的信号,而当输入由“0”变为“1”时,方向控制门关闭,RS-485收发器呈现高阻状态。此时设置在差分信号端的匹配电阻构成偏置电路,为差分信号提供高电平。
由图5可看出,这样做会对信号的完整性造成一定的损失,但是如果延迟时间与数据位的时间相比很小时,这种处理方法便不会影响数据的准确性。因此,应当根据最大传输速率选好尺,R3、C1的值和延迟时间,才能保证在波特率自适应过程中不会对信号质量造成影响。
3.3 光电转换简介
该模块采用HFBR-1414、HFBR-2412光电收发器,两器件配对使用,将电信号和光信号进行互转,一收一发,实现模块功能。
对于一般的工业场合,在带宽不是很大的情况下,多模光纤已经能够达到工业级要求,其传输距离可以达到几公里,对于RS-485总线来说已经绰绰有余。同时考虑到成本因素,该模块推荐使用多模光纤为介质进行传输。
4 结语
经测试,该模块能够在500 Kb/s及以下的速率正常运行,达到了设计要求。相对于软件方法实现的中继设备更加简洁和准确。该模块和一般的RS-485、RS-232中继设备相比,不但在传输距离上有很大提高,而且由于使用光纤,在抗干扰度方面也有突出优势,可用于工业现场的任何一个环节。