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

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

3天内不再提示

基于嵌入式微控制器与FPGA通过配置的效率和灵活性

电子设计 来源:电子技术应用 作者:常青,李大军,乔 2021-06-19 17:32 次阅读

作者:常青,李大军,乔红宇,梅顺良

在现今的数字系统设计中,以“嵌入式微控制器+FPGA”为核心的体系结构因其强大的处理能力和灵活的工作方式而被广泛采用。嵌入式微控制器的优势在于将微处理器内核与丰富多样的外围接口设备紧密结合,在提供强大的运算、控制功能的同时,降低了系统成本和功耗,因而适合作为数字系统的控制核心;FPGA的优势在于超高速、丰富的逻辑资源以及用户可灵活配置的逻辑功能,适用于逻辑接口功能多种多样、灵活可变的场合。将二者结合形成优势互补,如有需要,再配以适当的专用芯片(例如音视频编解码器、数字调制解调器等)。这种体系结构适用于大多数复杂数字系统的设计。

如系统中包含可编程器件,就必须考虑其功能配置的问题。然而,传统的FPGA配置方案(例如调试阶段的专用下载电费方式、成品阶段的专用存储器方式)在成本、效率、灵活性等方面都存在着明显的不足。针对这样的实际问题,基于嵌入式微控制器与FPGA广泛共存于复杂数字系统的背景,考虑到大量数字系统要求接入internet的现状,借鉴软件无线电“一机多能”的思想,提出了一种基于嵌入式系统和Internet的FPGA动态配置方案。该方案的提出,旨在基于系统现有的、通用的软硬件资源,尽可能地提高FPGA配置的效率和灵活性。实践证明,该方案可行、实用,达到了设计目的。

1 FPGA配置的期基本问题及现有的解决方案

为轮述方便,将基于SRAM工艺的FPGA的配置流程用图1所示的模型表示。从图1中可以看到,FPGA的配置过程实质上是两次数据的传输过程(分别由配置数据源到时序控制器和时序控制器到目标FPGA)。因此,将这两次关键的数据传输作为FPGA配置的两个基本问题,并在下文中针对不同的传输方式讨论各自的优缺点,从而寻求合理的解决方案。

传统的配置方式包括应用于调试阶段的专用下载电费方式和应用于成员阶段的专用 非易失性存储器方式。在这两种方式中,上文所提到的两次数据传输完全由FPGA厂商所提供的软硬件完成。这样的解决方案确实方便了一般的FPGA用户,因为他们不必花费精力关心配置的细节,但同时也不得不面对不少的缺陷:首先,专用下载电费和专用非易失性存储器的成本非常高,虽然用户可以根据FPGA厂商提供的原理图自制下载电缆,但专用非易失性存储器是肯定无法自制的,而且有些不支持ISP(在系统可编程)的器件不定期必须配以合适的编程器,进一步增加了开发的成本;第二,常见的专用下载电费都是使用计算机并口产生串行的配置信号,而以并口线作为传输媒介,注定其有效传输距离非常有限;第三,专用非易失性存储器的配置方式决定了目标FPGA只能接收单一配置文件,即在系统运行过程中,FPGA不可能根据不同情况动态调整逻辑功能,这样的设计无法满足某些应用中对于系统灵活性的要求。

首先,专用下载电缆和专用非易失性存储器的成本非常高,虽然用户可以根据FPGA厂商提供的原理图自制下载电费,但专用非易失性存储器是肯定无法自制的,而且有些不支持ISP(在系统可编程)的器件还必须配以合适的编程器,进一步增加了开发的成本;第二,常见的专用下载电缆都是使用计算机并口产生串行的配置信号,而以并口线作为传输媒介,注定其有效传输距离信号,而以并口线作为传输媒介,注定其有效传输距离非常有限;第三,专用非易失性存储器的配置方式决定了目标FPGA只能接收单一配置文件,即在系统运行过程中,FPGA不可能根据不同情况动态调整逻辑功能,这样的设计无法满足某些应用中对于系统灵活性的要求。

针对上述各种缺陷,有人提出了改进方案,例如在系统中存在微控制器的前提下,用通用异步串口RS232替代专用的配置电缆、用通用的非易失性存储器替代专用的非易失性存储器。这些改进方案在一定程度上弥补了传统配置方案的不足,但也存在一些新的缺陷:通用异步串口的传输速率很有限,无法满足目前一些新的缺陷:通用异步串口的传输速率很有限,无法满足目前一些大规模FPGA的配置要求;传输距离虽有明显提高,但仍然无法满足某些用户对于远程、跨区域的测试、维护和更新的需要。

