一种FPGA配置项文件在线升级的方法与流程
- 国知局
- 2024-07-31 23:10:19
本发明涉及fpga配置项文件在线升级领域,具体涉及一种fpga配置项文件在线升级的方法。
背景技术:
1、随着航空电子产品越来越复杂并且对数据的处理要求越来越高,fpga(field-programmablegatearray,现场可编程门阵列)在航空电子领域得到了广泛的使用,经常会出现外场升级产品逻辑代码的场景。传统对fpga程序的升级,需要使用下载器通过jtag接口与fpga进行连接,其主要有以下缺点:一是需要使用专用下载器、专业软件,由专业人员进行升级,使用条件苛刻,研发成本和维护工作增加,不利于推广使用;二是jtag接口经常设计于产品内部,需要将产品开盖处理,这样拆装产品会使可靠性得不到保障,增加试验失败的风险。因此,在线升级技术亟需完成普及。
2、fpga具有多重配置的特性,在远程更新时,需要双镜像来保护设计的稳定性。在进行更新设计的时候,只更新第一个镜像区,第二个镜像区作为安全备份,不再更新。当在线更新第一个镜像区出错时,加载代码可以跳转到第二个镜像区,加载备份代码,并可以重新对第一个镜像区在线更新,保证代码的远程恢复。
3、这类双或多镜像方案称为多重加载,多重加载允许用户在不掉电重启的情况下,根据不同时刻的需求,从flash存储的多个位流中选择一个加载,用于实现fpga系统功能的变换。进一步地,可以利用多重加载实现在线更新加载逻辑代码的功能。在多重加载配置更新中,出现以下错误会触发回跳功能:idcode错误、crc校验错误、看门狗超时错误。
4、目前,fpga配置项文件在线升级有两类,第一类是借用控制单元,将待升级更新文件由上位机发送给控制单元,由控制单元完成配置项存储芯片的读写。第二类是由上位机通过特定接口将待更新文件发送给fpga,由fpga完成对存储芯片的控制写入。第二类方法不需要借助控制单元,设计难度和硬件要求更低,但目前大部分是基于spi串口模式,缺乏对于bpi并行接口模式的运用,导致第二类方法的适用场景受限;同时在面向在线升级失败时,fpga配置项文件的备份代码无在线加载功能,无法在备份区域重新进行在线升级操作。
技术实现思路
1、针对现有技术中的上述不足,本发明提供了一种fpga配置项文件在线升级的方法,只占用了fpga部分逻辑资源,实现了对不同类型接口的配置flash芯片进行操作以及fpga配置项的多区域在线更新加载。
2、为了达到上述发明目的,本发明采用的技术方案为:
3、一种fpga配置项文件在线升级的方法,包括以下步骤:
4、s1、设置usb转串口连接器连接上位机与fpga,通过usb转串口连接器建立数据传输通道,利用数据传输通道将上位机中的更新文件数据发送至fpga;
5、s2、对fpga接收的更新文件数据进行串并转换以获取写入数据;
6、s3、对flash存储设置备份区和跳转执行代码区,确定flash存储的接口类型,并根据flash存储的接口类型选取接口配置模式以将写入数据写入至备份区和跳转执行代码区,并对跳转执行代码区进行回读以获取读出数据;
7、s4、利用读出数据对写入数据进行校验,判断是否校验成功;若是则对fpga进行上电初始化配置并加载更新文件数据,以完成fpga配置项文件在线升级,否则回退至备份区加载备份数据以重新进行文件在线升级。
8、进一步地,在步骤s1中,通过usb转串口连接器建立数据传输通道,具体过程为:通过usb转串口连接器进行上位机与fpga之间在线升级请求信号和应答信号的交互传输,以建立数据传输通道。
9、进一步地,在步骤s1中,利用数据传输通道将上位机中的更新文件数据发送至fpga,具体过程为:上位机收到应答信号后通过数据传输通道向fpga发送擦除指令,以将flash存储的跳转执行代码区的原始数据进行擦除,保留flash存储的备份区的原始数据;擦除完成后,fpga向上位机发送擦除完成信号;上位机接收到擦除完成信号,然后通过数据传输通道向fpga发送更新文件数据。
10、进一步地,在步骤s2中,对fpga接收的更新文件数据进行串并转换以获取写入数据,具体过程为:对fpga设置数据缓存模块和串并转换模块,利用数据缓存模块缓存fpga接收的更新文件数据,然后利用串并转换模块对数据缓存模块中的更新文件数据进行串并转换以获取写入数据。
11、进一步地,在步骤s3中,对flash存储还设置第一定时器区和第二定时器区;第一定时器区设置于备份区和跳转执行代码区之间,第一定时器区用于记录写入数据写入至跳转执行代码区的时间以控制触发回跳功能;第二定时器区设置在跳转执行代码区之后,第二定时器区用于直接触发回跳功能。
12、进一步地,在步骤s3中,接口配置模式包括bpi接口配置模式和spi接口配置模式。
13、进一步地,在步骤s4中,对fpga进行上电初始化配置并加载更新文件数据,以完成fpga配置项文件在线升级,具体过程为:通过icape产生iprog配置命令,初始化fpga的配置寄存器,加载跳转执行代码区的更新文件数据,以完成fpga配置项文件在线升级。
14、本发明具有以下有益效果:
15、(1)本发明通过usb转串口连接器将上位机连接到产品接口,实现了上位机到fpga的串口通信,不需要上位机装有vivado类的eda集成环境,并且不需要通过特定的jtag仿真器与产品单板上的jtag口连接来实现对fpga配置存储代码的flash进行烧写,方便了代码的后续更新,避免了产品开盖,电路板裸露的发生,并且在这个过程只占用了fpga部分逻辑资源以用于配置串口通信和flash驱动代码;
16、(2)本发明通过设置fpga到flash存储的bpi或spi通信,增加设置bpi并行接口模式的运用,扩充了适用场景受限;
17、(3)本发明通过flash存储双镜像来解决在升级失败后,配置芯片的程序数据被破坏,fpga无法正常运行,无法进行在线加载的问题,具体对配置flash存储进行区块划分,将flash存储划分成4块区域,从0地址开始依次为备份区、第一定时器区、跳转执行代码区和第二定时器区,备份区和跳转执行代码区都包含在线升级的功能代码,当使用跳转执行代码区在线升级失败后,代码跳回到备份区配合上位机重新完成在线升级功能,增加在线升级的抗风险能力;并且通过在备份区和跳转执行代码区之后都设置对应的定时器区,避免了代码跑飞,fpga无法跳转回备份区的情况。
技术特征:1.一种fpga配置项文件在线升级的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种fpga配置项文件在线升级的方法,其特征在于,在步骤s1中,通过usb转串口连接器建立数据传输通道,具体过程为:通过usb转串口连接器进行上位机与fpga之间在线升级请求信号和应答信号的交互传输,以建立数据传输通道。
3.根据权利要求1所述的一种fpga配置项文件在线升级的方法,其特征在于,在步骤s1中,利用数据传输通道将上位机中的更新文件数据发送至fpga,具体过程为:上位机收到应答信号后通过数据传输通道向fpga发送擦除指令,以将flash存储的跳转执行代码区的原始数据进行擦除,保留flash存储的备份区的原始数据;擦除完成后,fpga向上位机发送擦除完成信号;上位机接收到擦除完成信号,然后通过数据传输通道向fpga发送更新文件数据。
4.根据权利要求1所述的一种fpga配置项文件在线升级的方法,其特征在于,在步骤s2中,对fpga接收的更新文件数据进行串并转换以获取写入数据,具体过程为:对fpga设置数据缓存模块和串并转换模块,利用数据缓存模块缓存fpga接收的更新文件数据,然后利用串并转换模块对数据缓存模块中的更新文件数据进行串并转换以获取写入数据。
5.根据权利要求1所述的一种fpga配置项文件在线升级的方法,其特征在于,在步骤s3中,对flash存储还设置第一定时器区和第二定时器区;第一定时器区设置于备份区和跳转执行代码区之间,第一定时器区用于记录写入数据写入至跳转执行代码区的时间以控制触发回跳功能;第二定时器区设置在跳转执行代码区之后,第二定时器区用于直接触发回跳功能。
6.根据权利要求1所述的一种fpga配置项文件在线升级的方法,其特征在于,在步骤s3中,接口配置模式包括bpi接口配置模式和spi接口配置模式。
7.根据权利要求1所述的一种fpga配置项文件在线升级的方法,其特征在于,在步骤s4中,对fpga进行上电初始化配置并加载更新文件数据,以完成fpga配置项文件在线升级,具体过程为:通过icape产生iprog配置命令,初始化fpga的配置寄存器,加载跳转执行代码区的更新文件数据,以完成fpga配置项文件在线升级。
技术总结本发明公开了一种FPGA配置项文件在线升级的方法,涉及FPGA配置项文件在线升级领域。该方法包括以下步骤:通过USB转串口连接器建立数据传输通道,以将上位机中的更新文件数据发送至FPGA;对更新文件数据进行串并转换以获取写入数据;选取接口配置模式以将写入数据写入至备份区和跳转执行代码区,对跳转执行代码区进行回读以获取读出数据;利用读出数据对写入数据进行校验;校验通过则对FPGA进行上电初始化配置并加载更新文件数据,校验不通过则回退至备份区加载备份数据以重新进行文件在线升级。本发明只占用FPGA部分逻辑资源,实现了对不同类型接口的配置FLASH芯片进行操作以及FPGA配置项的多区域在线更新加载。技术研发人员:胡青云,邓勋,郭朋飞,林萍,刘豪,王乾丞,胡雨婷,李果村,何楷,石东昕受保护的技术使用者:成都凯天电子股份有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/196211.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表