CN104572487A - 反射内存卡的内存访问装置及方法 - Google Patents
反射内存卡的内存访问装置及方法 Download PDFInfo
- Publication number
- CN104572487A CN104572487A CN201510054613.8A CN201510054613A CN104572487A CN 104572487 A CN104572487 A CN 104572487A CN 201510054613 A CN201510054613 A CN 201510054613A CN 104572487 A CN104572487 A CN 104572487A
- Authority
- CN
- China
- Prior art keywords
- module
- signal
- data
- read
- fifo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
反射内存卡的内存访问装置及方法,属于射内存领域。本发明为了解决现有的射内存卡在研究和应用方面受到严重限制的问题,也是为了满足国内对射内存相关产品的需求。本发明通过串行通讯接口模块、PCI接口模块、射内存模块和光纤接口模块之间的数据传输,实现了射内存卡的射内存访问装置。射内存模块包括DDR2存储器和FPGA模块;光纤接口模块包括数据转换模块和光纤收发模块。其中FPGA模块为本发明的创新之处。通过对内存写处理模块、内存读处理模块、读写时序逻辑模块、DDR控制器、初始化模块和刷新计数器的构建,完成了FPGA模块的设计,对内存写处理模块和内存读处理模块的进一步搭建,完成了整个射内存访问装置的搭建。本发明适用于内存访问。
Description
技术领域
本发明涉及一种反射内存卡的内存访问装置及方法,属于反射内存领域。
背景技术
反射内存系类产品在国外的研究和应用十分广泛,在国内此类产品正在不断地应用在实时通讯系统的各个方面,例如半实物仿真系统、实时数据保存系统和实时测试系统等。在国内的研究中,主要采用国外现成的反射内存产品组成反射内存网,价格昂贵、成本高,而且在应用上受到权限的限制。目前国内对反射内存管理技术的研究和应用比较少,自主设计反射内存相关产品则更少。因此,研发设计反射内存相关产品是非常必要的。
发明内容
本发明为了解决现有的反射内存卡在研究和应用方面受到严重限制的问题,也是为了满足国内对反射内存相关产品的需求。提出了反射内存卡的内存访问装置及方法。
反射内存卡的内存访问装置,它包括串行通讯接口模块、PCI接口模块;它还包括反射内存模块和光纤接口模块;
反射内存模块包括DDR2存储器和FPGA模块;光纤接口模块包括数据转换模块和光纤收发模块;
DDR2存储器,用于与FPGA模块实现数据交互;
FPGA模块,用于与PCI接口模块实现上位机数据/命令的数据交互;还用于与数据转换模块实现反射内存网络数据的数据交互;还用于与串行通讯接口模块实现串口通信数据的数据交互;
数据转换模块,用于与光纤收发模块实现数据交互;
光纤收发模块,用于与光纤网络设备实现光电转换和串并转换;
FPGA模块包括内存写处理模块、内存读处理模块、读写时序逻辑模块、DDR控制器、初始化模块和刷新计数器;
内存写处理模块,用于接收光纤接口模块发送的数据/FIFO状态信号、串行通讯接口模块发送的数据/FIFO状态信号、PCI接口模块发送的数据/FIFO状态信号和PCI接口模块发送的PCI地址信号,并对接收的信号进行写处理后输出地址信号和数据信号至读写时序逻辑模块;还用于与读写时序逻辑模块之间实现写控制信号的数据交互;
内存读处理模块,用于与串行通讯接口模块之间实现读信号的数据交互;还用于与读写时序逻辑模块之间实现读控制信号的数据交互;还用于接收读写时序逻辑模块发送的数据信号、PCI接口模块发送的PCI地址信号和PCI接口模块发送的PCI控制信号,并对接收的信号进行读处理,并输出地址信号至读写时序逻辑模块、输出数据/FIFO控制信号至串行通讯接口模块、输出上位机数据至PCI接口模块;
读写时序逻辑模块,用于对接收的内存写处理模块发送的地址信号、数据信号、写控制信号、内存读处理模块发送的地址信号和读控制信号进行读写时序逻辑处理后,输出控制信号至DDR2控制器;还用于与DDR2控制器之间实现数据\地址信号的数据交互;
DDR2控制器,用于与DDR2存储器之间实现数据/地址信号的数据交互,还用于接收初始化模块发送的初始化信号、刷新计数器发送的计数信号、读写时序逻辑模块发送的控制信号,并对接收的信号进行处理后输出控制信号至DDR2存储器。
反射内存卡的内存访问方法,它包括:
用于与FPGA模块实现数据交互的步骤;
用于与PCI接口模块实现上位机数据/命令的数据交互的步骤;还用于与数据转换模块实现反射内存网络数据的数据交互的步骤;还用于与串行通讯接口模块实现串口通信数据的数据交互的步骤;
用于与光纤收发模块实现数据交互的步骤;
用于与光纤网络设备实现光电转换和串并转换的步骤;
用于接收光纤接口模块发送的数据/FIFO状态信号、串行通讯接口模块发送的数据/FIFO状态信号、PCI接口模块发送的数据/FIFO状态信号和PCI接口模块发送的PCI地址信号,并对接收的信号进行写处理后输出地址信号和数据信号至读写时序逻辑模块的步骤;还用于与读写时序逻辑模块之间实现写控制信号的数据交互的步骤;
用于与串行通讯接口模块之间实现读信号的数据交互的步骤;还用于与读写时序逻辑模块之间实现读控制信号的数据交互的步骤;还用于接收读写时序逻辑模块发送的数据信号、PCI接口模块发送的PCI地址信号和PCI接口模块发送的PCI控制信号,并对接收的信号进行读处理,并输出地址信号至读写时序逻辑模块、输出数据/FIFO控制信号至串行通讯接口模块、输出上位机数据至PCI接口模块的步骤;
用于对接收的内存写处理模块发送的地址信号、数据信号、写控制信号、内存读处理模块发送的地址信号和读控制信号进行读写时序逻辑处理后,输出控制信号至DDR2控制器的步骤;还用于与DDR2控制器之间实现数据\地址信号的数据交互的步骤;
用于与DDR2存储器之间实现数据/地址信号的数据交互的步骤,还用于接收初始化模块发送的初始化信号、刷新计数器发送的刷新信号、读写时序逻辑模块发送的控制信号,并对接收的信号进行处理后输出控制信号至DDR2存储器的步骤。
有益效果:本发明通过串行通讯接口模块、PCI接口模块、反射内存模块和光纤接口模块之间的数据传输,实现了反射内存卡的反射内存访问装置。反射内存模块包括DDR2存储器和FPGA模块;光纤接口模块包括数据转换模块和光纤收发模块。其中FPGA模块为本发明的创新之处。通过对内存写处理模块、内存读处理模块、读写时序逻辑模块、DDR控制器、初始化模块和刷新计数器的构建,完成了FPGA模块的设计,对内存写处理模块和内存读处理模块的进一步搭建,完成了整个反射内存访问装置的搭建。解决了现有的反射内存卡在研究和应用方面受到严重限制的问题,也满足了国内对反射内存相关产品的需求。
附图说明
图1为具体实施方式一所述的反射内存卡的内存访问装置的总体框图;
图2为具体实施方式一所述的反射内存模块的内部结构示意图;
图3为具体实施方式二所述的内存写处理模块的内部结构示意图;
图4为具体实施方式三所述的内存读处理模块的内部结构示意图;
图5为具体实施方式四所述的写入仲裁模块的仲裁过程示意图;
图6为具体实施方式一所述的DDR2控制器的控制过程图。
具体实施方式
具体实施方式一、参照图1和图2具体说明本实施方式,本实施方式所述的反射内存卡的内存访问装置,它包括串行通讯接口模块2、PCI接口模块4;它还包括反射内存模块1和光纤接口模块3;
反射内存模块1包括DDR2存储器和FPGA模块;光纤接口模块3包括数据转换模块31和光纤收发模块32;
DDR2存储器,用于与FPGA模块实现数据交互;
FPGA模块,用于与PCI接口模块4实现上位机数据/命令的数据交互;还用于与数据转换模块31实现反射内存网络数据的数据交互;还用于与串行通讯接口模块2实现串口通信数据的数据交互;
数据转换模块31,用于与光纤收发模块32实现数据交互;
光纤收发模块32,用于与光纤网络设备实现光电转换和串并转换;
FPGA模块包括内存写处理模块11、内存读处理模块12、读写时序逻辑模块13、DDR控制器14、初始化模块15和刷新计数器16;
内存写处理模块11,用于接收光纤接口模块3发送的数据/FIFO状态信号、串行通讯接口模块2发送的数据/FIFO状态信号、PCI接口模块4发送的数据/FIFO状态信号和PCI接口模块4发送的PCI地址信号,并对接收的信号进行写处理后输出地址信号和数据信号至读写时序逻辑模块13;还用于与读写时序逻辑模块13之间实现写控制信号的数据交互;
内存读处理模块12,用于与串行通讯接口模块2之间实现读信号的数据交互;还用于与读写时序逻辑模块13之间实现读控制信号的数据交互;还用于接收读写时序逻辑模块13发送的数据信号、PCI接口模块4发送的PCI地址信号和PCI接口模块4发送的PCI控制信号,并对接收的信号进行读处理,并输出地址信号至读写时序逻辑模块13、输出数据/FIFO控制信号至串行通讯接口模块2、输出上位机数据至PCI接口模块4;
读写时序逻辑模块13,用于对接收的内存写处理模块11发送的地址信号、数据信号、写控制信号、内存读处理模块12发送的地址信号和读控制信号进行读写时序逻辑处理后,输出控制信号至DDR2控制器14;还用于与DDR2控制器14之间实现数据\地址信号的数据交互;
DDR2控制器14,用于与DDR2存储器之间实现数据/地址信号的数据交互,还用于接收初始化模块15发送的初始化信号、刷新计数器16发送的刷新信号、读写时序逻辑模块13发送的控制信号,并对接收的信号进行处理后输出控制信号至DDR2存储器。
本实施方式中,反射内存卡的内存访问装置实现四种功能:
1、对写操作和刷新操作做出仲裁。由于要求多个模块对DDR2控制器进行同时写操作,为防止数据丢失从而对读写信号进行正确仲裁。
2、对读操作做出仲裁,将内存区域的数据正确分配给其他模块。
3、把读写命令转化为适合的DDR2控制器的读写时序。
4、对DDR2控制器进行初始化。在上电之后对DDR2控制器的模式寄存器进行设置。
初始化模块15的功能是:发出上电信号,进行初始化操作。
刷新计数器16的功能是:按照8K周期/64ms的刷新要求,对DDR2控制器14进行刷新。
DDR2控制器是一个典型的状态机模型,它的功能就是在各状态之间进行转换,以完成对DDR2的读写和刷新。参照图6。在上电复位后,DDR2控制器先完成对DDR2存储器的模块设置,之后就进入空闲状态等待读/写或刷新命令的到来。当受到一个读写命令后,先判断所要读写的行是否处于激活状态,如果该行处于激活状态,直接发出读写命令;反之,在预充激活改行后发出读写命令。当收到刷新计数器发出的刷新命令时,先发出预充命令,然后发出刷新命令。每种命令执行完后都回到空闲状态等待新命令的到来。该部分内容为现有技术,不再赘述。
具体实施方式二、参照图3说明本实施方式,本具体实施方式是对具体实施方式一所述的反射内存卡的内存访问装置的进一步说明,本实施方式中,
所述内存写处理模块11包括写入仲裁模块111、拆封数据包模块112、地址多路开关模块113和数据多路开关模块114;
写入仲裁模块111,用于接收光纤接口模块3发送的NET_FIFO状态信号、串行通讯接口模块2发送的IN_FIFO状态信号、PCI接口模块4发送的HOST_FIFO状态信号、读写时序逻辑模块13发送的写完成/写等待信号,并对接收的信号进行写入仲裁,并输出开关量信号至地址多路开关模块113和数据多路开关模块114,还输出写使能信号至读写时序逻辑模块13;
拆封数据包模块112,用于接收光纤接口模块3发送的地址/数据信号,并将接收的地址/数据信号进行拆封,并输出地址信号至地址多路开关模块113,还输出数据信号至数据多路开关模块114;
地址多路开关模块113,用于接收拆封数据包模块112发送的地址信号、PCI接口模块4发送的PCI地址信号,并输出地址信号至读写时序逻辑模块13;
数据多路开关模块114,用于接收写入仲裁模块111发送的开关量信号、拆封数据包模块112发送的数据信号、PCI接口模块4发送的数据信号和串行通讯接口模块2发送的数据信号,并输出数据信号至读写时序逻辑模块13。
本实施方式为反射内存卡的内存访问装置中的内存写处理模块11的详细工作过程。
内存写处理模块11是反射内存卡的内存访问装置的核心,由于网络控制模块通过光纤接口模块3发送的网络数据包、上位机模块通过PCI接口模块4发送的上位机数据或设备处理模块通过串行通讯接口模块2发送的设备数据同时写入,因此防止数据丢失是工作的关键,故内存写处理模块11的设计是非常重要的。该内存写处理模块的处理方式是用一个状态机处理数据仲裁。
具体实施方式三、参照图4说明本实施方式,本具体实施方式是对具体实施方式一所述的反射内存卡的内存访问装置的进一步说明,本实施方式中,
所述内存读处理模块12包括读信号仲裁模块121和数据多路开关模块122;
读信号仲裁模块121,用于实现串行通讯接口模块2的读使能/读等待/读完成信号之间的数据交互;还用于接收PCI接口模块4发送的读使能/读等待/读完成信号、读写时序逻辑模块13发送的读等待/读完成信号,并对接收的信号进行读仲裁后输出控制信号至数据多路开关模块122,输出读使能信号至读写时序逻辑模块13;
数据多路开关模块122,用于接收读信号仲裁121发送的控制的控制信号和读时序逻辑模块13发送的数据信号,并输出数据信号至PCI接口模块4、输出数据/FIFO控制信号至串行通讯接口模块2;
PCI接口模块4的地址信号通过内存读处理模块12后直接传送至读写时序逻辑模块13。
本实施方式中,根据读写速率设定读信号仲裁模块121中通过PCI接口模块4发送的上位机数据的读使能信号的优先级为高,通过串行通讯接口模块2发送的设备数据的优先级为低。若处于DDR2控制器的写入状态,则内存读处理模块挂起等待。
具体实施方式四、参照图1和图2具体说明本实施方式,本实施方式所述的反射内存卡的内存访问方法,它包括:
用于与FPGA模块实现数据交互的步骤;
用于与PCI接口模块4实现上位机数据/命令的数据交互的步骤;还用于与数据转换模块31实现反射内存网络数据的数据交互的步骤;还用于与串行通讯接口模块2实现串口通信数据的数据交互的步骤;
用于与光纤收发模块32实现数据交互的步骤;
用于与光纤网络设备实现光电转换和串并转换的步骤;
用于接收光纤接口模块3发送的数据/FIFO状态信号、串行通讯接口模块2发送的数据/FIFO状态信号、PCI接口模块4发送的数据/FIFO状态信号和PCI接口模块4发送的PCI地址信号,并对接收的信号进行写处理后输出地址信号和数据信号至读写时序逻辑模块13的步骤;还用于与读写时序逻辑模块13之间实现写控制信号的数据交互的步骤;
用于与串行通讯接口模块2之间实现读信号的数据交互的步骤;还用于与读写时序逻辑模块13之间实现读控制信号的数据交互的步骤;还用于接收读写时序逻辑模块13发送的数据信号、PCI接口模块4发送的PCI地址信号和PCI接口模块4发送的PCI控制信号,并对接收的信号进行读处理,并输出地址信号至读写时序逻辑模块13、输出数据/FIFO控制信号至串行通讯接口模块2、输出上位机数据至PCI接口模块4的步骤;
用于对接收的内存写处理模块11发送的地址信号、数据信号、写控制信号、内存读处理模块12发送的地址信号和读控制信号进行读写时序逻辑处理后,输出控制信号至DDR2控制器14的步骤;还用于与DDR2控制器14之间实现数据\地址信号的数据交互的步骤;
用于与DDR2存储器之间实现数据/地址信号的数据交互的步骤,还用于接收初始化模块15发送的初始化信号、刷新计数器16发送的刷新信号、读写时序逻辑模块13发送的控制信号,并对接收的信号进行处理后输出控制信号至DDR2存储器的步骤。
具体实施方式五、参照图3具体说明本实施方式,本实施方式是对具体实施方式四所述的反射内存卡的内存访问方法的进一步说明,本实施方式中,该方法包括:
用于接收光纤接口模块3发送的NET_FIFO状态信号、串行通讯接口模块2发送的IN_FIFO状态信号、PCI接口模块4发送的HOST_FIFO状态信号、读写时序逻辑模块13发送的写完成/写等待信号,并对接收的信号进行写入仲裁,并输出开关量信号至地址多路开关模块113和数据多路开关模块114,还输出写使能信号至读写时序逻辑模块13的步骤;
用于接收光纤接口模块3发送的地址/数据信号,并将接收的地址/数据信号进行拆封,并输出地址信号至地址多路开关模块113,还输出数据信号至数据多路开关模块114的步骤;
用于接收拆封数据包模块112发送的地址信号、PCI接口模块4发送的PCI地址信号,并输出地址信号至读写时序逻辑模块13的步骤;
用于接收写入仲裁模块111发送的开关量信号、拆封数据包模块112发送的数据信号、PCI接口模块4发送的数据信号和串行通讯接口模块2发送的数据信号,并输出数据信号至读写时序逻辑模块13的步骤。
具体实施方式六、参照图4具体说明本实施方式,本实施方式是对具体实施方式四所述的反射内存卡的内存访问方法的进一步说明,本实施方式中,该方法包括:
用于实现串行通讯接口模块2的读使能/读等待/读完成信号之间的数据交互的步骤;还用于接收PCI接口模块4发送的读使能/读等待/读完成信号、读写时序逻辑模块13发送的读等待/读完成信号,并对接收的信号进行读仲裁后输出控制信号至数据多路开关模块122,输出读使能信号至读写时序逻辑模块13的步骤;
用于接收读信号仲裁121发送的控制的控制信号和读时序逻辑模块13发送的数据信号,并输出数据信号至PCI接口模块4、输出数据/FIFO控制信号至串行通讯接口模块2的步骤;
PCI接口模块4的地址信号通过内存读处理模块12后直接传送至读写时序逻辑模块13的步骤。
具体实施方式七、参照图5说明本实施方式,本具体实施方式是对具体实施方式五所述的反射内存卡的内存访问方法的进一步说明,本实施方式中,所述写入仲裁过程为:
设置四个状态位:第一优先级:SNET状态位:NET_FIFO获许写入DDR2存储器;
第二优先级:SIN状态位:IN_FIFO获许写入DDR2存储器;
第三优先级:SHOST状态位:HOST_FIFO获许写入DDR2存储器;
第四优先级:SIDLE状态位:空闲状态;
在考虑各个FIFO优先级的情况下,同时保证各个FIFO不会溢出,具体如下:
状态A:取NET_FIFO数据,当NET_FIFO为空时,且IN_FIFO不为空,HOST_FIFO不满时,转入状态B;当NET_FIFO为空时,且IN_FIFO为空,HOST_FIFO不为空,转入状态C;当NET_FIFO、IN_FIFO、HOST_FIFO为空时,转入状态D;
状态B:取IN_FIFO数据,当NET_FIFO不为空时,且IN_FIFO和HOST_FIFO不满时,转入状态A;当IN_FIFO为空时,且NET_FIFO为空时,转入状态C;或者当IN_FIFO为空时,HOST_FIFO为满时,转入状态C;当NET_FIFO、IN_FIFO、HOST_FIFO为空时,转入状态D;
状态C:取HOST_FIFO的数据,当NET_FIFO不为空时,且HOST_FIFO不满时,转入步骤A;当NET_FIFO为空,IN_FIFO不为空时,且HOST_FIFO不为满时,转入步骤B;当HOST_FIFO为空时,转入状态D;
状态D:空闲状态,当NET_FIFO不为空时,转入状态A;当IN_FIFO不为空且NET_FIFO为空时,转入状态B;当HOST_FIFO不为空时且NET_FIFO和IN_FIFO为空时,转入状态C。
当PCI接口的输出等待机制为低时,本地总线处于等待状态,所以在本状态机将SHOST优先级排为第三,由于从外部设备过来的数据速率相对于光纤口速率较慢,将SIN优先级排为第二,SNET优先级为第一。
具体实施方式八、本实施方式为一个实施例。
1、DDR2存储器为DDR2 SDRAM存储器的简称,是第二代双倍数据率同步动态随机存储存储器Double-Data-Rate Two Synchronous Dynamic Random Access Memory,是一种电脑存储器规格。整个硬件电路的核心是FPGA模块,避免了处理器参与产生的不可预期的延迟。
2、数据转换模块31和光纤收发模块32主要完成光纤数据的传输功能。数据转换模块31采用Serdes,Serdes的高速串行接口突破了传统I/O接口数据传输瓶颈。数据转换模块31采用HDMP-1636A芯片。HDMP-1636A芯片支持106.25MB/s的串行数据传输速率,同时还能实现光发送和光接收的数据转换。
3、DDR2存储器11的容量为1Gb。本发明中的存储器需求是高速和大容量,因此选择容量为1Gb的DDR2作为存储器,在使用时,采取深度拓展的方案,其总容量为2Gb。
4、光纤收发模块32采用HFBR-57L5AP芯片。光传输模块采用集成光电转换方案,选择的是HFBR-57L5AP,其支持的最高串行数据传输率为1.0625Gb/s。
5、PCI接口模块4采用PLX9054。PCI接口方面考虑到电路的简便可靠及其缩短开发周期,采用专用的PCI接口芯片PLX9054。
6、串行通讯接口模块2采用MAX485芯片。串行通讯接口模块2为RS422接口,采用MAX485芯片,既符合电气要求又兼容RS485。
本发明中,反射内存网是基于环形或星形的高速复制的共享内存网络,可以在不同系统环境下高速、实时地共享数据。反射内存网基础结构是在每个节点内植入反射内存卡,各节点通过光纤进行通信。相比于星形拓扑结构,环状拓扑结构更适合反射内存网络,因为它的网络特性增强了实时网络的性能。环状拓扑实现可靠的差错检测和校验设计。构成反射内存网后,一个数据包从一个节点出发历遍各个节点。当数据包回到源节点时,返回的数据包与原数据包比较,若不同则触发重发机制,若相同该数据包将被移除。同时,环状物理结构与光纤技术高度相容,通过光纤技术增强网络性能。
Claims (7)
1.反射内存卡的内存访问装置,它包括串行通讯接口模块(2)、PCI接口模块(4);其特征在于,它还包括反射内存模块(1)和光纤接口模块(3);
反射内存模块(1)包括DDR2存储器和FPGA模块;光纤接口模块(3)包括数据转换模块(31)和光纤收发模块(32);
DDR2存储器,用于与FPGA模块实现数据交互;
FPGA模块,用于与PCI接口模块(4)实现上位机数据/命令的数据交互;还用于与数据转换模块(31)实现反射内存网络数据的数据交互;还用于与串行通讯接口模块(2)实现串口通信数据的数据交互;
数据转换模块(31),用于与光纤收发模块(32)实现数据交互;
光纤收发模块(32),用于与光纤网络设备实现光电转换和串并转换;
FPGA模块包括内存写处理模块(11)、内存读处理模块(12)、读写时序逻辑模块(13)、DDR控制器(14)、初始化模块(15)和刷新计数器(16);
内存写处理模块(11),用于接收光纤接口模块(3)发送的数据/FIFO状态信号、串行通讯接口模块(2)发送的数据/FIFO状态信号、PCI接口模块(4)发送的数据/FIFO状态信号和PCI接口模块(4)发送的PCI地址信号,并对接收的信号进行写处理后输出地址信号和数据信号至读写时序逻辑模块(13);还用于与读写时序逻辑模块(13)之间实现写控制信号的数据交互;
内存读处理模块(12),用于与串行通讯接口模块(2)之间实现读信号的数据交互;还用于与读写时序逻辑模块(13)之间实现读控制信号的数据交互;还用于接收读写时序逻辑模块(13)发送的数据信号、PCI接口模块(4)发送的PCI地址信号和PCI接口模块(4)发送的PCI控制信号,并对接收的信号进行读处理,并输出地址信号至读写时序逻辑模块(13)、输出数据/FIFO控制信号至串行通讯接口模块(2)、输出上位机数据至PCI接口模块(4);
读写时序逻辑模块(13),用于对接收的内存写处理模块(11)发送的地址信号、数据信号、写控制信号、内存读处理模块(12)发送的地址信号和读控制信号进行读写时序逻辑处理后,输出控制信号至DDR2控制器(14);还用于与DDR2控制器(14)之间实现数据\地址信号的数据交互;
DDR2控制器(14),用于与DDR2存储器之间实现数据/地址信号的数据交互,还用于接收初始化模块(15)发送的初始化信号、刷新计数器(16)发送的计数信号、读写时序逻辑模块(13)发送的控制信号,并对接收的信号进行处理后输出控制信号至DDR2存储器。
2.根据权利要求1所述的反射内存卡的内存访问装置,其特征在于,所述内存写处理模块(11)包括写入仲裁模块(111)、拆封数据包模块(112)、地址多路开关模块(113)和数据多路开关模块(114);
写入仲裁模块(111),用于接收光纤接口模块(3)发送的NET_FIFO状态信号、串行通讯接口模块(2)发送的IN_FIFO状态信号、PCI接口模块(4)发送的HOST_FIFO状态信号、读写时序逻辑模块(13)发送的写完成/写等待信号,并对接收的信号进行写入仲裁,并输出开关量信号至地址多路开关模块(113)和数据多路开关模块(114),还输出写使能信号至读写时序逻辑模块(13);
拆封数据包模块(112),用于接收光纤接口模块(3)发送的地址/数据信号,并将接收的地址/数据信号进行拆封,并输出地址信号至地址多路开关模块(113),还输出数据信号至数据多路开关模块(114);
地址多路开关模块(113),用于接收拆封数据包模块(112)发送的地址信号、PCI接口模块(4)发送的PCI地址信号,并输出地址信号至读写时序逻辑模块(13);
数据多路开关模块(114),用于接收写入仲裁模块(111)发送的开关量信号、拆封数据包模块(112)发送的数据信号、PCI接口模块(4)发送的数据信号和串行通讯接口模块(2)发送的数据信号,并输出数据信号至读写时序逻辑模块(13)。
3.根据权利要求1所述的反射内存卡的内存访问装置,其特征在于,内存读处理模块(12)包括读信号仲裁模块(121)和数据多路开关模块(122);
读信号仲裁模块(121),用于实现串行通讯接口模块(2)的读使能/读等待/读完成信号之间的数据交互;还用于接收PCI接口模块(4)发送的读使能/读等待/读完成信号、读写时序逻辑模块(13)发送的读等待/读完成信号,并对接收的信号进行读仲裁后输出控制信号至数据多路开关模块(122),输出读使能信号至读写时序逻辑模块(13);
数据多路开关模块(122),用于接收读信号仲裁(121)发送的控制的控制信号和读时序逻辑模块(13)发送的数据信号,并输出数据信号至PCI接口模块(4)、输出数据/FIFO控制信号至串行通讯接口模块(2);PCI接口模块(4)的地址信号通过内存读处理模块(12)后直接传送至读写时序逻辑模块(13)。
4.反射内存卡的内存访问方法,其特征在于,它包括:
用于与FPGA模块实现数据交互的步骤;
用于与PCI接口模块(4)实现上位机数据/命令的数据交互的步骤;还用于与数据转换模块(31)实现反射内存网络数据的数据交互的步骤;还用于与串行通讯接口模块(2)实现串口通信数据的数据交互的步骤;
用于与光纤收发模块(32)实现数据交互的步骤;
用于与光纤网络设备实现光电转换和串并转换的步骤;
用于接收光纤接口模块(3)发送的数据/FIFO状态信号、串行通讯接口模块(2)发送的数据/FIFO状态信号、PCI接口模块(4)发送的数据/FIFO状态信号和PCI接口模块(4)发送的PCI地址信号,并对接收的信号进行写处理后输出地址信号和数据信号至读写时序逻辑模块(13)的步骤;还用于与读写时序逻辑模块(13)之间实现写控制信号的数据交互的步骤;
用于与串行通讯接口模块(2)之间实现读信号的数据交互的步骤;还用于与读写时序逻辑模块(13)之间实现读控制信号的数据交互的步骤;还用于接收读写时序逻辑模块(13)发送的数据信号、PCI接口模块(4)发送的PCI地址信号和PCI接口模块(4)发送的PCI控制信号,并对接收的信号进行读处理,并输出地址信号至读写时序逻辑模块(13)、输出数据/FIFO控制信号至串行通讯接口模块(2)、输出上位机数据至PCI接口模块(4)的步骤;
用于对接收的内存写处理模块(11)发送的地址信号、数据信号、写控制信号、内存读处理模块(12)发送的地址信号和读控制信号进行读写时序逻辑处理后,输出控制信号至DDR2控制器(14)的步骤;还用于与DDR2控制器(14)之间实现数据\地址信号的数据交互的步骤;
用于与DDR2存储器之间实现数据/地址信号的数据交互的步骤,还用于接收初始化模块(15)发送的初始化信号、刷新计数器(16)发送的刷新信号、读写时序逻辑模块(13)发送的控制信号,并对接收的信号进行处理后输出控制信号至DDR2存储器的步骤。
5.根据权利要求4所述的反射内存卡的内存访问方法,其特征在于,该方法包括:
用于接收光纤接口模块(3)发送的NET_FIFO状态信号、串行通讯接口模块(2)发送的IN_FIFO状态信号、PCI接口模块(4)发送的HOST_FIFO状态信号、读写时序逻辑模块(13)发送的写完成/写等待信号,并对接收的信号进行写入仲裁,并输出开关量信号至地址多路开关模块(113)和数据多路开关模块(114),还输出写使能信号至读写时序逻辑模块(13)的步骤;
用于接收光纤接口模块(3)发送的地址/数据信号,并将接收的地址/数据信号进行拆封,并输出地址信号至地址多路开关模块(113),还输出数据信号至数据多路开关模块(114)的步骤;
用于接收拆封数据包模块(112)发送的地址信号、PCI接口模块(4)发送的PCI地址信号,并输出地址信号至读写时序逻辑模块(13)的步骤;
用于接收写入仲裁模块(111)发送的开关量信号、拆封数据包模块(112)发送的数据信号、PCI接口模块(4)发送的数据信号和串行通讯接口模块(2)发送的数据信号,并输出数据信号至读写时序逻辑模块(13)的步骤。
6.根据权利要求4所述的反射内存卡的内存访问方法,其特征在于,该方法包括:
用于实现串行通讯接口模块(2)的读使能/读等待/读完成信号之间的数据交互的步骤;还用于接收PCI接口模块(4)发送的读使能/读等待/读完成信号、读写时序逻辑模块(13)发送的读等待/读完成信号,并对接收的信号进行读仲裁后输出控制信号至数据多路开关模块(122),输出读使能信号至读写时序逻辑模块(13)的步骤;
用于接收读信号仲裁(121)发送的控制的控制信号和读时序逻辑模块(13)发送的数据信号,并输出数据信号至PCI接口模块(4)、输出数据/FIFO控制信号至串行通讯接口模块(2)的步骤;
PCI接口模块(4)的地址信号通过内存读处理模块(12)后直接传送至读写时序逻辑模块(13)的步骤。
7.根据权利要求5所述的反射内存卡的内存访问方法,其特征在于,所述写入仲裁过程为:
设置四个状态位:第一优先级:SNET状态位:NET_FIFO获许写入DDR2存储器;
第二优先级:SIN状态位:IN_FIFO获许写入DDR2存储器;
第三优先级:SHOST状态位:HOST_FIFO获许写入DDR2存储器;
第四优先级:SIDLE状态位:空闲状态;
在考虑各个FIFO优先级的情况下,同时保证各个FIFO不会溢出,具体如下:
状态A:取NET_FIFO数据,当NET_FIFO为空时,且IN_FIFO不为空,HOST_FIFO不满时,转入状态B;当NET_FIFO为空时,且IN_FIFO为空,HOST_FIFO不为空,转入状态C;当NET_FIFO、IN_FIFO、HOST_FIFO为空时,转入状态D;
状态B:取IN_FIFO数据,当NET_FIFO不为空时,且IN_FIFO和HOST_FIFO不满时,转入状态A;当IN_FIFO为空时,且NET_FIFO为空时,转入状态C;或者当IN_FIFO为空时,HOST_FIFO为满时,转入状态C;当NET_FIFO、IN_FIFO、HOST_FIFO为空时,转入状态D;
状态C:取HOST_FIFO的数据,当NET_FIFO不为空时,且HOST_FIFO不满时,转入步骤A;当NET_FIFO为空,IN_FIFO不为空时,且HOST_FIFO不为满时,转入步骤B;当HOST_FIFO为空时,转入状态D;
状态D:空闲状态,当NET_FIFO不为空时,转入状态A;当IN_FIFO不为空且NET_FIFO为空时,转入状态B;当HOST_FIFO不为空时且NET_FIFO和IN_FIFO为空时,转入状态C。5 -->
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510054613.8A CN104572487B (zh) | 2015-02-02 | 2015-02-02 | 反射内存卡的内存访问装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510054613.8A CN104572487B (zh) | 2015-02-02 | 2015-02-02 | 反射内存卡的内存访问装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572487A true CN104572487A (zh) | 2015-04-29 |
CN104572487B CN104572487B (zh) | 2017-06-13 |
Family
ID=53088616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510054613.8A Active CN104572487B (zh) | 2015-02-02 | 2015-02-02 | 反射内存卡的内存访问装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572487B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107643989A (zh) * | 2016-07-22 | 2018-01-30 | 北京中科信电子装备有限公司 | 一种基于pci总线协议双光纤环路冗余结构通讯板卡 |
CN107656881A (zh) * | 2017-09-13 | 2018-02-02 | 中国科学院半导体研究所 | 基于fpga的数据存储通路系统 |
CN108304215A (zh) * | 2017-12-15 | 2018-07-20 | 山东超越数控电子股份有限公司 | 一种基于国产平台的显存优化实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248471A (zh) * | 2013-05-22 | 2013-08-14 | 哈尔滨工业大学 | 基于ptp协议与反射内存网的时钟同步方法 |
WO2013165379A1 (en) * | 2012-04-30 | 2013-11-07 | Hewlett-Packard Development Company, L.P. | Reflective memory bridge for external computing nodes |
CN103685422A (zh) * | 2012-09-21 | 2014-03-26 | 北京航天长征飞行器研究所 | 光纤反射内存网的动态实时数据关联方法 |
CN103761137A (zh) * | 2014-01-07 | 2014-04-30 | 中国电子科技集团公司第八研究所 | 光纤反射内存卡及光纤反射内存网 |
-
2015
- 2015-02-02 CN CN201510054613.8A patent/CN104572487B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013165379A1 (en) * | 2012-04-30 | 2013-11-07 | Hewlett-Packard Development Company, L.P. | Reflective memory bridge for external computing nodes |
CN103685422A (zh) * | 2012-09-21 | 2014-03-26 | 北京航天长征飞行器研究所 | 光纤反射内存网的动态实时数据关联方法 |
CN103248471A (zh) * | 2013-05-22 | 2013-08-14 | 哈尔滨工业大学 | 基于ptp协议与反射内存网的时钟同步方法 |
CN103761137A (zh) * | 2014-01-07 | 2014-04-30 | 中国电子科技集团公司第八研究所 | 光纤反射内存卡及光纤反射内存网 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107643989A (zh) * | 2016-07-22 | 2018-01-30 | 北京中科信电子装备有限公司 | 一种基于pci总线协议双光纤环路冗余结构通讯板卡 |
CN107643989B (zh) * | 2016-07-22 | 2022-05-10 | 北京中科信电子装备有限公司 | 一种基于pci总线协议双光纤环路冗余结构通讯板卡 |
CN107656881A (zh) * | 2017-09-13 | 2018-02-02 | 中国科学院半导体研究所 | 基于fpga的数据存储通路系统 |
CN108304215A (zh) * | 2017-12-15 | 2018-07-20 | 山东超越数控电子股份有限公司 | 一种基于国产平台的显存优化实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104572487B (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100471156C (zh) | 数据总线桥接器及其工作方法 | |
CN102141971B (zh) | 具有大容量存储功能的1553b硬件定时通讯模块 | |
CN108228513B (zh) | 一种基于fpga架构的智能串口通讯装置 | |
CN101799678B (zh) | 一种三路异步串口数据实时同步发送系统 | |
CN101770817A (zh) | 基于fpga的多接口存储器验证系统 | |
CN103593306A (zh) | 一种协议处理器Cache控制单元的设计方法 | |
CN109308030A (zh) | 一种基于EtherCAT总线的伺服驱动控制系统 | |
CN102841869A (zh) | 一种基于fpga的多通道i2c控制器 | |
CN103714026A (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
CN100458663C (zh) | 一种低功耗内存控制方法和内存控制模块 | |
CN104572487A (zh) | 反射内存卡的内存访问装置及方法 | |
CN105373511B (zh) | 一种与多个光模块可同时通信的装置和方法 | |
CN103901814A (zh) | 一种多轴运动数控系统 | |
CN103377170B (zh) | 异构处理器间spi高速双向对等数据通信系统 | |
CN206946471U (zh) | 一种多通道共享读写sdram的电路装置 | |
CN106372029A (zh) | 一种基于中断的点对点片内通信模块 | |
CN102023947A (zh) | Ieee1394总线与高速智能统一总线的直接接口方法 | |
CN201336032Y (zh) | 一种软件模拟串行数据传输装置 | |
CN102117244B (zh) | Soc中支持多个音视频ip核寻址的ddr2的控制方法 | |
CN107370651B (zh) | 一种spi从机之间的通信方法 | |
CN103902229B (zh) | 刀片存储装置 | |
CN102591817B (zh) | 一种多总线桥控制器及其实现方法 | |
US20110314197A1 (en) | Data processing system | |
CN203849590U (zh) | 多轴运动数控系统 | |
CN101877242B (zh) | 具隐藏更新及双端口能力的sram兼容嵌入式dram装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |