0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【干货】基于串口的FPGA远程升级

小眼睛科技 2025-04-14 09:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近期,我们收到许多粉丝朋友的技术问题反馈,为便于大家的学习,小编整理了一系列常见问题的技术指南,将陆续分期发布,请大家敬请关注“小眼睛FPGA”微信公众号,在FPGA的世界里,我们努力把复杂的技术变得简单有趣,记得给我点赞留言,让我知道你也在这趟奇妙的旅程里哦。


远程升级简

远程升级的实质是通过远程且不影响当前芯片工作状态的方式实现芯片的代码版本升级或回退。本例程采用基于SPI Master和BPI Master接口的远程升级方案,在远程升级的过程中,用户通过通信协议(如TCP/IP,PCI,UDP,UART等,本例程使用UART)或专用接口从远端接收位流,通过用户SPI接口将位流编程到外部Flash,实现代码的远程升级。

实验环境


3083b022-18d3-11f0-9434-92fbcf53809c.png

操作步

第一步:代码准备在远程升级位流中,用户通过将合并位流(开关程序+跳转程序+黄金位流+应用位流)写入到外部Flash芯片,利用远程升级程序更新应用位流。因此固化在外部Flash中的程序,无论是黄金位流还是应用位流都需要包含升级程序。黄金位流可以理解为一个保底程序,当更新应用位流出现问题时,FPGA可回退到黄金位流版本,重新进行应用位流的代码升级。应用位流在包含升级程序的同时,添加上用户自己设定的功能代码。Logos2系列的FPGA器件支持1~3个应用位流,本例程以一个应用位流为例进行演示,应用位流中的用户程序为流水灯实验。

309280f2-18d3-11f0-9434-92fbcf53809c.png*图1:代码准备

以盘古100Pro开发板demo为例,demo中提供了两个工程,分别为黄金位流对应的工程和应用位流对应的工程。用户后续只需对remote_update_applied工程中的用户程序进行修改即可。

30a4659c-18d3-11f0-9434-92fbcf53809c.png*图2:提供代码

第二步:sbit格式转换分别将黄金位流对应工程的sbit文件和应用位流对应工程的sbit文件进行转换,转为Flash的.sfc文件。

30b7a364-18d3-11f0-9434-92fbcf53809c.png

*图3:黄金位流工程sbit格式转换

30cd1cda-18d3-11f0-9434-92fbcf53809c.png*图4:应用位流工程sbit格式转换

第三步:合并位流将黄金位流文件和应用位流文件合并为一个合并位流文件。在Convert File Dialog界面中选择Generate Multi Revision File功能,正确选择器件类型(盘古50K为PGL50H,盘古100Pro为PGL100H)和位流类型(SPI Upgrade Data Stream),并勾选Enable Set Start Address选项。需要注意,应用位流的Start Address需要与两个工程中顶层文件设定的USER_BITSTREAM_ADDRESS一致。

30edf0d6-18d3-11f0-9434-92fbcf53809c.png3109a3b2-18d3-11f0-9434-92fbcf53809c.png*图5:盘古50K合并应用位流3119d30e-18d3-11f0-9434-92fbcf53809c.png312f6110-18d3-11f0-9434-92fbcf53809c.png*图6:盘古100Pro+合并应用位流

第四步:代码固化将生成的合并位流文件固化到外部Flash中。注意自己合并位流文件存放的位置,合并位流文件包含“_mul”后缀。

313ec6be-18d3-11f0-9434-92fbcf53809c.png*图7:合并位流固化

第五步:位流文件更新代码固化后,FPGA会自动加载应用位流程序(需要几十秒时间),显示流水灯。由于应用位流文件带升级程序,可以通过串口发送对应命令,实现应用位流文件更新操作。与升级程序相关的操作命令及返回值如下图所示。

3157a850-18d3-11f0-9434-92fbcf53809c.png*图8:操作命令及返回值

应用位流文件的升级步骤如下(注意发送和接收均需勾选十六进制表示):

