DC balanced 4B/8B binary block code for digital data communications
First Claim
Patent Images
1. A code for transmitting binary information for digital serial data communications which includes a plurality of code words, each code word comprising:
- eight binary bits made up of four binary ones and four binary zeros, wherein each of said code words is inherently DC balanced;
consecutive identical bits in strings which are less than or equal to two, wherein the run-length limit within each of said code words is (0,1); and
a first bit and a last bit which differ from adjacent bits within said word, wherein the run-length limit between two consecutive code words is (0,1);
further comprising, a plurality of control words, each of said control words comprising;
eight binary bits made up of four binary ones and four binary zeros, wherein each of said control words is inherently DC balanced; and
consecutive identical bits in strings which are less than or equal to two, wherein the run-length limit within each of said control words is (0,1), wherein each code word in said plurality of code words is mapped to one and only one data word having four binary bits such that said data word may be generated by the steps of;
generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits;
generating a first bit group-made up of a first four binary bits of said masked code word and a second bit group made up a second of four binary bits of said masked code word; and
generating said data word by performing a logical OR operation between said first bit group and said second bit group.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for transmission of data. A four bit data word is converted into an eight bit code word having a run-length of (0,1) which includes four binary ones and four binary zeros is defined where the start and end bits comprise a 01 or 10 pair to ensure the (1,0) run-length across word boundaries. A hashing code is used to generate the code words and decode received code words.
-
Citations
47 Claims
-
1. A code for transmitting binary information for digital serial data communications which includes a plurality of code words, each code word comprising:
-
eight binary bits made up of four binary ones and four binary zeros, wherein each of said code words is inherently DC balanced; consecutive identical bits in strings which are less than or equal to two, wherein the run-length limit within each of said code words is (0,1); and a first bit and a last bit which differ from adjacent bits within said word, wherein the run-length limit between two consecutive code words is (0,1); further comprising, a plurality of control words, each of said control words comprising; eight binary bits made up of four binary ones and four binary zeros, wherein each of said control words is inherently DC balanced; and consecutive identical bits in strings which are less than or equal to two, wherein the run-length limit within each of said control words is (0,1), wherein each code word in said plurality of code words is mapped to one and only one data word having four binary bits such that said data word may be generated by the steps of; generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits; generating a first bit group-made up of a first four binary bits of said masked code word and a second bit group made up a second of four binary bits of said masked code word; and generating said data word by performing a logical OR operation between said first bit group and said second bit group. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for generating a code for transmitting binary information for digital serial data communications, comprising the steps of:
-
selecting from a set of 256 possible code words each having eight binary bits, a first intermediate subset of code words each having four binary ones and four binary zeros, wherein each code word in said first intermediate subset of code words is inherently DC balanced; selecting from said first intermediate subset of code words a second intermediate subset of code words each having consecutive identical bits in strings which are less than or equal to two, wherein a run-length limit within each of said code words in said second intermediate subset of code words is (0,1); and selecting from said second intermediate subset of code words a set of sixteen code words each having a first bit and a last bit which differ from adjacent bits within said code word, wherein a run-length limit between consecutive code words in said set of sixteen code words is (0,1);
said method further comprising the step of mapping each code word in said set of sixteen code words to one and only one data word having four binary bits, wherein said mapping comprises;generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits; generating a first bit group made up of a first four binary bits of said masked code word and a second bit group made up of a second four binary bits of said masked code word; and generating said data word by performing a logical OR operation between said first bit group and said second bit group. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A code for transmitting binary information for digital serial data communications, said code comprised of a plurality of code words, each code word in said code selected by a code generation method comprising the steps of:
-
selecting from a set of 256 possible code words each having eight binary bits, a first intermediate subset of code words each having four binary ones and four binary zeros, wherein each code word in said first intermediate subset of code words is inherently DC balanced; selecting from said first intermediate subset of code words a second intermediate subset of code words each having consecutive identical bits in strings which are less than or equal to two, wherein a run-length limit within each of said code words in said second intermediate subset of code words is (0,1); and selecting from said second intermediate subset of code words a set of sixteen code words each having a first bit and a last bit which differ from adjacent bits within said code word, wherein a run-length limit between consecutive code words in said set of sixteen code words is (0,1), further comprising the step of mapping each of said code words in said set of sixteen code words to one and only one data word having four binary bits, wherein said mapping comprises; generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits; generating a first bit group made up of a first four binary bits of said masked code word and a second bit group made up of a second four binary bits of said masked code word; and generating said data word by performing a logical OR operation between said first bit group and said second bit group. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A system for transmitting binary information for digital serial data communications between two or more network devices over a transmission medium connected between all of said network devices, each network device comprising:
-
a processing module for controlling the operation of said network device; a transmission module for transmitting outgoing binary information received from said processing module across said transmission medium to other network devices using outgoing encoded binary information comprised of a plurality of code words in a set of sixteen code words each having eight binary bits, wherein each code word is selected from a set of 256 code words such that each code word has four binary ones and four binary zeros, such that said code word is inherently DC balanced, has consecutive identical bits in strings which are less than or equal to two such that the run-length limit within said code word is (0,1), and has a first bit and a last bit which differ from adjacent bits within said code word such that the run-length limit between two consecutive code words is (0,1); and a reception module for receiving incoming encoded binary information from other network devices across said transmission medium and providing decoded incoming binary information to said processing module, wherein said reception module comprises; a reception means for serially receiving said incoming encoded binary information from said transmission medium, said incoming encoded binary information made up of a plurality of code words from the set of sixteen code words; a decoding means for decoding a code word in said incoming encoded binary information received by said reception means into the corresponding data word; a reception data providing means for providing said data word decoded by said decoding means to said processing module; and a reception processing means for controlling the operation of said reception module, wherein said decoding means operates via a decoding method comprising the steps of; generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits; generating a first bit group made up of a first four most significant binary bits of said masked code word and a second bit group made up of a second four binary bits of said masked code word; generating an index by performing a logical OR operation between said first bit group and said second bit group; and providing said data word to said reception processing means such that said data word is equivalent to said index. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method for transmitting a data stream of binary information for digital serial data communications between a transmitting device and a receiving device, comprising the steps of:
-
obtaining a data word having four binary bits from said transmitting device; encoding said data word into a code word made up of eight binary bits selected from a set of sixteen code words, each code word having eight binary bits, wherein each code word has been selected from 256 possible code words, wherein said code word comprises four binary ones and four binary zeros, such that said code word is inherently DC balanced, consecutive identical bits in strings which are less than or equal to two, such that the run-length limit within said code word is (0,1), and a first bit and a last bit that differ from adjacent bits within said word, such that the run-length limit between two consecutive words is (0,1); transmitting said code word serially using a transmission medium; receiving said code word from the transmission medium; decoding said code word into said data word corresponding to said code word; providing said data word to said receiving device; and repeating all of the said steps for the next data word in said data stream until all data words in said data stream have been transmitted, wherein said decoding step comprises the steps of; generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits; generating a first bit group made up of a first four binary bits of said masked word and a second bit group made up of a second four binary bits of said masked word; generating an index by performing a logical OR operation between said first bit group and said second bit group; and generating said data word from said index such that said data word is equivalent to said index. - View Dependent Claims (35, 36, 37)
-
-
38. A method for transmitting a data stream of binary information for digital serial data communications between a transmitting device and a receiving device, comprising the steps of:
-
transmitting a start delimiter control word stream comprising at least one start delimiter control word from said transmitting device to said receiving device using a transmission medium; transmitting an encoded data stream comprising at least one code word from a set of sixteen code words, each code word having four binary ones and four binary zeros, such that said code word is inherently DC balanced, consecutive identical bits in strings which are less than or equal to two, such that a run-length limit within said code word is (0,1), a first bit and a last bit which differ from adjacent bits within said word, such that a run-length limit between two consecutive code words is (0,1), and corresponding to a unique data word from said data stream, said data stream comprised of at least one data word having four binary bits, from said transmitting device to said receiving device using the transmission medium; and transmitting an end delimiter control word stream comprising at least one end delimiter control word from said transmitting device to said receiving device using a transmission medium, wherein said transmitting an encoded data stream comprises the steps of; obtaining a data word from said data stream; encoding said data word into the corresponding code word in the set of sixteen code words; transmitting said code word serially using the transmission medium; receiving said code word from the transmission medium; decoding said code word into said data word corresponding to said code word; providing said data word to said receiving device; and repeating all of said steps in said transmitting an encoded data stream for any subsequent data words in said data stream until all data words in said data stream have been transmitted, wherein said decoding step comprises the steps of; generating a masked code word by performing a logical AND operation between said code word and a mask word having eight binary bits; generating a first bit group made up of a first four binary bits of said masked code word and a second bit group made up of a second four binary bits of said masked code word; generating an index by performing a logical OR operation between said first bit group and said second bit group; and generating said data word from said index such that said data word is equivalent to said index. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification