反射内存卡原理说明
反射内存卡是一种用于实现实时数据传输和共享的硬件设备,它基于反射内存网的原理工作。
反射内存网主要由反射内存卡通过光纤等传输介质连接而成。网络中的每台计算机都插入一块反射内存卡,这些卡形成各个节点,而每个节点的反射内存卡上的存储器中都有网络中其他节点的共享数据拷贝。
当任何一台计算机向本地反射内存卡写入数据时,该数据和相应的内存地址会被广播到网络上所有其他的反射内存卡,并存储在相同的位置。由于数据传输是纯硬件操作,不需要考虑网络通信协议,软件上只需几行代码就可完成对反射内存卡的读、写操作,因此在极短时间内,网上所有计算机都可以访问这个新数据。
以常见的 PCI-5565 反射内存卡为例,其系统通常由 SFF 光模块、FPGA 控制模块、SDRAM 存储模块、电源与时钟模块、串行解串器等组成。
SFF 光模块用于实现 FPGA 控制模块与网络中其他反射内存卡之间的高速通信互联,提供较高速度的光纤通道连接。
FPGA 控制模块一般选用高性能的 FPGA 芯片,它实现整个数据发送与接收的逻辑。
板载的 SDRAM 用于暂存网络中各反射内存卡的共享数据,其容量常见的有 128MB 或 256MB。
电源与时钟模块为系统提供所需的电源和时钟信号。
具体工作过程如下:当数据发生变化时,FPGA 模块将内存中变化的数据通过串行解串器和 SFF 光模块传输至网络中的其他反射内存节点;同时,如果网络中其他反射内存卡内存中的数据有改变,FPGA 模块也会通过专用的串行通信模块接收 SFF 光模块传输的改变数据,并写入板载内存中,以实现局域网中计算机间的高带宽数据交互共享。
反射内存卡具有以下特点和优势:
- 高速、低延迟的数据传输:节点间延迟通常在百纳秒级甚至更低,能够满足实时系统快速反应的要求。
- 数据共享:数据可以在多个独立系统(节点)间共享。
- 兼容性强:与操作系统、处理器和总线方式无关,可在多种总线上使用,如 VME、PCI、CompactPCI、PMC 接口等。
- 易于使用:操作简单,无需复杂的网络配置和协议处理。
- 支持不同平台间的数据交换。
- 具有错误检测功能和冗余传输模式,可保证数据传输的可靠性。
- 确定的数据传输时间:硬件延迟小,为实时应用提供有效保证。
反射内存网的物理拓扑结构主要有星型结构和环型结构两种:
- 环型结构的优点是不需要光纤 hub,光纤使用量少,节省经费;缺点是每个节点存在延时,且网络中某一个节点设备故障或掉电会影响整个网络的正常工作。
- 星型结构则需要一个专门的光纤 hub,消除了单点失效,实现了故障隔离,与环型结构相比具有更小的延时;但缺点是网络中的 hub 一旦发生故障,整个网络将会瘫痪,并且光纤使用量多,所需经费较多。
反射内存卡广泛应用于航空航天、工业控制、医疗设备等对数据传输实时性要求较高的领域,例如在飞行仿真系统、工业自动化控制系统中,它可以实现多台计算机之间快速、可靠的数据共享和协同工作。