# 功能特性 ## 主要特性 * 主控芯片内置 flash 芯片,大小 2MB,型号 P25Q6SU * flash 供电电压 3.3V,使用温度范围在 -40℃ ~ 85℃ * 支持 flash 单线、双线、四线通信模式 * 执行 flash 芯片内执行 ( xip ) 模式,仅支持 xip 读,不支持写 * 支持通过 DMA 通道读写 flash 、xip 读等操作 * 支持 flash 软件写保护和硬件写保护 ( WP 脚) 操作 ## 功能描述 ### FLASH SPI 引脚连接如下: ![](../../../../gximage/gximage46_quad_pin.png) `四线 SPI (Quad-SPI)` 采用 6 个引脚与外部器件相连,其中`双线 (Dual-SPI)` 和`单线 (Standard-SPI)` 通过 4 个引脚与外部器件相连: * **MISO**:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。 * **MOSI**:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。 * Dual-SPI 或 Quad-SPI 模式下,此引脚变为接收数据引脚 IO1 * **CLK**:串口时钟,作为主设备的输出,从设备的输入。 * **NSS**:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“**片选引脚**”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。 * **WP**:写保护引脚,用于防止状态寄存器被写入。 * Quad-SPI 模式下,此引脚变为接收数据引脚 IO2 * **HOLD**:保持引脚,将 HOLD 引脚拉低,暂停与设备的任何串行通信。 * Quad-SPI 模式下,此引脚变为接收数据引脚 IO3 ### FLASH 传输模式 #### FLASH 单线模式 ![](../../../../gximage/gximage47_standard_spi.png) 单线模式使用 flash 单倍速读取指令 0x0B 进行与 flash 通信,MISO 和 MOSI 数据引脚在半双工模式下运行,每个时钟周期发送1位。 #### FLASH 双线模式 ![](../../../../gximage/gximage48_dual_spi.png) 双线模式具有双 I/O 接口,使用 flash 双倍速读取指令 0x3B 进行与 flash 通信,与标准串行闪存设备相比,传输速率可以提高一倍。MISO 和 MOSI 数据引脚在半双工模式下运行,每个时钟周期发送两位。MOSI 线变为 IO0,MISO 线变为 IO1。数据吞吐量相比标准 SPI 模式提高一倍。 #### FLASH 四线模式 ![](../../../../gximage/gximage49_quad_spi.png) 四线模式类似于双线模式,但将吞吐量提高了四倍,使用 flash 四倍读取速指令 0x6B 进行与 flash 通信,增加了两条额外的数据线,MOSI 线和 MISO 线仍为 IO0、IO1,WP 线变为 IO2,HOLD 线变为 IO3,每个时钟周期传输 4 位。数据传输为:IO0、IO1、IO2 和 IO3。 #### FLASH XIP 传输模式 ![](../../../../gximage/gximage50_xip_spi.png) flash xip 模式属于四线模式的一种,只是使用的 flash 指令、地址传输方式不一样;他使用 flash 四倍速读取指令 0xEB 进行与 flash 通信,MOSI 线和 MISO 线为 IO0、IO1,WP 线变为 IO2,HOLD 线变为 IO3,每个时钟周期传输 4 位。数据传输为:IO0、IO1、IO2 和 IO3。 flash xip 模式下只能读取,不能写入;一旦 flash xip 配置成功后,flash 内地址将被线性的映射到系统可访问的特定地址上,访问这个特定地址即可读取 flash 对应偏移地址的数据;