SPI和读写串行FLASH(基于STMF103X) |
您所在的位置:网站首页 › 武林盟主百度百科 › SPI和读写串行FLASH(基于STMF103X) |
================学习方法: 【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 |