工具/软件:
TL;DR:
-
双节点总线: STM32 (FDCAN1)
μ s 可 CANable (SocketCAN) AT 500kbit/s
-
CANdump CAN0 显示来自 STM32 的帧、但 STM32 持续标记 ACK 错误 和增量 TxErrorCnt 。
-
CANH/CANL(差分布线 CH1–CH2)上的示波器显示 A 优先 ACK ACK 插槽中的位(!)
-
外部环回工作。
-
看起来像我的 MCU 不会“看到“ACK 测量其 RX 输入端的电压、同时寻找收发器模式引脚、RX 引脚映射/AF 和时序。
硬件
-
MCU: STSpin32G4
-
收发器: SN65HVD230DR
-
其他节点: CANABLE /烛光 在 Linux 上作为 CAN0。
-
接线: STM32 TXD/RXD
CAN 收发器
双绞线至 CANable。
-
端接: 每端的 120Ω(断电时,I 可以在 CANH–CANL 之间测量~60Ω;如果请求,将重新检查)。
-
接地: 电路板之间的通用 GND。
如果有帮助,我已经分享了收发器引脚的原理图片段.
工作原理与失败之处
典型工作原理
外部环回模式: 帧“成功“。
CANdump 看到帧 自 STM32 英寸 0:正常模式 。
范围 CANH、CANL 显示了干净的显性位。 。 CH1–CH2 差分(粉色) 清楚地显示了 A ACK 时隙中的显性脉冲 。
失败
指定 0:正常模式 、FCAN 报告 ACK 错误 在每一帧上; TxErrorCnt 爬坡(我之前命中错误警告/被动)。
如果您有任何见解或“您错过了这件显而易见的事情“、我们将非常感激。 谢谢!









