This non-provisional application claims priority under 35 U.S.C. § 119(a) to Patent Application No. 108135768 in Taiwan, R.O.C. on Oct. 2, 2019, the entire contents of which are hereby incorporated by reference.
This application relates to a method for adjusting a target clock and a wireless device thereof, and in particular, to a method for adjusting a target clock by using packet information and a wireless device thereof.
With the development of wireless communications technologies, wireless communications services such as Bluetooth, WiFi, and worldwide interoperability for microwave access (WiMAX) are widely applied. When a wireless device is in a wireless network, a base station or an access point (AP) may periodically send a beacon signal to determine an online state of the surrounding wireless device.
However, if the wireless device is in a standby state and the time at which the wireless device wakes up to receive packets is inaccurate, the average electrical current or power consumption may be excessively large, which reduces battery life of the entire system of the wireless device. Generally, there are two primary causes for the excessively long time for receiving the packets. One is that different system internal parameters related to semiconductor process of the wireless device may cause inconsistent or undesirable frequencies, and the other is that a transmission frequency of the base station or the access point may also vary due to the different internal parameters, which changes or affects the time at which the packet is sent.
As described above, because the time at which a wireless device in a wireless network receives packets is inaccurate, the wireless device is faced with a problem of an excessively long time for receiving the packets.
In view of this, a method for adjusting a target clock of a wireless device is provided. The wireless device is configured to receive broadcast packets sent by a transmitter. The method includes: receiving two consecutive broadcast packets to obtain time information corresponding to each of the two broadcast packets; obtaining a time interval between the two broadcast packets according to the time information; and adjusting the target clock of the wireless device according to the time interval and a target value, the target clock being related to waking of the wireless device from a standby mode.
This application further provides a wireless device, having a target clock and receiving broadcast packets sent by a transmitter. The wireless device includes a wireless transceiver circuit and a processor. The wireless transceiver circuit sequentially receives two consecutive broadcast packets, and the processor is electrically coupled to the wireless transceiver circuit and configured to obtain time information corresponding to each broadcast packet. The processor obtains a time interval between the two broadcast packets according to the time information, and adjusts the target clock according to the time interval and a target value, wherein the wireless transceiver circuit wakes according to the target clock.
In an embodiment, the time information is the time at which the transmitter sends the broadcast packet or the time at which the wireless transceiver circuit receives the broadcast packet.
In an embodiment, a frequency error is first obtained according to the time interval and the target value, and the target clock is adjusted according to a product of the frequency error and a preset frequency of the wireless device.
In an embodiment, when the time interval is greater than or equal to a target value (PKTtarget), the frequency error is calculated according to
and a frequency value of the target clock is decreased according to the frequency error; and when the time interval is less than the target value, the frequency error is calculated according to
and the frequency value of the target clock is increased according to the frequency error. Err represents the frequency error, Pn−Pn-1 represents the time interval, and PKTtarget represents the target value.
In an embodiment, a sigma-delta modulation unit adjusts the target clock according to a product of the frequency error and a preset frequency.
In conclusion, in this application, the value of the target clock is adjusted by using the time interval between the two broadcast packets, to achieve a purpose of automatically adjusting the target clock of the wireless device.
A state in which the transmitter 20 sends the broadcast packets may be seen in
In an embodiment, the transmitter 20 may be a base station or an access point (AP), and the wireless device 10 is a wireless camera. The base station or the AP may periodically send a broadcast packet to confirm an online state of the wireless camera, and the wireless camera in a standby state may periodically wake up to receive the broadcast packet.
As shown in step S12, after obtaining the time information about the two consecutive broadcast packets, the processor 14 may obtain a time interval between the two broadcast packets according to a time difference between the two pieces of time information. For example, two pieces of time information of an (n−1)th broadcast packet sent at a Pn-1 time point and an nth broadcast packet sent at a Pn time point are respectively Pn-1 and Pn, and a time interval between the two broadcast packets is represented as Pn−Pn-1.
As shown in step S14, the processor 14 adjusts the target clock according to the time interval and a target value. Specifically, the processor 14 first obtains a frequency error according to the time interval and the target value, and decreases or increases the target clock according to a product of the frequency error and a preset frequency of the wireless device 10.
In an embodiment, when the time interval is greater than or equal to the target value (PKTtarget), the processor 14 may calculate the frequency error according to a first relation
of the time interval and the target value, and then decrease a frequency value of the target clock according to a product of the frequency error and a preset frequency, thereby the processor 14 adjusts a time value of the target clock according to the frequency value. Err represents the frequency error, Pn−Pn-1 represents the time interval, and PKTtarget represents the target value (the target value of a packet time difference). When the time interval is less than the target value, the processor 14 may calculate the frequency error according to a second relation
of the time interval and the target value, and increase the frequency value of the target clock according to the product of the frequency error and the preset frequency, thereby the processor 14 adjusts the time value of the target clock according to the frequency value. In this way, the target clock of the wireless device 10 may be effectively adjusted according to the actually received broadcast packet, so that the wireless device 10 can receive the broadcast packet sent by the transmitter 20 more accurately.
In an embodiment, the processor 14 multiples the preset frequency by the frequency error by using a sigma-delta modulation (SDM) unit 141 built inside the processor 14, and adjusts the value of the target clock according to the product.
During the process that the processor 14 adjusts the target clock, the foregoing step S14 may further be represented by the following two equations: when the time interval (Pn−Pn-1) is greater than or equal to the target value (PKTtarget), the processor 14 may select the following equation 1 to perform calculation; and when the time interval (Pn−Pn-1) is less than the target value (PKTtarget), the processor 14 may select the following equation 2 to perform calculation.
In the foregoing two equations, Err represents the frequency error; Pn−Pn-1 represents the time interval; PKTtarget represents the target value; SDM represents a function of the sigma-delta modulation unit 141, and the sigma-delta modulation unit 141 performs calculation processing; and N represents the preset frequency of the wireless device 10.
In an embodiment, when the preset frequency of the wireless device 10 is 32 KHz, the target value is 100 ms.
For example, during an actual adjustment of the target clock, if the time information Pn-1 of a broadcast packet is 100 ms and the time information Pn of a next broadcast packet is 220 ms, the time interval between the two broadcast packets is represented as 220−100=120 ms. When the preset frequency of the wireless device 10 is 32 KHz and the target value is 100 ms, the time interval, which is 120 ms, is greater than the target value, which is 100 ms. Therefore, the foregoing formula 1 is selected to perform calculation. In this case, the frequency error Err=(120/100)−1=0.2, which represents an output frequency is to be decreased by 32 K*0.2=6.4 K. Therefore, the target clock is finally to be increased by 0.15625 ms, causing the adjusted target clock to be 0.15625 ms more than the original target clock. If the time information Pn-1 of a broadcast packet is 100 ms and the time information Pn of a next broadcast packet is 180 ms, the time interval between the two broadcast packets is represented as 180−100=80 ms. When the preset frequency of the wireless device 10 is 32 KHz and the target value is 100 ms, the time interval, which is 80 ms, is less than the target value, which is 100 ms. Therefore, the foregoing formula 2 is selected to perform calculation. In this case, the frequency error Err=1-(80/100)=0.2, which represents the output frequency is to be increased by 32 K*0.2=6.4 K. Therefore, the target clock is finally to be reduced by 0.15625 ms, causing the adjusted target clock to be 0.15625 ms less than the original target clock.
In an embodiment, the wireless device (the wireless transceiver circuit) is in a standby mode, and periodically wakes up to receive the broadcast packet according to the period of the target clock, thereby accurately adjusting the time at which the transmitter sends the broadcast packet corresponding to the target clock. Therefore, the wireless device may just wake up and receive the broadcast packet, to avoid reduction of service life of a battery caused by an excessively long waking time consuming excessive power of the battery.
In an embodiment, the wireless device may also be in any mode. The manner of this application may be used to adjust the target clock as long as the purpose is to make the time of any wireless device match the time of the transmitter. Therefore, the clock of the wireless device may synchronize with the clock of the transmitter more accurately.
In conclusion, to resolve an inaccurate problem of the clock, in this application, the value of the target clock is automatically adjusted by using the time interval between the two broadcast packets. Because the target clock of the wireless device is adjusted according to the actually received broadcast packet to synchronize with the time at which the transmitter sends the broadcast packet, the wireless device can receive the broadcast packet sent by the transmitter more accurately, to improve a problem of an excessively long time for receiving the broadcast packet and avoid an unnecessary consumption of the battery in the wireless device, thereby prolonging service life of the entire system (the wireless device). Therefore, in this application, the target clock is adjusted by using packet information, to achieve a purpose of automatically adjusting the target clock of the wireless device.
Although the present invention has been described in considerable detail with reference to certain preferred embodiments thereof, the disclosure is not for limiting the scope of the invention. Persons having ordinary skill in the art may make various modifications and changes without departing from the scope and spirit of the invention. Therefore, the scope of the appended claims should not be limited to the description of the preferred embodiments described above.
Number | Date | Country | Kind |
---|---|---|---|
108135768 | Oct 2019 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
5048009 | Conrad | Sep 1991 | A |
6548997 | Bronfer | Apr 2003 | B1 |
6629256 | Ilan | Sep 2003 | B1 |
9572102 | Hiremath | Feb 2017 | B2 |
9641269 | Yamamoto | May 2017 | B2 |
20020041570 | Ptasinski | Apr 2002 | A1 |
20070242634 | Calcev | Oct 2007 | A1 |
20080152046 | Armstrong et al. | Jun 2008 | A1 |
20100329232 | Tubb | Dec 2010 | A1 |
20110214030 | Greenberg | Sep 2011 | A1 |
20110306315 | Subrahmanya | Dec 2011 | A1 |
20120127977 | Copeland | May 2012 | A1 |
20120244881 | Konishi | Sep 2012 | A1 |
20130272180 | Hiremath | Oct 2013 | A1 |
20140051485 | Wang | Feb 2014 | A1 |
20140112225 | Jafarian | Apr 2014 | A1 |
20140122958 | Greenebrg | May 2014 | A1 |
20140226647 | Das | Aug 2014 | A1 |
20140254466 | Wurster | Sep 2014 | A1 |
20150016233 | Gu | Jan 2015 | A1 |
20150103818 | Kuhn | Apr 2015 | A1 |
20150296453 | Hiremath | Oct 2015 | A1 |
20160112974 | Shenoi | Apr 2016 | A1 |
20170208558 | Gao | Jul 2017 | A1 |
20170238274 | Zhang | Aug 2017 | A1 |
20180139709 | Shenoi | May 2018 | A1 |
20180324102 | Takahashi | Nov 2018 | A1 |
20190044774 | Crols | Feb 2019 | A1 |
20210099329 | Hellfajer | Apr 2021 | A1 |
Number | Date | Country |
---|---|---|
101489290 | Jul 2009 | CN |
102118849 | Jul 2011 | CN |
200822566 | May 2008 | TW |
Number | Date | Country | |
---|---|---|---|
20210105733 A1 | Apr 2021 | US |