PS QSPI Flash
一、QSPI Flash 简介
QSPI(Quad SPI)Flash 是在传统 SPI Flash 基础上发展而来的高速串行存储器,通过 IO0~IO3 四根数据线并行传输数据,相比普通 SPI 具有更高的数据吞吐率,同时保持简单的接口和较低的成本。
其主要特点包括:
- 4 线并行数据传输,速度更快
- 向下兼容 SPI,支持 XIP
- 接口简单,引脚少
- 容量多样,速度高
- 成本较低,适用于嵌入式系统
二、QSPI Flash 引脚定义
典型 8-pin QSPI Flash 引脚如下:
| 引脚 | 功能 |
|---|---|
| CS# | 片选信号(低有效) |
| SCLK | 串行时钟 |
| SI / IO0 | 数据线 0 |
| SO / IO1 | 数据线 1 |
| WP# / IO2 | 数据线 2 |
| HOLD# / IO3 | 数据线 3 |
| VCC | 电源 |
| GND | 地 |
三、存储结构
以 256Mb(32MB)Flash 为例,存储层次如下:
Bit
↓
Byte(8 bit)
↓
Page(256 Byte)
↓
Sector(4 KB)
↓
Block(64 KB)
↓
Chip(32 MB)

四、工作原理
SoC 通过 QSPI 控制器与 Flash 通信。通信过程如下:
- 拉低 CS#,选中 Flash;
- 发送命令(Command);
- 发送地址(Address);
- Flash 返回数据(Data);
- 拉高 CS#,结束访问。


五、QSPI Flash 读写实验流程
初始化
- 初始化 QSPI 控制器;
- 配置时钟参数;
- 配置工作模式。
写数据
- 写使能(Write Enable);
- Sector 擦除;
- Page Program;
- 等待 Busy 位清零。
读数据
- 发送读命令;
- 发送地址;
- 接收数据;
- 校验结果。
六、QSPI Flash 远程网络更新
升级流程
PC
│
TCP / UDP
│
LWIP
│
PS
│
QSPI Driver
│
QSPI Flash
💡 完整视频讲解可前往 ALINX 视频号进行直播回看
AXI_GPIO 应用
一、AXI 总线分类
AXI 总线分为三类,应用场景各有区分:
- AXI4-Lite:仅支持单数据地址传输,多用于低速外设、设备控制,也是 AXI_GPIO 所使用的总线。
- AXI4:支持地址 + 突发批量数据传输,适用于大批量地址数据交互。
- AXI4-Stream:无地址,纯突发数据传输,主要用于数据流、媒体流传输。
AXI4-Lite 关键接口信号
包含地址、传输长度、数据位宽、突发类型、握手信号、ID、访问权限等多类信号;同时明确了它与标准 AXI4 的核心差异:
- 固定单次突发传输
- 数据位宽限定
- 部分功能引脚失效 / 固定电平
协议更精简。
二、AXI_GPIO 内部结构与寄存器
1. 硬件架构
AXI_GPIO 为双通道设计,每路通道都包含:
- 数据寄存器
- 三态控制模块
- 输入数据缓存
还集成了中断检测逻辑,可对外输出中断信号。


2. 内部寄存器
所有寄存器默认值均为 0。地址偏移及功能如下表所示:
| 地址偏移 | 寄存器名称 | 功能说明 | 读写属性 |
|---|---|---|---|
| 0x0000 | GPIO_DATA | 通道 1 数据寄存器 | 可读写 |
| 0x0004 | GPIO_TRI | 通道 1 三态控制寄存器 | 可读写 |
| 0x0008 | GPIO2_DATA | 通道 2 数据寄存器 | 可读写 |
| 0x000C | GPIO2_TRI | 通道 2 三态控制寄存器 | 可读写 |
| 0x011C | GIER | 全局中断使能寄存器 | 可读写 |
| 0x0120 | IP ISR | 中断状态寄存器 | --- |
| 0x0128 | IP IER | IP 核中断使能寄存器 | 可读写 |
💡 完整视频讲解可前往 ALINX 视频号进行直播回看
更多细节欢迎关注我们黑金云课堂全年免费直播课,
黑金云课堂六月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!
| 系列 | 内容定位 |
|---|---|
| Verilog开发 | 硬件描述语言基础、逻辑设计、仿真调试 |
| Vitis开发 | Zynq软硬件协同、外设驱动、网络协议栈 |
| Linux开发 | 嵌入式Linux系统移植、驱动编写、应用开发 |