CN117407343B - 集成电路总线透传模式下时钟延展的处理方法及装置 - Google Patents

集成电路总线透传模式下时钟延展的处理方法及装置 Download PDF

Info

Publication number
CN117407343B
CN117407343B CN202311708718.1A CN202311708718A CN117407343B CN 117407343 B CN117407343 B CN 117407343B CN 202311708718 A CN202311708718 A CN 202311708718A CN 117407343 B CN117407343 B CN 117407343B
Authority
CN
China
Prior art keywords
slave device
master device
integrated circuit
detection result
slave
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
CN202311708718.1A
Other languages
English (en)
Other versions
CN117407343A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311708718.1A priority Critical patent/CN117407343B/zh
Publication of CN117407343A publication Critical patent/CN117407343A/zh
Application granted granted Critical
Publication of CN117407343B publication Critical patent/CN117407343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明涉及计算机技术领域,具体涉及集成电路总线透传模式下时钟延展的处理方法及装置。获取主设备基于第一集成电路总线向从设备传输的目标数据;根据目标数据,检测主设备是否已完成向从设备发送一个字节数据;当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特;接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制。保证了主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。

Description

集成电路总线透传模式下时钟延展的处理方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及集成电路总线透传模式下时钟延展的处理方法及装置。
背景技术
在服务器机器中,集成电路总线信号通常用于板卡上BMC访问温度传感器、风扇控制芯片、背板、PCIe外插卡等设备。BMC通过轮询的方式对上述设备进行管理,BMC作为集成电路总线信号的主设备,其他设备作为从设备。当某从设备出现忙碌状态,无法立即响应BMC基于集成电路总线的访问时,会主动拉低集成电路总线的串行数据线信号来暂停基于集成电路总线的轮询;当从设备退出忙碌状态后则释放串行数据线信号,以重新响应集成电路总线的访问,这一过程即为集成电路总线的时钟延展。
集成电路总线的时钟延展分为字节级别和位级别。字节级别是在从设备接收完一个完整字节数据或命令后,拉低串行数据线信号,用于从设备内部处理接收的数据;位级别主要用于从设备所支持的集成电路总线的串行数据线信号速率低于主设备发送的串行数据线信号速率的情况,从设备拉低串行数据线信号来降低实际的串行数据线信号速率。
实际硬件设计中,在选择主设备的串行数据线信号速率时,综合考虑所有从设备所能支持的串行数据线信号速率,因此不会出现位级别时钟延展的情况。常见的是字节级别时钟延展。然而,字节级别时钟延展可能会造成在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,因此不符合通信协议,从而影响主设备和从设备之间的正常通信。
发明内容
有鉴于此,本发明提供了一种集成电路总线透传模式下时钟延展的处理方法及装置,以解决字节级别时钟延展可能会造成在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,因此不符合通信协议,从而影响主设备和从设备之间的正常通信的问题。
第一方面,本发明提供了一种集成电路总线透传模式下时钟延展的处理方法,应用于复杂可编程逻辑器件,方法包括:
获取主设备基于第一集成电路总线向从设备传输的目标数据;
根据目标数据,检测主设备是否已完成向从设备发送一个字节数据;
当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特;
接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,获取主设备基于第一集成电路总线向从设备传输的目标数据,然后,根据目标数据,检测主设备是否已完成向从设备发送一个字节数据。保证了检测得到的主设备是否已完成向从设备发送一个字节数据的结果的准确性。当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特,保证了确认的第一集成电路总线即将进入发送确认字符比特状态的结果的准确性。接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制,从而避免了主设备向从设备发送确认字符比特后,在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,从而影响主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
在一种可选的实施方式中,接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制,包括:
基于与主设备之间的第二集成电路总线,控制主设备处于等待状态;
基于与从设备之间的第三集成电路总线,检测从设备是否进入时钟延展状态,得到第一检测结果;
根据第一检测结果,对主设备和/或从设备进行控制。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,基于与主设备之间的第二集成电路总线,控制主设备处于等待状态,避免了主设备向从设备发送确认字符比特状态,从而可以避免主设备对应的第一串行时钟线信号产生脉冲,影响主设备和从设备之间的正常通信。然后,基于与从设备之间的第三集成电路总线,检测从设备是否进入时钟延展状态,得到第一检测结果,保证了得到的第一检测结果的准确性。根据第一检测结果,对主设备和/或从设备进行控制,保证了对主设备和/或从设备进行控制的准确性,避免了在从设备对应的第二串行时钟线信号产生脉冲,从而影响主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
在一种可选的实施方式中,基于与主设备之间的第二集成电路总线,控制主设备处于等待状态,包括:
基于与主设备之间的第二集成电路总线,控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,基于与主设备之间的第二集成电路总线,控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。从而避免了主设备向从设备发送确认字符比特,从而可以避免主设备对应的第一串行时钟线信号产生脉冲,影响主设备和从设备之间的正常通信。
在一种可选的实施方式中,基于与从设备之间的第三集成电路总线,检测从设备是否进入时钟延展状态,得到第一检测结果,包括:
持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号;
检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果;
根据第二检测结果,确定从设备是否进入时钟延展状态,得到第一检测结果。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号。检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果,保证了得到的第二检测结果的准确性。然后,根据第二检测结果,确定从设备是否进入时钟延展状态,得到第一检测结果,保证了确定的从设备是否进入时钟延展状态的结果的准确性。从而可以保证根据从设备是否进入时钟延展状态,对主设备和/或从设备进行控制的准确性。可以避免影响主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
在一种可选的实施方式中,根据第二检测结果,确定从设备是否进入时钟延展状态,得到第一检测结果,包括:
当第二检测结果为从设备对应的第二串行时钟线信号为高电平,确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第二检测结果为从设备对应的第二串行时钟线信号为高电平,确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果,保证了确定的从设备未进入时钟延展状态或者从设备已经退出时钟延展状态的结果的准确性。
在一种可选的实施方式中,方法还包括:
当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果,保证了确定的从设备进入时钟延展状态的准确性。
在一种可选的实施方式中,根据第一检测结果,对主设备和/或从设备进行控制,包括:
当第一检测结果为从设备进入时钟延展状态时,启动超时计时器;超时计时器中设定有预设时长;
基于超时计时器,检测从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果;
根据第三检测结果,对主设备和/或从设备进行控制。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第一检测结果为从设备进入时钟延展状态时,启动超时计时器,基于超时计时器,检测从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果,保证了得到的第三检测结果的准确性。根据第三检测结果,对主设备和/或从设备进行控制,保证了对主设备和/或从设备进行控制的准确性,进而可以避免影响主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
在一种可选的实施方式中,基于超时计时器,检测从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果,包括:
在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果;
根据第四检测结果,确定从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果,保证了得到的第四检测结果的准确性。根据第四检测结果,确定从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果,保证了根据第四检测结果,确定从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果的准确性。
在一种可选的实施方式中,根据第四检测结果,确定从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果,包括:
当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号变为高电平,确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号变为高电平,确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果,保证了确定的从设备进入时钟延展状态的时长未超过预设时长的结果的准确性。
在一种可选的实施方式中,方法还包括:
当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号未变为高电平,确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号未变为高电平,确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果,保证了确定的从设备进入时钟延展状态的时长超过预设时长的结果的准确性。
在一种可选的实施方式中,根据第三检测结果,对主设备和/或从设备进行控制,包括:
当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态;
基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态,基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号,从而断开主设备和从设备之间的透传模式,防止处于异常状态的从设备影响集成电路总线上的其他设备。
在一种可选的实施方式中,方法还包括:
当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态,从而可以保证主设备和从设备之间的正常通信。
在一种可选的实施方式中,方法还包括:
当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,拉高从设备对应的第二串行时钟线信号,并记录从设备向主设备返回的确定字符信号到从设备对应的确定字符寄存器中;
控制主设备退出等待状态;
基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,拉高从设备对应的第二串行时钟线信号,以使从设备可以向主设备返回确定字符信号。记录从设备向主设备返回的确定字符信号到从设备对应的确定字符寄存器中,从而可以获取到从设备向主设备返回的确定字符信号。控制主设备退出等待状态,以使主设备处于正常通信状态。基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备,使得主设备可以接收到从设备返回的确定字符信号,进而可以保证主设备和从设备之间的下一步通信。
在一种可选的实施方式中,控制主设备退出等待状态,包括:
拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态,从而使得主设备退出等待状态。
在一种可选的实施方式中,基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备之后,方法还包括:
对确定字符信号进行识别;
根据识别结果,确定字符信号对应的表征状态;表征状态包括响应状态和不响应状态;
根据确定字符信号对应的表征状态对主设备和从设备之间的第一集成电路总线进行处理。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,对确定字符信号进行识别;根据识别结果,确定字符信号对应的表征状态,保证了确定的字符信号对应的表征状态的准确性。根据确定字符信号对应的表征状态对主设备和从设备之间的第一集成电路总线进行处理,保证了对主设备和从设备之间的第一集成电路总线进行处理的准确性。
在一种可选的实施方式中,根据确定字符信号对应的表征状态对主设备和从设备之间的第一集成电路总线进行处理,包括:
若确定字符信号对应的表征状态为不响应状态,则退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束;不响应状态用于表征从设备不对主设备发送的目标数据进行处理。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,若确定字符信号对应的表征状态为不响应状态,则退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束,在复杂可编程逻辑器件接管主设备和从设备之间的第一集成电路总线的过程中,没有在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,保证了主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
在一种可选的实施方式中,方法还包括:
若确定字符信号对应的表征状态为响应状态,则获取主设备向从设备发送的下一个字节的最高位;并将下一个字节的最高位记录到串行数据线寄存器;响应状态用于表征从设备对主设备发送的目标数据进行处理;
将下一个字节的最高位,发送至从设备;
再次检测从设备是否进入时钟延展状态;
直至主设备和从设备之间的通信结束,返回透传模式。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,若确定字符信号对应的表征状态为响应状态,则获取主设备向从设备发送的下一个字节的最高位;并将下一个字节的最高位记录到串行数据线寄存器,从而可以获取到下一个字节的最高位。然后,将下一个字节的最高位,发送至从设备,保证了主设备和从设备之间的正常通信。再次检测从设备是否进入时钟延展状态;直至主设备和从设备之间的通信结束,返回透传模式。在复杂可编程逻辑器件接管主设备和从设备之间的第一集成电路总线的过程中,没有在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,保证了主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
第二方面,本发明提供了一种集成电路总线透传模式下时钟延展的处理装置,应用于复杂可编程逻辑器件,装置包括:
获取模块,用于获取主设备基于第一集成电路总线向从设备传输的目标数据;
检测模块,用于根据目标数据,检测主设备是否已完成向从设备发送一个字节数据;
确认模块,用于当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特;
接管模块,用接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理装置,获取主设备基于第一集成电路总线向从设备传输的目标数据,然后,根据目标数据,检测主设备是否已完成向从设备发送一个字节数据。保证了检测得到的主设备是否已完成向从设备发送一个字节数据的结果的准确性。当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特,保证了确认的第一集成电路总线即将进入发送确认字符比特状态的结果的准确性。接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制,从而避免了主设备向从设备发送确认字符比特后,在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,从而影响主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
第三方面,本发明提供了一种电子设备,包括:复杂可编程逻辑器件,用于执行上述第一方面或其对应的任一实施方式的集成电路总线透传模式下时钟延展的处理方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的集成电路总线透传模式下时钟延展的处理方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的相关技术中集成控制总线信号的透传控制的流程示意图;
图2是根据本发明实施例的从设备处于时钟延展时串行时钟线信号上出现短脉冲的示意图;
图3是根据本发明实施例的集成电路总线透传模式下时钟延展的处理方法的流程示意图;
图4是根据本发明实施例的另一集成电路总线透传模式下时钟延展的处理方法的流程示意图;
图5是根据本发明实施例的又一集成电路总线透传模式下时钟延展的处理方法的流程示意图;
图6是根据本发明实施例的集成电路总线透传模式下时钟延展的处理装置的结构框图;
图7是本发明实施例的复杂可编程逻辑器件的结构示意图;
图8是本发明实施例的电子设备硬件的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在服务器机器中,集成电路总线信号通常用于板卡上BMC访问温度传感器、风扇控制芯片、背板、PCIe外插卡等设备。BMC通过轮询的方式对上述设备进行管理,BMC作为集成电路总线信号的主设备,其他设备作为从设备。当某从设备出现忙碌状态,无法立即响应BMC基于集成电路总线的访问时,会主动拉低集成电路总线的串行数据线信号来暂停基于集成电路总线的轮询;当从设备退出忙碌状态后则释放串行数据线信号,以重新响应集成电路总线的访问,这一过程即为集成电路总线的时钟延展。
集成电路总线的时钟延展分为字节级别和位级别。字节级别是在从设备接收完一个完整字节数据或命令后,拉低串行数据线信号,用于从设备内部处理接收的数据;位级别主要用于从设备所支持的集成电路总线的串行数据线信号速率低于主设备发送的串行数据线信号速率的情况,从设备拉低串行数据线信号来降低实际的串行数据线信号速率。
实际硬件设计中,在选择主设备的串行数据线信号速率时,综合考虑所有从设备所能支持的串行数据线信号速率,因此不会出现位级别时钟延展的情况。常见的是字节级别时钟延展。
示例性的,如图1所示,针对BMC通过集成电路总线访问风扇控制芯片的场景,为防止BMC出现异常情况后风扇控制失效,通常在硬件上将BMC的集成电路总线连接到复杂可编程逻辑器件,再由复杂可编程逻辑器件将集成电路总线透传给风扇控制芯片。当复杂可编程逻辑器件检测到BMC挂死后,会主动接管到风扇控制芯片的集成电路总线,进行风扇调控。
现有复杂可编程逻辑器件接管集成电路总线透传方案中,由于复杂可编程逻辑器件是数字逻辑器件,无法做到BMC端集成电路总线和FAN_IC端集成电路总线的实时双向透传,因此采用的方式是低电平优先的方式,如下表。
表1 透传模式下集成电路总线信号判断
相关技术中,当从设备触发时钟延展时,集成电路总线上会出现短脉冲。示例性的,如图2所示,当从设备在t1接收完一个字节数据的最后一个bit后,在t2时刻,从设备触发时钟延展,拉低从设备对应的串行时钟线信号。但此时从设备的串行时钟线信号和主设备的串行时钟线信号都为低电平,因此主设备端无法感知从设备触发了时钟延展。此时复杂可编程逻辑器件判断的信号方向是主设备到从设备。在t3时刻,主设备拉高串行时钟线信号以产生确认字符比特对应的串行时钟线信号高电平,复杂可编程逻辑器件在检测到主设备端串行时钟线信号拉高后,同步拉高从设备对应的串行时钟线信号。但因从设备触发了时钟延展,从设备对应的串行时钟线信号已被拉低,复杂可编程逻辑器件无法拉高。此时复杂可编程逻辑器件检测的信号方向变为从设备到主设备,因此在t4时刻,将从设备对应的串行时钟线信号的低电平透传到主设备对应的串行时钟线信号上,即拉低主设备对应的串行时钟线信号。可以看到主设备对应的串行时钟线信号上在t3~t4时刻出现了一个短脉冲。
与之类似,在t5时刻从设备退出时钟延展,拉高从设备对应的串行时钟线信号时,也会在从设备对应的串行时钟线信号上产生t5~t6的短脉冲。
在从设备接收完一个字节并产对应确认字符信号后,再产生时钟延展的情况,即t1时刻是确认字符比特,t3时刻是下一字节数据的最高位,时钟延展的触发和解除过程,也会产生上述2个脉冲。
上述短脉冲不符合集成电路总线协议中对时钟延展的定义,会导致集成电路总线出错,从而影响主设备和从设备之间的正常通信。
基于上述内容,本申请实施例提供了一种集成电路总线透传模式下时钟延展的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
需要说明的是,本申请实施例提供的集成电路总线透传模式下时钟延展的处理的方法,其执行主体可以是集成电路总线透传模式下时钟延展的处理的装置,该集成电路总线透传模式下时钟延展的处理的装置可以通过软件、硬件或者软硬件结合的方式实现成为复杂可编程逻辑器件的部分或者全部。下述方法实施例中,均以执行主体是复杂可编程逻辑器件为例来进行说明。
在本实施例中提供了一种集成电路总线透传模式下时钟延展的处理方法,可用于上述的复杂可编程逻辑器件,图3是根据本发明实施例的集成电路总线透传模式下时钟延展的处理方法的流程图,如图3所示,该流程包括如下步骤:
步骤S101,获取主设备基于第一集成电路总线向从设备传输的目标数据。
具体地,复杂可编程逻辑器件可以基于与主设备以及从设备之间的通信连接,获取主设备基于第一集成电路总线向从设备传输的目标数据。
步骤S102,根据目标数据,检测主设备是否已完成向从设备发送一个字节数据。
具体地,复杂可编程逻辑器件可以对目标数据进行识别,确定目标数据对应的数据量大小,根据目标数据对应的数据量大小,检测主设备是否已完成向从设备发送一个字节数据。
具体地,一个字节数据为8个bit,当目标数据为8个bit时,确定主设备已完成向从设备发送一个字节数据;当目标数据不足8个bit时,确定主设备未完成向从设备发送一个字节数据。
当目标数据不足8个bit时,确定主设备未完成向从设备发送一个字节数据时,继续开启主设备与从设备之间的透传模式,以使主设备完成向从设备发送一个字节数据。
步骤S103,当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特。
具体地,当主设备已完成向从设备发送一个字节数据,主设备将会向从设备发送确认字符比特,因此,复杂可编程逻辑器件确定主设备即将向从设备发送确认字符比特。
步骤S104,接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制。
具体地,复杂可编程逻辑器件接管主设备和从设备之间的第一集成电路总线,也就是说断开主设备和从设备之间的第一集成电路总线,连接复杂可编程逻辑器件与主设备之间的第二集成电路总线,以及复杂可编程逻辑器件与从设备之间的第三集成电路总线。
然后,复杂可编程逻辑器件关闭主设备与从设备之间的透传模式,基于与从设备之间的第三集成电路总线,对从设备的状态进行识别,并根据从设备的状态对主设备和/或从设备进行控制。
关于该步骤将在下文进行详细介绍。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,获取主设备基于第一集成电路总线向从设备传输的目标数据,然后,根据目标数据,检测主设备是否已完成向从设备发送一个字节数据。保证了检测得到的主设备是否已完成向从设备发送一个字节数据的结果的准确性。当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特,保证了确认的第一集成电路总线即将进入发送确认字符比特状态的结果的准确性。接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制,从而避免了主设备向从设备发送确认字符比特后,在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,从而影响主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
在本实施例中提供了一种集成电路总线透传模式下时钟延展的处理方法,可用于上述的复杂可编程逻辑器件,图4是根据本发明实施例的集成电路总线透传模式下时钟延展的处理方法的流程图,如图4所示,该流程包括如下步骤:
步骤S201,获取主设备基于第一集成电路总线向从设备传输的目标数据。
关于该步骤请参见图1对步骤S101的介绍,在此不进行赘述。
步骤S202,根据目标数据,检测主设备是否已完成向从设备发送一个字节数据。
关于该步骤请参见图1对步骤S102的介绍,在此不进行赘述。
步骤S203,当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特。
关于该步骤请参见图1对步骤S103的介绍,在此不进行赘述。
步骤S204,接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制。
具体地,上述步骤S204,包括:
步骤S2041,基于与主设备之间的第二集成电路总线,控制主设备处于等待状态。
在本申请一种可选的实施方式中,上述步骤S2041,可以包括如下:
基于与主设备之间的第二集成电路总线,控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。
具体地,复杂可编程逻辑器件基于与主设备之间的第二集成电路总线,触发主设备的时钟延展,从而控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。
步骤S2042,基于与从设备之间的第三集成电路总线,检测从设备是否进入时钟延展状态,得到第一检测结果。
在本申请一种可选的实施方式中,上述步骤S2042,可以包括如下:
步骤a1,持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号。
具体地,复杂可编程逻辑器件可以持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号。
步骤a2,检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果。
具体地,复杂可编程逻辑器件在持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号的过程中,持续检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果。
步骤a3,根据第二检测结果,确定从设备是否进入时钟延展状态,得到第一检测结果。
在本申请一种可选的实施方式中,上述步骤a3包括如下情况:
其中一种情况,当第二检测结果为从设备对应的第二串行时钟线信号为高电平,确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果。
具体地,当第二检测结果为从设备对应的第二串行时钟线信号为高电平,复杂可编程逻辑器件确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果。
其中另一种情况,当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果。
具体地,当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果。
步骤S2043,根据第一检测结果,对主设备和/或从设备进行控制。
在本申请一种可选的实施方式中,上述步骤S2043,可以包括如下:
步骤b1,当第一检测结果为从设备进入时钟延展状态时,启动超时计时器。
其中,超时计时器中设定有预设时长。其中,预设时长可以是0.1秒,也可以是0.2秒,还可以是其他时长,本申请实施例对预设时长不做具体限定。
步骤b2,基于超时计时器,检测从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果。
在本申请一种可选的实施方式中,复杂可编程逻辑器件可以持续检测从设备对应的第二串行时钟线信号是否为高电平,并记录从设备对应的第二串行时钟线信号变为高电平的时间;根据从设备对应的第二串行时钟线信号变为高电平的时间,确定从设备进入时钟延展状态的时长。
将从设备进入时钟延展状态的时长与预设时长进行对比;根据对比结果,确定从设备进入时钟延展状态的时长是否超过预设时长。当从设备进入时钟延展状态的时长大于预设时长,确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果;当从设备进入时钟延展状态的时长小于预设时长,确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果。
在本申请一种可选的实施方式中,上述步骤b2,可以包括如下:
步骤b21,在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果。
具体地,复杂可编程逻辑器件可以在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果。
示例性的,假设预设时长为0.1秒,复杂可编程逻辑器件在这0.1秒内,持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果。
步骤b22,根据第四检测结果,确定从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果。
在本申请一种可选的实施方式中,上述步骤b22,可以包括如下情况:
其中一种情况,当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号变为高电平,确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果。
示例性的,当第四检测结果为在0.1秒内从设备对应的第二串行时钟线信号变为高电平,复杂可编程逻辑器件确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果。
其中另一种情况,当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号未变为高电平,确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果。
示例性的,当第四检测结果为在0.1秒内从设备对应的第二串行时钟线信号未变为高电平,复杂可编程逻辑器件确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果。
步骤b3,根据第三检测结果,对主设备和/或从设备进行控制。
在本申请一种可选的实施方式中,上述步骤b3,可以包括如下情况:
其中一种情况,当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态。
基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号。
具体地,当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态。复杂可编程逻辑器件基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号,从而断开主设备与从设备之间的透传模式。
其中另一种情况,当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态。
具体地,当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态。
步骤b4,当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,拉高从设备对应的第二串行时钟线信号,并记录从设备向主设备返回的确定字符信号到从设备对应的确定字符寄存器中。
具体地,当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,复杂可编程逻辑器件拉高从设备对应的第二串行时钟线信号,并获取从设备向主设备返回的确定字符信号,并将从设备向主设备返回的确定字符信号记录到从设备对应的确定字符寄存器中。
步骤b5,控制主设备退出等待状态。
在本申请一种可选的实施方式中,上述步骤b5,可以包括如下:
拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态。
具体地,复杂可编程逻辑器件拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态,以使主设备可以正常通信。
步骤b6,基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备。
具体地,复杂可编程逻辑器件基于与主设备之间的第二集成电路总线,将获取到的从设备向主设备返回的确定字符信号,当作确认字符比特,返回输出到主设备。
步骤b7,对确定字符信号进行识别。
具体地,复杂可编程逻辑器件可以对确定字符信号进行识别。
步骤b8,根据识别结果,确定字符信号对应的表征状态。
其中,表征状态包括响应状态和不响应状态。
具体地,复杂可编程逻辑器件根据识别结果,确定字符信号对应的表征状态。
步骤b9,根据确定字符信号对应的表征状态对主设备和从设备之间的第一集成电路总线进行处理。
在本申请一种可选的实施方式中,上述步骤b9,可以包括如下情况:
其中一种情况,若确定字符信号对应的表征状态为不响应状态,则退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束。
其中,不响应状态用于表征从设备不对主设备发送的目标数据进行处理。
具体地,若确定字符信号对应的表征状态为不响应状态,则复杂可编程逻辑器件退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束。
其中另一种情况,若确定字符信号对应的表征状态为响应状态,则获取主设备向从设备发送的下一个字节的最高位;并将下一个字节的最高位记录到串行数据线寄存器;
其中,响应状态用于表征从设备对主设备发送的目标数据进行处理;
将下一个字节的最高位,发送至从设备;
再次检测从设备是否进入时钟延展状态;
直至主设备和从设备之间的通信结束,返回透传模式。
具体地,若确定字符信号对应的表征状态为响应状态,则复杂可编程逻辑器件获取主设备向从设备发送的下一个字节的最高位,并将下一个字节的最高位记录到串行数据线寄存器。复杂可编程逻辑器件将下一个字节的最高位,发送至从设备,实现主设备和从设备之间的正常通信。
复杂可编程逻辑器件再次检测从设备是否进入时钟延展状态,检测过程请参见上述实施方式。若从设备进入时钟延展状态,则复杂可编程逻辑器件主动控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。同时启动超时计时器,判断从设备是否处于异常状态,具体步骤请参见上述实施方式。若从设备未进入时钟延展状态或者已经退出时钟延展状态时,复杂可编程逻辑器件拉高从设备对应的第二串行时钟线信号,并向从设备发送下一个字节的最高位,如此循环,直至主设备和从设备之间的通信结束,返回透传模式。
本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,基于与主设备之间的第二集成电路总线,控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。从而避免了主设备向从设备发送确认字符比特,从而可以避免主设备对应的第一串行时钟线信号产生脉冲,影响主设备和从设备之间的正常通信。
然后,持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号。检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果,保证了得到的第二检测结果的准确性。当第二检测结果为从设备对应的第二串行时钟线信号为高电平,确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果,保证了确定的从设备未进入时钟延展状态或者从设备已经退出时钟延展状态的结果的准确性。当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果,保证了确定的从设备进入时钟延展状态的准确性。
当第一检测结果为从设备进入时钟延展状态时,启动超时计时器。在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果,保证了得到的第四检测结果的准确性。当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号变为高电平,确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果,保证了确定的从设备进入时钟延展状态的时长未超过预设时长的结果的准确性。当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号未变为高电平,确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果,保证了确定的从设备进入时钟延展状态的时长超过预设时长的结果的准确性。
当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态,基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号,从而断开主设备和从设备之间的透传模式,防止处于异常状态的从设备影响集成电路总线上的其他设备。
当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态,从而可以保证主设备和从设备之间的正常通信。
当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,拉高从设备对应的第二串行时钟线信号,以使从设备可以向主设备返回确定字符信号。记录从设备向主设备返回的确定字符信号到从设备对应的确定字符寄存器中,从而可以获取到从设备向主设备返回的确定字符信号。拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态,从而使得主设备退出等待状态,以使主设备处于正常通信状态。基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备,使得主设备可以接收到从设备返回的确定字符信号,进而可以保证主设备和从设备之间的下一步通信。
对确定字符信号进行识别;根据识别结果,确定字符信号对应的表征状态,保证了确定的字符信号对应的表征状态的准确性。若确定字符信号对应的表征状态为不响应状态,则退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束,在复杂可编程逻辑器件接管主设备和从设备之间的第一集成电路总线的过程中,没有在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,保证了主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。若确定字符信号对应的表征状态为响应状态,则获取主设备向从设备发送的下一个字节的最高位;并将下一个字节的最高位记录到串行数据线寄存器,从而可以获取到下一个字节的最高位。然后,将下一个字节的最高位,发送至从设备,保证了主设备和从设备之间的正常通信。再次检测从设备是否进入时钟延展状态;直至主设备和从设备之间的通信结束,返回透传模式。在复杂可编程逻辑器件接管主设备和从设备之间的第一集成电路总线的过程中,没有在主设备对应的第一串行时钟线信号和从设备对应的第二串行时钟线信号上产生短脉冲,保证了主设备和从设备之间的正常通信。实现了在不改变原有硬件连接架构的情况下,保证的第一集成电路总线交互的稳定,增加了服务器中BMC即主设备管理外设的连续性和稳定性。
为了更好地介绍本申请实施例提供的集成电路总线透传模式下时钟延展的处理方法,本发明实施例提供了一种集成电路总线透传模式下时钟延展的处理方法的流程图,可用于上述的复杂可编程逻辑器件,如图5所示,该流程包括如下步骤:
步骤301,获取主设备基于第一集成电路总线向从设备传输的目标数据。
步骤302,根据目标数据,检测主设备是否已完成向从设备发送一个字节数据。
步骤303,当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特,接管主设备和从设备之间的第一集成电路总线。
步骤304,基于与主设备之间的第二集成电路总线,控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。
步骤305,持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号。
步骤306,检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果。
步骤307,当第二检测结果为从设备对应的第二串行时钟线信号为高电平,确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果,执行步骤315。
步骤308,当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果。执行步骤309。
步骤309,当第一检测结果为从设备进入时钟延展状态时,启动超时计时器。
步骤310,在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果。
步骤311,当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号变为高电平,确定从设备进入时钟延展状态的时长未超过预设时长,执行步骤313。
步骤312,当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号未变为高电平,确定从设备进入时钟延展状态的时长超过预设时长,执行步骤314。
步骤313,当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态。
步骤314,当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态;基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号。
步骤315,当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,拉高从设备对应的第二串行时钟线信号,并记录从设备向主设备返回的确定字符信号到从设备对应的确定字符寄存器中。
步骤316,拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态。
步骤317,基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备。
步骤318,对确定字符信号进行识别。
步骤319,根据识别结果,确定字符信号对应的表征状态。若确定字符信号对应的表征状态为不响应状态,执行步骤320。若确定字符信号对应的表征状态为响应状态,执行步骤321。
步骤320,退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束。
步骤321,获取主设备向从设备发送的下一个字节的最高位;并将下一个字节的最高位记录到串行数据线寄存器。将下一个字节的最高位,发送至从设备;再次检测从设备是否进入时钟延展状态;直至主设备和从设备之间的通信结束,返回透传模式。
在本实施例中还提供了一种集成电路总线透传模式下时钟延展的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种集成电路总线透传模式下时钟延展的处理装置,应用于复杂可编程逻辑器件,如图6所示,装置包括:
获取模块401,用于获取主设备基于第一集成电路总线向从设备传输的目标数据;
检测模块402,用于根据目标数据,检测主设备是否已完成向从设备发送一个字节数据;
确认模块403,用于当主设备已完成向从设备发送一个字节数据,确认主设备即将向从设备发送确认字符比特;
接管模块404,用接管主设备和从设备之间的第一集成电路总线,关闭主设备与从设备之间的透传模式,对主设备和/或从设备进行控制。
在一些可选的实施方式中,接管模块404,具体用于基于与主设备之间的第二集成电路总线,控制主设备处于等待状态;基于与从设备之间的第三集成电路总线,检测从设备是否进入时钟延展状态,得到第一检测结果;根据第一检测结果,对主设备和/或从设备进行控制。
在一些可选的实施方式中,接管模块404,具体用于基于与主设备之间的第二集成电路总线,控制主设备进入时钟延展状态,拉低主设备对应的第一串行时钟线信号,以使主设备处于等待状态。
在一些可选的实施方式中,接管模块404,具体用于持续拉高从设备对应的第二串行时钟线信号,并向从设备发送确认字符比特对应的第三串行时钟线信号;检测从设备对应的第二串行时钟线信号是否为高电平,得到第二检测结果;根据第二检测结果,确定从设备是否进入时钟延展状态,得到第一检测结果。
在一些可选的实施方式中,接管模块404,具体用于当第二检测结果为从设备对应的第二串行时钟线信号为高电平,确定从设备未进入时钟延展状态或者从设备已经退出时钟延展状态,得到第一检测结果。
在一些可选的实施方式中,接管模块404,具体用于当第二检测结果为从设备对应的第二串行时钟线信号为低电平,确定从设备进入时钟延展状态,得到第一检测结果。
在一些可选的实施方式中,接管模块404,具体用于当第一检测结果为从设备进入时钟延展状态时,启动超时计时器;超时计时器中设定有预设时长;基于超时计时器,检测从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果;根据第三检测结果,对主设备和/或从设备进行控制。
在一些可选的实施方式中,接管模块404,具体用于在预设时长内持续检测从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果;根据第四检测结果,确定从设备进入时钟延展状态的时长是否超过预设时长,得到第三检测结果。
在一些可选的实施方式中,接管模块404,具体用于当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号变为高电平,确定从设备进入时钟延展状态的时长未超过预设时长,得到第三检测结果。
在一些可选的实施方式中,接管模块404,具体用于当第四检测结果为在预设时长内从设备对应的第二串行时钟线信号未变为高电平,确定从设备进入时钟延展状态的时长超过预设时长,得到第三检测结果。
在一些可选的实施方式中,接管模块404,具体用于当第三检测结果为从设备进入时钟延展状态的时长超过预设时长时,确定从设备处于异常状态;基于与主设备之间的第三集成电路总线,向主设备输出高阻,拉高主设备对应的第一串行时钟线信号。
在一些可选的实施方式中,接管模块404,具体用于当第三检测结果为从设备进入时钟延展状态的时长未超过预设时长时,确定从设备处于正常状态时,等待从设备退出时钟延展状态。
在一些可选的实施方式中,接管模块404,具体用于当第一检测结果为从设备未进入时钟延展状态或者已经退出时钟延展状态时,拉高从设备对应的第二串行时钟线信号,并记录从设备向主设备返回的确定字符信号到从设备对应的确定字符寄存器中;控制主设备退出等待状态;基于与主设备之间的第二集成电路总线,将确定字符信号,当作确认字符比特,返回输出到主设备。
在一些可选的实施方式中,接管模块404,具体用于拉高主设备对应的第一串行时钟线信号,释放主设备对应的时钟延展状态。
在一些可选的实施方式中,接管模块404,具体用于对确定字符信号进行识别;根据识别结果,确定字符信号对应的表征状态;表征状态包括响应状态和不响应状态;根据确定字符信号对应的表征状态对主设备和从设备之间的第一集成电路总线进行处理。
在一些可选的实施方式中,接管模块404,具体用于若确定字符信号对应的表征状态为不响应状态,则退出对主设备和从设备之间的第一集成电路总线的接管,主设备和从设备之间基于第一集成电路总线的交互结束;不响应状态用于表征从设备不对主设备发送的目标数据进行处理。
在一些可选的实施方式中,接管模块404,具体用于若确定字符信号对应的表征状态为响应状态,则获取主设备向从设备发送的下一个字节的最高位;并将下一个字节的最高位记录到串行数据线寄存器;响应状态用于表征从设备对主设备发送的目标数据进行处理;将下一个字节的最高位,发送至从设备;再次检测从设备是否进入时钟延展状态;直至主设备和从设备之间的通信结束,返回透传模式。
本实施例中的集成电路总线透传模式下时钟延展的处理装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种复杂可编程逻辑器件,具有上述图6所示的集成电路总线透传模式下时钟延展的处理装置。该复杂可编程逻辑器件可以如图7所示。
本发明实施例还提供一种电子设备,该电子设备可以是服务器,也可以是移动终端。该电子设备包括图7中的复杂可编程逻辑器件。
请参阅图8,图8是本发明可选实施例提供的一种电子设备的结构示意图,如图8所示,该电子设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的电子设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该电子设备还包括通信接口30,用于该电子设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (20)

1.一种集成电路总线透传模式下时钟延展的处理方法,其特征在于,应用于复杂可编程逻辑器件,所述方法包括:
获取主设备基于第一集成电路总线向从设备传输的目标数据;
根据所述目标数据,检测所述主设备是否已完成向所述从设备发送一个字节数据;
当所述主设备已完成向所述从设备发送所述一个字节数据,确认所述主设备即将向所述从设备发送确认字符比特;
接管所述主设备和所述从设备之间的所述第一集成电路总线,关闭所述主设备与所述从设备之间的透传模式,对所述主设备和/或所述从设备进行控制。
2.根据权利要求1所述的方法,其特征在于,所述接管所述主设备和所述从设备之间的所述第一集成电路总线,关闭所述主设备与所述从设备之间的透传模式,对所述主设备和/或所述从设备进行控制,包括:
基于与所述主设备之间的第二集成电路总线,控制所述主设备处于等待状态;
基于与所述从设备之间的第三集成电路总线,检测所述从设备是否进入时钟延展状态,得到第一检测结果;
根据所述第一检测结果,对所述主设备和/或所述从设备进行控制。
3.根据权利要求2所述的方法,其特征在于,所述基于与所述主设备之间的第二集成电路总线,控制所述主设备处于等待状态,包括:
基于与所述主设备之间的所述第二集成电路总线,控制所述主设备进入时钟延展状态,拉低所述主设备对应的第一串行时钟线信号,以使所述主设备处于等待状态。
4.根据权利要求2所述的方法,其特征在于,所述基于与所述从设备之间的第三集成电路总线,检测所述从设备是否进入时钟延展状态,得到第一检测结果,包括:
持续拉高所述从设备对应的第二串行时钟线信号,并向所述从设备发送确认字符比特对应的第三串行时钟线信号;
检测所述从设备对应的所述第二串行时钟线信号是否为高电平,得到第二检测结果;
根据所述第二检测结果,确定所述从设备是否进入所述时钟延展状态,得到所述第一检测结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二检测结果,确定所述从设备是否进入所述时钟延展状态,得到所述第一检测结果,包括:
当所述第二检测结果为所述从设备对应的所述第二串行时钟线信号为高电平,确定所述从设备未进入所述时钟延展状态或者所述从设备已经退出所述时钟延展状态,得到所述第一检测结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述第二检测结果为所述从设备对应的所述第二串行时钟线信号为低电平,确定所述从设备进入所述时钟延展状态,得到所述第一检测结果。
7.根据权利要求2中所述的方法,其特征在于,所述根据所述第一检测结果,对所述主设备和/或所述从设备进行控制,包括:
当所述第一检测结果为所述从设备进入所述时钟延展状态时,启动超时计时器;所述超时计时器中设定有预设时长;
基于所述超时计时器,检测所述从设备进入所述时钟延展状态的时长是否超过所述预设时长,得到第三检测结果;
根据所述第三检测结果,对所述主设备和/或所述从设备进行控制。
8.根据权利要求7中所述的方法,其特征在于,所述基于所述超时计时器,检测所述从设备进入所述时钟延展状态的时长是否超过所述预设时长,得到第三检测结果,包括:
在所述预设时长内持续检测所述从设备对应的第二串行时钟线信号是否变为高电平,得到第四检测结果;
根据所述第四检测结果,确定所述从设备进入所述时钟延展状态的时长是否超过所述预设时长,得到所述第三检测结果。
9.根据权利要求8中所述的方法,其特征在于,所述根据所述第四检测结果,确定所述从设备进入所述时钟延展状态的时长是否超过所述预设时长,得到所述第三检测结果,包括:
当所述第四检测结果为在所述预设时长内所述从设备对应的所述第二串行时钟线信号变为高电平,确定所述从设备进入所述时钟延展状态的时长未超过所述预设时长,得到所述第三检测结果。
10.根据权利要求9中所述的方法,其特征在于,所述方法还包括:
当所述第四检测结果为在所述预设时长内所述从设备对应的所述第二串行时钟线信号未变为高电平,确定所述从设备进入所述时钟延展状态的时长超过所述预设时长,得到所述第三检测结果。
11.根据权利要求7中所述的方法,其特征在于,所述根据所述第三检测结果,对所述主设备和/或所述从设备进行控制,包括:
当所述第三检测结果为所述从设备进入所述时钟延展状态的时长超过所述预设时长时,确定所述从设备处于异常状态;
基于与所述主设备之间的所述第三集成电路总线,向所述主设备输出高阻,拉高所述主设备对应的第一串行时钟线信号。
12.根据权利要求11中所述的方法,其特征在于,所述方法还包括:
当所述第三检测结果为所述从设备进入所述时钟延展状态的时长未超过所述预设时长时,确定所述从设备处于正常状态时,等待所述从设备退出所述时钟延展状态。
13.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述第一检测结果为所述从设备未进入所述时钟延展状态或者已经退出所述时钟延展状态时,拉高所述从设备对应的第二串行时钟线信号,并记录所述从设备向所述主设备返回的确定字符信号到所述从设备对应的确定字符寄存器中;
控制所述主设备退出等待状态;
基于与所述主设备之间的所述第二集成电路总线,将所述确定字符信号,当作所述确认字符比特,返回输出到所述主设备。
14.根据权利要求13所述的方法,其特征在于,所述控制所述主设备退出等待状态,包括:
拉高所述主设备对应的第一串行时钟线信号,释放所述主设备对应的时钟延展状态。
15.根据权利要求13所述的方法,其特征在于,所述基于与所述主设备之间的所述第二集成电路总线,将所述确定字符信号,当作所述确认字符比特,返回输出到所述主设备之后,所述方法还包括:
对所述确定字符信号进行识别;
根据识别结果,确定所述确定字符信号对应的表征状态;所述表征状态包括响应状态和不响应状态;
根据所述确定字符信号对应的所述表征状态对所述主设备和所述从设备之间的所述第一集成电路总线进行处理。
16.根据权利要求15所述的方法,其特征在于,所述根据所述确定字符信号对应的所述表征状态对所述主设备和所述从设备之间的所述第一集成电路总线进行处理,包括:
若所述确定字符信号对应的所述表征状态为所述不响应状态,则退出对所述主设备和所述从设备之间的所述第一集成电路总线的接管,所述主设备和所述从设备之间基于所述第一集成电路总线的交互结束;所述不响应状态用于表征所述从设备不对所述主设备发送的所述目标数据进行处理。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
若所述确定字符信号对应的所述表征状态为所述响应状态,则获取所述主设备向所述从设备发送的下一个字节的最高位;并将所述下一个字节的最高位记录到串行数据线寄存器;所述响应状态用于表征所述从设备对所述主设备发送的所述目标数据进行处理;
将所述下一个字节的最高位,发送至所述从设备;
再次检测所述从设备是否进入所述时钟延展状态;
直至所述主设备和所述从设备之间的通信结束,返回所述透传模式。
18.一种集成电路总线透传模式下时钟延展的处理装置,其特征在于,应用于复杂可编程逻辑器件,所述装置包括:
获取模块,用于获取主设备基于第一集成电路总线向从设备传输的目标数据;
检测模块,用于根据所述目标数据,检测所述主设备是否已完成向所述从设备发送一个字节数据;
确认模块,用于当所述主设备已完成向所述从设备发送所述一个字节数据,确认所述主设备即将向所述从设备发送确认字符比特;
接管模块,用接管所述主设备和所述从设备之间的所述第一集成电路总线,关闭所述主设备与所述从设备之间的透传模式,对所述主设备和/或所述从设备进行控制。
19.一种电子设备,其特征在于,包括:
复杂可编程逻辑器件,用于执行权利要求1至17中任一项所述的集成电路总线透传模式下时钟延展的处理方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至17中任一项所述的集成电路总线透传模式下时钟延展的处理方法。
CN202311708718.1A 2023-12-13 2023-12-13 集成电路总线透传模式下时钟延展的处理方法及装置 Active CN117407343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311708718.1A CN117407343B (zh) 2023-12-13 2023-12-13 集成电路总线透传模式下时钟延展的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311708718.1A CN117407343B (zh) 2023-12-13 2023-12-13 集成电路总线透传模式下时钟延展的处理方法及装置

