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

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

3天内不再提示

基于FPGA的百变设计方案分享

润欣科技Fortune 来源:润欣科技 作者:润欣科技Fortune 2021-10-19 16:16 次阅读

FPGA方案

随着一款产品在研发阶段的日渐成熟,实现的功能也日趋复杂化和多样化,对产品功能实现重定义的应用需求也在日益加大。产品功能重定义就是在不改动设备硬件设计的前提下,通过更改FPGA的程序文件,达到产品功能重定义的方法。

一般的产品在设计时,研发会按照产品的定义完成功能代码的开发,然后用JTAG接口进行烧录、调试,但是等产品上线时,所有的固件就会被固化,并且因为JTAG接口过于笨重,我们一般是不保留该接口;所以也无法在产品完成固化后进行重新烧录进行重定义的操作。

目前也有一些应用方案会使用BLE/WIFI SOC+存储芯片的架构,BLE/WIFI SOC负责存储芯片的读写,存储芯片作为FPGA的程序代码存储器,工作时,BLE/WIFI SOC将存储芯片中的数据读出,并按照特定时序(FPGA加载时序)发送到FPGA,此过程即为FPGA的数据加载流程,如果需要升级功能,通过无线进行远程OTA升级。而本方案是无需其它芯片参与的情况下通过逻辑设计和UART口进行产品功能的重定义。

逻辑设计

本方案的核心就是双启动,其中区域1为固化区域,此区域非功能区域,而是负责区域2的管理,其中区域2为功能区域,每次的功能重定义就是对区域2的刷新。区域2的刷新通过PC和串口调试助手模拟上位机,传输工程的 Bin文件到 fpga启动配置的 Flash中,实现两个存储到 flash程序的跳转完成固件升级操作。

poYBAGFuNmeAGWHWAAApjpDSSHU371.png

设置两个区域,第一个区域执行程序1,完成对区域2的管理和升级工作。第二个区域的程序2是我们用户设计的功能程序或者说产品程序。在 FPGA启动中,如果我们不升级区域 2的程序,那么自动通过 ICap接口跳转到区域2的程序中。区域1起始地址 0x0,区域2起始地址 0x0100000。

在本方案中,设计区域1的程序实现的功能为:上电后自动加载此程序,此时开始计时如果 20秒内没有检测到串口发送的擦除指令,那么我们启动 icap跳转,跳转到区域 2程序中。

如果希望再次升级的话必须重新给板卡上电使得程序回到区域1中。

流程图如下:

pYYBAGFuNm6AAxuYAABL4KurHUE228.png

顶层结构图如下:

poYBAGFuNneAPQ8yAABWBOSaRsk117.png

FPGA uart接收模块,接收上位机发送的数据,并实现波特率为115200的uart协议的串行数据到并行数据的转换,将数据发送至flash_ctrl模块,Flash_ctrl模块是flash的控制模块,该模块自定义了一个简单的协议,根据uart指令来控制flash的擦除、读、写,协议包括三种数据包来对应相应的指令,再将数据发送至对应的模块;而由flash擦除、读、写三个模块处理的数据返回后经过uart_tx模块返回上位机,本文中即返回PC机串口模块。
编辑:YYX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    445

    文章

    47496

    浏览量

    407910
  • 上位机
    +关注

    关注

    26

    文章

    843

    浏览量

    53971
