基于FPGA的60X总线桥接系统、方法及介质转让专利

申请号 : CN201910074231.X

文献号 : CN109840233B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孔祥雷徐曙清李悦坤陆发忠

申请人 : 上海创景信息科技有限公司

摘要 :

本发明提供了一种基于FPGA的60X总线桥接系统、方法及介质,包括:主桥控制模块:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;DDR2控制模块:根据接收到的控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑。本发明具独立的60X总线响应时序技术,不受外部模块影响,能保证处理器稳定性,各总线接口具有多缓存同时相互独立,降低了处理器的响应时间,提高了总线访问速率。本发明将PowerPC处理器和FPGA芯片相连接,利用FPGA实现将60X总线转为各个外设芯片接口,替换了原先的60X专用桥转接芯片;性能更高、连接灵活方便且易于扩展。

权利要求 :

1.一种基于FPGA的60X总线桥接系统,其特征在于,包括:主桥控制模块:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;

DDR2控制模块:根据接收到的控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑;

以太网控制模块:根据接收到的控制信息,缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑;

串口控制模块:根据接收到的控制信息,缓存来自60X总线的串口数据,并实现通用异步收发传输器UART的发送和接收的控制逻辑;

定时器模块:实现CPU的定时器功能;

控制寄存器模块:根据接收到的控制信息及地址译码,对配置寄存器进行配置操作;

所述主桥控制模块:响应60X总线的时序,并将60X总线进行译码,获得地址译码,根据所述地址译码,发送控制信息至地址译码对应的控制接口;

所述控制接口包括以下任一种或任多种:DDR控制接口、以太网控制接口、串口控制接口;

所述控制信息包括以下任一种或任多种:控制指令、60X总线数据;

60X总线数据包括以下任一种或任多种:DDR通信数据、以太网数据、串口数据;

DDR控制接口:将接收到的控制信息发送至DDR2控制模块,调用DDR2控制模块;

以太网控制接口:将接收到的控制信息发送至以太网控制模块,调用DDR2控制模块;

串口控制接口:将接收到的控制信息发送至以串口控制模块,调用串口控制模块;

所述控制寄存器模块包括以下任一种或任多种:进行全局复位、进行以太网控制配置、进行串口配置、进行定时器配置。

2.根据权利要求1所述的基于FPGA的60X总线桥接系统,其特征在于,所述配置寄存器包括以下任一种或任多种:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。

3.一种基于FPGA的60X总线桥接方法,其特征在于,包括:主桥控制步骤:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;

DDR2控制步骤:根据控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑;

以太网控制步骤:根据控制信息,缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑;

串口控制步骤:根据控制信息,缓存来自60X总线的串口数据,并实现通用异步收发传输器UART的发送和接收的控制逻辑;

定时器步骤:实现CPU的定时器功能;

控制寄存器步骤:根据接收到的控制信息及地址译码,对配置寄存器进行配置操作;

所述主桥控制步骤:响应60X总线的时序,并将60X总线进行译码,获得地址译码,根据所述地址译码,发送控制信息至地址译码对应的控制接口,进入控制接口调用步骤继续执行;

所述控制接口包括以下任一种或任多种:DDR控制接口、以太网控制接口、串口控制接口;

所述控制信息包括以下任一种或任多种:控制指令、60X总线数据;

60X总线数据包括以下任一种或任多种:DDR通信数据、以太网数据、串口数据;

所述控制接口调用步骤包括:

DDR控制接口调用步骤:将接收到的控制信息发送至DDR2控制模块,进入DDR2控制步骤继续执行;

以太网控制接口调用步骤:将接收到的控制信息发送至以太网控制模块,进入DDR2控制步骤继续执行;

串口控制接口调用步骤:将接收到的控制信息发送至以串口控制模块,进入串口控制步骤继续执行;

所述控制寄存器步骤包括以下任一种或任多种:调用配置寄存器进行全局复位、配置寄存器进行以太网控制配置、配置寄存器进行串口配置、配置寄存器进行定时器配置。

