背景知识
- 蓝牙在standby模式时需要做周期性的Inquiry Scan和Page Scan
In Bluetooth-enabled devices, for example a Bluetooth-enabled CDMA cell phone (“phone”), the Bluetooth component assumes a standby mode when the device is not actively communicating with other Bluetooth-enabled devices, i.e. it is not participating in a Bluetooth network. While in standby mode, the Bluetooth component searches for other Bluetooth-enabled devices by periodically performing a wakeup process during which process it scans the surrounding environment for other Bluetooth-enabled devices. If the Bluetooth component encounters other Bluetooth-enabled devices during the scanning process and determines that a connection is needed, it can perform certain protocols in order to establish a short-range, wireless connection between the phone and such other devices. Otherwise, the scanning task is turned off until a next wakeup process. The standby cycle of waking-up, scanning and turning off repeats typically once, twice, or four times every 1.28 seconds for the duration of the standby period. However, it is appreciated that certain Bluetooth specifications may vary the timing and pattern of the cycle, for example requiring that the process be performed continuously for 1.28 seconds, or repeating the process sixteen times every 1.28 seconds. Further, certain Bluetooth specifications may require that the Bluetooth wakeup process be repeated, for example, at least once every 1.28 seconds, every 2.56 seconds, or any other interval which a particular specification may require.
- CDMA需要周期性地与基站保持同步
While the phone's Bluetooth component scans for other Bluetooth-enabled devices as discussed above, the phone's CDMA component performs CDMA related tasks. Since CDMA requires precise time synchronization between the phone and the base station, one task the CDMA component has to perform is to synchronize with the base station. In order to synchronize with the base station while in idle mode, the CDMA component “wakes up” periodically during its allotted time slots to receive and process pilot signals from the base station on the CDMA Paging Channel. The CDMA component can synchronize with the base station by processing the pilot signals. For instance, the system time can be determined from the information embedded in the pilot signals.
How frequently the CDMA component wakes up is governed by the slot cycle index, which can be set by either the phone or the base station, as is known in the art. If the slot cycle index is zero, the CDMA component performs a wakeup process every 1.28 seconds, i.e. its allotted time slot comes around every 1.28 seconds. Alternatively, the slot cycle index can be set at, for example, one, in which case the wakeup process is performed every 2.56 seconds, or two, in which case the wakeup process is performed every 5.12 seconds. Thus, the lower the slot cycle index, the more frequently the wakeup process is repeated and the greater the power consumed.
要解决的问题
- 不论两者谁唤醒系统,都要消耗电能
Whether it is the Bluetooth component waking up and scanning for other Bluetooth-enabled devices and then shutting down, or the CDMA component waking up and synchronizing with the base station and then shutting down, power is consumed.
Further, because each of the processes is performed repeatedly, the amount of power consumed can quickly drain the phone's power supply. Wasteful or excessive power consumption is of particular concern in wireless devices since it can hinder the device's operation and detract from its usefulness.
- 将CMDA和BT的唤醒周期时间,可以降低功耗
Synchronizing the two wakeup schedules reduces the power consumption of wireless mobile unit 140, because the power necessary to separately turn on Bluetooth module 142 and CDMA module 144 when they perform their respective wakeup processes can be shared when the two modules are turned on at the same time.
解决方案细节
- 周期性唤醒时间的同步
FIG. 2, graphs 200, 240 and 270 illustrate the result of synchronizing the wakeup schedule of a Bluetooth module to the wakeup schedule of a CDMA module in a wireless mobile unit such as, for example, wireless mobile unit 140 of FIG. 1, according to one embodiment.
- CDMA唤醒时间周期
Graph 200 illustrates a time sequence of the wakeup schedule for a CDMA module in a wireless mobile unit, e.g. CDMA module 144 in wireless mobile unit 140. In graph 200, axis 202 shows the on/off state of CDMA module 144, and axis 204 corresponds to time. The current CDMA system time, which can be derived from a pilot signal received from a base station as discussed above, is shown as CDMACurrent time 206. CDMA module 144 is in idle mode at CDMAcurrent time 206 and not performing a CDMA wakeup process, i.e. CDMA module 144 is “off”. However, at CDMAnext time 208, CDMA module 244 turns on and begins CDMA wakeup process 214. The time interval between CDMAcurrent time 206 and CDMAnext time 208 is shown in graph 200 as interval 210. Thus, interval 210 represents the time period between the current CDMA time and the time when the next CDMA wakeup process is to be performed. Interval 212 represents the time between the start of CDMA wakeup process 214 and the start of CDMA wakeup process 216. Interval 212 can be, for example, 1.28 seconds, meaning that CDMA module 144 is set to perform a CDMA wakeup process every 1.28 seconds. In other words, CDMA module 144's SCI is set at zero.
- BT唤醒周期
Referring now to graph 240 of FIG. 2, a time sequence of a wakeup schedule for the wireless mobile unit's Bluetooth module, e.g. Bluetooth module 142 of wireless mobile unit 140, prior to synchronization to the CDMA module's wakeup schedule, is illustrated. In graph 240, axis 242 shows the on/off state of Bluetooth module 142, while axis 244 corresponds to time. It is seen that at BTcurrent time 246, Bluetooth module 142 is “off” and not performing a Bluetooth wakeup process. However, at BTnext time 248, Bluetooth module 142 turns on and begins Bluetooth wakeup process 250. The time interval between BTcurrent time 246 and BTnext time 248 is represented by interval 252. Thus, interval 252 is the length of time between current Bluetooth time and the time of the next scheduled Bluetooth wakeup process, i.e. Bluetooth wakeup process 250. Following an elapsed time equal to interval 254 subsequent to BTnext time 248, Bluetooth module 142 performs Bluetooth wakeup process 256, and further, following another elapsed time equal to interval 258, Bluetooth module 142 performs Bluetooth wakeup process 260. In the present embodiment, Bluetooth module 142 can be set to perform a Bluetooth wakeup process every 0.64 seconds. Thus, each interval 252, 254, and 258 is equal to 0.64 seconds. Those skilled in the art, however, will appreciate that Bluetooth module 142 can be set to perform Bluetooth wakeup processes at other intervals or frequencies, for example, once every 1.28 seconds or once every 0.32 seconds.
- 综合得出同步后的唤醒周期
In comparing graphs 200 and 240 in FIG. 2, it is seen that interval 252 is greater than interval 210. In other words, the length of time before the next Bluetooth wakeup process, i.e. Bluetooth wakeup process 250, is scheduled to be performed is greater than the length of time before the next CDMA wakeup process, i.e. CDMA wakeup process 214, is scheduled to be performed. This difference in time between when the next wakeup processes are scheduled to be performed can result in a significant drain on the power supply of wireless mobile unit 140, because Bluetooth module 142 and CDMA module 144 have to be turned on separately to perform their wakeup processes.
Referring now to graph 270, a post-synchronization time sequence for the wakeup schedule of Bluetooth module 142 is illustrated. In graph 270, axis 272 shows the on/off state of Bluetooth module 142, and axis 274 corresponds to time. Further, BTcurrent time 276 in graph 270 is the same as BTcurrent time 246 in graph 240, meaning that the “current” Bluetooth time is the same in both graphs. However, as shown in graph 270, the next scheduled Bluetooth wakeup process, i.e. Bluetooth wakeup process 280, has been “rescheduled” as a result of synchronization and is now set to be performed at BTnew time 278. Thus, rather than having Bluetooth module 142 perform the next Bluetooth wakeup process at BTnext time 248 as shown in graph 240, the outcome of synchronizing the wakeup schedule of Bluetooth module 142 to the wakeup schedule of CDMA module 144 is a temporal shift of the next Bluetooth wakeup process, such that the next Bluetooth wakeup process is performed at the same time as the next CDMA wakeup process. More particularly, synchronization results in the equalization of interval 282 in graph 270 and interval 210 in graph 200, leading to the concurrent performance of Bluetooth wakeup process 280 and CDMA wakeup process 214, at BTnew time 278 and CDMAnext time 208, respectively. This synchronization of Bluetooth wakeup process 280 with CDMA wakeup process 214 means that Bluetooth module 142 and CDMA module 144 can be powered on at the same time to perform their wakeup processes, resulting in a significant reduction in power consumption by wireless mobile unit 140.
Continuing with graph 270, Bluetooth wakeup process 286 follows Bluetooth wakeup process 280 after a length of time equal to interval 284 has elapsed, and Bluetooth wakeup process 290 follows after another elapsed time equal to interval 288. It is noted that Bluetooth wakeup processes 286 and 290 are equivalent to Bluetooth wakeup processes 256 and 260 in graph 240, shifted forward as a result of the synchronization of Bluetooth wakeup process 280 with CDMA wakeup process 214. Graphs 200, 240 and 270 in FIG. 2 thus illustrate the result of synchronizing the wakeup schedules of Bluetooth module 142 and CDMA module 144 in wireless mobile unit 140, resulting in a reduction in the amount of power consumed by wireless mobile unit 140.
- 解决方案的流程图
对该方案的总结
一句话,其实就是操作系统里常用的Timer Coalescing的活用。