CN113127063B - 一种操作电路及控制方法 - Google Patents
一种操作电路及控制方法 Download PDFInfo
- Publication number
- CN113127063B CN113127063B CN202011573293.4A CN202011573293A CN113127063B CN 113127063 B CN113127063 B CN 113127063B CN 202011573293 A CN202011573293 A CN 202011573293A CN 113127063 B CN113127063 B CN 113127063B
- Authority
- CN
- China
- Prior art keywords
- data
- circuit
- data block
- block
- blocks
- 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
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06M—COUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
- G06M3/00—Counters with additional facilities
- G06M3/08—Counters with additional facilities for counting the input from several sources; for counting inputs of different amounts
-
- 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种操作电路及控制方法,该操作电路包括一接收电路、一输入电路以及一中央处理器。所述接收电路用以接收一输入数据。所述输入数据具有多个数据区块。所述输入电路读取所述多个数据区块,并判断所述多个数据区块中的一第一数据区块的数据是否与一标头数据相同。当所述第一数据区块的数据与所述标头数据相同时,所述输入电路判断所述数据区块中的一第二数据区块的数据是否与一识别数据相同。当所述第二数据区块的数据与所述识别数据相同时,所述输入电路使能一唤醒信号。当所述唤醒信号被使能时,所述中央处理器退出一睡眠模式,并从所述第一数据区块开始,读取一特定数量的存储区块的数据。所述第二数据区块与所述第一数据区块相邻。
Description
技术领域
本发明涉及电子电路领域,特别涉及一种用以传送数据的操作电路。
背景技术
在一般的操作系统中,大多由一主机给周围的节点(node)发出指令,用以控制节点的操作。每一节点侦测外部数据,并分析该外部数据是否由主机所发出,并且该外部数据是否针对自己。为了避免无法即时根据主机的指令而动作,节点里的所有元件必须处于一正常模式,因而增加节点的功耗。
发明内容
本发明提供一种操作电路,包括一接收电路、一输入电路以及一中央处理器。接收电路用以接收一输入数据。输入数据具有多个数据区块。输入电路读取多个数据区块,并判断多个数据区块中的一第一数据区块的数据是否与一标头数据相同。当第一数据区块的数据与标头数据相同时,输入电路判断多个数据区块中的一第二数据区块的数据是否与一识别数据相同。当第二数据区块的数据与识别数据相同时,输入电路使能一唤醒信号。当唤醒信号被使能时,中央处理器退出一睡眠模式,并从第一数据区块开始,读取一特定数量的存储区块的数据。第二数据区块与第一数据区块相邻。
本发明还提供一种控制方法,包括命令一中央处理器进入一睡眠模式;接收一输入数据,其中输入数据具有多个数据区块;读取数据区块,并判断多个数据区块中的一第一数据区块的数据是否与一标头数据相同,当第一数据区块的数据与标头数据相同时,判断数据区块中的一第二数据区块的数据是否与一识别数据相同,当第二数据区块的数据与识别数据相同时,命令中央处理器退出睡眠模式。在中央处理器退出睡眠模式时,中央处理器从第一数据区块开始,读取一特定数量的存储区块的数据。第二数据区块与第一数据区块相邻。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的操作系统的示意图。
图2为本发明的节点的内部示意图。
图3为本发明的周边装置的示意图。
图4为本发明的封包的格式示意图。
图5为本发明的输入电路的示意图。
图6A为本发明的存储电路所存储的输入数据的示意图。
图6B为本发明的存储电路所存储的预设数据的示意图。
图6C为本发明的存储电路所存储的监控长度数据的示意图。
图6D为本发明的存储电路所存储的封包长度数据的示意图。
图7为本发明的控制方法的一种可能的流程示意图。
附图标号:
100:操作系统;
110:主机;
120、130、140、200:节点;
210:中央处理器;
220、230、240:周边装置;
310:收发装置;
320:传输电路;
311:接收电路;
312:发射电路;
DIN:输入数据;
DOUT:输出数据;
321:输入电路;
322:输出电路;
ITR:唤醒信号;
400:封包;
511~514:存储电路;
520:比对电路;
530:计数电路;
SEN:使能信号;
521:比较器;
522、523:控制电路;
SCM:比较信号;
611~627:数据区块;
DMD:预设数据;
DDL:监控长度数据;
DFL:封包长度数据;
S711~S717:步骤;
SOH、Node_ID、CMD_ID、CMD_Data、CRC-8:栏位。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出实施例,并配合附图,做详细的说明。本发明说明书提供不同的实施例来说明本发明不同实施方式的技术特征。其中,实施例中的各元件的配置仅用以说明,并非用以限制本发明。另外,实施例中附图标号的部分重复,是为了简化说明,并非意指不同实施例之间的关联性。
图1为本发明的操作系统的示意图。如图1所示,操作系统100包括一主机(host)110以及节点120~140。本发明并不限定操作系统100的种类。在一可能实施例中,操作系统100为LoRa网路型态。在本实施例中,主机110以无线方式(wireless)与节点120~140沟通。在其它实施例中,主机110可能与更多或更少的节点沟通。在一些实施例中,主机110通过不同的连接线(cable),连接节点120~140。
节点120~140根据主机110所发出的数据而动作。当节点120~140长时间未接收到主机110的数据时,节点120~140里的部分元件(如中央处理器)可能进入一睡眠模式(sleep mode),用以节省功耗。一旦节点120~140接收到指令,节点120~140里的元件立即退出睡眠模式,并进入一正常模式。
然而,节点120~140所接收到的数据可能为一噪声,而不是由主机110所发出。再者,节点120~140可能接收到其它节点的数据。举例而言,当主机110发出一指令时,节点120~140都会分析判断该指令是否针对自己。以节点120为例,在主机110发出一指令后,节点120接收并分析来自主机110的指令。然而,在分析后,节点120才知道这指令是要给节点130的。因此,节点120不根据此指令而动作。然而,由于节点120~140持续解析数据,故节点120~140无法进入睡眠模式。
在本实施例中,节点120~140具有一比对功能,用以过滤噪声,并侦测外部数据是否含有特定识别数据(ID)。以节点120为例,当节点120接收到的数据具有特定的识别数据时,节点120里的元件由一睡眠模式回到一正常模式。如果节点120接收到的数据不具有特定识别数据时,节点120里的元件停留在睡眠模式。
图2为本发明的节点的内部示意图。由于节点120~140的架构相同,故图2仅显示单一节点的架构。如图2所示,节点200为一种操作电路,其包括一中央处理器(CPU)210、周边装置(peripheral device)220、周边装置230及周边装置240。在本实施例中,周边装置230为一传输装置,用以接收一外部装置(如主机110)所提供的数据,或是给外部装置提供数据。在一可能实施例中,周边装置230为一通用非同步收发传输器(UniversalAsynchronous Receiver/Transmitter;UART)。在其它实施例中,节点200具有其它种类的传输装置,如I2C。
中央处理器210根据周边装置230所接收到的数据,进行处理。在处理的过程中,中央处理器210可能利用周边装置220及周边装置240进行数据运算或传送。因此,任何可供中央处理器210使用的装置均可作为周边装置220及周边装置240。
图3为本发明的周边装置230的示意图。如图3所示,周边装置230包括一收发装置310以及一传输电路320。在本实施例中,收发装置310为一无线模组(wireless module),并包括一接收电路311以及一发射电路312。接收电路311用以接收输入数据DIN,并提供输入数据DIN至传输电路320。在一可能实施例中,输入数据DIN由主机110所提供。发射电路312以无线方式输出传输电路320所提供的输出数据DOUT。在一可能实施例中,发射电路312提供输出数据DOUT至主机110。在其它实施例中,收发装置310利用一连接线,接收来自主机110的输入数据DIN,并利用该连接线提供输出数据DOUT至主机110。
传输电路320包括一输入电路321以及一输出电路322。输入电路321接收并处理输入数据DIN。在一可能实施例中,输入电路321先收集输入数据DIN,并在输入数据DIN的数量足够时,再提供输入数据DIN至中央处理器210。在其它实施例中,输入电路321具有一错误校正功能,其根据输入数据DIN里的错误校正码,校正输入数据DIN,并将校正后的结果提供至中央处理器210。
输出电路322接收并处理中央处理器210所产生的输出数据DOUT。在一可能实施例中,输出电路322先收集输出数据DOUT,并在输出数据DOUT的数量足够时,再提供至发射电路312。
在本实施例中,输入电路321判断输入数据DIN是否含有一特定识别数据,若有,输入电路321使能一唤醒信号ITR,用以通知中央处理器210准备接收数据。然而,当输入数据DIN不具有特定识别数据时,输入电路321不使能唤醒信号ITR。因此,中央处理器210停留在睡眠模式。在一可能实施例中,输入电路321先判断输入数据DIN是否含有一标头数据。若有,输入电路321才判断输入数据DIN是否含有特定识别数据。在一可能实施例中,当输入数据DIN具有标头数据及特定识别数据时,特定识别数据紧随于标头数据之后。
在一可能实施例中,当唤醒信号ITR被使能时,中央处理器210退出一睡眠模式,并从输入数据DIN中,读取标头数据及标头数据后的一特定数量的数据(含特定识别数据)。在此例中,中央处理器210读取一完整的封包数据,其中封包数据的起始数据为标头数据。
图4为本发明的封包的格式示意图。如图4所示,完整的封包400包括一标头栏位(Start of heading field)SOH、一识别栏位Node_ID、一指令栏位CMD_ID、一数据栏位CMD_Data以及一检验码栏位CRC-8。在本实施例中,每一栏位的数据长度与一位组(byte)的数据长度相同。因此,封包400由五位组所构成,但并非用以限制本发明。在其它实施例中,标头栏位SOH、识别栏位Node_ID、指令栏位CMD_ID、数据栏位CMD_Data以及检验码栏位CRC-8中的至少一个的数据长度等于二位组的数据长度或等于多位组的数据长度。在此例中,封包400由更多的位组所构成。
标头栏位SOH里的数据称为一标头数据,用以表示一封包的起始。识别栏位Node_ID里的数据称为一识别数据。主机透过此栏位指定特定节点。举例而言,当识别栏位Node_ID里的数据为0100 0001时,表示主机指定节点120。当识别栏位Node_ID里的数据为01000010时,表示主机指定节点130。
指令栏位CMD_ID用以表示主机所输出的指令的种类。举例而言,当指令栏位CMD_ID的数据为0000 0011时,表示主机想要改变节点的回报间隔时间。数据栏位CMD_Data用以表示主机所提供的数据。举例而言,当数据栏位CMD_Data的数据为0000 0010时,表示主机希望节点的回报间隔时间为2秒。检验码栏位CRC-8的数据作为一错误校正码。节点120根据检验码栏位CRC-8的数据,得知封包400的数据是否有误。
图5为本发明的输入电路321的示意图。如图5所示,输入电路321包括存储电路511~514、一比对电路520以及一计数电路530。存储电路511用以存储输入数据DIN的数据。在本实施例中,输入数据DIN具有多个数据区块。在一可能实施例中,存储电路511为一先进先出缓冲器(First Input First Output buffer)。
在本实施例中,存储电路512用以存储多个预设数据,其中该多个预设数据包括一标头数据及一识别数据。本发明并不限定存储电路512的架构。在一可能实施例中,存储电路512为一暂存器(register)。在其它实施例中,存储电路512为一静态随机存取存储器(SRAM)。在此例中,静态随机存取存储器可能独立于输入电路321之外,并且由中央处理器210所存取。
存储电路513用以存储一监控长度数据。监控长度数据表示比对电路520需监控存储电路511里的几笔数据。举例而言,如果监控长度数据为数值2,表示比对电路520对于存储电路511及存储电路512的数据,需进行2次的比对操作,用以监控输入数据DIN的两数据区块里的数据是否符合存储电路512的数据。
存储电路514用以存储一封包长度数据。封包长度数据用以表示一封包的长度(frame length)。以图4的封包400为例,由于封包400的数据长度为五个位组的数据长度,故存储电路514的封包长度数据为数值5。在其它实施例中,如果图4的封包400的数据长度为八个位组的数据长度,则存储电路514的封包长度数据为数值8。
在一些实施例中,存储电路512~514的数据为事先写入,而存储电路511的数据由接收电路311所写入。设计人员可根据实际需求,先设定存储电路512~514的数值。本发明并不限定存储电路512~514的种类。在一可能实施例中,存储电路512~514均为暂存器。
比对电路520根据存储电路512~514所存储的数据,监控存储电路511的输入数据DIN。在本实施例中,比对电路520对输入数据DIN与存储电路512的数据进行一比对操作。当输入数据DIN的一第一数据区块的数据与存储电路512里的标头数据相同时,比对电路520产生一使能信号SEN。计数电路530根据使能信号SEN,开始计数。
在产生使能信号SEN后,比对电路520继续比对存储电路511与存储电路512的数据,用以判断第一数据区块后的第二数据区块的数据是否与存储电路512的一识别数据相同。在一可能实施例中,第二数据区块与第一数据区块相邻。
当存储电路511的输入数据DIN的第二数据区块的数据与存储电路512的识别数据相同时,比对电路520使能唤醒信号ITR,用以唤醒中央处理器210。在一可能实施例中,中央处理器210根据唤醒信号ITR撷取存储电路511所存储的一特定数量的数据区块的数据。在本实施例中,当每一封包的数据长度为五位组的数据长度时,中央处理器210从第一数据区块开始,一共读取五数据区块的数据(含第一数据区块)。在此例中,每一数据区块的长度与一位组的数据长度相同。
在本实施例中,比对电路520为一位组比对电路。当中央处理器210进入睡眠模式时,比对电路520根据存储电路512所存储的预设数据,比对输入数据DIN,并根据存储电路513所存储的长度数据,得知要监控的数据区块的数量,并根据存储电路514所存储的封包长度数据,得知每个封包的长度,用以过滤掉噪声以及不属于中央处理器210的数据。当比对电路520得知输入数据DIN符合存储电路512的预设数据时,便唤醒中央处理器210进行后续运算。如果输入数据DIN不符合存储电路512的预设数据时,比对电路520过滤掉该输入数据DIN。此时,中央处理器210继续停留在睡眠模式。
本发明并不限定比对电路520的架构。在一可能实施例中,比对电路520包括一比较器521、控制电路522及控制电路523。比较器521比较存储电路511与存储电路512的数据,用以产生一比较信号SCM。在一可能实施例中,比较器521为一8位比较器(digitalcomparator)。在此例中,比较器521将存储电路511里的8位数据(即一存储区块的数据)与存储电路512里的8位数据进行比较,用以产生一比较信号SCM。
控制电路522根据比较信号SCM,得知存储电路511所存储的数据是否等于存储电路512的数据。当存储电路511的写入数据DIN的一第一数据区块(或称第一数据区块)的数据等于存储电路512的标头数据时,控制电路522产生使能信号SEN,用以使能计数电路530。此外,控制电路522读取存储电路513的长度数据,用以得知需监控几个数据区块。举例而言,如果长度数据为数值2,则控制电路522监控输入数据DIN的两数据区块。
另外,在产生使能信号SEN后,每当比较器521输出一比较信号SCM时(也就是比较器521完整读取了输入数据DIN的一数据区块的数据),控制电路522产生一触发脉冲。计数电路530根据触发脉冲的数量,调整本身的计数值。当触发脉冲的数量达一目标值时,表示比较器521已读取了特定数量的数据区块。因此,计数电路530暂停计数。
本发明并不限定计数电路530如何判断控制电路522所输出的触发脉冲的数量已达一目标值。在一可能实施例中,计数电路530读取存储电路514的封包长度数据,并将本身的计数值与存储电路514的封包长度数据作比较。当计数电路530的计数值未达存储电路514的封包长度数据时,表示未达目标值。因此,计数电路530通知控制电路523。控制电路523根据计数电路530的通知,使能比较器521,使得比较器521继续比对输入数据DIN的下一数据区块。然而,当计数电路530的计数值达存储电路514的封包长度数据时,计数电路530停止计数,并告知控制电路523,使得控制电路523暂停比较器521的动作。此时,计数电路530也通知控制电路522。在一可能实施例中,控制电路522重置计数电路530,使得计数电路530的计数值回到一初始值(如0)。本发明并不限定计数电路530的架构。在一可能实施例中,计数电路530具有一上数计数器(up counter)或是一下数计数器(down counter)。
在本实施例中,比对电路520不会进入睡眠模式。因此,当输入数据DIN被写入存储电路511时,比对电路520可立即进行比对动作。在其它实施例中,比对电路520随着中央处理器210一起进入睡眠模式。在此例中,当接收电路(如图3的311)将输入数据DIN存入存储电路511时,接收电路通知控制电路523。此时,控制电路523使能比较器521(相当于唤醒比较器521),比较器521开始比对输入数据DIN。当比较器521输出比较信号SCM时,控制电路522退出睡眠模式,并根据比较信号SCM,决定是否唤醒中央处理器210。在另一可能实施例中,当存储电路511所存储的数据足够时,存储电路511发出一通知信号至控制电路523,用以唤醒控制电路523。
图6A为存储电路511所存储的输入数据DIN的示意图。如图6A所示,输入数据DIN具有数据区块611~623。在本实施例中,数据区块611~623中的每一个的数据长度均与一位组的数据长度相同。
图6B为存储电路512所存储的预设数据DMD的示意图。如图6B所示,预设数据DMD具有数据区块624及数据区块625。在本实施例中,数据区块624的数据00000001为一标头数据,用以表示一封包数据的起始。另外,数据区块625的数据01000001为一识别数据。
图6C为存储电路513所存储的监控长度数据DDL的示意图。如图6C所示,监控长度数据DDL包括数据区块626。在本实施例中,数据区块626的数据0000 0010表示比对电路520需将存储电路511的两数据区块的数据分别与存储电路512的数据区块624及数据区块625的数据进行比对。
图6D为存储电路514所存储的封包长度数据DFL的示意图。如图6D所示,封包长度数据DFL包括数据区块627。在本实施例中,数据区块627的数据0000 0101表示每一封包由5个数据区块所构成。在一可能实施例中,当中央处理器210被唤醒时,中央处理器210读取5个数据区块的数据。
本发明并不限定图6B的预设数据DMD、图6C的监控长度数据DDL及图6D的封包长度数据DFL的数据区块的数量。在一可能实施例中,图6B的预设数据DMD、图6C的监控长度数据DDL及图6D的封包长度数据DFL由其它数量的数据区块所构成。另外,本发明并不限定数据区块624~627的数据长度。在其它实施例中,数据区块624~627的数据长度与两位组的数据长度相同或是与更多位组的数据长度相同。
在本实施例中,当一接收电路(如311)将输入数据DIN写入存储电路511时,接收电路311或存储电路511通知控制电路523。因此,控制电路523使能比较器521。比较器521判断输入数据DIN的数据区块611的数据0000 0001是否与预设数据DMD的数据区块624的数据0000 0001(即标头数据)相同,并将比对结果告知控制电路522。由于数据区块611的数据与数据区块624的数据相同,故控制电路522触发计数电路530。此时,计数电路530的计数值可能由数值0改变至数值1。
控制电路522判断计数电路530的计数值是否等于存储电路513里的监控长度数据DDL的数据区块626的数据0000 0010。由于计数电路530的计数值(1)不等于数据区块626数据,故控制电路522暂不唤醒中央处理器210。
计数电路530读取存储电路514的封包长度数据DFL,用以判断本身的计数值(1)是否已达一目标值。由于计数值(如1)不等于封包长度数据DFL的数据区块627的数据00000101,故计数电路530要求控制电路523继续使能比较器521,使得比较器521继续读取存储电路511的下一数据区块(如612)的数据。
在本实施例中,比较器521将输入数据DIN的数据区块612的数据0100 0010与预设数据DMD的数据区块625的数据0100 0001(即识别数据)相比较。由于数据区块612的数据不同于数据区块625的数据,表示目前的输入数据DIN并不是要给中央处理器210。因此,控制电路522不唤醒中央处理器210。不过,由于比较器521已读取数据区块612的完整数据,故控制电路522发出一触发脉冲至计数电路530。此时,计数电路530的计数值由1改变至2。由于计数电路530的计数值(2)与监控长度数据DDL的数据区块626的数据0000 0010相同,故控制电路522不再判断比较器521的比较信号SCM是否符合一预设位准。
然而,由于计数电路530的计数值(2)不同于封包长度数据DFL的数据区块627的数据0000 0101,故计数电路530仍要求控制电路523继续使能比较器521。因此,比较器521继续读取输入数据DIN的数据区块613的数据,并产生一比较信号SCM至控制电路522。控制电路522再产生一触发脉冲至计数电路530。此时,计数电路530的计数值由数值2改变至数值3。由于计数电路530的计数值(3)仍不等于封包长度数据DFL,因此,计数电路530要求控制电路523继续使能比较器521,使得比较器521继续读取输入数据DIN的数据区块614,直到计数电路530的计数值等于封包长度数据DFL。
在比较器521读取输入数据DIN的数据区块615后,计数电路530的计数值等于数值5。此时,由于计数电路530的计数值(5)等于封包长度数据DFL,表示比较器521已完整读取一封包的数据。因此,计数电路530停止计数。在一可能实施例中,控制电路522重置计数电路530的计数值,使其回复到一初始值(如0)。
由于存储电路511还有数据未被比对,故存储电路511可能触发控制电路523,使得比较器521继续比对输入数据DIN的数据区块616。在本实施例中,由于输入数据DIN的数据区块616~618的数据均不等于预设数据DMD的数据区块624的数据00000001,故控制电路522不触发计数电路530。此时,计数电路530不动作。
在比较器521比对输入数据DIN的数据区块619的数据与预设数据DMD的数据区块624的数据时,由于数据区块619与624的数据相同,故控制电路522触发计数电路530,使得计数电路530的计数值由数值0改变至数值1。在此例中,由于计数电路530的计数值(1)不等于监控长度数据DDL,故控制电路522继续判断比较器521所输出的比较信号SCM是否相符一预设位准(如高位准)。在一可能实施例中,当存储电路511与512的数据相同时,比较器521输出高位准。然而,当存储电路511与512的数据不同时,比较器521输出低位准。
接着,比较器521判断输入数据DIN的数据区块620的数据是否相同于预设数据DMD的数据区块625的数据。由于数据区块620与625的数据相同,表示目前的封包系针对中央处理器210,故控制电路522使能唤醒信号ITR,用以唤醒中央处理器210。
在中央处理器210被唤醒后,中央处理器210读取输入数据DIN的数据区块619~623。在一可能实施例中,当比较器521读取完数据区块623的数据后,控制电路522才会产生唤醒信号ITR予中央处理器210。
假设,控制电路522一发现输入数据DIN具有特定识别数据时,便立即使能唤醒信号ITR。在此例中,当中央处理器210接收到唤醒信号ITR后,中央处理器210从输入数据DIN的数据区块619开始,读取一特定数量的数据区块的数据。所述特定数量与每一封包的数据长度有关。以第4图为例,由于封包400由五位组所构成。因此,一旦中央处理器210被唤醒,中央处理器210便读取五个数据区块(即619~623)的数据。
图7为本发明的控制方法的一可能流程示意图。本发明的控制方法适用于图1的节点120、节点130及节点140中。为方便说明,以下内容以节点120为例。首先,命令一中央处理器进入一睡眠模式(步骤S711)。在一可能实施例中,当节点120长时间未接收来自主机110的数据时,节点120内部的中央处理器自动进入一睡眠模式。
接着,接收一输入数据(步骤S712)。在一可能实施例中,节点120利用一有线方式或是一无线方式接收输入数据,并将输入数据写入一第一存储电路(如图5的存储电路511)。在本实施例中,输入数据具有多个数据区块。在一可能实施例中,每一数据区块的数据长度等于一位组的数据长度。
然后,读取所述多个数据区块,用以判断所述多个数据区块中的一第一数据区块的数据是否符合一标头数据(步骤S713)。在一可能实施例中,标头数据事先存储于一第二存储电路(如图5的存储电路512)中。在其它实施例中,一识别数据也事先写入第二存储电路中。
当第一数据区块的数据与标头数据相符时,触发一计数器(步骤S714)。在本实施例中,第一数据区块与标头数据的长度均与一位组的数据长度相同。在其它实施例中,第一数据区块及标头数据的长度为两位组的长度。另外,本发明并不限定计数器的种类。计数器可能是一上数计数器或是一下数计数器。
接着,判断所述多个数据区块中的一第二数据区块的数据是否符合一识别数据(步骤S715)。在一可能实施例中,步骤S715先判断目前的比对次数是否等于一监控长度数据。所述监控长度数据事先存储在一第三存储电路(如图5的存储电路513)中。监控长度数据表示节点120需要对第一及第二存储电路中的数据进行几次的比对操作。举例而言,如果监控长度数据为数值2,表示节点120需比对第一存储电路里的两数据区块的数据。此两数据区块可能彼此相邻。
当第二数据区块的数据与识别数据不符时,继续读取输入数据的其它数据区块的数据。在本实施例中,每当一数据区块的数据被读取时,便调整计数器的计数值,直到计数器的计数值等于一封包长度数据(步骤S716)。当计数值等于封包长度数据(即一目标值)时,重置计数器的计数值。在一可能实施例中,所述封包长度数据事先写入于一第四存储电路(如图5的存储电路514)中。在此例中,封包长度数据表示一封包的数据长度。
当第二数据区块的数据与识别数据相符时,唤醒中央处理器(步骤S717)。在一可能实施例中,在第二数据区块的数据为识别数据时,立即命令中央处理器退出睡眠模式。此时,中央处理器从第一数据区块开始,读取一特定数量的存储区块的数据。以图6A为例,如果一完整的封包具有五数据区块,则中央处理器读取数据区块619~623。
在另一可能实施例中,当第二数据区块的数据与识别数据相符时,暂不唤醒中央处理器。在此例中,当一完整的封包(即数据区块619~623的数据)被写入第一存储电路后,才唤醒中央处理器,并重置计数器。
本发明的控制方法,或特定型态或其部份,可以以程序码的型态存在。程序码可存储于存储介质,如软盘、光盘、硬盘、或是任何其他机器可读取(如计算机可读取)存储介质,亦或不限于外在形式的计算机程序,其中,当程序码被机器,如计算机载入且执行时,此机器变成用以参与本发明的周边装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一与应用特定逻辑电路的操作相类似的独特装置。
除非另作定义,在此所有词汇(包含技术与科学词汇)均属本发明所属技术领域中的技术人员的一般理解。此外,除非明白表示,词汇于一般字典中的定义应解释为与其相关技术领域的文章中意义一致,而不应解释为理想状态或过分正式的语态。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域的技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰。举例来,本发明实施例所述的系统、装置或是方法可以硬件、软件或硬件以及软件的组合的实体实施例加以实现。因此本发明的保护范围当以权利要求所限定的保护范围为准。
Claims (10)
1.一种操作电路,其特征在于,包括:
一接收电路,用以接收一输入数据,所述输入数据具有多个数据区块;
一输入电路,读取所述多个数据区块,并判断所述多个数据区块中的一第一数据区块的数据是否与一标头数据相同,当所述第一数据区块的数据与所述标头数据相同时,所述输入电路判断所述多个数据区块中的一第二数据区块的数据是否与一识别数据相同,当所述第二数据区块的数据与所述识别数据相同时,所述输入电路使能一唤醒信号;以及
一中央处理器,当所述唤醒信号被使能时,所述中央处理器退出一睡眠模式,并从所述第一数据区块开始,读取一特定数量的存储区块的数据,其中所述第二数据区块相邻所述第一数据区块,当所述第一数据区块的数据不用于所述标头数据时,所述输入电路过滤掉所述第一数据区块的数据。
2.根据权利要求1所述的操作电路,其特征在于,所述第一数据区块及第二数据区块的数据长度均与一字节的数据长度相等。
3.根据权利要求1所述的操作电路,其特征在于,所述输入电路包括:
一第一存储电路,用以存储所述多个数据区块的数据;
一比对电路,读取所述第一存储电路,用以对所述第一存储电路所存储的所述多个数据区块的数据进行一比对操作,其中所述比对电路判断所述第一数据区块的数据是否与所述标头数据相同,当所述第一数据区块的数据与所述标头数据相同时,产生一使能信号;以及
一计数电路,根据所述使能信号,开始计数;
其中:
在产生所述使能信号后,所述比对电路继续读取所述第一存储电路,用以取得所述第一数据区块后的其它数据区块的数据;
每当所述比对电路取得所述第一数据区块后的一数据区块的数据时,所述比对电路产生一触发脉冲,所述计数电路计数所述触发脉冲的数量。
4.根据权利要求3所述的操作电路,其特征在于,当所述触发脉冲的数量达到一目标值时,所述比对电路重置所述计数电路。
5.根据权利要求3所述的操作电路,其特征在于,所述比对电路判断所述第二数据区块的数据是否与所述识别数据相同,当所述第二数据区块的数据与所述识别数据相同时,所述比对电路使能所述唤醒信号,使得所述中央处理器从所述第一数据区块开始,读取所述特定数量的存储区块的数据。
6.根据权利要求5所述的操作电路,其特征在于,当所述第二数据区块的数据与所述识别数据不同时,所述比对电路不使能所述唤醒信号。
7.根据权利要求3所述的操作电路,其特征在于,还包括:
一第二存储电路,用以存储多个预设数据,其中所述多个预设数据包括所述标头数据及所述识别数据;
一第三存储电路,用以存储一监控长度数据,其中所述比对电路根据所述监控长度数据,比对所述第一存储电路及第二存储电路的数据。
8.根据权利要求7所述的操作电路,其特征在于,更包括:
一第四存储电路,用以存储一封包长度数据,其中所述特定数量与所述封包长度数据有关。
9.根据权利要求7所述的操作电路,其特征在于,所述第二存储电路为一静态随机存取存储器,所述静态随机存取存储器独立于所述输入电路之外,并且所述中央处理器存取所述静态随机存取存储器。
10.一种控制方法,其特征在于,包括:
命令一中央处理器进入一睡眠模式;
接收一输入数据,其中所述输入数据具有多个数据区块;
读取所述多个数据区块,并判断所述多个数据区块中的一第一数据区块的数据是否与一标头数据相同;
当所述第一数据区块的数据不用于所述标头数据时,过滤掉所述第一数据区块的数据;
当所述第一数据区块的数据与所述标头数据相同时,判断所述多个数据区块中的一第二数据区块的数据是否与一识别数据相同;
当所述第二数据区块的数据与所述识别数据相同时,命令所述中央处理器退出所述睡眠模式;
其中,在所述中央处理器退出所述睡眠模式时,所述中央处理器从所述第一数据区块开始,读取一特定数量的存储区块的数据,所述第二数据区块与所述第一数据区块相邻。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108148542A TWI726561B (zh) | 2019-12-31 | 2019-12-31 | 操作電路及控制方法 |
TW108148542 | 2019-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127063A CN113127063A (zh) | 2021-07-16 |
CN113127063B true CN113127063B (zh) | 2023-06-16 |
Family
ID=76772231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011573293.4A Active CN113127063B (zh) | 2019-12-31 | 2020-12-25 | 一种操作电路及控制方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113127063B (zh) |
TW (1) | TWI726561B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693149B2 (en) * | 2000-05-24 | 2010-04-06 | Alcatel-Lucent Usa Inc. | Programmable packet processor with flow resolution logic |
TW201025917A (en) * | 2008-12-30 | 2010-07-01 | Ralink Technology Corp | Method and apparatus of awaking a communication device |
US9479464B1 (en) * | 2002-08-27 | 2016-10-25 | Hewlett Packard Enterprise Development Lp | Computer system and network interface with hardware based packet filtering and classification |
TW201729034A (zh) * | 2015-12-18 | 2017-08-16 | 英特爾Ip公司 | 用於極端深度睡眠狀態之安全機制 |
CN109739563A (zh) * | 2018-12-29 | 2019-05-10 | 龙芯中科技术有限公司 | 终端的控制方法、装置、系统及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4530806B2 (ja) * | 2004-11-05 | 2010-08-25 | 富士通株式会社 | パケット伝送装置 |
US8090905B2 (en) * | 2009-03-27 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format |
US20190090189A1 (en) * | 2017-09-21 | 2019-03-21 | Qualcomm Incorporated | Wake-up message generation and decoding |
-
2019
- 2019-12-31 TW TW108148542A patent/TWI726561B/zh active
-
2020
- 2020-12-25 CN CN202011573293.4A patent/CN113127063B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693149B2 (en) * | 2000-05-24 | 2010-04-06 | Alcatel-Lucent Usa Inc. | Programmable packet processor with flow resolution logic |
US9479464B1 (en) * | 2002-08-27 | 2016-10-25 | Hewlett Packard Enterprise Development Lp | Computer system and network interface with hardware based packet filtering and classification |
TW201025917A (en) * | 2008-12-30 | 2010-07-01 | Ralink Technology Corp | Method and apparatus of awaking a communication device |
TW201729034A (zh) * | 2015-12-18 | 2017-08-16 | 英特爾Ip公司 | 用於極端深度睡眠狀態之安全機制 |
CN109739563A (zh) * | 2018-12-29 | 2019-05-10 | 龙芯中科技术有限公司 | 终端的控制方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113127063A (zh) | 2021-07-16 |
TW202127251A (zh) | 2021-07-16 |
TWI726561B (zh) | 2021-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6049885A (en) | Method and apparatus for allowing a remote node to awaken a sleeping node of a network | |
US11726946B2 (en) | I2C bus communication control method, device and system, and readable storage medium | |
US8042023B2 (en) | Memory system with cyclic redundancy check | |
CN107534592B (zh) | 用于保护数据总线收发器的配置数据的方法、数据总线收发器和数据总线系统 | |
US20140068134A1 (en) | Data transmission apparatus, system, and method | |
US5553302A (en) | Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data | |
JP5082580B2 (ja) | メモリシステム、メモリコントローラ、制御方法及び制御プログラム | |
CN114328316A (zh) | Dma控制器、soc系统及基于dma控制器的数据搬运方法 | |
CN113127063B (zh) | 一种操作电路及控制方法 | |
US7424348B2 (en) | System and method for monitoring serially-connected devices | |
KR20110003726A (ko) | Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치 | |
CN110635854B (zh) | 一种传输协议自适应解码系统及方法 | |
US10581555B2 (en) | Information processing device and burst error reproducing method | |
CN116126754A (zh) | 用于内存访问的集成电路、处理方法、电子设备和介质 | |
CN115904888A (zh) | 一种告警方法、计算设备及存储介质 | |
US20240143064A1 (en) | System-on-chip, environmental monitoring device comprising the system-on-chip, and control system | |
JP7521837B1 (ja) | 処理システム、処理方法、およびプログラム | |
WO2024190403A1 (ja) | 半導体装置、およびそれを備えた情報処理装置 | |
CN113990369A (zh) | 一种存储器的数据刷新方法、系统、设备以及介质 | |
JP2695847B2 (ja) | ループ式通信装置 | |
CN116860327A (zh) | 传感器数据的获取方法及装置、存储介质及电子装置 | |
CN116301272A (zh) | 服务器、服务器上电管理系统及方法 | |
CN118656092A (zh) | 文件传输方法、装置、设备以及存储介质 | |
KR20000039742A (ko) | 에이티엠 셀 버스 모니터링 방법 | |
CN112346922A (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 |