2 基于嵌入式微控制器和internet的解决方案

2.1 方案综述

本设计的目标是基于系统中已有的软硬件资源,尽可能提高FPGA配置的效率和灵活性。考虑到相当多的复杂数字系统:(1)包含微控制器(具有多个通用I/O)及其程序存储器; (2)具有接入Internet的能力(例如系统硬件中包含以太网接口,软件中移植了TCP/IP协议),提出一种新的FPGA配置方案,如图2所示。从图2中可以看出,这种方案的实质是将Internet作为传输配置数据的媒体,并用嵌入式微控制器的程序存储器存储这些数据,从而完成第一节中提到的第一次数据传输;在嵌入式微控制器的通用I/O上实现FPGA配置时序,从而完成第二次数据传输。

为验证这种方案的可行性和有效性,在船载自动识别系统(AIS)的设计中实现了该方案。相关的主要器件包括:CPU采用SAMSUNG公司的S3C44B0X;程序存储器采用MACRONIX公司的MX29LV160ABTC;FPGA采用XILINX公司的XC2S200PQ208;以太网控制器采用REALTEK公司的RTL8019AS。上述器件均具有同类产品的一般特性,因而这一设计实例并不验证的一般性。

2.2 配置文件的传输协议TFTP

[table][/table]

在方案的验证实例中,使用基于UDP的TFTP协议在以太网内传输配置文件,协议栈如图3所示。由于UDP属于不可靠的面向无连接的传输协议,因此在网络结构复杂的广域网上传输FPGA配置数据并不适合采用TFTP协议,而必须采用可靠的、基于TCP的应用层协议(例如FTP协议)。此处采用TFTP,完全是由于适应AIS的运行环境、简化性能测试的考虑,而且在应用层实现了部分TCP的功能(例如伪连接、简单的应答和重发、数据包排序等功能),可以保证数据传输的质量。

标准的TFTP(Trivial File Transfer Protocol)是一种基于UDP的、简单的文件传输协议。TFTP的设计目标是简单小巧且易于实现,因此远不如采用多重并发TCP连接的FTP功能强大(例如TFTP不支持目录列表和用户权限验证,而且传输效率比较低)。

TFTP的基本通信过程为:客户端向服务器发出读或写请求;如果服务器接收读写请求,正式的数据传输开始,每段数据长度固定为512字节;长度小于512字节的数据段标志传输结束。此外,协议中还规定了超时、重发等异常处理机制。

在具体实现中,将TFTP服务器(待配置FPGA所在的目标系统)设计成具有三个状态的状态机,其逻辑状态转移图如图4所示。PC机一端直接使用DOS下的TFTP命令。

2.3 FPGA配置文件及配置流程

用微控制器的通用I/O实现FPGA配置必须准确掌握:(1)配置文件的格式;(2)配置信号的时序。

一般来说,FPGA开发软件可以生成多种不同类型的配置文件,用户可以根据不同的应用环境选用这些配置文件。本设计采用.bin文件。值得注意的是,对于某一特定的芯片,无论设计简单或是复杂,其配置的数据的长度是固定的,但配置文件大小却因类型的不同而有所差异。

常见的FPGA配置模式包括主动串行模式、被动串行模式、被动并行模式和边界扫描模式等。为与常见的下载电费兼容并节约微控制器的I/O口线,本实现采用被动串行模式。图5为配置子程序的流程图。

基于微控制器和互联网的配置方案在传输速率、传输距离上较其他方案均有明显优势,同时又符合软件无线“一机多能”的设计思想,并能满足某些用户对于在线调试、更新和维护的需求。此外,必须看到,新方案在具备种种优势的同时,对用户设计的软件提出了一定的要求。事实上,完全具备这些软硬件条件(例如移植TCP/IP协议、使用嵌入式微控制器)符合现今数字系统设计的趋势,设计该配置方案的初衷正是基于这种设计理念,具有相当的实用性。

责任编辑:gt

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

    关注

    48

    文章

    7471

    浏览量

    150962
  • 嵌入式
    +关注

    关注

    5065

    文章

    18998

    浏览量

    302640
  • FPG
    FPG
    +关注

    关注

    1

    文章

    54

    浏览量

    79938
