CN103793344A - 处理数据冲突的方法及系统 - Google Patents
处理数据冲突的方法及系统 Download PDFInfo
- Publication number
- CN103793344A CN103793344A CN201210428003.6A CN201210428003A CN103793344A CN 103793344 A CN103793344 A CN 103793344A CN 201210428003 A CN201210428003 A CN 201210428003A CN 103793344 A CN103793344 A CN 103793344A
- Authority
- CN
- China
- Prior art keywords
- pmbus
- order
- time
- equipment
- master
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
- Alarm Systems (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
Abstract
本发明实施例公开了一种处理数据冲突的方法及系统,涉及集成电路信号接口技术领域,所述方法包括:通过电源管理总线PMBus向从设备发送PMBus命令,以进行电源管理;当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;若所述PMBus命令发送失败的次数小于所述预设值,则开始计时;当计时时间长度达到重发时间时,重新发送所述PMBus命令。本发明适用于多个主设备Master通过电源管理总线PMBus发送PMBus命令。
Description
技术领域
本发明涉及集成电路信号接口技术领域,特别涉及一种处理数据冲突的方法及系统。
背景技术
随着半导体行业的快速发展,人们发现对电源路数和功率需求是越来越多,原来一个系统可能3~4路电源就可以了,现在可能有10~20多路电源,而这10~20多路的电源的上下电的时序也不尽相同,功率大小也不一样,因此需要进行电源管理。
PMBus(Power Management Bus,电源管理总线)是一种开放标准的数字电源管理协议,可通过定义传输和物理接口以及命令语言来促进与电源转换器或其他设备的通信,该协议是由一群认为由于没有合适的标准而抑制了全数字电源管理解决方案的发展的电源和半导体生产商共同建立的,目前,这个协议正在迅速地获得业界的认可。
PMBus作为电源芯片的管理接口,在目前的集成电路系统中PMBus的应用越来越广泛。以多个Master(主设备)控制同一个Slave(从设备)中电源芯片的多路输出场景为例:PMBus包括一条数据总线和一条时钟总线,每一个Master都与数据总线和时钟总线相连接,通过数据总线和时钟总线向电源芯片发送PMBus命令,进而对电源芯片进行控制,使电源芯片输出相应的电压或实现其他操作。由于PMBus总线为I2C(Inter-Integrated Circuit,内部集成电路)串口总线,当存在多个Master同时运行时,会发生数据冲突。例如,存在两个主设备Master0和Master1同时运行,当二者检测到总线空闲时,可能会同时向电源芯片中发送数据,此时PMBus会发起仲裁,判断Master0和Master1二者中谁有资格控制总线进行数据传输,仲裁失败的那一个Master的数据将会被丢弃。
针对上述问题,现有技术中会丢弃仲裁失败的那一方的此次操作,并通过硬件重新发送数据;或者上报告警,然后通过软件下发重新发送数据的命令进而重新发送数据。
现有技术中至少存在如下问题:当多个Master发生数据冲突时,如果通过硬件或软件直接重新发送数据,那么重新发送的数据仍然可能会不断地发生冲突,从而导致系统无法正常运行,严重影响系统的可靠性。
发明内容
提供一种处理数据冲突的方法及系统,能够解决多Master的场景下电源管理总线PMBus发生数据冲突的问题,提高系统的可靠性。
第一方面,提供一种处理数据冲突的方法,包括:
通过电源管理总线PMBus向从设备发送PMBus命令,以进行电源管理;
当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
若所述PMBus命令发送失败的次数小于所述预设值,则开始计时;
当计时时间长度达到重发时间时,重新发送所述PMBus命令。
在第一种可能的实现方式中,所述重发时间大于主设备Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
若所述PMBus命令发送失败的次数大于等于所述预设值,指示所述从设备上报告警信息;
根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,还包括:向所述从设备发送清除所述从设备中的告警信息的命令。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,将所述重发时间配置为固定时间长度或随机时间长度。
结合第一方面或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述将所述重发时间配置为固定时间长度包括:在所述通过电源管理总线PMBus向从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
可选的,所述将所述重发时间配置为随机时间长度包括:
当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
第二方面,提供一种处理数据冲突的系统,主设备Master、从设备和电源管理总线PMBus,所述主设备通过所述PMBus访问所述从设备,以进行电源管理;所述主设备包括:自适应电压调节AVS模块,所述AVS模块包括:
命令发送单元,用于通过所述PMBus向所述从设备发送PMBus命令;
判断单元,用于当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
计时单元,用于当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;
所述命令发送单元还用于当所述计时单元的计时时间长度达到重发时间时,重新发送所述PMBus命令。
在第一种可能的实现方式中,所述重发时间大于Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
进一步的,所述AVS模块还包括:告警上报单元;
所述告警上报单元用于当所述PMBus命令发送失败的次数大于等于所述预设值时,指示所述从设备上报告警信息;
所述主设备还包括:处理模块;
所述处理模块用于根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
进一步的,所述命令发送单元还用于:向所述从设备发送清除所述从设备中的告警信息的命令。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述AVS模块还包括:
时间配置单元,用于将所述重发时间配置为固定时间长度或随机时间长度。
结合第二方面或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述时间配置单元包括:
第一时间配置子单元,用于在所述通过所述PMBus向所述从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
可选的,所述时间配置单元还包括:
第二时间配置子单元,当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
与现有技术相比,本发明实施例通过电源管理总线PMBus向从设备发送PMBus命令;当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;当所述PMBus命令发送失败的次数大于等于所述预设值时,根据从所述从设备获取的告警信息结束流程;当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;当计时时间长度达到重发时间时,重新发送所述PMBus命令。上述流程通过为系统内发生数据冲突的主设备Master配置一定时间长度的PMBus命令重发缓冲时间,降低了已经发生数据冲突的多个Master重发PMBus命令时再次发生同样的数据冲突的概率,极大地提高了系统的可靠性,保证系统的正常运行。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的方法流程图;
图2为本发明实施例二提供的方法流程图;
图3为本发明实施例二提供的状态机实现流程图;
图4、图5为本发明实施例三提供的系统结构示意图;
图6为本发明实施例四提供的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
实施例一
本实施例提供一种处理数据冲突的方法,如图1所示,所述方法包括:
101、主设备Master通过电源管理总线PMBus向从设备发送PMBus命令,以进行电源管理。
需要说明的是,电源管理总线PMBus为规定的控制电源变换和管理器件数字通信协议。电源管理中,采用PMBus作为从设备的电源芯片的管理接口,主设备根据标准命令集可以配置、监控和操作从设备的电源变换器,具体通过PMBus命令,可以设置电源的工作参量、监控电源的工作和根据失效和报警执行正确的测量等。其中,所述PMBus命令可以为配置命令或控制命令,例如,配置命令具体可以包括:配置输出电压设定值的调压命令、工作频率配置命令以及相位延迟配置命令等,控制命令具体可以包括:控制从设备进行使能/断开的命令、使从设备输出电压的命令、控制调整从设备工作频率以及容限的命令等。
进一步的,从设备在接收到PMBus命令后可以根据具体的命令配置相应的参数或调整工作状态。
102、当所述PMBus命令发送失败时,Master判断所述PMBus命令发送失败的次数是否大于等于预设值。
其中,所述预设值是在系统初始化时所预先配置的。
需要说明的是,当系统中存在多个主设备通过PMBus对从设备进行控制时,若两个或两个以上的Master同时通过I2C总线向从设备发送调压命令或者其他控制命令时,I2C总线会对这些Master进行仲裁,仅仅允许一个Master对总线进行控制,其他没有得到总线允许的Master的数据将会被丢弃,命令发送失败,需要进行重新发送。
103、若所述PMBus命令发送失败的次数小于所述预设值,则Master开始计时。
104、当计时时间长度达到重发时间时,Master重新发送所述PMBus命令。
其中,所述重发时间大于Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
进一步的,若所述PMBus命令发送失败的次数大于等于所述预设值,则指示所述从设备上报告警信息;
根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
进一步的,将所述重发时间配置为固定时间长度或随机时间长度。
可选的,所述将所述重发时间配置为固定时间长度包括:
在所述通过电源管理总线PMBus向从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
可选的,所述将所述重发时间配置为随机时间长度包括:
当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
可选的,当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,还包括:
向所述从设备发送清除所述从设备中的告警信息的命令。
与现有技术相比,本发明实施例通过电源管理总线PMBus向从设备发送PMBus命令;当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;当所述PMBus命令发送失败的次数大于等于所述预设值时,根据从所述从设备获取的告警信息结束流程;当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;当计时时间长度达到重发时间时,重新发送所述PMBus命令。上述流程通过为系统内发生数据冲突的主设备Master配置一定时间长度的PMBus命令重发缓冲时间,降低了已经发生数据冲突的多个Master重发PMBus命令时再次发生同样的数据冲突的概率,极大地提高了系统的可靠性,保证系统的正常运行。
实施例二
本实施例提供一种处理数据冲突的方法,从设备以电源芯片为例,如图2所示,所述方法包括:
201、主设备Master向电源芯片发送电源管理总线PMBus命令。
例如,所述PMBus命令可以为调压命令或者其他控制命令,所述电源芯片为从设备,Master通过一条数据总线(可以称作pmbus_data)和一条时钟总线(可以称作pmbus_clk)向电源芯片发送该PMBus命令,电源芯片在接收到调压命令后可以相应调整向Master输出的电压,或者根据其他控制命令执行相应的操作,例如上电操作等。
可选的,一般情形下,系统中会存在多个Master对电源芯片进行控制,当两个或两个以上的Master同时向电源芯片发送命令时,PMBus总线会依据某种机制对同时发送命令的Master进行仲裁,判定它们之中哪一个优先级最高,优先级高的才被允许控制总线发送PMBus命令,优先级低的Master发送命令会失败,因此Master要执行步骤202进行判定,以决定下一步的执行流程。
202、判断该PMBus命令是否出错,若该PMBus命令出错,执行步骤203;若该PMBus命令没有出错,在发送该PMBus命令后结束流程。
其中,Master每向电源芯片发送一个字节的数据都会得到电源芯片的响应,当电源芯片不能响应Master时,会使数据总线保持低电平,从而使Master能够得知该数据发送出错,进而执行步骤203。
可选的,当PMBus命令发送成功后,可以直接结束流程。
203、判断该PMBus命令的出错次数是否小于系统配置的预设值,若该PMBus命令的出错次数小于系统配置的预设值,执行步骤204;若该PMBus命令的出错次数大于等于系统配置的预设值,执行步骤206。
204、Master向电源芯片发送清除电源芯片中产生的告警信息的命令。
可选的,当Master发送的PMBus命令的出错次数小于预设值时,虽然此时的出错可能是一些可以解决的问题造成的,不用上报CPU处理,但此时电源芯片仍会生成关于此次错误的告警信息,由于本发明的处理流程改进,这些告警信息成为了垃圾信息,需要通知电源芯片进行清除,释放内存。
205、Master为该PMBus命令启动计时,等待计时达到重发时间,再次执行步骤201。
例如,当多个Master同时发送PMBus命令导致数据冲突,并需要重发PMBus命令时,为了避免这些Master重发PMBus命令时再次导致数据冲突,为Master设定不同的重发等待时间,即重发时间,以使得这些Master将发送PMBus命令的时间错开,避免数据冲突。
进一步的,为了使重发时间能够有效错开Master之间发送命令的时间,为重发时间定义一个时间长度下限min_length,min_length为系统中Master发送一条最短PMBus命令所需的时间长度。
需要说明的是,针对定义的min_length存在一种情形:假设有Master0和Master1两个主设备,Master0正在发送PMBus命令,而Master1以稍大于min_length的时间长度为重发时间准备重发PMBus命令,其中,Master0发送此条PMBus命令所需的时间远大于min_length,而此时Master1在Master0开始发送PMBus命令的同时开始计时重发自身的PMBus命令,那么在Master1的计时到达min_length后,Master1会进行PMBus命令重发,但Master0还未完成自身PMBus命令的发送,二者会发生数据冲突。由于min_length的设定原则限制,此种情形是不可避免的,但是当Master1进行第二次重发时,上述问题不会再次发生,所以定义重发时间为min_length是完全可行的。同时为了兼顾系统的总线效率,不能将重发时间定义的太长,要小于等于上限max_length,max_length为系统中所有Master发出一条最长PMBus命令所需的时间长度之和。
可选的,所述重发时间可以为每一个Master均进行设置,例如,在步骤201执行之前就为系统中每一个Master设置一个不相同的固定的重发时间,保证两个或两个以上Master进行重发时不会再次发生数据冲突;或者,在步骤205开始计时之前,即时地为需要重发PMBus命令的Master设置重发时间,此时设定的时间可以为min_length和max_length之间不同的随机值,以保证重发的正常进行。
206、Master向电源芯片发送命令,指示电源芯片上报告警信息,根据从所述从设备获取的所述告警信息,中断发送PMBus命令给电源芯片。
进一步的,本发明实施例的流程的状态机实现过程如图3所示,其中,如果Master发送的PMBus命令未发生错误,则执行图3中步骤1、步骤2和步骤3;如果Master发送的PMBus命令发生错误,且重发次数小于预设值,则执行图3中步骤1、步骤4、步骤5和步骤6,若重发成功,执行图3中步骤2和步骤3,然后结束流程;若重发不成功,则循环执行图3中步骤4、步骤5和步骤6直至达到最大错误次数,执行步骤7、步骤8和步骤3,然后结束流程。
需要说明的是,本发明实施例中的主设备Master可以为ASIC或者板级CPU等,从设备可以为电源芯片等,但不对设备的具体形式进行限定。
与现有技术相比,本发明实施例通过电源管理总线PMBus向从设备发送PMBus命令;当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;当所述PMBus命令发送失败的次数大于等于所述预设值时,根据从所述从设备获取的告警信息结束流程;当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;当计时时间长度达到重发时间时,重新发送所述PMBus命令。上述流程通过为系统内发生数据冲突的主设备Master配置一定时间长度的PMBus命令重发缓冲时间,降低了已经发生数据冲突的多个Master重发PMBus命令时再次发生同样的数据冲突的概率,极大地提高了系统的可靠性,保证系统的正常运行。
实施例三
本实施例提供一种处理数据冲突的系统30,如图4所示,所述系统30包括主设备Master31、从设备32和电源管理总线PMBus33,所述主设备31通过所述PMBus33访问所述从设备32,以进行电源管理;
进一步的,如图5所示,所述主设备31包括:AVS(Adaptive Voltage Scaling,自适应电压调节)模块311,所述AVS模块311包括:
命令发送单元3111,用于通过所述PMBus33向从设备32发送PMBus命令;
判断单元3112,用于当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
计时单元3113,用于当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;
所述命令发送单元3111还用于当所述计时单元3113的计时时间长度达到重发时间时,重新发送所述PMBus命令。
其中,所述重发时间大于Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
进一步的,如图5所示,所述AVS模块311还可以包括:
时间配置单元3114,用于将所述重发时间配置为固定时间长度或随机时间长度。
进一步的,如图5所示,所述时间配置单元3114还可以包括:
第一时间配置子单元31141,用于在所述通过所述PMBus33向所述从设备32发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同;
第二时间配置子单元31142,用于当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
进一步的,如图5所示,所述AVS模块311还可以包括:告警上报单元3115;
所述告警上报单元3115用于当所述PMBus命令发送失败的次数大于等于所述预设值时,指示所述从设备32上报告警信息;
所述主设备31还包括:处理模块312;
所述处理模块312用于根据从所述从设备32获取的所述告警信息,中断发送所述PMBus命令给所述从设备32的流程。
进一步的,所述命令发送单元3111还用于向所述从设备32发送清除所述从设备32中的告警信息的命令。
需要说明的是,本发明实施例中的主设备Master可以为ASIC或者板级CPU等,从设备可以为电源芯片等,但不对设备的具体形式进行限定。
与现有技术相比,本发明实施例通过电源管理总线PMBus向从设备发送PMBus命令;当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;当所述PMBus命令发送失败的次数大于等于所述预设值时,根据从所述从设备获取的告警信息结束流程;当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;当计时时间长度达到重发时间时,重新发送所述PMBus命令。上述流程通过为系统内发生数据冲突的主设备Master配置一定时间长度的PMBus命令重发缓冲时间,降低了已经发生数据冲突的多个Master重发PMBus命令时再次发生同样的数据冲突的概率,极大地提高了系统的可靠性,保证系统的正常运行。
实施例四
本实施例提供一种处理数据冲突的装置40,如图6所示,所述装置40包括:
发送器41,用于通过电源管理总线PMBus向从设备发送PMBus命令;以及用于当处理器42的计时时间长度达到重发时间时,重新发送所述PMBus命令;
处理器42,用于当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;以及用于当所述PMBus命令发送失败的次数小于所述预设值时,开始计时。
其中,所述重发时间大于Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
进一步的,所述处理器42还用于:当所述PMBus命令发送失败的次数大于等于所述预设值时,指示所述从设备上报告警信息;根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
进一步的,所述处理器42还用于:将所述重发时间配置为固定时间长度或随机时间长度。
进一步的,所述处理器42还用于:在所述通过所述PMBus向所述从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同;或者,用于当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
进一步的,所述发送器41还用于向所述从设备发送清除所述从设备中的告警信息的命令。
与现有技术相比,本发明实施例通过电源管理总线PMBus向从设备发送PMBus命令;当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;当所述PMBus命令发送失败的次数大于等于所述预设值时,根据从所述从设备获取的告警信息结束流程;当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;当计时时间长度达到重发时间时,重新发送所述PMBus命令。上述流程通过为系统内发生数据冲突的主设备Master配置一定时间长度的PMBus命令重发缓冲时间,降低了已经发生数据冲突的多个Master重发PMBus命令时再次发生同样的数据冲突的概率,极大地提高了系统的可靠性,保证系统的正常运行。
本发明实施例提供的处理数据冲突的系统可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的处理数据冲突的方法及系统可以适用于多个主设备Master通过电源管理总线PMBus发送PMBus命令,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (14)
1.一种处理数据冲突的方法,其特征在于,包括:
通过电源管理总线PMBus向从设备发送PMBus命令,以进行电源管理;
当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
若所述PMBus命令发送失败的次数小于所述预设值,则开始计时;
当计时时间长度达到重发时间时,重新发送所述PMBus命令。
2.根据权利要求1所述的方法,其特征在于,所述重发时间大于主设备Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
3.根据权利要求2所述的方法,其特征在于,将所述重发时间配置为固定时间长度或随机时间长度。
4.根据权利要求3所述的方法,其特征在于,所述将所述重发时间配置为固定时间长度包括:
在所述通过电源管理总线PMBus向从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
5.根据权利要求3所述的方法,其特征在于,所述将所述重发时间配置为随机时间长度包括:
当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
6.根据权利要求1所述的方法,其特征在于,若所述PMBus命令发送失败的次数大于等于所述预设值,指示所述从设备上报告警信息;
则还包括:
根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
7.根据权利要求1所述的方法,其特征在于,当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,还包括:
向所述从设备发送清除所述从设备中的告警信息的命令。
8.一种处理数据冲突的系统,其特征在于,包括主设备、从设备和电源管理总线PMBus,所述主设备通过所述PMBus访问所述从设备,以进行电源管理;
所述主设备包括:自适应电压调节AVS模块,所述AVS模块包括:
命令发送单元,用于通过所述PMBus向所述从设备发送PMBus命令;
判断单元,用于当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
计时单元,用于当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;
所述命令发送单元还用于当所述计时单元的计时时间长度达到重发时间时,重新发送所述PMBus命令。
9.根据权利要求8所述的系统,其特征在于,所述重发时间大于Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
10.根据权利要求9所述的系统,其特征在于,所述AVS模块还包括:
时间配置单元,用于将所述重发时间配置为固定时间长度或随机时间长度。
11.根据权利要求10所述的系统,其特征在于,所述时间配置单元包括:
第一时间配置子单元,用于在所述通过所述PMBus向所述从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
12.根据权利要求10所述的系统,其特征在于,所述时间配置单元包括:
第二时间配置子单元,用于当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
13.根据权利要求8所述的系统,其特征在于,所述AVS模块还包括:告警上报单元;
所述告警上报单元用于当所述PMBus命令发送失败的次数大于等于所述预设值时,指示所述从设备上报告警信息;
所述主设备还包括:处理模块;
所述处理模块用于根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
14.根据权利要求8所述的系统,其特征在于,所述命令发送单元还用于:
向所述从设备发送清除所述从设备中的告警信息的命令。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210428003.6A CN103793344B (zh) | 2012-10-31 | 2012-10-31 | 处理数据冲突的方法及系统 |
PCT/CN2013/074347 WO2014067266A1 (zh) | 2012-10-31 | 2013-04-18 | 处理数据冲突的方法及系统 |
US14/583,427 US9792193B2 (en) | 2012-10-31 | 2014-12-26 | Method and system for processing data conflict |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210428003.6A CN103793344B (zh) | 2012-10-31 | 2012-10-31 | 处理数据冲突的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793344A true CN103793344A (zh) | 2014-05-14 |
CN103793344B CN103793344B (zh) | 2017-06-27 |
Family
ID=50626400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210428003.6A Active CN103793344B (zh) | 2012-10-31 | 2012-10-31 | 处理数据冲突的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9792193B2 (zh) |
CN (1) | CN103793344B (zh) |
WO (1) | WO2014067266A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105467163A (zh) * | 2015-11-23 | 2016-04-06 | 浪潮电子信息产业股份有限公司 | 一种连接i2c卡与pmbus接口的设备 |
CN106250336A (zh) * | 2016-07-19 | 2016-12-21 | 青岛海信电器股份有限公司 | 一种fpga及进行总线切换的方法和系统 |
CN109947555A (zh) * | 2017-12-21 | 2019-06-28 | 北京比特大陆科技有限公司 | 数据处理装置、数据发送方法及计算设备 |
CN111157813A (zh) * | 2019-12-31 | 2020-05-15 | Oppo广东移动通信有限公司 | 充电电流的确定方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794320A (zh) * | 2010-02-11 | 2010-08-04 | 江苏方天电力技术有限公司 | 智能信号采集方法 |
CN101825940A (zh) * | 2010-04-19 | 2010-09-08 | 浪潮电子信息产业股份有限公司 | 一种使用普通单电源实现等效pmbus功能的方法 |
CN101833364A (zh) * | 2010-04-19 | 2010-09-15 | 浪潮电子信息产业股份有限公司 | Pmbus电源功能验证方法 |
US20110113171A1 (en) * | 2009-11-09 | 2011-05-12 | Stmicroelectronics Pvt. Ltd. | Acknowledgement management technique for supported command set of smbus/pmbus slave applications |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3168681B2 (ja) * | 1992-04-22 | 2001-05-21 | 株式会社日立製作所 | 集線型ネットワークのデータ伝送方法およびシステム |
JP3919316B2 (ja) * | 1998-01-28 | 2007-05-23 | 富士通株式会社 | センター装置の切替え方法及び、これを用いたケーブルモデムシステム |
JP3829679B2 (ja) * | 2001-10-09 | 2006-10-04 | 株式会社デンソー | 通信制御装置 |
US20050234914A1 (en) * | 2002-04-09 | 2005-10-20 | Hidenori Ishii | Mail arrival notifying system and mail delivery apparatus |
US7035276B2 (en) * | 2002-04-17 | 2006-04-25 | The United States Of America As Represented By The Secretary Of The Army | Contention-resolution system for a command- response data network |
KR100532457B1 (ko) * | 2003-08-06 | 2005-11-30 | 삼성전자주식회사 | 저장 매체의 읽기 오류를 처리하는 재생 장치 및 방법과그에 따른 동영상 재생 장치 및 방법 |
US7536622B2 (en) * | 2004-03-29 | 2009-05-19 | Nokia Corporation | Data repair enhancements for multicast/broadcast data distribution |
US20050268142A1 (en) * | 2004-04-12 | 2005-12-01 | Ramesh Saripalli | Pipelined clock stretching circuitry and method for I2C logic system |
US7149839B2 (en) * | 2004-12-03 | 2006-12-12 | Microsoft Corporation | Wireless USB hardware scheduling |
US7814340B2 (en) * | 2005-12-12 | 2010-10-12 | Linear Technology Corporation | Power management mechanism in system for supplying power over communication link |
US20080059816A1 (en) * | 2006-08-30 | 2008-03-06 | Frank Patrick Paniagua | Power supply capable of receiving digital communications from electronic devices |
US20100323725A1 (en) * | 2009-06-18 | 2010-12-23 | Yigang Cai | Individualized retry configurations for messages having failed delivery |
US8942208B2 (en) * | 2009-06-22 | 2015-01-27 | Qualcomm Incorporated | Wireless communication having reduced feedback delay |
US8395483B2 (en) * | 2009-10-07 | 2013-03-12 | Garth Conboy | Power controller for an electronic reader device |
EP2941026B1 (en) * | 2010-03-23 | 2017-12-13 | Interdigital Patent Holdings, Inc. | Method for communication for a machine type communication device and corresponding wireless transmit/receive unit |
US8418017B2 (en) * | 2010-08-31 | 2013-04-09 | Canon Kabushiki Kaisha | Adaptive acknowledgment mechanism for network communication |
US20130304999A1 (en) * | 2010-10-06 | 2013-11-14 | Sharp Kabushiki Kaisha | Electronic device and serial data communication method |
-
2012
- 2012-10-31 CN CN201210428003.6A patent/CN103793344B/zh active Active
-
2013
- 2013-04-18 WO PCT/CN2013/074347 patent/WO2014067266A1/zh active Application Filing
-
2014
- 2014-12-26 US US14/583,427 patent/US9792193B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110113171A1 (en) * | 2009-11-09 | 2011-05-12 | Stmicroelectronics Pvt. Ltd. | Acknowledgement management technique for supported command set of smbus/pmbus slave applications |
CN101794320A (zh) * | 2010-02-11 | 2010-08-04 | 江苏方天电力技术有限公司 | 智能信号采集方法 |
CN101825940A (zh) * | 2010-04-19 | 2010-09-08 | 浪潮电子信息产业股份有限公司 | 一种使用普通单电源实现等效pmbus功能的方法 |
CN101833364A (zh) * | 2010-04-19 | 2010-09-15 | 浪潮电子信息产业股份有限公司 | Pmbus电源功能验证方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105467163A (zh) * | 2015-11-23 | 2016-04-06 | 浪潮电子信息产业股份有限公司 | 一种连接i2c卡与pmbus接口的设备 |
CN105467163B (zh) * | 2015-11-23 | 2018-03-30 | 浪潮电子信息产业股份有限公司 | 一种连接i2c卡与pmbus接口的设备 |
CN106250336A (zh) * | 2016-07-19 | 2016-12-21 | 青岛海信电器股份有限公司 | 一种fpga及进行总线切换的方法和系统 |
CN109947555A (zh) * | 2017-12-21 | 2019-06-28 | 北京比特大陆科技有限公司 | 数据处理装置、数据发送方法及计算设备 |
CN111157813A (zh) * | 2019-12-31 | 2020-05-15 | Oppo广东移动通信有限公司 | 充电电流的确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9792193B2 (en) | 2017-10-17 |
WO2014067266A1 (zh) | 2014-05-08 |
CN103793344B (zh) | 2017-06-27 |
US20150113192A1 (en) | 2015-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9531551B2 (en) | Dynamically configurable power-over-ethernet apparatus and method | |
US20160147708A1 (en) | Bus serialization for devices without multi-device support | |
KR101819235B1 (ko) | 병렬 통신 장치 | |
CN103793344A (zh) | 处理数据冲突的方法及系统 | |
US20150039923A1 (en) | Method of controlling sdio device and related sdio system and sdio device | |
CN114026773A (zh) | 次级控制的反激转换器中的初级控制器与次级控制器之间的通信故障指示 | |
RU2740163C2 (ru) | Устройство связи, способ связи, программа и система связи | |
JP2017208710A (ja) | 通信装置、通信方法、プログラム、および、通信システム | |
US6625163B1 (en) | Collision detection on a differential bus | |
US20190146939A1 (en) | Communication device, communication method, program, and communication system | |
US20130262610A1 (en) | Communication system and method for configuring programmable hardware | |
US6493351B1 (en) | Collision detection on a differential bus | |
CN103901831A (zh) | 多控制器之间的通信系统 | |
CN110737610A (zh) | 信号接口系统及其数据传送方法 | |
US11841756B2 (en) | Method for information configuration in power mode change for an interconnection protocol, controller and storage device | |
WO2017199762A1 (ja) | 通信装置、通信方法、プログラム、および、通信システム | |
US10824582B2 (en) | Communication apparatus, communication method, program, and communication system | |
JP2018131030A (ja) | 電子制御装置 | |
JP2017207934A (ja) | 通信装置、通信方法、プログラム、および、通信システム | |
EP3879745A1 (en) | A high-voltage pulse generator and a communication method therefor | |
KR20100135642A (ko) | 타이밍 제어기, 이를 이용하여 데이터를 송수신하는 장치 | |
CN112069103A (zh) | 一种多模块与主机通信的方法及系统 | |
US20040217743A1 (en) | Coupling signals via a coupling arrangement | |
CN112311519B (zh) | 使用信号中的边沿定时的全双工通信 | |
JP6016302B2 (ja) | 通信装置およびdc−dcコンバータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |