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

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

3天内不再提示

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

电子设计 来源:郭婷 作者:电子设计 2019-05-16 08:15 次阅读

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

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

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

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

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

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

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

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

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

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

2.1 方案综述

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

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

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

2.2 配置文件的传输协议TFTP

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

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

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

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

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

2.3 FPGA配置文件及配置流程

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

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

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

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

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


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

    关注

    48

    文章

    7552

    浏览量

    151409
  • FPGA
    +关注

    关注

    1629

    文章

    21736

    浏览量

    603270
  • 调制解调器
    +关注

    关注

    3

    文章

    854

    浏览量

    38812
收藏 人收藏

    评论

    相关推荐

    基于ARM和FPGA嵌入式数控系统设计

    本文提出一种基于ARM和FPGA嵌入式数控系统设计方案。该系统将ARM运行速度快、计算精度高的优点和FPGA内部逻辑的在线可重构性等特点相
    发表于 05-31 15:45 6448次阅读
    基于ARM和<b class='flag-5'>FPGA</b>的<b class='flag-5'>嵌入式</b>数控<b class='flag-5'>系统</b>设计

    FPGA设计五大优势 凸显工业应用灵活性

    本文介绍使用Altera®工业级FPGA作为协处理器或者芯片系统(SoC)解决方案,提高工业应用的灵活性。作为多种工业产品一个高度集成的平台,Altera
    发表于 10-28 10:29 8701次阅读

    嵌入式NVM提高电源管理的灵活性

    应用、更具有成本效益或通过集成小计数位(small bit-count)多次编程非易失性存储器(NVM)而提高了性能。此外,嵌入式NVM对提高可制造性、缩短上市时间及提高产品质量有所贡
    发表于 09-29 16:20

    Altera设计坊第一期如何通过FPGA提高工业应用灵活性

    的产品生命周期非常符合工业设备的长生命周期要求,能够稳定的供应器件?Q6:Altera为嵌入式工业设计人员提供了哪些开发工具? 文章下载:中文版本:通过FPGA提高工业应用灵活性的5种
    发表于 10-11 10:43

    如何去提高电源管理的灵活性

    有什么方法可以提高电源管理的灵活性吗?
    发表于 04-23 06:24

    求一种基于嵌入式系统InternetFPGA动态配置方案

    本文介绍了一种基于嵌入式系统InternetFPGA动态配置方案。该方案的提出,旨在基于系统
    发表于 05-07 06:43

    开放FPGA能否增加测试的灵活性

    在测试应用中使用FPGA的关键特性有哪些?开放FPGA能否增加测试的灵活性
    发表于 05-11 06:40

    嵌入式Linux的灵活性

    嵌入式Linux的灵活性,为嵌入式计算而设计的高效、节能的处理器的可用性,以及新处理器的低成本,使许多工业公司在嵌入式处理器的基础上开发新的产品成为可能。现在的工程师虽然可以用强大的工
    发表于 11-04 08:51

    一种基于嵌入式系统InternetFPGA动态配置方案

    摘要: 一种基于嵌入式系统和Inlternet的FPGA动态配置方案。详细介绍了该方案的设计思想,并给出了设计实例。与传统的FPGA
    发表于 06-20 10:37 462次阅读
    一种基于<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>和<b class='flag-5'>Internet</b>的<b class='flag-5'>FPGA</b>动态<b class='flag-5'>配置</b>方案

    嵌入式DSP模块和FPGA构架为基础的提高无线信号处理性能的子系统设计

    您可以显著提高无线系统中信号处理功能的性能。怎样提高呢?有效方法是利用FPGA结构的灵活性和目前受益于并行处理的
    发表于 07-17 11:48 851次阅读
    以<b class='flag-5'>嵌入式</b>DSP模块和<b class='flag-5'>FPGA</b>构架为基础的<b class='flag-5'>提高</b>无线信号处理性能的子<b class='flag-5'>系统</b>设计

    嵌入式Internet设计

    系统嵌入式Internet (Embedded Internet) :将嵌入式设备连接到Intern
    发表于 01-17 15:58 2次下载

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

    尽管 FPGA嵌入式设计带来了强大的功能与灵活性,但额外的开发流程也给设计工作增加了新的复杂性和限制问题。整合传统的硬件-FPGA-软件设计流程并充分利用
    发表于 01-02 15:29 1195次阅读

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

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

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

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

    fpga嵌入式的区别 嵌入式fpga开发有什么关系

    fpga嵌入式的区别 FPGA嵌入式系统在设计和应用上存在一些关键的区别,具体如下: 灵活性
    的头像 发表于 03-14 17:04 6900次阅读