FPGA在通用网络下载器硬件设计中的应用

0 下载量 67 浏览量 更新于2024-09-01 收藏 284KB PDF 举报
"基于FPGA的通用网络下载器硬件设计,主要应用于航天计算机地面检测系统,确保数据传输的可靠性和稳定性。设计中采用了ARM处理器和Xilinx Spartan6 FPGA,通过LVDS接口实现高速数据交换,利用FIFO进行数据缓冲,通过100Mbit/s以太网连接与PC上位机通信。" 在设计一个基于FPGA的通用网络下载器时,首先要明确系统的需求。本设计中,下载器的主要任务是接收70Mbit/s的数据包,将其分包并通过以太网发送给接收设备,同时发送控制数据以获取接收设备的状态反馈。这一过程对系统的实时性、稳定性和数据完整性有着极高的要求。 在硬件选择上,选用了三星的S3C2440 ARM处理器,以其高性能和低功耗特性满足数据处理需求。配合Xilinx Spartan6 FPGA(XC6SLX45F484)来实现高速数据处理和接口管理。将FPGA挂接在ARM的RAM接口下,可以实现高达106MByte/s的数据传输速率,满足高速数据传输的要求。 FPGA在设计中扮演了关键角色,它通过两个FIFO(First In First Out,先进先出)分别处理来自ARM和下位机的数据。对于ARM发送的数据,FPGA的写使能由ARM的片选信号(nce)和写使能信号(nwe)共同控制,只有当地址信号为0且这两个信号都有效时,数据才会被写入FIFO。当FIFO空信号(fifo_empt_w)变为高电平,表示有数据可读,FPGA会触发读取操作。 对于下位机发送的数据,FPGA的写使能由下位机的控制信号(lvds_en_in)决定,一旦使能,下位机提供写时钟(lv_clk_in_wire),数据被写入FIFO。而FPGA读取下位机数据时,读使能(fifo_rden)受ARM的nce和noe信号控制,当FIFO空信号(fifo_r_empt_w)上升沿到来,ARM会响应并启动读取操作。 在PCB设计阶段,LVDS(Low Voltage Differential Signaling)接口的使用保证了高速数据传输的低噪声和高抗干扰能力。高速总线的设计需考虑到信号完整性和电源完整性,以防止信号失真和电源噪声对系统稳定性的影响。叠层设计则涉及到信号层、电源层和地层的布局,合理的叠层策略可以减少信号间的串扰,提高整体系统的可靠性。 基于FPGA的通用网络下载器设计考虑了多个层面,包括处理器的选择、高速接口的实现、数据缓冲策略以及PCB布线优化,这些都确保了在网络下载过程中数据的高效传输和系统的稳定性,使其能在航天计算机地面检测系统中发挥关键作用。