基于FPGA的嵌入式系统设计
摘要:在对现有的IRL实现方案进行分析的基础上,提出了一种新的解决方案———基于FPGA设备驱动的解决方案。该方案使用处理器控制方式结合嵌入式实时操作系统实现了通过互联网进行远程配置的功能,并且具有体系结构简单、跨平台、配置过程灵活快速、硬件成本较低等特点。
关键词:FPGA;嵌入式系统;IRL系统
1引言
互联网可重配置逻辑IRL(InternetReconfigurableLogic),是一种能够通过互联网对目标系统的硬件进行远程更新和动态重构的设计方法。这种远程动态重构技术最早由Xinlinx等PLD公司推出。IRL使公共网具备了现场更新、修复和修改远程硬件的能力,目前已经被许多网络设备采用,如数字电视、家庭网关、多功能机顶盒和路由器、交换机等网络中继设备等。采用IRL可降低对设备的维护费用,设备提供商可通过基于Internet的商业模式完成产品的更新换代与维护[1]。
基本的IRL系统由Host、UpgradePortal、TCP/IPNetwork和Target四部分组成:
(1)主机(Host):主要应用各种设计工具产生FPGA配置文件,并通过应用软件将配置文件(payload)传送到升级入口。
(2)升级入口(UpgradePortal):目标设备可以通过升级人口获取配置文件。
(3)TCP/IP网络(Network):是基于TCP/IP的网络,可以是互联网也可以是局域网,由IRL系统软件提供一种基于TCP/IP的接口连接。
(4)目标系统(Target):是需要进行硬件升级的系统,即终端设备。该系统由微处理器、IRL系统软件、嵌入式实时操作系统和可重构器件(如FPGA)组成。处理器与网络进行通信并与可重构器件连接。
IRL系统软件可在嵌入式实时操作系统的支持下对目标系统进行硬件升级[5]。IRL技术的研究在国内还不多见,只有少数科研机构做了理论方面的研究。在国际上也是刚刚起步,目前已经得到应用的IRL方案主要有以下两种:
(1)XiLinx公司的PAVE解决方案。PAVE(PLDAPIforVxWorksEmbeddedSystems)是一个实现硬件在线可升级系统的开发框架。它包含一个用作设备配置的应用程序接口(API)和一个在主机上与WindRiver的Tornado集成开发环境一起使用的系统综合框架(SIF)。SIF为创建和管理可升级的应用软件提供了强大而易用的框架;API则提供了C++开发支持及XilinxFPGA配置的标准工具。两者综合使用,使得开发网络升级配置产品更加快速和高效[1]。
(2)JBitsTM解决方案。JBitsTM是XiLinx公司推出的用于配置FPGA的Java类库。利用该类库再结合用于嵌入式设备的JVM虚拟机,可以实现远程现场配置FPGA,从而实现IRL。首先,用户程序在JVM和JBits类库的支持下生成可配置的二进制比特流文件,然后比特流文件下载到FPGA中实现现场重构。
这两种方案虽然可以实现IRL的功能,但都存在硬件成本较高,配置速度慢、软硬件系统复杂的缺点。为此本文提出了基于FPGA设备驱动的解决方案。该方案使用处理器控制方式结合嵌入式实时操作系统实现了通过互联网进行远程配置的功能,并且具有体系结构简单、跨平台、配置过程灵活快速、硬件成本较低等特点[6]。
详情点击下载>>
关键词:FPGA;嵌入式系统;IRL系统
1引言
互联网可重配置逻辑IRL(InternetReconfigurableLogic),是一种能够通过互联网对目标系统的硬件进行远程更新和动态重构的设计方法。这种远程动态重构技术最早由Xinlinx等PLD公司推出。IRL使公共网具备了现场更新、修复和修改远程硬件的能力,目前已经被许多网络设备采用,如数字电视、家庭网关、多功能机顶盒和路由器、交换机等网络中继设备等。采用IRL可降低对设备的维护费用,设备提供商可通过基于Internet的商业模式完成产品的更新换代与维护[1]。
基本的IRL系统由Host、UpgradePortal、TCP/IPNetwork和Target四部分组成:
(1)主机(Host):主要应用各种设计工具产生FPGA配置文件,并通过应用软件将配置文件(payload)传送到升级入口。
(2)升级入口(UpgradePortal):目标设备可以通过升级人口获取配置文件。
(3)TCP/IP网络(Network):是基于TCP/IP的网络,可以是互联网也可以是局域网,由IRL系统软件提供一种基于TCP/IP的接口连接。
(4)目标系统(Target):是需要进行硬件升级的系统,即终端设备。该系统由微处理器、IRL系统软件、嵌入式实时操作系统和可重构器件(如FPGA)组成。处理器与网络进行通信并与可重构器件连接。
IRL系统软件可在嵌入式实时操作系统的支持下对目标系统进行硬件升级[5]。IRL技术的研究在国内还不多见,只有少数科研机构做了理论方面的研究。在国际上也是刚刚起步,目前已经得到应用的IRL方案主要有以下两种:
(1)XiLinx公司的PAVE解决方案。PAVE(PLDAPIforVxWorksEmbeddedSystems)是一个实现硬件在线可升级系统的开发框架。它包含一个用作设备配置的应用程序接口(API)和一个在主机上与WindRiver的Tornado集成开发环境一起使用的系统综合框架(SIF)。SIF为创建和管理可升级的应用软件提供了强大而易用的框架;API则提供了C++开发支持及XilinxFPGA配置的标准工具。两者综合使用,使得开发网络升级配置产品更加快速和高效[1]。
(2)JBitsTM解决方案。JBitsTM是XiLinx公司推出的用于配置FPGA的Java类库。利用该类库再结合用于嵌入式设备的JVM虚拟机,可以实现远程现场配置FPGA,从而实现IRL。首先,用户程序在JVM和JBits类库的支持下生成可配置的二进制比特流文件,然后比特流文件下载到FPGA中实现现场重构。
这两种方案虽然可以实现IRL的功能,但都存在硬件成本较高,配置速度慢、软硬件系统复杂的缺点。为此本文提出了基于FPGA设备驱动的解决方案。该方案使用处理器控制方式结合嵌入式实时操作系统实现了通过互联网进行远程配置的功能,并且具有体系结构简单、跨平台、配置过程灵活快速、硬件成本较低等特点[6]。
详情点击下载>>


