Abstract:
A power saving infrared keyboard transmission method adapted for data transmission of a cordless computer keyboard is disclosed. The cordless keyboard has a transmission modulus comprising a microprocessor which converts the information related to the operation status of the keys of the keyboard into a series of pulses comprised of at least a first data byte and a second data byte. A leader code and a start code are added to the series of pulses in front of the first data byte and the leader code and the start code are transmitted before the data bytes are transmitted. A receiving modulus which is coupled to a host machine receives the data bytes together with the leader code and the start code. The leader code and the start code are received first to serve as an identification of the transmission of the data bytes so that the receiving modulus receives and interrupts the received data efficiently and effectively.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to communication between an infrared computer keyboard and the associated host computer and in particular to a power saving infrared keyboard transmission method which provides a more effective identification and a more efficient way of data transmission between the infrared keyboard and the host computer. 
     2. Related Arts 
     Computers are widely used nowadays to handle a number of jobs, such as word processing communication, and business transactions. In using a computer, a man-machine interface, such as input device, is of vital importance. One of the most commonly known input device is the keyboard and thus the efficiency and effectiveness in operating the keyboard plays an important role in user-controlling the computer. 
     Conventionally, the keyboard is coupled to the computer by means of a cable which transmits data/information between the keyboard and the host computer. However, with such a physical connection between the keyboard and the computer, it may be somehow difficult for a computer user to readily move the keyboard as he or she wishes. To overcome such a problem, cordless keyboards, such as infrared keyboards, are also available in the market wherein the keyboard is coupled to the computer in a cordless manner, such as by means of infrared signal transmitted between the keyboard and the host computer. The most important factors that control the performance of the infrared keyboard is the precision and efficiency of data/signal receiving and transmission which affects the sensitivity of the infrared keyboard. 
     Conventionally, the infrared keyboard encodes and transmits the information to be transmitted by means of a transmission modulus in the form of an infrared signal comprised of a series of pulses and a receiving modulus is used to receive and decode the signal. To avoid unnecessary interference from other infrared transmitters and to correctly receive the signal, the period of each of the pulses of the infrared signal has to be increased. This elongates the time interval when the infrared transmitter is maintained active in the “ON” condition which consumes power and lowers down the efficiency of data receiving operation. 
     Furthermore, in such a conventional way of data transmission, there may be likelihood of data missing or signal discontinutiation/interruption, for example, when the depression of a key is not firm which causes an unrecognisable signal. In such a case, the receiving modulus is not capable to correctly decode (interpret) the signal received so that repeatedly depressing the same key is required, which lowers down the sensitivity and correctness of the keyboard operation. This causes an unnecessary waste of time and power. 
     It is thus desirable to have a method for efficiently and effectively transmitting data between an infrared keyboard and a host computer so as to overcome the problems encountered in the prior art. 
     SUMMARY OF THE INVENTION 
     Thus, a principal object of the present invention is to provide a power saving infrared keyboard transmission method which adds identification code(s) to the series of pulses that representing the data to be transmitted so as to facilitate precisely and efficiently receiving and decoding the data received, the pulse period being significantly reduced so as to result in a reduction of power consumption and providing an overall power saving in transmitting infrared signals 
     Another object of the present invention is to provide a power saving infrared keyboard transmission method which adds an identification code and a data beginning code and has function of transmission timer interruption so that signal reception, decoding and signal discrimination may be properly performed even in case that a data missing or signal discontinued situation occurs which enhances the sensitivity of the overall operation of the keyboard. 
     To achieve the above objects, in accordance with the present invention, there is provided a power saving infrared keyboard transmission method wherein the infrared keyboard has a transmission modulus comprising a microprocessor which converts the information related to the operation status of the keys of the keyboard into a series of pulses comprised of at least a first data byte and a second data byte. A leader code and a start code are added to the series of pulses in front of the first data byte and the leader code and the start code are transmitted first before the data bytes are transmitted. A receiving modulus which is coupled to a host machine receives the data bytes together with the leader code and the start code. The leader code and the start code are received First to serve as an identification of the transmission of the data bytes so that the receiving modulus receives and interprets the received data efficiently and effectively. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be better understood from the following description of a preferred embodiment thereof, with reference to the attached drawings, wherein: 
     FIG. 1 is a circuit block diagram showing the transmission modulus incorporated in the keyboard in accordance with the present invention; 
     FIG. 2 is the timing diagram of the keyboard information transmission signal; 
     FIG. 3 is the timing diagram of the tracking ball/mouse pushbutton information transmission signal; 
     FIG. 4 is a flow chart showing the process of transmitting data in accordance with the present invention; 
     FIG. 5 is flow chart showing the operation of in-frared data transmission performed by the transmission modulus; 
     FIG. 6 is a circuit block diagram of the receiving modulus incorporated in the host computer; and 
     FIG. 7 is a flow chart showing the operation of infrared data reception performed by the receiving modulus. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     With reference to the drawings and in particular to FIG. 1, wherein a circuit block diagram of an infrared transmission module for carrying out the power saving infrared keyboard transmission method in accordance with the present invention is shown, the infrared transmission module which is generally designated with reference numeral  100  is independently powered by a direction current (DC) power source (not shown), comprising a microprocessor  10  which provides the functions of coding/decoding, timing and generation of infrared transmission signal. The microprocessor  10  is connected to a keyboard unit  20  to receive a keyboard signal generated by operating (actuating) a key matrix (not shown) or the keyboard unit  20  and decodes the keyboard signal. The decoded signal is then re-coded by the microprocessor  10  to provide a first transmission signal representing keyboard information to be transmitted which is generally designated with reference character KT in FIG.  2  and is to be transmitted by an infrared transmitter  30  in the form of infrared signal. 
     A tracking ball/mouse pushbutton unit  40  may also be contained in the transmission module  100  to enhance the operation of the keyboard unit  20  for the purpose of Cursor positioning. The function of the tracking ball/mouse is well known and no description is needed. 
     Similar to the keyboard unit  20 , the tracking ball/mouse pushbutton unit  40  generates and provides signals representing cursor position and actuation of tracking ball/mouse pushbutton to the microprocessor  10  which are decoded by the microprocessor  10  and then re-coded to generate a second transmission signal representing tracking ball/mouse information which is generally designated with reference character MT in FIG.  3  and is to be transmitted by an infrared transmitter  30  in the form or infrared signal. 
     With reference to FIG. 2 which shows a timing diagram of the keyboard information transmission signal KT generated by the microprocessor  10  or the transmission modulus  100 , the keyboard information transmission signal KT is in the form of a serial signal, comprising in sequence (from left hand side of FIG. 2 to the right hand side) a leader code LC, a start code SC, and two data bytes DB 1  and DB 2 , each followed by a parity code PD. The leader code LC has an interval determined in accordance with practical need which is 1800 μs in the embodiment illustrated. However, the leader code LC comprises a high level period Th having a level corresponding to logic high (for example “1” for positive logic system) and a low level period TI having a level corresponding to logic low (for example “0” for positive logic system) and the ratio between the high level period Th and the lower level period TI is fixed which in the embodiment illustrated is 1:1.25. 
     Similarly, the start code SC comprises a high level period Th 1  and a low level period TI 1  which has a fixed ratio, such as 1:1 in the embodiment illustrated. The ratio is fixed, but the overall interval for the start code SC may be varied in accordance with practical needed. The time interval for the start code in the embodiment illustrated is 600 μs. Thus with the definition for both the start code SC and leader code LC given above, the starting point of the data bytes DB 1  and DB 2  that follow the start code SC may be properly identified. 
     The data bytes DB 1  and DB 2  are comprised of eight (8) bits B 0 -B 7  and K 1 -K 7 , each having an identical pulse period BT which is 600 μs in the embodiment illustrated. A positive logic “1” in the data is presented by a 600 μs period of high level, while a positive logic “0” is presented by a 300 μs high level and a 300 μs low level. As compared with the conventional technique, this is one-third shorter than the conventional technique. 
     The parity code PD is added to each of the data bytes DB 1  and DB 2  for checking and error detection purpose. 
     In accordance with the present invention, the data bits B 0 -B 7  of the data byte DB 1  provides the information or control parameters of the transmission module  100  and the keyboard unit  20 , including user&#39;s channel, repeating key actuation, dircction current power status, key type and so on. This is conventional technique of cordless keyboaId so that no further detail is needed. The data bits K 1 -K 7  of the data byte DB 2  provides the encoded information of the keys of the keyboard unit  20 , such as ASCII, and the key actuation status. 
     FIG. 3 shows the timing diagram of the tracking ball/mouse pushbutton information transmission signal MT generated by the microprocessor  10  or the transmission module  100  which is in the form of a serial signal comprising, in sequence (from left hand side of FIG. 3 to the right hand side) a leader code LC, a start code (SC) and three data bytes DB 3 , DB 4  and DB 5 , each followed by a parity code PD. The leader code LC and the start code SC are the same as those used in the keyboard information transmission signal KT shown in FIG. 2 so that no further description is needed. 
     The data bytes DB 3  DB 4  and DB 5  are comprised of eight (8) bits D 0 -D 7 , X 1 -X 7  and Y 1 -Y 7  and the parity code PD are added thereto after the bit D 7 , X 7  and Y 7  for error detection purpose. 
     The data bits D 0 -D 7  of the data byte DB 3  provide the control parameters of the tracking ball and information of the mouse pushbutton, including the user&#39;s channel and the actuation status of the mouse pushbuttons (including the right button, middle button and left button). This is a known technique of the cordless keyboard so that no detail is needed herein. 
     The data bits X 1 -X 7  of the data byte DB 4  indicate the X coordinate of the tracking ball of the tracking ball/mouse pushbutton unit  40  of the transmission module  100 , while the data bits Y 1 -Y 7  of the data byte DB 5  represent the Y coordinate of the tracking ball of the tracking ball/mouse pushbutton unit  40  of the transmissions module  100 . 
     With reference to FIG. 4, which shows a flow chart of the transmission of the keyboard information transmission signal KT (shown in FIG. 2) and the tracking ball/mouse pushbtton information transmission signal MT (shown in FIG. 3) by means of the transmission modulus  100 , in performing the transmission operation, the leader code LC is transmitted first, step  210 . In other words, in attempting to transmit keyboard information and/or the tracking ball/mouse pushbutton information, before the data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  are sent to the infrared transmitter  30 , the microprocessor  10  generates and adds the leader code LC to the data bytes DB 1 , DB 2  and/or DB 3 , DB 4 , DB 5  to have the leader code LC transmitted by the infrared transmitter  30  first. In step  220 , the start code SC is transmitted. In other vords, the microprocessor  10 , alter generating the leader code LC, goes on to generate the start code SC and have the start code SC transmitted immediately after the transmission of the leader code LC. 
     In step  230 , a timer or timing functions is started at the time after the leader code LC and the start code SC have already transinitted and when it is going to transmit the data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  of the keyboard infonnation transmission signal KT or the tracking ball/mouse pushbutton information transmission signal MT. In other words, the timing function of the microprocessor  10  is enabled when it is to transmitted the data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  in order to monitor the transmission of the data bytes and the timer or the timing function is interrupted (step  240 ) every one third of each of the pulse period BT so as to check if each of the data bits B 0 -B 7 , K 1 -K 7  and D 0 -D 7 , X 1 -X 7 , Y 1 -Y 7  are correctly transmitted. 
     Referring to FIG. 5, which shows a flow chart of handling and monitoring each data bits B 0 -B 7 , K 1 -K 7  or D 0 -D 7 , X 1 -X 7 , Y 1 -Y 7  sent to the infrared transmittcr  40  of the transmission modulus  100  to be transmitted thereby, the operation is performed by software incorporated in the microprocessor  10  of the transmission modulus  100 . Since the software does not constitute novel parts of the invention, here is no need to provide a detail thereof herein. 
     In the flow chart of FIG. 5, steps  300 - 350  are the process of the timer interruption step  240  of the operation process of FIG.  4 . During each interruption, it is checked if a particular data bit B 0 -B 7 , K 1 -K 7  or D 0 -D 7 , X 1 -X 7 , Y 1 -Y 7  is completed and if not, then the infrared transmitter  40  is held standby and the timing operation for the particular data bit B 0 -B 7 , K 1 -K 7  or D 0 -D 7 , Y 1 -Y 7  is continued. If the timing operation for the particular data bit is completed, then it checks if the timing operation for the whole data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  is completed. This may be determined by means of the parity code PD after each of the data byte. Once one data byte is completed, it checks if all the data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  are completed. If yes, then the operation stops, otherwise the timing operation for a next one of the data byte DB 1 , DB 2  or DB 3 , DB 4 , DB 5  is started. 
     Steps  360 - 370  of the process of FIG. 5 indicate the process of sending each of the data bits B 0 -B 7 , K 1 -K 7  or D 0 -D 7 , Y 1 -Y 7  to the infrared transmitter  30  to be transmitted thereby. In other words, after the steps  300 - 350 , the timing operation of each bit being completed, while the timing operation of a whole data byte DB 1 , DB 2  or DB 3 , DB 4 , DB 5  is not completed, the data bit is transmitted. This is done by first determining the level of the bit is positive logic period “1” or “0” by using the high level period and low level period of the bit pulse interval BT. If the bit is positive logic “0”, then the microprocessor  10  instructs the infrared transmitter  30  to give off a signal, otherwise, namely the bit is positive logic “1”, then the infrared transmitter  30  is not actuated to give off signal. This is because in the embodiment illustrated, an infrared receiver  41  of an infrared recciving modulus  400  (see FIG. 6) used to receive and apply the received signal to for example a computer (not shown) adapts negative logic system. 
     With reference to FIG. 6, which shows a block circuit diagram of the infrared receiving modulus  400  for carrying out the power saving infrared keyboard transmission method in accordance with the present invention, the receiving modulus  400  is powered by a power supply of the computer, comprising an infrared receiver  410  and a microprocessor  420 . The infrared receiver  410  receives the infrared signal transmitted by the infrared transmitter  30  of the transmission modulus  100 . The microprocessor  420  is provided with functions of coding/decoding and storage for storing and decoding the infrared signal received thereby, that comprises the leader code LC, start code SC, data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  and the parity codes PD of the keyboard information transmission signal KT or the tracking ball/mouse pushbutton information transmission signal MT which is transmitted by the infrared transmitter  30  of the transmission modulus  100  and received by the infrared receivers  410 . The microprocessor  420 , after the decoding operation, re-codes the signals in such a fomiat corresponding to a regular keyboard signal and/or tracking ball/mouse pushbutton signal that is machine readable by a computer and sends the re-coded signals to the computer. 
     Referring to FIG. 7, which shows a flow chart of the process of decoding and storing of the signals received by the receiving modulus  400 , the process may be performed by means of software executed in the microprocessor  420 . However, since such software is not the concern of the present invention and may be done by those skilled in the art of computer software and the related art of the present invention, no detail concerning the software will be given herein. 
     Steps  500 - 520  of the process are to determined if it is receiving signals which is done by checking if the leader code LC and start code SC are received. If the leader code LC and the start code SC are received, then performing the receiving operation of the keyboard information transmission signal or tracking ball/mouse pushbutton information transmission signal by sequentially receiving the leader code LC, start code SC, data bytes DB 1 , DB 2  or DB 3 , DB 4 , DB 5  and the parity codes PD. Steps  530 - 533  are concerned with the operation or receiving, decoding and storing the first data byte DB 1  or DB 3  or the keyboard information transmission signal KT or the tracking ball/mouse pushbutton information transmission signal MT. The parity code PD is tised to detennine if the receiving operation is completed and to check if the contents of the received information is correct. Steps  540 - 544  are concerned with the operation of receiving, decoding and storing the second data byte DB 2  or DB 4  of the keyboard information transmission signal KT or the tracking ball/mouse pushbutton information transmission signal MT. The parity code PD is used to determine if the receiving operation is completed and to check if the contents of the received information is correct. It also determines if the received information is the keyboard information and if it is, then the information is stored in the microprocessor  420 . Steps  550 - 553  are concerned with the operation of receiving, decoding and storing the third data byte DB 5  of the tracking, ball/mouse pushbutton information transmission signaI MT. The parity code PD is used to determine if the receiving operation is completed and to check if the contents of the received information is correct. If the information is correct, then it is stored in the microprocessor  420 . 
     By means of the power saving infrared keyboard transmission method of the present invention shown in FIGS. 1-7, the precision an d sensitivity of data transmission between the transmission modulus  100  of the cordless keyboard and the receiving modulus  400  of the host computer are significantly enhanced. In addition, the time interval when the infrared transmitter  30  of the transmission modulus  100  is maintained in an “ON” status is considerably reduced and the operation of the infrared transmitter  30  is more precise and effective so that the power consumption of the infrared transmitter  30  and thus that of the overall system is cut down. On the other hand, by means of the addition of the leader code LC and the start code SC to the information to be transmitted to the receiving modulus  400 , the identification of the information is more effective and precise so that data missing or interruption is significantly reduced and thus remarkably enhance the efficiency of data transmission. 
     The power saving infrared keyboard transmission method described with reference to FIG. 1-7 shows only a preferred embodiment of the present invention and is not considered limitative to the scope of the present invention which is only defined in the appended claims.