当前位置:首页 > 新闻资讯 > FPGA之家动态 >

一种基于FPGA实现MCTP协议的方法技术

时间:2025-04-17      来源:FPGA_UCY 关于我们 0

本发明专利技术属于计算机技术领域,公开了一种基于FPGA实现MCTP协议的方法:运行于FPGA芯片上,于FPGA芯片上模拟计算机硬件环境,于计算机硬件环境上运行实时操作系统;提供一MCTP协议栈,使MCTP协议栈运行于实时操作系统中,解析和/或形成MCTP报文;提供一MCTP控制单元,运行于实时操作系统中,根据MCTP协议栈中的协议控制MCTP报文收发;提供一共享储存单元,于MCTP控制单元的控制下缓存需要发送的信息;提供一硬件通讯接口,于MCTP控制单元的控制下提供收发MCTP报文的硬件通路。本发明专利技术解决了代码可移植性较差、支持新功能特性时,开发效率低和出现故障时,定位分析手段较少的问题。定位分析手段较少的问题。定位分析手段较少的问题。

全部详细技术资料下载

【技术实现步骤摘要】

一种基于FPGA实现MCTP协议的方法

[0001]本专利技术属于计算机

,具体涉及一种基于FPGA实现MCTP协议的方法。

技术介绍

[0002]近年来各类功能板卡已经广泛应用于服务器上,包括存储卡、GPU卡和DPU卡等。各类板卡配合服务器实现稳定高效的管理,是各类板卡应具备的一个重要功能。

[0003]MCTP( ,管理组件传输协议)是一种与媒体无关的协议,用于在被管理计算机系统的平台管理子系统内的智能设备之间进行相互通信。MCTP协议独立于底层物理总线,是一种独立于总线的“数据链路层”协议,对于下面的传输层,视为自身协议的传输层消息。MCTP协议广泛应用于功能板卡上,有效支持了服务器对功能板卡的管理。很多功能板卡的主芯片是一个FPGA(Field Gate Array,现场可编程门阵列)芯片,FPGA是一种可编程逻辑芯片,在电子设备领域,FPGA芯片以可定制化设计、低成本以及开发周期短的特性,被越来越多的使用,目前,FPGA是市场上广泛使用的可编程器件。在实现MCTP协议时,主要是通过FPGA硬件逻辑编程,对MCTP协议报文进行接收解析和封装发送,具体如图1所示。

[0004]但是,通过FPGA硬件逻辑编程实现MCTP协议存在如下几个缺点:代码可移植性较差,FPGA程序一般不具备通用性,当切换到其他公司的FPGA平台,FPGA程序需要重新开发;支持新功能特性时,开发效率低;出现故障时,定位分析手段较少,一般硬件编程只能通过反回错误码、点灯等手段进行调试,很难返回故障详细信息。

[0005]因此,提供一种基于FPGA实现MCTP协议的方法,以提高代码可移植性、提高开发效率、以及在出现故障时增加定位分析手段 ,是亟待解决的问题。

技术实现思路

[0006]本专利技术提供了一种基于FPGA实现MCTP协议的方法,运行于一FPGA芯片上,具体技术方案包括:于FPGA芯片上模拟一计算机硬件环境,于计算机硬件环境上运行一实时操作系统;提供一MCTP协议栈,使MCTP协议栈运行于实时操作系统中,用以解析和/或形成MCTP报文;提供一MCTP控制单元,运行于实时操作系统中,用以根据MCTP协议栈中的协议控制MCTP报文收发;提供一共享储存单元,用以于MCTP控制单元的控制下,缓存需要发送的信息;提供一硬件通讯接口,用以于MCTP控制单元的控制下,提供收发MCTP报文的硬件通路。

[0007]在本专利技术的一个具体实施方式中,计算机硬件环境提供:一中央处理器单元,用以运行实时操作系统;

一缓存单元,用以缓存中央处理器单元预设时间内处理的进程需要的信息;一储存单元,用以储存实时操作系统运行需要的信息;一中断处理单元,用以处理外部中断信号;一计时器单元,用以向中央处理器单元提供切换进程所需的计时信号;以及一通用异步收发传输器单元,用以与外部调试设备之间收发调试控制信息以及产生中断信号。

[0008]在本专利技术的一个具体实施方式中,中央处理器单元包括ARM软核。

[0009]在本专利技术的一个具体实施方式中,实时操作系统包括、μC/OS

II、embOS或salvo。

[0010]在本专利技术的一个具体实施方式中,MCTP控制单元提供:一共享储存读取模块,用以读取共享储存单元,以获得要发送的信息;一硬件收发模块,用以接收MCTP请求报文,以及发送MCTP协议栈形成的MCTP报文。

[0011]在本专利技术的一个具体实施方式中,硬件通讯接口包括SMBUS协议接口或PCIe VDM接口。

[0012]在本专利技术的一个具体实施方式中,共享储存单元包括共享内存块。

