System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多端口PCIe串并行热插拔控制器及其处理方法技术_技高网

一种多端口PCIe串并行热插拔控制器及其处理方法技术

技术编号:39932907 阅读:7 留言:0更新日期:2024-01-08 21:57
本发明专利技术涉及计算机应用技术领域,特别涉及一种多端口PCIe串并行热插拔控制器及其处理方法。包括:热插拔交换总线模块,用于处理串行热插拔信号与并行热插拔信号之间的交换逻辑;热插拔管理模块,用于控制PCIe热插拔控制器插槽上电/掉电序列,对接收到的卡插入信号或卡移除信号做出响应,执行对应的上电/掉电序列;热插拔配置接口模块,用于将接收到的寄存器值进行跨时钟域同步后输入至所述热插拔交换总线模块中;同时所述热插拔交换总线模块输出的中断和状态位也会同步到对应端口的PCIe控制器时钟域;串行热插拔控制模块。本发明专利技术能够灵活地改变各个端口使用串行热插拔还是并行热插拔,提升了控制器的集成度、灵活度和实用性。

【技术实现步骤摘要】

本专利技术涉及计算机应用,特别涉及一种高集成度的实现多端口pcie串并行热插拔控制器及其处理方法。


技术介绍

1、pcie热插拔是在pcie总线基础上实现的一种高级功能,它允许在系统运行过程中无间断地插入和移除pcie设备。这种技术在数据中心、服务器和高性能计算环境中具有特别重要的应用价值,因为在这种环境中,设备的高可用性和不间断运行是非常关键的。

2、pcie热插拔的实现需要多方面的技术支持。其中,最重要的技术之一是“电源管理”和“设备驱动程序”。在电源管理方面,pcie热插拔技术需要能够在设备插入或移除时自动调整电源的分配,以确保不会对其他设备产生影响。在设备驱动程序方面,pcie热插拔技术需要有一种能够识别新插入设备的机制,并且能够在不中断系统运行的情况下,将新的设备集成到系统中。

3、pcie热插拔技术是一种能够提高系统可用性和稳定性的重要技术,它通过自动调整电源分配、识别新插入设备、以及管理和使用pcie设备等技术支持实现。这种技术在数据中心、服务器和高性能计算环境中具有广泛的应用场景。


技术实现思路

1、本专利技术的目的在于提供一种多端口pcie串并行热插拔控制器及其处理方法,以高集成度和灵活度的设计实现同时对多个pcie板卡进行串行和并行热插拔的功能。

2、为解决上述技术问题,本专利技术提供了一种多端口pcie串并行热插拔控制器,包括:

3、热插拔交换总线模块,用于处理串行热插拔信号与并行热插拔信号之间的交换逻辑;一方面将热插拔寄存器配置信息输出到对应端口的热插拔管理模块,从热插拔管理模块输入中断与状态信息并反馈至各端口的热插拔配置接口。另一方面将热插拔配置接口模块输出的值以及热插拔管理模块输出的有关串行热插拔的信号送到串行热插拔控制模块;

4、热插拔管理模块,用于控制pcie热插拔控制器插槽上电/掉电序列,对接收到的卡插入信号或卡移除信号做出响应,执行对应的上电/掉电序列;

5、热插拔配置接口模块,用于将接收到的寄存器值进行跨时钟域同步后输入至所述热插拔交换总线模块中;同时所述热插拔交换总线模块输出的中断和状态位也会同步到对应端口的pcie控制器时钟域;

6、串行热插拔控制模块,包括:i2c主机控制模块、串行热插拔初始化模块、串行热插拔输入控制模块和串行输出控制模块;所述i2c主机控制模块与外部i/o拓展芯片连接,所述串行输出控制模块端与所述热插拔交换总线模块连接,所述热插拔交换总线模块与各个端口的所述热插拔管理模块以及所述热插拔配置接口模块连接,各个端口的所述热插拔配置接口模块与外部的pcie控制器连接。

7、优选的,所述串行热插拔初始化模块,其功能为在上电复位完成后先进行初始化,串行热插拔控制器逻辑使用i2c主接口对i/o拓展芯片的i/o配置寄存器进行编程,并为成功扫描的i/o拓展芯片设置初始热插拔状态。