4.根据权利要求3所述的基于FPGA的60X总线桥接方法,其特征在于,所述配置寄存器包括以下任一种或任多种:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。

5.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求3至4中任一项所述的基于FPGA的60X总线桥接方法的步骤。

说明书 :

基于FPGA的60X总线桥接系统、方法及介质

技术领域

[0001] 本发明涉及计算机技术领域,具体地,涉及基于FPGA的60X总线桥接系统、方法及介质。

背景技术

[0002] 基于FPGA的60X总线桥芯片是PowerPC处理系统重要组成部分,能够已广泛应用于通信、航空航天、医疗设备以及汽车电子等领域,尤其是应用在是高性能、高可靠性、高安全电子系统领域。基于FPGA的60X总线桥接芯片能够将PowerPC处理器的60X总线转为MII的以太网接口、MIG的DDR2接口、串口以及Local Bus接口等。
[0003] 随着系统处理数据的不断增大、数据传输带宽不断增强,对总线桥的通信能力以及性能具有更高的要求,具有强实时、低延时、高性能、高稳定的总线桥能够保障整个系统的长时间稳定运行。
[0004] 但是,现在的电子系统中,一般都是采用桥接芯片与主处理器连接,在使用时需要对外部桥接芯片进行初始化,增加了系统开发难度,系统实时性不好;一些采用了FPGA实现PCIE总线作为桥接芯片,不能满足PowerPC架构的总线系统需求;一些采用CPLD实现PowerPC 60X总线转Local Bus总线,功能单一不能满足系统实时性以及高性能需求。
[0005] 专利文献CN206178791U(申请号:201621015221.7)公开了一种基于FPGA的PCIE总线桥接口,包括CPU模块,所述CPU模块通过PCIE总线和可编程芯片相连,所述可编程芯片通过不同的总线和相对应的外部设备相连,所述可编程芯片和外部设备的连接总线上设有上拉调节电阻、下拉调节电阻或匹配电容,所述不同的总线包括I2C总线、SPI总线、UART总线、CAN总线和/或PCI总线;所述可编程芯片为FPGA模块或CPLD模块。
[0006] 专利文献CN107203484A(申请号:201710498016.3)公开了一种基于FPGA的PCIe与SRIO总线桥接系统,其中,PCIe IP核用于与上游设备数据交互,将上游设备发来的数据包转换为AXI4总线事务,将内部的AXI4总线事务转换为PCIe数据包,发送给上游设备;SRIO IP核,用于与对端SRIO设备通信;SRIO主模式DMA传输控制器模块用于主动发起数据请求;SRIO从模式DMA传输控制器模块用于响应对端设备的数据请求;Microblaze处理器用于执行系统初始化配置以及数据传输的调度工作;数据缓存模块用于PCIe与SRIO总线进行数据交互过程中,对中间过程数据进行暂存。该专利实现的功能不一样,实现接口转换单一,也不具有转换实时性强,低延时的特点。
[0007] 专利文献CN104484299A(申请号:201410741904.X)提供一种松耦合的Lockstep处理器系统,包括具有60x总线接口的处理器、处理器总线接口、PLB总线、DDR2SDRAM存储器接口、异步总线外设接口;处理器总线接口实现PLB 60X总线时序转换;PLB总线由FPGA实现,DDR2SDRAM存储器接口与FPGA中的MIG接口实现PLB对同步耦合DDR2的访问;异步总线外设接口通过PLB总线访问耦合的外设。对比专利是由60X总线转PLB总线,不具有接口相互独立,多缓存的技术特点。

发明内容

