一种基于nios II的服务器系统不同分区的时序控制方法
技术领域
本发明涉及计算机服务器技术领域,具体地说是一种实用性强、基于nios II的服务器系统不同分区的时序控制方法。
背景技术
普通的服务器系统在使用时一般都固定了分区模式,这就导致在工作时不能进行灵活的分区配置,而且单一PCH的工作模式不能更好地提供冗余功能。对于多路服务器系统而言,根据需求灵活配置成不同的分区模式已经成为发展趋势。
在不同分区配置模式和multi-PCH工作模式下,服务器系统的工作时序是不同的,基于此,现提供一种基于nios II的服务器系统不同分区的时序控制方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于nios II的服务器系统不同分区的时序控制方法。
一种基于nios II的服务器系统不同分区的时序控制方法,其具体实现过程为:
首先,构建nios II软核处理器的时序控制系统,该时序控制系统包括以下功能模块:时序模块、I2C模块、SDRAM控制模块、片外flash存储控制模块、CPU模块、分区模式侦测模块,所有功能模块均通过Avalon总线连接;
分区模式侦测模块实时侦测系统的分区模式,然后发送分区模式信号到CPU模块;
CPU模块根据分区模式信号,产生控制信号发送到时序模块来选择相应的分区工作时序,时序模块产生时序信息并返回CPU模块,该CPU模块通过I2C模块与管理电路进行通信,并向该管理电路反馈分区模式及时序信息;
时序模块根据nios II软核的CPU模块发送的控制信号进行不同的子时序模块的选择,该子时序模块包括单两路、双两路、单四路、双四路、六路/八路、单PCH、双PCH模块。
所述系统中的时序模块是通过Verilog HDL代码来实现,该时序模块接收来自CPU模块发送来的分区模式控制信号后通过控制逻辑进行解析,然后选择相应的子时序模块工作,并反馈工作状态。
所述I2C模块用于时序控制系统与管理电路之间的通信,该模块顺序包括I2C总线接口模块、字节控制模块和位控制模块,且该模块将接收到的数据转换成bit流处理或者将需要发送的数据转换为字节进行处理。
所述分区模式侦测模块通过接收服务器系统中的在位信息自动判断出采用的分区配置模式,并发送分区模式信号到CPU模块进行处理,同时打开使能信号EN;如果侦测到输入信号异常,则关闭使能信号,确保时序控制系统不会工作;上述在位信息包括CPU、CPUBoard、PCH、PCH Board的在位信息。
本发明的一种基于nios II的服务器系统不同分区的时序控制方法,具有以下优点:
该发明的一种基于nios II的服务器系统不同分区的时序控制方法
本发明提出的一种基于nios II的服务器系统不同分区的时序控制方法,能够灵活地控制时序,采用基于FPGA的nios II软核来实现控制处理功能,既节省硬件外围电路,节省芯片种类,节约成本,又具有丰富功能的扩展性,通过软件还可扩展双核乃至多核无需外加芯片,软件系统可升级性强,实用性强,易于推广。
附图说明
附图1为本发明的时序控制系统框图。
附图2为本发明的时序模块示意图。
附图3为本发明的I2C模块示意图。
附图4为本发明的分区模式侦测模块示意图。
附图5为本发明的时序控制系统示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
在多路服务器系统中,常常会根据需求将系统配置成不同的分区方式来工作,这就需要时序控制系统能够根据分区方式的不同进行相应的时序控制,确保系统正常工作。
基于此,现提供一种基于nios II的服务器系统不同分区的时序控制方法,该方法中,利用FPGA中的可编程逻辑资源和IP软核来构建以nios II软核为核心的CPU与接口功能模块。通过Avalon总线实现对时序模块、分区模式侦测模块、I2C总线模块、SDRAM模块、片外flash存储模块等电路的控制,能够根据服务器系统结构的变化实时改变工作模式;
构建能够在不同分区工作的时序模块IP核,该模块包含了服务器系统的两路、四路、六路、八路分区时的工作时序,接收nios II软核CPU的控制信号进入相应的分区的工作时序,并将工作状态反馈到CPU;
分区模式侦测模块实时自动判断出分区模式,发送分区模式信号到CPU模块,然后CPU模块发送控制信号到时序模块选择相应的分区工作时序,通过I2C总线模块与管理电路进行通信;
实现了Multi-PCH的灵活控制,时序控制系统自动判断不同PCH发出的命令生成相应的控制信号,控制时序模块进行正确的时序工作,一方面降低了单一PCH工作时出现故障时导致服务器系统停机产生的损失,另一方面又提供了更灵活的配置方式;
控制nios II软核可用软件实现扩展成双核乃至多核,无需外加芯片。外接存储芯片能够支持更多的其他管理功能的添加,FPGA其他GPIO引脚可以根据需要扩展为其它控制管理功能。
如附图1所示,该方法的具体实现过程为:
首先,构建nios II软核处理器的时序控制系统,该时序控制系统包括以下功能模块:时序模块、I2C模块、SDRAM控制模块、片外flash存储控制模块、CPU模块、分区模式侦测模块,所有功能模块均通过Avalon总线连接;
分区模式侦测模块实时侦测系统的分区模式,然后发送分区模式信号到CPU模块;
CPU模块根据分区模式,产生控制信号发送到时序模块,并通过I2C模块与管理电路进行通信,反馈分区模式及时序信息;
时序模块根据nios II软核的CPU模块发送的控制信号进行不同的子时序模块的选择,该子时序模块包括单两路、双两路、单四路、双四路、六路/八路、单PCH、双PCH模块。
nios II软核可利用软件扩展成双核乃至多核,可根据需要扩展其他功能,软件升级方便,FPGA的其他GPIO可根据需要扩展成其他功能。
如附图2所示,所述系统中的时序模块是通过Verilog HDL代码来实现,经过仿真、编译、综合后分配管脚,最后生成时序模块。它在整个时序控制系统中的作用是:接收来自nios II 软核CPU模块分区模式控制信号后通过控制逻辑进行解析,然后选择相应的子时序模块工作,并反馈工作状态;子时序模块包括单两路、双两路、单四路、双四路、六路/八路、单PCH、双PCH等模块。
如附图3所示,所述I2C模块用于时序控制系统与管理电路之间的通信,该模块顺序包括I2C总线接口模块、字节控制模块和位控制模块,且该模块将接收到的数据转换成bit流处理或者将需要发送的数据转换为字节进行处理。
如附图4所示,所述分区模式侦测模块通过接收服务器系统中的在位信息自动判断出采用的分区配置模式,并发送分区模式信号到CPU模块进行处理,同时打开使能信号EN;如果侦测到输入信号异常,则关闭使能信号,确保时序控制系统不会工作;也可以根据需要强制输出某一种分区配置模式;上述在位信息包括CPU、CPU Board、PCH、PCH Board的在位信息。
如附图5所示,时序控制系统的建立具体为:利用Quartus II软件中的Qsys通过添加nios II Processor、JTAG Debug Module、System ID、EPCS Flash Controller、PIO、时序模块、I2C模块和侦测模块等组成。配置及编译nios II,分配引脚,配置工程,综合编译后即可完成nios II系统的软核搭建。
实施例:基于nios II的服务器系统不同分区的时序控制方法的操作过程如下:
当多路服务器系统中采用了FPGA器件并且支持多种时序控制模式时,可使用此方案进行灵活地时序控制。
建立时序模块、I2C模块和分区模式侦测模块的IP核。编写基于Verilog HDL的时序模块、I2C模块和分区模式侦测模块,经过仿真、编译、管脚分配,最后生成相应的IP核。
搭建时序控制系统。通过Quartus II软件中的Qsys添加nios II Processor、JTAGDebug Module、SDRAM Controller、System ID、EPCS Flash Controller、on chip RAM、PIO、时序模块、I2C模块和分区模式侦测模块等基于Avalon总线的IP核,然后分配引脚、配置工程、综合编译,得到可下载文件。
将可下载文件下载到FPGA器件中,重新上电后即可正常工作。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于nios II的服务器系统不同分区的时序控制方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。