一种支持crc8校验的PECI总线主从机验证系统及验证方法与流程

文档序号:11177631阅读:426来源:国知局
一种支持crc8校验的PECI总线主从机验证系统及验证方法与流程

本发明涉及peci总线领域,尤其涉及一种支持crc8校验的peci总线主从机验证系统及验证方法。



背景技术:

peci(platformenvironmentcontrolinterface)是由intel提出的新一代数字接口,是处于处理器与系统稳定性监控设备之间的专用单线型总线。在服务器领域中应用于bmc与处理器之间,用于读取cpu温度及读写相关设备信息。peci总线的传输基于协议的特定命令,命令的格式分为地址,写长度,读长度,写数据,fcs,读数据。如何在peci总线实现crc8校验实现在peci总线上进行冗余校验算法是当前丞待解决的问题。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种支持crc8校验的peci总线主从机验证系统,包括:采样计数器,移位寄存器,主机,crc8校验生成器,与主机通过peci总线连接的从机;

采样计数器通过移位寄存器与主机连接,crc8校验生成器与主机连接;

采样计数器用于采样数据值,通过时钟对总线上的高低电平进行计数,根据高低电平计数大小确定数据“0”或“1”;

移位寄存器包括:输入的移位和输出的移位,输入移位用于存储主机写的数据;输出移位用于存储从从机读的数据;

主机用于根据peci总线的命令执行相应的状态以及控制crc8校验生成器的使能;

crc8校验生成器用于根据crc8冗余校验算法,将主机传输的数据计算成校验码,为主机提供8位循环冗余校验,根据peci协议,由主机控制crc8校验生成器的使能,在主机写数据阶段依次将要计算的数据写入crc8校验生成器并计算结果后返回总线,在主机读数据阶段,将主机预读出的数据依次写入crc8校验生成器并计算结果返回总线。

优选地,采样计数器还用于当主机写数据过程时,在总线传输每1bit时,通过从机时钟的每一拍对总线的高电平进行采样后计数,与协商的周期进行比较后获取这一bit的值为“0”还是“1”;当主机读数据过程时,从机的数据“0”或“1”通过计数操作后将总线的电平拉低或拉高,达到数据的读出。

优选地,移位寄存器还用于在总线的每个下降沿移位,当主机写数据过程时,将采样计数器判断出的数据“0”或“1”存储用于后续使用;当主机读数据过程时,从机要发送的数据通过移位操作移入采样计数器。

优选地,主机还用于根据peci协议创建了多个状态,支持peci命令:

主机执行相应的状态包括:地址获取比较、读写数据长度、写数据、写fcs、读数据、读fcs。

优选地,主机还包括:写寄存器和读寄存器;主机还分别通过写寄存器和读寄存器与crc8校验生成器连接;

写寄存器用于存储主机的写数据;读寄存器用于存储从从机读出的数据。

一种支持crc8校验的peci总线主从机验证方法,方法包括:

系统的初始状态为空闲状态,当检测到peci总线的电平为高时,在总线的下降沿进入地址协商阶段;

地址协商阶段:移位8bit的地址与从机的地址进行比较,移位8bit的地址与从机的地址一致,则存储从机的地址,并打开crc8使能,进行crc8计算,之后进入数据周期设定状态阶段,并关掉crc8使能;不一致则系统进入空闲状态;

数据周期设定状态阶段:数据传输周期设定为一个peci周期,之后进入写数据长度状态阶段;

写数据长度状态阶段:将移位8bit的写数据长度存入写寄存器保存,并打开crc8使能进行crc8计算,之后进入读数据长度状态阶段,并关掉使能;

读数据长度状态阶段:将写寄存器的移位8bit读数据长度保存至读寄存器,打开crc8使能计算,进行读数据长度的数据长度比较,若读数据长度达到预设值,则进入写fcs状态阶段,否则再回到写数据长度状态阶段,直至读数据长度达到预设值;

写fcs状态状态阶段:判断写寄存器是否为“0”,若是则依次将计算出的8bitcrc8校验码,通过移位寄存器及采样计数器移入总线,之后系统进入空闲状态,否则将计算出的8bit校验码移入总线后进入读数据状态阶段;

读数据状态阶段:将从机8bit数据通过移位寄存器及采样计数器移入总线并打开crc8使能计算,判断读数据长度是否达到要求,当读数据长度达到要求后,进入读fcs状态阶段,否则重复上述操作;

读fcs状态阶段:将计算出的8bitcrc8校验码通过移位寄存器及采样计数器移入总线,完成后系统进入空闲状态。

优选地,读数据状态阶段还包括:若读数据长度未达到预设值,将移位8bit的数据移入写寄存器中并打开crc8使能计算,判断写数据长度是否达到预设值,当达到写数据长度达到预设值后,进入写fcs状态阶段,否则继续写数据直到达到预设值。

从以上技术方案可以看出,本发明具有以下优点:

主机的主流程根据peci协议创建,其中一些判断依据不同的命令进行状态变化。本发明提出的支持crc8校验的peci总线主从机验证系统及验证方法,内建crc8冗余校验程序,crc8校验生成器独立设置,在仿真验证peci总线功能时不需手动修改,直接挂接总线上即可进行验证工作,操作简单便捷。

附图说明

为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为支持crc8校验的peci总线主从机验证系统示意图;

图2为支持crc8校验的peci总线主从机验证系统实施例示意图;

图3为支持crc8校验的peci总线主从机验证方法流程图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本实施例提供一种支持crc8校验的peci总线主从机验证系统,如图1所示,包括:采样计数器1,移位寄存器2,主机3,crc8校验生成器4,与主机3通过peci总线连接的从机5;

