您现在的位置是:首页 >技术交流 >SPI总线通讯协议学习网站首页技术交流

SPI总线通讯协议学习

昊月光华 2024-06-17 11:18:59
简介SPI总线通讯协议学习

目录

什么是SPI

信号线

理解通讯原理

采样

 SPI的推广


什么是SPI

SPI是芯片与芯片之间的通讯,准确得说是串行同步通讯。既然都说了同步,那发送数据当然要和时钟线SCK配合才能发数据.

采用一主多从的模式,主机只有一个,而从机可以有若干个。

 

 

信号线

需要四条信号线:(SS(CS),SCK,MOSI,MOSO) SS(Slave Select )  也被称为CS(

  • SS(也是CS片选信号线),通过给片选信号线高低电平来决定哪一个从机通讯。(一般是低电平有效,当然具体看芯片的约定)
  • SCK :由主设备产生.
  • MOSI.发送信号线,Master Output Slave Input)看英译就能读懂它是干什么-主机输出,从机输入。
  • MISO 接受信号线.Master Input Slave Output -主机输入,从机输出。

理解通讯原理

以93C46 eeprom存储器为例.片内有1024位。通过SPI,只需4根线就能读写着1024位(128个字节)数据。

93C46是一种串行EEPROM(电可擦除可编程只读存储器)芯片,由Microchip Technology Inc.公司生产。它具有1K位的存储空间,并可以通过SPI接口进行编程和读取。93C46采用了单电源供电方式,工作电压范围为2.5V至5.5V。该芯片广泛应用于汽车电子、工业控制、安防监控等领域,以满足各种数据存储需求。

 

93C46eeprom的数据格式.7位地址码,刚好有128种组合,对于着128个字节。

 

采样

主机通过MOSI线上发出数据,而从机在SCK的上升沿采集MOSI线上的数据。之所以从机要在上升沿采集数据,这是由从机决定的。这只是从机采集数据的一种方式。

(具体是哪一种采集方式,需要我们去查阅芯片数据手册)

总共有4种采集的方式

  • 空闲时钟(SCK)为低电平时,上升沿采集/下降沿采集。
  • 空闲时钟 (SCK)为高电平时,上升沿/下降沿采集。 

(SCK)为高电平时,上升沿/下降沿采集对于如下:左(上升沿)  。右(下降沿)

 

(SCK空闲时钟为低电平,从机在上升沿采集)

 

 

   (需要配合SCK时钟线发送数据)、

主机发送数据MOSI配合SCK

  1. 通过SS片选线,高电平有效选中需要写的93C46,选中得93C46开始生效.
  2. 发送起始位 1
  3. 发送操作码01
  4. 发送7位地址
  5. 发送8位数据

主机接受数据MISO配合SCK也是同理。主机在时钟信号的上升沿/下降沿采样视具体情况而定,一般是下降沿采集MISO线的数据.

 SPI的推广

SPI对一帧数据有多少位没有限定,数据帧看芯片设定,只要符合SPI的四种采样特性,就可以被认为是SPI通讯.

参考

爱上半导体

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。