
简介MAX13487EESA-datasheet.pdf 是 MAX13487E/MAX13488E 半双工 RS-485/RS-422 兼容收发器的官方数据手册面向设计工业总线通信与隔离 RS-485 接口的硬件工程师、嵌入式开发者便于选型比对与电路调试时核对指标。资源包仅含 1 个 PDF 文件约 271KB轻量易归档。手册重点区分两款型号AutoDirection 自动方向控制在发送时自动使能驱动器省去光耦或分立隔离电路节省布板面积与 BOM 成本MAX13487E 采用受限压摆率驱动器抑制 EMI 与终端失配反射支持 500kbps 无误传输MAX13488E 不限压摆率最高 16Mbps1/4 单位负载输入阻抗可在总线上挂接 128 个收发器并具热插拔与 ±15kV 人体模型 ESD 保护。文中另含绝对最大额定值、引脚定义与典型应用电路覆盖电表计量、工业控制、电机驱动及 HVAC 自动化等场景-40℃ 至 85℃ 温度范围与 8 引脚 SO 封装一并给出。已有 2682 人学习下载。1. 一根双绞线背后的主角MAX13487EESA 是什么工业现场常见这样一幕一对双绞线从电表箱一路串到控制柜中间挂十几块板子全都靠这两根线说话。谁开口、谁闭嘴、什么时候开口必须有个规矩。MAX13487EESA 就是管这件事的芯片之一——一颗 5V 供电、半双工、兼容 RS-485/RS-422 的收发器8 个引脚把单片机一根 DI 线上的高低电平变成 A、B 两根线之间的差分电压反过来也把差分电压还原成 RO 上的电平。搞懂它等于搞懂工业通信里最常见的那种「两根线挂一走廊设备」的底层逻辑为什么两根线能连 128 个节点为什么方向控制这个看着简单的事会让无数人踩坑以及同一款芯片为什么要分成 500kbps 和 16Mbps 两个版本卖。数据手册里那些电压、电流、纳秒其实都在回答这几个问题。2. 为什么需要 AutoDirection半双工总线的方向焦虑2.1 一个 GPIO 决定谁开口麻烦就来了RS-485 的物理层是差分传输。驱动器把 DI 上的逻辑变成 A 比 B 高、还是 B 比 A 高接收器看 A、B 之间的差值大于 200mV 判为高小于 -200mV 判为低中间还留了 25mV 的迟滞防止在阈值附近抖个不停。所谓半双工就是同一对线上同一时刻只能有一个驱动器说话其他人必须把自己的驱动器关掉、退成高阻只留接收器在听。所以传统收发器都有 DE驱动器使能和 RE接收器使能两个引脚。MCU 发数据前把 DE 拉高占住总线发完再拉低释放。问题全出在「发完」这两个字上UART 的发送完成中断常常在最后一个字节写进移位寄存器时就来了可最后一个字节的停止位还在线上爬。这时候立刻拉低 DE接收端会收到一个被截断的字节CRC 过不了重发或者整帧丢弃怕截断就把延时拉长别的节点可能正好在这段空窗里开口两边驱动器同时使能总线竞争短路电流瞬间冲到几百毫安。这就是老师傅嘴里那个玄学延时有人留 1 个字符时间有人留 3.5 个字符有人干脆加 2ms。9600bps 下 2ms 只占 2% 的带宽跑到 115200bps 就是 20% 白白浪费而且还得按最坏情况留裕量。血泪经验往往就是这么攒出来的。2.2 AutoDirection把方向判断塞进 DI 这根线里MAX13487E/MAX13488E 的做法很干脆8 个引脚里没有 DE。取而代之的是芯片内部一个状态机输入就是 DI。你在 DI 上送数据它看到电平翻转就知道「该我说话了」自动把驱动器打开数据送完DI 停在空闲电平它再把驱动器关掉退回高阻。剩下的方向相关引脚只有 RE。SHDN 是总开关拉高正常工作拉低进关断关断电流 10µA。RE 有两种用法拉低RO 常使能接收器一直开着拉高把接收器也交给 AutoDirection 电路去管芯片自己判断什么时候听、什么时候说。这个设计要解决的正是上面那段玄学延时。方向信息不再是一条独立于数据之外的控制线而是从数据本身推出来的DI 上有动作就是发送没动作就是接收。软件里「发完等多久再释放」这件事被硬件接管截断和撞车这两个极端同时被压住。维度传统 DE 控制AutoDirection方向引脚DE RE 两个只剩 RE释放时机软件延时决定内部状态机决定隔离端口通道数方向信号要单独过隔离栅方向与数据合一上电瞬间常需外部上拉下拉定态热插拔电路处理2.3 省下的不只是几行代码隔离端口少一路光耦工业现场的 RS-485 经常要做隔离。几百米线缆穿过电机、变频器、继电器两端地电位差能把收发器直接打死。传统隔离方案要跨隔离栅传三样东西DI 进、RO 出、DE 方向。也就是至少三路光耦或者一个三通道数字隔离器。AutoDirection 把方向信息藏进 DI 之后隔离栅上只剩两路DI 进、RO 出。省下来的不只是器件成本还有 PCB 面积——隔离器件往往比收发器本身大一圈。数据手册里把这件事写成「自动使能驱动器省掉一路光耦或其他分立隔离手段」应用列表第一条也正是「隔离 RS-485 接口」。道理很直白方向不用单独过栅栅上自然少一根线。2.4 自动方向也会误判它怕的是脏边沿AutoDirection 靠 DI 上的翻转判断发送状态。如果 MCU 的 UART 引脚在初始化阶段是浮空的或者上电复位瞬间输出乱跳这串乱跳会被当成数据推上总线。DI 长时间停在某个电平状态机也可能认为还在发送。数据手册给的答案是热插拔能力上电或带电插拔期间DI、RE 这些输入被内部电路钳在一个确定状态假跳变不会被当成数据发出去。这条对现场维护特别重要——机柜带电运维人员插一块板子进去如果这颗芯片上电瞬间往总线上吐一帧乱码整条总线的设备都会收到错误数据。# 传统方案方向由 MCU 的 GPIO 管释放时机靠延时猜 def send_traditional(uart, de_pin, payload, bit_time_us): de_pin.high() # 先抢总线占住 A/B uart.write(payload) uart.flush() # 等数据真正进入移位寄存器 # 这段延时是玄学短了截断停止位长了跟别人撞车 time.sleep(bit_time_us * 10 / 1_000_000) de_pin.low() # 释放总线退回高阻 # AutoDirection 方案没有 de_pin方向从 DI 的翻转里推出来 def send_auto(uart, payload): uart.write(payload) uart.flush() # 不需要 de_pin也不需要那段靠猜的延时上面两段伪代码的差别不在语法在责任归属。前者的bit_time_us * 10是按「一个起始位 8 个数据位 一个停止位」估的字符时间实际还得叠加 UART 硬件 FIFO 的排空时间和中断响应抖动所以工程上通常再乘一个 1.5 到 3 的系数。后者的send_auto把这段责任交给了芯片内部状态机软件只负责把数据写进 UART。3. 同门两兄弟MAX13487E 与 MAX13488E 差在哪3.1 压摆率限制故意把方波的棱角磨圆MAX13487E 的驱动器带压摆率限制MAX13488E 不带。压摆率说人话就是电压从低爬到高的速度单位 V/µs。限制它等于把原本刀切一样的上升沿改成缓坡。为什么要故意变慢因为一根长线本质上是分布电容加分布电感。边沿越陡高频分量越强线缆终端没匹配好时反射越凶电磁辐射也越大。把边沿磨圆高频分量掉下去反射和干扰跟着降。数据手册给的证据是大电容负载下的实测波形驱动 16nF 负载时MAX13487E 能干净地跑 19.2kbpsMAX13488E 在同样 16nF 下画的是 750kbps 的波形。同样一块「电容包袱」慢的那颗跑得低但波形规整快的那颗跑得高但边沿更陡。这就是取舍本身要速度还是要恶劣线缆下的容错。3.2 500kbps 和 16Mbps选型的第一问不是谁更快参数MAX13487EMAX13488E压摆率限制有无最高速率500kbps16Mbps驱动传播延迟典型200ns50ns输出上升/下降时间200ns ~ 900ns15ns 量级驱动 16nF 负载实测19.2kbps750kbps从关断唤醒到输出有效5.5µs2.2µs500kbps 已经覆盖绝大多数工业现场总线计量表计、HVAC 控制器、普通 PLC 的串口常见速率都在 9600 到 115200bps 之间Modbus RTU 跑到 115200 就算快的了。所以选型第一问不是「哪个快」而是「我的线有多长、终端做得怎么样、沿途有几个分支」。有个通用经验速率上去可靠距离下来。压摆率限制那颗在同样线长下裕量更大。现场如果是几百米双绞线、中间还有分支、终端电阻靠手焊用 16Mbps 那款反而更容易翻车——不是芯片不行是线撑不住那么陡的边沿。3.3 1/4 单位负载128 个节点是这么算出来的RS-485 里有个「单位负载」的概念1 个单位负载大约对应 12kΩ 输入阻抗传统收发器就是 1 单位负载一条总线最多挂 32 个。这两颗芯片的接收器输入阻抗是 1/4 单位负载手册里接收器输入电阻典型值 48kΩ所以同样一条线能挂 128 个。为什么输入阻抗高就能多挂因为总线靠终端电阻把电流变成电压每个挂在 A、B 之间的接收器都要分走一点电流。挂得越多并联阻抗越低驱动器要推的负载越重差分电压就被拉下来。把每个节点的「吃电流」能力降到四分之一能挂的节点数自然翻四倍。这里埋着一个易混点128 是电气意义上的上限不是「随便挂 128 个就一定能通」。终端电阻取值、线缆电容、每段分支的长度、驱动器实际输出能力都会往下压这个数。3.4 关断、使能与那些纳秒级的数字SHDN 拉低进关断关断电流 10µA从正常状态进入关断的时间典型 340ns、最大 700ns。从关断唤醒到驱动器输出有效MAX13487E 是 5.5µsMAX13488E 是 2.2µs接收器从关断唤醒都是 2.2µs。这些数字直接决定低功耗轮询策略能不能做——如果每次唤醒要 5.5µs按 1ms 周期轮询一次功耗账得重算。接收器传播延迟 80ns输出偏斜 13ns使能/禁用时间 50ns。正常工作电流 4.5mA条件是 SHDN 拉高、RE 拉低、空载。单独看这些数字没意义放进协议里才有意义。比如跑 500kbps一个位是 2µs驱动器最大传播延迟 1000ns 就吃掉半个位宽再加上线缆延迟和接收器 80ns一来一回的时序裕量必须按最坏值算不能拿典型值凑。翻车往往就翻在「典型值看着够」这五个字上。4. 引脚背后的保护ESD、热插拔与短路折返4.1 ±15kV 这个数字护住的是什么A、B 两个引脚的人体模型 ESD 保护是 ±15kV其他引脚是 ±2kV。MAX13487E 还额外标了 IEC 61000-4-2 气隙放电 ±15kV。人体模型模拟的是人带静电摸到引脚模型里一个 100pF 电容串 1.5kΩ 电阻放电。IEC 61000-4-2 模拟的场景更狠上升沿更陡、峰值电流更大。两个数字不能直接比大小也不能互相换算测试模型根本不是一回事。关键认知是ESD 等级不等于防雷。雷击是能量问题几安培的浪涌持续微秒级ESD 是电压问题纳秒级的高压脉冲。想防雷外面还得加 TVS、气体放电管、限流电阻。这颗芯片的 ±15kV 保证的是产线装配、现场摸着机壳插拔线缆这种级别的静电不会把它打死不是「雷雨天可以不管」。4.2 热插拔上电那一瞬间最容易出事板子带电插进背板VCC 是慢慢爬上去的其他引脚可能已经和总线连通。此时芯片还没进入正常工作状态内部逻辑不确定DI 或者 A/B 上可能出现短暂毛刺被总线上别的节点当成起始位收进一帧垃圾。芯片的对策是让 DI、RE 成为热插拔输入上电期间把它们的内部状态钳住等 VCC 稳定到有效范围再放行。手册把这句写得很直白消除上电或带电插入期间总线上的假跳变。对系统的意义比听起来大。工业机柜、计量表箱经常带电维护一块板子插上去如果吐一帧乱码主站可能进入错误处理流程严重的话整条总线停摆几分钟。做过现场的人都知道最难排查的故障不是彻底不通而是偶尔通、偶尔不通。4.3 短路折返总线竞争时的保命机制半双工总线最怕两个节点同时开驱动器。一边推高一边拉低中间只有线缆电阻和终端电阻电流能冲到几百毫安。手册给的驱动器短路输出电流是 ±250mA 峰值随后进入折返限流把电流压到 ±20mA 量级。折返的意思是电流超过阈值后芯片不硬扛主动把输出电流降下来、输出电压拉低功耗跟着降等总线竞争消失它再自动恢复。配合 150°C 的结温上限以及 8 引脚 SO 封装 471mW 的耗散能力70°C 以上按 5.9mW/°C 降额这颗芯片在接错线、两个节点抢总线这类事故里大概率能活下来。接收器输出同样有短路保护短路电流 ±95mARO 被外部拉死也烧不掉。4.4 绝对最大值这几条红线踩了就回不来引脚绝对最大范围VCC6VSHDN / RE / DI-0.3V ~ 6VA / B-8V ~ 13VA、B 的 -8V 到 13V 比 5V 供电宽得多但这不是让你在 A/B 上加 13V 电源而是允许总线共模电压在这个范围内摆动。接收器的共模输入范围是 -7V 到 12V在这个区间里差分判决仍然有效超出去接收器可能判错甚至伤到输入级。工业现场的地电位差就是这么来的两台设备的地不是同一个地中间差几伏甚至十几伏这个差值会叠加到 A、B 的共模上。隔离型收发器解决的是这个问题但即便做了隔离共模范围也要算清楚。4.5 去耦电容不是随手画的VCC 是 5V ±5%也就是 4.75V 到 5.25V手册明确要求 VCC 到 GND 之间放一颗 0.1µF 电容。驱动器切换瞬间要灌几十毫安的脉冲电流如果电源走线电感大VCC 上会出现凹陷内部状态机和接收器可能误动作。4.5mA 的静态电流看着很小但那是空载、SHDN 拉高、RE 拉低的条件下测的。真正发送时驱动器给 54Ω 或者 100Ω 负载供电瞬时电流能到几十毫安去耦电容就是给这个瞬时电流兜底的水池。省掉这颗电容省的是两分钱赔的可能是整批板子的稳定性。5. 常见误区RS-485、RS-422、半双工这几个词最容易混5.1 误区一RS-485 和 RS-422 是一回事易混点两个都是差分、都用两根线、都叫工业串口手册上还写着「RS-485/RS-422-Compatible」很容易以为随便用。为什么混物理层电气特性高度重叠驱动器的差分输出范围、接收器 ±200mV 的判决阈值两个标准是相通的所以一颗收发器能同时兼容两者。怎么区分看拓扑和双工。RS-422 是点对点、全双工一个驱动器对最多十个接收器收发各用一对线总共四根RS-485 是多点、半双工一条总线挂几十上百个节点同一时刻只有一个说。这两颗芯片是半双工、一对线两用塞进 RS-422 网络里只能当单向的一头使。手册的概述里写得很直接这些器件是为半双工通信设计的。5.2 误区二半双工就是只能单向通信易混点把「半双工」理解成「只能从主站发到从站回不来」。为什么混「半」字让人联想到功能减半加上很多教材拿「单向」当例子。怎么区分半双工是分时双向同一时刻只有一个方向但方向可以切换。对讲机就是典型半双工你说完松手对方说。RS-485 半双工就是这根线轮流用主站问、从站答一问一答之间方向翻转。全双工才是收发各占一对线、可以同时进行。5.3 误区三AutoDirection 等于软件完全不用管方向易混点以为去掉 DE 之后方向这件事就彻底交给硬件代码里什么都不用考虑。为什么混「自动方向控制」这个名字听起来像全自动。怎么区分自动的是「驱动器什么时候开、什么时候关」不是「总线上谁能说话」。多主站协议里两个主站同时发硬件照样撞车。另外 DI 的空闲电平、上电时序、UART 引脚复用之前的状态这些还得软件保证。芯片帮你省掉的是那段延时不是整套总线仲裁逻辑。5.4 误区四1/4 单位负载就等于一定能挂 128 个易混点把电气上限当成工程保证值。为什么混手册原话是「允许总线上最多 128 个收发器」读起来像承诺。怎么区分128 是输入阻抗折算出来的理论值前提是总线负载、终端匹配、驱动器能力都理想。真实工程里终端电阻、线缆电容、分支长度、每颗芯片的供电噪声都会吃掉裕量。挂到一百个以上最好实测最远端的差分电压和波形别拿手册数字当验收标准。5.5 误区五±15kV ESD 等于防雷击易混点看到 15kV 这个数字就以为雷雨天不用额外保护。为什么混数字确实大而且「静电」和「雷击」在直觉上都属于「电一下」。怎么区分ESD 是纳秒级电压脉冲、能量小雷击浪涌是微秒级电流波形、能量大测试模型和等级体系完全不同。15kV 的人体模型只说明它扛得住人手摸引脚那种放电防雷是另一套设计TVS、气体放电管、限流电阻一个都不能少。6. 什么时候该用什么时候别碰三个场景的边界先给一张速查表把选型逻辑压成几行场景建议理由隔离型 RS-485 从站速率 ≤ 115200bps线长几百米MAX13487E压摆率限制给长线留裕量AutoDirection 省一路隔离通道板内或短距离、点对点、速率要求十几兆MAX13488E边沿快、延迟低压摆率不受限需要四线全双工、收发同时两颗都不选它们只做半双工一对线分时用多主站、需要精确仲裁时序谨慎AutoDirection 自动的是驱动器开关不是总线仲裁共模电压长期超出 -7V ~ 12V先解决隔离超出接收器共模范围判决不可靠什么时候该用它其实就三条一是你的总线上方向切换频繁、软件里那段延时怎么调都不踏实二是你要做隔离端口想少一路光耦、少一层隔离通道三是节点数多1/4 单位负载能让你一条线挂到上百个从站。这三条只要中一条这颗芯片的设计就是冲着你来的。什么时候别碰也说三条。第一你要的是全双工四线通信那就去找带独立收发对的器件半双工芯片硬上只会让你在协议层绕圈子。第二你的总线是多主站竞争型方向切换由协议严格仲裁AutoDirection 这种「看 DI 有翻转就发」的机制反而可能掩盖真实的时序问题这类系统里方向可见、可控更重要。第三你的现场共模电压长期超出 -7V 到 12V那先要解决的是隔离和地电位换芯片治不了根。还有个容易忽略的边界低功耗。关断电流 10µA 很漂亮可从关断唤醒到驱动器输出有效MAX13487E 要 5.5µs、MAX13488E 要 2.2µs。如果你的采集节点是「睡一小时、醒一次、发两字节」这点唤醒时间无所谓如果是「每 10ms 轮询一次」那这点时间就得算进功耗预算里别只盯着 10µA 这个数。我自己吃过一次亏早年在一条两百多米的总线上图省事选了速度高的那颗终端电阻还是拿手焊的两颗贴片结果夏天一到通信时不时丢帧换了三个批次芯片都没用最后把压摆率限制那款换上问题自己消失了。从那以后我每次定 RS-485 方案都强制走一遍「线长、终端、节点数、共模」这四项核对速度排最后。希望帮到你。本文还有配套的精品资源点击获取