收藏 人收藏

    评论

    相关推荐

    基于FPGA的时序分析设计方案

    时钟的时序特性主要分为抖动(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3点。对于低速设计,基本不用考虑这些特征;对于高速设计,由于时钟本身的原因造成的时序问题很普遍,因此必须关注。
    发表于 11-22 09:29 367次阅读
    基于<b class='flag-5'>FPGA</b>的时序分析<b class='flag-5'>设计方案</b>

    基于FPGA的智能小车设计方案

    小车具备温湿度和环境监测、无线通信、躲避障碍物以及无线遥控等功能。此智能监控机器小车与目前已有的同类设计相比,有性价比高、操作方便、可靠性好、功耗小等优点。
    发表于 02-03 10:54 8790次阅读

    基于MAX1951实现Stratix II FPGA系统供电的设计方案

    Stratix II是ALTERA公司生产的一款高性能FPGA器件。它采用TSMC的90 nm低k绝缘工艺技术生产,等价逻辑单元(LE)高达180 k,嵌入式存储器容量达到9 MB。该器件不但具有
    发表于 12-10 11:42 1372次阅读
    基于MAX1951实现Stratix II <b class='flag-5'>FPGA</b>系统供电的<b class='flag-5'>设计方案</b>

    基于FPGA的低功耗设计方案

    整个FPGA设计的总功耗由三部分功耗组成:1. 芯片静态功耗;2. 设计静态功耗;3. 设计动态功耗。
    发表于 11-24 20:46 1030次阅读

    FPGA时钟内部设计方案

    组合逻辑产生的时钟可能有毛刺,会被错误地当成有效时钟边沿,在设计中会导致功能错误。因此,不要使用组合逻辑的输出作为时钟。
    发表于 01-22 09:30 180次阅读
    <b class='flag-5'>FPGA</b>时钟内部<b class='flag-5'>设计方案</b>

    基于cyclone EP1C6的LED 屏设计方案

    介绍了一种基于FPGA 的LED 大屏设计方案,采用自顶向下的设计思想,设计了基于FPGA 的双口RAM 和扫描控制电路,解决了传统LED 大屏设计中,控制系统复杂﹑可靠性差的问题。关键
    发表于 06-15 09:34 26次下载

    一种基于Flash型FPGA的高可靠系统设计

    本文以星载测控系统为背景,提出了一种基于Actel Flash FPGA 的高可靠设计方案。采用不易发生单粒子翻转的Flash FPGA 芯片,结合FPGA 内部的改进型三模冗余、分区
    发表于 01-20 14:35 21次下载

    采用VC++程序的FPGA重配置设计方案

    采用VC++程序的FPGA重配置设计方案利用现场可编程逻辑器件FPGA的多次可编程配置特点,通过重新下载存储于存储器的不同系统数据
    发表于 04-14 15:14 586次阅读
    采用VC++程序的<b class='flag-5'>FPGA</b>重配置<b class='flag-5'>设计方案</b>

    基于cyclone EP1C6的LED大屏方案

    介绍了一种基于FPGA 的LED 大屏设计方案,采用自顶向下的设计思想,设计了基于FPGA 的双口RAM 和扫描控制电路,解决了传统LED 大屏设计中,控制系统复杂﹑可靠性差的问题。
    发表于 03-02 16:48 34次下载
    基于cyclone EP1C6的LED大屏<b class='flag-5'>方案</b>

    抢食移动应用 莱迪思急推FPGA创新设计方案

    莱迪思(Lattice)将于2013年1月在消费电子展上展示专为移动应用创新而设计的FPGA(Lattice的iCE40和MachXO2 FPGA)解决方案
    发表于 12-04 13:43 984次阅读

    fpga设计与应用:智能小车设计方案

    整个系统由发送端(智能小车部分)和接收端(控制台:控制和显示部分)组成
    发表于 05-17 14:09 4146次阅读
    <b class='flag-5'>fpga</b>设计与应用:智能小车<b class='flag-5'>设计方案</b>

    利用P89C61X2单片机配置FPGA,提供更优的设计方案

    )方式、被动并行异步(PPA)方式、被动串行异步(PSA)方式及边界扫描(JTAG)方式。这些模式由FPGA上的两个模式选择引脚MSEL1和MSEL0上的电平来决定。
    的头像 发表于 08-16 08:04 1968次阅读

    基于高速FPGA的PCB设计方案

    绝大多数PCB是精通PCB器件的工作原理和相互影响以及构成电路板输入和输出的各种数据传输标准的原理图设计师与可能知道一点甚至可能一点也不知道将小小的原理图连线转换成印刷电路铜线后将会发生什么的专业版图设计师相互合作的成果。通常,对最终电路板的成败负责的是原理图设计师。但是,原理图设计师对优秀的版图技术懂得越多,避免出现重大问题的机会就越多。
    发表于 05-29 13:52 941次阅读
    基于高速<b class='flag-5'>FPGA</b>的PCB<b class='flag-5'>设计方案</b>

    基于FPGA的TDC延时设计方案

      采用FPGA的CARRY4进位单元,每个CARRY4的COUT连接到下一个CARRY4的CIN,这样级联起来,形成延时链;每个COUT做为抽头输出到触发器,通过本地时钟进行数据采样。假定每个延时
    的头像 发表于 02-16 16:21 5606次阅读
    基于<b class='flag-5'>FPGA</b>的TDC延时<b class='flag-5'>设计方案</b>

    关于FPGA 脉动阵列的设计方案解析

    脉动阵列:数据流同步流过相邻的二维阵列单元的处理器结构,一般不同方向流过不同数据。
    发表于 01-17 10:34 1004次阅读