8、优选的,所述串行热插拔输入控制模块,其功能为当pcie插槽中的热插拔信号发生变化时,i/o拓展芯片对应i/o口上的引脚状态会发生变化,从而产生shpc_int#中断,串行热插拔输入控制模块响应该中断并产生i2c读指令,读取i/o拓展芯片对应端口的i/o配置寄存器,直至中断位恢复到原状态,将变化的信号经过所述热插拔交换总线模块送入所述热插拔管理模块。

9、优选的,所述串行输出控制模块,其功能为当热插拔进行上电时序或掉电时序时热插拔对应的信号会发生变化,变化的信号由所述热插拔管理模块经过所述热插拔交换总线模块输入到所述串行输出控制模块,所述串行输出控制模块检测热插拔信号的变化情况,根据信号变化的顺序发送i2c写指令,写入到i/o拓展芯片对应端口的i/o配置寄存器,所述i/o拓展芯片再转成对应的并行热插拔信号送入到pcie插槽上。

10、优选的,所述热插拔管理模块包括端口0至端口n的热插拔管理;所述热插拔配置接口模块包括端口0至端口n的热插拔配置接口;所述串行输出控制模块包括端口0至端口n的串行输出控制。

11、本专利技术还提供了一种多端口pcie串并行热插拔的处理方法,包括如下步骤:

12、在pcie热插拔控制器上电复位后首先会进行串行热插拔初始化流程,串行热插拔控制模块从设备地址0100_000b开始扫描i2c总线以查找i/o拓展芯片;

13、如果pcie热插拔控制器从i/o拓展芯片接收到确认ack,ack会从该i/o拓展芯片执行设备id代码读取,以检测40位i/o拓展芯片的存在;

14、如果设备id代码读取失败,则该i/o拓展芯片被识别为16位i/o拓展芯片,并且根据16位i/o拓展芯片上的串行热插拔shp_portid[4:0]值确定哪个pcie端口与i/o拓展芯片相关联;

15、如果设备id代码读取获取正确的设备id,则该i/o拓展芯片被识别为具有40位能力;对应于40位i/o拓展芯片的两组串行热插拔引脚的两个pcie端口由两个唯一的shp_portid[4:0]值确定;

16、串行热插拔控制模块逻辑使用i2c主机接口对i/o拓展芯片的i/o配置寄存器进行编程,并为成功扫描的i/o拓展芯片设置初始热插拔状态。

17、优选的,还包括热添加设备的方法,包括如下步骤:

18、热插拔管理模块检测到pcie板卡在位信号prsnt#拉低,向上位机发送卡在位msi中断;

19、热插拔管理模块检测到mrl#拉低,代表mrl锁定,向上位机发送mrl锁定msi中断;

20、热插拔管理模块检测到button#信号拉低后向上位机发送msi中断,等待接收上位机电源控制器控制信号清零;

21、热插拔管理模块收到上位机发送的电源指示灯闪烁指令后,控制电源指示灯闪烁;

22、热插拔管理模块收到上位机拉低电源控制器控制信号后,热插拔管理模块开始上电时序,上电时序如下:

23、热插拔控制模块驱动电源指示灯常亮,驱动pwren输出高电平以打开外部电源控制器;

24、在pwr_good输入被采样后置为高电平,插槽的电源有效,热插拔管理模块驱动clken#输出低电平以开启插槽参考时钟;

25、在clken#输出100毫秒后,热插拔管理模块控制perst#输出高电平,以释放插槽复位,并向上位机发送msi中断,此时上电流程全部完成。

26、优选的,还包括热移除的方法,包括如下步骤:

27、热插拔管理模块检测到button#信号拉低后向上位机发送msi中断;

28、热插拔管理模块收到上位机发送的电源指示灯闪烁指令后,控制电源指示灯闪烁;

29、热插拔管理模块收到上位机拉高电源控制器控制信号后,热插拔管理模块开始掉电时序,掉电时序如下:

30、热插拔管理模块驱动perst#拉低,插槽进入复位状态;

31、热插拔管理模块驱动clken#在perst#拉低100微秒后拉高本文档来自技高网...

【技术保护点】

1.一种多端口PCIe串并行热插拔控制器,其特征在于,包括:

2.如权利要求1所述的一种多端口PCIe串并行热插拔控制器,其特征在于,所述串行热插拔初始化模块,其功能为在上电复位完成后先进行初始化,串行热插拔控制器逻辑使用I2C主接口对I/O拓展芯片的I/O配置寄存器进行编程,并为成功扫描的I/O拓展芯片设置初始热插拔状态。

