1.3 Enter and Exit Duty-Cycle Mode
1.3.1 Enter Duty-Cycle Mode
After chip initialization, in the configuration stage, the related registers are configured then the chip enters Duty-Cycle mode. It
should be noted that the configuration should be done in STBY state and a manual switching to SLEEP should be performed to
ensure the chip runs according to the Duty-Cycle Mode configuration.
1.3.2 Exit Duty-Cycle Mode
In non-automatic Duty-Cycle mode, the system will always stop at a certain state and wait for the MCU to operate. At this time,
the MCU can switch the system back to STBY, then reconfigure a few relevant registers according to the configuration flow
discussed earlier to exit Duty-Cycle mode.
In the fully automatic Duty-Cycle mode, the MCU does not know exact chip operating state, therefore it needs a reliable
mechanism for the MCU to exit the automatic running state and switch back to manual control mode.
Assuming that after the initialization configuration as mentioned above, the CMT2219B enters fully automatic Duty-Cycle mode.
To exit this mode, the following register operations are needed.
1. Set DC_PAUSE to 1. There are several possibilities.
a) If it's currently in RX state, it will enter STBY.
b) If it's currently in SLEEP state, it will wait for the sleep timer time out then return to the STBY.
c) If it's currently in TUNE state, it will go to RX state first, then switch according to the principles discussed above .
2. Regardless of the possibilities, the MCU can scan the CHIP_MODE_STA<3:0> register until it is confirmed the chip enters
STBY.
3. Reconfigure the Duty-Cycle related registers to turn off the fully automatic mode (other registers can be configured as well).
Set DC_PAUSE to 0 after the configuration completes, otherwise the chip cannot enter SLEEP.
4. Send the go_sleep command to make the configuration take effect. At this time, the system will stay in SLEEP and wait for
further operation from MCU.
After setting DC_PAUSE to 1, it waits sleep timer time out before entering STBY. The reason for doing so is to make sure the chip
exits fully automatic mode securely. Otherwise, if the system exits fully automatic mode at any time when receiving the command,
it can hardly ensure reliability. In case a too long sleep time is set and users don't want to wait for such a long time to exit, a
second method is supported as follows.
1. Set CONF_RETAIN to 1 (If it is already set in the initialization configuration, no need to set again). Make sure
SLEEP_BYPASS_EN is set to 0.
2. Send a soft reset or an external reset.
3. Scan the CHIP_MODE_STA<3:0> registers until the chip is in the SLEEP state.
4. Send the go_stby command immediately to switch the chip to STBY mode.
5. Do related configuration then send go_sleep.
This method does not use the DC_PAUSE register, since the MCU surely knows that the chip enters the SLEEP state after
initialization and can send go_stby command. In other words, when the MCU cannot completely determine the chip state, it
should not send go_* commands for manual switching, otherwise, it cannot ensure reliability and possibly causes chip crash.
The first method is used in general while the second one is per special requirements. For both methods, make sure the
CMT2219B already enters fully automatic Duty-Cycle mode, then performs the operations, otherwise operation errors will occur.