[0008] 针对现有技术中的缺陷,本发明的目的是提供一种基于FPGA的60X总线桥接系统、方法及介质。
[0009] 根据本发明提供的一种基于FPGA的60X总线桥接系统,包括:
[0010] 主桥控制模块:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;
[0011] DDR2控制模块:根据接收到的控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑;
[0012] 以太网控制模块:根据接收到的控制信息,缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑;
[0013] 串口控制模块:根据接收到的控制信息,缓存来自60X总线的串口数据,并实现通用异步收发传输器UART的发送和接收的控制逻辑;
[0014] 定时器模块:实现CPU的定时器功能;
[0015] 控制寄存器模块:根据接收到的控制信息及地址译码,对配置寄存器进行配置操作。
[0016] 优选地,所述主桥控制模块:响应60X总线的时序,并将60X总线进行译码,获得地址译码,根据所述地址译码,发送控制信息至地址译码对应的控制接口;
[0017] 所述控制接口包括以下任一种或任多种:DDR控制接口、以太网控制接口、串口控制接口;
[0018] 所述控制信息包括以下任一种或任多种:控制指令、60X总线数据;
[0019] 60X总线数据包括以下任一种或任多种:DDR通信数据、以太网数据、串口数据;
[0020] DDR控制接口:将接收到的控制信息发送至DDR2控制模块,调用DDR2控制模块;
[0021] 以太网控制接口:将接收到的控制信息发送至以太网控制模块,调用DDR2控制模块;
[0022] 串口控制接口:将接收到的控制信息发送至以串口控制模块,调用串口控制模块。
[0023] 优选地,所述控制寄存器模块包括以下任一种或任多种:进行全局复位、进行以太网控制配置、进行串口配置、进行定时器配置。
[0024] 优选地,所述配置寄存器包括以下任一种或任多种:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。
[0025] 根据本发明提供的一种基于FPGA的60X总线桥接方法,包括:
[0026] 主桥控制步骤:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;
[0027] DDR2控制步骤:根据控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑;
[0028] 以太网控制步骤:根据控制信息,缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑;
[0029] 串口控制步骤:根据控制信息,缓存来自60X总线的串口数据,并实现通用异步收发传输器UART的发送和接收的控制逻辑;
[0030] 定时器步骤:实现CPU的定时器功能;
[0031] 控制寄存器步骤:根据接收到的控制信息及地址译码,对配置寄存器进行配置操作。
[0032] 优选地,所述主桥控制步骤:响应60X总线的时序,并将60X总线进行译码,获得地址译码,根据所述地址译码,发送控制信息至地址译码对应的控制接口,进入控制接口调用步骤继续执行;
[0033] 所述控制接口包括以下任一种或任多种:DDR控制接口、以太网控制接口、串口控制接口。
[0034] 优选地,所述控制信息包括以下任一种或任多种:控制指令、60X总线数据;
[0035] 60X总线数据包括以下任一种或任多种:DDR通信数据、以太网数据、串口数据;
[0036] 所述控制接口调用步骤包括:
[0037] DDR控制接口调用步骤:将接收到的控制信息发送至DDR2控制模块,进入DDR2控制步骤继续执行;
[0038] 以太网控制接口调用步骤:将接收到的控制信息发送至以太网控制模块,进入DDR2控制步骤继续执行;
[0039] 串口控制接口调用步骤:将接收到的控制信息发送至以串口控制模块,进入串口控制步骤继续执行。
[0040] 优选地,所述控制寄存器步骤包括以下任一种或任多种:调用配置寄存器进行全局复位、配置寄存器进行以太网控制配置、配置寄存器进行串口配置、配置寄存器进行定时器配置。
[0041] 优选地,所述配置寄存器包括以下任一种或任多种:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。
[0042] 根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的基于FPGA的60X总线桥接方法的步骤。
[0043] 与现有技术相比,本发明具有如下的有益效果:
[0044] 1、本发明采用总线数据多缓存技术,CPU的响应时间快,传输延时低,实时性更好,是CPU有更多的时间去处理其他任务;
[0045] 2、本发明采用60X总线转接口相互独立技术,使得各模块相互独立,不会影响其他模块,提高了通信总线以及系统的稳定性,同时提高了通信总线的性能;
[0046] 3、本发明的60X总线响应支持突发模式,提高了总线的传输能力,具有高速率的特点,并进一步提高了系统的实时性;
[0047] 4、本发明采用了专用60X总线时序响应模块用来专门处理CPU的总线响应,不用等待外部设备响应时间,尤其是CPU写时序,使系统具有更低的通信延时,提高了通信的速率,并且提高了系统的稳定性,避免了受外部设备影响而造成的总线卡死现象。
[0048] 5、本发明具独立的60X总线响应时序技术,不受外部模块影响,能保证处理器稳定性,各总线接口具有多缓存同时相互独立,降低了处理器的响应时间,提高了总线访问速率。
[0049] 6、本发明将PowerPC处理器和FPGA芯片相连接,利用FPGA实现将60X总线转为各个外设芯片接口,替换了原先的60X专用桥转接芯片;性能更高、连接灵活方便且易于扩展。

