This disclosure relates to wireless communication systems. In particular, this disclosure relates to determining when to wake up a processor in a mobile station.
Continual development and rapid improvement in wireless communications systems have placed increased demands on manufactures of mobile stations (e.g. pagers, cell phones, smartphones, and other wireless devices) to operate with improved performance, in part to reduce power consumption and extend battery life. One way to save power is to place the mobile station's application processor into a “sleep mode” (i.e., power-saving mode), which reduces battery consumption while the processor is in sleep mode. For example, when a user stops interacting with a mobile station, the mobile station can take advantage of the inactivity by placing the processors that ordinarily handle the user interactions into a power-saving sleep mode.
Wireless devices depend on wireless signals for communication, and the mobile station monitors the status of these wireless signals, for example by determining a Received Signal Strength Indicator (RSSI). When the mobile station is on the threshold of coverage (e.g., when a low signal level is received at the mobile station), the processors may be kept “awake” as the mobile station toggles between an “in-service” condition and a “not-in-service” condition. Toggling between conditions may occur because each time the mobile station detects signal coverage, it reports an in-service condition to a processor.
Reporting an in-service condition to the processor may wake-up the processor so that it may perform tasks such as background data transmission. However, because the mobile station is on the threshold of coverage, the mobile station may not be able to reliably transmit background data over the wireless link. Even though the mobile station cannot reliably perform background data transmission, the processor is nonetheless kept awake while the mobile station toggles between an in-service condition and a not-in-service condition. Thus, while the mobile station toggles between the in-service condition and the not-in-service condition, the mobile station is not able to take advantage of the processor's power-saving sleep mode.
The system may be better understood with reference to the following drawings and description. In the figures, like reference numerals designate corresponding parts throughout the different views.
Still referring to
The application processor 104 and/or modem processor 106 may operate in a power-saving mode (or “sleep mode”). In the sleep mode, either processor may perform few functions, perform them more slowly, power down certain section of the processor, or otherwise operate in a reduced functionality mode. The reduced functionality mode may use less power and extend the battery life of mobile station 100. For example, the application processor 104 may enter sleep mode based on a determination that sleep mode is appropriate because a user has stopped interacting with the user interface 120, because no background data processing is scheduled, and/or because data networking functions are no longer possible or desired. Once the user beings interacting with the user interface 120, background data processing is scheduled, or data networking functions are possible or desired, the application processor 104 may exit sleep mode and “wake up.” In some implementations, certain information received by the application processor 104 may cause it to wake up. When the application processor 104 receives an in-service condition indicating that a wireless link is available for background data transmission, the application processor 104 may wake up in order to send or receive background data over the wireless link. As explained further below, it may be advantageous to delay sending the in-service condition to the application processor so that the application processor 104 can remain asleep until a sufficiently reliable signal is received by the transceiver 102.
The wireless link may be used to wirelessly transmit and/or receive voice or data at the mobile station 100. An in-service condition may indicate that a wireless link for data transmission may be available between the transceiver 102 and a base station. An out-of-service condition may indicate that a wireless link may not be available between the transceiver 102 and a base station, the mobile station 100 is not registered with a network, and/or the wireless link is unreliable for transmitting data over the wireless link. The processor 108 may determine the out-of-service condition based on parameters such as data transmission error rate, the status of the physical layer resources of the wireless link, and/or the received signal strength. The out-of-service condition may be stored as an out-of-service indicator 118 in memory 110.
The mobile station 100 may register with a network. Registering with a network allows assignment of physical layer resources of the wireless link to be used for voice and/or data traffic. After the mobile station 100 registers with the network, the mobile station 100 can monitor the assigned physical layer resources to determine if data can be transmitted. If the mobile station 100 successfully registers with the network and background data can be transmitted, the modem processor 106 may report an in-service condition. The in-service condition can be determined based on the received signal strength at the transceiver 102.
The modem processor 106 may store the received signal strength in memory 110 as the received signal strength indicator (RSSI) 116. The modem processor 106 may update the RSSI 116 according to a predetermined schedule. For example, the modem processor 106 may update the RSSI 116 every second, every ten seconds, every three minutes, or any other predetermined rate. If the RSSI 116 is above the in-service condition threshold and the mobile station 100 is registered with the network, then the modem processor 106 can report an in-service condition to the application processor 104. If the RSSI 116 is below the in-service condition threshold or the mobile station 100 is not registered with the network, the modem processor may not report an in-service condition to the application processor 104. In some situations, the RSSI 116 may fluctuate between levels that would ordinarily cause toggling between reporting an in-service condition and a not-in-service condition. Each time the modem processor 106 reports an in-service condition to the application processor 104, the application processor 106 may wake up so that the application processor 104 may transmit background data over the wireless link. However, if the RSSI 116 is fluctuating between in-service and not-in-service levels, the application processor 104 would ordinarily remain awake each time it receives a service message indicating in-service condition. Receiving rapidly changing service messages may preclude the application processor 106 from obtaining the benefits of sleep mode, even though the application processor 106 is effectively unable to transmit background data.
In other implementations, the modem processor 106 may employ other logic and other thresholds for determining whether to report an in-service condition to the application processor 104. The modem processor 106 can use wake-up suppression logic (WSL) 112 along with WSL parameters 114 for determining whether to report an in-service condition to the application processor 104 after the mobile station 100 successfully registers with the network. If the WSL 112 determines that an in-service condition has been met and the mobile station 100 is successfully registered with a network, the processor 106 may report an in-service condition to the application processor 104. If the WSL 112 determines that an in-service condition has not been met or that the mobile station 100 is not successfully registered with a network, the processor 106 may not report an in-service condition to the application processor 104.
The WSL 112 can provide certain benefits, particularly when the mobile station 100 is in a low-signal coverage area that causes toggling between a not-in-service condition and an in-service condition or while the mobile station 100 is near the edge of a coverage area. In cases where the mobile station 100 toggles between a not-in-service condition and an in-service condition, the modem processor 106 may employ the WSL 112 in order to delay reporting of an in-service condition to the application processor 104. The WSL 112 can employ multiple thresholds in order to determine whether to report an in-service condition to the application processor 104. Referring to
Referring to
Referring now to
Certain events may cause the modem processor 106 to report immediately the service condition to the application processor 104, regardless of the operational state of the WSL 112. When certain events occur, it may no longer be beneficial or desirable for the WSL 112 to suppress reporting of the in service condition. For example, the processor 108 may stop executing the WSL 112 if the out-of-service indicator 118 indicates that a wireless link for data transmission is not available, the mobile station 100 is not registered with a network, and/or the wireless link is unreliable for transmitting data. The processor 108 may resume the WSL 112 once the out-of-service indicator 118 indicates that a wireless link for data transmission may be available, the mobile station is registered with the network, and/or the wireless link is more reliable for transmitting data. As another example, if the application processor 106 is no longer in sleep mode, the modem processor 106 may stop executing the WSL 112 and/or stop suppressing reporting of the in-service condition to the application processor 104. As described above, the user may interact with the user interface 120, which may cause the application processor 104 to exit sleep mode. Additionally, the modem processor 106 may determine that a paging indication (e.g., a voice call, SMS, or data packet is designated for the mobile station 100) was received by the transceiver 102 from the base station. In order to respond the paging indication, the modem processor 106 may wake up the application processor.
Using the WSL 112, the application processor 106 is able to remain in sleep mode for a longer period of time, especially in cases where background data transmission may not be reliable and the application processor 106 may be prematurely awoken while the modem processor 104 toggles between an in-service condition and a not-in-service condition. Because the WSL 112 can suppress reporting of the in-service condition, the application processor 106 remains in sleep mode for a longer period of time, the mobile station 100 can reduce power consumption and extend battery life, even when the mobile station 100 in an area with unreliable coverage.
The methods, devices, and logic described above may be implemented in many different ways in many different combinations of hardware, software or both hardware and software. For example, all or parts of the system may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. All or part of the logic described above may be implemented as instructions for execution by a processor, controller, or other processing device and may be stored in a tangible or non-transitory machine-readable or computer-readable medium such as flash memory, random access memory (RAM) or read only memory (ROM), erasable programmable read only memory (EPROM) or other machine-readable medium such as a compact disc read only memory (CDROM), or magnetic or optical disk. Thus, a product, such as a computer program product, may include a storage medium and computer readable instructions stored on the medium, which when executed in an mobile station, computer system, or other device, cause the device to perform operations according to any of the description above.
The processing capability of the system may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. As examples, the application processor and the modem processor may be physically separate processors in different packages, may be distinct processors on the same die or in the same package, or may be implemented as a single processor that executes instructions to perform the processing described above for the modem processor and the application processor. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above. While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.