This patent application is based on and claims priority pursuant to 35 U.S.C. § 119(a) to Japanese Patent Application No. 2019-043074, filed on Mar. 8, 2019, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.
The present invention relates to an activation control device, an image forming apparatus, and a method for controlling activation.
In recent years, an image forming apparatus such as a multifunction peripheral (MFP) has been required to reduce power consumption in a standby state. In view of the above, there has been a technique of reducing, in a standby state, power supply for a main central processing unit (CPU) that controls an image forming apparatus and for a random access memory (RAM) storing a program to operate in the main CPU, and reducing power consumption.
Since the operation program for the main CPU needs to be updated regularly, such as real-time clock (RTC), and the main CPU needs to be operated regularly, a sub-CPU for energy savings is provided to regularly activate the main CPU. In addition, the sub-CPU receives activation factors, such as network communication, an operation panel touch, and power button pressing, and activates the main CPU.
For example, in order to improve energy saving performance, there has been a technique in which a snapshot of the operation program of the main CPU loaded in the RAM is stored in a flash memory at the time of shifting to a low power consumption mode, power supply for the main CPU and the RAM is stopped, and in response to activation factors, the snapshot is loaded from the sub-CPU to the RAM to activate the main CPU.
Example embodiments include an activation control device including: a main CPU to be activated at a time based on a set value of an interrupt timer or when an activation factor occurs; and a sub-CPU. The main CPU adjusts the set value such that a total active time of the main CPU per predetermined time approaches a target active time, and based on a determination that adjustment of the set value alone cannot make the total active time approach the target active time, controls not to activate the main CPU for at least a part of the activation factors.
A more complete appreciation of the disclosure and many of the attendant advantages and features thereof can be readily obtained and understood from the following detailed description with reference to the accompanying drawings, wherein:
The accompanying drawings are intended to depict embodiments of the present invention and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In describing embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have a similar function, operate in a similar manner, and achieve a similar result.
Hereinafter, an embodiment will be described with reference to the accompanying drawings. In order to facilitate understanding of the descriptions, the same constituent elements in the drawings are denoted by the same reference signs wherever possible, and duplicate descriptions will be omitted.
The main CPU 2, the sub-CPU 3, the DRAM 4, and the nonvolatile memory 5 are also included in an activation control device 10 that controls activation of the main CPU 2.
At the time of shifting to an energy saving mode, the main CPU 2 temporarily stores a snapshot of the operation program in the nonvolatile memory 5 before stopping the operation, transmits a set value of an interrupt timer to the sub-CPU 3, and stops the main CPU 2 and the DRAM 4.
The sub-CPU 3 activates the main CPU 2 when the interrupt timer or an activation factor is received.
The activation control device 10 according to the embodiment controls activation of the main CPU 2 in such a manner that a total active time of the main CPU 2 per predetermined time becomes equal to or less than a target total active time (hereinafter referred to as “target active time”) at the time of executing the energy saving mode of the main CPU 2 (hereinafter also referred to as “in the energy saving mode”). Accordingly, even in the case where activation factors of the main CPU 2 frequently occur, a decrease in the energy saving performance of the main CPU 2 can be suppressed. The predetermined time may be set according to a system designer, for example, which may correspond to a unit time.
Specifically, the activation control device 10 changes a set value of the interrupt timer depending on an operation status of the main CPU 2. For example, as the total active time of the main CPU 2 increases over the target active time, the set value of the interrupt timer is also increased to increase the interval of activation caused by the interrupt timer.
Furthermore, in a case where the target total active time cannot be achieved only by changing of the set value of the interrupt timer, the activation control device 10 skips activation factors with a low priority level to reduce the activation frequency of the main CPU 2. As a result, the target total active time can be achieved.
Specific operation of the activation control device 10 according to the present embodiment will be described with reference to
As illustrated in
As illustrated in
Furthermore, in a case where the target energy saving performance cannot be achieved only by the adjustment of the polling interval illustrated in
The total active time calculator 21, the target active time calculator 22, the interrupt timer setting value calculator 23, the activation factor setter 24, the notifier 25, and the main CPU starter 26 are functional blocks to be executed by the main CPU 2. The receiver 31, the timer controller 32, the activation factor determiner 33, and the main CPU activation controller 34 are functional blocks to be executed by the sub-CPU 3.
The total active time calculator 21 calculates a total active time of the main CPU 2 per predetermined time (see
The target active time calculator 22 calculates a target active time of the main CPU 2 (see
The interrupt timer setting value calculator 23 (setting value adjuster) adjusts a setting value of the interrupt timer, that is, a polling interval, in such a manner that the total active time of the main CPU 2 per predetermined time approaches the target active time (see
The activation factor setter 24 sets activation of the main CPU 2 to be skipped for at least a part of activation factors in the case where the target active time cannot be achieved only by adjustment of the set value performed by the interrupt timer setting value calculator 23 (see
The notifier 25 transmits, to the sub-CPU 3, an interrupt timer setting value set by the interrupt timer setting value calculator 23, and information associated with the activation factor set by the activation factor setter 24.
The main CPU starter 26 activates the main CPU 2 in response to an activation command from the sub-CPU 3.
The receiver 31 receives information from the notifier 25 of the main CPU 2.
The timer controller 32 controls the activation timing of the main CPU 2 on the basis of the interrupt timer setting value set by the interrupt timer setting value calculator 23.
The activation factor determiner 33 controls the activation timing of the main CPU 2 when an activation factor occurs. Furthermore, the activation factor determiner 33 determines, on the basis of information associated with the activation factor set by the activation factor setter 24, whether to execute or skip activation based on the activation factor when the activation factor occurs.
The main CPU activation controller 34 performs control to activate the main CPU 2 at a timing based on the set value of the interrupt timer, which is controlled by the timer controller 32, and also performs control to activate the main CPU 2 when a predetermined activation factor occurs, which is controlled by the activation factor determiner 33. The main CPU activation controller 34 transmits an activation command to the main CPU starter 26 of the main CPU 2 at a timing when the main CPU 2 should be activated.
Note that, as illustrated in
The activation control program according to the present embodiment is stored in a storage device included in the computer, for example. Note that a part or all of the activation control program may be transmitted via a transmission medium, such as a communication line, received by a communication module or the like included in the computer, and recorded (including installation). Furthermore, a part or all of the activation control program may be recorded (including installation) in the computer from a state of being stored in a portable storage medium, such as a compact disc read-only memory (CD-ROM), a digital versatile disc read-only memory (DVD-ROM), and a flash memory.
A method for controlling activation of the main CPU 2 using the activation control device 10 will be described with reference to
In step S11, the main CPU starter 26 activates the main CPU 2.
In step S12, the total active time calculator 21 calculates a total active time up to the present time within a certain time.
In step S13, the target active time calculator 22 calculates a target total active time (target active time). For example, the target active time for each time is set corresponding to an activation status of a device including the activation control device 10, and the target active time calculator 22 calculates a target active time corresponding to the current time. Accordingly, it becomes possible to set a more appropriate target active time corresponding to a time zone in consideration of a usage frequency of the image forming apparatus 1 that varies depending on a time zone.
As exemplified in
In step S14, the interrupt timer setting value calculator 23 calculates an interrupt timer setting value for the next activation (setting value adjustment step). The interrupt timer setting value calculator 23 compares the current total active time calculated in step S12 with the current target active time calculated in step S13, and adjusts the setting value (polling interval) of the interrupt timer in such a manner that the total active time approaches the target active time depending on the difference between the target active time and the total active time.
In step S15, the activation factor setter 24 determines whether or not the target active time is likely to be achieved only by the adjustment of the interrupt timer setting value in step S14. If the target active time is expected to be achieved (Yes in step S15), the process proceeds to step S17, and if achievement is not expected (No in step S15), the process proceeds to step S16.
In step S16, the activation factor setter 24 determines an activation factor for skipping the next activation (activation factor setting step). Since the target active time cannot be achieved only by the adjustment of the setting value of the interrupt timer as a result of the determination in step S15, the activation factor setter 24 changes the setting of at least a part of the activation factors to skip activation of the main CPU 2 in order to further take measures to achieve the target active time. Upon completion of the processing in step S16, the process proceeds to step S17.
In the example of
In step S17, the notifier 25 notifies the sub-CPU 3 of the next interrupt timer setting value and information associated with the activation factor for skipping activation of the main CPU 2.
In step S18, the main CPU starter 26 turns off the power of the main CPU 2 to stop the main CPU 2, and the present control flow is terminated.
In step S21, the receiver 31 receives the notification from the main CPU 2 transmitted in step S17.
In step S22, the timer controller 32 and the activation factor determiner 33 set the next interrupt timer setting value and the activation factor for skipping activation of the main CPU 2 on the basis of the information associated with the notification received in step S21.
In step S23, the timer controller 32 and the activation factor determiner 33 wait until an interrupt timer timing or a trigger for generating an activation factor comes, and when a trigger occurs, the process proceeds to step S24.
In step S24, if the trigger is activation factor occurrence, the activation factor determiner 33 determines whether or not the activation factor that has occurred is the activation factor for skipping activation set by the activation factor setter 24. In the case of the activation factor to be skipped (Yes in step S24), the process proceeds to step S25. Otherwise (No in step S24), the process proceeds to step S26. Note that the trigger in step S23 is the interrupt timer, the process proceeds to step S26 without performing the determination in step S24.
In step S25, the activation factor determiner 33 stores information associated with the activation factor for skipping activation in a stack. In the case of receiving the activation factor to be skipped, the activation factor determiner 33 saves the information in the stack in the activation control device 10, and the information associated with the activation factor that has saved is transmitted to the main CPU 2 at the time of next interrupt activation so that the processing for the activation factor is executed. Accordingly, the activation factor skipped for achieving the target active time can be reliably executed together with the polling activation S1. Upon completion of the processing in step S25, the process returns to step S23.
In step S26, the main CPU activation controller 34 activates the main CPU 2 in response to an interrupt timer timing or reception of an activation factor for activating the main CPU 2 (activation control step). Upon completion of the processing of step S26, the present control flow is terminated.
In the embodiment described above, activation of the main CPU is controlled even in the case where an activation factor occurs a plurality of times. Therefore, a decrease in energy saving performance can be suppressed.
The present embodiment has been described above with reference to specific examples. However, the present disclosure is not limited to those specific examples. Those in which a person skilled in the art appropriately modifies the design of those specific examples are also included in the scope of the present disclosure as long as the characteristics of the present disclosure are included. Each element included in the specific examples described above, and arrangement, a condition, a shape, and the like of the element are not limited to the described examples, and can be changed as appropriate. Each element included in the specific examples described above can be appropriately combined as long as no technical contradiction occurs.
Although the total active time calculator 21, the target active time calculator 22, the interrupt timer setting value calculator 23, and the activation factor setter 24 have been exemplified as functions to be executed by the main CPU 2 in the embodiment described above, those elements may be executed by the sub-CPU 3.
The above-described embodiments are illustrative and do not limit the present invention. Thus, numerous additional modifications and variations are possible in light of the above teachings. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2019-043074 | Mar 2019 | JP | national |