4、CAN收发器选型:常用收发器特性对比、供电电压、速率与待机模式选择

CAN收发器是CAN总线节点与物理传输介质之间的桥梁,承担着将控制器逻辑电平转换为差分总线信号,以及将总线差分信号还原为逻辑电平的核心任务。在硬件设计实践中,收发器的选型直接决定了节点的通信速率上限、总线长度、电磁兼容性能以及低功耗表现。本章围绕工程中最常用的三款收发器——NXP的TJA1050、TJA1042以及Microchip的MCP2551,从电气参数、供电架构、速率适配和待机模式四个维度展开系统对比,并给出面向实际项目需求的选型决策路径。

CAN收发器选型决策链路与关键参数映射 MCU / CAN控制器 TXD / RXD / 待机控制 CAN收发器选型核心维度 ① 供电电压:5V / 3.3V兼容 ② 通信速率:经典CAN / CAN FD ③ 待机模式:STB / INH / 远程唤醒 TJA1050 经典5V / 1Mbps 无待机模式 TJA1042 5V / CAN FD 5Mbps 待机+远程唤醒 MCP2551 5V / 1Mbps 仅待机(无唤醒) 选型判断路径 1. 是否需CAN FD? 2. 是否需低功耗待机? 3. 是否需远程唤醒? 4. 供电轨是否3.3V? 5. 总线长度/节点数? 6. EMC/ESD等级要求? 工程要点: · TJA1042是TJA1050的升级替代,支持CAN FD且待机功耗更低(<15µA典型值) · MCP2551无CAN FD能力,且待机模式无远程唤醒功能,适合简单5V节点 · 3.3V系统需选择TJA1044或MCP2562等低压版本,不可直接使用5V收发器

上图展示了收发器选型的核心决策链路。从MCU侧看,TXD/RXD信号和待机控制引脚直接连接到收发器;从系统需求看,供电电压、速率和待机模式是三个必须同时满足的约束条件。下面逐一展开分析。

4.1 核心原理:收发器在CAN节点中的角色与关键电气参数

CAN收发器本质上是一个差分驱动器+差分接收器的组合。发送时,它将来自CAN控制器的TXD逻辑信号(0~3.3V或0~5V)转换为CANH和CANL之间的差分电压(显性位约2V差分,隐性位约0V差分);接收时,它检测总线上的差分电压,还原为RXD逻辑信号送给控制器。这个转换过程决定了三个关键参数:最大传输速率、总线长度和电磁辐射特性。

从硬件设计角度,收发器选型需要关注以下电气参数:

  • 供电电压范围:经典收发器多为5V供电(4.75~5.25V),但部分型号支持3.3V或宽压输入(如TJA1044支持3.3V/5V)。供电电压直接影响逻辑电平匹配和总线差分电压幅值。
  • 传播延迟(tPD):从TXD到总线、从总线到RXD的延迟。对于1Mbps速率,位时间仅1µs,传播延迟需控制在数百纳秒内,否则会因位采样点偏移导致通信错误。
  • 环路延迟(tLoop):TXD→总线→RXD的完整往返延迟,是计算最大总线长度的关键参数。ISO 11898-2规定1Mbps下最大环路延迟为255ns。
  • 显性/隐性电平输出能力:显性位时CANH约3.5V、CANL约1.5V(5V供电),差分约2V;隐性位时两者均约2.5V,差分约0V。输出能力不足会导致总线信号幅值不达标。
  • ESD/EMC防护等级:收发器直接连接外部总线,需具备至少±4kV(HBM)的ESD耐受能力,以及良好的共模抑制比(CMR)。

理解这些参数后,才能在三款常用芯片中做出合理选择。

4.2 三款常用收发器特性对比与选型判断

下表从工程应用角度对TJA1050、TJA1042、MCP2551进行系统对比。需要说明的是,TJA1050和TJA1042均为NXP(原Philips)产品,MCP2551为Microchip产品,三者都是业界广泛使用的经典型号。

对比维度 TJA1050 TJA1042 MCP2551
供电电压 5V(4.75~5.25V) 5V(4.75~5.25V) 5V(4.5~5.5V)
最大通信速率 1Mbps(经典CAN) 5Mbps(CAN FD) 1Mbps(经典CAN)
待机模式 无(仅正常工作) 有(STB引脚控制,待机电流<15µA) 有(RS引脚控制,待机电流<10µA)
远程唤醒 不支持 支持(总线唤醒) 不支持(仅本地待机)
CAN FD支持 否 是(数据段最高5Mbps) 否
TXD显性超时 有(约1.5ms) 有(可配置) 无
总线引脚ESD ±6kV(HBM) ±8kV(HBM) ±4kV(HBM)
工作温度范围 -40~+125℃ -40~+150℃ -40~+125℃
典型应用场景 早期车载/工业节点 车载网络、CAN FD升级 简单5V节点、低成本方案

从对比表可以得出以下选型判断:

  • 若系统需要CAN FD支持(数据段速率超过1Mbps),则TJA1050和MCP2551均不满足,必须选择TJA1042或更高性能的TJA1044/TJA1057等。
  • 若系统有低功耗待机需求(如电池供电的传感器节点),TJA1050完全不具备待机能力,应排除;MCP2551虽有待机但无法远程唤醒,仅适合本地唤醒场景;TJA1042支持总线远程唤醒,适合需要总线信号唤醒的ECU节点。
  • 若系统供电为3.3V,上述三款均不适用,需选择TJA1044(3.3V/5V)或MCP2562(3.3V/5V)。
  • 若节点数量较多或总线较长,TJA1042的ESD等级更高、TXD显性超时保护更完善,更适合恶劣环境。

经验提醒:在2020年之后的新设计中,TJA1050已逐渐被TJA1042/TJA1044替代。原因不仅是CAN FD需求,还因为TJA1050的待机功耗较高(无待机模式),且总线引脚ESD等级相对较低。如果项目没有历史兼容性约束,建议直接选用TJA1042或TJA1044。

4.3 供电电压设计:5V与3.3V系统的适配策略

供电电压是选型时最容易出错的地方。经典CAN收发器(如TJA1050、MCP2551)的CANH/CANL输出电平是基于5V供电设计的。如果MCU是3.3V系统,直接连接5V收发器会导致两个问题:

  1. TXD逻辑电平不匹配:3.3V MCU的TXD高电平为3.3V,而5V收发器的TXD输入阈值通常为2.0V(TTL兼容),虽然3.3V高电平能勉强满足阈值,但噪声容限不足,在恶劣电磁环境下容易误触发。
  2. RXD输出电平过高:5V收发器的RXD输出高电平接近5V,直接输入3.3V MCU的GPIO可能超过其最大额定值(通常为VDD+0.3V),导致IO口损坏。

解决策略有三种:

  • 方案一:使用3.3V兼容收发器(推荐)。如TJA1044T/3、MCP2562-E/SN,它们支持3.3V或5V供电,且逻辑电平与3.3V MCU直接匹配。
  • 方案二:电平转换电路。在TXD/RXD线上增加电平转换芯片(如TXS0102)或分立电阻分压+施密特触发器,但会增加BOM成本和信号延迟。
  • 方案三:使用5V供电但串联限流电阻。在RXD输出串联1kΩ电阻限制流入MCU的电流,但这种方法不推荐,因为会降低信号边沿速率,影响高速通信。

对于5V MCU系统,TJA1050和TJA1042均可直接使用,但需注意TJA1042的VIO引脚(如果有)需连接至MCU供电轨以匹配逻辑电平。TJA1042的VIO支持3.3V或5V逻辑电平,这是一个重要优势。

4.4 速率与待机模式选择:从经典CAN到CAN FD的演进

通信速率决定了收发器的上升/下降时间要求。经典CAN最高1Mbps,而CAN FD的数据段最高可达5Mbps(部分收发器支持8Mbps)。速率提升对收发器提出了更严格的时序要求:

  • 上升/下降时间:1Mbps下,位时间1µs,边沿时间需控制在位时间的15%以内(约150ns);5Mbps下,位时间200ns,边沿时间需控制在30ns以内。TJA1042的上升/下降时间典型值为50ns,满足5Mbps需求;TJA1050为150ns,仅适合1Mbps。
  • 传播延迟对称性:CAN FD要求发送和接收延迟的对称性更好,否则采样点偏移会导致位错误。TJA1042的传播延迟对称性为±10ns,优于TJA1050的±25ns。

待机模式的选择需要结合系统功耗预算和唤醒机制:

待机需求场景 推荐收发器 待机电流 唤醒方式
车载ECU(需总线唤醒) TJA1042 <15µA 总线差分信号唤醒
工业传感器(本地唤醒) MCP2551 <10µA RS引脚拉高唤醒
无低功耗要求 TJA1050 —(无待机) —

需要注意的是,MCP2551的待机模式(RS引脚拉高)只是关闭了发送器,接收器仍处于工作状态,因此待机电流虽然低,但总线上的任何显性位都会导致RXD输出变化,可能唤醒MCU。而TJA1042的待机模式(STB引脚拉高)会关闭整个收发器,仅保留一个低功耗的唤醒比较器,只有检测到总线上的有效唤醒帧(显性位持续一定时间)才会唤醒。

4.5 实战案例:车载T-Box节点收发器选型与设计复盘

