CN116775530A - 用于pcie接口的mbb设备的热插拔方法及其装置和系统 - Google Patents
用于pcie接口的mbb设备的热插拔方法及其装置和系统 Download PDFInfo
- Publication number
- CN116775530A CN116775530A CN202310739984.4A CN202310739984A CN116775530A CN 116775530 A CN116775530 A CN 116775530A CN 202310739984 A CN202310739984 A CN 202310739984A CN 116775530 A CN116775530 A CN 116775530A
- Authority
- CN
- China
- Prior art keywords
- pcie
- mbb
- state
- mhi
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000000872 buffer Substances 0.000 claims abstract description 103
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000004891 communication Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 8
- 238000007599 discharging Methods 0.000 claims description 6
- 230000035772 mutation Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 239000000463 material Substances 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种用于PCIE接口的MBB设备的热插拔方法及其装置和系统,方法包括:获取MBB设备的插拔状态;若MBB设备被拔出,则通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器;若MBB设备被插入,则通过USB协议栈清空所有USB接口缓存器,并通过MHI协议栈重置MHI控制寄存器,以及向MBB设备发送写请求,并在接收到MBB设备响应写请求反馈的就绪消息后,通过MHI协议栈将就绪消息传输至MHI控制寄存器,以使MHI控制寄存器进入就绪状态。该方法可增强具有PCIE接口的MBB设备的即插即用能力和稳定性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种用于PCIE接口的MBB设备的热插拔方法及其装置和系统。
背景技术
相关技术中,PCIE接口的MBB(Mobile Broadband,移动宽带)设备在通用PC(无PCIE卡槽或不具备直接与PCIE接口的MBB设备通信能力)批量的固件升级/软件版本验证等场景应用中,使用具备PCIE接口的嵌入式主机完成PCIE MHI驱动的加载并通过片上系统(Linux等)将PCIE MHI协议数据通过网卡/USB等协议二次转换,与通用PC建立通信。
相关技术存在以下问题:
1)嵌入式主机PCIE控制器扫描(Scan)连接到PCIE接口的MBB设备的前提是,MBB设备在嵌入式主机片上系统(Linux)的PCIE控制器驱动加载完成前就位于指定的PCIE槽位上,故PCIE接口的MBB设备无法热拔插,从而导致PCIE接口的MBB设备与通用PC间接通信效率低。
2)无法解决PCIE链路(link)异常掉线或指定的PCIE槽位上PCIE接口的MBB设备非预期的拔插等特殊场景下PCIE通信的恢复问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的目的在于提出一种用于PCIE接口的MBB设备的热插拔方法及其装置和系统,以提高具有PCIE接口的MBB设备的即插即用能力和稳定性。
为达到上述目的,本发明第一方面实施例提出了一种用于PCIE接口的MBB设备的热插拔方法,所述方法包括:获取所述MBB设备的插拔状态,其中,所述插拔状态包括所述MBB设备被插入和所述MBB设备被拔出;若所述插拔状态为所述MBB设备被拔出,则通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,以及通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器;若所述插拔状态为所述MBB设备被插入,则通过所述USB协议栈清空所有USB接口缓存器,并通过所述MHI协议栈重置所述MHI控制寄存器,以及向所述MBB设备发送写请求,并在接收到所述MBB设备响应所述写请求反馈的就绪消息后,通过所述MHI协议栈将所述就绪消息传输至所述MHI控制寄存器,以使所述MHI控制寄存器进入就绪状态。
另外,本发明上述实施例的用于PCIE接口的MBB设备的热插拔方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述MBB设备通过总线与主设备连接,所述方法还包括:在接收到所述主设备发送的DL数据后,将所述DL数据存储至相应的USB接口缓存器,并通过所述USB协议栈将所述DL数据从所述相应的USB接口缓存器转存至相应的MHI通道缓存器;检查PCIE链路状态是否正常;若所述PCIE链路状态正常,则通过所述MHI协议栈建立相应的所述MHI通道缓存器与UL传输环形缓冲区之间的连接,并触发相应的所述MHI控制寄存器作为门铃寄存器,以及通过所述门铃寄存器将所述DL数据传输至所述MBB设备。
根据本发明的一个实施例,所述方法还包括:若所述PCIE链路状态异常,则通过所述USB协议栈向相应的所述USB接口缓存器写入PCIE链路错误信息,并告知所述主设备。
根据本发明的一个实施例,所述方法还包括:在接收到所述MBB设备发送的UL数据后,将所述UL数据存储至相应通道的DL传输环形缓冲区;在接收到所述MBB设备写入的相应通道的事件环后,更新相应通道的事件环形缓冲区,所述事件环包括至少一个通道事件;在接收到所述MBB设备发送的中断触发信息后,检查MSI相应的所述通道事件和获取所述通道事件相关DL通道环形缓冲区的偏移地址;建立所述事件相关DL通道环形缓冲区的偏移地址与相应的MHI通道缓存器之间的连接;通过所述USB协议栈将所述UL数据从所述相应MHI通道缓存器转存至相应USB接口缓存器,并从所述相应USB接口缓存器传输至所述主设备。
根据本发明的一个实施例,所述获取所述MBB设备的插拔状态,包括:通过PCIE卡槽状态采样单元获取所述MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态;根据所述功耗突变状态和/或指定引脚的电平状态确定所述MBB设备的插拔状态和放电状态;若所述插拔状态为所述MBB设备被拔出,则切断所述PCIE卡槽的供电电源,并在所述PCIE卡槽放电完成后,接入所述PCIE卡槽的供电电源。
根据本发明的一个实施例,所述方法还包括:若所述插拔状态为所述MBB设备被插入,则在所述PCIE卡槽的唤醒引脚变为第一电平时,将所述PCIE卡槽的预设引脚置为第二电平,以使所述MBB设备开始PCIE枚举;进行PCIE接口重扫描业务,以与所述MBB设备进行链路训练;若在预设时间内完成所述链路训练,则建立PCIE IP与所述MBB设备之间的通信连接,否则确定所述PCIE链路状态异常。
为达到上述目的,本发明第二方面实施例提出了一种用于PCIE接口的MBB设备的热插拔装置,所述装置包括硬件可编程主控板,所述硬件可编程主控板包括PCIE控制器、USB控制器和MCU软核;其中,所述PCIE控制器,用于获取所述MBB设备的插拔状态,其中,所述插拔状态包括所述MBB设备被插入和所述MBB设备被拔出;所述MCU软核,用于在所述插拔状态为所述MBB设备被拔出时,通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,以及通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器;以及在所述插拔状态为所述MBB设备被插入时,通过所述USB协议栈清空所有USB接口缓存器,并通过所述MHI协议栈重置所述MHI控制寄存器,以及通过所述PCIE控制器向所述MBB设备发送写请求,并在所述PCIE控制器接收到所述MBB设备响应所述写请求反馈的就绪消息后,通过所述MHI协议栈将所述就绪消息传输至所述MHI控制寄存器,以使所述MHI控制寄存器进入就绪状态;所述USB控制器,用于所述USB接口缓存器与主设备之间的数据传输。
另外,本发明上述实施例的用于PCIE接口的MBB设备的热插拔装置还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述装置还包括:PCIE卡槽状态采样单元,用于获取所述MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态;其中,所述硬件可编程主控板还包括PCIE枚举状态机,所述PCIE枚举状态机用于根据所述功耗突变状态和/或指定引脚的电平状态确定所述MBB设备的插拔状态和放电状态,并在所述插拔状态为所述MBB设备被拔出时,切断所述PCIE卡槽的供电电源,以及在所述PCIE卡槽放电完成后,接入所述PCIE卡槽的供电电源。
根据本发明的一个实施例,PCIE卡槽状态采样单元,用于获取所述MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态;其中,所述硬件可编程主控板还包括PCIE枚举状态机,所述PCIE枚举状态机用于根据所述功耗突变状态和/或指定引脚的电平状态确定所述MBB设备的插拔状态和放电状态,并在所述插拔状态为所述MBB设备被拔出时,切断所述PCIE卡槽的供电电源,以及在所述PCIE卡槽放电完成后,接入所述PCIE卡槽的供电电源。
根据本发明的一个实施例,所述PCIE枚举状态机还用于:在所述插拔状态为所述MBB设备被插入时,若所述PCIE卡槽的唤醒引脚变为第一电平,则将所述PCIE卡槽的预设引脚置为第二电平,以使所述MBB设备开始PCIE枚举;进行PCIE接口重扫描业务,以与所述MBB设备进行链路训练;若在预设时间内完成所述链路训练,则建立PCIE IP与所述MBB设备之间的通信连接,否则确定所述PCIE链路状态异常。
为达到上述目的,本发明第三方面实施例提出了一种用于PCIE接口的MBB设备的热插拔系统,所述系统包括:MBB设备、PCIE卡槽和上述的用于PCIE接口的MBB设备的热插拔装置。
本发明实施例的用于PCIE接口的MBB设备的热插拔方法及其装置和系统,可增强具有PCIE接口的MBB设备的即插即用能力和稳定性。
附图说明
图1是本发明第一个实施例的用于PCIE接口的MBB设备的热插拔方法的流程图;
图2是本发明第一个实施例的用于PCIE接口的MBB设备的热插拔系统的结构框图;
图3是本发明一个实施例的用于PCIE接口的MBB设备的热插拔通信流的时序图;
图4是本发明第二个实施例的用于PCIE接口的MBB设备的热插拔方法的流程图;
图5是本发明一个实施例的DL数据通信流的时序图;
图6是本发明第三个实施例的用于PCIE接口的MBB设备的热插拔方法的流程图;
图7是本发明一个实施例的UL数据通信流的时序图;
图8是本发明第四个实施例的用于PCIE接口的MBB设备的热插拔方法的流程图;
图9是本发明第二个实施例的用于PCIE接口的MBB设备的热插拔系统的结构框图;
图10是本发明第五个实施例的用于PCIE接口的MBB设备的热插拔方法的流程图;
图11是本发明一个实施例的MBB设备拔插与建立PCIE链路过程的时序图;
图12是本发明一个实施例的用于PCIE接口的MBB设备的热插拔装置的结构框图;
图13是本发明第三个实施例的用于PCIE接口的MBB设备的热插拔系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的用于PCIE接口的MBB设备的热插拔方法及其装置和系统。
图1是本发明一个实施例的用于PCIE接口的MBB设备的热插拔方法的流程图。
如图1所示,方法包括:
S11,获取MBB设备的插拔状态,其中,插拔状态包括MBB设备被插入和MBB设备被拔出。
具体地,如图2所示,可基于FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)平台设置PCIE IP、MCU(Micro Controller Unit,微控制器)软核和USB IP,针对MCU软核可编写裸机C代码完成PCIE接口的报文与MHI协议数据的转换,并实现MHI协议栈和USB协议栈。
其中,PCIE IP可用以固定PCIE配置空间的BAR空间(如MHI Data/Registers空间)在存储器(如:PSRAM)地址。MHI协议栈可将MHI协议二次转换为指定接口的MHI通道缓存器,并通过FPGA内部的互联总线下的存储器暂存在指定地址,以便其他物理接口通过FPGA内部的互联总线读取指定地址区域数据。USB协议栈可将FPGA内部的互联总线下存储器的MHI通道UL/DL(上行/下行)数据,组装或拆解到FPGA内部的互联总线下的存储器,之后暂存在指定的USB接口缓存器,以便USB IP通过FPGA内部的互联总线读写并转发到上游主机(也可称为主设备,如PC机)。
如图3所示,当MBB设备被插入或拔出时,PCIE IP可向MCU软核发送链路状态改变消息。
S12,若插拔状态为MBB设备被拔出,则通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,以及通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器。
具体地,如图3所示,当MBB设备被拔出,MCU软核判断PCIE链路中断,MCU软核通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,USB协议栈通过数据总线将USB接口缓存器为非空状态的消息发送到USB控制器(即上述的USB IP);MCU软核还通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器。
S13,若插拔状态为MBB设备被插入,则通过USB协议栈清空所有USB接口缓存器,并通过MHI协议栈重置MHI控制寄存器,以及向MBB设备发送写请求,并在接收到MBB设备响应写请求反馈的就绪消息后,通过MHI协议栈将就绪消息传输至MHI控制寄存器,以使MHI控制寄存器进入就绪状态。
具体地,如图3所示,当MBB设备被插入,MCU软核判断PCIE链路是否准备完成;若准备未完成,则执行上述MBB设备被拔出时MCU软核判断PCIE链路中断的方法;若准备完成,MCU软核通过USB协议栈清空所有USB接口缓存器,USB协议栈通过数据总线通知USB控制器USB接口缓存器为空;MCU软核还通过MHI协议栈重置MHI控制寄存器,以及向MBB设备发送写请求,并在接收到MBB设备响应写请求反馈的就绪消息后,通过MHI协议栈将就绪消息传输至MHI控制寄存器,以使MHI控制寄存器进入就绪状态。
本发明实施例的用于PCIE接口的MBB设备的热插拔方法,可在MBB设备插入和拔出时,进行相关缓存器、寄存器的处理,以便在MBB设备插入时,可与主设备(如PC机)进行数据传输,从而增强了具有PCIE接口的MBB设备的即插即用能力和稳定性。
在一些实施例中,MBB设备通过总线与主设备连接,DL通信流如图4所示,方法还包括:
S41,在接收到主设备发送的DL数据后,将DL数据存储至相应的USB接口缓存器,并通过USB协议栈将DL数据从相应的USB接口缓存器转存至相应的MHI通道缓存器。
具体地,如图5所示,DL数据可为AT指令,接收到主设备Host发送的AT指令后,USB控制器将数据存储到AT USB接口缓存器,USB控制器通过数据总线通知USB协议栈将AT指令从AT USB接口缓存器转存至MHI AT通道缓存器,之后USB协议栈向MCU软核发送MHI AT通道缓存器为非空状态的通知。
S42,检查PCIE链路状态是否正常。
具体地,如图5所示,MCU软核接到MHI AT通道缓存器为非空状态的通知后检查PCIE链路状态是否正常。
S43,若PCIE链路状态正常,则通过MHI协议栈建立相应的MHI通道缓存器与UL传输环形缓冲区之间的连接,并触发相应的MHI控制寄存器作为门铃寄存器,以及通过门铃寄存器将DL数据传输至MBB设备。
具体地,如图5所示,若正常,MCU软核向MHI协议栈发送MHI AT通道缓存器为非空状态的通知,MHI协议栈建立MHI AT通道缓存器到UL传输环形缓冲区之间的链接,并触发MHI AT控制寄存器作为门铃寄存器,以及通过门铃寄存器将AT指令写入PCIE IP,PCIE IP将AT指令打包为TLP格式传输至MBB设备。
在一些实施例中,方法还包括:若PCIE链路状态异常,则通过USB协议栈向相应的USB接口缓存器写入PCIE链路错误信息,并告知主设备。
具体地,如图5所示,若MCU软核判断PCIE链路状态异常,将异常信息发送到USB协议栈,USB协议栈向AT USB接口缓存器写入PCIE链路错误信息,并通过数据总线告知主设备Host。
在该实施例中,接收主设备发送的DL数据,MCU软核检查PCIE链路状态,若PCIE链路错误,将错误返回主设备,若PCIE链路正常,将DL数据发送到MBB设备。
在一些实施例中,UL通信流如图6所示,方法还包括:
S61,在接收到MBB设备发送的UL数据后,将UL数据存储至相应通道的DL传输环形缓冲区。
具体地,UL数据可包括MBB设备返回主机Host数据,如图7所示,PCIE IP接收到MBB设备发送的UL数据后进行解包,并将解包后的UL数据存储至相应通道的DL传输环形缓冲区。
S62,在接收到MBB设备写入的相应通道的事件环后,更新相应通道的事件环形缓冲区,事件环包括至少一个通道事件。
具体地,如图7所示,UL数据存储至相应通道的DL传输环形缓冲区后,MHI协议栈更新相应通道的DL传输环形缓冲区,并在接收到MBB设备写入的相应通道的事件环后更新相应通道的事件环形缓冲区。其中,MBB设备写入的相应通道的事件环由PCIE IP接收并解包发送到相应通道的事件环形缓冲区。
S63,在接收到MBB设备发送的中断触发信息后,检查MSI相应的通道事件和获取通道事件相关DL通道环形缓冲区的偏移地址。
具体地,如图7所示,在接收到MBB设备发送的中断触发信息后,MHI协议栈检查MSI相应通道事件和获取事件相关DL通道环形缓冲区的偏移地址。其中,MBB设备发送的中断触发信息由PCIE IP接收并解包发送到MSI相应通道事件环形缓冲区
S64,建立事件相关DL通道环形缓冲区的偏移地址与相应的MHI通道缓存器之间的连接。
具体地,如图7所示,链接建立后MHI协议栈通知MCU软核相应MHI通道缓存器为非空状态,MCU软核再通知USB协议栈。
S65,通过USB协议栈将UL数据从相应MHI通道缓存器转存至相应USB接口缓存器,并从相应USB接口缓存器传输至主设备。
具体地,如图7所示,UL数据从相应MHI通道缓存器转存至相应USB接口缓存器后,USB协议栈通过数据总线通知USB控制器,USB控制器将相应USB接口缓存器为非空状态消息通知主设备Host,并将USB接口缓存器中数据传输至主设备Host。该实施例将MBB设备发送的UL数据传输到主设备。
在一些实施例中,如图8所示,获取MBB设备的插拔状态,包括:
S81,通过PCIE卡槽状态采样单元获取MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态。
S82,根据功耗突变状态和/或指定引脚的电平状态确定MBB设备的插拔状态和放电状态。
S83,若插拔状态为MBB设备被拔出,则切断PCIE卡槽的供电电源,并在PCIE卡槽放电完成后,接入PCIE卡槽的供电电源。
具体地,如图9所示,PCIE卡槽状态采样单元可检测PCIE RC指定槽位上的功耗突变状态及槽位上指定PIN电平状态,可用于评估PCIE接口的MBB设备是否就位于主设备Host侧。
在一些实施例中,如图10所示,在步骤S83之后,方法还包括:
S101,若插拔状态为MBB设备被插入,则在PCIE卡槽的唤醒引脚变为第一电平时,将PCIE卡槽的预设引脚置为第二电平,以使MBB设备开始PCIE枚举。
S102,进行PCIE接口重扫描业务,以与MBB设备进行链路训练。
S103,若在预设时间内完成链路训练,则建立PCIE IP与MBB设备之间的通信连接,否则确定PCIE链路状态异常。
具体地,如图9、图11所示,PCIE枚举状态机完成PCIE卡槽上的PCIE接口MBB设备Wake_up引脚状态变化监测,调整PCIE卡槽连接的PCIE接口的MBB设备的预设系数Preset和PCIE IP的重扫描业务,实现PCIE接口的MBB设备的拔插场景中的重新枚举以快速恢复通信。
综上所述,本发明实施例的用于PCIE接口的MBB设备的热插拔方法,通过PCIE枚举状态机通过检测MBB设备状态并进行重新枚举,可增强具有PCIE接口的MBB设备的即插即用能力;通过引入包含MCU通信站和USB协议栈的MCU软核和多种通信流解决PCIE链路异常掉线和MBB设备非预期拔插等特殊场景下PCIE通信恢复的问题,增强了系统的稳定性。
图12是本发明一个实施例的用于PCIE接口的MBB设备的热插拔装置的结构框图。
如图12所示,用于PCIE接口的MBB设备的热插拔装置100包括硬件可编程主控板101,硬件可编程主控板101包括PCIE控制器102、USB控制器103和MCU软核104;其中,PCIE控制器102,用于获取MBB设备的插拔状态,其中,插拔状态包括MBB设备被插入和MBB设备被拔出。MCU软核104,用于在插拔状态为MBB设备被拔出时,通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,以及通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器;以及在插拔状态为MBB设备被插入时,通过USB协议栈清空所有USB接口缓存器,并通过MHI协议栈重置MHI控制寄存器,以及通过PCIE控制器102向MBB设备发送写请求,并在PCIE控制器102接收到MBB设备响应写请求反馈的就绪消息后,通过MHI协议栈将就绪消息传输至MHI控制寄存器,以使MHI控制寄存器进入就绪状态;USB控制器103,用于USB接口缓存器与主设备之间的数据传输。
在一些实施例中,如图12所示,用于PCIE接口的MBB设备的热插拔装置100还包括:
PCIE卡槽状态采样单元105,用于获取MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态。
其中,硬件可编程主控板101还包括PCIE枚举状态机106,PCIE枚举状态机106用于根据功耗突变状态和/或指定引脚的电平状态确定MBB设备的插拔状态和放电状态,并在插拔状态为MBB设备被拔出时,切断PCIE卡槽的供电电源,以及在PCIE卡槽放电完成后,接入PCIE卡槽的供电电源。
在一些实施例中,PCIE枚举状态机106还用于:
在插拔状态为MBB设备被插入时,若PCIE卡槽的唤醒引脚变为第一电平(如低电平),则将PCIE卡槽的预设引脚置为第二电平(如高电平),以使MBB设备开始PCIE枚举;进行PCIE接口重扫描业务,以与MBB设备进行链路训练;若在预设时间内完成链路训练,则建立PCIE IP与MBB设备之间的通信连接,否则确定PCIE链路状态异常。
图13是本发明一个实施例的用于PCIE接口的MBB设备的热插拔系统的结构框图。
如图13所示,用于PCIE接口的MBB设备的热插拔系统200包括:MBB设备201、PCIE卡槽202和上述的用于PCIE接口的MBB设备的热插拔装置100。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种用于PCIE接口的MBB设备的热插拔方法,其特征在于,所述方法包括:
获取所述MBB设备的插拔状态,其中,所述插拔状态包括所述MBB设备被插入和所述MBB设备被拔出;
若所述插拔状态为所述MBB设备被拔出,则通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,以及通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器;
若所述插拔状态为所述MBB设备被插入,则通过所述USB协议栈清空所有USB接口缓存器,并通过所述MHI协议栈重置所述MHI控制寄存器,以及向所述MBB设备发送写请求,并在接收到所述MBB设备响应所述写请求反馈的就绪消息后,通过所述MHI协议栈将所述就绪消息传输至所述MHI控制寄存器,以使所述MHI控制寄存器进入就绪状态。
2.根据权利要求1所述的用于PCIE接口的MBB设备的热插拔方法,其特征在于,所述MBB设备通过总线与主设备连接,所述方法还包括:
在接收到所述主设备发送的DL数据后,将所述DL数据存储至相应的USB接口缓存器,并通过所述USB协议栈将所述DL数据从相应的所述USB接口缓存器转存至相应的MHI通道缓存器;
检查PCIE链路状态是否正常;
若所述PCIE链路状态正常,则通过所述MHI协议栈建立相应的所述MHI通道缓存器与UL传输环形缓冲区之间的连接,并触发相应的所述MHI控制寄存器作为门铃寄存器,以及通过所述门铃寄存器将所述DL数据传输至所述MBB设备。
3.根据权利要求2所述的用于PCIE接口的MBB设备的热插拔方法,其特征在于,所述方法还包括:
若所述PCIE链路状态异常,则通过所述USB协议栈向相应的所述USB接口缓存器写入PCIE链路错误信息,并告知所述主设备。
4.根据权利要求2所述的用于PCIE接口的MBB设备的热插拔方法,其特征在于,所述方法还包括:
在接收到所述MBB设备发送的UL数据后,将所述UL数据存储至相应通道的DL传输环形缓冲区;
在接收到所述MBB设备写入的相应通道的事件环后,更新相应通道的事件环形缓冲区,所述事件环包括至少一个通道事件;
在接收到所述MBB设备发送的中断触发信息后,检查MSI相应的所述通道事件和获取所述通道事件相关DL通道环形缓冲区的偏移地址;
建立所述事件相关DL通道环形缓冲区的偏移地址与相应的MHI通道缓存器之间的连接;
通过所述USB协议栈将所述UL数据从所述相应MHI通道缓存器转存至相应USB接口缓存器,并从所述相应USB接口缓存器传输至所述主设备。
5.根据权利要求1所述的用于PCIE接口的MBB设备的热插拔方法,其特征在于,所述获取所述MBB设备的插拔状态,包括:
通过PCIE卡槽状态采样单元获取所述MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态;
根据所述功耗突变状态和/或指定引脚的电平状态确定所述MBB设备的插拔状态和放电状态;
若所述插拔状态为所述MBB设备被拔出,则切断所述PCIE卡槽的供电电源,并在所述PCIE卡槽放电完成后,接入所述PCIE卡槽的供电电源。
6.根据权利要求5所述的用于PCIE接口的MBB设备的热插拔方法,其特征在于,所述方法还包括:
若所述插拔状态为所述MBB设备被插入,则在所述PCIE卡槽的唤醒引脚变为第一电平时,将所述PCIE卡槽的预设引脚置为第二电平,以使所述MBB设备开始PCIE枚举;
进行PCIE接口重扫描业务,以与所述MBB设备进行链路训练;
若在预设时间内完成所述链路训练,则建立PCIE IP与所述MBB设备之间的通信连接,否则确定所述PCIE链路状态异常。
7.一种用于PCIE接口的MBB设备的热插拔装置,其特征在于,所述装置包括硬件可编程主控板,所述硬件可编程主控板包括PCIE控制器、USB控制器和MCU软核;其中,
所述PCIE控制器,用于获取所述MBB设备的插拔状态,其中,所述插拔状态包括所述MBB设备被插入和所述MBB设备被拔出;
所述MCU软核,用于在所述插拔状态为所述MBB设备被拔出时,通过USB协议栈将PCIE链路错误信息发送至所有USB接口缓存器并存储,以及通过MHI协议栈清空所有MHI通道缓存器、环形缓冲区和MHI控制寄存器;以及在所述插拔状态为所述MBB设备被插入时,通过所述USB协议栈清空所有USB接口缓存器,并通过所述MHI协议栈重置所述MHI控制寄存器,以及通过所述PCIE控制器向所述MBB设备发送写请求,并在所述PCIE控制器接收到所述MBB设备响应所述写请求反馈的就绪消息后,通过所述MHI协议栈将所述就绪消息传输至所述MHI控制寄存器,以使所述MHI控制寄存器进入就绪状态;
所述USB控制器,用于所述USB接口缓存器与主设备之间的数据传输。
8.根据权利要求7所述的用于PCIE接口的MBB设备的热插拔装置,其特征在于,所述装置还包括:
PCIE卡槽状态采样单元,用于获取所述MBB设备所插PCIE卡槽的功耗突变状态和/或指定引脚的电平状态;
其中,所述硬件可编程主控板还包括PCIE枚举状态机,所述PCIE枚举状态机用于根据所述功耗突变状态和/或指定引脚的电平状态确定所述MBB设备的插拔状态和放电状态,并在所述插拔状态为所述MBB设备被拔出时,切断所述PCIE卡槽的供电电源,以及在所述PCIE卡槽放电完成后,接入所述PCIE卡槽的供电电源。
9.根据权利要求8所述的用于PCIE接口的MBB设备的热插拔装置,其特征在于,所述PCIE枚举状态机还用于:
在所述插拔状态为所述MBB设备被插入时,若所述PCIE卡槽的唤醒引脚变为第一电平,则将所述PCIE卡槽的预设引脚置为第二电平,以使所述MBB设备开始PCIE枚举;
进行PCIE接口重扫描业务,以与所述MBB设备进行链路训练;
若在预设时间内完成所述链路训练,则建立PCIE IP与所述MBB设备之间的通信连接,否则确定所述PCIE链路状态异常。
10.一种用于PCIE接口的MBB设备的热插拔系统,其特征在于,所述系统包括:MBB设备、PCIE卡槽和根据权利要求7-9中任一项所述的用于PCIE接口的MBB设备的热插拔装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739984.4A CN116775530A (zh) | 2023-06-20 | 2023-06-20 | 用于pcie接口的mbb设备的热插拔方法及其装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739984.4A CN116775530A (zh) | 2023-06-20 | 2023-06-20 | 用于pcie接口的mbb设备的热插拔方法及其装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775530A true CN116775530A (zh) | 2023-09-19 |
Family
ID=87990852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310739984.4A Pending CN116775530A (zh) | 2023-06-20 | 2023-06-20 | 用于pcie接口的mbb设备的热插拔方法及其装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775530A (zh) |
-
2023
- 2023-06-20 CN CN202310739984.4A patent/CN116775530A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW552780B (en) | USB communication control apparatus, USB communication system and USB communication control method | |
US6353866B1 (en) | Apparatus and method for initializing a universal serial bus device | |
CN1835441B (zh) | 通信装置及其控制方法 | |
EP2176772B1 (en) | Processing of data to monitor input/output operations | |
US20070005867A1 (en) | Virtual peripheral device interface and protocol for use in peripheral device redirection communication | |
US20130246680A1 (en) | Hot plug process in a distributed interconnect bus | |
US5317692A (en) | Method and apparatus for buffer chaining in a communications controller | |
CN101788972A (zh) | 一种数据传输的系统与方法 | |
CN107038137B (zh) | 一种热插拔的设备及方法 | |
US10042800B2 (en) | Active USB device and switching method for operating mode thereof | |
EP1975804A1 (en) | Apparatus, method, and system for controlling communication between host device and USB device | |
US7117283B2 (en) | Multi-master extended I2C protocol | |
CN112084128B (zh) | 消息中断通信方法、计算机设备和存储介质 | |
EP1516261B1 (en) | Bus system, station for use in a bus system, and bus interface | |
WO2001050219A2 (en) | Communication protocol for serial peripheral devices | |
US20130332504A1 (en) | Station, target apparatus, initiator apparatus, communication system, and communication method | |
CN116775530A (zh) | 用于pcie接口的mbb设备的热插拔方法及其装置和系统 | |
CN102346717B (zh) | 一种ipmi消息传输装置、系统及计算机设备 | |
CN112311425B (zh) | 一种蓝牙hci模式自动检测的方法、装置及存储介质 | |
CN102929828B (zh) | 同时支持标准和非标准i2c接口的数据传输方法及装置 | |
US5559972A (en) | Method and apparatus for supporting byte-mode devices and non-byte-mode devices on a bus | |
JP4431768B2 (ja) | 携帯型電子装置、読み出し方法及び書き込み方法 | |
CN111371799A (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN104850517A (zh) | 一种dma传输报文数据的方法及装置 | |
JP3846089B2 (ja) | インターフェース装置、その制御方法および情報記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |