Telemetry encoding technique for smart stylus
First Claim
1. The method, as claimed in claim 1, wherein:
- said step of selecting a code includes selecting a code based on the probability that invalid, intermediate matches will be formed between back-to-back code-words.
7 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to the transmission of telemetry data from a stylus to a host computer via a serial, asynchronous data channel. The telemetry data is encoded into code-words using a specially selected error detecting or error correcting code, the code-words are transmitted from the stylus in a continuous, homogeneous data stream without the use of framing delimiters between adjacent code-words, and the code-words are then received by the host computer which separates the code-words according to the unique characteristics of the selected code. The code may be chosen based on both the error detection/correction requirements of the system and the probability that the code will create invalid intermediate code matches between consecutive back-to-back code-words. In one embodiment, the invention provides a synchronization scheme which greatly reduces the probability that invalid intermediate code matches will be recognized in the host computer as validly transmitted code-words.
-
Citations
18 Claims
-
1. The method, as claimed in claim 1, wherein:
-
said step of selecting a code includes selecting a code based on the probability that invalid, intermediate matches will be formed between back-to-back code-words. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
said code-words include a data portion and a code portion.
-
-
3. The method, as claimed in claim 2, further comprising the step of:
further encoding said code-words using a code which imparts timing information to said continuous stream of packets.
-
4. The method, as claimed in claim 2, wherein:
said selected code includes one of the following;
an error detecting code and an error correcting code.
-
5. The method, as claimed in claim 4, further comprising the steps of:
-
detecting errors in said code-words after said step of separating; and
rejecting code-words which contain errors.
-
-
6. The method, as claimed in claim 2, wherein:
said step of encoding includes encoding said input data words using a shortened (23,12) Golay code which may be generated using a 53438 generator polynomial.
-
7. The method, as claimed in claim 6, wherein:
said step of encoding further includes inverting a portion of said Golay coded data words using a 37758 inversion which comprises inverting every bit of said portion except a second to last bit.
-
8. The method, as claimed in claim 2, wherein:
said step of transmitting said code-words includes modulating a carrier signal using said continuous stream of packets and emitting said modulated carrier signal from said stylus.
-
9. The method, as claimed in claim 8, wherein:
said step of receiving includes receiving said modulated carrier signal from said stylus and removing said carrier signal component to produce said continuous stream of packets.
-
10. The method, as claimed in claim 2, wherein:
said step of separating said continuous stream of packets includes the step of recognizing valid code-words in said continuous stream of packets.
-
11. The method, as claimed in claim 10, wherein:
said step of recognizing valid code-words in said continuous stream of packets includes the step of only checking certain positions in said continuous stream of packets for a valid code-word after a predetermined number of valid code-words have been recognized at specific positions in said stream of packets, to effectively reject invalid intermediate code-matches.
-
12. The method, as claimed in claim 10, wherein:
said step of separating said continuous stream of packets further includes the step of qualifying each recognized valid code-word based on whether a predetermined number of valid code-words have been recognized at specific positions in said stream of packets.
-
13. The method, as claimed in claim 1, further comprising the step of:
further encoding said code-words using a code which creates a DC balanced stream of packets.
-
14. The apparatus, as claimed in claim 1, wherein:
said encoding means includes a linear feedback shift register circuit.
-
15. The apparatus, as claimed in claim 1, wherein:
said means for separating includes exclusive-OR tree circuitry.
-
16. The stylus, as claimed in claim 1, wherein:
said means for encoding further includes means for inverting a portion of each of said Golay coded data words using a 37758 inversion which comprises inverting every bit of said data words except a second to last bit.
-
17. In a computer system having a stylus that delivers telemetry data to a host computer via a continuous, uninterrupted stream of back-to-back code-words, an apparatus for receiving said continuous, uninterrupted stream of back-to-back code-words from said stylus and for accurately separating said code-words for use by said host computer, said apparatus comprising:
-
code checking means for monitoring said continuous, uninterrupted stream of back-to-back code-words and for detecting the occurrence of bit strings in said stream which match valid code-words; and
synchronization means for qualifying detected bit-strings which match valid code-words based on whether a predetermined number of bit-strings have been detected by said code checking means at specific positions in said continuous stream of back-to-back code-words, said qualified detected bit-strings being output for use by said host computer. - View Dependent Claims (18)
means for instructing said code checking means to only check for the occurrence of bit strings which match valid code-words at certain positions in said continuous stream of back-to-back code-words after a predetermined number of bit strings which match valid code-words have been detected at specific positions in said stream, to effectively reject invalid intermediate code-matches.
-
Specification