3. CAN收发器选型:TJA1050/SN65HVD230等常用芯片对比、供电电压与速率选择
收发器选型,说白了就是给CAN控制器配一个“翻译官”。控制器只懂逻辑电平(0和1),收发器负责把它变成差分信号怼到总线上。我见过不少项目,MCU选得挺好,结果收发器随便挑了个便宜的,最后现场通信一塌糊涂。
这一节,咱们把市面上最常用的几款收发器掰开揉碎讲清楚。你以后选型时,心里就有谱了。
3.1 收发器到底在干什么?
先看一张功能框图,你就明白它的角色了。
收发器一端连着控制器的TXD和RXD引脚,另一端连着CANH和CANL总线。它干的活就两件:发送时把逻辑0转成差分信号,接收时把差分信号转回逻辑电平。
3.2 三款主流收发器横向对比
我这些年用过不下十种收发器,最常用的就是这三款:TJA1050、SN65HVD230、TJA1040。下面这张表是我自己的选型笔记,你直接拿去用。
| 参数 | TJA1050 | SN65HVD230 | TJA1040 |
|---|---|---|---|
| 供电电压 | 4.75V ~ 5.25V | 3.0V ~ 3.6V | 4.75V ~ 5.25V |
| 最大速率 | 1 Mbps | 1 Mbps | 1 Mbps |
| 待机模式 | 无 | 有(低功耗) | 有(待机+唤醒) |
| 斜率控制 | 无(固定斜率) | 有(Rs引脚) | 无(固定斜率) |
| 总线引脚耐压 | -27V ~ +40V | -4V ~ +7V | -27V ~ +40V |
| 工作温度 | -40°C ~ +125°C | -40°C ~ +85°C | -40°C ~ +125°C |
| 封装 | SOP-8 | SOP-8 / MSOP-8 | SOP-8 |
| 典型应用 | 工业控制、车载 | 电池供电、便携设备 | 车载、需要低功耗唤醒 |
我的选型口诀:
- 5V系统、不在乎功耗 → TJA1050(便宜、皮实、耐操)
- 3.3V系统、需要低功耗 → SN65HVD230(唯一3.3V主流选择)
- 5V系统、需要待机唤醒 → TJA1040(比1050多了待机模式)
3.3 供电电压:5V还是3.3V?
这个问题其实很简单——看你的MCU供电电压。
如果MCU是5V的,比如STM32F103、S32K144,直接用TJA1050或TJA1040,供电和逻辑电平都匹配,省事。
如果MCU是3.3V的,比如STM32F4系列、GD32、ESP32,那就得上SN65HVD230。为什么?因为TJA1050的输入阈值是5V逻辑,3.3V的MCU输出高电平可能达不到它的VIH最小值(约3.5V),导致通信不可靠。
我曾经踩过的坑:
有一次用3.3V的MCU接了TJA1050,刚开始测试没问题,量产了200台后,有十几台在高温下通信间歇性失败。查了两天才发现,3.3V的高电平在85°C时掉到了3.2V,刚好卡在TJA1050的阈值边缘。从那以后,电平不匹配的方案我再也不用了。
如果你实在想用5V收发器配3.3V MCU,也不是不行,但必须加电平转换。我一般用两个方法:
- 分立件方案:RXD加一个2N7002开漏输出+上拉电阻,TXD用电阻分压
- 集成方案:用SN65HVD230这种3.3V收发器,一步到位
3.4 速率选择:不是越快越好
CAN总线的速率取决于两个因素:总线长度和节点数量。
这里有个经验公式,我用了很多年:
最大总线长度(米) ≈ 40 / 速率(Mbps)
举个例子:
- 1 Mbps → 最长约40米
- 500 kbps → 最长约80米
- 250 kbps → 最长约160米
- 125 kbps → 最长约320米
为什么会这样?因为CAN总线是载波监听多路访问机制,位时间必须大于信号在总线上往返的延迟。速率越高,位时间越短,总线长度就得缩短。
我的建议:
工业现场总线长度超过100米时,我一般选250 kbps。车载网络(长度一般小于10米),直接上500 kbps或1 Mbps。别盲目追求高速,稳定才是第一位的。
3.5 选型决策流程图
下面这张图是我自己画的一个选型决策流程,你照着走一遍,基本不会选错。
3.6 实际项目中的选型案例
我去年做了一个工程车辆控制器项目,说说当时的选型过程:
- MCU:S32K144(5V供电)
- 总线长度:约80米(工程车辆内部布线)
- 节点数:8个
- 速率要求:250 kbps
- 环境温度:-40°C ~ +105°C
最终选了TJA1050。原因很简单:5V供电、不需要待机、温度范围够宽、价格便宜(批量不到2块钱)。SN65HVD230虽然也能用,但3.3V供电需要额外LDO,成本反而高了。
选型总结:
- 供电电压匹配是硬约束,不匹配就得加电平转换
- 速率根据总线长度和节点数决定,别盲目上1 Mbps
- 待机模式只有需要低功耗唤醒时才考虑
- 斜率控制对EMI有帮助,但SN65HVD230是唯一支持斜率控制的常用型号
- 总线耐压:工业环境选TJA1050/TJA1040(±40V),便携设备选SN65HVD230(±7V够用)