Linux SPI性能优化

1 SPI性能指标

无论优化什么,明确衡量指标永远是第一步。

我们先来看几个关键的性能指标:

  • 吞吐量:单位时间内传输的数据量
  • 延迟:单次传输所需的时间
  • CPU 占用率
  • 功耗

回顾之前的 SPI 框架图,每一层都可能成为性能瓶颈,比如可能是 SPI Clock 太低等原因。

2 三种传输方式分析

SPI 控制器发送数据主要有三种方式:轮询(Polling)、中断(Interrupt)和 DMA。

我们逐个来看。

  1. Polling 轮询

Polling 就是轮询,CPU 不断读取 SPI 控制器的状态寄存器,询问传输完没?当传输完成的时候 CPU 退出。

  1. 中断

此时 CPU 可以去做其他事,等 SPI Interrupt 时候再进行处理。

  1. DMA

就是开启 DMA。


Linux SPI性能优化
https://cj0510.github.io/2026/08/08/Linux Kernel/SPI/Linux SPI性能优化/
作者
CJ1018
发布于
2026年8月8日
许可协议
CC BY-NC-SA 4.0