System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种BMC与客制FPGA的通信方法、装置、设备和存储介质制造方法及图纸_技高网

一种BMC与客制FPGA的通信方法、装置、设备和存储介质制造方法及图纸

技术编号:40678536 阅读:4 留言:0更新日期:2024-03-18 19:17
本申请涉及一种BMC与客制FPGA的通信方法、装置、设备及存储介质。所述方法包括:基于边缘计算搭建BMC与客制FPGA之间的I2C通信协议;基于通信协议,通过信息获取函数向FPGA发送读写命令,在一个握手交互过程中获取所有板卡信息的原始数据,并存储在BMC的缓冲区中;对缓冲区中的原始数据进行解析并输出。采用本方法能够实现边缘计算领域BMC与客制FPGA之间的稳定通信,不仅降低了客制FPGA的计算和I/O资源的负担,还减少了需要传输的数据量,提高了数据传输的效率,满足边缘计算领域BMC板卡管理高效稳定的应用需求。

【技术实现步骤摘要】

本申请涉及通信,特别是涉及一种bmc与客制fpga的通信方法、装置、设备和存储介质。


技术介绍

1、边缘计算,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。客制化是边缘计算领域的一大技术特点,边缘服务器内部集成了各种客制专用板卡。为了管理这些板卡,bmc(baseboard management controller,板卡管理控制器)需要与这些板卡上的fpga(field programmable gate array,现场可编程逻辑门阵列)芯片进行数据通信,获取各种板卡信息,并且每获取一种板卡信息,都需要进行一次完整的s->p握手交互过程,因此重复多次以获取各种板卡信息,且板卡需要在几毫秒内完成全部命令响应、数据收集、数据处理、数据发送的操作。

2、经过实测,由于受限于fpga基本单元计算能力有限,且边缘计算领域的客制fpga设计水平参差不齐,往往在运算、i/o性能等方面,与通用计算领域的gpu等高性能芯片存在一定差距,因此,如果照搬通用计算bmc与gpu的通信模式,进行bmc与边缘计算客制fpga的通信,那么客制fpga往往难以及时处理bmc的读取操作请求,造成fpga经常运行一段时间后,出现“死机”的情况,造成通信中断,无法与bmc建立高效、稳定的数据通信。

3、因此,如何实现bmc与客制fpga之间高效、稳定的通信,是本领域技术人员需要解决的问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种bmc与客制fpga的通信方法、装置、设备和存储介质,通过分析通用计算领域bmc板卡管理协议与边缘计算领域客制fpga的不兼容性,设计适合边缘计算领域的bmc板卡管理协议,实现边缘计算领域bmc与客制fpga之间的稳定通信,满足边缘计算领域bmc板卡管理高效稳定的应用需求。

2、一方面,提供一种bmc与客制fpga的通信方法,所述方法包括:

3、基于边缘计算搭建bmc与客制fpga之间的i2c通信协议;

4、基于所述通信协议,通过信息获取函数向所述fpga发送读写命令,在一个握手交互过程中获取所有板卡信息的原始数据,并存储在所述bmc的缓冲区中;

5、对所述缓冲区中的原始数据进行解析并输出。

6、在其中一个实施例中,所述信息获取函数包括数据获取函数及指向所述缓冲区的指针,所述通过信息获取函数向所述fpga发送读写命令之前,包括:

7、检查所述指针是否为空,若是,则返回错误信息;

8、否则调用数据获取函数向所述fpga发送读写命令,获取所述板卡信息的原始数据。

9、在其中一个实施例中,所述数据获取函数的参数包括i2c总线编号、从设备地址、读写命令、指向缓冲区的指针及所有数据的总长度,所述调用数据获取函数向所述fpga发送读写命令,包括:

10、通过所述数据获取函数,根据所述i2c总线编号向所述从设备地址发送所述读写命令,获取所述板卡信息的原始数据,其中所述从设备地址为fpga地址;

11、检验所述数据获取函数的返回值,若所述返回值为负,则获取数据失败,返回错误信息;

12、否则所述数据获取函数执行成功,所述返回值为获取到的数据长度,存储在所述缓冲区中。

13、在其中一个实施例中,所述基于边缘计算搭建bmc与客制fpga之间的i2c通信协议,包括:

14、通过分析通用计算领域bmc板卡管理协议与边缘计算领域客制fpga的不兼容性,设计适合边缘计算领域的bmc与客制fpga的通信协议,并通过所述通信协议实现bmc与客制fpga之间的数据交换;

15、所述通信协议包括起始信号、fpga地址、读写信号、寄存器地址及结束信号,其中,所述寄存器地址包括所述客制fpga中所有需要获取数据的寄存器的起始地址;

