FPGA verilog 基于SPI总线协议控制flash的项目升级

项目一:SPI总线控制Flash的擦除功能

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准是一种高速的,全双工,同步的通信总线,在很多器件中被广泛应用。

FPGA verilog 基于SPI总线协议控制flash的项目升级_第1张图片

FPGA verilog 基于SPI总线协议控制flash的项目升级_第2张图片

先执行写指令,然后执行擦除指令,再写扇区地址页地址。

FPGA verilog 基于SPI总线协议控制flash的项目升级_第3张图片

项目二:SPI总线控制Flash的写功能

FPGA verilog 基于SPI总线协议控制flash的项目升级_第4张图片

先执行写指令

FPGA verilog 基于SPI总线协议控制flash的项目升级_第5张图片

再执行页写指令,这里我们采取字写。

单独写完这些小模块以后,我们开始大综合,进行项目升级。

假设现在FPGA执行的为流水灯逻辑,因为系统更新需要更改为呼吸灯,
可以使用JTAG直接下载固化到flash中;但在实际的产品中JTAG接口已经封死;
所以我们需要使用类外的方式进行讲flash中逻辑改变。
那么怎么实现呢?
可以将flash分为两个区域;一个区域存放在线升级的系统(相当高于电脑的bios),
另外一个区域存放功能逻辑(相当于电脑的系统),上电的时候根据需求进行跳转。
如果需要对功能升级,只需要修改功能区域逻辑。

项目三:通过SPI控制Flash进行项目升级

FPGA verilog 基于SPI总线协议控制flash的项目升级_第6张图片

RTL图

FPGA verilog 基于SPI总线协议控制flash的项目升级_第7张图片

 

最后实现的功能是将程序固话进去,以后更改扇区内的程序直接用串口输入就可以了!

 

本博客为原创博客,请勿盗用,如需转载请标注原创地址:https://mp.csdn.net/postedit/82356355

你可能感兴趣的:(FPGA verilog 基于SPI总线协议控制flash的项目升级)