一种基于PowerPC的FPGA远程在线更新方法技术

技术编号:37771782 阅读:14 留言:0更新日期:2023-06-06 13:37
本申请提供了一种基于PowerPC的FPGA远程在线更新方法,属于嵌入式计算机数据处理技术领域,具体FPGA采用BPI模式从外置FLASH中加载目标文件,PowerPC处理器从串口或以太网等外部接口接收待更新的目标文件,并通过局部总线接口LBC对FPGA外置FLASH进行烧写,实现更新目标文件在FLASH中的固化。本申请方法在不增加额外硬件电路的前提下,实现了FPGA不使用编程电缆的远程在线更新,提高了模块使用维护过程中的灵活性。中的灵活性。中的灵活性。

【技术实现步骤摘要】
一种基于PowerPC的FPGA远程在线更新方法


[0001]本申请涉及嵌入式计算机数据处理的领域,尤其是涉及一种基于PowerPC的FPGA远程在线更新方法。

技术介绍

[0002]PowerPC处理器由于其高性能、低功耗的特点被广泛地用于航空、航电、车载嵌入式计算机领域。与此同时,嵌入式计算机小型化、高可靠性的要求,使得拥有多种接口IP的高性能FPGA被广泛地应用于PowerPC处理器模块的设计中。在PowerPC模块的设计开发和后期使用维护中,FPGA的程序更新是不可避免的,而传统的FPGA程序更新需要使用专用的FPGA开发环境通过编程电缆进行FPGA更新工作,同时在模块设计时需要为FPGA更新预留专用的JTAG接口。这种传统的FPGA更新方法给整个PowerPC的使用维护带来了极大的不便,因此,越来越多的PowerPC设计工程师开始研究FPGA远程在线更新的方法。
[0003]中国兵器集团自动化研究所申请的专利“一种基于DSP的FPGA程序远程在线更新系统及方法”(申请号201811245075.0,公开号109343888)以及郑州云海信息技术有限公司申请的专利“一种FPGA板卡在线更新的方法、系统及设备”(申请号201811463889.1,公开号109542492)分别提供了两种有效的实现FPGA远程在线更新的解决方案,但是上述方案都有一个明显的不足:需要增加额外的CPLD或者管理FPGA。这不仅使FPGA在线更新过程的较为复杂,同时增加的额外电路也降低了模块的可靠性。

技术实现思路
r/>[0004]有鉴于此,本申请提供一种基于PowerPC的FPGA远程在线更新方法,在不增加额外硬件电路的前提下,解决PowerPC模块远程在线加载的问题。
[0005]本申请提供的一种基于PowerPC的FPGA远程在线更新方法采用如下的技术方案:
[0006]一种基于PowerPC的FPGA远程在线更新方法,包括如下步骤:
[0007]建立PowerPC模块,包括PowerPC处理器、FPGA、外置FLASH和启动FLASH,所述PowerPC处理器和FPGA通过局部总线控制器总线相连,所述FPGA和外置FLASH通过FLASH并行线连接,所述启动FLASH与所述FPGA通信连接;
[0008]在FPGA外置FLASH中存储更新目标文件;
[0009]在启动FLASH中存储有启动文件;
[0010]PowerPC处理器通过局部总线控制器总线间接访问FPGA的外置FLASH,当PowerPC处理器访问外置FLASH时,FPGA完成局部总线控制器地址信号锁存,并将局部总线控制器总线的片选信号、数据信号、读/写信号和地址锁存信号转化为外置Flash总线的片选信号、读/写信号、地址和数据,实现局部总线控制器对外置Flash的访问;
[0011]通过调试串口启动远程更新程序,从外置Flash中将逻辑目标码加载到FPGA,进行FPGA的更新;
[0012]通过外置Flash中将启动目标码加载到启动Flash。
[0013]可选的,FPGA设计Flash保护寄存器,PowerPC处理器只有在Flash保护寄存器状态为写使能状态下,才可以对Flash进行写操作,Flash保护寄存器的状态只在FPGA远程更新程序修改。
[0014]可选的,Flash保护寄存器的修改采用两次写访问方式,FPGA为Flash保护寄存器提供两个地址,PowerPC处理器要修改Flash保护寄存器的状态,需要首先向第一个地址中写入Flash保护寄存器的访问地址,再向第二个地址写入需要修改的数据。
[0015]可选的,Flash保护寄存器的两次写访问方式和访问地址对仅对PowerPC模块的FPGA远程更新程序有效。
[0016]可选的,PowerPC处理器采用错误检测和错误恢复机制,计算外置Flash中待更新的目标文件的校验和,并将校验和传输给PowerPC处理器;PowerPC处理器接收更新文件,并计算更新文件的校验和,若两侧校验和不相等,则说明数据传输过程中存在错误,PowerPC处理器通知调试PC重传数据,并再次比较校验和,若依然有错误,则继续重传,当重传次数超过规定门限值时,则停止FPGA在线更新。
[0017]可选的,PowerPC处理器并将目标文件缓存至模块内存中,以扇区为单位,将缓冲数据划分为数据块a1,a2,a3,

