Altera 芯片代码实现远程更新

本文介绍了一种针对Altera FPGA的远程代码更新方案。利用网络接口,无需修改硬件即可实现代码的远程更新。该方案使用JTAG模式,通过千兆网络发送指令和新的FPGA镜像文件来完成代码切换。设计还涉及Nor-FLASH程序数据更新,以支持多套代码的灵活切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    通常在同一批次产品中,FPGA设计中只需要一套代码即可。但偶尔需要将代码实现更新而又不拆开设备情况下对代码进行更新,这就需要运用到代码远程更新功能了。

    代码远程更新的实现可以用网络和串口对FPGA发送命令和数据,使得FPGA进行代码切换。在本设计中,FPGA相关硬件无需更改,才有JTAG下载模式,通过千兆网口对FPGA下发切换程序命令和新的FPGA镜像,实现代码更新。

    本模块功能采用逻辑设计方式,需要用到altera下的两个IPcore(Altera Remote Update 和 Altera ASMI Parallel),其中Altera Remote Update 完成远程更新功能寄存器(启动地址、看门狗、使能)设置,而Altera ASMI Parallel完成Nor-FLASH程序数据更新,实现NOR-FLASH数据读写。

     对一般设计而言,设计人员可以在flash中烧写两套FPGA程序(比如对一个开发板点亮LED1和点亮LED2,当按下按钮时候,程序从点亮LED1跳变到LED2程序)

     注意,远程代码更新对不同altera FPGA芯片需要设置的寄存器不一样。


    altera官方参考设计:

    AN 603: Active Serial Remote SystemUpgrade Reference Design



在实际工程应用中,我们时常会遇到为解决某个老产品的BUG,需要在工程现场更新设备的FPGA代码,或者参加电信测试时需要现场升级设备FPGA程序以便于调试。公司现阶段所用的Altera FPGA程序代码一般存放于芯片配套的FLASH存储器中,而常见的对印制板上FLASH编程有几种方法,原始的方法是使用编程器,这种方法需要要将芯片取下,十分不便,或者通过JTAG接口连接到PC机上,但需要专用下载软件(一般由芯片生产厂商提供)。在测试现场或调测机房现场,要找到FPGA的专用下载线是比较困难的,且Altera FPGA的专用下载软件并不是每个PC设备上都有的。有时仅为了更新一个FPGA的程序就需要研发或客服人员亲自到现场去烧写程序,这既不便捷,也使得设备维护成本大大增加。  经过可行性与成本的考虑,我们找到一种既方便实用又低成本的方法来实现FPGA程序的在线现升级。即在MCU中(单片机或ARM均可)用软件来模拟XModem协议,将程序文件传输到FPGA的FLASH中。这种方法使用WINDOWS自带的超级终端软件来传送文件,无需安装专用软件,硬件支持仅需要一根通用串口线,只要在目标板MCU上增加一段实现XModem协议传输的代码,就可以方便的实现FPGA程序下载了。这种特点不仅方便了客服人员,也给研发和生产人员在现场调试和软件升级、修改中带来极大方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值