16、所述bmc与客制fpga之间的数据交换以特定的字节格式进行传输,所述数据包括起始字节、地址字节、多个数据字节、校验字节及结束字节,其中,所述地址字节用于指示要访问的寄存器,所述数据字节包含要读取或写入的所述板卡信息的原始数据;

17、基于所述通信协议,向所述fpga发送起始位、从设备地址及写标志,所述fpga生成第一响应位;

18、接收到所述fpga返回的第一响应位后,向所述fpga发送所有寄存器的起始地址,所述fpga生成第二响应位;

19、接收到所述fpga返回的第二响应位后,向所述fpga发送起始位、从设备地址及读标志,所述fpga生成第三响应位。

20、在其中一个实施例中,所述获取所述板卡信息的原始数据,包括:

21、响应于所述fpga根据接收到的所有寄存器的起始地址发送相应的寄存器数据,向所述fpga发送非响应位和停止位;其中,所述寄存器数据包括板卡温度、功耗、电压、厂商id、设备id、固件版本及序列号,且每种所述寄存器数据由一个或多个字节组成。

22、在其中一个实施例中,所述对所述缓冲区中的原始数据进行解析并输出,包括:

23、定义并初始化所述缓冲区;

24、定义各种所述板卡信息在所述缓冲区中的偏移量;

25、根据获得的所述原始数据所占的字节数及大/小端规则,对所述缓冲区中的原始数据进行解析,并提取到对应的内存变量中;

26、根据使用需求或应用场景对所述内存变量中的数据进行处理,获得最终的可读数据。

27、在其中一个实施例中,所述根据获得的所述原始数据所占的字节数及大/小端规则,对所述缓冲区中的原始数据进行解析,包括:

28、若获取到的所述原始数据为单字节,则直接提取到内存变量中;

29、若获取到的所述原始数据为多字节,则根据大/小端规则对所述原始数据进行相应的左移、右移或合并。

30、另一方面,提供了一种bmc与客制fpga的通信装置,所述装置包括:

31、通信协议搭建模块,用于基于边缘计算搭建bmc与客制fpga之间的i2c通信协议;

32、数据获取模块,用于基于所述通信协议,通过信息获取函数向所述fpga发送读写命令,在一个握手交互过程中获取所有板卡信息的原始数据,并存储在所述bmc的缓冲区中;

33、数据解析模块,用于对所述缓冲区中的原始数据进行解析并输出。

34、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

35、基于边缘计算搭建bmc与客制fpga之间的i2c通信协议;

36、基于所述通信协议,通过信息获取函数向所述fpga发送读写命令,在一个握手交互过程中获取所有板卡信息的原始数本文档来自技高网...

【技术保护点】

1.一种BMC与客制FPGA的通信方法,其特征在于,包括:

2.根据权利要求1所述的BMC与客制FPGA的通信方法,其特征在于:所述信息获取函数包括数据获取函数及指向所述缓冲区的指针,所述通过信息获取函数向所述FPGA发送读写命令之前,包括:

3.根据权利要求2所述的BMC与客制FPGA的通信方法,其特征在于:所述数据获取函数的参数包括I2C总线编号、从设备地址、读写命令、指向缓冲区的指针及所有数据的总长度,所述调用数据获取函数向所述FPGA发送读写命令,包括:

4.根据权利要求3所述的BMC与客制FPGA的通信方法,其特征在于:所述基于边缘计算搭建BMC与客制FPGA之间的I2C通信协议,包括:

5.根据权利要求4所述的BMC与客制FPGA的通信方法,其特征在于:所述获取所述板卡信息的原始数据,包括:

6.根据权利要求1所述的BMC与客制FPGA的通信方法,其特征在于:所述对所述缓冲区中的原始数据进行解析并输出,包括:

7.根据权利要求6所述的BMC与客制FPGA的通信方法,其特征在于:所述根据获得的所述原始数据所占的字节数及大/小端规则,对所述缓冲区中的原始数据进行解析,包括:

8.一种BMC与客制FPGA的通信装置,其特征在于,所述装置包括:

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种bmc与客制fpga的通信方法,其特征在于,包括:

2.根据权利要求1所述的bmc与客制fpga的通信方法,其特征在于:所述信息获取函数包括数据获取函数及指向所述缓冲区的指针,所述通过信息获取函数向所述fpga发送读写命令之前,包括:

3.根据权利要求2所述的bmc与客制fpga的通信方法,其特征在于:所述数据获取函数的参数包括i2c总线编号、从设备地址、读写命令、指向缓冲区的指针及所有数据的总长度,所述调用数据获取函数向所述fpga发送读写命令,包括:

4.根据权利要求3所述的bmc与客制fpga的通信方法,其特征在于:所述基于边缘计算搭建bmc与客制fpga之间的i2c通信协议,包括:

5.根据权利要求4所述的bmc与客制fpga的通信方法,其特征在于:所述获取所述板卡信息...

【专利技术属性】
技术研发人员:崔凯
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1