4.SPI通信
4.1 SPI功能特点
SPI (serial peripheral interface),以下是 linux 4.4 SPI 驱动支持的一些特性︰ + 默认采用摩托罗拉 SPI 协议 + 支持 8 位和 16 位 + 软件可编程时钟频率和传输速率高达 50MHz + 支持 SPI 4 种传输模式配置 + 每个 SPI 控制器支持一个到两个片选 + 框架支持 slave 和 master 两种模式
4.2 SPI引脚
SPI |
引脚 |
功能 |
---|---|---|
MOSI |
19 |
主设备输出/从设备输入 |
MISO |
21 |
主设备输入/从设备输出 |
CLOCK |
23 |
时钟信号线 |
CS0 |
24 |
片选信号线0 |
注意
spidev3.0控制CS0
4.3 dts配置
在arch/arm64/boot/dts/rockchip/rk3568-toybrick-x0-linux.dts中使能spi
1&spi3 {
2 status = "okay";
3 pinctrl-0 = <&spi3m1_cs0 &spi3m1_pins>;
4 pinctrl-1 = <&spi3m1_cs0 &spi3m1_pins_hs>;
5 spidev:spidev@0 {
6 compatible = "rockchip,spidev";
7 reg = <0>;
8 spi-max-frequency = <10000000>;
9 status = "okay";
10 };
11};
4.4 检查SPI设备
在板子终端输入以下命令查看spi设备是否生成
4.5 SPI回环测试
短接MOSI和MISO(优先使用调帽短接,确保数据稳定)
使用网上的回环测试程序测试spi是否正常
短接时,数据无误
没有短接时,数据乱码