通信协议SPI、IIC、UART、CAN
1. I²C 总线I²C 是一种两线制、多主从的同步串行总线。它仅需两根线数据线 SDA 和时钟线 SCL。注意事项上拉电阻SDA 和 SCL 线必须接上拉电阻通常 2.2kΩ - 10kΩ。如果忘记接或电阻值不匹配总线可能无法工作。地址冲突如果挂载了两个地址相同的传感器例如两个相同型号的 IMU需要额外的硬件如 TCA9548A 多路复用器来切换。2. SPI 总线SPI 是一种四线制、全双工的同步串行总线。它通常由SCK时钟、MOSI主出从入、MISO主入从出和CS片选组成。注意事项引脚占用如果机器人用了多个 SPI 设备MCU 的 GPIO 引脚可能会比较紧张。总线长度SPI 对走线长度比较敏感线太长超过几十厘米容易受干扰导致数据错误适合板内通信。3. 串口在机器人语境中串口通常指UART或USART通用同步/异步收发传输器这是一种异步的点对点通信协议。只需两根线TX发送和 RX接收)注意事项波特率匹配通信双方波特率如 115200必须一致。电平标准MCU 通常是 TTL 电平3.3V/5V如果对接 RS232 设备如某些工业工控机需要电平转换芯片如 MAX3232。丢帧在高负载下如果中断优先级设置不当串口缓冲区溢出可能导致数据丢失。4、在一个典型的现代机器人中例如一个基于 ROS 2 的四足机器人或轮式机器人通常会这样组合使用树莓派/Jetson 作为上位机负责高算力任务视觉、SLAM、决策。STM32/ESP32 作为下位机负责底层实时控制电机 PID、传感器采集。两者之间通过串口如波特率 921600 连接传输运动控制指令和里程计数据。下位机连接外设使用SPI连接SD 卡记录日志和高精度编码器获取电机角度。使用I²C挂载IMU、磁力计以及多个ToF 测距传感器。使用串口连接GPS模块以及电机驱动器。这三种接口各司其职共同构成了机器人的感知与控制网络。