[0013]在本专利技术的一个具体实施方式中,MCTP协议栈主要由C语言实现。

[0014]在本专利技术的一个具体实施方式中,共享储存读取模块被封装成应用程序编程接口;和/或硬件收发模块被封装成应用程序编程接口。

[0015]在本专利技术的一个具体实施方式中,还包括以下步骤:步骤S1、MCTP协议栈通过MCTP控制单元轮询硬件通讯接口,直至获取一MCTP请求报文;步骤S2、MCTP协议栈解析MCTP请求报文,并根据MCTP请求报文的内容通过MCTP控制单元读取共享储存单元,以获取需要发送的信息;步骤S3、MCTP协议栈将读取到的信息封装成MCTP报文;步骤S4、MCTP协议栈通过MCTP控制单元控制硬件通讯接口发送MCTP报文。

[0016]与现有技术相比,本专利技术能够带来以下有益效果:1、MCTP可移植性提高。切换不同厂商的FPGA平台时,仅需要修改FPGA模拟计算机硬件环境的部分,其他部分均可由通用语言实现,且与底层硬件无关,可以直接复用。

[0017]2、支持新功能特性更方便。由于在计算机硬件环境上运行了通用的操作系统,在支持新功能特性时,可以调用操作系统提供的丰富资源和API,提高了开发效率。

附图说明

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

[0019]图1为通过MCTP协议实现服务器与FPGA进行信息交互的示意图;图2为本专利技术的一种基于FPGA实现MCTP协议的方法的模块组成图;

图3为本专利技术的实施例中基于FPGA实现MCTP管理的硬件框图;图4为本专利技术的实施例中收发MCTP报文的流程图;图5为本专利技术的实施例中基于FPGA实现MCTP管理的软件框图。

具体实施方式

[0020]以下对本专利技术的各个方面进行进一步详述。

[0021]除非另有定义或说明,本文中所使用的所有专业与科学用语与本领域技术熟练人员所熟悉的意义相同。此外任何与所记载内容相似或均等的方法及材料皆可应用于本专利技术方法中。

[0022]以下对术语进行说明。

[0023]除非另有明确的规定和限定,本专利技术中所述的“或”,包含了“和”的关系。所述“和”相当于布尔逻辑运算符“AND”,所述“或”相当于布尔逻辑运算符“OR”,而“AND”是“OR”的子集。

[0024]可以理解到,尽管术语“第一”、“第二”等等可以在此用来说明不同的元件,但是这些元件不应被这些术语限制。这些术语仅仅用来将一个元件与另一个元件区分开。因此,第一元件可以被称为第二元件,而不背离本专利技术构思的教导。

[0025]本专利技术中,术语“含有”、“包含”或“包括”表示各种成分可一起应用于本专利技术的混合物或组合物中。因此,术语“主要由 ...组成”包含在术语“含有”、“包含”或“包括”中。

[0026]除非另有明确的规定和限定,本专利技术的术语“相连”、“连通”、“连接”应作广义理解,例如,可以是固定连接,也可以是通过中介媒介间相连,可以是两个

【技术保护点】

【技术特征摘要】

1.一种基于FPGA实现MCTP协议的方法,运行于一FPGA芯片上,其特征在于,于所述FPGA芯片上模拟一计算机硬件环境,于所述计算机硬件环境上运行一实时操作系统;提供一MCTP协议栈,使所述MCTP协议栈运行于所述实时操作系统中,用以解析和/或形成MCTP报文;提供一MCTP控制单元,运行于所述实时操作系统中,用以根据所述MCTP协议栈中的协议控制MCTP报文收发;提供一共享储存单元,用以于所述MCTP控制单元的控制下,缓存需要发送的信息;提供一硬件通讯接口,用以于所述MCTP控制单元的控制下,提供收发MCTP报文的硬件通路。2.根据权利要求1所述的一种基于FPGA实现MCTP协议的方法,其特征在于,所述计算机硬件环境提供:一中央处理器单元,用以运行所述实时操作系统;一缓存单元,用以缓存所述中央处理器单元预设时间内处理的进程需要的信息;一储存单元,用以储存所述实时操作系统运行需要的信息;一中断处理单元,用以处理外部中断信号;一计时器单元,用以向所述中央处理器单元提供切换进程所需的计时信号;以及一通用异步收发传输器单元,用以与外部调试设备之间收发调试控制信息以及产生中断信号。3.根据权利要求2所述的一种基于FPGA实现MCTP协议的方法,其特征在于,所述中央处理器单元包括ARM软核。4.根据权利要求1所述的一种基于FPGA实现MCTP协议的方法,其特征在于,所述实时操作系统包括、μC/OS

II、embOS或salvo。5.根据权利要求1...

【专利技术属性】

技术研发人员:金鑫,

申请(专利权)人:北京大禹智芯科技有限公司,

类型:发明

国别省市:

全部详细技术资料下载 我是这个专利的主人


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言