3.如权利要求1所述的一种多端口PCIe串并行热插拔控制器,其特征在于,所述串行热插拔输入控制模块,其功能为当PCIe插槽中的热插拔信号发生变化时,I/O拓展芯片对应I/O口上的引脚状态会发生变化,从而产生SHPC_INT#中断,串行热插拔输入控制模块响应该中断并产生I2C读指令,读取I/O拓展芯片对应端口的I/O配置寄存器,直至中断位恢复到原状态,将变化的信号经过所述热插拔交换总线模块送入所述热插拔管理模块。

4.如权利要求1所述的一种多端口PCIe串并行热插拔控制器,其特征在于,所述串行输出控制模块,其功能为当热插拔进行上电时序或掉电时序时热插拔对应的信号会发生变化,变化的信号由所述热插拔管理模块经过所述热插拔交换总线模块输入到所述串行输出控制模块,所述串行输出控制模块检测热插拔信号的变化情况,根据信号变化的顺序发送I2C写指令,写入到I/O拓展芯片对应端口的I/O配置寄存器,所述I/O拓展芯片再转成对应的并行热插拔信号送入到PCIe插槽上。

5.如权利要求1所述的一种多端口PCIe串并行热插拔控制器,其特征在于,所述热插拔管理模块包括端口0至端口n的热插拔管理;所述热插拔配置接口模块包括端口0至端口n的热插拔配置接口;所述串行输出控制模块包括端口0至端口n的串行输出控制。

6.一种多端口PCIe串并行热插拔的处理方法,其特征在于,包括如下步骤:

7.如权利要求6所述的一种多端口PCIe串并行热插拔的处理方法,其特征在于,还包括热添加设备的方法,包括如下步骤:

8.如权利要求7所述的一种多端口PCIe串并行热插拔的处理方法,其特征在于,还包括热移除的方法,包括如下步骤:

9.如权利要求8所述的一种多端口PCIe串并行热插拔的处理方法,其特征在于,若PCIe热插拔控制器配置为并行热插拔操作的情况下,通过热插拔交换总线模块实现检测信号改变以及驱动信号的功能;并行热插拔信号输入输出信号在热插拔交换总线模块经过串行配置信号选通后直接连接到PCIe物理插槽或热插拔管理模块。

10.如权利要求8所述的一种多端口PCIe串并行热插拔的处理方法,其特征在于,若PCIe热插拔控制器配置为串行热插拔操作的情况下,通过串行热插拔控制模块实现检测信号改变以及驱动信号的功能;

...

【技术特征摘要】

1.一种多端口pcie串并行热插拔控制器,其特征在于,包括:

2.如权利要求1所述的一种多端口pcie串并行热插拔控制器,其特征在于,所述串行热插拔初始化模块,其功能为在上电复位完成后先进行初始化,串行热插拔控制器逻辑使用i2c主接口对i/o拓展芯片的i/o配置寄存器进行编程,并为成功扫描的i/o拓展芯片设置初始热插拔状态。

3.如权利要求1所述的一种多端口pcie串并行热插拔控制器,其特征在于,所述串行热插拔输入控制模块,其功能为当pcie插槽中的热插拔信号发生变化时,i/o拓展芯片对应i/o口上的引脚状态会发生变化,从而产生shpc_int#中断,串行热插拔输入控制模块响应该中断并产生i2c读指令,读取i/o拓展芯片对应端口的i/o配置寄存器,直至中断位恢复到原状态,将变化的信号经过所述热插拔交换总线模块送入所述热插拔管理模块。

4.如权利要求1所述的一种多端口pcie串并行热插拔控制器,其特征在于,所述串行输出控制模块,其功能为当热插拔进行上电时序或掉电时序时热插拔对应的信号会发生变化,变化的信号由所述热插拔管理模块经过所述热插拔交换总线模块输入到所述串行输出控制模块,所述串行输出控制模块检测热插拔信号的变化情况,根据信号变化的顺序发送i2c写指令,写入到i/o拓展芯片对应端口的i/o配置寄存器,所述i...

【专利技术属性】
技术研发人员:王天烨邵健俞德新施文昊
申请(专利权)人:中国电子科技集团公司第五十八研究所
类型:发明
国别省市:

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

1