常用接口--RS485

RS485电路设计(差分传输、半双工)

      RS-485是针对UART串口的一种接口标准,它定义了串行通信系统中发送器和接收器的一系列电气特性。相比于RS-232,RS-485标准的通信系统抗干扰能力较强,可实现长距离数据传输﹐同时支持多个收发器连接到同一个通信网络中。因此,RS-485在工业控制领域以及有类似需求的系统中得到了广泛的应用。

(1)RS485的电气特性:逻辑“1”用两条线之间的电压差表示为+(2-6)V;逻辑“0”-(2-6)V两条线之间的电压差表示。接口信号电平低于RS232,不易损坏接口电路芯片。此外,接口信号电平与TTL电平兼容,可以很容易地与TTL电路连接。

(2)RS485的最高数据传输为10Mbps

(3)RS485接口,采用平衡驱动和差分接收相结合的方式,提高了抗共模干扰能力,即工控机良好的抗噪声干扰能力。

(4)RS485接口的最大传输距离为4000英尺,实际可达3000米。此外,RS232接口只允许连接总线上的一个收发器,即单站容量。RS485接口允许多达128收发器连接到总线。也就是说,它具有多站能力,使用户可以很容易地建立设备网络,使用一个单一的RS485接口。

(5)RS485串行接口具有良好的抗噪声性能、较长的传输距离和多工位性能,是串行接口的首选接口。因为RS485接口构成一个半双工网络,一般只有两条线路,所以RS485接口都是使用屏蔽双绞线传输。RS485接口连接器采用DB-9插头插座,智能终端RS485接口采用DB-9(孔),键盘接口RS485采用DB-9(针)。

 

接口电子特性:

所采用的是差分信号(两根线)传输方式,逻辑为1时Signal两线电压差在+2 ~ +6V,逻辑为0时Signal两线电压差在-2 ~ -6V。

 

 

 

SP3485信号转换芯片介绍:

SP3485芯片是+3.3V低功耗半双工收发器,适用于RS-485和RS-422串行协议,作为RS-485串行协议时的电路设计图如下:

 

 

 

 

参考设计: RS485串口部分的原理图如下图所示。由于ZYNQ PL侧串口输入输出引脚为TTL电平,用3.3V代表逻辑“1”,0V代表逻辑“0”;而RS-485电平标准采用差分信号的差值电压来代表逻辑“0”和“1”。因此当FPGA与RS485接口标准的设备通信时,需要加电平转换芯片SP3485.实现 RS485电平与TTL电平的转换。

 

 

 

 

 

       由于RS-485为半双工通信方式,需要通过使能信号来控制发送和接收过程。在下图中,电平转换芯片SP3485的2号引脚为低电平接收使能,3号引脚为高电平发送使能。在这里我们将两个引脚连接在一起,只需要通过一个信号R$485_DE即可控制收发过程:当RS485_DE为高电平时,SP3485处于发送过程;当RS485_DE为低电平时,SP3485处于接收过程。4'
RO 就是芯片接收到的数据再由他发送出去。
对485来说,485是发送数据,那 FPGA就是接收数据。
DI就是驱动器输入,就是FPGA发出数据给485的第四个引脚。

 

下图为RS232/RS485的选择接口,由上图可知,SP3485芯片端口的RS485_RX和 RS485_TX并没有直接和ZYNQ的引脚相连接,而是连接到开发板的P1口,RS232串口和RS485串口共用P1口的UART2_TX和UART2_RX,UART2_TX和UART2_RX是直接和FPGA的引脚相连接的,这样的设计方式实现了有限I0的多种复用功能。因此,在做RS485串口通信实验时,需要使用杜邦线或者跳帽将.RS485_RX和UART2_TX连接在一起,RS485_TX和UART2_RX连接在一起。

 

1:A和B之间为什么要加串一个120欧姆的电阻?
485总线通常使用特性阻抗为120Q的双绞线,因此在485总线的首尾两端增加120Q终端电阻来避免信号反射问题。

2:为什么需要加上下拉电阻?,
根据 RS-485标准,当485总线差分电压大于+200mV时,485收发器输出高电平;当 485总线差分电压小于-200mV时,485收发器输出低电平;当485总线上的电压在-200mV~+200mV时,485收发器可能输出高电平也可能输出低电平,但一般总处于一种电平状态,若485收发器的输出低电平,这对于UART通信来说是一个起始位,此时通信会不正常。v当485总线处于开路(485收发器与总线断开)或者空闲状态(485收发器全部处于接收状态,总线没有收发器进行驱动)时,485总线的差分电压基本为0,此时总线就处于一个不确定的状态。同时由于目前485芯片为了提高总线上的节点数,输入阻抗设计的比较高,例如输入阻抗为1/4单位阻抗或者1/8单位阻抗(单位阻抗为12kQ,1/4单位阻抗为48k Q),在管脚悬空时容易受到电磁干扰。因此为了防止485总线出现上述情况,通常在485总线上增加上下拉电阻(通常A接上拉电阻,B总线下拉电阻)。若使用隔离RS-485收发模块(例如RSM485PCHT),由于模块内部具有上下拉电阻(对于RSM485PCHT,内部上下拉电阻为 24kQ),因此在模块外部一般不需要增加上下拉电阻。

 

 

 

 

其中,“RS485_RX”网络由ZYNQ输出的UART2_TX驱动。当UART2_TX为高,即不发送时,三极管导通,“RD485_DE”被拉低,此时SP3485芯片工作在接收状态,RS485差分总线的电平被外部电阻强制拉高,达到了输出高电平的的状态。当UART2_TX为低,即开始发送时,三极管截止,“RD485_DE”被拉高,此时SP3485芯片工作在发送状态,RS485差分总线的电平由 UART2_TX来驱动。这样就实现了RS485收发状态的自动控制。

参考设计2:

 

 

 

 

 

L1为共模电感,共模电感能够对衰减共模干扰,对单板内部的干扰以及外部的干扰都能抑制,能提高产品的抗干扰能力,同时也能减小通过信号线对外的辐射,共模电感阻抗选择范围为120欧/100MHz ~2200欧/100MHz,典型值选取1000 欧/10OMHz ; 
//共模电感(Common mode Choke),也叫共模扼流圈,常用于电脑的开关电源中过滤共模的电磁干扰信号。在板卡设计中,共模电感也是起EMI滤波的作用,用于抑制高速信号线产生的电磁波向外辐射发射。ll
C1、C2为滤波电容,给干扰提供低阻抗的回流路径,能有效减小对外的共模电流以同时对外界干扰能够滤波;电容签值选取范围为22PF~1000pF,典型值选取100pF;若信号线对金属外壳有绝缘耐压要求,那么差分线对地的两个滤波电容需要考虑耐压;
当电路上有多个节点时要考虑降低或去掉滤波电容的值。C3为接口地和数字地之间的跨接电容,典型取值为1000pF,C3容值可根据测试惰况进行调整;

 

 

RS-422和RS-485电路原理基本相同,都是以差动方式发送和接收,不需要数字地线。差动模式使得同速率条件传输距离更远,这正是二者与RS232的根本区别。

RS-422通过两对双绞线可以全双工工作收发互不影响,RS485采用一对双绞线故只能半双工工作,发收不能同时进行,RS-422不允许出现多个发送端而只能有多个接受端。因为有两对双绞线实现全双工,故有四条信号线T/R+,T/R-,以及一条GND线。

 

 

posted @   220nf绿波电龙  阅读(2022)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示