[发明专利]一种基于MicroBlaze软核的FPGA软件在线升级方法在审
| 申请号: | 201410336383.X | 申请日: | 2014-07-15 |
| 公开(公告)号: | CN105320531A | 公开(公告)日: | 2016-02-10 |
| 发明(设计)人: | 彭元;李峰;付晶晶;何子君;武成锋 | 申请(专利权)人: | 北京自动化控制设备研究所 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 核工业专利中心 11007 | 代理人: | 高尚梅 |
| 地址: | 100074 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 microblaze fpga 软件 在线 升级 方法 | ||
技术领域
本发明属于集成电路技术领域,具体涉及一种基于MicroBlaze软核的FPGA软件在线升级方法。
背景技术
随着集成电路的不断发展,可编程逻辑器件FPGA因其功能强大、设计灵活、开发周期短等特点,受到越来越广泛的应用,并成为各级电路系统中不可或缺的重要组成部分。尤其是在高要求的电子系统设计中,一般都要求其具有通过UART接口进行在线更新的功能。如果采用常规的FPGA设计方法从底层编写逻辑同配置FLASH芯片进行数据通信,需要很大精力关注FPGA的配置方式以及FLASH的读写方式。
MicroBlaze软内核是一款由Xilinx公司研发的32位微处理器IP核,可以应用于Xilinx公司各个型号的FPGA器件。以MicroBlaze软内核作为核心处理器,协同其它外设的控制器IP核,可以实现完整的可编程系统芯片(SoPC)设计。
发明内容
本发明需要解决的技术问题为:提供一种只需要UART接口的简单可靠并耗时较少的FPGA在线更新方法。
本发明的技术方案如下所述:
一种基于MicroBlaze软核的FPGA软件在线升级方法,包含以下步骤:
1)系统配置;2)系统初始化;3)对码;4)FLASH擦除;5)升级文件写入。
优选的,所述步骤1)系统配置的具体方法如下:
采用MicroBlaze软核作为在线升级的控制核心,UART和FLASH作为外设直接和MicroBlaze相连;MicroBlaze通过LMB总线与本地存储器控制器相连,同本地块存储器生成的程序寻址空间和数据寻址空间进行交互,通过片上外设PLB总线同UART、外部FLASH、Timer定时器和GPIO外设进行通信,GPIO、Timer定时器和中断控制器外设作为虚拟外设,对切换信号Switch_flag和定时中断进行控制;
FPGA系统的内部UART收发信号分别为Rx和Tx,基于MicroBlaze的在线升级系统收发信号分别为Rxx和Txx,Rx与Rxx同时接收外部UART数据,升级指示信号Switch_flag作为切换信号开关,在进行在线升级过程中将MicroBlaze的Txx信号连接到外部UART,未进行在线更新时将Tx连接到外部UART,使整个系统正常工作。
优选的,所述步骤1)系统配置时,由虚拟GPIO外设设计实现指示信号,作为其他模块和在线升级子模块切换UART接口进行完整通信过程的依据。
优选的,所述步骤2)系统初始化的具体方法如下:
首先对MicroBlaze内核进行初始化,然后对FLASH、UART、GPIO、Timer和中断控制器InterruptController进行初始化,初始化成功后按照FLASH类型将FLASH设置为可读写模式;若系统初始化超时则结束程序,否则上位机发出对码指令。
优选的,所述步骤3)对码的具体方法如下:
接收到上位机的对码指令后,则执行对码,若对码成功,利用GPIO信号Switch_flag开关信号将UART回送数据从Tx信号切换为MicroBlaze的Txx信号,并返回对码成功指令,并发出FLASH擦除指令,进行FLASH擦除。若对码不成功则返回对码不成功标志,并进入等待状态,等待重新对码的指令。
优选的,在操作UART时,波特率在MHS文件中修改;编写Flash驱动时,在MSS文件中调用EDK自带的XilFlash库函数。
优选的,所述步骤4)FLASH擦除的具体方法如下:
FPGA接受到擦除指令后,对外部FLASH执行擦除操作,成功擦除FLASH后,向上位机回送擦除成功指令;否则,返回擦除失败指令,进入等待状态,等待重新对码的指令。
优选的,所述步骤5)升级文件写入的具体方法如下:
上位机接收到擦除成功指令后,将FPGA源程序编译后的二进制bin文件拼装成固定长度数据帧发送给FPGA,FPGA将这些文件写入,若写入成功,则将FLASH置为不可读写模式,并向上位机返回更新成功指令,完成升级;若写入不成功则向上位机返回帧更新失败指令,上位机重新向FPGA发送FPGA源程序编译后的二进制bin文件拼装成的固定长度数据帧,连续三次帧更新失败后则返回FLASH更新失败指令,并进入等待状态,等待重新对码的指令。
优选的,还包括步骤6)更新失败处理,所述步骤6)更新失败处理的具体方法如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京自动化控制设备研究所,未经北京自动化控制设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410336383.X/2.html,转载请声明来源钻瓜专利网。





