2019-12-24

SPI(串行外设接口)串行总线 同步全双工接口

一根时钟线,2根数据线

SCK:

I^2C时钟用于起始和结束

时钟极性(CPOL)       0低电平启动            1高电平启动

时钟相位(CPHA)(每周期两个边沿确认是第一个还是第二个边沿)

                         0为第一个边沿          1为第二个边沿

CS片选线,低电平接通

注意拉低后,用完拉高。

SPI接受与发送使用同一移位寄存器做缓冲区

主设备控制从设备的控制结构

主设备发送数据的时候,会通过移位器将从设备缓冲区的数据挤回来

主设备发送从设备从设备返回信号主设备可以不进行接收,主设备发射信号覆盖之前的数据

MOSI主输出 从输入                        MISO主输入 从输出

同一时刻只能由一个设备被拉低

Mode    0                              1                           2                          3

Cpol     0低电平                   0  低电平             1    高电平         1    高电平

Cpoh    0第一边沿上升沿   1  第2下降沿      0     第3沿上升   1    第4上升

TI:半双工模式            IIS:音频           NNS:管理方式,分为软/硬管理模式  一般用软管理模式

软模式(常用)代码里拉低拉高片选线

硬模式硬件上自动选择片选线

SPIFLASH

W25Q128华邦

128M bit = 16M Byte

CHIP --- 65536 page --- 256 Block --- 16Mbyte(擦除单位)

Page --- 256 type

Sector(扇区) --- 16 page 4Kbyte(最小擦除单位)

Half Block(半块) --- 128 page --- 8 sector ---32Kbyte(擦除单位)

Block(块) --- 256 page --- 16 sector ---64Kbyte(擦除单位)

SPI :             1.时钟速度

                         2.时钟极性和时钟相位 模式0 或是 3 (00 11)

                         3.有效位

CS —>使用 低电平有效 保证每个操作 都是处于 CS低电平

操作:

1.指令 写 使能

2.获取状态寄存器 忙标志位 值

3.页写(地址6个F,用3个字节去存)(判定为非忙 要写使能)

4.扇区擦除(不一定是扇区的首地址,只要是扇区内的地址,低三的4位,共12位清零,变为该扇区的首地址)(判定为非忙 要写使能)

5.读数据(用小括号包住是读回来)(判定为非忙)

6.读ID号(dummy空,等3个时钟周期)

你可能感兴趣的:(2019-12-24)