RS485铁三角:负载、距离、波特率——三者不可兼得
短文标题RS485铁三角负载、距离、波特率——三者不可兼得你有没有想过一个问题RS485总线上为什么设备多了跑不远跑快了挂不近负载、距离、波特率是RS485的铁三角——三者相互制约不可兼得。想挂多就得降速度或缩短距离想跑快就得少挂设备或缩短距离。一、设备负载单位负载1ULRS485标准定义接收器输入阻抗为12kΩ消耗1个单位负载1UL。标准驱动器的驱动能力最多32个1UL设备。不同负载等级的芯片每个设备都“消耗”总线信号能量设备越多信号越弱。二、通信距离与波特率成反比RS485最大通信距离1200米10kbps波特率提高距离缩短。距离越远信号衰减越大需要更低的波特率让信号“喘口气”。三、终端电阻消除信号反射总线两端最远两个设备各接一个120Ω电阻与双绞线特性阻抗匹配。作用吸收信号能量消除反射。信号到达总线尽头遇到阻抗突变空气会反弹与正常信号叠加造成误码。只接一端不行另一端仍会反射形成二次反射。加电阻的代价终端电阻增加驱动器负载120Ω并联降低总线阻抗驱动电流增大影响带载能力。铁三角的相互制约总负载 N × (1/阻抗) 2/120Ω终端电阻驱动器输出电流能力有限 → 负载越大总线信号摆幅越小距离越远电缆损耗越大 → 需要更大的信号摆幅波特率越高信号边沿越陡 → 需要更小的总负载三个参数互相牵制同时优化不可能。工程选型速查表这个故事的启示RS485组网不是简单把A-A、B-B连起来。设备数、通信距离、波特率——三选二或三选一不存在三者全优。设计初期就要权衡取舍。写在最后画RS485总线前先定三件事挂多少设备传多远跑多快三者不可兼得优先确定最刚需的那一项。本文灵感源于于振南《新概念ARM32单片机》教程第4.15节“RS485总线设备数量、波特率与终端电阻匹配问题”。觉得有用点赞、转发让更多人看懂RS485铁三角的制约关系。