某车联网T-Box项目需要设计一个CAN节点,用于与整车BCM通信。系统约束如下:

  • MCU为3.3V供电的S32K144,CAN控制器支持CAN FD
  • 整车网络已升级为CAN FD,数据段速率2Mbps
  • T-Box在车辆休眠时需进入低功耗模式,待机电流目标<50µA(整个节点)
  • 需支持总线远程唤醒(当BCM发送特定唤醒帧时,T-Box需从休眠中唤醒)
  • 工作温度范围-40~+85℃

初步选型分析:

  1. 由于需要CAN FD 2Mbps,TJA1050和MCP2551均不满足,直接排除。
  2. TJA1042支持5Mbps CAN FD,满足速率要求。
  3. 但TJA1042是5V供电,而MCU是3.3V。需要检查TJA1042的VIO引脚——TJA1042T/3版本支持3.3V VIO,可以直接连接3.3V MCU。
  4. 待机模式:TJA1042的STB引脚拉高进入待机,待机电流<15µA,满足节点功耗预算。
  5. 远程唤醒:TJA1042支持总线唤醒,符合BCM唤醒帧需求。

实际设计步骤:

1. 选择TJA1042T/3(VIO=3.3V版本)
2. 供电设计:VCC接5V(由DC-DC从12V转换),VIO接3.3V MCU供电
3. STB引脚连接MCU的GPIO,默认拉高(待机),MCU运行时拉低(正常)
4. 总线端:CANH/CANL各串联一个60Ω终端电阻(或根据网络拓扑决定)
5. 在CANH/CANL对地各加一个100pF共模电容,抑制EMI
6. 在VCC引脚放置100nF+4.7µF去耦电容
7. 在TXD/RXD线上串联33Ω电阻,抑制振铃

测试结果与问题复盘:

在实验室测试中,节点在2Mbps速率下通信正常,眼图清晰。待机电流实测为12µA(收发器)+ 8µA(MCU休眠)= 20µA,满足50µA预算。但在整车环境测试时发现一个问题:当BCM发送唤醒帧时,T-Box偶发无法唤醒。分析后发现,BCM的唤醒帧是连续3个显性位(约1.5µs),而TJA1042的唤醒检测器需要检测到至少2µs的显性位才能触发唤醒。原因是TJA1042的唤醒滤波器默认设置为2µs,而BCM的唤醒帧宽度不足。

解决方案:与BCM供应商协调,将唤醒帧的显性位宽度增加到3µs;同时在T-Box软件中增加一个预唤醒检测——MCU定期从待机中短暂唤醒(每100ms唤醒一次,检测总线是否有活动),如果检测到连续显性位则保持唤醒状态。这个方案增加了约5µA的功耗,但换来了更可靠的唤醒机制。

风险提示:收发器的远程唤醒功能并非“万能钥匙”。不同厂商的唤醒帧格式和时序要求可能不同,设计前务必查阅目标收发器的数据手册中的唤醒检测器时序图,并与总线对端设备确认唤醒帧参数。否则可能出现“能通信但无法唤醒”的隐蔽故障。

4.6 常见误区与选型总结

在收发器选型中,以下误区需要特别警惕:

  • 误区一:只看速率不看供电。TJA1042虽然支持5Mbps,但若MCU是3.3V且未使用VIO引脚,直接连接会导致逻辑电平不匹配。必须选择带VIO引脚的版本(TJA1042T/3)或使用3.3V专用型号。
  • 误区二:待机模式等于完全关闭。MCP2551的待机只是关闭发送器,接收器仍在工作,总线上的噪声可能导致RXD抖动,进而唤醒MCU。真正的低功耗待机应选择TJA1042这类支持总线唤醒且内部有滤波器的型号。
  • 误区三:忽略TXD显性超时保护。如果MCU的TXD引脚因软件故障一直输出低电平(显性),总线将被永久占用。TJA1050和TJA1042有TXD显性超时保护(约1.5ms后自动释放总线),而MCP2551没有此功能,一旦MCU故障,整个总线瘫痪。
  • 误区四:终端电阻匹配不当。收发器选型与终端电阻无关,但设计时需注意:标准CAN总线两端各需120Ω终端电阻,如果节点数少且总线短,可考虑单端终端或分裂终端(60Ω+60Ω+4.7nF电容到地)以改善EMC。

总结复盘:收发器选型应遵循“三步走”流程:第一步,确认系统速率需求(经典CAN还是CAN FD),排除不支持的型号;第二步,确认供电电压和逻辑电平匹配,选择合适版本;第三步,评估待机功耗和唤醒机制,结合系统功耗预算做最终决策。对于新设计,若无特殊约束,TJA1042(或TJA1044)是当前最均衡的选择——它覆盖了CAN FD、低功耗待机、远程唤醒和ESD保护等绝大多数需求,且与经典CAN完全兼容。