FPGA实现远程升级

简介

        本章节主要描述远程升级的思路,后文将详细讲解如何实现FPG远程升级功能。

环境

        1、FPGA为XILINX A7系列FPGA;

        2、FLASH存储芯片型号为S25FL 128Mbit芯片;

        3、远程升级可通过串口/PS端DMA传输升级文件升级;

升级原理

        XILINX 官方提供的FPGA升级是在FLASH里缓存两个程序,程序一为初始程序,主要提供升级服务,该程序存入FLASH的起始地址0,并且不会做任何改动。

        程序二为升级程序,该程序也提供升级服务,升级存入的起始地址依然是程序二的起始地址。

        FPGA上电先启动程序一,并检测程序二是否校准无误,如果校准通过则执行程序二,校准不通过返回到程序一工作。

        以上操作可以保证升级失败后可以再次升级,因为程序一不会被破坏,在程序一接到升级指令后会将升级程序存入指定升级地址。

总体升级设计        

        远程升级框图如下:

     

        以太网传输升级程序到ZYNQ系列FPGA,PS端再通过DMA将数据传输给PL端,PL端接收数据将升级程序下发给8个子系统,每个子系统由一个A7 FPGA控制,另外升级程序也可以通过串口直接传给ZYNQ的PL端,然后再下发到每个子系统,实现远程升级。  

流程图如下:

        以上是系统升级流程图,FPGA端升级流程图如下:

        下面就升级程序本身做详细拆解,主要分3大部分:

        1、FPGA如何实现FLASH跳转升级功能,该功能主要调用XILINX提供的原语;

        2、实现FLASH的读写擦除控制驱动,另外存储程序的FLASH默认是无法控制的,需要调用原语;

        3、远程升级流程,接收远程升级指令后需要先对FLASH做擦除等指令,然后对接收的数据进行FLASH写操作。

        以上三大部分都需要验证无误后才能实现搭建完整的远程升级系统。

        下文将对以上3个部分逐一讲解。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值