反射内存卡的通讯区别于其它常规的通讯方式,是一种无需软件参与而实现数据共享的通讯方式。以PCI5565为例,PCI5565在系统中映射一个128M的内存空间,应用程序将采集的数据写入板载的的内存中,而将这个内存中的数据共享到其它节点是由硬件来完成,硬件完成将数据以帧的方式传递到下一个节点,由于采用2.125G的光纤通讯这个速度是非常快的,缩短了数据同步的时间,在一些系统中可以认为两个内存中的数据是完全一样的。在实时性更高的系统中而且这个时间是可以预测的,因此在一些ms级或更低仿真周期的仿真系统中反射内存网的优势非常明显。
反射内存网区别于通用的通讯方式,但价格和成本一直比较高,不能像传统网络那样可以将成本做到很低,这限制了反射内存的应用,在一些成本敏感的系统中,只能是与常规网络互为补充。但反射内存的易用性降低了软件开发的成本和周期,节省了CPU开销,易于理解和使用,减小了系统的复杂度,缩短了系统研发周期减小了风险,这些优点使反射内存卡得到更多的应用。
目前反射内存网最为广泛的应用是在实时仿真系统,在这种系统中各个功能模块划分得十分清楚。负责采集数据的计算机,负责模型解算的计算机,负责图像显示的计算机,负责数据输出的计算机。负责系统综合控制的计算机等等,可以扩充和减少节点,进行分布外理。软件开发也可以在不同的OS中进行。这使得多个员工合作快速开发出一个健壮的系统成为可能。
当然反射内存卡有更多的应用领域,这种可由设计人员自由发挥的,灵活设计系统。
反射内存网中的每个反射内存节点(任何5565反射内存卡)以菊花链的形式用光纤线互联。第一块卡的发送必须连接到第二块卡的接收端,第二块卡的发送端连接到第三块卡的接收端,以此类推,直到再连接到第一块卡的接收端完成一个完整的环形连接。也可以将所有节点连接到一个或多个ACC-5595反射内存HUB,每个节点的接收和发送都必须连接,如果没有检测到光信号或失去同步反射内存卡RFM-5565将不会发送数据包(例如光纤线已损坏)。反射内存网中每个节点的节点号必须唯一,节点号通过板上的拨码开关S2进行设置,任何两个节点不能有设置成同一个节点号,每个板卡的节点号可以在通过NODEID进行读取显示,节点号的顺序并不重要。
主系统对反射内存卡的板载SDRAM的写操作后,反射内内卡的硬件检测电路将自动发起一个整个反射内存网的数据传输动作。这个写操作可以是一个简单的PIO写或是一个DMA周期。
当产生一个对SDRAM的写操作时,RFM-5565反射内存卡自动将数据和其它相关的信息写入到发送缓冲器中(其它相关信息包括节点号,数据地址等信息),在发送缓冲器中,发送电路检测数据,并且将数据变成一个4到64字节长度可变的数据包。通过光纤接口发送到下一个板卡的接收端口。
接收电路检查数据包是否有错误,当无错误发生时数据被接收。接收电路解开数据包并且将数据存储到板载的接收缓冲器。在接收缓冲器中,另一个电路将数据写入到本地的