Publications (2)

Publication Number Publication Date
CN117407343A CN117407343A (zh) 2024-01-16
CN117407343B true CN117407343B (zh) 2024-02-23

Family

ID=89496595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311708718.1A Active CN117407343B (zh) 2023-12-13 2023-12-13 集成电路总线透传模式下时钟延展的处理方法及装置

Country Status (1)

Country Link
CN (1) CN117407343B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991876A (zh) * 2015-06-19 2015-10-21 福建星网锐捷网络有限公司 一种串行总线控制方法及装置
WO2015169038A1 (zh) * 2014-05-08 2015-11-12 中兴通讯股份有限公司 集成电路总线系统及其数据操作和传输方法
WO2023019753A1 (zh) * 2021-08-20 2023-02-23 西安易朴通讯技术有限公司 I2c总线的通信控制方法、系统和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015169038A1 (zh) * 2014-05-08 2015-11-12 中兴通讯股份有限公司 集成电路总线系统及其数据操作和传输方法
CN104991876A (zh) * 2015-06-19 2015-10-21 福建星网锐捷网络有限公司 一种串行总线控制方法及装置
WO2023019753A1 (zh) * 2021-08-20 2023-02-23 西安易朴通讯技术有限公司 I2c总线的通信控制方法、系统和装置

