一、RS232和RS485的区别
RS-232采取的是单端不平衡传输方式,其收发端的数据信号都是相对于地信号的,所以共模抑制能力 差。再加上双绞线分布电容的影响,其最大传输距离仅为15米,最高传输速率只有20kbit/s(=2560Byte/s)。
485总线采用了平衡发送和差分接收接口标准,使用半双工工作方式。在发送端将串行口的TTL电平信号转换成差分信号由A、B两线输出,经过双绞线传输到接收端后,再将差分信号还原成TTL电平信号。因此具有极强 的抗共模干扰能力,加之总线收发器灵敏度很高,可以检测到低至200mV的电压。故传输信号经过千米以上的衰减后都可以完好恢复。在100kbit/s的 传输速率下,通信距离可以达到1200米左右。如果通信距离较短,其最大传输速率可达10Mbit/s。如果需传输更长的距离,需要增加485中继器。
二、RS485组线方式2.485总线的特点
RS-485采用半双工工作方式,支持多点数据通信。RS-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。
如果需要使用星型结构,就必须使用485中继器或者485集线器。
RS-485/422总线一般最大支持32个节点,如果使用特制的 485芯片,可以达到256个节点或更多。
三. 485总线布线规则
为了避免数据传输错误,在485总线的布线设计和施工中,应特别注意以下几点:
3.1、屏蔽干扰
485总线传送的是一对差分信号,485网络上各设备之间的数据传输线最好采用外加屏蔽层的双绞线,屏蔽层应在一个点可靠接地。
3.1、特殊时侯使用光电隔离中断器
在工业现场应用中,如果现场干扰源非常复杂,各节点之间可能存在很高的共模电压。
虽然485接口使用的是差分传输方式,具有抗共模干扰能力。
但是当共模电压大于+12V或者小于-9V时,就超过了485接收器的极限接收电压,接收器将无法工作,甚至可能烧毁芯片和设备。此时,应在485总线网络中使 用485光隔离中继器,从而消除共模电压的影响。
3.2、终端匹配120R电阻
短距离这内,无需接这个电阻;但是当总线内的RS485设备多,并且传输距离长,485总线网络上会产生回波反射信号,建议在485网络的开始端和结束端并接120Ω电阻。
建议:如果485总线的传输距离超过100米,要装这个电阻;
四、 485星形总线布线(须借助485中断器)
虽然485不能接成星形或环形,只能接成总线拓朴布线,但是拓朴型接线,出故障时不易排查,布线也不方便;
为了提高前期施工布线效率,为了有利于查故障和维修,那么我们可以从广议上接成星形总线,但是必须借助RS485中断器;
485总线星形拓扑结构
485总线树型拓扑结构
五. 标准的拓线式接线方法
这是标准的RS485总线接线方式,有的会使用RS485中断器,有的会使用RS485集线器;
在单一的RS485总线网络内,最好能在网络的首端设备和尾端之间接120R电阻,以保证RS485总线的稳定性;如果不接有的时候也没关系,但是距离长了以后,可能抗干扰能力就会减弱;
120R终端匹配电阻标准接法: 485总线网络的首端设备和末端设备上各接一个120欧姆的终端电阻,该电阻并接在485总线的正负两线之间。如下图所示:
无RS485中断器,拓朴总线
有RS485中断器,拓朴总线
RS485集线器,拓朴总线
六、偏置电路
1、关于偏置电路中的上下拉电阻,一般只在主机中使用,在从机不需要接这上拉下拉电阻;
2、如何计算:
485在同一个总线上只能有一处上下拉,两个120Ω终端电阻。按485设计标准挂32个设备,每个设备阻抗>12k. 32个12K并联为 375Ω,375和2个120Ω并联,总负载为52Ω左右,因此你的上下拉电阻和这个52Ω串在一起,两端电压为5V,52欧姆上要分得电压至少要 200mV以上,上下拉为624欧姆左右。大于这个值都会导致最大负载下空闲总线电平压差低于200mv,为不确定状态。
3、排除问题1
线长会出现问题,线短没问题,一般是终端电阻的原因。同样相同的距离,低波特率正常,高波特率错误,也是终端电阻的原因。你以前正常,不代表你设计没问题。最简单的办法,用示波器看波形,绝对有反射,波形变形。
4、排除问题2
485布线采用线性拓扑结构,终端要加在起始端和末尾端,你主站在哪里无所谓。主站也是个485设备,和从站一样的。两个终端电阻需要加在线路的首端和末 端。你应该用示波器看看波形,再确定采取何种操作。如果波形变形,电压幅值是够的,则是终端匹配问题。如果波形没有变形,但是电压幅值不够,则是你的 485驱动能力不足。更换485 IC即可。
曾经对于485加强驱动能力做过这样两种尝试,①末端增加上下拉电阻②末端增加匹配电阻,都能达到加强485驱动能力的效果。
5、关于偏置电中的来由
上下拉电阻的专业术语叫”偏置电路",它的作用是在总线上所有节点处于接收状态时,保持总线电压为高电平。 RS485的规范里面高电平是压差大于200mV.
当你考虑最坏的情况,就是负载最大的时候52Ω,也需要偏置电路中这个52欧姆总负载上的电压差要大于200mv,低于200mv时RS485接收器的输出状态是不确定的。
当然现在有很多的485芯片都有空闲(压差小于200mv)输出信号保持高电平的功能。偏置电路的存在使得你设计的电路对所有的485芯片来说,都可以让它空闲输出保持高电平。
当然如果你要更深入地考虑485接收器滞回电压,总线信号干扰等因数时,你需要适当地大于200mv这个值。
485测试时,各种参数测试条件都是在最大负载下为54Ω的测试结果,他们测试的终端电阻为125欧姆,375并两个125及为54.1欧姆。但一般实际应用中终端电阻选择的是120欧姆。