收藏 人收藏

    评论

    相关推荐

    STM32嵌入式微控制器快速上手

    STM32嵌入式微控制器快速上手 经典教材
    发表于 08-15 19:57

    STM32嵌入式微控制器快速上手

    STM32嵌入式微控制器快速上手
    发表于 06-01 12:21

    IoT设备中嵌入式微控制器的安全机制介绍

    IoT设备中嵌入式微控制器的安全机制
    发表于 02-22 06:19

    嵌入式Linux的灵活性

    嵌入式Linux的灵活性,为嵌入式计算而设计的高效、节能的处理的可用性,以及新处理的低成本,使许多工业公司在
    发表于 11-04 08:51

    嵌入式微控制器和微处理

    嵌入式微控制器(通常称作单片机)和微处理作为各种电子产品的核心器件,不仅应用在航空、航天、工业和汽车领域,还广泛应用在各种民用产品中。力源为您提供多家国际知名品牌公司的嵌入式微控制器和微处理
    发表于 03-02 01:19 115次下载

    基于嵌入式系统和Internet提高FPGA配置效率灵活性

    在现今的数字系统设计中,以“嵌入式微控制器+FPGA”为核心的体系结构因其强大的处理能力和灵活的工作方式而被广泛采用。
    的头像 发表于 05-16 08:15 1527次阅读
    基于<b class='flag-5'>嵌入式</b>系统和Internet提高<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>的<b class='flag-5'>效率</b>和<b class='flag-5'>灵活性</b>

    嵌入式微控制器实验任务书

    嵌入式微控制器实验任务书。
    发表于 03-25 11:14 2次下载

    嵌入式微控制器技术实验任务书(附程序和仿真图)

    嵌入式微控制器技术实验任务书(附程序和仿真图)(嵌入式开发需要用什么语言)-该文档为嵌入式微控制器技术实验任务书(附程序和仿真图)讲解文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
    发表于 07-30 15:16 7次下载
    <b class='flag-5'>嵌入式微控制器</b>技术实验任务书(附程序和仿真图)

    嵌入式微控制器应用中的无线(OTA)更新方案

    电子发烧友网站提供《嵌入式微控制器应用中的无线(OTA)更新方案.pdf》资料免费下载
    发表于 11-22 16:18 0次下载
    <b class='flag-5'>嵌入式微控制器</b>应用中的无线(OTA)更新方案

    嵌入式微控制器应用中的无线(OTA)更新:设计权衡与经验教训

    电子发烧友网站提供《嵌入式微控制器应用中的无线(OTA)更新:设计权衡与经验教训.pdf》资料免费下载
    发表于 11-23 16:01 0次下载
    <b class='flag-5'>嵌入式微控制器</b>应用中的无线(OTA)更新:设计权衡与经验教训

    FPGA嵌入式设计带来了强大的功能与灵活性

    解决之道。 随着 FPGA 技术逐步延伸至军事电子系统以及嵌入式电子产业的几乎全部领域,能发挥可编程逻辑优势的应用已经占据主流地位。通信、机载和控制系统尤其受益于 FPGA 的设计
    的头像 发表于 12-07 09:35 479次阅读

    嵌入式微处理器嵌入式微控制器的区别

    嵌入式微处理器嵌入式微控制器在多个方面存在显著的区别。
    的头像 发表于 03-29 11:44 1444次阅读

    嵌入式微控制器的自动代码生成

    然而,在工作中,电气工程师经常被分配对嵌入式微控制器进行编程的任务,这是有充分理由的:他们在如何控制电力电子电路方面拥有经验,并且了解整个系统的要求。此外,他们对微控制器的片上外设(例如 PWM 发生
    发表于 05-03 17:33 405次阅读
    <b class='flag-5'>嵌入式微控制器</b>的自动代码生成

    嵌入式微控制器嵌入式微处理器的联系

    嵌入式微控制器嵌入式微处理器嵌入式系统领域中都扮演着至关重要的角色,它们之间存在着紧密的联系,同时也各具特色。以下是对两者联系及特点的详细探讨。
    的头像 发表于 08-22 10:50 579次阅读

    嵌入式系统中微控制器与微处理的区别

    嵌入式微控制器已成为我们日常接触的众多设备背后的无声指挥者。从用于烹饪食物的微波炉到监测健康的智能手表,微控制器确保这些设备能够精准、可靠地运作。本文的目的是揭示嵌入式微控制器的世界,帮助读者理解
    的头像 发表于 10-14 11:02 293次阅读
    <b class='flag-5'>嵌入式</b>系统中<b class='flag-5'>微控制器</b>与微处理<b class='flag-5'>器</b>的区别