a
n
,并分别计算所有数据块的校验和S1,S2,S3,

,S
n
,PowerPC处理器完成Flash烧写后,回读Flash中的数据,同时计算回读数据每一扇区的校验和S
’1,S
’2,S
’3,

,S

n
,对S1,S2,S3,

,S
n
和S
’1,S
’2,S
’3,

,S

n
进行比较,若存在扇区i,使得S
i
和S

i
不一致,则记录该扇区的标号i,完成所有扇区的检测后,若存在错误扇区,则根据错误扇区的标号对该扇区进行重新烧写。重复上述检测过程,如果重新烧写计数器超过错误门限值,则判定FPGA更新失败。
[0018]可选的,PowerPC模块在进行更新目标文件烧写前,会备份Flash中的原始目标文件;更新目标文件烧写后,PowerPC处理器若检测到烧写错误并且通过重新烧写的方法无法恢复错误,PowerPC模块将停止本次FPGA在线更新,并在Flash中恢复原始目标文件。
[0019]综上所述,本申请包括以下有益技术效果:
[0020]FPGA采用BPI模式从外置FLASH中加载目标文件,PowerPC处理器从串口或以太网等外部接口接收待更新的目标文件,并通过局部总线接口LBC对FPGA外置FLASH进行烧写,实现更新目标文件在FLASH中的固化,本方法在不增加额外硬件电路的前提下,实现了FPGA不使用编程电缆的远程在线更新,提高了模块使用维护过程中的灵活性。
附图说明
[0021]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0022]图1为本申请的PowerPC模块的结构框图;
[0023]图2为本申请方法的时序图;
[0024]图3为本申请方法的流程图。
具体实施方式
[0025]下面结合附图对本申请实施例进行详细描述。
[0026]以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于PowerPC的FPGA远程在线更新方法,其特征在于,包括如下步骤:建立PowerPC模块,包括PowerPC处理器、FPGA、外置FLASH和启动FLASH,5所述PowerPC处理器和FPGA通过局部总线控制器总线相连,所述FPGA和外置FLASH通过FLASH并行线连接,所述启动FLASH与所述FPGA通信连接;在FPGA外置FLASH中存储更新目标文件;在启动FLASH中存储有启动文件;PowerPC处理器通过局部总线控制器总线间接访问FPGA的外置FLASH,当0PowerPC处理器访问外置FLASH时,FPGA完成局部总线控制器地址信号锁存,并将局部总线控制器总线的片选信号、数据信号、读/写信号和地址锁存信号转化为外置Flash总线的片选信号、读/写信号、地址和数据,实现局部总线控制器对外置Flash的访问;通过调试串口启动远程更新程序,从外置Flash中将逻辑目标码加载到5FPGA,进行FPGA的更新;通过外置Flash中将启动目标码加载到启动Flash。2.根据权利要求1所述的基于PowerPC的FPGA远程在线更新方法,其特征在于,FPGA设计Flash保护寄存器,PowerPC处理器只有在Flash保护寄存器状态为写使能状态下,才可以对Flash进行写操作,Flash保护寄存器的状态只在FPGA远程更新程序修改。3.根据权利要求2所述的基于PowerPC的FPGA远程在线更新方法,其特征在于,Flash保护寄存器的修改采用两次写访问方式,FPGA为Flash保护寄存器提供两个地址,PowerPC处理器要修改Flash保护寄存器的状态,需要首先向第一个地址中写入Flash保护寄存器的访问地址,再向第二个地址写入需要修改的数据。4.根据权利要求3所述的基于PowerPC的FPGA远程在线更新方法,其特征在于,Flash保护寄存器的两次写访问方式和访问地址对仅对PowerPC模块的FPGA远程更新程序有效。5.根据权利要求1所述的基于PowerPC的FPGA远程在线更新方法,其特征在于,PowerPC处理器采用错误检测和错误恢复机制,计算外置Flash...

【专利技术属性】
技术研发人员:侯小盈刘博冯毅王爱林王晓鸽杨磊
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

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

1