Also Published As

Publication number Publication date
CN117407343A (zh) 2024-01-16

Similar Documents

Publication Publication Date Title
CN112579509B (zh) 单线通讯方法、装置、电子设备及可读存储介质
US9146797B2 (en) Method for ensuring remediation of hung multiplexer bus channels
US20040225812A1 (en) Method and apparatus for interconnecting wired-AND buses
CN111061587A (zh) 一种i2c总线的通信控制方法、装置、设备及存储介质
RU2614569C2 (ru) Стойка с функцией автоматического восстановления и способ автоматического восстановления для этой стойки
CN110908841A (zh) 一种i2c通信异常恢复方法及装置
US20170242813A1 (en) Bus bridge for translating requests between a module bus and an axi bus
CN110896372A (zh) 一种i2c链路切换方法、终端及存储介质
CN114221903B (zh) 一种数据传输方法及装置
US20240295913A1 (en) Electronic device and method of responding to a trigger to wake up
CN117407343B (zh) 集成电路总线透传模式下时钟延展的处理方法及装置
US20080244129A1 (en) Master device of two-wire bus providing release function for clock line and method thereof
CN105718396A (zh) 一种大数据主设备传输的i2c总线装置及其通讯方法
CN112749057A (zh) 用于读事务的总线监视器
CN112667483A (zh) 用于服务器主板的内存信息读取装置、方法及服务器
CN109542198B (zh) 一种控制pcie卡上电的方法及设备
CN109582634B (zh) 总线系统
CN116302687A (zh) 通信恢复方法、装置、系统及可读存储介质
CN112286852A (zh) 基于iic总线的数据通信方法和数据通信装置
CN116521585A (zh) 槽位丝印显示方法、装置、设备及存储介质
CN116126769A (zh) 用于串行总线的隔离电路及设备隔离方法
CN113645088B (zh) 网卡ncsi信号的自动调节方法、系统、装置及介质
CN115098342A (zh) 系统日志收集方法、系统、终端及存储介质
CN115904888A (zh) 一种告警方法、计算设备及存储介质
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법

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