立即注册 找回密码

微雪课堂

搜索
微雪课堂 STM32 STM32CubeMX系列教程 查看内容

STM32CubeMX系列教程10:串行外设接口SPI(一)

2016-5-3 15:28| 发布者: MyMX1213| 查看: 69488| 评论: 3

摘要: 本章介绍SPI总线。以及介绍串行flash芯片W25Q128FV
摘要:本章介绍SPI总线。以及介绍W25Qxx芯片。

1.SPI简介

SPI(Serial Peripheral Interface),串行外围设备接口,一种高速的,全双工,同步的通信总线。芯片的管脚上只占用四根线。
MISO: 主器件数据输出,从器件数据输入。
MOSI:主器件数据输入,从器件数据输出。
SCK: 时钟信号,由主设备控制发出。
NSS(CS): 从设备选择信号,由主设备控制。当NSS为低电平则选中从器件。


        如下为主器件与多个从器件通信,其中SCK,MOSI,MISO是接在一起的,NSS分别接到不同的IO管脚控制。主器件要和从器件通信就先拉低对应从器件的NSS管脚使能。默认状态IO1,IO2,IO3全为高电平,当主器件和从器件1通信时,拉低IO1管脚使能从器件1。而从器件2,3不使能,不作响应。


2.SPI时序图

        每次开始传输时,主器件先拉低从器件的片选信号线NSS,选中要传输的从器件。SCK时钟线发送一个时钟周期就传输一位数据。MOSI为主出从入,数据由主器件控制发送,从器件接收。MISO的数据由从器件控制发送,主器件接收。所以SPI传输一个字节就相当于主器件和从器件交换一个字节。
SPI只有主模式和从模式之分,没有读和写的说法,因为实质上每次SPI是主从设备在交换数据。也就是说,你发一个数据必然会收到一个数据;你要收一个数据必须也要先发一个数据。


根据时钟极性(CPOL)及相位(CPHA)不同,SPI有四种工作模式。
时钟极性(CPOL)定义了时钟空闲状态电平:
    CPOL=0为时钟空闲时为低电平
    CPOL=1为时钟空闲时为高电平
时钟相位(CPHA)定义数据的采集时间。
    CPHA=0:在时钟的第一个跳变沿(上升沿或下降沿)进行数据采样。
    CPHA=1:在时钟的第二个跳变沿(上升沿或下降沿)进行数据采样。



3、W25Q128FV

    W25Q128V芯片是串行闪存,可以通过标准/两线/四线SPI控制,这里只介绍通过标准SPI控制。




        W25Q128fv管脚如上,作为标准SPI控制时,DO管脚为MISO,D1管脚为MOSI,/CS为片选NSS,CLK为时钟信号线。/WP为写保护管脚,/HOLD or /RESET为保持或复位引脚(通过寄存器配置)。



        W25Q128FV为串行Nor FLASH,,掉电后数据不丢失。大小为128M-bit,分为256个块(Block),而每个块位64K,每个块的又分为16个扇区(Sector),每个扇区的大小为4K。FLASH写数据前必须擦除存储器,而擦除是以扇区或块作为操作单位的。

W25Q128FV通过命令操作,这里简单介绍几条用到的命令,详情可以参考数据手册
1.读制造商/设备ID(90)
       该指令通常在调试程序的时候用到,判断SPI通信是否正常。该指令通过主器件拉低/CS片选使能器件开始传输,首先通过DI线传输“90H”指令,接着传输000000H的24位地址(A23-A0),之后从器件会通过DO线返回制造商ID(EFH)和设备ID(17H)。
(注:SPI为数据交换通信,主器件在发送“90H”指令时也会接收到一个字节FFH,但此数据为无效数据)


 2.读数据(03H)

        读数据指令可从存储器依次一个或多个数据字节,该指令通过主器件拉低/CS电平使能设备开始传输,然后传输“03H”指令,接着通过DI管脚传输24位地址,从器件接到地址后,寻址存储器中的数据通过DO引脚输出。每传输一个字节地址自动递增,所以只要时钟继续传输,可以不断读取存储器中的数据。


3.页编程(02H)

        页编程指令可以在已擦除的存储单元中写入256个字节。该指令先拉低/CS引脚电平,接着传输“02H”指令和24位地址。后面接着传输至少一个数据字节,最多256字节。


4.扇区擦除(20H)

        扇区擦除指令,数据写入前必须擦除对应的存储单元,该指令先拉低/CS引脚电平,接着传输“20H”指令和要擦除扇区的地址。


另外还有其他一下操作命令

5.使能重启(66H),使能重启设备(99H)。


6.写使能命令(06H)


7.读状态寄存器1(05H),状态寄存器2(35H),状态寄存器3(15H)





621

顶一下

刚表态过的朋友 (621 人)

相关阅读

发表评论

最新评论

引用 游客 2018-4-16 10:25
开头MOSI和MISO反了
引用 游客 2018-1-7 10:54
MISO:主机输入从机输出
MOSI:主机输出,从机输入
引用 Ezio_神仙醋 2017-1-19 15:17
study

查看全部评论(3)

CubeMX教程

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-24 13:54 , Processed in 0.029870 second(s), 21 queries .

返回顶部