全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

常用的串口通信协议之SPI协议简析

时间:2022-07-07 09:33

人气:

作者:admin

标签: 串口通信  控制器  spi 

导读:常用的串口通信协议之SPI协议简析-SPI(serial peripheral interface)也是一种同步串行通信协议。这里为啥要说“也”呢,回想上一篇介绍的PS/2不也是同步串行通信协议吗。SPI由一个主设备和...

继续更新常用的串口通信协议。本次要介绍的是SPI协议。 (学习这么大的事情,必须要有BGM!) (结合BGM学习效率更加)

3.SPI:   
 
SPI(serial peripheral interface)也是一种同步串行通信协议。这里为啥要说“也”呢,回想上一篇介绍的PS/2不也是同步串行通信协议吗。SPI由一个主设备和 一个或多个从设备组成,主设备启动与从设备的同步通信,从而完成数据的交换。标准的SPI仅仅使用4个引脚,常用于主设备和外设(flash、实时时钟dsp等器件)的通信。

下面说说这四个引脚分别用来干啥。 
  
1)SSEL:从设备片选使能信号。如果从设备是低电平使能,那么拉低这个引脚,从设备将会被选中,主机和这个被选中的从机进行通信。    
2)SCK:时钟信号,由主机产生。    
3)MOSI:主机给从机发送指令或者数据的通道。    
4)MISO:主机读取从机的状态或者数据的通道。
    
另外还需要特别介绍两个名词:

1)CPOL:clock polarity,时钟极性。通信整个过程分为空闲时刻和通信时刻,SCK在数据发送前后的空闲状态是高电平,那么CPOL为1,否则为0。   
2)CPHA:clock phase,时钟相位。  
   
对CPOL和CPHA进行排列组合的话,会发现SPI会有四种工作模式。

下面介绍这四种模式:

模式0:CPOL = 0, CPHA = 0.

6a9257e8-fd90-11ec-ba43-dac502259ad0.png

模式1:CPOL = 0, CPHA =1.

6a9e2b7c-fd90-11ec-ba43-dac502259ad0.png

模式2:  CPOL = 1, CPHA = 0.

6ab7b984-fd90-11ec-ba43-dac502259ad0.png

模式3:  CPOL = 1, CPHA=1.

6abfb760-fd90-11ec-ba43-dac502259ad0.png

总结:CPHA=1表示数据输出在第一个时钟周期的第一个沿,数据采样在第二个沿;

CPHA=0表示数据采样在第一个沿,数据输出在第二个沿.

CPOL=1表示第一个沿为下降沿;

CPOL=0表示第一个沿为上升沿.

根据从设备的技术手册可以确定SPI.

下面给出一个SPI控制器模块的实例代码:

(工作在模式0,100MHz分频产生1MHz的SCK时钟)

poYBAGLGOJmAO1v4AADrYI5olOM220.jpg

pYYBAGLGOKSAW3ziAADuSSXuuJQ732.jpg

poYBAGLGOK-AWP94AACN5r0u4ck466.jpg

pYYBAGLGOLiAEZpNAADGBsTl5Yk036.jpg

pYYBAGLGONqAQLmDAADEuS8cY4g687.jpg

pYYBAGLGOOGAYUW3AACTr81poUc535.jpg



审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信