一、通信速率
1.I2C:100K、400K、1.xM、3.4MHZ
2.SPI:1MHZ ~ 几百 MHZ,OLED 设备常使用 SPI 通信
二、SPI 硬件引脚定义
1.SCLK:时钟线
2.MOSI:主发从收,主机输出、从机输入
3.MISO:主收从发,主机输入、从机输出
4.CS/SS:片选线,选中要通信的从机设备
三、SPI 时序两个核心参数
1.CPOL(时钟极性):定义 SCLK 空闲状态电平
①CPOL = 0:空闲时 SCLK 为低电平
②CPOL = 1:空闲时 SCLK 为高电平
2.CPHA(时钟相位):定义接收方在哪一边沿采样数据
①CPHA = 0:接收方在 SCLK 第一个边沿采样
②CPHA = 1:接收方在 SCLK 第二个边沿采样
四、SPI 的四种工作模式
1.模式 1:CPOL = 1,CPHA = 0:空闲 SCLK 高电平,下降沿采样
2.模式 2:CPOL = 1,CPHA = 1:空闲 SCLK 高电平,上升沿采样
3.模式 3:CPOL = 0,CPHA = 0:空闲 SCLK 低电平,上升沿采样
4.模式 4:CPOL = 0,CPHA = 1:空闲 SCLK 低电平,下降沿采样

五、协议对比

六、SPI 核心特性
1.全双工同步串行,写即是读,读即是写,收发同步进行
2.架构为一主多从,依靠 CS 片选选择目标从机
3.数据传输规则:高位先行
七、imx6ull SPI 内部模块
1.TXFIFO:发送 FIFO 缓冲区
2.shift register:移位寄存器
3.RXFIFO:接收 FIFO 缓冲区
4.Dummy:占位符虚拟字节,常用 0xFF、0x00
八、SPI 读写操作流程
1.SPI 写:主机发送寄存器地址 → 主机发送待写入数据
2.SPI 读:主机发送寄存器地址 → 主机发送 Dummy 占位字节 → 从机回复返回数据
九、ADXL345 加速度传感器参数
1.分辨率:13 位,数值范围 0 ~ 2¹³‑1
2.量程:±16g,1g = 9.8m/s²
3.单位换算:32g / (2¹³‑1) = 0.0039g,采样数值每加 1 代表 0.0039g
4.加速度计算
x 轴 = x 采样值 * 0.0039
y 轴 = y 采样值 * 0.0039
z 轴 = z 采样值 * 0.0039
十、硬件框架要点
mx6ull 作为 SPI 主机,可挂载多个 SPI 从设备,每个从机使用独立 CS 片选
SCLK 时钟可分频,例:60MHZ 分频输出 1MHZ SPI 时钟