一种基于嵌入式系统和Internet的FPGA动态配置方案
时间:09-14
来源:互联网
点击:
在现今的数字系统设计中,以“嵌入式微控制器+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。上述器件均具有同类产品的一般特性,因而这一设计实例并不验证的一般性。
如系统中包含可编程器件,就必须考虑其功能配置的问题。然而,传统的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。上述器件均具有同类产品的一般特性,因而这一设计实例并不验证的一般性。
- 蓝牙无线电调制解调器Siw1701原理与应用(02-19)
- 嵌入式移动数据库的关键技术(03-20)
- 在嵌入式SQL中怎样使用游标(08-12)
- 嵌入式Linux系统软件开发学习思路详细介绍 (08-20)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 嵌入式系统设计中的存储碎片收集策略(05-04)