采样计数器1通过移位寄存器2与主机3连接,crc8校验生成器4与主机连接;

采样计数器1用于采样数据值,通过时钟对总线上的高低电平进行计数,根据高低电平计数大小确定数据“0”或“1”;移位寄存器2包括:输入的移位和输出的移位,输入移位用于存储主机写的数据;输出移位用于存储从从机读的数据;主机3用于根据peci总线的命令执行相应的状态以及控制crc8校验生成器4的使能;

crc8校验生成器4用于根据crc8冗余校验算法,将主机3传输的数据计算成校验码,为主机提供8位循环冗余校验,根据peci协议,由主机控制crc8校验生成器的使能,在主机写数据阶段依次将要计算的数据写入crc8校验生成器并计算结果后返回总线,在主机读数据阶段,将主机预读出的数据依次写入crc8校验生成器并计算结果返回总线。

peci协议中,当主从设备协商好地址及数据周期后,地址和数据值按照此周期进行传输。1bit的数据通过总线上高低电平的比例进行区分,数据“0”表现为“1/4高电平+3/4低电平”,数据“1”表现为“3/4高电平+1/4低电平”。从机模型通过特殊的接口逻辑连接到单线型的peci总线上,通过peci总线接收数据以及发送数据。

本实施例中,采样计数器1还用于当主机3写数据过程时,在总线传输每1bit时,通过从机时钟的每一拍对总线的高电平进行采样后计数,与协商的周期进行比较后获取这一bit的值为“0”还是“1”;当主机3读数据过程时,从机的数据“0”或“1”通过计数操作后将总线的电平拉低或拉高,达到数据的读出。

移位寄存器2还用于在总线的每个下降沿移位,当主机3写数据过程时,将采样计数器判断出的数据“0”或“1”存储用于后续使用;当主机读数据过程时,从机要发送的数据通过移位操作移入采样计数器。

主机3还用于根据peci协议创建了多个状态,支持peci命令:主机3执行相应的状态包括:地址获取比较、读写数据长度、写数据、写fcs、读数据、读fcs。

主机3还包括:写寄存器和读寄存器;如图2所示,主机3还分别通过写寄存器和读寄存器与crc8校验生成器连接。写寄存器用于存储主机的写数据;读寄存器用于存储从从机读出的数据。

本发明还提供一种支持crc8校验的peci总线主从机验证方法,如图3所示,方法包括:

s1:系统的初始状态为空闲状态,当检测到peci总线的电平为高时,在总线的下降沿进入地址协商阶段;

s2:地址协商阶段:移位8bit的地址与从机的地址进行比较,移位8bit的地址与从机的地址一致,则存储从机的地址,并打开crc8使能,进行crc8计算,之后进入数据周期设定状态阶段,并关掉crc8使能;不一致则系统进入空闲状态;

s3:数据周期设定状态阶段:数据传输周期设定为一个peci周期,之后进入写数据长度状态阶段;

s4:写数据长度状态阶段:将移位8bit的写数据长度存入写寄存器保存,并打开crc8使能进行crc8计算,之后进入读数据长度状态阶段,并关掉使能;

s5:读数据长度状态阶段:将写寄存器的移位8bit读数据长度保存至读寄存器,打开crc8使能计算,进行读数据长度的数据长度比较,若读数据长度达到预设值,则进入写fcs状态阶段,否则再回到写数据长度状态阶段,直至读数据长度达到预设值;

s6:写fcs状态状态阶段:判断写寄存器是否为“0”,若是则依次将计算出的8bitcrc8校验码,通过移位寄存器及采样计数器移入总线,之后系统进入空闲状态,否则将计算出的8bit校验码移入总线后进入读数据状态阶段;

s7:读数据状态阶段:将从机8bit数据通过移位寄存器及采样计数器移入总线并打开crc8使能计算,判断读数据长度是否达到要求,当读数据长度达到要求后,进入读fcs状态阶段,否则重复上述操作;

s8:读fcs状态阶段:将计算出的8bitcrc8校验码通过移位寄存器及采样计数器移入总线,完成后系统进入空闲状态。

其中,读数据状态阶段还包括:若读数据长度未达到预设值,将移位8bit的数据移入写寄存器中并打开crc8使能计算,判断写数据长度是否达到预设值,当达到写数据长度达到预设值后,进入写fcs状态阶段,否则继续写数据直到达到预设值。

主机的主流程根据peci协议创建,其中一些判断依据不同的命令进行状态变化。本发明提出的支持crc8校验的peci总线主从机验证系统及验证方法,内建crc8冗余校验程序,crc8校验生成器独立设置,在仿真验证peci总线功能时不需手动修改,直接挂接总线上即可进行验证工作,操作简单便捷。经测试可以准确实现最新peci3.0协议支持的ping(),getdib(),gettemp(),rdpkgconfig()等全部命令的验证。

本发明提出的系统支持crc8校验的peci总线验证,本发明的显著特征是内建了crc8冗余校验结构,计算fcs并根据状态机特定状态返回,结构清晰,能够准确完备的验证peci协议支持的所有命令。peci总线是连接监控设备与处理器的专用单线型总线,peci只有一条线,根据约定的速率传输协议的一些命令。

在一些实施例中,所述设备中的一个或多个设备的部分或所有功能或处理由计算机程序实现或支持,计算机程序由计算机可读程序代码形成并且被包括在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(rom)、随机存取存储器(ram)、硬盘驱动器、光盘(cd)、数字视频盘(dvd)、或任何其他类型的存储器。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参考即可。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1