【技术实现步骤摘要】
远程在线更新FPGA多版本程序的方法
[0001]本专利技术涉及一种航空综合化系统领域,通过FPGA+PPC+CPLD控制实现FPGA多版本程序远程更新的方法。
技术介绍
[0002]随着航空综合化技术发展,实现的功能日益复杂,需要处理的业务也越来越多。现场可编程门阵列FPGA器件具有高密度、低功耗、高速、高可靠性等优点,在航空航天、通信、工业控制等方面得到了大量应用。通过加载不同版本的FPGA功能程序,实现不同的业务功能。由于FPGA器件采用的是SRAM工艺,在断电的情况下FPGA内的配置数据将丢失,所以需要非易失的存储器来结合FPGA完成嵌入式系统的设计。BPI(Byte
‑
wide Peripheral Interface)Flash,具有接口简单、配置方便的特点,通常用来存储FPGA配置文件。在经过合理的配置后,系统在上电后就可以从Flash中读取配置文件来启动整个系统运行。为了能使系统得到更灵活的应用,充分发挥FPGA的灵活性、高效性,FPGA的软硬件程序都需要方便的更新和升级功能;而当形成产品后,通过JTAG工具来实现Flash更新烧写很不方便。
[0003]结合嵌入式系统应用,典型的信号处理模块,通常采用FPGA+CPLD硬件架构。利用现场可编程门阵列FPGA芯片,具有可编程灵活性高、开发周期短、并行处理能力强大的特点,把外围多个设备集成起来,采集外围设备的数据,处理实现多种通信协议。复杂可编程逻辑器件CPLD一般用做硬件加电控制、健康维护、软件程序更新加载功能。数据处理模块, ...
【技术保护点】
【技术特征摘要】
1.一种远程在线更新FPGA多版本程序的方法,其特征在于:采用PPC处理器连接现场可编程逻辑门阵列FPGA和复杂可编程逻辑器件CPLD组成一个FPGA程序远程更新控制单元,PPC与FPGA进行互连通信,CPLD通过高位地址连接Flash,对不同FPGA程序版本的存储;PPC处理器接收FPGA程序远程更新指令,向CPLD发送更新指令,CPLD对收到的FPGA远程更新指令有效性进行确认,并加入FPGA基础版本程序远程更新指令过滤措施;启动FPGA基础版本程序加载流程,将FPGA基础版本程序从Flash加载到FPGA内部运行;然后切换Flash高位地址指向待更新功能程序版本对应的Flash区块空间,在确定FPGA基础版本程序加载成功后,设置Flash高位地址指向待更新功能版本程序对应的Flash区块空间,并以中断的方式上报PPC FPGA基础版本加载成功;PPC收到CPLD上报FPGA基础版本程序加载成功后,采用待更新程序文件分帧发送方式,将单个数据帧大小按照Flash单个扇区的大小进行划分;FPGA接收待更新数据帧,对数据帧有效性进行确认,确认有效的待更新数据帧进行CRC校验通过后,将数据写入到对应的Flash地址空间中,并在完整的待更新程序文件全部写入到Flash后,从Flash中读出之前写入的数据,进行CRC二次校验,把校验的结果上报PPC。2.如权利要求1所述的远程在线更新FPGA多版本程序的方法,其特征在于:PPC与FPGA之间采用RapidIO总线进行互连通信,FPGA复位信号PROG_B、初始化完成信号INIT以及启动信号DONE管脚与CPLD连接;CPLD控制Flash最高3位地址,存储基础版本、功能版本1、功能版本2
…
功能版本7,8个不同的FPGA程序版本,基础版本采用JTAG工具在线烧写方式固化到Flash中,功能版本1~功能版本7支持程序远程在线更新与JTAG工具在线烧写。3.如权利要求1所述的远程在线更新FPGA多版本程序的方法,其特征在于:CPLD包括Cmd解析单元连接的Flash块选择单元和Cmd响应回传单元,PPC接收FPGA程序远程更新指令,通过本地总线LocalBus下发远程更新指令Update_cmd至CPLD;CPLD对收到的更新指令Update_cmd有效性进行确认,确认有效后控制Flash高3位地址指向基础版本程序对应的Flash区块空间,并置PROG_B信号有效,启动FPGA加载流程,加载Flash中FPGA基础版本程序到FPGA内部运行,通过判断FPGA启动信号DONE确定FPGA基础版本程序是否加载成功。4.如权利要求3所述的远程在线更新FPGA多版本程序的方法,其特征在于:CPLD在确定FPGA基础版本程序被加载成功后,通过Flash块选择单元设置Flash高位地址指向待更新功能版本程序对应的Flash区块空间,并通过Cmd响应回传单元,以中断的方式上报PPC更新指令Update_cmd_response指令正确,FPGA基础版本程序被加载成功,若在Cmd解析单元中解析的Update_cmd命令无效,则向PPC上报更新指令Update_cmd_response指令错误。5.如权利要求1所述的远程在线更新FPGA多版本程序的方法,其特征在于:FPGA包含连接在RapidIO收发单元与Flash读写控制单元之间的数据解析单元、响应回传单元以及CRC校验单元;PPC在收到CPLD上报FPGA基础版本程序加载成功后,通过RapidIO总线向FPGA发送待更新程序文件;RapidIO收发单元将接收到的待更新数据帧Recv_RIO_data提取出来送至数据解析单元;数据解析单元对收到的待更新数据帧类型进行有效性确认,若数据帧类型有效,则将解析出来的待更新程序文件校验All_CRC_data、当前数据帧校验Frame_CRC_data、待更新数据Update_data输出至CRC校验单元;若数据帧类型无效,则通过响应回传单元,上报PPC数据帧类型错误。6.如权利要求5所述的远程在线更新FPGA多版本程序的方法,其特征在于:CRC校验单元对数据解析单元送入的待更新数据Update_data进行CRC校验,若计算的CRC数值与数据
解析单元送入的Frame_CRC_data相同,则待更新数据帧数据有效,并将C...
【专利技术属性】
技术研发人员:朱道山,蒋凯,刘景元,邵龙,
申请(专利权)人:西南电子技术研究所中国电子科技集团公司第十研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。