1.上位机下发写位流使能命令,等待FPGA擦除开关程序和应用位流。本例程只定义了位流1的起始地址,因此发送写位流1使能(e7 e7 e7 e7 11),擦除完成FPGA发送给上位机完成命令(55 05 01)。

2. 上位机收到擦除完成标志后,发送新的应用位流文件(注意,此处是经过sbit格式转换得到的.sfc文件)和位流结束标志(7e 7e 7e 7e)。当上位机收到(55 05 10)则表示写应用位流完成,可进行下一步操作。可以读位流进行校验,也可以重复前两步操作,再次写位流文件。

3. 上位机下发读位流使能,读位流进行校验。这里发送读位流1使能(e7 e7 e7 e7 51),当校验完成后FPGA上报校验结果。(55 03 01)表示校验结果为正确,(55 03 00)表示校验结果错误。

4. 上位机发送打开开关使能命令,这里发送打开开关1使能(e7 e7 e7 e7 0e 41)。打开完成后,FPGA发送给上位机完成标志(55 05 04)。

5. 上位机下发热启动使能(e7 e7 e7 e7 04 01),加载新的应用位流。若上步的校验结果为错误,则加载黄金位流。

6. 若只是切换应用位流,不更新应用位流,其操作如下。

7.上位机下发单独擦除开关使能命令,擦除所有开关程序。擦除完成FPGA发送给上位机完成标志( 55 05 02)。

8. 上位机发送打开开关使能命令。打开完成后,FPGA发送给上位机完成标志(55 05 04)。

9.上位机下发热启动使能,加载新的应用位流。为了简化切换位流启动的流程,可关闭校验使能。

注:以上操作仅对深圳市紫光同创电子有限公司提供的《Logos2系列FPGA远程升级应用指南》文档的实际操作步骤进行补充说明。更多详细信息请查看紫光同创提供的应用指南及用户手册。


原文标题:【干货】基于串口的FPGA远程升级

