通讯协议--SPI同步串行协议

文章目录

  • 一、SPI
  • 二、接口
  • 三、通信模式(时钟极性)
    • [   CPHA (Clock Phase) 时钟极性](#   CPHA (Clock Phase) 时钟极性)
    • [   CPOL (Clock Polarity) 时钟相位](#   CPOL (Clock Polarity) 时钟相位)
  • 四、通信协议
    • [   起始信号:](#   起始信号:)
    • [   结束信号:](#   结束信号:)
    • [   数据采集和切换: 主从机收发都以此为标准。](#   数据采集和切换: 主从机收发都以此为标准。)
    • [   CPHA = 0 时的SPI通讯模式:](#   CPHA = 0 时的SPI通讯模式:)
    • [   CPHA = 1 时的SPI通讯模式:](#   CPHA = 1 时的SPI通讯模式:)
  • 五、通讯过程
    • [   1、超始信号](#   1、超始信号)
    • [   2、数据收发](#   2、数据收发)
    • [   3、主机发送](#   3、主机发送)
    • [   4、从机发送](#   4、从机发送)
    • [   5、终止信号](#   5、终止信号)

一、SPI

   SPI是串行外设接口(Serial Peripheral Interface)的缩写,由Motorola提出,是一种高速的,全双工,同步的通信总线。

二、接口

  

   SCLK: 时钟信号,由Master产生,用于同步。

   MOSI: 主机数据输出,从机数据输入。

   MISO: 主机数据输入,从机数据输出。

   SS : Slave设备选择线,低电平有效。

三、通信模式(时钟极性)

   SPI共有4种通讯模式,由CPOL与CPHA控制。

   CPHA (Clock Phase) 时钟极性

     0: 奇数边沿采集数据

     1:偶数边沿采集数据

   CPOL (Clock Polarity) 时钟相位

     0:SCLK空闲时低电平

     1:SCLK空闲时高电平

  

四、通信协议

  

   起始信号:

     SS由高变低,为SPI通讯的起始信号

   结束信号:

     SS由低变高,为SPI通讯的结束信号。

   说明:

     SPI总线为主从模式,

     起始信号由主机发出,通过SS选择与之通信的从机,

     结束信号也由主机发出,结束本次通信.

   数据采集和切换: 主从机收发都以此为标准。

     Mode0:空闲低电平,上升沿采集,下降沿切换。

     Mode1:空闲低电平,下降沿采集,上升沿切换。

     Mode2:空闲高电平,下降沿采集,上升沿切换。

     Mode3:空闲高电平,上升沿采集,下降沿切换。

    

   CPHA = 0 时的SPI通讯模式:

    

   CPHA = 1 时的SPI通讯模式:

    

五、通讯过程

   1、超始信号

     主设备发起信号,将CS/SS拉低,启动通信。

   2、数据收发

     主设备通过发送时钟信号,来告诉从设备进行写数据或者读数据操作(采集时机可能是时钟信号的上升沿(从低到高)或下降沿(从高到低),根据spi模式而定),它将立即读取数据线上的信号,这样就得到了一位数据(1bit)。

   3、主机发送

     主机(Master)将要发送的数据写到发送数据缓存区(Memory),缓存区经过移位寄存器(缓存长度不一定,看单片机配置),串行移位寄存器通过MOSI信号线将字节一位一位的移出去传送给从机,同时MISO接口接收到的数据经过移位寄存器一位一位的移到接收缓存区。

   4、从机发送

     从机(Slave)也将自己的串行移位寄存器(缓存长度不一定,看单片机配置)中的内容通过MISO信号线返回给主机。同时通过MOSI信号线接收主机发送的数据,这样,两个移位寄存器中的内容就被交换。

   5、终止信号

    主设备发起信号,将CS/SS拉高,终止通信。

相关推荐
极客 - L U2 小时前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
AMASENSYS艾马斯3 小时前
变频器滤波器选型与EMC合规建议
驱动开发·单片机·其他·硬件工程·精益工程
2501_922639587 小时前
率能半导体 SS6628E直流双向马达驱动芯片:20V/7A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
硅基造物主7 小时前
STM32 从 0 到 1 做智能家居(五):工程结构与代码骨架
stm32·单片机·嵌入式硬件·智能家居
深圳老胡7 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节
smartpi_ai7 小时前
机芯智能离线语音模块实战问答:SU-03T、CI-03T、SU-63T 与 JX-A7T 高频问题排查
人工智能·单片机·嵌入式硬件·ci/cd·语音识别
2501_922639588 小时前
率能半导体 SS6635E直流双向马达驱动芯片:30V/4.5A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
wuyk5558 小时前
TinyML 初探:在 MCU 上部署异常检测模型,实现本地振动故障诊断
stm32·单片机·嵌入式硬件·重构
新晨单片机设计8 小时前
S031A-基于STM32单片机指纹考勤系统【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·proteus·指纹考勤系统
新时代牛马8 小时前
`arch_timer`、`IPI5`、`HRTIMER`、`ksoftirqd` 的关系
网络·单片机·tcp/ip