账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
家庭网路产品进阶开发
Internet Reconfigurable Logic 升级架构

【作者: Stacy Fender】2002年03月05日 星期二

浏览人次:【2466】

Internet Reconfigurable Logic(IRL)是一套能从远端进行硬体更新作业,同时确保装置的可靠度与升级能力的系统设计模式。 FPGA 代表的「现场编程」本身就是透过新的位元资料流进而变更装置的功能。 IRL便是充份发挥这项功能的优点,为位处在远端的硬体提供新的位元资料流与软体驱动程式。


本文将介绍有关IRL系统的一些基本观念、开发IRL系统的细部设计考量因素、以及就高层次的角度审视让各种嵌入型系统能顺利升级的PAVE架构。


介绍

FPGA、快闪记忆体装置及网路环境的出现,提供储存各种位元资料的理想方法,使产品送交至最终顾客后仍能对硬体装置进行升级。运用IRL架构所开发的系统,可从远端升级软体、驱动程式、韧体、以及硬体装置。


在系统中融入现场升级能力的理由包括:


相容性

产品经常须与其它厂商的产品进行整合,但在产品出货之前并无法测试所有可能发生的产品搭配状况。若系统能支援IRL技术,业者就能以最低的成本解决相容性的问题。


产品上市时程

硬体在尚未发展完整功能时就能尽快出货。因为完整的功能必须耗费更长久的时间,故可先将产品出货,日后再进行新功能的升级作业。


设计修正

若产品在送交给最终顾客后发现瑕疵,透过现场升级的功能,可避免退货、回收、到府服务、以及顾客抱怨等问题。


效能升级

工程研发团队发展出最佳化的演算法与资料通道之后,即可提升系统的效能。


何谓URL?

IRL是一种系统设计模式,能透过网路针对目标系统中的硬体与软体进行修改与升级作业,不需由服务人员或使用者直接进行变更动作。这种模式在设计程序方面是指开发具备IRL支援能力的产品。 IRL让系统能同时升级多组系统,若有需要亦能让系统回复至原先的状态。


典型的IRL系统包括:


‧ 一组32位元处理器配备TCP/IP网路连线技术。目前业界中的范例就是单机板电脑(Single Board Computer; SBC),一般都采用CompactPCI与VME建置技术。


‧ 即时作业系统 (Real Time Operating System; RTOS) 例如像WindRiver Systems的VxWorks


‧ Xilinx PAVE (PLD API VxWorks Embedded) 架构


当厂商开发出升级方案时,即可将更新程式传送至目标装置,由PAVE API负责执行升级作业。例如,一部支援IRL技术的系统,能自动执行升级动作,并能在升级过程中自动启动电源。


IRL系统的元素

开发一套支援IRL技术的系统需要特殊的硬体与基础架构元件,让远端系统能执行修改作业。如(图一)所示,IRL系统中包含多套元件。


《图一 网络编程逻辑系统的功能区块图》
《图一 网络编程逻辑系统的功能区块图》

图中主机(Host)指的是硬体/软体设计环境,FPGA位元资料与应用软体就是透过这个环境进行开发,其中包括Xilinx设计工具、RTOS建构环境(例如像WindRiver System公司的Tornado)配合开发应用软体、以及PAVE系统整合架构(System Integration Framework; SIF),负责整合所有开发作业。


当升级方案开发完成后,组装成一组更新资料(Payload)传送至系统端进行升级作业。 PAVE架构内含多套工具,让各世代的更新资料能在主机建立新的环境。


升级入口网站(Upgrade Portal)是负责取得更新资料的目标通讯点,这个网站可以是在业者的网域中,或由顾客负责操作管理。


图一所示的网路(Network)可以是任何支援TCP/IP协定的网路:例如像内部网路、区域网路、虚拟私有网路(VPN),或什至是公众网际网路。使用的网路种类视业者的安全需要以及最终产品能使用的连线种类而定。 PAVE能执行基本的TCP/IP socket连线,若有需要业者亦可研发其它增进防护能力的通讯协定。


目标(Target)系统是指需要硬体与/或软体升级的系统。这类产品会送至远方顾客的所在地。支援IRL技术的目标系统必须配备有一组处理器负责执行使用者的应用软体、PAVE API(PAVE架构的元件)、RTOS客户端程式(例如像WindRiver System的VxWorks)、以及FPGA。处理器负责控制网路与FPGA之间的连线。 PAVE API软体介面则负责种类使用者嵌入软体的升级作业。


(图二)是一套典型的更新资料架构。由于硬体变更通常须藉由新驱动程式来进行,故亦将软体部份纳入更新资料架构,让驱动程式能与硬体同步更新。此外,在目标系统中执行的应用程式亦能同时更新。



《图二 更新数据(Payload)示意图》
《图二 更新数据(Payload)示意图》

若将(图一)所示的功能区块扩大来看,实际运作环境中的IRL系统便是类似(图三)所示。在这里有一组目标系统处理器、一组系统或周边汇流排、以及FPGA元件。处理器负责执行使用者的应用程式、PAVE API、以及WindRiver RTOS作业系统。另一方面,升级入口网站执行一组PAVE客户端程式,与目标系统中的PAVE伺服器相互通讯。更新程式会从主机透过更新入口网站与网际网路传送至目标系统,在传抵目标系统后,PAVE伺服器与API会负责执行预定的系统更新作业。



《图三 运作中的IRL系统》
《图三 运作中的IRL系统》

主机、升级入口网站,以及网路观念

升级程序的第一步为开发新的FPGA设计方案与相关的软体驱动程式,之后再测试适合的环境。当升级方案准备好传送至运作系统时,厂商业者可利用PAVE提供的工具制作更新程式(payload)。


组装完更新程式后,研发者将发布至升级入口网站(Upgrade portal),类似在网路上公布档案的方式。当更新程式发布至升级网站时,可透过两种主要模式将更新程式传送至目标系统。


主动发送

如(图四)所示,主动发送(Push)类似广播模式,更新程式由升级网站传送至每个目标系统。这种模式让升级网站能控制更新的流程并确保所有系统都能收到更新程式。


要求下载

如(图五)所示,要求下载(Pull)类似FTP模式,目标系统主动联络升级网站,检查是否有新的更新程式。若有,则由目标系统要求入口网站传送该程式。


《图四 将更新数据(payload)主动推送至目标端》
《图四 将更新数据(payload)主动推送至目标端》
《图五 将更新数据从升级入口网站下载至目标端》
《图五 将更新数据从升级入口网站下载至目标端》

使用者应仔细考虑使用主动发送或是要求下载模式,以确保升级程序不会干扰使用者系统的作业。高可用度系统的经营业者,如:电信服务厂商,亦可经营升级网站;在这种情况下主动发送模式较能完全掌控整个更新流程,而低价消费性产品的使用者无法控制升级网站,使用者较倾向于能选择是否要进行更新;在这种情况下要求下载模式应是最佳的选择。若更新程式必须付费,升级网站必须对使用者进行验证,以确认对方已购买升级方案。


目标软体概念

(图六)是目标系统执行软体堆叠的模式图示。在最上层的是使用者应用程式,而搭配应用程式同时运作的是PAVE API以及储存更新程式的伺服器。


在第二层的PAVE API负责为顾客的C++应用程式提供系统呼叫程序,以执行重新设定的相关流程。消费者应用程式与API皆负责与RTOS搭起沟通介面。


堆叠中的第三层为WindRiver RTOS作业系统。 VxWorks为Tornado II嵌入型研发平台的执行(run-time)元件,并扮演目标系统的作业系统的 "核心"。 PAVE与VxWorks RTOS两者直接搭配作业。


机板支援组件(Board Support Package; BSP)位于堆叠中的第四层,为处理器与RTOS的通讯介面。在RTOS中执行的每种SBC都需要机板支援组件,以便将处理器从RTOS中抽离出来。系统采用的BSP必须配合RTOS以及嵌入处理器。 PAVE预设系统中存在BSP。


《图六 目标软件堆栈》
《图六 目标软件堆栈》

目标硬体概念

处理器耦合(Processor ​​Coupling)

在嵌入产品市场,处理器搭配的汇流排称为处理器区域汇流排(Process Local Bus; PLB),直接从处理器与像是PCI这类的嵌入系统汇流排(Embedded System Bus; ESB)接出传输线路,且通常需要搭配一组桥接或主控(host)晶片,负责串连系统汇流排与次汇流排。 PLB的种类与处理器有直接关连,且不像PCI这般的标准化。注意不要将"嵌入系统汇流排"与 "系统汇流排"相混淆,在使用架构中广泛使用的系统汇流排名称指的是PLB。透过USB串联处理器的模式被视为松散耦合(Loosely coupled),而透过PLB连线则属于紧密耦合(Tightly coupled)。图7即显示两种不同处理器耦合的范例模式。


直至最近,各种先进处理器(32位元)仅能透过处理器厂商提供的桥接晶片进行存取。这种模式导致系统必须采用多组晶片进行连线,如此不但增加效能表现的瓶颈、耗用机板空间与电力,设计成本也将因而增加。如今,利用可编程逻辑技术,业者可直接存取处理器区域汇流排,摆脱多晶片的束缚,同时提高新设计方案中PLB紧密耦合的重要性。



《图七 处理器耦合》
《图七 处理器耦合》

