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

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

3天内不再提示

基于FPGA的百变逻辑设计

gh_b555ac340b6b 来源:润欣科技Fortune 作者: 润欣科技创研社 2021-10-21 15:11 次阅读

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 程序的跳转完成固件升级操作。

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

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

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

流程图如下:

b3e57cb6-31fa-11ec-82a8-dac502259ad0.jpg

顶层结构图如下:

b442ad64-31fa-11ec-82a8-dac502259ad0.jpg

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

责任编辑:haq

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

    关注

    1592

    文章

    21207

    浏览量

    592173
  • 芯片
    +关注

    关注

    445

    文章

    47477

    浏览量

    407885
  • 存储
    +关注

    关注

    12

    文章

    3823

    浏览量

    84587

原文标题:【技术分享】基于FPGA的百变设计方案

文章出处:【微信号:gh_b555ac340b6b,微信公众号:gh_b555ac340b6b】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA开发从逻辑设计做起,结合软+硬+系统很重要

    FPGA大多是逻辑开发者,但只做逻辑的话局限性太大,而且现在的趋势也是FPGA软件话了,SDSOC就是证明。所以,我们应该提前扩充知识面,而且你会发现复杂软件设计和操作系统经验上有很多
    的头像 发表于 02-05 10:49 8582次阅读
    <b class='flag-5'>FPGA</b>开发从<b class='flag-5'>逻辑设计</b>做起,结合软+硬+系统很重要

    FPGA电路组合逻辑设计中的毛刺如何解决

    信号在FPGA器件中通过逻辑单元连线时,一定存在延时。延时的大小不仅和连线的长短和逻辑单元的数目有关,而且也和器件的制造工艺、工作电压、温度等有关。
    发表于 03-29 10:27 3281次阅读

    基于FPGA的除法器纯逻辑设计案例

    前边写了很多关于板上外围器件的评测文章,这篇是FPGA逻辑设计,是FPGA的另一部分——算法实现,上篇文章做了HDC1000传感器的使用,当时说FPGA是不支持小数的,本篇记述的是
    的头像 发表于 06-17 10:17 6548次阅读
    基于<b class='flag-5'>FPGA</b>的除法器纯<b class='flag-5'>逻辑设计</b>案例

    单片机与FPGA总线接口逻辑设计

    单片机与FPGA总线接口逻辑设计1、利用FPGA内部RAM存储256个字节数据,并将数据发送到单片机并在串口调试工具显示;2、通过串口调试工具经单片机发送数据到FPGA,并通过LED显
    发表于 03-04 13:09

    MCS-51单片机与FPGA接口的逻辑设计

    `MCS-51单片机与FPGA接口的逻辑设计.........`
    发表于 06-08 11:25

    要使用哪种方法去验证 FPGA逻辑设计

    要使用哪种方法去验证 FPGA逻辑设计FPGA的优缺点是什么?
    发表于 04-08 06:57

    FPGA逻辑设计中的常见问题有哪些

    图像采集系统的结构及工作原理是什么FPGA逻辑设计中的常见问题有哪些
    发表于 04-29 06:18

    FPGA逻辑设计中有哪些注意事项?

    请教各位,FPGA逻辑设计中有哪些注意事项?
    发表于 05-07 07:21

    如何利用FPGA芯片进行简化的PCI接口逻辑设计

    本文使用符合PCI电气特性的FPGA芯片进行简化的PCI接口逻辑设计,实现了33MHz、32位数据宽度的PCI从设备模块的接口功能,节约了系统的逻辑资源,且可以将其它用户逻辑集成在同一
    发表于 05-08 08:11

    如何去实现FPGA逻辑设计

    前言FPGA 可以实现高速硬件电路,如各种时钟,PWM,高速接口,DSP计算等硬件功能。这是Cortex-M 处理器软件无法比拟的。要实现FPGA逻辑设计,对于嵌入式系统工程师又是比较复杂和具有
    发表于 12-21 06:13

    基于FPGA的MDIO接口逻辑设计

    本文介绍了一种基于FPGA 的用自定义串口命令的方式实现MDIO 接口逻辑设计的方法,并对系统结构进行了模块化分解以适应自顶向下的设计方法。所有功能的实现全部采用VHDL 进行描
    发表于 12-26 16:48 103次下载

    多分辨率图像实时采集系统的FPGA逻辑设计

    多分辨率图像实时采集系统的FPGA逻辑设计
    发表于 08-29 15:02 6次下载

    基于单片机与FPGA的总线接口逻辑设计

    在很多应用中,单片机需要在片外扩展相关资源,如程序存储器、数据存储器、I/O口以及中断源等。随着可编程逻辑器件(PLD)及EDA技术的发展,在系统设计中经常会用到FPGA/CPLD来扩展单片机的相关
    发表于 11-23 09:37 3446次阅读

    6 FPGA LX75T FPGA开发方案

    的 Spartan-6 XC6SLX75T-3FGG676C FPGA,适合大容量的逻辑设计,以用户为中心的DSP设计以及高性价比的嵌入式应用如汽车娱乐系统,平板显示器,多功能打印机,机顶盒,家庭网
    发表于 02-18 16:03 926次阅读

    FPGA视频教程之FPGA设计中时序逻辑设计要点的详细资料说明

    本文档的主要内容详细介绍的是FPGA视频教程之FPGA设计中时序逻辑设计要点的详细资料说明免费下载。
    发表于 03-27 10:56 20次下载
    <b class='flag-5'>FPGA</b>视频教程之<b class='flag-5'>FPGA</b>设计中时序<b class='flag-5'>逻辑设计</b>要点的详细资料说明