CN115599458A - 一种基于i2c总线结构的从机启动方法及装置 - Google Patents
一种基于i2c总线结构的从机启动方法及装置 Download PDFInfo
- Publication number
- CN115599458A CN115599458A CN202211576269.5A CN202211576269A CN115599458A CN 115599458 A CN115599458 A CN 115599458A CN 202211576269 A CN202211576269 A CN 202211576269A CN 115599458 A CN115599458 A CN 115599458A
- Authority
- CN
- China
- Prior art keywords
- slave
- started
- signal
- bus
- system clock
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种基于I2C总线结构的从机启动方法及装置,包括:待启动从机接收唤醒参考信号;所述待启动从机从I2C总线接收总线时钟信号和总线数据信号,并将所述总线时钟信号转换为系统时钟域时钟信号,将所述总线数据信号转换为系统时钟域数据信号;当所述待启动从机根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令,则所述待启动从机响应于所述启动指令进行启动;向待启动从机输入了带有“防误段”的唤醒参考信号,并且结合唤醒参考信号进行启动指令的识别,从而实现了对于“假启动指令”的分辨,避免了待启动识别到“假启动指令”进而错误启动。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于I2C总线结构的从机启动方法及装置。
背景技术
I2C总线结构,是一种双向二线制同步串行总线结构。在I2C总线中存在“一主多从”的情况下,具体结构可以如图1所示。在图1示出的结构中,存在一个主机(master)和2个从机(slave1和slave2)。
在图1所示结构的通信过程中,从机可在不需通信时进入休眠以降低功耗;亦可在需要通信时被唤醒源唤醒。当从机通过非I2C总线的途径被唤醒之后,需要再额外的接收一个启动指令,方可进行状态跳转,从而开始参与I2C通信。
不过在一些情况下,当从机通过非I2C总线的途径被唤醒之后,I2C总线中可能恰好出现了一些特殊的数据信号,而该数据信号的内容恰好又与启动指令一致。在此情况下,这些数据信号便会被从机误认为是启动指令。由此便会让从机误启动,进而干扰通信。现有技术中对此并无有效的解决方案。
发明内容
本发明提供一种基于I2C总线结构的从机启动方法及装置,可避免从机由于通信机制漏洞而错误启动。
第一方面,本发明提供了一种基于I2C总线结构的从机启动方法,包括:
待启动从机接收唤醒参考信号;
所述待启动从机从I2C总线接收总线时钟信号和总线数据信号,并将所述总线时钟信号转换为系统时钟域时钟信号,将所述总线数据信号转换为系统时钟域数据信号;
当所述待启动从机根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令,则所述待启动从机响应于所述启动指令进行启动。
优选的,所述待启动从机接收唤醒参考信号包括:
当所述待启动从机满足唤醒条件时,所述待启动从机接收的所述唤醒参考信号为防误状态;
当所述待启动从机不再满足所述唤醒条件时,所述待启动从机接收的所述唤醒参考信号为正常状态。
优选的,所述待启动从机满足唤醒条件包括:
所述待启动从机被非I2C总线途径唤醒,且所述待启动从机被唤醒后的时长中存在至少n+2个系统时钟上升沿;其中,n为一个总线时钟信号的高电平段内包括的系统时钟上升沿的数量。
优选的,所述待启动从机根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令包括:
当所述唤醒参考信号为正常状态,且所述系统时钟域时钟信号和所述系统时钟域数据信号呈现预设形态,则所述待启动从机识别得到启动指令。
优选的,所述系统时钟域时钟信号和所述系统时钟域数据信号呈现预设形态包括:
所述系统时钟域时钟信号保持高电平,同时所述系统时钟域数据信号由高电平转为低电平。
优选的,还包括:
当所述唤醒参考信号为防误状态,且所述系统时钟域时钟信号和所述系统时钟域数据信号呈现预设形态,则所述待启动从机识别得到防误信息;
所述待启动从机不对所述防误信息进行响应。
优选的,所述待启动从机响应于所述启动指令进行启动包括:
所述待启动从机在识别到所述启动指令后,与主机进行地址匹配;
当所述地址匹配成功,所述待启动从机进行启动,并与主机通信。
第二方面,本发明提供了一种基于I2C总线结构的从机启动装置,包括:
参考信号接收模块,用于接收唤醒参考信号;
总线信号接收模块,用于从I2C总线接收总线时钟信号和总线数据信号;
信号转换模块,用于将所述总线时钟信号转换为系统时钟域时钟信号,将所述总线数据信号转换为系统时钟域数据信号;
指令识别模块,用于根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令;
启动控制模块,用于响应于所述启动指令启动待启动从机。
第三方面,本发明提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。
第四方面,本发明提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。
本发明提供了一种基于I2C总线结构的从机启动方法及装置,向待启动从机输入了带有“防误段”的唤醒参考信号,并且结合唤醒参考信号进行启动指令的识别,从而实现了对于“假启动指令”的分辨,避免了待启动识别到“假启动指令”进而错误启动。
上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中I2C总线结构的结构示意图;
图2为现有技术中I2C总线结构的通信信号示意图;
图3为本发明一实施例提供的一种基于I2C总线结构的从机启动方法的流程示意图;
图4为本发明一实施例提供的一种基于I2C总线结构的从机启动方法中的通信信号示意图;
图5为本发明一实施例提供的一种基于I2C总线结构的从机启动装置的结构示意图;
图6为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在图1示出的结构中,存在一个主机(master)和2个从机(slave1和slave2)。图1中的SCL_IN和SDA_IN构成了I2C总线结构中的双向二线制总线。其中,SCL_IN线路为主机时钟输出/从机时钟输入,SDA_IN线路为主机数据输出/从机数据输入。即为本领域中常规的I2C总线结构。
通常,从机可在不需通信时进入休眠以降低功耗;亦可在需要通信时或需要进行任意工作时被唤醒。为便于叙述,可假设在某一时刻slave2通过非I2C总线的途径被唤醒;而slave1此前一直与master保持通信。本领域中,非I2C总线的唤醒方式存在多种,在此不限定。如图2所示,slave2在休眠状态时,休眠信号(sleep)保持在高电平,系统时钟(PCLK)保持在低电平。通过非I2C总线的唤醒方式进行唤醒时,slave2的休眠信号从高电位转为低电位,同时系统时钟开始时钟跳动。
而由于此前仅有slave1与master保持通信,所以图2中示出的SCL_IN信号和SDA_IN信号实质上是slave1与master之间的通信信号。另外,图2中示出的SCL_IN_S信号代表slave2对SCL_IN信号进行二级同步后转换得到的信号;SDA_IN_S信号代表slave2对SDA_IN信号进行二级同步后转换得到的信号。上述的二级同步为I2C通信中的常规手段,在此不赘述。
前述已知的是,slave2通过非I2C总线的途径被唤醒之后,需要再额外的接收一个启动指令。该启动指令反应在SCL_IN_S信号和SDA_IN_S信号中,应该是SCL_IN_S信号保持高电平,同时SDA_IN_S信号由高电平转为低电平。该启动指令若以数据化的形式表示,应该是SCL_IN_S/SDA_IN_S信号数据从(1,1)变为(1,0)。在发出该启动指令之后,SDA_IN信号中还需进一步的携带slave2的地址,以使slave2完成地址匹配。如此方可完成slave2的启动,使得slave2正式开始后续的通信过程。
不过在一些情况下,当slave2被唤醒之后,I2C总线中可能恰好出现了一些特殊的数据信号,而该数据信号的内容恰好又与启动指令一致。例如当master向slave1发送数据“0”时,或者当slave1向master反馈响应信号(ACK响应信号)时,SCL_IN信号和SDA_IN信号的形态如图2中细虚线框中所示。细虚线框中信号二级同步到SCL_IN_S信号和SDA_IN_S信号后,SCL_IN_S信号和SDA_IN_S信号的形态如图2中粗虚线框中所示。而粗虚线框中所示信号,其形态恰好与启动指令的信号形态完全一致;即SCL_IN_S信号保持高电平,同时SDA_IN_S信号由高电平转为低电平。
在此情况下,粗虚线框中所示信号便成为了一个“假启动指令”。该部分信号的真实含义是master向slave1发送数据“0”,或者slave1向master反馈响应信号。但是由于以上巧合,slave2会将其误认为是启动指令,由此而误启动。而且如果在“假启动指令”之后,master与slave1之间交互的数据又恰好与slave2的地址相等,那么slave2便会进一步的完成(错误的)地址匹配,然后参与到通信过程中,对通信产生干扰。
上述过程本质上属于是一种“巧合”导致的“通信机制漏洞”。但是在实际的通信过程中,这一“漏洞”导致的通信异常情况是客观存在的。而在现有技术中,此“漏洞”并无有效的解决方案。
另外需要说明的是,通过I2C总线唤醒从机的方式与上述过程有所差异,即与该“漏洞”以及本申请中技术方案与此并不相关,遂不做赘述。
有鉴于此,本发明提供一种基于I2C总线结构的从机启动方法。参见图3所示,为本发明提供的基于I2C总线结构的从机启动方法的具体实施例。本实施例中为便于叙述,同样可以假设该方法应用于如图1所示的I2C总线结构中。并且该方法的执行主体为待启动从机,也就是图1中所示的slave2。所述方法具体包括以下步骤:
步骤301、待启动从机接收唤醒参考信号。
待启动从机,是指在I2C总线结构中通过非I2C总线的途径被唤醒,并且可以响应启动指令而进行启动的从机。上述图1~图2场景中描述的slave2,即属于待启动从机。
本实施例中为了避免待启动从机由于“通信机制漏洞”的原因识别到“假启动指令”,遂在现有技术的基础上,向待启动从机额外的输入了唤醒参考信号(wakeup),如图4所示。
该唤醒参考信号通常保持在低电平,也就是正常状态。当待启动从机满足唤醒条件时,唤醒参考信号可由低电平转为高电平,即从正常状态转变为防误状态。也就是进入图4中所示的“防误段”。随时间推移,当待启动从机不再满足唤醒条件时,唤醒参考信号可由高电平重新转为低电平,即从防误状态转变为正常状态。
需要说明的是,在待启动从机被非I2C总线途径唤醒,并且“刚刚唤醒一段时间”的阶段,可视为满足唤醒条件。而该“刚刚唤醒一段时间”所对应的具体时长t,可以通过如下方式计算:该时长t中存在至少n+2个系统时钟上升沿;其中,n为一个总线时钟信号的高电平段内包括的系统时钟上升沿的数量。
系统时钟即为本领域中的PCLK信号,总线时钟信号即上述的SCL_IN信号。如图4所示可见,系统时钟和总线时钟信号均是周期性信号,其电平的高低变化存在固定的周期性规律。而二者的周期频率有所不同。在图4示出的情况下,一个总线时钟信号的上升沿之内(即一个高电平段之内),包括了一个系统时钟的上升沿,即n=1。那么此时满足唤醒条件的时间长度t之内,也就是唤醒参考信号的“防误段”之内,应当包括至少n+2个(即3个)系统时钟的上升沿。如图4中点划线所标示。按照上述方式确定“防误段”的长度,能够保证“防误段”完整的覆盖到待启动从机唤醒之后出现的第一个总线时钟信号上升沿。
步骤302、待启动从机从I2C总线接收总线时钟信号和总线数据信号,并将总线时钟信号转换为系统时钟域时钟信号,将总线数据信号转换为系统时钟域数据信号。
与常规的I2C通信过程类似,待启动从机同样通过I2C总线结构接收总线时钟信号和总线数据信号。总线时钟信号即上述的SCL_IN信号。总线数据信号即上述的SDA_IN信号。
待启动从机对总线时钟信号进行二级同步,转换得到系统时钟域时钟信号,即SCL_IN_S信号。同时也对总线数据信号进行二级同步,转换得到系统时钟域数据信号,即SDA_IN_S信号。
上述过程与现有的I2C通信过程同理,在此不赘述。
步骤303、当待启动从机根据唤醒参考信号、系统时钟域时钟信号和系统时钟域数据信号识别得到启动指令,则待启动从机响应于启动指令进行启动。
通常可以认为,当master向slave1发送数据“0”时,或者slave1向master 反馈ACK响应信号时,系统时钟域时钟信号和系统时钟域数据信号会呈现预设形态。该预设形态为系统时钟域时钟信号保持高电平,同时系统时钟域数据信号由高电平转为低电平。也就是SCL_IN_S/SDA_IN_S信号数据从(1,1)变为(1,0)。该预设形态如果出现在待启动从机“刚刚唤醒一段时间”的阶段,便能够形成“假启动指令”。
本实施例中方法的目的,在于避免待启动识别到“假启动指令”进而错误启动,所以额外的向待启动从机输入了唤醒参考信号;并且该唤醒参考信号存在“防误段”。于是,本实施例中将结合唤醒参考信号、系统时钟域时钟信号和系统时钟域数据信号三者,共同完成启动指令的识别。
前述已知的是,“防误段”能够完整的覆盖到待启动从机唤醒之后出现的第一个总线时钟信号上升沿。而该待启动从机唤醒之后出现的第一个总线时钟信号上升沿,恰好是“假启动指令”可能产生的时机。换言之,在“假启动指令”可能产生的时机当中,唤醒参考信号会始终保持在防误状态当中。
如果在某个时刻,待启动从机识别到唤醒参考信号为防误状态,且系统时钟域时钟信号和系统时钟域数据信号呈现预设形态,则待启动从机识别得到防误信息,也就是识别得到“假启动指令”。此时根据本实施例中机制,待启动从机不对防误信息进行响应,从而避免了识别到“假启动指令”而错误启动。
相反,如果在某个时刻,待启动从机识别到唤醒参考信号为正常状态,且系统时钟域时钟信号和系统时钟域数据信号呈现预设形态,则待启动从机识别得到启动指令。基于I2C通信的原理可以得知,“假启动指令”仅会出现在上述时机当中。所以在唤醒参考信号为正常状态时,系统时钟域时钟信号和系统时钟域数据信号呈现预设形态则必然意味着真实的启动指令。待启动从机将响应于启动指令进行启动。具体的,待启动从机在识别到启动指令后,可以与主机(master)进行地址匹配;当地址匹配成功,待启动从机进行启动,并与主机通信。
通过以上技术方案可知,本实施例存在的有益效果是:向待启动从机输入了带有“防误段”的唤醒参考信号,并且结合唤醒参考信号进行启动指令的识别,从而实现了对于“假启动指令”的分辨,避免了待启动识别到“假启动指令”进而错误启动。
如图5所示,为本发明所述一种基于I2C总线结构的从机启动装置的一个具体实施例。本实施例所述装置,即用于执行图3所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。本实施例中所述装置包括:
参考信号接收模块501,用于接收唤醒参考信号。
总线信号接收模块502,用于从I2C总线接收总线时钟信号和总线数据信号。
信号转换模块503,用于将总线时钟信号转换为系统时钟域时钟信号,将总线数据信号转换为系统时钟域数据信号。
指令识别模块504,用于根据唤醒参考信号、系统时钟域时钟信号和系统时钟域数据信号识别得到启动指令。
启动控制模块505,用于响应于启动指令启动待启动从机。
图6是本发明实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成基于I2C总线结构的从机启动装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本发明任一实施例中提供的基于I2C总线结构的从机启动方法。
上述如本发明图5所示实施例提供的基于I2C总线结构的从机启动装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本发明任一实施例中提供的基于I2C总线结构的从机启动方法,并具体用于执行如图3所示的方法。
前述各个实施例中所述的电子设备可以为计算机。
本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种基于I2C总线结构的从机启动方法,其特征在于,包括:
待启动从机接收唤醒参考信号;
所述待启动从机从I2C总线接收总线时钟信号和总线数据信号,并将所述总线时钟信号转换为系统时钟域时钟信号,将所述总线数据信号转换为系统时钟域数据信号;
当所述待启动从机根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令,则所述待启动从机响应于所述启动指令进行启动。
2.根据权利要求1所述方法,其特征在于,所述待启动从机接收唤醒参考信号包括:
当所述待启动从机满足唤醒条件时,所述待启动从机接收的所述唤醒参考信号为防误状态;
当所述待启动从机不再满足所述唤醒条件时,所述待启动从机接收的所述唤醒参考信号为正常状态。
3.根据权利要求2所述方法,其特征在于,所述待启动从机满足唤醒条件包括:
所述待启动从机被非I2C总线途径唤醒,且所述待启动从机被唤醒后的时长中存在至少n+2个系统时钟上升沿;其中,n为一个总线时钟信号的高电平段内包括的系统时钟上升沿的数量。
4.根据权利要求2所述方法,其特征在于,所述待启动从机根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令包括:
当所述唤醒参考信号为正常状态,且所述系统时钟域时钟信号和所述系统时钟域数据信号呈现预设形态,则所述待启动从机识别得到启动指令。
5.根据权利要求4所述方法,其特征在于,所述系统时钟域时钟信号和所述系统时钟域数据信号呈现预设形态包括:
所述系统时钟域时钟信号保持高电平,同时所述系统时钟域数据信号由高电平转为低电平。
6.根据权利要求4所述方法,其特征在于,还包括:
当所述唤醒参考信号为防误状态,且所述系统时钟域时钟信号和所述系统时钟域数据信号呈现预设形态,则所述待启动从机识别得到防误信息;
所述待启动从机不对所述防误信息进行响应。
7.根据权利要求1~6任意一项所述方法,其特征在于,所述待启动从机响应于所述启动指令进行启动包括:
所述待启动从机在识别到所述启动指令后,与主机进行地址匹配;
当所述地址匹配成功,所述待启动从机进行启动,并与主机通信。
8.一种基于I2C总线结构的从机启动装置,其特征在于,包括:
参考信号接收模块,用于接收唤醒参考信号;
总线信号接收模块,用于从I2C总线接收总线时钟信号和总线数据信号;
信号转换模块,用于将所述总线时钟信号转换为系统时钟域时钟信号,将所述总线数据信号转换为系统时钟域数据信号;
指令识别模块,用于根据所述唤醒参考信号、所述系统时钟域时钟信号和所述系统时钟域数据信号识别得到启动指令;
启动控制模块,用于响应于所述启动指令启动待启动从机。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的基于I2C总线结构的从机启动方法。
10.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7任一所述的基于I2C总线结构的从机启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576269.5A CN115599458B (zh) | 2022-12-09 | 2022-12-09 | 一种基于i2c总线结构的从机启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211576269.5A CN115599458B (zh) | 2022-12-09 | 2022-12-09 | 一种基于i2c总线结构的从机启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115599458A true CN115599458A (zh) | 2023-01-13 |
CN115599458B CN115599458B (zh) | 2023-04-18 |
Family
ID=84852085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211576269.5A Active CN115599458B (zh) | 2022-12-09 | 2022-12-09 | 一种基于i2c总线结构的从机启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599458B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6530029B1 (en) * | 1999-09-23 | 2003-03-04 | National Semiconductor Corporation | I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line |
CN110865959A (zh) * | 2018-08-27 | 2020-03-06 | 上海途擎微电子有限公司 | 一种用于唤醒i2c设备的方法及电路 |
CN111683399A (zh) * | 2020-06-05 | 2020-09-18 | 南京英锐创电子科技有限公司 | 设备唤醒电路、电子设备、唤醒系统以及设备唤醒方法 |
CN112540943A (zh) * | 2020-11-16 | 2021-03-23 | 北京中电华大电子设计有限责任公司 | 一种防止i2c接口错误唤醒soc系统的电路结构及方法 |
-
2022
- 2022-12-09 CN CN202211576269.5A patent/CN115599458B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6530029B1 (en) * | 1999-09-23 | 2003-03-04 | National Semiconductor Corporation | I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line |
CN110865959A (zh) * | 2018-08-27 | 2020-03-06 | 上海途擎微电子有限公司 | 一种用于唤醒i2c设备的方法及电路 |
CN111683399A (zh) * | 2020-06-05 | 2020-09-18 | 南京英锐创电子科技有限公司 | 设备唤醒电路、电子设备、唤醒系统以及设备唤醒方法 |
CN112540943A (zh) * | 2020-11-16 | 2021-03-23 | 北京中电华大电子设计有限责任公司 | 一种防止i2c接口错误唤醒soc系统的电路结构及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115599458B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7639764B2 (en) | Method and apparatus for synchronizing data between different clock domains in a memory controller | |
US20180173665A1 (en) | Hard reset over i3c bus | |
WO2022161244A1 (zh) | 多主机仲裁方法、装置和可读存储介质 | |
US7480812B2 (en) | Microprocessor | |
CN115599458B (zh) | 一种基于i2c总线结构的从机启动方法及装置 | |
US7549009B2 (en) | High-speed PCI interface system and a reset method thereof | |
WO2021214010A1 (en) | Electronic device and method of responding to a trigger to wake up | |
US11157290B2 (en) | Method and circuit for waking up I2C device | |
CN109933418B (zh) | 一种时间戳同步方法、电子设备及异构设备 | |
US7249275B2 (en) | Clock generating device and method for executing overclocking operation | |
CN114548028B (zh) | 进行低功耗设计的方法、电子设备及存储介质 | |
CN104572317A (zh) | 主板及利用主板的基板管理控制器获取时间信息的方法 | |
US7313672B2 (en) | Intellectual property module for system-on-chip | |
CN111897763A (zh) | 控制方法、控制装置、电子设备 | |
CN111158758B (zh) | 一种唤醒中央处理器的方法和装置 | |
JP6595868B2 (ja) | 情報処理システム、デバイス、インタフェース制御方法 | |
JP3166552B2 (ja) | Cpu監視方法及びcpu監視装置 | |
US10719117B2 (en) | Control apparatus configured to control clock signal generation, method for controlling the same, storage medium, and computer system | |
US11907154B2 (en) | Latency and power efficient clock and data recovery in a high-speed one-wire bidirectional bus | |
CN113609030B (zh) | 一种pfr闪存扩展装置及方法 | |
JP2009288953A (ja) | 電子制御装置 | |
CN107133129B (zh) | 一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法 | |
CN117971753A (zh) | 一种通信方法及装置 | |
CN116545465A (zh) | 数据检测方法、设备和通信系统 | |
CN116880327A (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 |