新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于大容量FPGA的多节点系统的远程升级的实现

基于大容量FPGA的多节点系统的远程升级的实现

作者:时间:2013-10-17来源:网络收藏

  引言

  ,在目前的很多电子系统应用场合都可以看到。这种由于具有结构可扩展性、功能配置的灵活性以及便于查找故障节点等良好的可维护性得到了越来越广泛的应用。通常,各个节点的主要硬件构成有很大的相似性。特别是近年来, 这个强大的平台让多节点系统各个节点的硬件构成拥有了更广泛的通用性。尤其是随着IP核技术的推广,再加上一些功能强大的CPU核的出现,如Xilinx公司提供的PicoBlaze和MicroBlaze等,使得目前的许多系统的主要功能都可以由大容量的实现,而无需再使用比较昂贵的高性能微处理器。

  对于节点系统,这将大大降低系统成本。对于由大容量构成的多节点系统,系统的升级是一个费时费力的工作。此时,FPGA的能力就显得尤为重要。对于包含ARM、DSP、PowerPC等高性能嵌入式微处理器的多节点系统,使用这些嵌入式微处理器,采用SELECTMAP对FPGA进行加载并实现,无需增加过多的外部器件,是非常经济和高效的。但对于核心器件就是大容量FPGA的系统,如果由FPGA本身来接收升级数据并写入存储配置数据的非易失性存储器,一旦升级失败,将无法再次升级,从而限制了它在许多需要高可靠性要求或者维护人员不便于到达的场合的应用;而如果单纯为了实现系统的而加入价格昂贵的嵌入式微处理器,又会较大地增加系统成本和复杂性。针对这种情况,笔者设计了利用ATmega64单片机和RS485总线,加上接入以太网的主控计算机构成的远程升级系统,解决了上述问题。

  1 系统设计

  1.1 系统结构设计

  远程升级系统主要由一台接入以太网的主控计算机、半双工RS485总线以及各个子节点构成,组成结构如图1所示。主控计算机通过以太网从外部获取整个系统各个节点的升级数据,然后通过RS485总线向各个子节点发送其对应的升级数据,完成多节点系统的升级。RS485总线采用一主多从的半双工方式,主控计算机为总线的主控制器,只能由它向各个节点发起通信连接,其余子节点只能响应主控计算机的控制命令。

图1 多节点大容量FPGA系统远程升级系统结构框图

  1.2 节点升级原理

  各个节点通过RS485总线与主控计算机相连,在无升级数据时,总线可以用来传输主控计算机对各个节点的查询和控制命令。主控计算机与各个节点的通信协议可以采用具有查询控制帧、应答帧和数据帧3种帧类型的协议。只有主控计算机可以发送查询控制帧,查询或设定各个节点的远程升级状态或工况信息。子节点接收主控计算机的命令和数据,发送应答帧,并完成自身的升级。

  2 子节点的硬件设计

  2.1 子节点硬件结构框图

  如图2所示,以一个由Xilinx公司的XC3S4000大容量FPGA构成的系统为例,远程升级系统子节点的硬件电路主要包括: ATmega64单片机,用于存储大容量FPGA配置数据的Flash,以及接入RS485总线的半双工总线收发器。ATmega64单片机用于实现对大容量FPGA XC3S4000的加载,以及从RS485总线接收FPGA的升级数据并写入拥有2 MB存储空间的Flash存储器SST36VF1601C中。RS485TTL电平变换电路采用RS485收发器SP485R。

图2 子节点硬件结构框图


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