3.1.SPI原理

Posted 衾许°

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.1.SPI原理相关的知识,希望对你有一定的参考价值。

目录

SPI硬件连接

时序分析


SPI硬件连接

对于一个主控芯片,其一般都会有一个SPI控制器,其上有三条线,SCK,DO,DI分别可以输出时钟脉冲,发送数据,以及接收数据。对于连接在同一个SPI控制器上的SPI设备,主要的一个点是不能相互影响,这就用到了片选引脚(CS0,CS1),片选引脚可以选中对应的SPI设备,在同一时间只有一个片选引脚有效。这个引脚需要自己在通用IO中定义。其中低电平表示被选中,高电平表示不被选中。

时序分析

假设现在主控芯片传输一个0x56数据到SPIflash,时序图如下:

可以看到,CS0拉低表示选中SPIFLASH作为SPI控制器操作的SPI设备,而SCK与DO可以看到,在每一个时钟脉冲周期,都有一个数据传入,进而引出两个问题:

SCK的初始电平是高还是低?

DO的数据是在下降沿写入,还是在上升沿写入?

这里又引入一个概念:SPI控制器中的两个寄存器CPOL(极性寄存器)与CPHA(相位寄存器)。

 简单来讲就是当CPOL为0时SCK初始电平为低电平,CPOL为1时SCK初始电平为高电平。当CPHA为0时将在第一个边沿采样数据,CPHA为1时将在第二个边沿采样数据。

以上是关于3.1.SPI原理的主要内容,如果未能解决你的问题,请参考以下文章

php原理简述

[C语言]什么是编辑器和编译器,什么是集成开发环境?编译原理又是什么?

3.1.SPI原理

大前端开发者需要了解的基础编译原理和语言知识

如何在国产龙芯架构平台上运行c/c++javanodejs等编程语言

大前端开发者需要了解的基础编译原理和语言知识