SPI串行外设接口(Serial Peripheral Interface)主从模式,一种高速的,全双工同步的通信总线。标准SPI是4条线。SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选,有些也称为SS)。
SDO/MOSI:
主设备数据输出,从设备数据输入,master output slave input;
SDI/MISO:主设备数据输入,从设备数据输出,master input slave output;
SCLK:时钟信号,由主设备产生;
CS/SS:从设备使能信号,由主设备控制。当有多个从设备的时候,主设备通过片选引脚选择其中一个从设备进行通信。
(I2C是通过软件协议实现多选一,SPI是通过硬件实现。)
当主机控制CS,开启时钟闸门,主从双方就可以开始放数据位或者取数据位进行交互了,但在什么时机开始,就有标准了。根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置。
CPOL:
时钟极性选择,为0时SPI总线空闲为低电平,为1时SPI总线空闲为高电平。
CPHA:
时钟相位选择,为0时在SCK第一个跳变沿采样,为1时在SCK第二个跳变沿采样。
0 | 0 | 0 |
1 | 0 | 1 |
2 | 1 | 0 |
3 | 1 | 1 |
mode | CPOL | CPHA |
---|
这样就有四种模式。以模式1为例,空闲时为低,第一次时钟跳变采样,也就是上升沿读数采样,对着下降沿放数据。如果实在分不清,还有愚蠢的办法,四种模式全部尝试一次,就可知道正确模式。
SPI传输数据没有位数限制,只要定义收发高位在前还是低位在前,可以持续高速传输。
正如前面,若是乔峰收手,慕容复就没法使出降龙十八掌的效果,但是他可以当面骂乔峰是契丹狗,乔峰一怒之下就发功,慕容复就奸计得逞。这契丹狗三字翻译为软件术语就是触发中断,从机发中断告知主机我有事来找我;主机定时查询也可实现,只是使用情况更少。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !