CN111427831B - 一种基于电源管理总线协议的接口实现方法 - Google Patents
一种基于电源管理总线协议的接口实现方法 Download PDFInfo
- Publication number
- CN111427831B CN111427831B CN202010227452.9A CN202010227452A CN111427831B CN 111427831 B CN111427831 B CN 111427831B CN 202010227452 A CN202010227452 A CN 202010227452A CN 111427831 B CN111427831 B CN 111427831B
- Authority
- CN
- China
- Prior art keywords
- slave
- data
- signal
- host
- command
- 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
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- 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)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
一种基于电源管理总线协议的接口实现方法,首先监测接口系统的系统时钟和系统数据是否存在上升沿或下降沿,若其中一个不存在就进入空闲,否则判断开始信号、停止信号或重复开始信号,存在开始信号、重复开始信号且没有停止信号时从机从主机接收地址,若地址不匹配从机向主机发出警告信号,主机向从机发出警报响应地址,进行仲裁判断,仲裁成功进入空闲状态,仲裁失败则清除中断,判断从机是否写数据;若地址匹配则从机存储响应并输出数据,从机接收主机地址,判断读命令或写命令并进行对应操作。本发明能够实现基于PMBus协议的数据收发及对接收到的故障信号进行处理,所实现的方式是通过判断中断条件及所接收的主机命令完成相应的读写操作。
Description
技术领域
本发明属于集成电路技术领域,涉及一种基于电源管理总线协议的接口实现方法。
背景技术
PMBus总线通信协议是由系统管理接口论坛(SMIF)命令集定义的开放标准,该标准基于使用I2CTM(内部集成电路)总线的物理层的SMBusTM协议,运用该协议可简化电源的配置、排序和监视,确定警告和故障并对其做出反应。设计者可根据PMBusTM1.3协议设计高达1MHz的总线速度,且可对多个设备快速读/写协议,提高数据吞吐量,运用浮点数格式提高精度和扩展传输范围,同时定义相对输出电压阈值,允许警告/故障限制跟踪输出电压,以及通过高达50MHz的AVSBus使ASIC动态控制其自身的电压。
I2CTM协议是多点和两线总线(时钟和数据)协议,通常可在多主机和多从机下在100kHz左右实现,具有快速模式和高速模式,且无数据协议定义。SMBusTM是三线(时钟,数据,警报)协议,且定义了数据协议,例如“写字节/字”,通过标准化以确保各个制造商之间的兼容性,通过总线超时和数据包错误检查(PEC)增强鲁棒性用于故障处理。PMBusTM协议在SMbus协议的基础上定义命令集,可以与电源管理设备进行完全标准化的通信。
发明内容
为了实现一种满足PMBus协议的电源管理接口系统,本发明提出了一种基于电源管理总线协议的接口实现方法,本发明提出的方法依据PMBus协议进行模块划分与功能设计,运用较少的状态实现了警告中断等功能,可用于DC/DC芯片中电压/电流/温度的监控和保护。
本发明的技术方案如下:
一种基于电源管理总线协议的接口实现方法,用于接口系统的功能实现,所述接口系统包括主机和从机,所述接口实现方法包括如下步骤:
步骤一、监测接口系统的系统时钟和系统数据是否存在上升沿或下降沿,若所述接口系统的系统时钟和系统数据都存在上升沿或下降沿则转到步骤二,否则进入空闲状态;
步骤二、监测电源管理总线上是否存在开始信号、停止信号或重复开始信号,
当监测到电源管理总线上不存在开始信号或存在停止信号时所述接口系统进入空闲状态,当监测到电源管理总线上存在重复开始信号时转到步骤三;
其中所述重复开始信号存在的条件为存在开始信号且所述接口系统处于忙碌状态,开始信号存在且不存在停止信号或其他错误信号时所述接口系统处于忙碌状态;
步骤三、从机从主机接收地址,当从机从主机接收的地址不匹配时转到步骤四,否则转到步骤六;
步骤四、从机向主机发出警告信号,主机向从机发出警报响应地址,进行仲裁判断,判断所述接口系统是否从总线上读得数据,若未读得数据则拉高仲裁信号表示仲裁失败转到步骤五,否则进一步判断开始信号,存在开始信号时重置仲裁信号表示仲裁成功,所述接口系统进入空闲状态;
步骤五、清除中断,判断从机是否写数据,若从机写数据则从机传输数据到主机,若从机不写数据则从机传输地址到主机;
步骤六、从机存储响应并输出数据,从机接收主机地址,判断读命令或写命令,若判断为读命令则从机依次从主机读取低位字节数据和高位字节数据,若判断为写命令则从机依次向主机写入低位字节数据和高位字节数据;
步骤七、返回步骤一。
具体的,从机从主机接收数据时,首先判断数据传输是否正在进行,若是则从机存储数据不变,否则更新从机数据;随后检查从机接收的命令是否有效,检查从机接收数据中高位字节是否有效,检查从机接收数据中低位字节是否有效,若都有效则从机成功接收数据。
具体的,步骤二中所述其他错误信号存在的条件包括:从机接收到错误地址、从机读取的命令无效、从机写低位数据时与主机的数据连接线上存在冲突、从机读取的低位字节数据无效、从机写高位数据时与主机的数据连接线上存在冲突、从机读取的高位字节无效。
具体的,所述步骤五中当出现以下两种情况之一时清除中断:
情况一、判断到停止信号、警告信号、仲裁成功信号和通信正常信号均存在,且从机未响应主机发出的警报响应地址;
情况二、判断到停止信号和通信正常信号存在,且从机接收到清除错误命令。
具体的,步骤六中所述从机存储响应包括:从机收到正确地址时响应、从机中断且收到警报响应地址并写数据时响应、从机读入命令无效时响应、从机读入低位字节无效时响应、从机读入低位字节无效且高位字节无效时响应、从机向主机写低位字节响应、从机向主机写高位字节响应。
具体的,所述接口系统包括计数器,所述计数器根据所述系统时钟的上升沿或下降沿对所述接口系统状态进行计数;当判断有开始信号、停止信号、通信错误信号、仲裁失败信号其中一个存在时将所述计数器归零;根据所述接口系统传输的数据字节设置所述计数器的最大计数值,当所述计数器计数到最大计数值时归零。
具体的,所述步骤四中发出警告信号表示所述接口电路出现故障,故障种类包括输出电压过压、输出电流过流、输入电压欠压和输入过温。
本发明的有益效果为:本发明结合接口系统完成基于电源管理总线协议的接口实现方法,其中接口系统从机中的时序模块用于完成地址检测、接收命令和传输高低字节数据,基于状态机实现了故障时进行中断并给出清除中断的方式,结合从机的功能模块实现了故障处理,通过状态机增加了仲裁、中断等功能,且兼容I2C协议,可完成的功能更复杂;本发明通过读取电源系统的数据对信号进行处理,运用较少的状态就实现了警告中断等功能,完成了对电源系统的监控和故障处理,易于设计,提升了工作效率,可用于DC-DC芯片中电压、电流、温度的监控和保护,使得DC-DC芯片的状态响应更为及时,稳定性更高,可降低DC-DC芯片的功耗。
附图说明
图1是本发明提出的一种基于电源管理总线协议的接口实现方法应用的接口系统的电路实现图。
图2是本发明提出的一种基于电源管理总线协议的接口实现方法中时序模块的流程图。
图3是本发明提出的一种基于电源管理总线协议的接口实现方法的状态图。
图4是本发明提出的一种基于电源管理总线协议的接口实现方法再正常读取电压数据和温度数据功能的仿真示意图。
图5是本发明提出的一种基于电源管理总线协议的接口实现方法通过过压触发中断并通过ARA地址清除中断的仿真示意图。
图6是本发明提出的一种基于电源管理总线协议的接口实现方法正常读取电流数据并清除读取电流操作的仿真示意图。
图7是本发明提出的一种基于电源管理总线协议的接口实现方法再次通过过压触发中断并用CLEAR_FAULTS命令清除中断的仿真示意图。
具体实施方式
下面结合附图及实例对本发明的电路结构、工作原理及过程作进一步说明。
本发明提出的一种基于电源管理总线协议的接口实现方法,能够运用于DC-DC电源核心控制器中,通过读取电源系统中ADC的数据对信号进行处理,完成对电源系统的监控和故障处理。如图1所示是基于本发明提出的接口实现方式的一种接口系统的电路图,包括主机和从机,从机包括时序模块和功能模块,主机包括信号产生模块和控制模块。该接口系统电路满足PMBusTM协议,运用较少的状态实现了警告中断等功能,可用于DC/DC芯片中电压/电流/温度的监控和保护。
本实施例中接口系统设计的总线接口的从机模块、搭建的验证主机模块以及顶层互连关系如图1所示。各个模块间共有同步系统串行时钟信号sysclk和系统复位信号rst_n。主机的sda为双向数据线,与从机的vsda接口通信,从机vsda接口接收的数据传输给时序模块的pmbusdata。sdalink为控制模块的sda方向控制寄存器,0表示输入,1表示输出。在无复位的情况下,将sdalink赋值给sdalink_dly,判断sdalink_dly是否为1,若为1则将vsda传输给控制模块的输入接口sda_i,若为0则将时序模块的pmbusdataout接口信号取反传输给控制模块的输入接口sda_i。主机的vscl为信号产生模块中串行配置时钟信号,与pmbusclk接口相连。验证过程中采集的ADC输出电压vout为8’d252,输入电流iout为8’d253,输入温度tmp为8’d127,采集的ADC输入电压vin为8’d240,单元为关闭位unitoff始终置0,将信号产生模块中所触发的中断信号alert_en输出给功能模块的过压输入voutov,过流输入、欠压输入、过温输入、警告输入均置为0。功能模块产生的SMBALERT#信号smbal传输给控制模块的输入smbalin。信号产生模块中的配置完成的标志信号tpmbus_init_done单独输出。
从机的时序模块用于完成与SMBus相同的地址检测,从MSB到LSB接收命令和传输高低字节数据,以及SMBALERT中断。时序模块检查系统时钟和系统数据是否有表示相应上升沿和下降沿的电平、开始及停止条件,检测到开始帧时从机置于忙碌状态,时钟下降沿开始计数。从机产生中断时由于具有警报响应地址,中断保持至主机向其发送ARA警报响应地址时响应清除。从机的功能模块能够处理传输过程中可能发生的故障,如PMBus从机太忙,无法接受并处理通过总线发送给它的命令,接收到的命令和高低字节无效,读或写太多字节或太少字节,过温、过压、过流的故障处理等。
下面结合附图2、3说明本发明中各个状态转换的具体工作过程。
首先判断接口系统的系统时钟是否产生表示上升沿的电平和下降沿的电平,判断系统数据是否产生表示上升沿的电平和下降沿的电平,如果系统时钟和系统数据其中任意一个没有电平信号则返回空闲状态,否则判断开始信号start、停止信号stop和重复开始信号restart。
开始信号、停止信号和重复开始信号可以并行判断,判断电源管理总线上是否存在开始信号,如果没有开始信号则返回空闲状态;判断电源管理总线上是否存在停止信号,如果存在停止信号则返回空闲状态;判断是否存在重复开始信号,重复开始信号的条件为满足开始条件且处于忙碌状态。
如果判断有开始信号时将忙碌信号dbusy置为高电平,此时即处于忙碌状态。如果判断为停止信号和其他错误情况时忙碌信号置为低电平。其中其他错误情况包括但不限于:从机接受到错误地址;从机读得的命令无效;从机写低位数据的时候sda线即系统数据先被拉高,即sda线上有数据,存在冲突;从机读得的低位字节数据无效;从机写高位数据的时候sda线被拉高,即sda线上有数据,存在冲突;从机读得的高位字节无效。其他错误情况可根据PMBus协议进行拓展。
本发明可以在接口系统中设置计数器,计数器根据系统时钟的上升沿或下降沿对接口系统状态进行计数;如计数器对系统时钟下降沿计数,用于表示系统时钟状态改变的计数,计数系统时钟的下降沿可以用于表示传输地址或者命令或者数据时计数传输的位数,如传输高位字节中的第三位。计数器的最大计数值根据接口系统传输的数据字节设置,当计数器计数到最大计数值时归零。如本实施例以传输2个数据字节为例,则计数到38,系统时钟总共设置传输到第38个状态为一个完整的循环过程,超过38个状态后重新开始系统时钟的状态计数,又开始判断系统时钟是否产生表示上升沿的电平和下降沿的电平。若传输三个或四个字节可设计继续计数。另外当判断有开始信号、停止信号、通信错误信号、仲裁失败信号其中一个存在时将计数器归零,当计数小于38且忙碌信号为高电平时在系统时钟下降沿计数。
从机从主机接收地址,根据协议,当从机收到的地址addr不匹配其物理地址时,出现故障产生中断(即图2中ARA中断为是),从机发出警报信号(为高电平),主机从从机读地址,然后主机处理该中断,主机还未释放总线,处于忙碌状态,直到从机收到重复开始信号restart时则进入地址响应状态ARA状态,即主机开始通过ARA警报响应地址访问从控制器,若匹配,则直接进入接收命令的状态。从机收到ARA警报响应地址后,从机的接收地址寄存器收到从机向主机传输地址的信号,然此时数据传输线已被中断,始终无法传输数据,主机从总线上上未读得数据,但却判断到器件物理地址各个位均为1,表明仲裁失败,拉高仲裁信号,否则如果判断有开始信号则重置仲裁信号,表示仲裁成功,初始状态为仲裁成功。
如果判断仲裁成功,则返回空闲状态,如果判断仲裁失败,进行清除中断,随后判断是否写数据,如果写数据则从机传输数据字节到主机,如果不写数据则从机传输地址到主机。仲裁失败的情况下满足以下两种条件则清除中断:
(1)判断有停止信号及通信正常信号,且收到清除错误命令(CLEAR_FAULTS命令是PMBus协议中规定的,即当从机接收到的命令与此参数值相等时可进行清楚中断的过程)时,其中清除错误命令。
(2)判断接收到有停止信号、中断信号、仲裁成功信号及通信正常信号,且存在故障处于中断,从机未响应主机发出的ARA警报响应地址时。由于在验证的过程中,只验证情况(1)来清除中断的话没有进行完全的全覆盖验证,因此情况(2)中判断到停止信号和仲裁成功信号时跳回空闲状态,即所有信号重置了,中断也要被清除。这里的仲裁成功信号表示数据传输线已被中断,始终无法传输数据,也没有判断到器件的物理地址各个位均为1时,这种情况此时仲裁信号依然拉低,相当于仲裁成功信号的状态。
若从机从主机接收的地址匹配则不需要中断(即图2中ARA中断为否),则存储响应且输出数据,存在以下几种响应:
(1)收到正确的从机地址时响应;
(2)ARA中断且收到ARA警报响应地址并写数据时响应;
(3)读入命令无效时响应;
(4)读入低位字节无效时响应;
(5)读入地位字节无效且高位字节无效时响应;
(6)向主机写低位字节;
(7)向主机写高位字节。
如果存储响应且输出数据,则从机接收主机发出的地址,判断是否写命令,如果判断为读命令,则从机依次从主机读取低位字节数据与高位字节数据,如果判断为写命令,则从机依次向主机写低位字节数据与高位字节数据。ACK为应答信号位,表示接收的一方已经安全地接收了发送的一方传送过来的数据,数据输出后返回重新进行整个流程。
本发明提出的方法是基于状态机设计的,如图3所示,状态机包含:空闲状态IDLE、接收地址状态ADDR、ARA地址响应状态、接受命令状态COMMAND、仲裁状态ARBTR、清除中断状态CLEAR_SMBALERT、写数据状态PWRITE_DATA、读数据状态READ_DATA、写数据状态WRITE_DATA、传输低位字节数据状态LOW_DRTA_BYTE和传输高位字节数据状态HIGH_DATA_BYTE十一个状态,在任何阶段内如果检测到PMBus总线上存在停止信号stop,则状态机直接进入空闲,否则正常工作。当主机发给从机的警告信号alert_en(当出现过温、过压、过流等时,主机发出警告,从机判断后进行中断,该信号由主控制器的信号产生模块给出)为低电平时,说明从机出现ARA中断,状态机进入ARA地址响应状态,ARA响应ACK完成标志端口产生高电平脉冲信号表示完成ARA响应,从机进入仲裁状态,如果判断仲裁成功则返回空闲状态,如果判断仲裁失败则清除中断进入判断写数据状态PWRITE_DATA状态(即图2中右边的写数据,为与图2中左边的写数据写数据状态WRITE_DATA状态进行区分,这里用PWRITE_DATA状态表示),此时如果PMBus总线上检测到忙碌信号dbusy时,在此状态下从机地址字节被送至PMBus总线输出,如果未检测到忙碌信号dbusy则将PMBus总线输入的数据送至数据输出端口输出;此后状态机进入接受命令状态COMMAND状态,状态机接收PMBus总线上的一个字节的串行命令,判断从机需要读数据还是写数据,并从命令输出端口输出,同时在命令输出使能端产生一个高电平脉冲信号,如果判断为写数据则进入写数据状态WRITE_DATA,否则进入读数据状态READ_DATA状态;在写数据状态WRITE_DATA下,如果字节或字选择信号为高电平时,表示一个字节操作,将PMBus总线输入的数据送至数据输出端口输出,并且在数据输出使能端产生高电平脉冲信号;如果字节或字选择信号为低电平时,将PMBus总线输入的二个字节数据依次通过数据输出端口输出,并且每个字节传输完毕后都在数据输出使能端都产生一个高电平脉冲信号,并进入开始;在读数据状态READ_DATA下,将读取需向PMBus总线发送数据的输入端口数据,若字节或字选择信号为高电平,则数据锁存使能输出端输出一个高电平脉冲信号,并读取需向PMBus总线发送数据的输入端口上一个字节的数据,若字节或字选择信号为低电平,则数据锁存使能输出端输出二个高电平脉冲信号,并且由高电平脉冲信号控制依次读取需向PMBus总线发送数据的输入端口上二个字节的数据,数据的读取完成后返回图2最初的开始状态。若检测到PMBus总线stop信号则转入空闲,等待新一轮的监控或数据传输。
从机的功能模块根据PMBus协议中指定的相关命令从主机中读取电压、电流、温度等参数,实现了从机忙碌状态响应,检查接收命令及高低字节的有效性,检查读写位数过多或过少的功能,对过压、过流和过温设置和清除警告位。下面详细描述从机的功能模块的工作过程。
首先,如果数据传输正在进行中,则输出电压、输出电流、温度、输入电压值保持不变,否则更新数据。检查命令是否有效,如果收到开始或停止信号,则内部命令无效。如果收到地址非ARA警报响应地址且收到命令非表1中命令,则内部命令有效。检查高位数据字节是否有效。如果收到VOUT_COMMAND状态命令且高位数据字节值大于最大位VOUT_MAX,则内部高位数据字节有效,如果收到开始或停止信号,则内部高位数据字节有效寄存器无效。最后检查低位数据字节是否有效,如果收到SMBALERT_MASK命令且收到的低位数据字节值不为STATUS_VOUT,STATUS_IOUT,STATUS_INPUT,STATUS_TEMPERATURE,STATUS_CML以及1’b1,则内部低位数据字节有效,如果收到开始或结束信号,则内部低位数据字节无效。上述VOUT_COMMAND命令、SMBALERT_MASK命令、以及信号VOUT_MAX、STATUS_VOUT,STATUS_IOUT,STATUS_INPUT,STATUS_TEMPERATURE,STATUS_CML为功能模块中的参数,1’b1表示1位二进制数1。
表1
如果从机收到主机写的数据字节过多,则表示太多字节被写,太多字节被读保持不变。如果主机读的字节过多,则太多字节被写保持不变,太多字节被读。如果收到开始信号或停止信号,则无太多字节被写或太多字节被读。检查被送的字节是否太少。如果在收到地址、命令、低位字节及高位字节的过程中停止或仲裁无效或无重复开始信号就写字节,则太少字节被写。
如果收到开始信号或停止信号,则太少字节被写无效。检查主机是否无重复开始就读字节,如果收到地址非ARA警报响应地址后正在传输数据且无重复开始信号就读字节,则无重复开始就读字节有效。如果收到开始信号或停止信号,则无效,其他情况状态位保持不变。设置通信错误状态和清除输出电压过压状态。在以下两种情况清除输出电压过压状态:第一种,收到停止信号,且收到STATUS_VOUT命令,低位字节的第7位为1’b1,通信有效,地址的第0位为1’b1;第二种,收到停止信号,且收到清除错误CLEAR_FAULTS命令,收到地址非ARA警报响应地址,且通信有效。其他情况不清除。
其次设置输出电压过压故障位,该位将进入STATUS_VOUT的第7位。如果输出电压过压且不清除,则故障位有效,如果清除位有效,则故障位无效。然后用断言SMBALERT掩模输出电压过压。如果收到结束信号和SMBALERT_MASK命令,低位数据字节为STATUS_VOUT,且通信有效,则设高位数据字节第7位掩模输出电压过压。存储STATUS_VOUT的掩码字节。如果收到SMBALERT_MASK命令且收到低位字节数据为STATUS_VOUT,则将高位字节数据设为存储STATUS_VOUT的掩码字节。接着清除输出电流过流状态。在以下两种情况清除输出电流过流状态:第一种,收到停止信号,且收到STATUS_IOUT命令,低位字节的第7位为1,通信有效,地址的第0位不为1’b1;第二种,收到停止信号,且收到清除错误CLEAR_FAULTS命令,收到地址非ARA警报响应地址,通信有效。输出电流过流故障位、输入电压欠压故障位、输入过温故障位与此定义方法类似。清除输入电压欠压状态、清除过温状态、清除内部命令有效寄存器、清除内部数据有效寄存器、清除其他错误寄存器的方法与清除输出电流过流的方法类似,区别为接收的命令不同。输出电压过压、输出电流过流、输入电压欠压、输入过温、命令有效信号、数据有效信号以及其他错误信号这些信号的处理均在从机的功能模块中进行,结合时序模块传输的命令和数据,本发明通过这种方式,可以实现对如DC/DC芯片中电压/电流/温度的监控和保护。
设置命令有效信号状态寄存器。如果内部命令有效且清除内部命令无效,则命令有效。如果清除内部命令有效,则命令无效。其他情况状态保持不变。数据有效信号状态寄存器、其他错误信号状态寄存器的设置方法与此类似。设置命令有效警报掩模寄存器。如果收到结束信号,且收到SMBALERT_MASK命令,且低位数据字节为STATUS_CML,则命令有效警报掩模寄存器设为高位数据字节的第7位。其他情况状态保持不变。数据有效警报掩模寄存器、其他错误警告掩模寄存器、存储STATUS_CML掩模字节的方法与此类似。
下面来讲存储赋值,存储状态位的先前值用于检测上升沿以进行警报和清除。输出电压过压、输出电流过流、输入电压欠压、输入过温、命令有效信号、数据有效信号以及其他错误信号均进行数值更新。接着检测故障的上升沿。如果输出电压过压故障位有效且输出电压过压以前的值无效且用断言SMBALERT掩模输出电压过压无效,则检测输出电压过压故障信号的上升沿有效。否则,检测无效。输出电流过流故障位、输入电压欠压故障位、输入过温故障位、命令有效信号状态寄存器检测方法均与此类似。
如果检测通信/数据错误位状态寄存器的上升沿/检测输出电压过压故障信号的上升沿/检测输出电流过流故障信号的上升沿/检测输入电压欠压故障信号的上升沿/检测输入过温故障信号的上升沿有效,且清除中断信号无效,则中断信号有效,如果清除中断信号有效,则中断信号无效,其他情况中断信号保持不变。然后设置状态字节和STATUS_OTHER位。然后判断如果收到停止信号且收到VOUT_COMMAND命令且通信有效,如果高位数据字节值小于VOUT_MAX,则将高位数据字节值赋于内部存储VID码的寄存器,否则该寄存器保持原值。
最后,查看写到主机的命令。
如果命令有效或无重复开始就读字节状态有效且其他错误信号以前的值有效,则写内部低位数据字节的寄存器为8’d255,8’d255表示8位十进制数255,写内部高位数据字节的寄存器为8’d255。否则,当处于读命令状态时,如果收到VOUT_COMMAND命令,写内部低位数据字节的寄存器为8’d0,8’d0表示8位十进制数0,写内部高位数据字节的寄存器为内部存储VID码的寄存器。如果收到READ_VOUT命令,写内部低位数据字节的寄存器为8’d0,写内部高位数据字节的寄存器为输出电压值。输出电流值、温度值、输入电压值、状态字节的存储方法与此类似。如果收到STATUS_VOUT命令,写内部低位数据字节的寄存器为输出电压过压故障位,写内部高位数据字节的寄存器为8’d255。输出电流过流故障位、输入电压欠压故障位、输入过温故障位、命令有效信号状态,数据有效信号状态寄、其他错误信号状态、STATUS_OTHER信号的存储方法类似。如果收到SMBALERT_MASK命令,高位数据字节为STATUS_VOUT,则写内部低位数据字节的寄存器为8’d1,写内部高位数据字节的寄存器为存储STATUS_VOUT的掩码字节。其他命令如STATUS_IOUT、STATUS_IOUT、STATUS_INPUT、STATUS_VIN、STATUS_TEMPERATURE、STATUS_CML的存储方式与STATUS_VOUT类似。
综上所述,本发明提出的接口实现方法,基于接口系统,结合状态机进行处理,如图2所述是接口系统中时序模块的流程图,如图3是本发明的状态图,包括IDLE、ADDR、ARA、COMMAND、ARBTR、CLEAR_SMBALERT、PWRITE_DATA、READ_DATA、WRITE_DATA、LOW_DRTA_BYTE和HIGH_DATA_BYTE十一个状态。本发明的目的是能够实现基于PMBus协议的数据收发及对接收到的故障信号进行处理,所实现的方式是通过判断中断条件及所接收的主机命令完成相应的读或者写操作,所以时序模块的流程图的核心是根据特定的条件和命令做出相应的判断,然后根据流程完成操作类型的选择,从而完成一种基于电源管理总线协议的接口实现方法。本发明采用较少状态数的状态机,从而很好的设计了一种PMBus协议接口。该接口方法能够响应ARA中断以及对接收到的故障信号进行处理,以及对高低字节数据的读写。基于本发明实现的接口系统根据PMbus协议中指定的相关命令从主机中读取电压、电流、温度等参数,实现了从机忙碌状态响应,检查接收命令及高低字节的有效性,检查读写位数过多或过少的功能,对过压、过流和过温设置和清除警告位。
图4是本发明正常读取电压数据和温度数据功能的仿真示意图。图中画出了PMBus总线读取电压数据字节和温度数据字节过程的相关信号示意图。第一个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图4可读得通过总线传输的地址为8'h8D(8'b10001101),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机接收命令,传输电压数据VOUT=16’hfc(8’b11111100),并产生一个停止信号stop结束数据传输。第二个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图4可读得从机通过总线向主机发送的的地址为8'h8B(8'b10001011),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机接收命令,传输温度数据TEMP=16’h7f(8’b01111111),产生一个停止信号stop结束数据传输。
图5是本发明通过过压触发中断并通过ARA地址清除中断的仿真示意图。图中画出了PMBus总线通过VOUTOV信号触发中断并通过ARA地址8’b00011000的方式清除中断的相关信号示意图。第一个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图5可读得通过总线传输的地址为8'h8D(8'b10001101),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机接收alert_en中断信号与VOUT过压信号,产生一个停止信号stop结束数据传输。第二个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图5可读得从机通过总线向主机发送的的地址为8'h8D(8'b10001101),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机接收ARA地址,清除警报信号与过压信号,产生ACK响应与一个停止信号stop结束数据传输。
图6是本发明正常读取电流数据并清除读取电流操作的仿真示意图。图中画出了PMBus总线读取电流数据字节过程并清除读取的电流字节的相关信号示意图。第一个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图4可读得通过总线传输的地址为8'h88(8'b10001000),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机接收命令,pmbus_wr_rd信号由低电平到高电平,表示读取电流数据VOUT=16’hf0(8’b11110000),产生ACK响应与一个停止信号stop结束数据传输。第二个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图6可读得从机通过总线向主机发送的地址为8'h03(8'b00000011),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机发送清除已读取的电流的操作,产生ACK响应与一个停止信号stop结束数据传输。
图7是本发明再次通过过压触发中断并用CLEAR_FAULTS命令清除中断的仿真示意图。图中画出了PMBus总线通过VOUTOV信号触发中断并通过CLEAR_FAULTS命令的方式清除中断的相关信号示意图。第一个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图7可读得通过总线传输的地址为8'h8D(8'b10001101),PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机接收alert_en中断信号与VOUT过压信号,产生一个停止信号stop结束数据传输。第二个传输过程首先当vscl为高电平且vsda从高电平到低电平时传输开始信号,同时忙碌信号由低电平到高电平持续整个数据传输周期至结束。然后由图7可读得从机通过总线向主机发送的地址为8'h03(8'b00000011),即CLEAR_FAULTS命令,PMBus总线发送主机数据的命令8'h10,经过控制器判断后从机发送清除中断的操作,alert_en信号由高电平变为低电平,产生ACK响应与一个停止信号stop结束数据传输。
本发明基于PMBus协议提出了一种接口实现方法,整个设计均可采用Verilog硬件描述语言进行描述,采用自上向下的方法分模块进行RTL设计,设计代码均可DC综合。验证过程采用Synopsys公司的VCS工具进行功能仿真,修改方式灵活便捷,应用范围广泛。
本发明在SMBus现有的设计基础上扩展了时序模块的功能,通过状态机增加了仲裁、中断等功能,且兼容I2C协议,可完成的功能更复杂。另外在功能模块中,通过设计命令来对过温、过压、过流等情况进行控制,使得DC-DC芯片的状态响应更为及时,稳定性更高,可降低DC-DC芯片的功耗。
本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (7)
1.一种基于电源管理总线协议的接口实现方法,用于接口系统的功能实现,所述接口系统包括主机和从机,其特征在于,所述接口实现方法包括如下步骤:
步骤一、监测接口系统的系统时钟和系统数据是否存在上升沿或下降沿,若所述接口系统的系统时钟和系统数据都存在上升沿或下降沿则转到步骤二,否则进入空闲状态;
步骤二、监测电源管理总线上是否存在开始信号、停止信号或重复开始信号,
当监测到电源管理总线上不存在开始信号或存在停止信号时所述接口系统进入空闲状态,当监测到电源管理总线上存在重复开始信号时转到步骤三;
其中所述重复开始信号存在的条件为存在开始信号且所述接口系统处于忙碌状态,开始信号存在且不存在停止信号或其他错误信号时所述接口系统处于忙碌状态;
步骤三、从机从主机接收地址,当从机从主机接收的地址不匹配时转到步骤四,否则转到步骤六;
步骤四、从机向主机发出警告信号,主机向从机发出警报响应地址,进行仲裁判断,判断所述接口系统是否从总线上读得数据,若未读得数据则拉高仲裁信号表示仲裁失败转到步骤五,否则进一步判断开始信号,存在开始信号时重置仲裁信号表示仲裁成功,所述接口系统进入空闲状态;
步骤五、清除中断,判断从机是否写数据,若从机写数据则从机传输数据到主机,若从机不写数据则从机传输地址到主机;
步骤六、从机存储响应并输出数据,从机接收主机地址,判断读命令或写命令,若判断为读命令则从机依次从主机读取低位字节数据和高位字节数据,若判断为写命令则从机依次向主机写入低位字节数据和高位字节数据;
步骤七、返回步骤一。
2.根据权利要求1所述的基于电源管理总线协议的接口实现方法,其特征在于,从机从主机接收数据时,首先判断数据传输是否正在进行,若是则从机存储数据不变,否则更新从机数据;随后检查从机接收的命令是否有效,检查从机接收数据中高位字节是否有效,检查从机接收数据中低位字节是否有效,若都有效则从机成功接收数据。
3.根据权利要求1或2所述的基于电源管理总线协议的接口实现方法,其特征在于,步骤二中所述其他错误信号存在的条件包括:从机接收到错误地址、从机读取的命令无效、从机写低位数据时与主机的数据连接线上存在冲突、从机读取的低位字节数据无效、从机写高位数据时与主机的数据连接线上存在冲突、从机读取的高位字节无效。
4.根据权利要求1所述的基于电源管理总线协议的接口实现方法,其特征在于,所述步骤五中当出现以下两种情况之一时清除中断:
情况一、判断到停止信号、中断信号、仲裁成功信号和通信正常信号均存在,且从机未响应主机发出的警报响应地址;
情况二、判断到停止信号和通信正常信号存在,且从机接收到清除错误命令。
5.根据权利要求1所述的基于电源管理总线协议的接口实现方法,其特征在于,步骤六中所述从机存储响应包括:从机收到正确地址时响应、从机中断且收到警报响应地址并写数据时响应、从机读入命令无效时响应、从机读入低位字节无效时响应、从机读入低位字节无效且高位字节无效时响应、从机向主机写低位字节响应、从机向主机写高位字节响应。
6.根据权利要求1或2所述的基于电源管理总线协议的接口实现方法,其特征在于,所述接口系统包括计数器,所述计数器根据所述系统时钟的上升沿或下降沿对所述接口系统状态进行计数;当判断有开始信号、停止信号、通信错误信号、仲裁失败信号其中一个存在时将所述计数器归零;根据所述接口系统传输的数据字节设置所述计数器的最大计数值,当所述计数器计数到最大计数值时归零。
7.根据权利要求1所述的基于电源管理总线协议的接口实现方法,其特征在于,所述步骤四中发出警告信号表示所述接口电路出现故障,故障种类包括输出电压过压、输出电流过流、输入电压欠压和输入过温。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010227452.9A CN111427831B (zh) | 2020-03-27 | 2020-03-27 | 一种基于电源管理总线协议的接口实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010227452.9A CN111427831B (zh) | 2020-03-27 | 2020-03-27 | 一种基于电源管理总线协议的接口实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427831A CN111427831A (zh) | 2020-07-17 |
CN111427831B true CN111427831B (zh) | 2023-03-03 |
Family
ID=71555501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010227452.9A Active CN111427831B (zh) | 2020-03-27 | 2020-03-27 | 一种基于电源管理总线协议的接口实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427831B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559261B (zh) * | 2020-11-27 | 2022-05-24 | 中国船舶重工集团公司第七0九研究所 | 一种基于层次状态机的axi总线性能分析方法及装置 |
CN112765082B (zh) * | 2021-01-27 | 2024-04-26 | 维沃移动通信有限公司 | 多主机仲裁方法、装置和可读存储介质 |
CN113271244B (zh) * | 2021-04-09 | 2022-06-28 | 电子科技大学 | 一种rs485总线自组网全双工通信系统及其地址自动编址方法 |
CN113626365A (zh) * | 2021-07-23 | 2021-11-09 | 石家庄科林电气股份有限公司 | 一种基于spi总线的通信方法 |
CN117836757A (zh) * | 2021-08-30 | 2024-04-05 | 华为技术有限公司 | 一种高级扩展接口总线及片上系统 |
TWI786930B (zh) * | 2021-11-04 | 2022-12-11 | 固緯電子實業股份有限公司 | 電源設備及其資料傳輸方法 |
CN114500096B (zh) * | 2022-02-28 | 2023-10-10 | 浪潮电子信息产业股份有限公司 | 一种告警方法、系统、设备及计算机可读存储介质 |
CN115061960B (zh) * | 2022-06-10 | 2023-05-05 | 睿云联(厦门)网络通讯技术有限公司 | 一种wiegand信号自适应处理方法及系统 |
CN117725003B (zh) * | 2024-02-07 | 2024-05-07 | 江苏润石科技有限公司 | 适用于高速adc通信的定制spi接口和数据读写方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473196A (zh) * | 2013-08-30 | 2013-12-25 | 中国空间技术研究院 | 一种1553b总线与星内设备总线间遥测遥控数据传输装置 |
CN103870415A (zh) * | 2012-12-13 | 2014-06-18 | 德州仪器公司 | 用于在总线上执行事务的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668977B2 (en) * | 2007-09-12 | 2010-02-23 | Infineon Technologies Austria Ag | Method for exchanging information between devices connected via a communication link |
US8239597B2 (en) * | 2008-07-18 | 2012-08-07 | Intersil Americas Inc. | Device-to-device communication bus for distributed power management |
-
2020
- 2020-03-27 CN CN202010227452.9A patent/CN111427831B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870415A (zh) * | 2012-12-13 | 2014-06-18 | 德州仪器公司 | 用于在总线上执行事务的方法及系统 |
CN103473196A (zh) * | 2013-08-30 | 2013-12-25 | 中国空间技术研究院 | 一种1553b总线与星内设备总线间遥测遥控数据传输装置 |
Non-Patent Citations (1)
Title |
---|
电源管理总线(PMBus)测试系统设计;刘海辉;《中国优秀硕士学位论文全文数据库信息科技辑》;20190115;I136-158 * |
Also Published As
Publication number | Publication date |
---|---|
CN111427831A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427831B (zh) | 一种基于电源管理总线协议的接口实现方法 | |
USRE44270E1 (en) | System for providing access of multiple data buffers to a data retaining and processing device | |
US7711867B2 (en) | Programming parallel 12C slave devices from a single 12C data stream | |
CN101208682B (zh) | 具有锁存服务请求的从设备 | |
JP2008539499A (ja) | ダイナミックi2cスレーブデバイスアドレスデコーダ | |
US20080195783A1 (en) | 12c Slave/Master Interface Enhancement Using State Machines | |
US10853289B2 (en) | System, apparatus and method for hardware-based bi-directional communication via reliable high performance half-duplex link | |
CN111061587A (zh) | 一种i2c总线的通信控制方法、装置、设备及存储介质 | |
US20150046746A1 (en) | Method for ensuring remediation of hung multiplexer bus channels | |
US8386908B2 (en) | Data transmission methods and universal serial bus host controllers utilizing the same | |
CN100480923C (zh) | I2c总线从控制器软实现方法 | |
US20200073833A1 (en) | Aggregated in-band interrupt | |
CN103106113A (zh) | 一种中断事件处理方法和处理设备 | |
TW202143061A (zh) | 促進與積體電路間(ic)反向相容性之改良式積體電路間(i3c)集線器 | |
WO2005119448A1 (en) | Error recovery scheme for i2c slave | |
WO2022057372A1 (zh) | 一种基于pca9511芯片的iic挂死的链路恢复电路及方法 | |
Zhu et al. | Multi-Machine Communication Based on I^ sup 2^ C-Bus | |
CN111522757A (zh) | 一种基于i2c总线的中断读取与清除的控制方法 | |
US6874047B1 (en) | System and method for implementing an SMBus/I2C interface on a network interface card | |
CN112445744B (zh) | I2c通信 | |
US20200065274A1 (en) | Always-on ibi handling | |
CN216647354U (zh) | 一种存储系统 | |
Fan et al. | SMBus quick start guide | |
JP2005338963A (ja) | 電子機器 | |
CN118656324A (zh) | 一种电源管理总线和通信系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |