大容量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。

大容量FPGA构成的多节点系统远程升级系统设计详解

2.2 子节点硬件设计说明

在子节点的硬件设计中,ATmega64 单片机是实现整个升级功能的关键。ATmega64 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega64 的数据吞吐率高达 1 MIPS/MHz,从而可以缓解系统在功耗和处理速度之间的矛盾。AVR 内核具有丰富的指令集和 32 个通用工作寄存器,并且所有的寄存器都直接与算术逻辑单元(ALU)相连接,使得 1 条指令可以在 1 个时钟周期内同时访问 2 个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC 微控制器最高至 10 倍的数据吞吐率。ATmega64 有如下特点:

① 64 KB 的系统内可编程 Flash(具有同时读写的能力,即 RWW),2 KB 的 EEPROM,4 KB 的 SRAM,32 个通用工作寄存器;

② 53 个通用 I/O 口线;

③ 实时计数器(RTC);

④ 4 个具有比较模式与 PWM 的灵活的定时器 / 计数器(T/C),具有片内振荡器的可编程看门狗定时器;

⑤ 2 个 USART,面向字节的双线串行接口(TWI),1 个 SPI 串行端口;

⑥ 8 路 10 位具有可选差分输入级可编程增益的 ADC;

⑦ 与 IEEE 1149.1 标准兼容的,可用于访问片上调试系统及编程的 JTAG 接口。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查