fpga_feixiang 发表于 2020-8-8 09:48:29

SPI传输格式

https://img-blog.csdnimg.cn/20190708105143381.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpZVdpbnRlcg==,size_16,color_FFFFFF,t_70
时钟相位和极性控制
使用SPI控制寄存器1中的两位,软件选择串行时钟相位和极性的四种组合之一。

CPOL时钟极性控制位指定有效的高或低时钟,并且对传输格式没有显着影响。

CPHA时钟相位控制位选择两种根本不同的传输格式之一。 主SPI设备和通信从设备的时钟相位和极性应相同。 在一些情况下,在传输之间改变相位和极性以允许主设备与具有不同要求的外围从设备通信。

CPHA = 0 传输格式
SCK线上的第一个边沿用于将从器件的第一个数据位计时到主器件,将主器件的第一个数据位计时到从器件。 在某些外设中,只要选择了从机,就会在从机的数据输出引脚上提供从机数据的第一位。 在这种格式中,第一个SCK边沿在SS变低之后发出半个周期。

半个SCK周期后,第二个边沿出现在SCK线上。 发生第二个沿时,先前从串行数据输入引脚锁存的值将移入移位寄存器的LSB或MSB,具体取决于LSBFE位。

在第二个沿之后,SPI主数据的下一位从主机的串行数据输出引脚传输到从机的串行输入引脚。 该过程在SCK线上总共持续16个边缘,数据被锁存在奇数边缘上并在偶数边缘上移位。

数据接收是双缓冲的。 传输期间数据串行移入SPI移位寄存器,并在最后一位移入后传输到并行SPI数据寄存器。

在第16个(最后一个)SCK边缘之后:

先前在主SPI数据寄存器中的数据现在应该在从数据寄存器中,从数据寄存器中的数据应该在主数据寄存器中。

SPI状态寄存器中的SPIF标志置位,表示传输已完成。



CPHA = 1 传输格式
类似CPHA=0

dameihuaxia 发表于 2020-8-8 16:49:31

SPI传输格式

zxopenhl 发表于 2020-8-8 18:01:08

SPI传输格式

zhangyukun 发表于 2020-8-8 18:29:08

SPI传输格式
页: [1]
查看完整版本: SPI传输格式