Skip to content

通信接口

Stellaris-Nexus 提供 CAN、SBUS 和 USART 三类常用机器人通信接口。它们不能只按“TX/RX”理解:CAN 需要差分收发器和终端,SBUS 经过硬件反相,USART 则是 3.3 V TTL 单端信号。

CAN 总线

STM32 使用 PA11/CAN_RXPA12/CAN_TX 连接 TJA1051 收发器,再由收发器输出差分 CANH/CANL。收发器侧依赖 5 V,因此只接外部 SWD 而不提供整板 5 V 时,CAN 可能无法工作。

CAN 接口位置与针脚编号

2Pin CAN 接口位置;接线以 PCB 的 CANH/CANL 丝印为准

主控外围与 CAN 收发器原理图

CAN 收发器位于主控外围完整原理图中(打开 SVG 原图后缩放查看

MCU 侧引脚总线侧说明
CAN1_RXPA11CANL/CANH接收器输出进入 MCU
CAN1_TXPA12CANL/CANHMCU 发送进入收发器

板卡不集成 120 Ω 终端电阻。只有位于总线物理两端的节点各安装一个 120 Ω 终端;断电后从 CANH 到 CANL 测量完整双终端网络,应约为 60 Ω。

CAN 接线与终端

必须断电接线并确认 CANH 对 CANH、CANL 对 CANL。测得约 120 Ω 通常表示只有一个终端;明显低于 60 Ω 可能存在过多终端或短路。不要带着异常阻值反复上电尝试。

SBUS 接收

SBUS 接口提供信号、5 V 和 GND。信号经过 NPN 三极管反相后进入 PA3 / USART2_RX,MCU 侧由 4.7 kΩ 电阻上拉到 3.3 V。

SBUS 接口线序

从 PCB 丝印方向读取:SBUS 信号、5 V、GND

SBUS 反相输入原理图

外部 SBUS 信号经 Q3 反相后进入 PA3

接口MCU 连接串口参数
SignalPA3 / USART2_RX100000 bit/s、8 数据位、偶校验、2 停止位
5V整板 5 V给接收机供电,先核对接收机额定电压
GNDGND与接收机共地

软件必须实现帧长度/帧头检查、通道解包和失联超时。失联时立即把执行机构输出降为安全值,不能沿用最后一帧控制量。

USART1 接口

USART1 使用 PA9/TXPA10/RX,通过 4Pin 接口引出 3.3 V、TX、RX 和 GND。连接 USB 转串口或另一个控制器时,双方共地并交叉连接 TX/RX。

USART1 接口编号

4Pin USART 接口的物理编号方向

USART1 接口原理图

V2.1 原理图中的 USART1 连接关系

U4 原理图针脚信号MCU 引脚
1RXPA10 / USART1_RX
2TXPA9 / USART1_TX
3GND-
43V3-

说明书与原理图的针脚表述不一致

V1.2 正文表格与 V2.1 原理图的 U4 针脚编号顺序不一致。本页按原理图列出网络关系,但实际制作线缆时仍要对照你手中 PCB 的针脚 1 标记和丝印,并用万用表确认 3.3 V 与 GND 后再连接。

通信排查顺序

  1. 断电检查电源、电平、共地、线序和 CAN 终端。
  2. 检查 CubeMX 引脚复用、外设时钟与 GPIO 模式。
  3. 核对波特率、帧格式、CAN 位时序和采样点。
  4. 用示波器或逻辑分析仪确认线上是否有波形、幅值是否正确。
  5. 再检查中断/DMA 是否启动,以及协议解析和超时逻辑。

继续学习:L3 UART / USART 通信基础CAN M3508 实验

最近更新