Wireless data communication method, computer peripheral device and receiver device
By alternately using different channels between dual frequency bands and using frequency hopping sequence to select operating channels, the signal recovery error problem caused by interference in fixed channels is solved, and more stable wireless data communication is achieved.
Patent Information
- Application Number
- CN202080101251.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-25
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2040-06-25
AI Technical Summary
The prior art is susceptible to interference when performing data communication, especially in fixed channels. When the interference signal is strong, it is difficult to avoid signal recovery errors, resulting in communication interruption.
Using a dual-band wireless data communication method, by alternately using different channels between the first frequency band and the second frequency band, the first frequency hopping sequence and the second frequency hopping sequence are selected to avoid interference.
It effectively reduces the impact of interference on communication, improves the stability and reliability of data transmission, and avoids signal interruption during channel selection.
Smart Images

Figure CN115885241B_ABST
Abstract
Description
Technical Field
[0001] One aspect of the present disclosure relates to a computer peripheral device. Another aspect of the present disclosure relates to a receiver device. Another aspect of the present disclosure relates to a wireless data communication method. Background Art
[0002] Data communications via fixed frequency channels may be subject to interference, for example, when the interfering signal is so strong that the signal cannot be properly recovered at the receiver. To avoid interference in a first frequency channel, frequency hopping may be employed, wherein an adjacent frequency channel is used when the first frequency channel is poor. However, when the interference source is also transmitting in the adjacent frequency channel, interference may not be avoided. Therefore, an improved communication method is needed to avoid interference. Summary of the invention
[0003] One aspect of the present disclosure relates to a computer peripheral device, which includes a computer peripheral function circuit to provide one or more predefined peripheral functions to a computer. The computer peripheral device may also include a human-machine interface for receiving data from a user and / or presenting data to a user. The computer peripheral device may also include an encoder for encoding a data stream using data. The computer peripheral device may also include a communication circuit configured to implement wireless data communication with a receiver device to couple to the computer. The communication circuit may also be configured to transmit the data stream according to a wireless communication protocol. The communication protocol may operate in a non-overlapping first frequency band and a second frequency band, wherein one frequency band is located in a frequency range lower than the other frequency band. Each of the first frequency band and the second frequency band may be divided into a plurality of sub-bands. Each of the plurality of sub-bands may be further divided into a plurality of channels. Transmitting the data stream according to the wireless communication protocol may include transmitting data of the data stream via an operating channel during a first time slot and a second time slot. The first time slot and the second time slot may alternate in a periodic sequence. The first time slot and the second time slot may have a fixed duration. During the first time slot, the operating channel may be a first operating channel selected from one of a plurality of channels of one of a plurality of sub-bands of the first frequency band according to a first frequency hopping sequence. Due to becoming satisfied the first error condition, the first operating channel may be selected as the next first operating channel of the first frequency hopping sequence. During the second time slot, the operating channel may be a second operating channel selected from one of a plurality of channels of one of a plurality of sub-bands of the second frequency band according to the second frequency hopping sequence. Due to becoming satisfied the second error condition, the second operating channel may be selected as the next second operating channel. Any two adjacent channels of the first frequency hopping sequence or any two adjacent channels of the second frequency hopping sequence may belong to different sub-bands.
[0004] Another aspect of the disclosure relates to a receiver device, which is coupleable to a computer and comprises a communication circuit configured to enable wireless data communication with a computer peripheral device according to any one of the preceding claims.
[0005] Another aspect of the present disclosure relates to a wireless data communication method for communication between a computer peripheral device and a receiver device. The wireless data communication method may include transmitting a data stream from the computer peripheral device to the receiver device according to a wireless communication protocol. The communication protocol may operate in a first frequency band and a second frequency band that may not overlap, wherein one frequency band is located in a frequency range lower than the other frequency band. Each of the first frequency band and the second frequency band may be divided into a plurality of sub-bands. Each of the plurality of sub-bands may be further divided into a plurality of channels. Transmitting the data stream according to the wireless communication protocol may include transmitting data of the data stream via an operating channel during a first time slot and a second time slot. The first time slot and the second time slot may alternate in a periodic sequence. The first time slot and the second time slot may have a fixed duration. During the first time slot, the operating channel may be a first operating channel selected from one of a plurality of channels of one of a plurality of sub-bands of the first frequency band according to a first frequency hopping sequence. As the first error condition becomes satisfied, the first operating channel may be selected as the next first operating channel of the first frequency hopping sequence. During the second time slot, the operating channel may be a second operating channel selected from one of a plurality of channels of one of a plurality of sub-bands of the second frequency band according to a second frequency hopping sequence. As the second error condition becomes satisfied, the second operating channel may be selected as the next second operating channel.Any two adjacent channels of the first frequency hopping sequence or any two adjacent channels of the second frequency hopping sequence may belong to different sub-bands.
[0006] In some embodiments, the peripheral device may be a human interface device (HID), such as a computer mouse or keyboard. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The invention will be better understood with reference to the detailed description when considered in conjunction with the non-limiting examples and accompanying drawings, in which:
[0008] - Figure 1 A schematic diagram of a system 1 according to various embodiments is shown, including a computer peripheral device 100 as a peripheral device and a receiver device 200 configured to communicate with each other via an operating channel 14, wherein the receiver device can be coupled to a computer 10;
[0009] - Figure 2 Details of a computer peripheral device 100 and a receiver device 200 are shown according to various embodiments;
[0010] - Figure 3An exemplary wireless data communication method 300 is shown in accordance with various embodiments;
[0011] - Figure 4 Details regarding how to select a corresponding operating channel within a frequency band, as may be implemented in step 330 and / or step 340, are shown according to various embodiments;
[0012] - Figure 5 shows a schematic representation of frequency bands B1 and B2, whose first channel 1CH and second channel 2CH, respectively, may optionally be further grouped into sub-bands, such as a first sub-band 1SB and a second sub-band 2SB;
[0013] - Figure 6 The frequency hopping sequence within the frequency band is illustrated as a comparative example;
[0014] - Figure 7 illustrates frequency hopping sequences within a frequency band utilizing sub-bands according to various embodiments;
[0015] - Figure 8 shows a timing diagram for illustrating data transmission using frequency hopping according to various embodiments;
[0016] - Fig. 9 shows a timing diagram illustrating operating frequency versus time according to various embodiments;
[0017] - Fig.10 shows a mouse 101 and a USB dongle 201 connected to a computer 10 according to some embodiments; and
[0018] - Fig.11 shows a frequency scanning sequence according to various embodiments;
[0019] - Fig.12 A method for generating a frequency hopping sequence according to various embodiments is shown. DETAILED DESCRIPTION
[0020] The following detailed description refers to the accompanying drawings showing the specific details and embodiments of the present disclosure by way of illustration. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present disclosure. Other embodiments may be utilized, and structural and logical changes may be made without departing from the scope of the present disclosure. Various embodiments are not necessarily mutually exclusive, as some embodiments may be combined with one or more other embodiments to form new embodiments.
[0021] Embodiments described in the context of a computer peripheral or receiver device are analogously valid for other computer peripherals or receiver devices. Similarly, embodiments described in the context of a wireless data communication method are analogously applicable to computer peripherals or receiver devices, and vice versa.
[0022] Features described in the context of an embodiment may be correspondingly applicable to the same or similar features in other embodiments. Features described in the context of an embodiment may be correspondingly applicable to other embodiments, even if not explicitly described in these other embodiments. In addition, additions and / or combinations and / or substitutions described for features in the context of an embodiment may be correspondingly applicable to the same or similar features in other embodiments.
[0023] In the context of various embodiments, the articles “a,” “an,” and “the” used with respect to features or elements include reference to one or more features or elements.
[0024] In the context of various embodiments, and as used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0025] In the context of various embodiments, and as used herein, frequencies, channels, frequency bands, and frequency sub-bands may be radio frequencies (RF). For example, the first frequency band and each of the first frequency bands may be RF frequency bands, e.g., within a frequency range. For example, the first frequency band and the second frequency band may be in a 2.4 GHz spectrum, which may be, for example, from 2402 Mhz to 2480 Mhz. For example, the first frequency band may be from 2402 Mhz to 2441 Mhz, and the second frequency band may be from 2442 Mhz to 2480 Mhz (or vice versa). However, the present disclosure is not limited thereto.
[0026] In the context of various embodiments, and as used herein, terms such as "first" and "second" are used to distinguish elements of the present disclosure and do not necessarily mean that "first" precedes "second." For example, the term "first" in a first transmitter, a first receiver, a first channel selector indicates that they are included in a computer peripheral device, and conversely, the receiver device includes a second transmitter, a second receiver, and a second channel selector. The description of the first transmitter, the first receiver, and the first channel selector may apply to the second transmitter, the second receiver, and the second channel selector, respectively. In addition, the term "first" in a first operating channel and a first plurality of channels associated with a first time slot distinguishes them from a second operating channel and a second plurality of channels associated with a second time slot.
[0027] Descriptions of a computer peripheral device may apply to a receiver device and vice versa, so reference to a "digital device" (without "first" or "second") may apply to one or each of a computer peripheral device and a receiver device.
[0028] It should be understood that a transmitter device may be referred to interchangeably as a transmitter or a sender, and a receiver device may be referred to as a receiver. Similarly, transmission and sending may be used interchangeably herein.
[0029] In one embodiment, a "circuit" (or multiple circuits) may be understood as any kind of logic implementation entity, which may be a dedicated circuit or a processor for executing software stored in memory, firmware, or any combination thereof. Thus, in one embodiment, a "circuit" may be a hardwired logic circuit or a programmable logic circuit, such as a programmable processor, such as a microprocessor (e.g., a complex instruction set computer (CISC) processor or a reduced instruction set computer (RISC) processor). A "circuit" may also be a processor that executes software, such as any type of computer program, such as a computer program using a virtual machine code (such as, for example, Java). Any other type of implementation of the various functions described in more detail below may also be understood as a "circuit" according to alternative embodiments.
[0030] In an embodiment, a human-machine interface for receiving data from a user and / or presenting data to a user may include electronic components (hardware), such as a transducer, for example a mechanical key, an optical sensor, or the like.
[0031] The term "coupling" (or "connection") herein may be understood as electrical coupling or mechanical coupling, such as attachment or fixation, or mere contact without any fixation, and may be configured as direct coupling or indirect coupling (in other words: coupling without direct contact).
[0032] Various embodiments and inventions will be explained with reference to the accompanying drawings, however, the present disclosure is not limited thereto. Figure 1 and Figure 2 A computer peripheral device 100 is shown in FIG. Figure 1 1 shows a system in which a computer peripheral device 100 and a receiver device 200 are configured to communicate with each other via an operating channel 14. The computer peripheral device 100 may be a peripheral device, such as a human interface device (HID), such as a computer mouse 101 or a keyboard. The receiver device 200 may be a communication unit included in the computer 10 and / or coupleable to the computer 10, such as a USB dongle 201.
[0033] According to various embodiments, the computer peripheral device 100 may include a computer peripheral function circuit 101 to provide one or more predefined peripheral functions to the computer 10. The computer peripheral device may include a human-machine interface for receiving data from a user and / or presenting data to a user. The computer peripheral interface may also include an encoder 110 to encode a data stream using data. The computer peripheral interface may be a communication circuit configured to implement wireless data communication with a receiver device 200 to couple to the computer 10.
[0034] In the context of various embodiments, and as used herein, "data" may include the meaning of a data packet, for example, when referring to data of a data stream.
[0035] For example, the computer peripheral device may include a first transmitter Tx1 configured to transmit first data UL1 through the operating channel 14 and a first receiver Rx1 configured to receive second data DL1 that can be received through the operating channel 14. According to various embodiments, the computer peripheral device may include a first channel selector 140 configured to select the operating channel 14 as the first operating channel 1CHn according to the wireless communication protocol, and configured to select the operating channel 14 as the second operating channel 2CHn.
[0036] The first time slot TS1 and the second time slot TS2 may be repeated in a periodic sequence, for example, TS1, TS2, TS1, TS2, etc. The first plurality of channels 1CH may be included in the first frequency band B1. The second plurality of channels 2CH may be included in the second frequency band B2. According to various embodiments, the frequencies of the first frequency band B1 and the second frequency band B2 do not overlap. According to various embodiments, the first frequency band B1 and the second frequency band B2 do not overlap. The first frequency band B1 may also be referred to as a low frequency band, and the second frequency band B2 in a frequency range higher than the first frequency band B1 may also be referred to as a high frequency band. Alternatively, the first frequency band B1 may also be referred to as a high frequency band, and the second frequency band B2 in a frequency range lower than the first frequency band B1 may also be referred to as a low frequency band.
[0037] According to various embodiments, the channel selector is configured to select an operating channel before sending and / or receiving data, for example, the operating channel may be selected during a time slot before sending and / or receiving data, or the operating channel may be selected after sending and / or receiving data to prepare for the next sending and / or receiving operation (for example, to prepare for the next time slot).
[0038] According to various embodiments, the first channel selector 140 selects the first operating channel 1CHn based on the first channel hopping sequence S1 (also referred to as the first hopping sequence for short) and is configured accordingly. The first channel selector 140 selects the second operating channel 2CHn according to the second channel hopping sequence S2 (also referred to as the second hopping sequence for short) and is configured accordingly. The first channel selector 140 may include a memory 130. The computer peripheral device 100, for example, the first channel selector 140 may be configured to store the first hopping sequence S1 and / or the second hopping sequence S2 in the memory 130.
[0039] According to some embodiments, the computer peripheral device 100 may be configured to generate a first frequency hopping sequence S1 and / or a second frequency hopping sequence S2. According to some embodiments, the computer peripheral device 100 may be configured to update the first frequency hopping sequence S1 and / or the second frequency hopping sequence S2. Alternatively or additionally, the computer peripheral device 100 may be configured to receive the first frequency hopping sequence S1 and / or the second frequency hopping sequence S2, for example, via the first receiver Rx1, for synchronizing the frequency hopping sequence with the receiver device 200. Therefore, in some embodiments, the computer peripheral device 100 may include a frequency hopping sequence generator, and in other embodiments, the computer peripheral device 100 may not necessarily include a frequency hopping sequence generator, because the first frequency hopping sequence S1 and / or the second frequency hopping sequence S2 may be received from the receiver device 200, and thus the computer peripheral device 100 may be simplified.
[0040] Figure 2 The system in FIG. 1 shows a computer peripheral device 100 and a receiver device 200. According to various embodiments, the computer peripheral device 100 and the receiver device 200 are configured to communicate with each other according to a communication protocol. For example, the first transmitter Tx1 can be configured to send the first data UL1 as a data stream to the second receiver Rx2 of the receiver device 200 through the operating channel 14. The second transmitter Tx2 can be configured to send the second data DL1 to the first receiver Rx1 of the computer peripheral device 100 through the operating channel 14. According to some embodiments, the second data DL1 can be a data stream. According to various embodiments, the receiver device 200, for example, the second channel selector 240 can be configured to store the first hopping sequence S1 and / or the second hopping sequence S2 in the memory 230.
[0041] According to various embodiments, for a system 1 including a computer peripheral device 100 and a receiver device 200, at least one of the computer peripheral device 100 and the receiver device 200 includes a frequency hopping sequence generator, for example, the receiver device 200 may include a frequency hopping sequence generator 250 and may be configured to send the first frequency hopping sequence S1 and / or the second frequency hopping sequence S2 to the computer peripheral device 100, for example, via the second transmitter Tx2. In some embodiments, other digital devices may not have a frequency hopping sequence generator, or may include a disabled frequency hopping sequence generator, thereby allowing the computer peripheral device 100 and the receiver device 200 to use the same circuit, wherein the frequency hopping sequence generator may be enabled or disabled according to preferred usage. This may simplify production because enabling or disabling may be simply set using a corresponding flag.
[0042] According to some embodiments, the computer peripheral device 100 may include an encoder 110 to provide or generate data. When one of the digital devices is configured as a HID, for example Figure 2 In the computer peripheral device 100 shown by way of example in FIG. 1 , the digital device may include additional digital circuits to perform HID functions. For example, the encoder 110 may be a mouse circuit configured to generate data on one or more of mouse movement, button clicks, and scroll wheels.
[0043] According to some embodiments, the receiver device 200 may be configured to be coupled to a computer, such as a computer bus, such as a USB bus. According to some embodiments, the receiver device 200 may include a data interface 210, such as a USB interface. For example, the receiver device may be a USB dongle.
[0044] According to some embodiments, the computer peripheral device 100 may include a data buffer 120 configured to store the first data UL1 to be transmitted and / or store the received second data DL1. According to some embodiments, the receiver device 200 may include a data buffer 220 configured to store the received first data UL1 and / or store the second data DL1 to be transmitted.
[0045] According to various embodiments, the computer peripheral device 100 and the receiver device 200 may respectively further include other circuits commonly used for data communication, which will not be described in detail for the sake of simplicity. For example, each may independently include one or more of the following: an internal clock, a clock synchronization circuit, a clock recovery circuit, a microcontroller, an encryption circuit, a decryption circuit, a memory, a microcontroller, an amplifier, an antenna, or any combination of the above.
[0046] For illustrative purposes, the following explains how to use Figure 3 to determine and perform channel hopping. Figure 1Likewise, the present disclosure is not limited thereto. For ease of understanding, reference is made to the computer peripheral device 100, however, the receiver device 200 may be configured in the same manner. Those skilled in the art will appreciate that for one system, each of the computer peripheral device 100 and the receiver device 200 will have a synchronized frequency hopping sequence, as well as a synchronized operating channel, so that communications are not lost.
[0047] According to various embodiments, a wireless data communication method 300 is contemplated, for example, Figure 3 As shown. The wireless data communication method 300 may include transmitting a data stream 350 from a first digital device 100 to a receiver device 200 according to a wireless communication protocol. The communication protocol operates with a first frequency band B1 and a second frequency band B2 that may not overlap, wherein one frequency band is located in a frequency range lower than the other frequency band. Each of the first and second frequency bands B1, B2 may be divided into a plurality of sub-bands. Each of the plurality of sub-bands may be further divided into a plurality of channels.
[0048] The wireless data communication method 300 may include providing data of a data stream to be transmitted, for example, first data. The wireless data communication method 300 may include determining whether the first time slot TS1 or the second time slot TS2 is currently available. For example, by comparing the time of an internal clock of the digital device, for example, odd milliseconds may be assigned to the first time slot TS1 and even milliseconds may be assigned to the second time slot TS2. Alternatively or additionally, for example, by Figure 3 The clock interrupt named as the time slot interrupt in the embodiment performs time checks at regular intervals and only checks whether the last time slot or the last x time slots (x is an integer equal to or greater than 2) are TS1 in the case where the current time slot will be TS2, or only checks whether the last time slot or the last x time slots are TS2 in the case where the current time slot will be TS1, but other embodiments are also possible. The determination of the current time slot can be performed in, for example, Figure 3 The wireless data communication method 300 may include providing the transmission data of the data stream 350 to the receiver device 200 by the computer peripheral device 100 through the operating channel during a first time slot TS1 and a second time slot TS2 that repeat (e.g., alternate) in a periodic sequence.
[0049] Transmitting the data stream according to the wireless communication protocol may include transmitting data of the data stream via the operating channel during the first time slot TS1 and the second time slot TS2. The first time slot TS1 and the second time slot TS2 may have a fixed duration and may alternate in a periodic sequence.
[0050] During the first time slot TS1, the operating channel may be a first operating channel 1CHn selected from one of the multiple channels of one of the multiple sub-bands 1SB of the first frequency band B1 according to the first frequency hopping sequence. During the second time slot TS2, the operating channel may be a second operating channel 2CHn selected from one of the multiple channels of one of the multiple sub-bands 2SB of the second frequency band B2 according to the second frequency hopping sequence S2.
[0051] According to various embodiments, the method may include a step 330 of obtaining an operating channel as a first operating channel 1CHn. According to various embodiments, the method may include a step 340 of obtaining an operating channel as a second operating channel 2CHn.
[0052] Since the first error condition becomes satisfied, the first operating channel 1CHn may be selected as the next first operating channel 1CHnpl of the first frequency hopping sequence S1. When the first error condition is not satisfied, the first operating channel 1CHn may remain as the current first operating channel, meaning that the first operating channel does not undergo frequency hopping and the same channel of the first frequency hopping sequence S1 is reserved for the first time slot TS1. According to various embodiments, the wireless data communication method may include the following steps: based on the first frequency hopping sequence S1 including the first plurality of channels 1CH for the first time slot TS1, a step 334 of changing the first operating channel 1CHn to the next first operating channel 1CHnp1 for the first time slot TS1.
[0053] According to various embodiments, for the first time slot TS1, when the first error condition becomes satisfied, the first channel selector 140 may be configured to perform a first channel hopping, wherein the next first operating channel 1 CHnp1 is selected based on the first hopping sequence S1. When it is determined that the first data UL1 of the first time slot TS1 is successfully acknowledged (e.g., acknowledgement ACK1 is received), the first channel selector 140 may be configured to keep the first operating channel 1 CHn unchanged.
[0054] Since the second error condition becomes satisfied, the second operating channel 2CH may be selected as the next second operating channel 2CHnpl. When the second error condition is not satisfied, the second operating channel 2CHn may remain as the current second operating channel, meaning that the second operating channel does not undergo frequency hopping and the same channel of the second frequency hopping sequence S2 is maintained for the second time slot TS2. According to various embodiments, the wireless data communication method may include the following steps: based on the second frequency hopping sequence S2 including the second plurality of channels 2CH for the second time slot TS2, the second operating channel 2CHn is changed to the next second operating channel 2CHnp1 for the second time slot TS2.
[0055] According to various embodiments, for the second time slot TS2, when the second error condition becomes satisfied, the first channel selector 140 may be configured to perform a second channel hopping, wherein the next second operating channel 2CHnp1 is selected based on the second hopping sequence S2. When it is determined that the first data UL1 of the first time slot TS1 is successfully acknowledged (e.g., acknowledgement ACK1 is received), the first channel selector 140 may be configured to keep the second operating channel 2CHn unchanged.
[0056] According to various embodiments, the first and second frequency hopping sequences may be configured and / or generated such that any two adjacent frequency channels of the first frequency hopping sequence S1 or any two adjacent frequency channels of the second frequency hopping sequence S2 belong to different sub-bands.
[0057] As mentioned above, the frequencies of the first frequency band B1 and the second frequency band B2 do not overlap. Since the first time slot TS1 is associated with the first frequency band B1 and the second time slot TS2 is associated with the second frequency band B2, the first time slot may also be called a low frequency time slot and the second time slot may also be called a high frequency time slot, or vice versa, depending on which frequency band has a higher frequency.
[0058] According to various embodiments, when it is determined that the reception of the first data UL1 of the first operating channel 1CHn cannot be confirmed, and the determination failure count for the channel exceeds a first predetermined threshold, the first error condition becomes satisfied.
[0059] According to various embodiments, when it is determined that the first data UL1 of the second operating channel 2CHn has not been confirmed to be received, and the determination failure count for the channel exceeds a second predetermined threshold, the second error condition becomes satisfied.
[0060] According to various embodiments, the computer peripheral device 100 may further include a comparator configured to perform a determination whether the second data DL1 may include an acknowledgement ACK1 , ACK2 that the first data UL1 was received by the receiver device 200 for the corresponding time slot.
[0061] According to various embodiments, the wireless data communication method may include the step of sending data of a data stream 350, such as sending first data in the case of a computer peripheral device 100 or sending second data in the case of a receiver device 200. The wireless data communication method may include waiting for the second data DL1 to be an acknowledgment ACK1 of the reception of the first data UL1 by the receiver device 200, and failure to receive the acknowledgment as a transmission failure. The wireless data communication method may also include determining 332 that a failed transmission count CNT1 has exceeded a threshold EMAX1 of an operating channel. For example, the threshold may be 1 and when CNT1 is 2, it is determined that the threshold EMAX1 has been exceeded. In other examples, the threshold may be zero, so it may be exceeded by an error count of 1. As shown, Figure 3 One possible implementation of determining 332 is shown, and the present disclosure is not limited thereto. Figure 3 , waiting for confirmation in the step shown as receiving confirmation. In the case where confirmation is received (e.g., determined in step 360), the data transmission is successful, and the next data can be continued, for example, if any next data is available. In the case where confirmation is not received, the data is resent (e.g., at the next interruption), and a counter storing the failed transmission and / or the failed transmission for the current channel is increased.
[0062] According to various embodiments, a wireless data communication method may include transmitting a synchronization packet. The synchronization packet may be in a predetermined synchronization data format, and the synchronization packet may be sent when there is no other data (e.g., no HID data) to be sent. The synchronization packet may be sent from the computer peripheral device 100 to the receiver device 200. Alternatively or additionally, the synchronization packet may also be sent from the receiver device 200 to the computer peripheral device 100. According to various embodiments, the synchronization packet may be included in the data stream.
[0063] According to various embodiments, the receiver device 200 and / or the computer peripheral device 100 may be configured to detect a communication loss when no data is received within a connection timeout interval. When the connection timeout interval is exceeded, the computer peripheral device 100 and the receiver device 200 switch to a reconnection mode to establish a connection again.
[0064] According to various embodiments, the data of the data stream may have or be formatted in a specific data format. The data format may include a parameter indicating the number of failures to determine a specific channel in use. According to various embodiments, the parameter may be included in a header field of the data packet.
[0065] A non-limiting example of the step of obtaining 330, 340 (ie, selecting) the next operating channel as the operating channel is Figure 4, which is shown in more detail in . By using corresponding hopping sequences, the methods for the first time slot TS1 and the second time slot TS2 can be the same or similar. Compare 332 whether the failed transmission count CNT1 of the current channel (e.g., 1CH1) is greater than a threshold EMAX1. According to various embodiments, the threshold EMAX1 is a predetermined value selected from an integer equal to or greater than 0, for example, equal to or greater than 1, and is synchronized (i.e., the same) between the computer peripheral device 100 and the receiver device 200 of the system to allow channel hopping to be performed simultaneously on both devices in order to maintain communication. In the case where the comparison 332 is negative (e.g., CNT1>EMAX1 is false), the error condition is not satisfied and channel hopping does not exist and the channel remains the same as the last use for the corresponding time slot, for example, the channel. In the case where the comparison 332 is positive (e.g., CNT1>EMAX1 is true), the error condition is satisfied and channel hopping is provided, for example Figure 4 As shown, a change 334 from the current operating channel to the next operating channel occurs for the current time slot, and the next operating channel maintains the operating frequency of the time slot until another frequency hopping occurs. According to various embodiments, if the current time slot is the first time slot, the first operating channel 1CHn may be changed to the next first operating channel 1CHnp1 for the first time slot TS1 based on the first frequency hopping sequence S1 including the first plurality of channels 1CH for the first time slot TS1. Conversely, if the current time slot is the second time slot TS2, the second operating channel 2CHn may be changed to the next second operating channel 2CHnp1 for the second time slot TS2 based on the second frequency hopping sequence S2 including the second plurality of channels 2CH for the second time slot TS2.
[0066] After changing 334 the current operating channel to the next operating channel for the current time slot, for example by selecting the next operating channel from a frequency hopping sequence, the radio transceiver of the digital device may be set accordingly to operate with the next operating channel, which then becomes the operating channel. Figure 3 , data of the data stream may be sent in step 350 and may be received or at least awaited for confirmation on the next operating channel selected.
[0067] According to various embodiments, the receiver Rx1 or Rx2 listens for data, does not receive any information, performs channel hopping, and then the corresponding receiver listens to x TS1 (or TS2), and another channel hopping is performed if no data is received. The cycle repeats until a connection timeout interval is received, during which the corresponding receiver does not receive any data. When the connection timeout interval is exceeded, the computer peripheral device 100 and the receiver device 200 switch to a reconnection mode to establish a connection again.
[0068] Although several embodiments show a comparison of whether the failed transmission count CNT1 is greater than the threshold value EMAX1, other implementations for determining whether one of the error conditions has become satisfied are also possible. For example, the comparison may be whether the failed transmission count CNT1 is greater than or equal to the threshold value EMAX1, in which case the threshold value may be selected from integers equal to or greater than 1.
[0069] Example spectrum 400 is Figure 5 , where for the purpose of illustration, the horizontal axis represents the frequency increasing to the right. The first frequency band B1 and the second frequency band B2 do not overlap and are shown spaced apart from each other. Alternatively, the first frequency band B1 and the second frequency band B2 may be adjacent to each other. Each of the first and second frequency bands B1, B2 may be divided into a plurality of sub-bands. Therefore, the first plurality of channels 1CH are included in the first frequency band B1, and the second plurality of channels 2CH are included in the second frequency band B2. Each frequency band may be subdivided into a plurality of channels, for example, the first frequency band B1 may be subdivided into a first plurality of channels 1CH, wherein one of the first plurality of channels 1CH is denoted as 1CHn, and the channel may be identified by an index n, which is an integer with a value of zero or greater, such as 1CH00, 1CH01, 1CH02... For example, the second frequency band B2 may be subdivided into a second plurality of channels 2CH, wherein the channels in the second plurality of channels 2CH are denoted as 2CHn, and the channels may be identified by an index n, which is an integer with a value of zero or greater, such as 2CH00, 2CH01, 2CH02, etc.
[0070] According to various embodiments, the channels within a frequency band may be equally spaced, such as every 5 MHz or 2 MHz, so that the channels can be easily indexed. Figure 5 As shown, the first plurality of channels 1CH may be indexed (n) as 00, 01, ..., 15, and the second plurality of channels 2CH may be indexed (n) as 00, 01, ..., 15, however, the present invention is not limited thereto, for example, there may be more than 16 channels or less than 16 channels.
[0071] According to various embodiments, the first frequency band B1 may include a first sub-band 1SB. Each sub-band (1SB0, 1SB1, ...) of the first sub-band 1SB may include two or more channels of the first plurality of channels 1CH. In some embodiments, the first plurality of channels 1CH may include a number of channels that is a multiple of the number of sub-bands 1SB. For example, the multiple may be selected from 2 to 8, for example from 2 to 4, multiplied by the sub-band 1SB. Figure 5In the example shown, the first plurality of channels 1CH are evenly subdivided into subbands 1SB, the first frequency band B1 includes four first subbands 1SB0, 1SB1, 1SB2 and 1SB3, each subband includes four channels. For example, subband 1SB0 includes channels 1CH00, 1CH01, 1CH02 and 1CH03.
[0072] According to various embodiments, the second frequency band B2 may include a second sub-band 2SB. Each sub-band (2SB0, 2SB1, ...) of the second sub-band 2SB may include two or more channels of the second plurality of channels 2CH. In some embodiments, the second plurality of channels 2CH may include a number of channels that is a multiple of the number of sub-bands 2SB. For example, the multiple may be selected from 2 to 8, for example from 2 to 4, multiplied by the sub-band 2SB. Figure 5 In the example shown, the second plurality of channels 2CH is evenly subdivided into subbands 2SB, and the second frequency band B2 includes four second subbands 2SB0, 2SB1, 2SB2 and 2SB3, each of which includes four channels. For example, subband 2SB0 includes channels 2CH00, 2CH01, 2CH02 and 2CH03.
[0073] Figure 6 FIG. 4 shows a frequency hopping sequence according to a comparative example for one of the first frequency band B1 and the second frequency band B2. Figure 6 The jumps in only show the number of times corresponding to one of the first time slot TS1 or the second time slot TS2. As shown in the figure, the frequency hopping sequence is S[0:15]=00, 01, 04, 03, 02, 05, 12, 06, .... The data UL1 is sent through the operating channel 14, which is the channel with index 00. The operating channel 14 remains the channel with index 00 until the channel hopping occurs. As mentioned above, for the convenience of explanation, only one time slot is shown.
[0074] Once it is determined 332 (e.g., each time it is determined) that the failed transmission count has exceeded the threshold of the operating channel, a change 334 is performed to change the operating channel to the next operating channel, which is channel 01 according to the exemplary sequence S[0:15]. The hopping sequence does not have to be in a sequentially increasing or decreasing frequency of channels, for example, the hopping result from channel 12 in the exemplary hopping sequence S[0:15] is channel 06. The above example shows a hop within a channel in the first plurality of channels 1CH or the second plurality of channels 2CH according to some embodiments. In other embodiments, the hop may further take into account the subband. The hopping sequences for the two time slots may be generated independently, for example, according to a frequency scan, where the channels are sorted, for example, from highest to lowest signal-to-noise ratio or received signal strength indicator (RSSI).
[0075] According to some embodiments, when the frequency hopping sequence is exhausted, i.e. each of the plurality of frequency channels has been selected and ultimately resulted in a transmission failure, the frequency hopping sequence may be restarted from the beginning, e.g., where all error counts for each frequency channel are reset, which means to a predetermined initial state, e.g. to zero. Alternatively, a regeneration of the frequency hopping sequence may be performed. Figure 6 In this comparative example, sub-band frequency hopping is not used. When the interference source has a large frequency band, overlapping multiple adjacent channels, the communication within the time slot may be severely interrupted until the frequency hopping reaches a feasible channel.
[0076] Channel hopping between different sub-bands will be explained below.
[0077] According to various embodiments, the first frequency band Bl may include a first sub-band, and each sub-band of the first sub-band may include two or more channels of the first plurality of channels 1CH. According to various embodiments, the second frequency band B2 may include a second sub-band, and each sub-band of the second sub-band may include two or more channels of the second plurality of channels 2CH.
[0078] According to various embodiments, the next first operating channel 1CHnpl may be selected from a selected sub-band different from the sub-band of the first operating channel 1CHn. According to various embodiments, the next second operating channel 2CHnp1 may be selected from a sub-band different from the sub-band of the second operating channel 2CHn.
[0079] The channels in the hopping sequence may be selected so that a single channel is used for each subband, addressing all subbands before any subband is repeated. In an example, only one of the two or more channels for each subband may be available in the hopping sequence until all subbands have been used and before any subband is used again. According to various embodiments, any adjacent channels of a hopping sequence (e.g., a first hopping sequence S1 or a second hopping sequence S2) belong to different subbands, so that each channel hopping is also a subband hopping. In an example, a hopping sequence (e.g., S1 or S2) may be a channel from subband 1 (e.g., 1SB0), a channel from subband 2 (e.g., 1SB1), a frequency from subband 3 (e.g., 1SB2), a frequency from subband 4 (e.g., 1SB3) and repeating the subband but with a different channel. It will be appreciated that the hopping sequence is independent for the first time slot and the second time slot. Although four subbands are described as an example, the present disclosure is not limited thereto. The hopping sequence may be stored in a memory in this manner. In another example, a channel list including each of the plurality of channels, such as a sequentially ordered channel list, can be stored in a memory, and a frequency hopping algorithm selects a next channel from another sub-band, thereby dynamically generating a frequency hopping sequence. In one example, the sub-band information can also be stored in a memory, or can be calculated.
[0080] According to various embodiments, a first frequency hopping sequence may be provided (e.g., generated) such that two (e.g., any two) adjacent channels of the first frequency hopping sequence belong to different sub-bands, so that each channel frequency hopping is also a sub-band frequency hopping. According to various embodiments, a second frequency hopping sequence may be provided (e.g., generated) such that two (e.g., any two) adjacent channels of the second frequency hopping sequence belong to different sub-bands, so that each channel frequency hopping is also a sub-band hopping.
[0081] Figure 7 The diagram illustrates a frequency hopping sequence within a frequency band utilizing sub-bands according to various embodiments. For simplicity, only one frequency band 60 is shown to illustrate channel hopping of one time slot, either the first time slot TS1 or the second time slot TS2, while the other time slot for the corresponding frequency band can be implemented identically. The frequency hopping sequence is independent for the first time slot and the second time slot. Block 62 represents sub-bands SB0, SB1, SB2, and SB3. The frequency hopping sequence is such that when starting from sub-band SB0, the next channel is in sub-band SB1, then in SB2, and so on, until the last sub-band (SB3 in this example) is selected, and then sub-band SB0 can be selected again, but with a different channel than previously used for that sub-band. By such sub-band hopping, when frequency hopping is required, an operating channel (e.g., a first operating channel or a second operating channel) is selected from a different sub-band.
[0082] Figure 7 Block 64 of FIG. 64 shows an example of a channel actually selected as an operating channel. An exemplary frequency hopping sequence is S[0:15]=00, 04, 10, 12, 01, ... Starting from channel 00, when an error condition is met (e.g., because the error count of this channel exceeds a threshold), the next channel selected as the operating channel is 04, which is from the second sub-band SB1. The next hop is to channel 10 of sub-band SB2, then channel 12 of sub-band SB3, and then to another channel of sub-band SB0, such as channel 01, because channel 00 has been marked as "unavailable".
[0083] According to some embodiments, when at least one of the subchannels has no remaining channels to jump to, for example, no remaining channels satisfy the error condition, the frequency hopping sequence can be started from the beginning, for example, where all error counts for each channel are reset (for example, the counts are zero), and / or all error conditions are cleared. Alternatively, a regeneration of the frequency hopping sequence can be performed. Alternatively or additionally, the frequency hopping sequence can be continuously updated, for example, the channels can be tested when the radio transceiver device is idle, for example, reception is completed or there is no transmission in the time slot. In some embodiments, the channels tested can be in different subbands of the operating channel of the corresponding time slot, for example, if the current active subband is SB0, only the channels that are not in SB0 are tested, so that the impact on the frequency hopping is minimized when the frequency hopping sequence is updated. For example, the channel to be tested can be in the subband farthest from the subband of the operating channel of the corresponding time slot, for example, the operating frequency may be in subband SB0, and the channel to be tested may be in SB3 (assuming that 4 subbands are used). In some embodiments, it is envisaged to test all channels in each subband and update the best channel to each subband. Alternatively or additionally, the test may include only all channels in the farthest subband, and only the frequency hopping sequence of the subband may be updated. According to some embodiments, only one channel may be tested in one time slot, and one channel may be tested multiple times. In one example, assuming a total of 32 channels, each channel is tested 4 times, and it may take 128ms (32 x 4) to complete the test of all channels. Although several embodiments are illustrated, the present disclosure is not limited thereto.
[0084] According to various embodiments, there may be various conditions under which the frequency hopping sequence may be restarted, regenerated, or updated. The digital device and / or system may be configured accordingly. For example, the condition may be met when at least one of the first frequency hopping sequence S1 and the second frequency hopping sequence S2 is exhausted (e.g., the last position is used and frequency hopping is required, such as a bad channel S
[15] in S[0:15]). For example, the condition may be that the subband is exhausted, or all subbands are exhausted. Exhaustion here means that it has been determined that all channels of the subband meet the error condition.
[0085] Although the above-mentioned example of sub-band hopping is explained using a single frequency band as an illustration, a person skilled in the art will understand that the simplified explanation applies to each of the first frequency band B1 and the second frequency band B2. According to various embodiments, the first time slot TS1 and the second time slot TS2 alternate. According to some embodiments, the next first operating channel 1CHnp1 may be selected from a sub-band different from the sub-band of the first operating channel 1CHn. According to some embodiments, the next second operating channel 2CHnp1 may be selected from a sub-band different from the sub-band of the second operating channel 2CHn.
[0086] According to various embodiments, each of the first time slot TS1 and the second time slot TS2 may have a fixed duration, for example, selected from 10 microseconds to 10 milliseconds. For example, the first time slot may have a duration of 500 microseconds and the second time slot may have a duration of 500 microseconds. For example, a repetition cycle is completed every 1 millisecond.
[0087] According to various embodiments, determining 332 that the failed transmission count CNT1 has exceeded the threshold EMAX1 of the operating channel may be performed simultaneously by the computer peripheral device 100 and the receiver device 200. Each of the computer peripheral device 100 and the receiver device 200 may have synchronizable first and second frequency hopping sequences, and thus may have synchronized first and second frequency hopping sequences. This allows the receiver of each device to be tuned to the operating channel of the transmitter of the other device, thus ensuring continuous communication even if the channel hops.
[0088] According to various embodiments, changing 334 the first operating channel 1CHn and changing 334 the second operating channel 2CHn may be performed by the first channel selector 140 included in the computer peripheral device 100 and simultaneously by the second channel selector 240 included in the receiving device 200 .
[0089] Figure 8 A timing diagram 70 for illustrating data transmission with frequency hopping according to various embodiments is shown. The timing diagram shows time slots TS1 and TS2 for first data UL1 transmitted from the computer peripheral device 100 to the receiver device 200, and the upper block 72 represents the time slots and the corresponding first frequency hopping sequence S1 and second frequency hopping sequence S2. For the purpose of illustration, each time slot has a duration of 1 millisecond, and each first data is transmitted in the form of a data packet having a duration (length) of 500 microseconds.
[0090] Further in Figure 8, the time axis t represents the time from t0 to t8. Data 74 is available for transmission, which is transmitted 76 as first data UL1 and received 78 by the receiver device 200. The sequence of events described will be explained below. As an exemplary initial condition, the operating channel of the first time slot TS1 and the first frequency hopping sequence S1 starts at S1[0], and the operating channel of the second time slot TS2 and the second frequency hopping sequence S2 starts at S2[0]. At time t0, data 1 is available for transmission, and data 1 can be, for example, newly provided and / or generated HID data. The first transmitter Tx1 of the computer peripheral device 100 transmits data 1 as first data UL1 to the receiver device 200 via the operating channel. Since the first time slot is valid at time t0, the first operating channel is selected based on the first frequency hopping sequence S1 according to S1[0]. The receiver device 200 receives the data 1, and the receiver device 200 then transmits an acknowledgment ACK1 to the first receiver Rx1 of the computer peripheral device 100, for example, via the operating channel according to S1[0]. Since no transmission failure occurs, the error condition is not satisfied, frequency hopping does not occur, and the operating channel remains unchanged.
[0091] At time t1, no new data is available for transmission, so no data transmission of the data stream occurs. At time t2, data 2 becomes available for transmission. The first transmitter Tx1 of the computer peripheral device 100 transmits data 2 as first data UL1 to the receiver device 200 via the operating channel. Since at time t2, the second time slot is valid, the first operating channel is selected based on the second frequency hopping sequence S2 according to S2[0], and data 2 is transmitted. The first receiver Rx1 of the computer peripheral device 100 does not receive the acknowledgment ACK1 from the receiver device 200, which indicates that data 2 was not successfully transmitted and a transmission failure occurred, as shown in FIG. Figure 8 "Error" is shown. According to S2[0], the error count CNT2 of the channel increases (e.g., from 0 to 1). At time t3 of the same time slot TS2, data 2 is sent again, an error occurs again, and the error count CNT2 increases again (e.g., from 1 to 2).
[0092] At time t4, data 3 becomes available, however, because data 2 has not yet been successfully sent (e.g., is still in the buffer), data 2 is sent first. The first transmitter Tx1 of the computer peripheral device 100 sends data 2 to the receiver device 200 via the operating channel. Since at time t4, the first time slot TS1 is valid, the first operating channel is selected based on the first frequency hopping sequence S1 according to S1[0]. Data 2 is received by the receiver device 200, which then transmits an acknowledgment ACK1 to the first receiver Rx1 of the computer peripheral device 100, for example, via the operating channel according to S1[0]. Since no transmission failure has occurred, the error condition is not satisfied, frequency hopping does not occur, and the operating channel remains unchanged.
[0093] At time t5, no new data is available, but data 3 has not yet been sent, for example, it is still in the buffer. The first transmitter Tx1 of the computer peripheral device 100 sends data 3 to the receiver device 200 via the operating channel. Since at time t5, the first time slot TS1 is valid, the first operating channel is selected based on the first frequency hopping sequence S1 according to S1[0], i.e., at Figure 8 In this example, the operating channel remains unchanged for the first time slot TS1.
[0094] At time t6, data 4 becomes available and is sent through the channel corresponding to S2[0], transmission failure occurs again, and the error count CNT2 of the channel corresponding to S2[0] increases again (for example, from 2 to 3).
[0095] For example, at time t7, it is determined that the threshold EMAX2 (threshold value is 2) of the operating channel according to S2[0] has been exceeded by CNT2 of 3, and the second error condition (for channel S2[0]) becomes satisfied. Therefore, the channel of the second time slot TS2 changes from S2[0] to S2[1], still in the same frequency band as S2[1], but in a different sub-band than S2[0]. At time t7, no new data is available, but data 4 has not yet been sent, for example, it is still in the buffer. The first transmitter Tx1 of the computer peripheral device 100 sends data 4 to the receiver device 200 via the operating channel. Since the second time slot TS2 is valid at time t7, the second operating channel is selected based on the second frequency hopping sequence S2 according to S2[1]. Data 4 is received by the receiver device 200, which in turn transmits an acknowledgment ACK1 to the first receiver Rx1 of the computer peripheral device 100, for example, via the operating channel according to S2[1]. Since no transmission failure occurs, no frequency hopping occurs, and the operating channel remains unchanged.
[0096] At time t8, new data 5 is available. The first transmitter Tx1 of the computer peripheral device 100 sends the data 5 to the receiver device 200 via the operating channel. Since at time t8, the first time slot TS1 is valid, the first operating channel is selected based on the first frequency hopping sequence S1 according to S1[0], i.e., Figure 8 In this example, the operating channel remains unchanged for the first time slot TS1.
[0097] In short, you can Figure 8 As can be seen in FIG. 1 , for the first time slot TS1, the operating channel remains unchanged because it has a sufficiently high signal-to-noise ratio and can be successfully used for data communication. On the other hand, for the second time slot TS2, since too many transmission failures are determined for the channel corresponding to S2[0], the operating channel must be changed from the one according to (e.g., stored in) S2[0] to the one according to (e.g., stored in) S2[1]. Therefore, although the second operating channel is impaired, data can still be sent through the first operating channel until a jump to an available channel has been performed, thereby reducing longer data flow interruptions. Since the channels according to S2[0] and S2[1] are in different sub-bands, the second operating channel can quickly stabilize to an available channel by frequency hopping and by avoiding interference sources in large frequency bands. This shows the overall robustness of the communication protocol, which can be used for data communications where time delay is critical.
[0098] Fig. 9 A timing diagram 80 is shown illustrating the variation of operating frequency represented by the vertical axis with time represented by the horizontal axis according to various embodiments. For illustrative purposes, the separation of sub-bands is represented by horizontal dashed lines, and the sub-bands are named on the right side of the figure. A first frequency band can be defined as from 2.402 GHz to 2.441 GHz, including channels 1CH00 to 1CH07, which are spaced 5 MHz apart and centered at 2.402, 2.407, ..., 2.437 GHz, wherein the lower 4 channels are included in sub-band 1SB0 and the upper 4 channels are included in sub-band 1SB1. A second frequency band can be defined as from 2.442 GHz to 2.480 GHz, including channels 2CH00 to 2CH07, which are spaced 5 MHz apart and centered at 2.442, 2.447, ..., 2.477 GHz, wherein the lower 4 channels are included in sub-band 2SB0 and the upper 4 channels are included in sub-band 2SB1. Fig. 9 In the example, the blocks with numbers represent the channels used, and for ease of reference, numbers are added to indicate the order of the data in the data stream. The first frequency hopping sequence used in this example is S1=1CH0, 1CH4, ..., and the second frequency hopping sequence is S2=2CH3, 2CH6, 2CH0, ...
[0099] exist Fig. 9 In the example, at time t0 during the first time slot TS1, data is transmitted through channel 1CH00 at 2.402 GHz as the first channel and the operating channel. At time t1 during the second time slot TS2, data is transmitted through channel 2CH03 at 2.457 GHz as the second operating channel and the operating channel. Returning to the first time slot TS1 at time t2, data is transmitted through channel 1CH00, and then through channel 1CH04.
[0100] Before data is transmitted at time t4, it is determined that data transmission using channel 1CH00 is unsuccessful, which means that an error condition is satisfied, for example, the error count of 1CH00 has exceeded a threshold value. Therefore, channel hopping is performed by selecting another channel. From the frequency scale, it can be seen that the next channel 1CH04 selected as the operating channel is not adjacent to 1CH00, but is selected from another sub-band, 1CH00 is in sub-band 1SB0 and 1CH04 is in sub-band 1SB1. Therefore, at time t4, channel 1CH4 is used to transmit data.
[0101] Before sending data at time t5, it is determined that data transmission using channel 2CH03 is unsuccessful, which means that an error condition is satisfied, for example, the error count of 2CH03 has exceeded a threshold. Therefore, channel hopping is performed by selecting another channel. From the frequency scale, it can be seen that the next channel 2CH06 selected as the operating channel is not adjacent to 2CH03, but is selected from another sub-band, 2CH03 is in sub-band 2SB0 and 2CH06 is in sub-band 2SB1. Therefore, at time t5, channel 2CH6 is used as the operating channel for sending data.
[0102] At time t6, data is transmitted through channel 1 CH04, and at time t7, data is transmitted through channel 2 CH06. At time t8, data is transmitted again through channel 1 CH04. At time t9, channel hopping is performed by selecting channel 2 CH0, which is then used to transmit data. Fig. 9 It can be seen that a suitable operating frequency has been found for the first time slot TS1, since no further channel hopping occurs and data is sent over channel 1 CH04 at times t4, t6, t8 and t10.
[0103] Although the embodiments and examples are described starting from one time slot (e.g., the first time slot TS1 or the second time slot TS2), the digital device may be configured to start communication at another time slot, such as the first time slot TS1 or the second time slot TS2. For example, both the computer peripheral device and the receiver device may have a synchronized clock and the same logic for the time slot of the current clock time.
[0104] According to various embodiments, the digital device may be a peripheral device, such as a human interface device HID, such as a computer mouse 101 or a keyboard, for example a wireless mouse or a wireless keyboard.
[0105] According to various embodiments, the digital device may be a communication unit included in the computer 10 and / or coupleable to the computer 10 , such as a USB dongle 201 .
[0106] Fig.10 A wireless communication system is shown that includes a computer peripheral 100, such as a mouse 101, a communication unit 200, such as a USB dongle 201, which can be electrically coupled, mechanically coupled, and in communication 12 with a computer 10, for example, according to various embodiments.
[0107] According to various embodiments, one of the computer peripheral device 100 or the receiver device 200 may include a hopping sequence generator 250 configured to generate a first hopping sequence S1 and a second hopping sequence S2. According to various embodiments, the hopping sequence generator 250 may be configured to dynamically update the first hopping sequence S1 and the second hopping sequence S2. According to various embodiments, the hopping sequence generator 250 may be configured to transmit the first hopping sequence S1 and the second hopping sequence S2 to the other of the computer peripheral device 100 or the receiver device 200 through an operating channel. In various embodiments, the first channel selector 140 may be configured to store or update each of the first hopping sequence S1 and the second hopping sequence S2 with a new first hopping sequence S1 and a new first hopping sequence S2 received through the receiver Rx1.
[0108] Fig.11 A frequency scanning sequence for frequency band 60 including channel 64 is shown according to various embodiments. As an example, the scan may start from the first channel 00 (e.g., the channel with the lowest frequency in the frequency band) and proceed sequentially to the last channel 15 (e.g., the channel with the highest frequency in the frequency band), or vice versa. 16 channels are shown, but the present disclosure is not limited to this. A condition is determined for each channel, for example, for each channel, the energy intensity of an external signal (i.e., a signal not generated by a digital device or a signal used for a signaling device) may be determined. After the scan is completed, a frequency hopping sequence may be generated (or updated) based on the determined condition. The channels may be sorted by condition, for example, according to some embodiments, the first position in the frequency hopping sequence may be the best channel (e.g., the channel with the lowest external signal), followed by the second best channel, and so on. In addition to the sorting, the frequency hopping sequence also takes into account sub-band hopping, as previously described, so that no position in the frequency hopping sequence has neighbors from the same sub-band. Although Fig.11The example shows a simple frequency scan of a single frequency band, it being understood that the frequency scan may be different (e.g. using channels in a mixed order, or channels in reverse order) and that the scan may be applied to each of the first frequency band B1 and the second frequency band B2.
[0109] Fig.12 A method for generating a frequency hopping sequence, which may be, for example, a first frequency hopping sequence and / or a second frequency hopping sequence, according to various embodiments is shown. A channel, such as a first channel of a frequency band, is selected, and a scan is performed to determine a condition of the channel, such as determining energy intensity or RSSI, which condition is stored in a memory. The process is repeated for all channels, and once all channels have been scanned, the frequency hopping sequences may be sorted according to the best channel considering sub-band hopping. A digital device, such as a receiver device, may then send the new frequency hopping sequence to other digital devices, such as a computer peripheral device, so that both have synchronized frequency hopping sequences. According to various embodiments, the frequency hopping sequence may be sent as first data. For example, a specific code may be used to distinguish different types of data.
[0110] According to various embodiments, the communication unit may be configured to generate and send the first and second hopping sequences S1, S2 to the peripheral device. The computer peripheral device may be configured to receive the first and second hopping sequences S1, S2 from the communication unit.
[0111] The present embodiment also relates to a method for wirelessly connecting a HID to a host. The method may include generating a data packet in response to a user input. The method may also include sending a data packet from a transmitter of the HID to a receiver of a host computer on a first channel (e.g., a low frequency group) within a first plurality of channels or on a second channel (e.g., a high frequency group) within the first plurality of channels. The low frequency group or the high frequency group includes a plurality of sub-bands, each of which further includes a plurality of channels. The method may also include determining whether a confirmation of reception of the data packet is received in the transmitter, wherein if it is determined that a confirmation of reception of the data packet is not received in the transmitter, the data packet is resent. The method may also include determining that the number of retransmissions at the first frequency or the second frequency is greater than a threshold, and based on a frequency hopping sequence (e.g., a dynamic frequency hopping sequence), changing the first frequency or the second frequency to another channel. The frequency hopping sequence may be constructed by selecting a channel from each frequency band of the low frequency or high frequency group. The data packet may be transmitted alternately on a first frequency within the low frequency group and a second frequency within the high frequency group. The low frequency group or the high frequency group may include four frequency bands, each of which may also include four channels.
[0112] Embodiments disclosed herein use interference avoidance methods to mitigate radio frequency interference to wireless human interface device data transmission. Two frequency hopping sequences are used simultaneously. The frequency hopping sequences can be used alternately according to time slots, and the channels in the two sequences do not overlap. Since non-overlapping frequency bands will provide frequency diversity advantages, when the system is interfered by fixed frequency interference with large frequency bandwidth, having separate and non-overlapping frequency bands can improve system performance. In an example, the frequency hopping sequence is dynamically updated. A digital device, such as a dongle, can scan channels in the background. A new channel can be selected and the updated list sent to the human interface device.
[0113] According to various embodiments, a computer readable medium may be provided. The computer readable medium may include instructions which, when executed by a computer, cause the computer to perform the wireless data communication method explained herein according to various embodiments.
[0114] In one aspect, a system of a computer peripheral and a receiver device is contemplated, comprising a computer peripheral as explained herein according to various embodiments and further comprising a receiver device as explained herein according to various embodiments, wherein the computer peripheral and the receiver device are configured to communicate with each other.
[0115] Although the present disclosure has been specifically shown and described with reference to specific embodiments, it will be appreciated by those skilled in the art that various changes may be made to the form and details thereof without departing from the spirit and scope of the present invention. Therefore, the scope of the present invention is indicated by the appended claims, and is therefore intended to include all changes within the equivalent meaning and scope of the claims.
Claims
1. A computer peripheral device (100), comprising: A computer peripheral function circuit (101), used for providing one or more predefined peripheral functions to the computer (10); a human-machine interface for receiving data from a user and / or presenting said data to said user; An encoder (110) for encoding a data stream using the data; A communication circuit configured to implement wireless data communication with a receiver device (200) to couple to the computer (10), the communication circuit further configured to: transmitting the data stream according to a wireless communication protocol, wherein the communication protocol operates in a non-overlapping first frequency band (B1) and a second frequency band (B2), wherein one frequency band is located in a lower frequency range than the other frequency band, wherein each of the first frequency band (B1) and the second frequency band (B2) is divided into a plurality of sub-bands, and wherein each of the plurality of sub-bands is further divided into a plurality of frequency channels, Wherein transmitting the data stream according to the wireless communication protocol comprises: transmitting data of the data stream over an operating channel during a first time slot (TS1) and a second time slot (TS2), wherein the first time slot (TS1) and the second time slot (TS2) have fixed durations and alternate in a periodic sequence; wherein during the first time slot (TS1), the operating channel is a first operating channel (1CHn) selected from one of a plurality of channels of one of a plurality of sub-bands (1SB) of the first frequency band (B1) according to a first frequency hopping sequence (S1), wherein, for the first time slot (TS1), since the first error condition is satisfied, the first operating channel (1CHn) is selected as the next first operating channel (1CHnp1) of the first frequency hopping sequence (S1), wherein during the second time slot (TS2), the operating channel is a second operating channel (2CHn) selected from one of a plurality of channels of one of a plurality of sub-bands (2SB) of the second frequency band (B2) according to a second frequency hopping sequence (S2), wherein, for the second time slot (TS2), since the second error condition is satisfied, the second operating channel (2CH) is selected as the next second operating channel (2CHnp1) of the second frequency hopping sequence (S2), Any two adjacent channels of the first frequency hopping sequence (S1) or any two adjacent channels of the second frequency hopping sequence (S2) belong to different sub-bands.
2. The computer peripheral device (100) of claim 1, further comprising: A first transmitter (Tx1) configured to transmit first data (UL1) of the data stream via the operating channel (14); a first receiver (Rx1) configured to receive second data (DL1); The first channel selector (140) is configured to select the operating channel (14) as a first operating channel (1CHn) according to the wireless communication protocol and is configured to select the operating channel (14) as a second operating channel (2CHn).
3. The computer peripheral device (100) of claim 2, further comprising a comparator configured to perform a determination whether the second data (DL1) comprises an acknowledgement (ACK1, ACK2) of receipt of the first data (UL1) by the receiver device (200) for a corresponding time slot.
4. The computer peripheral device (100) of claim 3, wherein: The first error condition becomes satisfied when the determination fails to confirm receipt of the first data (UL1) for the first operating channel (1CHn) and the determination failure count for the channel exceeds a first predetermined threshold.
5. The computer peripheral device (100) according to claim 3, wherein: The second error condition becomes satisfied when the determination fails to confirm receipt of the first data (UL1) for the second operating channel (2CHn) and the determination failure count for the channel exceeds a second predetermined threshold.
6. The computer peripheral device (100) according to claim 1, wherein: Each of the first time slot (TS1) and the second time slot (TS2) has a same fixed duration selected from 10 microseconds to 10 milliseconds.
7. The computer peripheral device (100) according to claim 1, further comprising a frequency hopping sequence generator (250), the frequency hopping sequence generator being configured to generate the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2).
8. The computer peripheral device (100) according to claim 7, wherein: The frequency hopping sequence generator (250) is configured to dynamically update the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2).
9. The computer peripheral device (100) according to claim 7, wherein: The frequency hopping sequence generator (250) is configured to transmit the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2) to the receiver device (200) through the operating channel.
10. The computer peripheral device (100) according to claim 2, wherein: The first channel selector (140) is configured to store or update each of the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2) with a new first frequency hopping sequence (S1) and a new second frequency hopping sequence (S2) received by the first receiver (Rx1) from the receiver device (200).
11. The computer peripheral device (100) according to any one of claims 1 to 10, wherein: The computer peripheral device (100) is a human-machine interface device.
12. The computer peripheral device (100) according to claim 11, wherein: The human-machine interface device is a computer mouse (101) or a keyboard.
13. A receiver device (200) coupleable to a computer (10) and comprising a communication circuit configured to enable wireless data communication with a computer peripheral device (100) according to any one of claims 1 to 12.
14. The receiver device (200) according to claim 13, further comprising a determination circuit for performing a determination of whether the first data (UL1) is received and transmitting an acknowledgement (ACK1, ACK2) of receiving the first data (UL1) to the computer peripheral device (100).
15. The receiver device (200) according to claim 14, wherein The first error condition becomes satisfied when the determination fails to confirm reception of the first data (UL1) of the first operating channel (1CHn) and the determination failure count for the channel exceeds a first predetermined threshold.
16. The receiver device (200) according to claim 14, wherein The second error condition becomes satisfied when the determination fails to confirm reception of the first data (UL1) of the second operating channel (2CHn) and the determination failure count for the channel exceeds a second predetermined threshold.
17. The receiver device (200) according to claim 13, further comprising a frequency hopping sequence generator (250) configured to generate the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2).
18. The receiver device (200) according to claim 17, wherein The frequency hopping sequence generator (250) is configured to dynamically update the first frequency hopping sequence (S1) and the second frequency hopping sequence.
19. The receiver device (200) according to claim 17, wherein The frequency hopping sequence generator (250) is configured to transmit the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2) to the computer peripheral device (100) through the operation channel.
20. The receiver device (200) according to any one of claims 13 to 19, wherein The second channel selector (240) is configured to store or update each of the first frequency hopping sequence (S1) and the second frequency hopping sequence (S2) using a new first frequency hopping sequence (S1) and a new second frequency hopping sequence (S2) received by a second receiver (Rx2) from the computer peripheral device (100).
21. A wireless data communication method (300) for communicating between a computer peripheral device (100) and a receiver device (200), comprising: transmitting a data stream (350) from a computer peripheral device (100) to a receiver device (200) according to a wireless communication protocol, wherein the communication protocol operates in a non-overlapping first frequency band (B1) and a second frequency band (B2), wherein one frequency band is located in a lower frequency range than the other frequency band, wherein each of the first frequency band (B1) and the second frequency band (B2) is divided into a plurality of sub-bands, and wherein each of the plurality of sub-bands is further divided into a plurality of frequency channels, Wherein, transmitting the data stream according to the wireless communication protocol comprises: transmitting data of the data stream over an operating channel during a first time slot (TS1) and a second time slot (TS2), wherein the first time slot (TS1) and the second time slot (TS2) have fixed durations and alternate in a periodic sequence; wherein during the first time slot (TS1), the operating channel is a first operating channel (1CHn) selected from one of a plurality of channels of one of a plurality of sub-bands (1SB) of the first frequency band (B1) according to a first frequency hopping sequence (S1), wherein, for the first time slot (TS1), since the first error condition is satisfied, the first operating channel (1CHn) is selected as the next first operating channel (1CHnp1) of the first frequency hopping sequence (S1), wherein during the second time slot (TS2), the operating channel is a second operating channel (2CHn) selected from one of a plurality of channels of one of a plurality of sub-bands (2SB) of the second frequency band (B2) according to a second frequency hopping sequence (S2), wherein, for the second time slot (TS2), since the second error condition is satisfied, the second operating channel (2CH) is selected as the next second operating channel (2CHnp1) of the second frequency hopping sequence (S2), Any two adjacent channels of the first frequency hopping sequence (S1) or any two adjacent channels of the second frequency hopping sequence (S2) belong to different sub-bands.
22. The wireless data communication method (300) according to claim 21, wherein: Each of the first time slot (TS1) and the second time slot (TS2) has a fixed duration selected from 10 microseconds to 10 milliseconds.
23. The wireless data communication method (300) according to claim 21, wherein: The failed transmission count has exceeded a predetermined threshold for the operating channel, and thus the first error condition has become satisfied.
24. The wireless data communication method (300) according to claim 21, wherein: Failed transmission counting is performed simultaneously by the computer peripheral device (100) and the receiver device (200).
25. The wireless data communication method (300) according to claim 21, wherein selecting the first operating channel (1CHn) as the next first operating frequency channel (1CHnp1) or selecting the second operating channel as the next second operating channel (2CHnp1) is performed simultaneously by a first channel selector (140) included in the computer peripheral device (100) and a second channel selector (240) included in the receiver device (200).
26. The wireless data communication method (300) according to claim 21, wherein: The computer peripheral device (100) is a human-machine interface device.
27. The wireless data communication method (300) according to claim 26, wherein: The human-machine interface device is a computer mouse (101) or a keyboard.
28. The wireless data communication method (300) according to any one of claims 21 to 27, wherein: The receiver device (200) is a USB dongle (201).
Citation Information
Patent Citations
Apparatus and method for performing resource allocation and communication in a wireless communication system, and system using the same
CN101401338A
Dual-mode shared OFDM methods / transmitters, receivers and systems
CN102647266A