双缓冲区

FPGA 位元资料流通常储存在快闪装置(其中包括Xilinx XC1800系列装置),这类元件若在写入资料时遭遇电源异常状况,就会产生许多问题。 IRL在硬体中融入相关的设计,使元件在升级程序中不会受到电源中断的影响,其目的就是任何运作中硬体都不会发生故障。


IRL支援硬体为了因应这方面的需求,必须采用双缓冲区设计。其中一项范例就是采用预设组态元件搭配储存更新资料的第二组态。预设组态除了出厂时的设定之外,永远不会更新或变更。第二储存位置能支援更新作业,而预设元件则无法加以变动。双缓冲区能确保硬体能可靠地进行更新作业。


回复(Rollback)机制是指系统能重回至更新前的状态(可能是预设状态)。系统中若有容纳两组以上组态的空间(例如使用快闪晶片),就能回复至原先安装的良好更新状态。


IRL 范例

介绍完IRL设计模式的观念后,接着我们将提出几项实际范例,阐述如何使用PAVE建置一套IRL目标系统。


基本的IRL支援系统

(图八)显示一套支援IRL技术的系统,内部配备有一组处理器、FPGA、以及多组FPGA组态储存区。处理负责与FPGA进行通讯,在设定完成后亦负责更新PROM。桥接元件中的暂存器能储存新收到的资料流,并透过JTAG控制器将资料写入PROM。



《图八 两个PROM系统范例》
《图八 两个PROM系统范例》

标示「预设」值的PROM为出厂时的良好状态。预设值不应进行现场更新,因为它提供的基本组态让硬体在升级程序中一旦发生故障时仍可回复至可运作的状态。这种设计可保护硬体不致因电源中断、顾客或技术人员的疏失、以及任何故错误导致硬体无法运作(以及无法升级)。为防止使用者自行更新PROM,用户永远都能回复至升级失败前的状态,出厂时预设PROM的JTAG跳线设计可让PROM的内容除了在生产过程外,都无法进行变更。可更新型PROM可透过FPGA中的JTAG控制器进行变更。在遇到仅有两个储存位置时,更新程式永远会覆写旧版的更新程式。


选取逻辑与非易变性储存(Non-volatile storage; NVS)负责判断要使用那组PROM,若在载入更新程式时发生错误则会使用预设PROM。它会尝试载入升级PROM并监视FPGA中的DONE线路,若失败则会自动回复至预设PROM。在一组像是Dallas Semiconductor推出的DS2430A (可覆写式EEPROM)小型NVS装置中,系统可指定由那一组PROM负责开机。 NVS能运用更精密的模式在多组更新程式中进行选择。选择逻辑可能是一组CPLD或什至直接选择预设方案,也就是系统不能在出厂后进行变更(除非在CPLD组态中配置有双缓冲区)


在发生设定错误时,选择逻辑元件能移除这种状态,并尝试透过预设资料设定FPGA。若更新缓冲区中的资料流属于耦合模式或不存在,FPGA DONE讯号就不会继续传送。在这种情况下,选择逻辑会尝试载入预设资料。


桥接系统中的IRL

(图九)显示一套IRL系统配备一组桥接器与两组上个范例中讨论的PROM。桥接FPGA可自动启动,随后处理器可透过桥接元件设定目标FPGA。在前个范例中,FPGA同时扮演桥接器与目标系统两种角色。在本范例中的介面可以是ESB或PLB。桥接介面中的暂存器可接收来自处理器的组态资料,并透过SelectMAP 或JTAG控制器将资料传送至目标元件。


IRL并不要求使用者系统中一定要有桥接器。本文举例不一定适用于您的设计方案。图九的双缓冲区范例,并非是唯一可行的方式。



《图九 内含桥接组件与目标FPGA的系统》
《图九 内含桥接组件与目标FPGA的系统》

在一套可编程桥接系统中,在最初设定桥接FPGA之前​​,处理器不能直接传送组态设定资料。所有后续作业则是确保已知的良好设定是否仍能应用在这组桥接元件。针对图中的目标FPGA,处理器能直接将组态资料从处理器的储存端传送至目标点。在这种情况下,图中显示两种PAVE支援的设定模式,也就是SelectMAP与JTAG。桥接元件采用的选择逻辑为一组CPLD,扮演两组PROM的仲裁者(mux)。


桥接元件的一般IRL系统考量因素

处理器与目标FPGA之间的通讯是透过桥接器进行。桥接器透过专属介面(例如像ESB与PLB)与处理器进行串连。大多数处理器都需要一组单独晶片(一套桥接器)以支援ESB。在使用桥接晶片时,处理器不会直接控制串连FPGA的汇流排。少数处理器在晶片中纳入ESB的支援元件。这类方案被视为是内建桥接器; 这种桥接器则无法进行升级。


