作者:周汝。
**:《电脑知识与技术·学术交流》2024年第14期。
摘要:在对现有的irl实现方案进行分析的基础上,提出了一种新的解决方案——基于fpga设备驱动的解决方案。该方案使用处理器控制方式结合嵌入式实时操作系统实现了通过互联网进行远程配置的功能,并且具有体系结构简单、跨平台、配置过程灵活快速、硬件成本较低等特点。
关键词:fpga;嵌入式系统;irl系统。
中图分类号:tp393文献标识码:a文章编号:1009-3044(2008)14-20954-02
1 引言。互联网可重配置逻辑irl(internet reconfigurable logic),是一种能够通过互联网对目标系统的硬件进行远程更新和动态重构的设计方法。这种远程动态重构技术最早由xinlinx等pld公司推出。
irl使公共网具备了现场更新、修复和修改远程硬件的能力,目前已经被许多网络设备采用,如数字电视、家庭网关、多功能机顶盒和路由器、交换机等网络中继设备等。采用irl可降低对设备的维护费用,设备提供商可通过基于internet的商业模式完成产品的更新换代与维护[1]。
基本的irl系统由host、upgrade portal、tcp/ip network和target四部分组成:
1)主机(host):主要应用各种设计工具产生fpga配置文件,并通过应用软件将配置文件(payload)传送到升级入口。
2)升级入口(upgrade portal):目标设备可以通过升级人口获取配置文件。
3)tcp/ip网络(network):是基于tcp/ip的网络,可以是互联网也可以是局域网,由irl系统软件提供一种基于tcp/ip的接口连接。
4)目标系统(target):是需要进行硬件升级的系统,即终端设备。该系统由微处理器、irl系统软件、嵌入式实时操作系统和可重构器件(如fpga)组成。
处理器与网络进行通信并与可重构器件连接。irl系统软件可在嵌入式实时操作系统的支持下对目标系统进行硬件升级[5]。
irl技术的研究在国内还不多见,只有少数科研机构做了理论方面的研究。在国际上也是刚刚起步,目前已经得到应用的irl方案主要有以下两种:
1)xilinx公司的p**e解决方案。p**e(pld api for vxworks embedded systems)是一个实现硬件**可升级系统的开发框架。它包含一个用作设备配置的应用程序接口(api)和一个在主机上与wind river的tornado集成开发环境一起使用的系统综合框架(sif)。
sif为创建和管理可升级的应用软件提供了强大而易用的框架;api则提供了c++开发支持及xilinx fpga配置的标准工具。两者综合使用,使得开发网络升级配置产品更加快速和高效[1]。
2)jbitstm解决方案。jbitstm是xilinx公司推出的用于配置fpga的j**a类库。利用该类库再结合用于嵌入式设备的jvm虚拟机,可以实现远程现场配置fpga,从而实现irl。
首先,用户程序在jvm和jbits类库的支持下生成可配置的二进制比特流文件,然后比特流文件**到fpga中实现现场重构。
这两种方案虽然可以实现irl的功能,但都存在硬件成本较高,配置速度慢、软硬件系统复杂的缺点。为此本文提出了基于fpga设备驱动的解决方案。该方案使用处理器控制方式结合嵌入式实时操作系统实现了通过互联网进行远程配置的功能,并且具有体系结构简单、跨平台、配置过程灵活快速、硬件成本较低等特点[6]。
2 基于fpga设备驱动的解决方案。
xilinx公司的两种irl平台都需要有一套复杂的软件系统(jbitstm或p**e framework)该系统将占用目标系统上大量资源,甚至需要有j**a虚拟机的支持。而嵌入式设备的板上资源是非常有限的,这无疑加大了irl系统所占系统资源的比重,并且增加了开发难度和周期。为此,可以采用一种不同的开发方法:
整个软件系统可划分为四个模块:
1)配置逻辑生成模块——该模块主要在主机端生成fpga配置文件,并将配置文件放到主机的升级入口。fpga配置文件采用的是svf(serial vector format)格式,它包含了fpga的数据和配置指令,本模块将生成该格式的fpga配置文件。
2)服务器到目标设备的配置文件**模块——即实现将主机端的配置文件写入fpga设备中。主机端的以太网口作为发送配置文件的通讯端口,目标端的以太网口可作为接收配置文件的通讯端口。该模块包括客户端程序和服务器端程序两部分,采用socket套接字方式实现目标板与主机之间fpga配置文件的传送。
该程序要在嵌入式实时操作系统的支持下运行[2]。
3)实现fpga映像装载的设备驱动模块——实现fpga映像的装载有硬件和软件两种方法。硬件的方法通过改变控制ram中的配置文件从而动态更新fpga逻辑电路:软件的方法由cpu模拟专用eprom对fpga进行配置。
[3]本系统中采用软件的方法,省去了fpga专用eprom的成本.而且硬件电路设计简单。在实现fpga装载的设备驱动程序时,将设备驱动程序和数据结构独立加以编译,成为“可安装模块”,只在需要fpga模块工作时才将fpga驱动模块安装入内核。将fpga的设备驱动程序加载到内核后,每次操作系统启动后会自动将flash中的映像文件载人fpga中,从而完成系统的自动配置[4]。
4)实现fpga映像快速装载的验证程序——该程序可直接将配置文件写入fpga的控制ram中.从而保证了配置过程的快速性,可以让用户提前看到新配置文件的效果。
除了以上四个模块,irl系统还需要嵌入式实时操作系统的配合,由嵌入式实时操作系统完成对fpga设备驱动程序的自动装载。
3 1rl系统的测试。
我们对采用基于fpga设备驱动方案的irl系统给出了测试,表1是使用3个不同配置文件进行远程配置的比较表。其中网络**时间为估算值。fpga配置的时间由公式得到。
arm微处理器主频为200mhz。每读4个字节的数据需要3个时钟,因此得到计算公式为:完成fpga配置的时间=配置文件大小*1024/4*3/200。
4 结束语。
本文介绍了irl的相关概念,在对现有的irl实现方案进行分析的基础上,提出了一种新的解决方案——基于fpga设备驱动的软件配置方案。本方案具有配置速度快、硬件成本低、fpga驱动模块可动态加载等优点,可满足当前对远程硬件升级的要求。在嵌入式实时操作系统的支持下,本系统可实现对可重构硬件的实时远程再配置。
irl技术的出现已引发可编程片上系统设计的革命,采用该技术,不仅可抢占市场先机,还可以适应标准的变化。系统可以在现场安装后进行升级和维护,可通过互联网对硬件进行远程升级。目前,基于irl的可升级设备的需求正在飞速增长,未来设备越来越多的要求具备可远程配置及适应性的功能。
参考文献:1] 徐欣,于红旗。 基于fpga的嵌入式系统设计[m].北京:机械工业出版社,2005.
2] 邹思铁。 嵌入式linux设计与应用[m].北京:清华大学出版社,2002.
3] 毛德操, 胡希明。 linux内和源**情景分折(上册)[m].杭州:浙江大学出版社,2001.
4] alessandrorubini, jonathan corbet. linux设备驱动程序[m].北京:中国电力出版社,2002.
5] cadambi,s. and goldstein, configuration profiling tool[j].ieee symposium on field-programmable custom computing machines,1999.
基于FPGA的嵌入式系统设计
技术分类 可编程器件嵌入式系统 2007 07 19 中电网徐欣。1 概述 1.1 fpga的特点及其发展趋势。嵌入式系统是一个面向应用 技术密集 资金密集 高度分散 不可垄断的产业,随着各个领域应用需求的多样化,嵌入式设计技术和芯片技术也经历着一次又一次的革新。虽然asic的成本很低,但设计周期长...
基于嵌入式系统键盘设计
课程名称 基于嵌入式系统键盘设计。专业班级。姓名。学号。批阅时间。指导教师成绩。在arm嵌入式应用中,人机交互对话最通用的方法就是通过键盘和lcd显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。1实例说明。在arm应用系统中,键...
基于嵌入式远程测控系统设计
前言。目前,大多数远程测控系统中,系统的硬件采用 8 16 位的单片机,软。件多采用汇编语言编程,该编程仅包含一个简单的循环处理的控制流程 单片。机与单片机 或上位机 之间的通信通过 rs232 rs485 或 can 总线来组成局域。网,再用 pc 机作为 web 服务器,与 internet 进...