附图说明

[0050] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0051] 图1为本发明提供的基于FPGA的60X总线桥接系统、方法及介质的基于FPGA的60X总线桥逻辑示意图。
[0052] 图2为本发明提供的基于FPGA的60X总线桥接系统、方法及介质的60X总线主桥模块功能逻辑示意图。
[0053] 图3为本发明提供的基于FPGA的60X总线桥接系统、方法及介质的基于FPGA的60X总线桥接设计示意图。
[0054] 图4为本发明提供的基于FPGA的60X总线桥接系统、方法及介质的CPU 60X总线读时序示意图。
[0055] 图5为本发明提供的基于FPGA的60X总线桥接系统、方法及介质的具体操作流程示意图。

具体实施方式

[0056] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0057] 根据本发明提供的一种基于FPGA的60X总线桥接系统,包括:
[0058] 主桥控制模块:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;
[0059] DDR2控制模块:根据接收到的控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑;
[0060] 以太网控制模块:根据接收到的控制信息,缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑;
[0061] 串口控制模块:根据接收到的控制信息,缓存来自60X总线的串口数据,并实现通用异步收发传输器UART的发送和接收的控制逻辑;
[0062] 定时器模块:实现CPU的定时器功能;
[0063] 控制寄存器模块:根据接收到的控制信息及地址译码,对配置寄存器进行配置操作。
[0064] 具体地,所述主桥控制模块:响应60X总线的时序,并将60X总线进行译码,获得地址译码,根据所述地址译码,发送控制信息至地址译码对应的控制接口;
[0065] 所述控制接口包括以下任一种或任多种:DDR控制接口、以太网控制接口、串口控制接口;
[0066] 所述控制信息包括以下任一种或任多种:控制指令、60X总线数据;
[0067] 60X总线数据包括以下任一种或任多种:DDR通信数据、以太网数据、串口数据;
[0068] DDR控制接口:将接收到的控制信息发送至DDR2控制模块,调用DDR2控制模块;
[0069] 以太网控制接口:将接收到的控制信息发送至以太网控制模块,调用DDR2控制模块;
[0070] 串口控制接口:将接收到的控制信息发送至以串口控制模块,调用串口控制模块。
[0071] 具体地,所述控制寄存器模块包括以下任一种或任多种:进行全局复位、进行以太网控制配置、进行串口配置、进行定时器配置。
[0072] 具体地,所述配置寄存器包括以下任一种或任多种:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。
[0073] 本发明提供的基于FPGA的60X总线桥接系统,可以通过本发明给的基于FPGA的60X总线桥接方法的步骤流程实现。本领域技术人员可以将所述基于FPGA的60X总线桥接方法,理解为所述基于FPGA的60X总线桥接系统的一个优选例。
[0074] 根据本发明提供的一种基于FPGA的60X总线桥接方法,包括:
[0075] 主桥控制步骤:对PowerPC处理器60X总线进行译码处理,获得地址译码,输出控制信息及地址译码;
[0076] DDR2控制步骤:根据控制信息,缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑;
[0077] 以太网控制步骤:根据控制信息,缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑;
[0078] 串口控制步骤:根据控制信息,缓存来自60X总线的串口数据,并实现通用异步收发传输器UART的发送和接收的控制逻辑;
[0079] 定时器步骤:实现CPU的定时器功能;
[0080] 控制寄存器步骤:根据接收到的控制信息及地址译码,对配置寄存器进行配置操作。
[0081] 具体地,所述主桥控制步骤:响应60X总线的时序,并将60X总线进行译码,获得地址译码,根据所述地址译码,发送控制信息至地址译码对应的控制接口,进入控制接口调用步骤继续执行;
[0082] 所述控制接口包括以下任一种或任多种:DDR控制接口、以太网控制接口、串口控制接口。
[0083] 具体地,所述控制信息包括以下任一种或任多种:控制指令、60X总线数据;
[0084] 60X总线数据包括以下任一种或任多种:DDR通信数据、以太网数据、串口数据;
[0085] 所述控制接口调用步骤包括:
[0086] DDR控制接口调用步骤:将接收到的控制信息发送至DDR2控制模块,进入DDR2控制步骤继续执行;
[0087] 以太网控制接口调用步骤:将接收到的控制信息发送至以太网控制模块,进入DDR2控制步骤继续执行;
[0088] 串口控制接口调用步骤:将接收到的控制信息发送至以串口控制模块,进入串口控制步骤继续执行。
[0089] 具体地,所述控制寄存器步骤包括以下任一种或任多种:调用配置寄存器进行全局复位、配置寄存器进行以太网控制配置、配置寄存器进行串口配置、配置寄存器进行定时器配置。
[0090] 具体地,所述配置寄存器包括以下任一种或任多种:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。
[0091] 根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的基于FPGA的60X总线桥接方法的步骤。
[0092] 下面通过优选例,对本发明进行更为具体地说明。
[0093] 实施例1:
[0094] 基于FPGA的60X通信总线多缓存桥接设计
[0095] 以PowerPC750读取外部Flash数据为例:
[0096] 1)PowerPC750通过60X总线发送读指令及读地址并等待指令响应,CPU接收来自主桥模块中的60X总线响应时序,并发送读数据指令给60X总线地址译码,并等待读数据结果;如图4、图5所示,为60X总线读写时序,当PowerPC750发送地址A[0-31]以及读指令TT[0-4],主桥模块给出BG、DBG、AACK应答信号,当PowerPC750接收到AACK应答信号后等待TA信号,即等待需要读取的数据。
[0097] 2)FPGA中主桥模块中的60X总线地址译码接收到读指令,将地址译码到Flash总线(Local Bus)上,并给出读控制信号,给Flash控制接口;
[0098] 3)Flash控制接口接收到控制信号,根据控制类型判断是否突发,如果为突发读操作,则由Flash控制逻辑先从外部Flash中读取64字节的数据,整合数据返回给60X总线响应模块,并回应CPU结果完成数据读取;如果为一般模式则由Flash控制逻辑先从外部Flash中读取8字节的数据,整合数据并返回给60X总线响应模块,并回应CPU结果,完成数据读取。
[0099] 实施例2:
[0100] 基于FPGA的60X通信总线多缓存桥接设计
[0101] 以PowerPC750写外部Flash数据为例:
[0102] 1)PowerPC750通过60X总线发送写指令及写地址给FPGA并等待指令响应,CPU接收来自FPGA中主桥模块中的60X总线响应时序,并发送写数据指令给60X总线地址译码,并完成一次写操作;
[0103] 2)FPGA中主桥模块中的60X总线地址译码接收到写指令,将地址译码到Flash总线(Local Bus)上,并给出写控制信号及数据,给Flash控制接口;
[0104] 3)Flash控制接口接收到控制信号和数据,根据控制类型判断是否突发,如果为突发写操作,则由Flash控制逻辑将64字节的数据一次以1字节为操作单位写到外部Flash接口上;如果为一般模式则由Flash控制逻辑将8字节的数据一次以1字节为操作单位写到外部Flash接口上。
[0105] 实施例3:
[0106] 以PowerPC750读取外部以太网数据为例:
[0107] 1)PowerPC750通过60X总线发送读指令及读地址并等待指令响应,CPU接收来自主桥模块中的60X总线响应时序,并发送读数据指令给60X总线地址译码,并等待读数据结果;
[0108] 2)FPGA中主桥模块中的60X总线地址译码接收到读指令,将地址译码到以太网(LocalLink)接口上,并给出读控制信号给以太网控制接口;
[0109] 3)以太网控制接口接收到控制信号,根据控制类型判断是否突发,如果为突发读操作,则由以太网控制逻辑先从缓存中读取64字节的数据,整合数据返回给60X总线响应模块,并回应CPU结果完成数据读取;如果为一般模式则由以太网控制逻辑从缓存中读取8字节的数据,整合数据并返回给60X总线响应模块,并回应CPU结果,完成数据读取。
[0110] 实施例4:
[0111] 基于FPGA的60X通信总线多缓存桥接设计
[0112] 以PowerPC750写以太网数据为例:
[0113] 1)PowerPC750通过60X总线发送写指令及写地址给FPGA并等待指令响应,PowerPC750接收来自FPGA中主桥模块中的60X总线响应时序,并发送写数据指令给60X总线地址译码,并完成一次写操作;如图5所示,为PowerPC750写时序,PowerPC750接收主桥模块给出的AACK信号(主桥模块对60X总线写指令的响应)
[0114] 2)FPGA中主桥模块中的60X总线地址译码接收到写指令,将地址译码到以太网(LocalLink)接口上,并给出写控制信号及数据,给以太网控制接口;
[0115] 3)以太网控制接口接收到控制信号和数据,根据控制类型判断是否突发,如果为突发写操作,则由以太网控制逻辑将64字节的数据一次以1字节为操作单位写到以太网控制器接口上,并发送出去;如果为一般模式则由以太网控制逻辑将8字节的数据一次以1字节为操作单位写到以太网控制器接口上,并发送出去。
[0116] 实施例5:
[0117] 以PowerPC750读取外部DDR2数据为例:
[0118] 1)PowerPC750通过60X总线发送读指令及读地址并等待指令响应,CPU接收来自主桥模块中的60X总线响应时序,并发送读数据指令给60X总线地址译码,并等待读数据结果;
[0119] 2)FPGA中主桥模块中的60X总线地址译码接收到读指令,将地址译码到DDR2控制接口(MII)上,并给出读控制信号给DDR2控制接口;
[0120] 3)DDR2控制接口接收到控制信号,根据控制类型判断是否突发,如果为突发读操作,则由DDR2控制逻辑以突发模式读取DDR2内存数据,整合数据返回给60X总线响应模块,并回应CPU结果完成数据读取;如果为一般模式则由DDR2控制逻辑从DDR2内存中读取8字节的数据,并返回给60X总线响应模块,并回应CPU结果,完成数据读取。
[0121] 实施例6:
[0122] 基于FPGA的60X通信总线多缓存桥接设计
[0123] 以PowerPC750写DDR2数据为例:
[0124] 1)PowerPC750通过60X总线发送写指令及写地址给FPGA并等待指令响应,CPU接收来自FPGA中主桥模块中的60X总线响应时序,并发送写数据指令给60X总线地址译码,并完成一次写操作;
[0125] 2)FPGA中主桥模块中的60X总线地址译码接收到写指令,将地址译码到DDR2控制接口(MII)上,并给出写控制信号及数据,给DDR2控制接口;
[0126] 3)DDR2控制接口接收到控制信号和数据,根据控制类型判断是否突发,如果为突发写操作,则由DDR2控制逻辑将64字节的数据发送给数据缓存,并由缓存控制逻辑以8字节为操作单位写到DDR2控制器接口上,并发送出去;如果为一般模式则由DDR2控制逻辑将8字节的数据写到DDR2控制器接口上,并发送出去。
[0127] 实施例7:
[0128] 以PowerPC750读取串口数据为例:
[0129] 1)PowerPC750通过60X总线发送读指令及读地址并等待指令响应,CPU接收来自主桥模块中的60X总线响应时序,并发送读数据指令给60X总线地址译码,并等待读数据结果;
[0130] 2)FPGA中主桥模块中的60X总线地址译码接收到读指令,将地址译码到UART接口上,并给出读控制信号给UART控制接口;
[0131] 3)UART控制接口接收到控制信号,根据控制类型判断是否突发,如果为突发读操作,则由UART控制逻辑先从缓存中读取64字节的数据,整合数据返回给60X总线响应模块,并回应CPU结果完成数据读取;如果为一般模式则由UART控制逻辑从缓存中读取8字节的数据,并返回给60X总线响应模块,并回应CPU结果,完成数据读取。
[0132] 实施例8:
[0133] 基于FPGA的60X通信总线多缓存桥接设计
[0134] 以PowerPC750写串口数据为例:
[0135] 1)PowerPC750通过60X总线发送写指令及写地址给FPGA并等待指令响应,CPU接收来自FPGA中主桥模块中的60X总线响应时序,并发送写数据指令给60X总线地址译码,并完成一次写操作;
[0136] 2)FPGA中主桥模块中的60X总线地址译码接收到写指令,将地址译码到UART控制接口(MII)上,并给出写控制信号及数据,给UART控制接口;
[0137] 3)UART控制接口接收到控制信号和数据,根据控制类型判断是否突发,如果为突发写操作,则由UART控制逻辑将64字节的数据写入缓存并由缓存逻辑以1字节为操作单位写到UART控制器接口上,并发送出去;如果为一般模式则由UART控制逻辑将8字节的数据发送给缓存并以1字节为操作单位写到UART控制器接口上,并发送出去。
[0138] 实施例9:
[0139] 基于FPGA的60X总线桥包括以下模块:主桥模块、DDR2控制模块、以太网控制模块、串口模块、定时器模块以及控制寄存器模块。主桥模块对PowerPC处理器60X总线进行译码处理,并识别出总线访问地址空间,分别对各模块进行读写操作,具体操作流程如图5所示,地址空间分配如下表所示:
[0140]序号 地址空间 访问模块
1 0x00000000~0x20000000 DDR2控制模块
2 0xc0000000~0xc0FFFFFF 控制器模块/定时器模块
3 0xc1000000~0xc1FFFFFF 串口模块
4 0xc3000000~0xc3FFFFFF 以太网模块
[0141] 主桥模块,其用于响应60X总线的时序,并将60X总线进行译码,转为DDR控制接口、以太网控制接口、串口控制接口以及Flash控制接口。如图4所示,为60X总线时序,当PowerPC750为写时,BG、DBG、AACK为主桥模块响应60X总线的应答信号;PowerPC750读时时,BG、DBG、AACK、TA以及D[0-63]为主桥模块响应60X总线的信号。
[0142] DDR2控制模块,用于缓存来自60X总线DDR通信数据,并控制外部DDR2内存逻辑。
[0143] 以太网控模块,用于缓存来自60X总线的以太网数据,并控制以太网MII接口逻辑。
[0144] 串口模块,用于缓存来自60X总线的串口数据,并实现UART的发送和接收控制逻辑。
[0145] 定时器模块,用于实现CPU的定时器功能,实现CPU的tick。
[0146] 控制寄存器模块是整个桥功能的控制寄存器,寄存器内容包括:全局复位、以太网控制配置、串口配置以及定时器配置。控制寄存器模块包括:全局复位寄存器、以太网配置寄存器组、串口配置寄存器组以及定时器配置寄存器组。控制寄存器模块在接收到主桥模块的控制命令,根据地址译码对内部各模块的配置寄存器进行配置操作。如控制寄存器模块在收到主桥模块对全局复位寄存器的复位操作时,会对FPGA内各模块进行复位操作。
[0147] 在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
[0148] 本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
[0149] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。