FPGA verilog 基于SPI总线协议控制flash的项目升级
项目一:SPI总线控制Flash的擦除功能
SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,是一种高速的,全双工,同步的通信总线,在很多器件中被广泛应用。
先执行写指令,然后执行擦除指令,再写扇区地址页地址。
项目二:SPI总线控制Flash的写功能
先执行写指令
再执行页写指令,这里我们采取字写。
单独写完这些小模块以后,我们开始大综合,进行项目升级。
假设现在FPGA执行的为流水灯逻辑,因为系统更新需要更改为呼吸灯,
可以使用JTAG直接下载固化到flash中;但在实际的产品中JTAG接口已经封死;
所以我们需要使用类外的方式进行讲flash中逻辑改变。
那么怎么实现呢?
可以将flash分为两个区域;一个区域存放在线升级的系统(相当高于电脑的bios),
另外一个区域存放功能逻辑(相当于电脑的系统),上电的时候根据需求进行跳转。
如果需要对功能升级,只需要修改功能区域逻辑。
项目三:通过SPI控制Flash进行项目升级
RTL图
最后实现的功能是将程序固话进去,以后更改扇区内的程序直接用串口输入就可以了!
本博客为原创博客,请勿盗用,如需转载请标注原创地址:https://mp.****.net/postedit/82356355