大多数SBC没有提供透过外部元件直接存取PLB的管道。在CompactPCI系统中,通常采用PCI Mezzanine Card (PMC)的元件规格。 SBC机板或是同一机箱中的PMC传送器上的处理器与PMC介面卡之间采用松散耦合模式。在处理器区域汇流排(Processor ​​Local Bus; PLB)则采紧密耦合模式,例如像PowerPC 405GP周边汇流排就直接串连来自处理器的线路。 FPGA的升级资料会透过耦合元件传送至FPGA; 随后资料会传至适当的储存区域进行更新作业。


用来储存位元资料流的记忆体

在最后两个范例中我们继续延用这些模式,下个范例则在资料流储存元件中扩增额外的记忆体空间。 (图十)显示一组松散耦合的PMC系统,在两套PROM之外亦配备有组态快闪记忆体。快闪晶片属于标准型快闪元件,规格大小不一。快闪晶片视设计种类而定,可储存额外的桥接资料流,亦可配合不同的处理器为目标FPGA供应组态资料,目标FPGA组态资料亦能储存在这些元件中。快闪晶片能储存更大量的组态资料,并能转译成多组更新资料以支援最大型的FPGA。



《图十 内含桥接组件、PROM、以及快闪芯片的PMC范例系统》
《图十 内含桥接组件、PROM、以及快闪芯片的PMC范例系统》

在本范例中,CPLD可称得上是轻薄的装置,基本上在FPGA中的资料须进行大量的逻辑处理。位址线由FPGA或CPLD传送至快闪晶片,让系统作业能透过晶片进行操控。


在这个范例中,预设的程序可能在设定快闪记忆体(Configuration flash)或PROM中进行;因此在PROM中不会有跳接线路(jumper)。若配置跳接线路,则系统设计师须负责确保系统能进行错误回复作业。


在IRL系统中使用PAGE

PAVE 架构是一套嵌入式应用软体研发架构,能用来开发嵌入应用程式的组态。


物件导向硬体

PAVE 架构与其元件为一组C++语言类型(classes)与物件模式(object models),Xilinx FPGA将它视为抽象的建置元件,称为IRL支援装置组件。 PAVE将编程硬体视为系统中的一组物件,类似C++语言使用的软体​​物件。因此,采用PAVE所撰写的应用程式一般都具有极高的物件导向、模组化、以及可升级等属性。甚至不需更新整个架构就能更换单一模组。


SelectMAP 与JTAG 支援方案

PAVE 1.0支援SelectMAP 与JTAG编程介面,并可透过设定暂存器融入在设计方案中,通常为桥接元件。在运用PAVE进行设计作业时,可设定功能元件的配置点,并能在装置记忆体中配置其它使用者暂存器。 PAVE会负责封装这套编程介面并产生C++原始码、表头档案、以及附属的专案档。


结论

在极有限的硬体与软体变更作业下,将可顺利发展支援IRL技术的系统,同时带来更多的应用价值。在产品中扩充IRL技术将延长产品的寿命、简化支援作业与行销模式。透过IRL,能生产一套单一化的硬体版本,并推出多种不同的改款方案。使用者将会受惠于产品问市的速度以及完全自动化的升级功能。


PAVE 架构提供一套强大的软体环境,让设计业者能轻易将IRL整合至设计方案中。 PAVE具备的物件导向特性让系统不需处理JTAG或SelectMAP程式的低阶程序,让设计师专注于开发最终使用者的应用软体。


未来推出的PAVE新版架构将为IRL设计系统增加额外的功能。 PAVE本身具有的模组化特性能不须变更目前的应用软体架构,即能扩增各项新功能。


(作者任职于Xilinx Asia Pacific)


相关文章
借助自行调适加速平台 机器人快速适应环境变化
借助自行调适系统模组 加速边缘创新
借助Zynq RFSoC DFE因应5G大规模部署挑战
半导体创新成果转化 AI运算世界加速来临
CXL、CCIX和SmartNIC助力 PCIe 5加速飞奔
comments powered by Disqus
相关讨论
  相关新闻
» 贸泽供货AMD/Xilinx Kria K24 SOM符合工业、医疗和机器人应用
» NETGEAR引进Wi-Fi 7无线路由器 发挥AI平台最大效益
» 【COMPUTEX】经济部携手明泰、光宝、联发科 推出「O-RAN基站」三频全产品线
» 宏正AI创新连结浸体验 於COMPUTEX 2024展示赋能应用方案
» 欧盟规划6G计画主席来台 与经济部签约合作跨国研发


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK87I7WEAQQSTACUKM
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw