一种基于ZYNQ芯片的FPGA加载方法技术

技术编号:30523138 阅读:13 留言:0更新日期:2021-10-27 23:07
本发明专利技术公开了一种基于ZYNQ芯片的FPGA加载方法,包括:上电启动时的上电自动加载和ZYNQ系统启动完成后的上位机控制加载;所述上电自动加载的过程为:设备上电启动时,FPGA的加载模式默认为主动加载,此时FPGA主动从Flash2读取文件,快速加载;所述上位机控制加载的过程为:ZYNQ系统运行起来后,自动运行控制守护进程,监听网络端口,响应上位机命令;上位机使用网口、串口等方式和ZYNQ系统建立通信,下发待更新的FPGA代码;ZYNQ系统接收数据,把数据存放在DDR3内存中,并对数据进行校验,将校验结果反馈给上位机;ZYNQ系统根据上位机的指令,确定设备更新方式。本发明专利技术提供的基于ZYNQ芯片的FPGA加载方法具有FPGA更新快速方便、设备中断工作时间短的特点。设备中断工作时间短的特点。设备中断工作时间短的特点。

【技术实现步骤摘要】
一种基于ZYNQ芯片的FPGA加载方法


[0001]本专利技术涉及FPGA程序更新
,特别是涉及一种基于ZYNQ芯片的FPGA加载方法。

技术介绍

[0002]目前,大多数FPGA芯片是基于SRAM的结构的,而SRAM单元中的数据在掉电后就会丢失,因此系统上电后,必须要由配置电路将正确的配置数据加载到SRAM中,配置完成后,FPGA进入工作状态,掉电后,FPGA恢复成白片,内部逻辑关系消失,因此FPGA每次上电都需要重新配置一次。
[0003]FPGA器件有三类配置下载方式:主动配置方式、被动配置方式和JTAG方式;主动配置模式:FPGA每次上电时作为控制器,由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,向配置器件主动发出读取数据信号,从而把Flash的数据读入FPGA中,实现对FPGA的编程;被动配置模式:由外部计算机或者控制器控制配置过程,并把FPGA当作存储器,把数据写入到FPGA中,实现对FPGA的编程,该模式可以实现对FPGA在线可编程;JTAG模式:JTAG是直接烧到FPGA里面的,适合在调试和测试时使用。其中,被动配置模式通过外面的CPU配置FPGA,CPU配置FPGA需要等CPU运行起来后才能加载,不能一上电就加载FPGA,所以上电时加载时间较长。Flash加载的速度快,但Flash数据内容更新比较麻烦,一般出厂前通过JTAG进行烧写,出厂后再更新Flash内容就非常麻烦。基于以上问题,亟需提供一种新的基于ZYNQ芯片的FPGA加载方法。

技术实现思路

[0004]本专利技术的目的是为了提供一种基于ZYNQ芯片的FPGA加载方法,能够采用主动加载和被动加载两种加载方式,并且可以选择是否更新Flash,具有FPGA更新快速方便、设备中断工作时间短的特点。
[0005]为实现上述目的,本专利技术提供了如下方案:
[0006]一种基于ZYNQ芯片的FPGA加载方法,应用于由ZYNQ系统、Flash存储器和FPGA组成的设备,所述ZYNQ系统分为PL端和PS端,所述Flash存储器包括Flash1和Flash2,所述Flash1用于存放ZYNQ的加载数据,所述Flash2用于存放FPGA的配置数据,其特征在于,所述方法包括:上电启动时的上电自动加载和ZYNQ系统启动完成后的上位机控制加载;
[0007]所述上电自动加载的过程为:设备上电启动时,ZYNQ系统启动,读取Flash1的数据,并加载ZYNQ系统的PS和PL端,FPGA的加载模式默认为主动加载,此时FPGA主动从Flash2读取文件,快速加载;
[0008]所述上位机控制加载的具体步骤包括:
[0009]S1,上位机软件广播搜索设备命令;
[0010]S2,ZYNQ的控制守护进程接收到搜索广播,应答设备基本信息;
[0011]S3,上位机显示搜索得到的设备基本信息;
[0012]S4,用户从上位机软件选择设备,选择需要加载的文件,下发加载命令;
[0013]S5,上位机软件按预定义的端口启动文件下载服务;
[0014]S6,上位机软件发送加载命令,将上位机服务IP地址、网络端口、文件名及受控设备MAC地址信息告知设备;
[0015]S7,设备的控制守护进程接收到加载命令,解析得到上位机下载服务IP地址、网络端口、文件名及受控设备MAC地址;
[0016]S8,核对受控设备MAC地址与本设备MAC地址是否一致,如一致则设备控制守护进程启动下载任务,从上位机服务端下载文件;
[0017]S9,设备控制守护进程对下载的文件验证校验,校验文件类型,正确则根据用户的指令要求确定设备更新方式,否则回复错误响应。
[0018]可选的,所述上位机控制加载的具体步骤中的所述步骤S9中,所述设备控制守护进程对下载的文件验证校验,校验文件类型,正确则根据用户的指令要求确定设备更新方式,否则回复错误响应,其中的设备更新方式包括:只更新FPGA、只更新Flash2、FPGA和Flash2都更新。
[0019]可选的,所述更新FPGA的具体步骤包括:
[0020]B1,配置应用程序产生program信号,启动开始编程;
[0021]B2,FPGA收到program信号,内部电路进行初始化,并拉低init信号,初始化完成后,FPGA拉高init信号;
[0022]B3,配置应用程序发出program控制命令后,接着初始化DMA控制器;打开文件,每次读取8192字节数据,并调用DMA接口写到配置逻辑中的FIFO中,一直持续到发送文件结束;
[0023]B4,ZYNQ系统中的逻辑配置程序接收FIFO的数据,并监控init信号电平,等待FPGA的init信号拉高;
[0024]B5,配置逻辑收到高电平的init,产生符合FPGA的配置要求的时序完成数据加载;
[0025]B6,FPGA正常加载完成后,释放DONE信号,未正常加载DONE信号一直为低;
[0026]B7,配置应用程序在文件发送完成后开始监控FPGA输出的DONE信号,等待一段时间,如果收到高电平的DONE信号,则表示FPGA加载完成,否则加载失败;
[0027]B8,配置应用程序上报本次操作结果。
[0028]可选的,所述更新Flash2的具体步骤包括:
[0029]C1,配置应用程序根据客户下发的指令启动Flash2更新流程;
[0030]C2,配置应用程序计算Flash2擦除区域,根据擦除区域换算Flash2需要擦除的块地址;
[0031]C3,配置应用程序通过AXI总线,下发Flash2的操作地址和操作数据到配置逻辑;
[0032]C4,配置逻辑根据寄存器内容,转换为Flash2的读写时序,依次对Flash2的块地址进行擦除,一直循环待写入的区域完成擦除;
[0033]C5,配置应用程序开始读文件,每次以Flash2的页大小为单位读取文件,计算写入的Flash2页地址;
[0034]C6,写入一页数据,再下发Flash2编程命令,等待页编程状态完成,一直循环到整个文件结束;
[0035]C7,读取Flash2状态寄存器判断本次写入文件是否正确,并上报本次操作结果。
[0036]可选的,所述FPGA和Flash2都更新,具体为:先更新FPGA再更新Flash2。
[0037]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供的基于ZYNQ芯片的FPGA加载方法,上电时,直接通过Flash快速加载FPGA,在ZYNQ系统运行起来后,可以方便地和上位机进行通信,通过PS和PL的FPGA高速配置通道可以快速更新FPGA代码,最大限度的缩短FPGA更新时间,减少设备的中断时间;设备正常工作时再对外挂的Flash更新,更新Flash不会影响FPGA的工作。本专利技术提供的基于ZYNQ芯片的FPGA加载方法,通过FPGA主动加载和被动加载相结合的方案,使FP本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ZYNQ芯片的FPGA加载方法,应用于由ZYNQ系统、Flash存储器和FPGA组成的设备,所述ZYNQ系统分为PL端和PS端,所述Flash存储器包括Flash1和Flash2,所述Flash1用于存放ZYNQ系统配置数据,所述Flash2用于存放FPGA的配置数据,其特征在于,所述方法包括:上电启动时的上电自动加载和ZYNQ系统启动完成后的上位机控制加载;所述上电自动加载的过程为:设备上电启动时,FPGA的加载模式默认为主动加载,此时FPGA主动从Flash2读取文件,快速加载;ZYNQ系统读取Flash1的数据,加载ZYNQ最小系统;所述上位机控制加载的具体步骤包括:S1,上位机软件广播搜索设备命令;S2,ZYNQ的控制守护进程接收到搜索广播,应答设备基本信息;S3,上位机显示搜索得到的设备基本信息;S4,用户从上位机软件选择设备,选择需要加载的文件,下发加载命令;S5,上位机软件按预定义的端口启动文件下载服务;S6,上位机软件发送加载命令,将上位机服务IP地址、网络端口、文件名及受控设备MAC地址信息告知设备;S7,设备的控制守护进程接收到加载命令,解析得到上位机下载服务IP地址、网络端口、文件名及受控设备MAC地址;S8,核对受控设备MAC地址与本设备MAC地址是否一致,如一致则设备控制守护进程启动下载任务,从上位机服务端下载文件;S9,设备控制守护进程对下载的文件验证校验,校验文件类型,正确则根据用户的指令要求确定设备更新方式,否则回复错误响应。2.根据权利要求1所述的基于ZYNQ芯片的FPGA加载方法,其特征在于,所述上位机控制加载的具体步骤中的所述步骤S9中,所述设备控制守护进程对下载的文件验证校验,校验文件类型,正确则根据用户的指令要求确定设备更新方式,否则回复错误响应,其中的设备更新方式包括:只更新FPGA、只更新Flash2、FPGA和Flash2都更新。3.根据权利要求2所述的基于ZYNQ芯片的FPGA加载方法,其特征在于,所述更新FPGA的具体步骤包括:B...

【专利技术属性】
技术研发人员:张清洪张建刚肖均王智宏罗孝杰高珊
申请(专利权)人:成都亿凌特科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1