通过数据通信网使现场可编程门阵列升级的终端和方法

文档序号:6423091阅读:199来源:国知局
专利名称:通过数据通信网使现场可编程门阵列升级的终端和方法
技术领域
本发明一般地涉及通过数据网络络使现场可编程门阵列的功能升级。
背景技术
随着新标准和软件版本日益加快发展,通过因特网进行软件升级成为了一种保持更新的实用方法。只要网络连接可用就可以进行下载并可进行推送或轮询。
正如可以下载和更新软件,通过因特网或其它合适的数据网络络连接也可以下载现场可编程门阵列(FPGA)的类似硬件的功能。
FPGA器件通常因FPGA所支持的并行操作对高速有利而被用于实时处理需求中,或者用于采用微处理器过于昂贵的较小的处理应用中。此外,FPGA具有较低的功耗。
众所周知,FPGA是组件器件,它包含标准化应用特定控制逻辑块(CLB)网络和可编程开关矩阵(PSM)。通过适当的设计过程可定制该器件的功能,这包括选取和布局步骤,其中,标识并选择各CLB的逻辑功能,并通过相应的PSM完成各CLB之间的适当布线。
由CeloxicaTM公司于2000年11月在www.celoxica.com上介绍的多媒体因特网接入终端演示应用NMT2000基于XilinxTMFPGA,它可通过Handel-C设计环境进行配置。该装置的概貌如图1所示。
以上装置包括对触摸敏感的LCD(液晶显示)屏、扬声器(SP)、音频驱动器(AD)、屏幕驱动器(SD)、麦克风(MIC)、本机端口(LP)、以太网(EthernetTM)端口(EN)和蓝牙(BluetoothTM)(BT)接口、两个现场可编程门阵列(FPGA1、FPGA2)、随机存取存储器(RAM)、非易失性存储器(FLASH),该装置提供诸如基于IP的话音通信和基于TCP/IP的MP3下载之类的功能。通过因特网可从服务器(SRV)下载新的硬件功能,以对上述应用重新进行配置。
现有技术文档“现场可升级的硬件和软件系统”和“前进(GoAhead)软件和Xilinx的使能技术”(2000年2月1日,http//www.xilinx.com/xilinxonline/partners/fuwhpaper.pdf)公开了这样一种可通过因特网进行升级的系统,该系统包括接口、微处理器、FPGA和三个非易失性存储器。
图2显示了上述系统。非易失性存储器1包含用于微处理器的固件。该系统经过设计,使得最后总是存在一种已知是好的FPGA配置。这是通过非易失性存储器2和3的冗余来实现的。在通常的事件序列中,开始总是从非易失性存储器2对FPGA进行配置。当请求升级时,将升级内容下载到非易失性存储器3中。然后,从该位置重新对FPGA进行配置。然后,用于控制对FPGA编程的程序将这两个存储区的功能切换为非易失性存储器3现在含已知的好配置,而非易失性存储器2则准备好包含下一次的升级内容。
在现有技术文档XAPP 151(v1.3)(2000年2月22日,by Xilinx)中,描述了VirtexTM系列FPGA的配置体系结构。该配置体系结构允许进行局部重新配置,所述局部重新配置涉及当使用包含混合的命令和数据的配置位流中的某个位单元时,可以单独访问和改变芯片内数据,而无需停止器件中已加载的功能。因此,如果FPGA中实现了不只一种功能,那么可检测或改变一种或多种功能而无不会干扰其它已执行的功能。这当然要求各功能是相互独立的。也可以将新功能加入到FPGA中,这意味着可以简单的方式延长设计的使用时间。
发明概述本发明试图提供一种效能成本合算的可重新配置终端。
此目的已通过权利要求1的主题取得。
另一个目的是进一步减少可重新配置终端的成本。
此目的已通过权利要求2的主题取得。
本发明的又一个目的是提出一种可靠地更新上述终端的装入模块的方法。
此目的通过根据权利要求4的主题的方法来取得。
其它优点将通过如下对本发明的详细说明而显露出来。


图1示出了现有技术的接入终端的框图,图2示出了现有技术的系统的框图,图3示出了依据本发明的终端的第一优选实施例,图4示出了依据本发明的终端的第二优选实施例,以及图5示出了图3所示的终端的操作流程图。
优选实施例的详细描述在图3中,示出了依据本发明的优选终端实施例TR。该终端包括至少能被划分为单独的第一功能块FPGAx和第二功能块FPGAy的现场可编程门阵列FPGA;非易失性存储器NVMEM如FLASHRAM(闪式随机存取存储器);至少一个最好采用IP和TCP协议组,通过数据网络与外部服务器(SRV)建立通信的接口(IF),如以太网接口或无线接口;以及操作单元(OPUT)。
例如,采用以可局部进行重新配置为特征的XilinxVirtexTM系列FPGA。
第一功能块FPGAx的任务是,通过最好采用IP(因特网协议)和TCP(传输控制协议)协议组的接口(IF)与外部服务器建立通信,以便进行连接和下载。使功能块FPGAx能够执行上述任务的装入模块或配置设定(configuration setting)(最初)存储在非易失性存储器NVMEM中,但此信息也可存储在单独的只读存储器(ROM)中。在本领域中,众所周知,上述功能可在现场可编程门阵列中实现。
第二功能块FPGAy的任务特定于具体应用。例如,功能块FPGAy和操作单元OPUT可涉及如图1所示的多媒体终端。在这种情况中,图3所示的操作单元OPUT可对应于如下功能屏幕驱动器SCD,音频驱动器AD,LCD显示器,扬声器SP和麦克风MIC。
FPGAy和操作单元OPUT的实际功能几乎没有穷尽。其它应用实例可能涉及相对复杂的工业应用,如用于移动通信的基站中央控制器或用于较简单的监测装置或仪器。能够处理各种音频、视频和游戏格式的消费者电子平台是另一种可能的应用。一般而言,所述功能可能涉及任何需要更新的装置。
对于一些专业应用如无线基站,使业务中断率维持在最低限度内是很重要的,因为业务中断相当于经营者的收入损失。因此,可以在短时中断或没有中断的情况下对操作单元进行更新和修复是很重要的。
配置设定或装入模块(B,B’,B”,B...)的各个版本要存储在非易失性存储器NVMEM中,以便加载到第二功能块中。
对终端TR进行配置,使得第一功能块FPGAx和接口IF形成第一实体,第二功能块FPGAy和操作单元OPUT形成第二实体。这些实体功能彼此独立。如果一个实体发生故障,另一个实体仍可运行。
如发明背景部分所述,FPGA至少被划分为两个单独的功能块。而且,所用的FPGA属于可局部重新配置类型,这种类型的FPGA使得能够将新的装入模块加载到FPGA的一个功能块中,同时另一功能块正在运行。
图4示出了本发明的实施例,其中存储器被划分为两个存储器。第一存储器NVMEM1专门服务于第一功能块FPGAx,而第二存储器NVMEM2则专门服务于第二功能块FPGAy。第一存储器是例如只读存储器,因此便不会影响与外部服务器建立连接的功能。这样就增强了安全性。
再次参照图3所示的实施例,凭借第一功能块FPGAx,通过接口IF,以某种方式从服务器SRV上将上述装入模块版本下载到非易失性存储器NVMEM中,所述方式将参照图5中所示的例程予以说明。
在步骤10中,终端TR上电或复位。
在步骤30中,将装入模块A和B0加载到各自相应的功能块FPGAx和FPGAy中。随后,在步骤25开始循环,定期向服务器SRV查询是否可获得新版本B,B’,B”的信息,如果可获得新版本,则将新版本下载到非易失性存储器NVMEM中。
最好不要更新非易失性存储器NVMEM中的功能A。原因是如果因某些原因如断电导致更新失败,则该功能将丢失且无法重新从服务器SRV上加载A的新版本。而更新B的过程中出现的问题则可以得到解决,因为功能A总能从服务器SRV加载B的新版本到非易失性存储器NVMEM中。
在从步骤40开始的子例程中,检查存储器NVMEM中是否有比第二功能块FPGAy中所执行的更新的B的版本可用。
如果在存储器NVMEM中有B的更新版本可用,则该例程由步骤50转到步骤110,在步骤110中,使第二功能块FPGAy复位。
如果在存储器NVMEM中没有B的更新版本可用,则该例程由步骤60进到步骤70,在步骤70中,在FPGAy中运行B的当前版本。
在步骤80中运行自检或错误测定程序。如果没有发现错误,并且发现利用其功能的当前版本B的FPGAy操作正常,那么该例程中继续使FPGAy运行并等待将B的更新版本加载到存储器NVMEM中。
如果发现FPGAy操作不正常,则该例程将进到步骤110,在步骤110中,停止FPGAy的操作并使其复位。
随后,在步骤120中,将B的当前版本加载到FPGAy中,然后该例程进到步骤40,从步骤40继续上述步骤。
同样的可升级功能当然还可能在两个单独的FPGA中实现。但是,通常来说,选择一个较大的FPGA比选择总容量与该大FPGA相等的两个小FPGA有更大的成本效能。本发明为FPGA可升级终端提供了这种优点。
权利要求
1.一种终端,包括至少能被划分为单独的第一和第二功能块(FPGAx,FPGAy)的现场可编程门阵列FPGA;存储器(NVMEM,NVMEM1,NVMEM2);至少一个最好利用IP和TCP协议组,通过数据网络与外部服务器(SRV)建立通信的接口(IF);以及操作单元(OPUT),其中所述现场可编程门阵列是可局部重新配置的,所述第一功能块(FPGAx)是通过第一装入模块(A)重新进行配置的,所述第一装入模块(A)包含涉及通过所述内部接口(IF)与外部服务器(SRV)建立连接的功能,所述第二功能块(FPGAy)是通过第二装入模块(B,B’,B”)重新进行配置的,所述第二装入模块(B,B’,B”)包含配合所述操作单元(OPUT)进行操作的专用功能,所述第二装入模块(B,B’,B”)定义所述第二功能块(FPGAy)的所述功能,所述第二装入模块(B,B’,B”)可通过所述第一功能块(FPGAx)从所述外部服务器(SRV)下载,其中,所述第一功能块(FPGAx)和所述接口(IF)在功能上与所述第二功能块(FPGAy)和所述操作单元(OPUT)相互独立,反之亦然,并且在对所述其它功能块重新配置时,所述第一功能块可在运行中。
2.如权利要求1所述的终端,其特征在于所述第一装入模块(A)和所述第二装入模块(B)均存储在所述存储器(NVMEM)中。
3.如权利要求2所述的终端,其特征在于所述存储器被划分为两个单独的存储器,由此,所述第一存储器(NVMEM1)专门服务于所述第一功能块FPGAx,而所述第二存储器(NVMEM2)则专门服务于所述第二功能块FPGAy。
4.在如权利要求1至3所述的系统中用于更新装入模块的方法,其特征在于将所述模块A和B0局部加载到各自相应的功能块(FPGAx,FPGAy)中,重复这样的子例程,其中定期将所述第二功能块的装入模块(B,B’,B”)的新版本下载到所述存储器(NVMEM,NVMEM2)中,检查所述存储器(NVMEM,NVMEM2)中是否有比所述第二功能块(FPGAy)中所执行的更新的所述第二功能块的装入模块(B,B’,B”)的版本可用,以及●如果其中有更新版本可用,则复位所述第二功能块(FPGAy),并局部加载所述B的新版本到所述第二功能块(FPGAy)中,并在所述第二功能块(FPGAy)中运行所述B的新版本;●如果其中没有更新版本可用,则在所述第二功能块(FPGAy)中运行所述B的当前版本。
5.如权利要求4所述的方法,其特征在于在所述子例程中,测试含所述第二功能块(FPGAy)的所述装入模块(B,B’,B”)的当前版本的所述第二功能块(FPGAy)是否正常运行,如果不是,则复位所述第二功能块(FPGAy),并当所述第二功能块的所述装入模块(B,B’,B”)的新版本可用时,将其局部地加载到所述第二功能块中。
全文摘要
提供了一种终端,这种终端包括可局部重新配置门阵列,即至少能被划分为单独的第一和第二功能块(FPGAx,FPGAy)的FPGA。该终端还包括非易失性存储器(NVMEM);至少一个最好采用IP和TCP协议组,通过数据网络与外部服务器(SRV)建立通信的接口(IF);以及操作单元(OPUT)。第一功能块(FPGAx)包含涉及与外部服务器(SRV)建立连接并从外部服务器(SRV)下载装入模块(B,B′,B″)的功能。第二功能块(FPGAy)包含配合操作单元(OPUT)操作的专用功能,所述装入模块(B,B′,B″)定义第二功能块(FPGAy)的功能,并可通过第一功能块(FPGAx)下载。
文档编号G06F17/50GK1529938SQ02812360
公开日2004年9月15日 申请日期2002年6月11日 优先权日2001年6月20日
发明者P·卡尔松, P 卡尔松 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1