目前SPI FLASH 工程使用的是 FII-PRX100T-DDR 开发板,FII-PRX100T-DDR 开发板使用xilinx artix 7 100T fpga 676 pin 封装, 开发板上有和工程相关的按键, led, uart 等外设, 同时这个开发板使用的是micron N25Q128A spi flash 。
参考文章:
SPI 通讯协议 及 SPI 相关工程 详解
FII_PRX100T_DDR_V1.2 硬件原理图
FII-PRX100-D(ARTIX 100T,XC7A100T)硬件参考指南
PRX-100T-DDR 实物图
按键部分:
其中 :
pb[1] , key1 = MENU, 擦除扇区
pb[2] , key2 = UP, 写 0x80_0000 , 128 bytes 数据
pb[3] , key3 = RETURN, 读 0x80_0000, 128 bytes 数据
pb[5] , key5 = OK 读 spi flash ID
pb[7] , key7 = DOWN 系统 复位信号
spi flash 部分
uart 部分
在当前的工程中, 我们使用 uart 115200 波特率,无奇偶校验,1bit 停止位。
按键实验
1) 按下 MENU 键, 擦除地址0x80_0000 spi flash 扇区
2)按UP 键,写0x80_0000地址为起始地址 ,连续写入 128beytes 数据
3) 按RETURN 键,读spi flash 0x80_0000地址为起始地址,连续读出 128 bytes
4) OK 键 读取spi flash ID, 连续读出3bytes 数据
查看n25q128a 手册:
可以看出,读出的数据和数据手册相符。
5)相关的uart操作
以16进制模式,发送相关的命令,可以看到显示窗口得到相关的返回数据, uart控制比较灵活, 不但可以控制spi flash , 对于其他的spi 设备,也是没有问题的, 比较通用。
到此, 整个关于SPI 通讯协议, spi flash 的工程讲解结束。工程中的每个模块都是独立的, 可以参考工程代码, 选择用户所需要的模块, 当然,也可以继续增加模块,来完成用户的其他需求。比如,增加系统总线,连接到riscv cpu上。


















