电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:基于嵌入式系统和Internet的FPGA动态配置方案
来源:   时间: 2007-4-17 13:15:10    

在现今的数字系统设计中,以“嵌入式微控制器+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

在方案的验证实例中,使用基于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协议、使用嵌入式微控制器)符合现今数字系统设计的趋势,设计该配置方案的初衷正是基于这种设计理念,具有相当的实用性。
相关信息
发表评论
打印本页 关闭本页
Xilinx新版DSP开发工具提升DSP性能高达38%
    赛灵思公司(Xilinx,Inc.)日前宣布其DSP开发工具可将多速率DSP设计的Fmax性能提升高达38%,同时还大大提高了易用性。AccelDSP综合工具和SystemGeneratorforDSP工具9.2版的发布,使XilinxXtremeDSP解决方案的开发工具组件提供了更高的性能水平,同时两种工具间的集成也更为紧密,为同时使用MATLAB和Simulink建模环境的开发人员进一步简化了FPGA设计流程。   “新兴市场中没有传统FPGA...
>>详细内容
Xilinx 新版DSP开发工具可提升DSP性能达38%
    赛灵思公司(Xilinx,Inc.)今天宣布其DSP开发工具可将多速率DSP设计的Fmax性能提升高达38%,同时还大大提高了易用性。AccelDSP™综合工具和SystemGeneratorforDSP工具9.2版的发布,使Xilinx®XtremeDSP™解决方案的开发工具组件提供了更高的性能水平,同时两种工具间的集成也更为紧密,为同时使用MATLAB®和Simulink®建模环境的开发人员进一步简化了FPGA设计流程...
>>详细内容
基于RS232及红外接口的多功能通讯实验板的设计
  1 引言 计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS48...
>>详细内容
基于S3C44B0X μcLinux的嵌入式以太网设计
    随着半导体技术的飞速发展,嵌入式产品已经广泛应用于军事、消费电子、网络通信、工业控制等各个领域,网络化是嵌入式系统发展的必然趋势。嵌入式Linux 作为具有开放的源代码、优秀的网络性能、可裁减等诸多优点的操作系统,非常适合用于具有网络功能的嵌入式系统。本文介绍了以S3C44B0X 的ARM处理器和RTL8019AS 以太网控制器为基础的网络接口设计,并阐述了怎样在嵌入式操作系统μcL...
>>详细内容
Xilinx 宣布提前发售量产SPARTAN-3A DSP器件
  赛灵思公司宣布开始提供量产的Spartan™-3A DSP器件,比计划提早了一个月。Spartan-3A DSP平台可提供高达20 GMAC的性能,而价格却不到30美元,非常适合无线、视频监控、个人医疗和消费应用等低成本数据密集型领域的广泛应用。Spartan-3A DSP平台是赛灵思XtremeDSP™解决方案的一部分,XtremeDSP™解决方案为开发人员提供了包括可编程逻辑器件、IP、开发工具和第三方DSP生...
>>详细内容
关于三星S3C44B0X目标板的uClinux Bootloader
  uClinux是为控制领域设计的嵌入式Linux操作系统,它沿袭了主流Linux的大部分特性,并进行了一定幅度的裁减。其设计主要针对没有内存管理单元(MMU)的微处理器,例如基于ARM7TDMI内核的S3C44B0X。 嵌入式Linux系统通常由三部份组成:Bootloader、Kernel和File System。其中Bootloader是在系统启动之后、Kernel运行之前所执行的第一段代码,其任务是为调用Kernel准备必要的软硬件环境。由此...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com