Abstract:
A system and method for coding identification in a wireless transmit and receive protocol for single-frequency peripheral devices. A wireless system, consisting of a first data transmitting unit, a second data transmitting unit, and a data receiving unit, is able to send a packet twice using an Amplitude-Shift Keying (ASK) Modulation technique, repeated sending, and a single frequency, during one packet transmission. In order to lower the cost of the wireless module, the length of a packet transmission period is to be four times the sum of the time required to send two separate packets, thus allowing simultaneous control of two data transmitting units, and recognition of two different packets using a single data receiving unit.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The invention is a coding method and system. More specifically, the invention is a system and method for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices such as a wireless mouse or keyboard.  
           [0003]    2. Related Art  
           [0004]    Most peripheral devices for computers today, such as keyboards or mice, perform data transfer through cords. The cords of these devices often limit movement, and prevent the user from operating at a distance.  
           [0005]    Keyboards and mice with wireless designs that overcome the aforementioned problems have hit the market, but are accompanied by a relatively expensive price tag. Moreover, most of these wireless peripheral devices have been designed independently and therefore come with their own set of transmit and receive units. If one purchases two wireless peripheral devices, one would also have bought two separate sets of wireless transmission and reception units, wasting money on functionally redundant devices.  
           [0006]    Yet another product uses only one receiving unit for the wireless keyboard and mouse, however some issues still remain. For example, the wireless keyboard and wireless mouse use different carrier frequencies, thus requiring different designs in the wireless transmitting and receiving devices. That is, the receiving unit must receive two distinct frequencies. Referring to FIG. 1, the first data-transmitting unit  10  (e.g. a mouse) uses a carrier frequency F 1  to transmit data through a wireless transmission module  101 , while the second data-transmitting unit  20  (e.g. a keyboard) uses a carrier frequency F 2  to transmit data through a wireless transmission module  201 . The receiving end, i.e. the data-receiving unit  30 , receives both carrier frequencies F 1  and F 2  through a wireless reception module  301 . Because of the discrepancy in the carrier frequencies, the first data-transmitting unit  10  and the second data-transmitting unit  20  must use different radio frequency (RF) modules, i.e. the wireless transmitting modules  101  and  201  must have different designs. Similarly, the receiving end, i.e. the data-receiving unit  30 , must use two different frequency-switching technologies in its software design. In order to provide such technologies, a company must spend more on the R&amp;D of both software and hardware design. This extra expenditure is then reflected in the price of the product. The current focus of R&amp;D in the field has been to find a common transmit and receive protocol, and thus use only one frequency to achieve data transmission between multiple wireless peripheral devices.  
         SUMMARY OF THE INVENTION  
         [0007]    In light of the aforementioned technical issues, the object of the invention is to provide a system and method for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices. Using Amplitude-Shift Keying (ASK) Modulation and Time-Division-Multiplexing (TDM), the invention allows wireless peripheral devices (e.g. keyboard and mouse) to transmit and receive data using the same frequency. Such methods would considerably lower the cost and power consumption of the wireless module (e.g. RF or IR), and avoid the need to include complex frequency-switching technologies in the software of the system.  
           [0008]    An additional object of the invention is to provide a system and method for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices with unique identification codes to prevent interference from other home electronic devices.  
           [0009]    Using the technology disclosed by the invention, a method is provided for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices. The invention utilizes ASK Modulation, and a single frequency as the carrier frequency of a wireless system consisting of a first data-transmitting unit, a second data-transmitting unit and a data-receiving unit to achieve transmission of digital data through the procedures described hereinafter. Set the transmission time of the first data packet and first identification packet of the first data-transmitting unit and the second data packet and second identification packet of the second data-transmitting unit, and, by way of repeated sending, transmit the packets twice within one packet transmission period. Code the data content of the first data packet of the first data-transmitting unit and the second data packet of the second data-transmitting unit, and set the content of each block of the data packets according to the report rate of the first and second data-transmitting unit. Set the first ID packet of the first data-transmitting unit and the second ID packet of the second data-transmitting unit to differentiate the first data-transmitting unit and the second data-transmitting unit, and set the content of each block of the data packets according to the report rate of the first and second data-transmitting unit. Finally, configure an identification key, where the communication system is in a data-encoding mode and transmitting the first and second data packets. Pressing the identification key switches the system into a data-identifying mode that allows the system to send the first and second ID packets.  
           [0010]    Using the aforementioned technologies, the invention provides a system for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices. The system consists of: a first data-transmitting unit, with a first identification key to set the first ID packet, and a first wireless transmission unit to send a first data packet; a second data-transmitting unit, with a second identification key to set the second ID packet, and a second wireless transmission unit to send a second data packet; and, a data-receiving unit, with a third data-receiving unit used to receive the first data packet, the first ID packet, the second data packet and the second ID packet.  
           [0011]    Further scope of applicability of the invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description. 
       
    
    
     BRIEF DESCRIPTIONS OF THE DRAWINGS  
       [0012]    The invention will become more fully understood from the detailed description of given hereinafter. However, the drawings are for the purpose of illustration only, and thus are not limitative of the invention, wherein:  
         [0013]    [0013]FIG. 1 is an illustration of the keyboard and mouse, each using a different carrier frequency;  
         [0014]    [0014]FIG. 2 is the system of the invention for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices;  
         [0015]    [0015]FIG. 3 is an illustration of ASK Modulation technology;  
         [0016]    [0016]FIG. 4 is an illustration of the invention&#39;s transmission of packets by the data-transmitting unit;  
         [0017]    [0017]FIG. 5 is an illustration of the invention&#39;s transmission of packets from the point of view of the first data-transmitting unit;  
         [0018]    [0018]FIG. 6 is an illustration of the invention&#39;s transmission of packets from the point of view of the second data-transmitting unit;  
         [0019]    [0019]FIG. 7 is an illustration of the invention&#39;s transmission of packets from the point of view of the data-receiving unit;  
         [0020]    FIGS.  8 A˜ 8 E are illustrations of the bit coding of the invention;  
         [0021]    [0021]FIG. 9 is an illustration of a data packet of a mouse as described in the invention;  
         [0022]    [0022]FIG. 10 is an illustration of a data packet of a keyboard as described in the invention;  
         [0023]    [0023]FIG. 11 is an illustration of the system of the invention for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices with the added ability to identify other similar systems; 
     
    
       [0024]    TABLE. 1 is the structure of a data packet of a mouse as described in the invention;  
         [0025]    TABLE. 2 is the structure of a data packet of a keyboard as described in the invention;  
         [0026]    TABLE. 3 is an illustration of an ID packet of a mouse as described in the invention; and  
         [0027]    TABLE. 4 is an illustration of an ID packet of a keyboard as described in the invention.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0028]    With reference to FIG. 2, which illustrates the system for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices, the single-frequency system of the invention includes a first data-transmitting unit  40 , a second data-transmitting unit  50  and data-receiving unit  60 . The first data-transmitting unit  40  and the second data-transmitting unit  50  each have their own wireless transmission module  401  and  501 , respectively. These two modules are structurally similar in that they can either be RF or IR transmission modules, using a common carrier frequency F 3 . The data-receiving unit  60  has a wireless reception module  601 , which is only required to receive a single carrier frequency F 3 . Because the system of the invention uses only one carrier frequency on both the transmitting and the receiving end, it can adopt a relatively simple design.  
         [0029]    The method with which the invention achieves transmission of two wireless peripheral devices using only one frequency, i.e. the method of the invention for coding and identification in a transmit and receive protocol for wireless single-frequency peripheral devices, is described hereinafter.  
         [0030]    Firstly, since a single frequency is used, ASK Modulation technology is used. ASK Modulation technology is characterized by operation with one frequency, and can modulate the pulse width according to the length of consecutive l&#39;s in the bit string. As in FIG. 3, the original digital signal x(t) is changed into signal S ASK (t) after ASK Modulation. The bit  1  becomes part of S ASK (t) where the pulse width is T b , the bits  11  become part of S ASK (t) where the pulse width is 2T b , and 0&#39;s denote zero output. The system can thus conserve power at the wireless module.  
         [0031]    Secondly, the system utilizes TDM to divide the pulse time between the peripheral devices, such as the first data-transmitting unit  40  and second data-transmitting unit  50  in FIG. 2. The details of this method are described hereinafter:  
         [0032]    With reference to FIG. 4, the time required to send the data packet of the first data-transmitting unit is time B, where T 1  is the time required to complete one transmission. To ensure that the packets are sent without distortion, each packet is sent twice, with time T 2  being the time between each packet. The time required to send the data packet of the second data-transmitting unit is time A, where T 3  is the time required to complete one transmission. The packets are also sent twice, with T 4  being the time between each packet.  
         [0033]    However, in order to send two different packets in parallel, they must be sent at different moments in time, using TDM. From the first data-transmitting unit&#39;s point of view, the time gap T 2  between 2 repeated data packet transmissions of the first data-transmitting unit must be longer than A, as in FIG. 5,  
         T 2 &gt;A  (1)  
         [0034]    The time difference between the total transmission time T 1  of the first data-transmitting unit and the time for it to send the data packet twice (T 2 +2B) must be enough to encompass the time required for the second data-transmitting unit to send its packet twice, that is,  
         T 1 −(T 2 +2B)≧T 4 +2A  (2)  
         [0035]    From the second data-transmitting unit&#39;s point of view, the time gap T 4  between repeated packet transmissions by the second data-transmitting unit is set to be longer than the time required for repeated sending of packets by the first data-transmitting unit, as in FIG. 6,  
         T 4 ≧T 2 +2B  (3)  
         [0036]    The time difference between the total transmission time T 3  of the second data-transmitting unit and the time for it to send the data packet twice (T 4 +2A) must be enough to encompass the time required for the first data-transmitting unit to send its packet twice, that is,  
         T 3 −(T 4 +2A)≧T 2 +2B  (4)  
         [0037]    Combining equations 1-4, one can obtain the following:  
         T 1 ≧4(A+B)  (5)  
         [0038]    and  
         [0039]    T 3 ≧4(A+B)  (6)  
         [0040]    Therefore, the time required for a complete transmission by the first and second data-transmitting units has to be longer than four times the sum of the time required to send each individual packet.  
         [0041]    The effect of the design is evident from the point of view of the receiving end. If the first and second data-transmitting units both transmit data at the same time, as in FIG. 7, the data packet received by the data-receiving unit is recognizable because of the overlapping of the data packets of the first and second data-transmitting units. However, since the time gap between repeated transmissions by the first data-transmitting unit is T 2 ≧A, and the time gap between repeated transmissions by the second data-transmitting unit is T 4 ≧B, if the first packets B and A overlap, [there cannot be another overlapping when the repeating packets B′ and A′]—(the grammar in this clause is unclear). The data-receiving unit can then correctly receive the packets B and A.  
         [0042]    In fact, because of the repeated transmission design of the invention, the data-receiving unit can correctly receive the packets whether overlapping occurs or not during transmission. Thus, using TDM, the invention only requires one set of receiving devices at the receiving end, that is, the data-receiving unit is only required to recognize the contents of each individual packet.  
         [0043]    The technique with which the invention handles two different peripheral devices, that is, the design of the packet contents, is described hereinafter, using the wireless mouse and wireless keyboard as practical examples. Since the mouse and the keyboard transmit different data, the design of the packets may differ. The detailed construction of the packets for the mouse and the keyboard are described separately hereinafter.  
         [0044]    Table 1 is the data packet structure of the mouse. The mouse uses five bytes of data, each byte consisting of eight bits. The detailed description of each byte is as follows:  
         [0045]    Byte  1  is the packet command, which consists of:  
                                                                                                                                                                                                                                 Device type: used to identify the data-transmitting unit type, the mouse is           identified as 10, for example.                Sequence number(Seq. no): used to identify the sequence number of the                packets received. For example, repeated packets have the same           sequence number (e.g. 1 and 1, or 0 and 0), whereas two distinct packets           have different sequence numbers; if one packet has the sequence           number 0, then the neighboring packet would be 1 and vice versa.                Battery Low(Bat. Low): the status of the battery of the data-transmitting unit.                0 can be designated as normal, and 1 can be designated as battery low.                Set: used to identify the ID code status. 0 can be designated to be transmitting,                and 1 setting the ID code.                M: status of the middle button of the mouse, 1 signals a middle button pressed                down.                R: status of the right button of the mouse. 1 signals a right button pressed                down.                L: status of the left button of the mouse. 1 signals a left button pressed down.            Byte 2 is the data for the vector indicating the motion of the mouse in the x direction,                where a negative direction is represented in 2&#39;s complement. If the Set bit is 1,           then byte 2 represents the ID of the device.            Byte 3 is the data for the vector indicating the motion of the mouse in the y direction,                where a negative direction is represented in 2&#39;s complement.            Byte 4 is the mouse command, which includes the rest of the mouse-related                commands:                YS: the sign bit of the motion in the X direction.           XS: the sign bit of the motion in the Y direction.           Z0-Z3: motion of the mouse in the z direction.           B5: status of the fifth button of the mouse. 1 signals a pressed down.           B4: status of the fourth button of the mouse. 1 signals a pressed down.            Byte 5 is Checksum, used to detect any errors associated with the packet.                  
 
         [0046]    Table 2 is the data packet structure of the keyboard. The keyboard uses three bytes, each byte consisting of eight bits. The detailed description of the bytes is as follows:  
                                                                                                                     Byte 1 is the packet command, which consists of:                Device type: used to identify the data-transmitting unit type; the keyboard is           identified as 01, for example.                Sequence number: used to identify the sequence number of the packets                received. For example, the repeated packets have the same sequence           number (e.g. 1 and 1, or 0 and 0), whereas two distinct packets have           different sequence numbers; if one packet has the sequence number 0,           then the neighboring packet would be 1 and vice versa.                Battery Low: the status of the battery of the data-transmitting unit. 0 can be                designated as normal, and 1 can be designated as battery low.                Set: used to identify the ID code status. 0 can be designated to be transmitting,           and 1 setting the ID code.           M/B: indicates whether the key is being hit or deleted; M indicates a make, B           indicates a break.           End: status of the keyboard. 0 can be designated as having at least one key in use,           while 1 can be designated as having none of the keys in use.            Byte 2 is Key Number, which outputs the code of the keys used. If Set is 1, this byte                is used as the device ID.            Byte 3 is Checksum, used to detect any errors associated with the packet.                  
 
         [0047]    The start and end codes, as well as the encoding of each bit, must be defined properly in reference to FIGS.  8 A˜ 8 E. It must be emphasized that in the aforementioned examples, the mouse uses 40 bits of data, while the keyboard uses 24 bits. In reality, the report rate of a mouse (standard PS/2) or a keyboard is at least 40 times per second. That is, at least 40 packets of data can be sent each second, and therefore each packet is to be sent within 25 ms. The packet transmission time is further restricted by equations 5 and 6:  
         T 1 ≧4(A+B)  (5)  
         T 3 ≧4(A+B)  (6)  
         [0048]    Where the complete packet transmission time is to be larger than four times the sum of the time required to send a mouse packet and a keyboard packet. Under these restrictions, the following time settings for the bits can be made to keep the complete packet transmission time to 24 ms:  
                                                                           Bit 0 set to be 30 μs of high potential and 30 μs of zero potential, as in FIG. 8A.       Bit 1 set to be 40 μs of high potential and 40 μs of zero potential, as in FIG. 8B.                Packet Start Data set to be 55 μs of high potential and 55 μs of zero potential, as in FIG.                8C.                Packet End Data set to be 70 μs of high potential and 70 μs of zero potential, as in FIG.                8D.                      
 
         [0049]    Using this time designation, the entire packet is structured as indicated in FIG. 8E, and can be achieved by ASK Modulation from start to end without any recognition error. Furthermore, the wireless module can use either an RF or IR module. The packet length of the mouse and keyboard under such a design can be controlled within 6 ms, fulfilling the aforementioned requirements.  
         [0050]    Having briefly defined the contents of a packet, more details can be added to the data packet structure of the invention, described hereinafter with reference to FIG. 9, which is an illustration of the data packet of a mouse, and FIG. 10, which is an illustration of the data packet of a keyboard. Each byte contains 8 bits. Since the invention designates different lengths for the bits  0  and  1 , the duration of each byte of data is roughly between 320˜480 μs. The length of a data packet structure for the mouse is around 3.5 ms whereas the length of a data packet structure for the keyboard is around 2.5 ms. The complete packet transmission of both devices is approximately 24 ms.  
         [0051]    One part of the system remains undefined. The invention is a system for a wireless transmit and receive protocol, which makes it necessary for the system to have the ability to identify neighbouring wireless systems. This is achieved by setting the ID code.  
         [0052]    With reference to FIG. 11, in comparison to FIG. 2, the system for coding and identification in a wireless transmit and receive protocol for single-frequency peripheral devices further includes the ability to identify other similar systems. On each of the first data-transmitting unit  40 , second data-transmitting unit  50  and data-receiving unit  60 , an ID key  402 ,  502 , and  602  is added, respectively. These ID keys are used to set each transmit/receive unit so that the units “know” to which other unit it corresponds. The content of these keys are properly recorded in the data packets.  
         [0053]    The sequence to set a new ID code can be designated as the following procedure: First press the ID keys  402  and  502  for the first and second data-transmitting units, respectively, then press the ID key  602  of the data-receiving unit  60 .  
         [0054]    With reference to Tables 1 and 2, while setting a new ID code, the ‘Set’ bit of the first byte of the mouse and the keyboard data packets (i.e. the first data-transmitting unit  40  and second data-transmitting unit  50 ) is 1. At this point in time, the mouse sends data as indicated in Table 3. As in Table 1, the mouse uses up 5 bytes, each byte consisting of 8 bits. The detailed description of each byte is as follows:  
         [0055]    Byte  1  is the packet command, which consists of: device type, sequence number, battery low, and set, as described in Table 1. A different set of bits, count down, contains 3 bits, and counts down from 7, decreasing with the transmission of each packet until it hits zero, which indicates that all packets sent after completed count down are to be sent with the new ID code.  
         [0056]    Byte  2  is now changed to the ID of the device, which is generated randomly.  
         [0057]    Byte  3  is Checksum.  
         [0058]    Byte  4  is the 2&#39;s complement of Checksum, used to ensure that the packet content is correct.  
         [0059]    Byte  5  is also Checksum.  
         [0060]    The keyboard sends data as indicated in Table 4. As in Table 2, the keyboard uses 3 bytes, each byte consisting of 8 bits. The detailed description of each byte is as follows:  
         [0061]    Byte  1  is the packet command, which consists of: device type, sequence number, battery low, and set, as described in Table 1. A different set of bits, count down, contains 3 bits, and counts down from 7, decreasing with the transmission of each packet until it hits zero, which indicates that all packets sent after completed count down are to be sent with the new ID code.  
         [0062]    Byte  2  is now changed to the ID of the device, which is generated randomly.  
         [0063]    Byte  3  is Checksum.  
         [0064]    The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.  
                                                                                                                                                 TABLE 1                       Byte   Description   7   6   5   4   3   2   1   0                                1   Packet Command   Device   Seq.   Bat.   Set   M   R   L               Type   no   Low            2   X   X7   X6   X5   X4   X3   X2   X1   X0       3   Y   Y7   Y6   Y5   Y4   Y3   Y2   Y1   Y0       4   Mouse Command   YS   XS   B5   B4   Z3   Z2   Z1   Z0            5   Checksum   ChkSum                  
 
         [0065]    [0065]                                                                                                       TABLE 2                       Byte   Description   7   6   5   4   3   2   1   0                                1   Packet   Device Type   Seq.   Bat.   Set       M/   End           Command       no   Low           B            2   Scanned Key   Key Number       3   Checksum   ChkSum                    
         [0066]    [0066]                                                                                               TABLE 3                       Byte   Description   7   6   5   4   3   2   1   0                                1   Packet Command   Device   Seq.   Bat.   Set   Count Down               Type   no   Low            2   X   New ID       3   Y   ChkSum       4   Mouse Command   ChkSum       5   Checksum   ChkSum