SPI和读写串行FLASH(基于STMF103X)

您所在的位置:网站首页 武林盟主百度百科 SPI和读写串行FLASH(基于STMF103X)

SPI和读写串行FLASH(基于STMF103X)

2024-07-02 04:26| 来源: 网络整理| 查看: 265

================学习方法:

【1】对比SPI 和I2C

【2】对比FLASH读写和EEPROM读写

================

/基本特性

1、什么是SPI,SPI基本特点? (特点才能表明SPI)

SPI协议是(Serial Peripheral Interface),即串行外围设备接口。

[1]是一种高速全双工的通信总线。用在LCD等设备与MCU间,要求通讯速率较高的场合。

[2]stm32f10X系列SPI支持的速率: 18M/S

2、SPI怎么工作?

(1)物理层的实现

【1】常用连接方式:

@STM32f103X 可有3个SPI接口,每个是独立的。

【2】硬件接口线:

SPI 通讯使用3条总线SCK, MOSI, MISO及片选信号SS。

各个从机和主机的SCK,MOSI,MISO,都是并联的,只有用来区分从机的片选信号SS是独有的。

【3】总线介绍SS: slave select ;

@命名:从设备选择信号线,又叫片选信号线,也成为NSS,CS。

@作用:通过拉低连接从设备的NSS线,选中该从设备,即片选有效。

SPI 通讯以NSS线置低电平为开始信号,NSS线拉高作为结束信号。

@多个SPI从设备与SPI主机相连:

设备的SCK、MOSI及MISO同时并联到相同的SPI总线上;而每个从设备都有独立的这一条NSS信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。

@和IIC对比:通过设备地址来寻址,选中总线上的某个设备并与其通讯。

【4】SCK:serial clock; 时钟信号线,用于通讯数据同步,由主机产生,决定了通讯的速率。

两设备通讯时,速率受限于低速设备;STM32的SPI时钟频率最高为fpclk/2。

【5】MOSI:master output, slave input;

主设备输出/ 从设备输入管脚。该管脚在主模式下发送数据,在从模式下接收数据。

【6】MISO:master intpu, slave output;

主设备输入/ 从设备输出管脚。该管脚在从模式下发送数据,在主模式下接收数据。

@所以,主机和从机是MOSI对接MOSI,MISO对接MISO。

=====================

(2)协议层的实现

【1】基本通讯过程:如下SPI主机的通讯时序。

NSS, SCK, MOSI都由主机产生输出到从机,MISO从机产生主机读入。

mosi和miso只在NSS为低时才有效,每个SCK时钟周期 MOSI和MISO传输一位数据。

【2】通讯的起始和停止信号

主机将选中的从机的NSS由高拉低,发送SPI起始信号;从机各自独占NSS信号线,自己的NSS线上检测到起始信号后,知道自己被选中,开始准备通讯。

从机在NSS线上检测到由低拉高,是SPI的停止信号,知道选中状态被取消。

【3】数据的有效性--分析

[1]MOSI,MISO,SCK:

用MOSI和MISO来传送数据,用SCK进行数据同步。每个SCK时钟周期传输一位数据,并且数据输入输出是同时进行的。

[2]MSB:一般主从都采用MSB先行模式保证同步。

[3]数据变化和采样:

MOSI和MISO在SCK的上升沿变化输出,在SCK的下降沿被采样---只有在SCK的下降沿时刻MOSI和MISO才有效。

[4]传输单位:以8位或16位为单位,单位数不限。

【4】CPOL/CPHA 和通讯模式

以上通讯时序只是SPI的一种通讯模式,SPI共有四种通讯模式,只要区别在于总线空闲时SCK的时钟以及 数据采样时刻的不同。

==时钟极性 CPOL,指 SPI通讯设备处于空闲时,SCK信号线的电平高低。

==时钟相位 CPHA,指数据采样的时刻,MOSI或MISO上的信号将在时钟的奇数边缘或偶数边沿上被采样。

@SPI的采样时刻不是由上升沿/下降沿决定的,由时钟相位决定。

==四种通讯模式:

 

==主机和从机要工作在相同模式下才能正常通讯。

=======STM32的SPI特性及架构

 

 

 

 

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3