通信协议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. 串口

在机器人语境中,串口通常指 UARTUSART (通用同步/异步收发传输器),这是一种异步的点对点通信协议。只需两根线:TX(发送)和 RX(接收)

  • 注意事项

    • 波特率匹配:通信双方波特率(如 115200)必须一致。

    • 电平标准:MCU 通常是 TTL 电平(3.3V/5V),如果对接 RS232 设备(如某些工业工控机),需要电平转换芯片(如 MAX3232)。

    • 丢帧:在高负载下,如果中断优先级设置不当,串口缓冲区溢出可能导致数据丢失。

4、在一个典型的现代机器人中(例如一个基于 ROS 2 的四足机器人或轮式机器人),通常会这样组合使用:

  1. 树莓派/Jetson 作为上位机:负责高算力任务(视觉、SLAM、决策)。

  2. STM32/ESP32 作为下位机:负责底层实时控制(电机 PID、传感器采集)。

  3. 两者之间 :通过串口(如波特率 921600 )连接,传输运动控制指令和里程计数据。

  4. 下位机连接外设

    1. 使用 SPI 连接 SD 卡 (记录日志)和 高精度编码器(获取电机角度)。

    2. 使用 I²C 挂载 IMU磁力计 以及多个 ToF 测距传感器

    3. 使用 串口 连接 GPS 模块以及电机驱动器

这三种接口各司其职,共同构成了机器人的感知与控制网络。

相关推荐
wuyk55542 分钟前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
小僧景贤5 小时前
单片机全方位调试实战指南:串口/RTT/逻辑分析仪/示波器/内核排错分层避坑教程
单片机·嵌入式硬件·物联网
2401_827501289 小时前
【无标题】
arm开发·嵌入式硬件
LeoZY_9 小时前
LinkScope 使用笔记:基于 OpenOCD 的通用硬件芯片调试助手
笔记·单片机·嵌入式硬件·开源软件
星空真迷人11 小时前
嵌入式鸿蒙并非精简版,核心究竟是什么?
stm32·单片机·嵌入式硬件·物联网·华为·harmonyos·iot
iCxhust11 小时前
8088单板机VScode集成开发环境使用方法二(汇编版)
汇编·单片机·微机原理·8088单板机
hongmai66688811 小时前
GK7205V300芯片深度解析:H.265低功耗视觉主控,助力安防监控高效选型
arm开发·嵌入式硬件·物联网·智能家居·h.265·risc-v
2301_8014349813 小时前
STM32F407移植TinyUSB
stm32·单片机·嵌入式硬件
Dlrb121113 小时前
Linux驱动---Linux 中断系统及其上与下半部的介绍与阻塞IO实现按键检测
linux·嵌入式硬件·imx6ull·中断·阻塞io
国产HT1621B13 小时前
YL4056 NTC 外围电阻 R3/R4 计算:从公式推导到工程选型
科技·单片机·嵌入式硬件