国产安路FPGA(四)-CPU配置CPLD或FPGA(包括远程更新)

CPU对FPGA或CPLD进行配置,该配置可以分为两种

  • SS SP等对FPGA或CPLD内部的SRAM进行程序配置;
  • MCU模拟JTAG接口配置FPGA或CPLD的flash,进行程序远程更新;
  • 另外还有I2C、SSPI以及UART对CPLD进行flash远程更新(该部分有待研究);
    1. CPLD可通过 SSPI 端口来配置 Flash(读/写操作),把位流文件写入内置 Flash,以实现更新版本的目的;
    2. CPLD可通过 I2C 端口来配置 Flash(读/写操作),把位流文件写入内置 Flash,以实现更新版本的目的。
    3. PC通过UART端口来配置Flash(注意:CPLD中需要有MCU,MCU以UART接口接收bit流文件),PC 作为 XModem 协议的发送端,FPGA 侧 MCU 作为 XModem 协议的接收端;

一、设计概述

TD软件版本:TD5.6.2_71036-64bit
工程 :SPIM_SS_CFG_Demo
参考工程 : APUG012_基于 MCU 串行配置、TN008_AJE 移植指南

二、SS配置

CPLD(EF2、EF3系列)SS配置方式:
通过Generate Bitstream->Properties->Attr Option->boot_mode->ss;

在这里插入图片描述
FPGA(EG4等)SS配置方式(EG4A、EG4X配置不同):
主要通过硬件对MSEL[2:0]进行配置;

在这里插入图片描述

三、MCU模拟JTAG配置

MCU/CPU端需要模拟JTAG接口配置FPGA或CPLD,需要使用TD软件生成对应程序的SVF文件;
然后使用SVF转换AJE工具,将SVF文件转换为AJE文件,才能进行配置。
在这里插入图片描述
注意:如果配置不成功,可以关注一下延时校准
在这里插入图片描述
具体延时可以通过vec.c中的RUNTEST配置,即针对SVF文件参考频率和RUNTEST值进行换算(TN008)。
在这里插入图片描述CPU端的代码根据什么编写SDI、SDR等命令?
可以使用TD将bit文件生成SVF文件,其中SVF文件包含整体定义的指令进程,可以根据SVF文件进行C代码部分的编写;
在这里插入图片描述

四、其他远程更新简介

1. SSPI 配置

SSPI 配置硬件连接框图,如图所示,MCU/CPU 器件作为主控设备,通过该平台 GPIO 控制器,FPGA 作为从设备,按照 SPI 协议实现对内置 Flash 实现擦除、更新等操作。

  • 支持最高 40MHz 配置速率;
  • 支持 CFG/用户模式阶段配置接口使能;
    在这里插入图片描述

2. I2C 配置

I2C 配置硬件连接框图如图,MCU/CPU 器件作为主控设备,EF3LA0 器件作为从设备,主控设备通过该平台 I2C 控制器,按照 I2C 协议实现对内置 Flash 实现擦除、更新等操作。

  • 支持两种速度模式,标准模式 100kHz,快速模式 400kHz;
  • 具有可配置的 7、10 bit I2C 总线从设备地址;
  • 支持 CFG/用户模式阶段配置接口使能;
    在这里插入图片描述

3. UART 配置

FPGA 侧 MCU 上电复位后进入升级模式,不断发送 NAK 信号请求传输;PC 侧上位机(如 SecureCRT、MobaXterm 等串口终端软件)将升级的文件加载到内存,按照协议将数据传递到 MCU 接收侧;MCU 根据自身 RAM 大小缓存一定数据后再将数据写入 Flash。重复此过程,直到整个升级 bin 文件更新到 Flash。Flash 配置完成后,可通过协议发起重启命令,完成整个配置过程。在线升级系统框图如下。
整个过程中的数据传输正确性,接收方需要计算 CRC 后发送 ACK 信号来进行确认,如果数据传输有误,则发送 NAK 信号,发送方在接收到 NAK 信号之后需要重新发起该次数据传输,如果数据已近传输完成,发送方需要发送 EOT 信号,来结束数据传输。

  • 通过设备串口进行位流或 MCU 程序代码自更新;
  • 自定义波特率进行文件传输;
  • 支持传输完成后的文件正确性校验;
  • 支持小容量 RAM 的 MCU 边写边传机制;
  • 支持 1024 bytes 包的 Xmodem 协议传输;
  • 支持复位后直接启动和进入升级模式的选择;
    在这里插入图片描述
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值