STM32F1与W25Q128通讯
SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。SPI接口主要应用在EEPROM,FLASH,实时时
钟, AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管
脚上只占用四根线。
SPI接口一般使用4条线通信:
MISO主设备数据输入,从设备数据输出。
MOSI主设备数据输出,从设备数据输入。
SCLK时钟信号,由主设备产生。
CS从设备片选信号,由主设备控制。
主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。寄存器通过MOSI信号线将字
节传送给从机,从机也将自己的移位寄存器中的内容通过 MISO 信号线返回给主机。这样,两个移位寄存器中的内容就被交换。外
设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必
须发送一个空字节来引发从机的传输。
SPI主要特点有: 可以同时发出和接收串行数据; 可以当作主机或从机工作; 提供频率可编程时钟; 发送结束中断标志; 写冲突
保护; 总线竞争保护等。
W25Q128是外部flash芯片,具体芯片资料:以下列出一些关键的文件描述及时序图
1. 在对该flash进行写操作时必须先有擦出操作,不然会写入出错,还需写使能,写完必须写失能(很关键)
2. 擦出有扇区擦除,半块擦除,块擦除,全部擦除,全部擦除需要耗时超久
3. 可以对扇区,块上解锁
4. 有3个状态寄存器,可以查看芯片及内存的各种状态
5. 内存地址为24为地址
看图说话