CN103793344B - 处理数据冲突的方法及系统 - Google Patents

处理数据冲突的方法及系统 Download PDF

Info

Publication number
CN103793344B
CN103793344B CN201210428003.6A CN201210428003A CN103793344B CN 103793344 B CN103793344 B CN 103793344B CN 201210428003 A CN201210428003 A CN 201210428003A CN 103793344 B CN103793344 B CN 103793344B
Authority
CN
China
Prior art keywords
pmbus
orders
slave unit
master
failure
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.)
Active
Application number
CN201210428003.6A
Other languages
English (en)
Other versions
CN103793344A (zh
Inventor
谢谦
王新入
杨国新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210428003.6A priority Critical patent/CN103793344B/zh
Priority to PCT/CN2013/074347 priority patent/WO2014067266A1/zh
Publication of CN103793344A publication Critical patent/CN103793344A/zh
Priority to US14/583,427 priority patent/US9792193B2/en
Application granted granted Critical
Publication of CN103793344B publication Critical patent/CN103793344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种处理数据冲突的方法,其特征在于,包括:
通过电源管理总线PMBus向从设备发送PMBus命令,以进行电源管理;
当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
若所述PMBus命令发送失败的次数小于所述预设值,则开始计时;
当计时时间长度达到重发时间时,重新发送所述PMBus命令;其中,将所述重发时间配置为固定时间长度或随机时间长度,所述将所述重发时间配置为固定时间长度包括:在所述通过电源管理总线PMBus向从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
2.根据权利要求1所述的方法,其特征在于,所述重发时间大于主设备Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
3.根据权利要求1所述的方法,其特征在于,所述将所述重发时间配置为随机时间长度包括:
当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
4.根据权利要求1所述的方法,其特征在于,若所述PMBus命令发送失败的次数大于等于所述预设值,指示所述从设备上报告警信息;
则还包括:
根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
5.根据权利要求1所述的方法,其特征在于,当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,还包括:
向所述从设备发送清除所述从设备中的告警信息的命令。
6.一种处理数据冲突的系统,其特征在于,包括主设备、从设备和电源管理总线PMBus,所述主设备通过所述PMBus访问所述从设备,以进行电源管理;
所述主设备包括:自适应电压调节AVS模块,所述AVS模块包括:
命令发送单元,用于通过所述PMBus向所述从设备发送PMBus命令;
判断单元,用于当所述PMBus命令发送失败时,判断所述PMBus命令发送失败的次数是否大于等于预设值,所述预设值在系统初始化时预先配置;
计时单元,用于当所述PMBus命令发送失败的次数小于所述预设值时,开始计时;
所述命令发送单元还用于当所述计时单元的计时时间长度达到重发时间时,重新发送所述PMBus命令;
所述AVS模块还包括:时间配置单元,用于将所述重发时间配置为固定时间长度或随机时间长度;所述时间配置单元包括:第一时间配置子单元,用于在所述通过所述PMBus向所述从设备发送PMBus命令之前,将Master的重发时间配置为所述固定时间长度,其中,系统内不同的Master配置的所述固定时间长度均不相同。
7.根据权利要求6所述的系统,其特征在于,所述重发时间大于Master发送一条最短PMBus命令所需的时间,且小于等于系统内所有Master发出一条最长PMBus命令所需的时间之和。
8.根据权利要求6所述的系统,其特征在于,所述时间配置单元包括:
第二时间配置子单元,用于当所述PMBus命令发送失败的次数小于所述预设值时,在所述开始计时之前,为发送所述PMBus命令失败的Master配置所述随机时间长度。
9.根据权利要求6所述的系统,其特征在于,所述AVS模块还包括:告警上报单元;
所述告警上报单元用于当所述PMBus命令发送失败的次数大于等于所述预设值时,指示所述从设备上报告警信息;
所述主设备还包括:处理模块;
所述处理模块用于根据从所述从设备获取的所述告警信息,中断发送所述PMBus命令给所述从设备的流程。
10.根据权利要求6所述的系统,其特征在于,所述命令发送单元还用于:
向所述从设备发送清除所述从设备中的告警信息的命令。
CN201210428003.6A 2012-10-31 2012-10-31 处理数据冲突的方法及系统 Active CN103793344B (zh)

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 CN103793344A (zh) 2014-05-14
CN103793344B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 北京比特大陆科技有限公司 数据处理装置、数据发送方法及计算设备
CN115407116A (zh) * 2019-12-31 2022-11-29 Oppo广东移动通信有限公司 充电电流的确定方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社デンソー 通信制御装置
EP1501015A1 (en) * 2002-04-09 2005-01-26 Matsushita Electric Industrial Co., Ltd. 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
KR101835042B1 (ko) * 2010-03-23 2018-03-08 인터디지탈 패튼 홀딩스, 인크 기계형 통신을 위한 효율적 시그널링을 위한 장치 및 그에 관한 방법
US8418017B2 (en) * 2010-08-31 2013-04-09 Canon Kabushiki Kaisha Adaptive acknowledgment mechanism for network communication
SG189197A1 (en) * 2010-10-06 2013-05-31 Sharp Kk Electronic device and serial data communication method

Patent Citations (4)

* Cited by examiner, † Cited by third party
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电源功能验证方法

Also Published As

Publication number Publication date
US20150113192A1 (en) 2015-04-23
US9792193B2 (en) 2017-10-17
CN103793344A (zh) 2014-05-14
WO2014067266A1 (zh) 2014-05-08

Similar Documents

Publication Publication Date Title
US9672186B2 (en) Electronic monitoring device having wake-up for daisy chain
CN102354305B (zh) 设备间串行通信系统及方法
CN103793344B (zh) 处理数据冲突的方法及系统
CN102257849B (zh) 一种动态调整链路的方法、系统及装置
US20170255588A1 (en) Multiprotocol i3c common command codes
CN102647320B (zh) 适用于高速1553总线协议控制的集成电路
CN103475747B (zh) 自动发送地址信息的电能表组网系统的地址信息发送方法
CN102253910B (zh) 一种i2c传输方法及其装置
CN104008082A (zh) 1553b总线rt节点与can总线的转换器
EP2985955B1 (en) Controller area network (can) device and method for emulating classic can error management
CN109768907A (zh) 一种can总线波特率自适应设置方法
US20110119557A1 (en) Data Transmission Methods and Universal Serial Bus Host Controllers Utilizing the Same
CN103577362B (zh) 改善数据传输的方法及其相关计算机系统
CN115687226A (zh) i2c总线通信方法、装置及可读存储介质
US6625163B1 (en) Collision detection on a differential bus
CN104579605B (zh) 一种数据传输方法及装置
CN102231700B (zh) 交换卡切换信息的下发方法和交换卡热备份系统
US11362966B2 (en) Method of ethernet auto-negotiation over one cable
CN105282785A (zh) 媒介配置时间的方法与其无线传输系统
US20210173808A1 (en) Early parity error detection on an i3c bus
US20170371830A1 (en) Accelerated i3c master stop
US20130262610A1 (en) Communication system and method for configuring programmable hardware
US6493351B1 (en) Collision detection on a differential bus
CN102025565B (zh) 一种用于多个设备之间的i2c总线通讯检测方法
CN103901831A (zh) 多控制器之间的通信系统

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