文章出处:【微信公众号:小眼睛科技】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Altera Agilex 5 D系列FPGA和SoC家族全面升级

    Agilex 5 D 系列 FPGA 和 SoC 家族全面升级,为中端 FPGA 应用能力带来巨大飞跃——逻辑单元、内存、DSP/AI 算力提升高达 2.5 倍,外存带宽提升高达 2 倍,轻松驾驭功耗和空间受限环境中的高计算性能
    的头像 发表于 11-25 14:42 1105次阅读

    基于IAP功能实现远程升级,如何设计Flash双Bank热切换的回滚机制?

    基于IAP功能实现远程升级时,如何设计Flash双Bank热切换的回滚机制?
    发表于 11-21 07:26

    基于FPGA开发板TSP的串口通信设计

    本文详细介绍基于Terasic FPGA开发板TSP(又名C5P和OSK)和其板载CP2102N USB-UART桥接芯片的串口通信系统设计与实现。系统采用Verilog HDL编写UART收发控制器,通过CP2102N实现FPGA
    的头像 发表于 10-15 11:05 4157次阅读
    基于<b class='flag-5'>FPGA</b>开发板TSP的<b class='flag-5'>串口</b>通信设计

    基于FPGA开发板DE23-Lite的串口通信设计

    DE23-Lite开发板提供了一个UART通信接口(物理接口是下图的Type C接口),用户能够通过主机与Agilex 3 FPGA进行串口通信。
    的头像 发表于 10-15 10:57 3986次阅读
    基于<b class='flag-5'>FPGA</b>开发板DE23-Lite的<b class='flag-5'>串口</b>通信设计

    使用RTT的维护云进行远程固件升级(OTA),怎么没有网络升级的方式?

    使用RTT的维护云进行远程固件升级(OTA),怎么没有网络升级的方式的?只有蓝牙,近距离的固件升级。详细如图所示,只有蓝牙,没有连接互联网,通过固件上传服务器进行在线
    发表于 10-13 06:36

    学校做广播对讲系统干货分享

    SIP 广播对讲系统的干货: 一:系统优势 安装维护便捷:可利用校园现有网络,无需单独布线,终端设备通过网线连接,且支持远程配置、管理与升级,能大幅节省安装配置和管理的难度与成本。 功能丰富多样:除传统
    发表于 07-24 15:59

    ESP32通过OTA无线局域网远程升级下载程序

    本文介绍了ESP32通过OTA无线局域网远程升级固件的基本方法
    的头像 发表于 07-22 13:21 1480次阅读
    ESP32通过OTA无线局域网<b class='flag-5'>远程</b><b class='flag-5'>升级</b>下载程序

    通过工业网关实现串口设备远程上下载程序

    往往需要技术人员亲临现场,这不仅耗费大量时间和人力成本,还可能因交通、天气等因素导致维护延迟,影响客户生产。对此,物通博联提供工业智能网关接入串口设备的远程维护上下载程序的解决方案,为设备制造商提供高效可靠的售后运
    的头像 发表于 06-21 17:42 908次阅读
    通过工业网关实现<b class='flag-5'>串口</b>设备<b class='flag-5'>远程</b>上下载程序

    升级!功能更强大的串口I/O联网模块,ASK/OOK超外差无线射频模块

    ),转换为串口数据传输到组态软件或PLC,通过串口下发指令控制1/2/3/4路继电器开关输出(DO),实现远程采集控制功能的串口I/O联网模块(又称“
    的头像 发表于 06-05 19:32 946次阅读
    新<b class='flag-5'>升级</b>!功能更强大的<b class='flag-5'>串口</b>I/O联网模块,ASK/OOK超外差无线射频模块

    【经验分享】玩转FPGA串口通信:从“幻觉调试”到代码解析

    FPGA开发,思路先行!玩FPGA板子,读代码是基本功!尤其对从C语言转战FPGA的“宝贝们”来说,适应流水线(pipeline)编程可能需要点时间。上篇点灯代码解读了基础,而如果能亲手写出
    的头像 发表于 06-05 08:05 885次阅读
    【经验分享】玩转<b class='flag-5'>FPGA</b><b class='flag-5'>串口</b>通信:从“幻觉调试”到代码解析

    FOTA远程升级的10个关键点!技术小白必须收藏

    本文将针对FOTA升级过程中的十大常见问题提供专业解答,帮助您规避风险,实现安全高效的固件更新。 一、FOTA远程升级常见问题   01. 远程升级
    的头像 发表于 04-10 14:53 537次阅读
    FOTA<b class='flag-5'>远程</b><b class='flag-5'>升级</b>的10个关键点!技术小白必须收藏

    怎样选择合适的串口服务器?

    网络的桥梁,能够将串口数据透明传输到以太网或互联网,帮助用户实现设备远程监控、数据集中管理和智能化升级。然而,市场上串口服务器种类繁多,功能差异较大,如何选择一款适合自身需求的设备?本
    的头像 发表于 04-07 10:04 575次阅读

    STM32/GD32开发板基本串口RS232\\RS485通信及CAN接口 usbhid升级 U盘升级 sd卡升级升级学习方案开发板

    STM32F103/STM32F407/gd32F103/GD32F303开发板,例程用标准库开发。基本串口RS232\\RS485通信及CAN接口 usbhid升级 U盘升级 sd卡升级
    发表于 02-27 14:56

    新品发布:大彩高性能医用级串口屏DH系列12.1寸新品首发!

    支持类似安卓滚动、滑动特效;支持本地串口升级远程升级;
    的头像 发表于 01-21 10:54 844次阅读
    新品发布:大彩高性能医用级<b class='flag-5'>串口</b>屏DH系列12.1寸新品首发!

    PLC网关,plc远程通信 —— 跨越距离远程控制运维升级

    在日新月异的工业4.0时代,智能化、网络化已成为制造业转型升级的关键词。其中,PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其远程通信技术的突破,正引领着一场前所未有的工业变革。今天
    的头像 发表于 12-16 18:40 845次阅读
    PLC网关,plc<b class='flag-5'>远程</b>通信 —— 跨越距离<b class='flag-5'>远程</b>控制运维<b class='flag-5'>升级</b>