# US 10,312,936 B2 · Using CRC residual value to distinguish a recipient of a data packet in a communication system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,312,936 B2
- Document ID: US10312936B2
- Status: Granted
- Kind: B2
- Application number: 14/587,433
- Filed: 2014-12-31
- Published: 2015-07-23
- Granted: 2019-06-04
- Earliest claimed: 2014-01-17
- Assignees: Texas Instruments Incorporated
- Applicants: Texas Instruments Incorporated
- Inventors: Deric Wayne Waters
- Web page: https://patentgrep.com/patent/US10312936B2

## CPC

- H03M 13/091: {Parallel or block-wise CRC computation}
- H03M 13/09: Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M 13/37: Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M 13/617: {Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials}
- H04L 1/0041: {Arrangements at the transmitter end}
- H04L 1/0045: {Arrangements at the receiver end}
- H04L 1/0061: {Error detection codes}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- H03M 13/093: {CRC update after modification of the information word}
- H03M 13/6502: {Reduction of hardware complexity or efficient processing}
- H03M 13/6508: {Flexibility, adaptability, parametrability and configurability of the implementation}
- H03M 13/6519: {Support of multiple transmission or communication standards}
- H04L 1/242: {by comparing a transmitted test signal with a locally generated replica}
- H04L 1/243: {at the transmitter, using a loop-back}
- H04L 2001/0093: {Point-to-multipoint}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus for operating a communication system comprising three or more communication transceivers. In illustrative embodiments, multiple different cyclic redundancy check (CRC) generation schemes are maintained. Each CRC generation scheme corresponds to a unique CRC residual value. A CRC value generated using one of the CRC generation schemes is placed in a data packet to be transmitted. The chosen CRC generation scheme reflects which one or more transceivers are intended recipients of the data packet. When a data packet is received by a transceiver, a CRC residual value is calculated based on the CRC value contained in the received data packet. The calculated CRC residual value is compared against a list of one or more valid CRC residual values for that particular transceiver. If the calculated CRC value matches one of the listed valid CRC residual values, the data packet is accepted, otherwise it is rejected.

## Claims

### Claim 1

A method of operating a communication system, the method comprising:
maintaining a plurality of different cyclic redundancy check (CRC) generation schemes, each CRC generation scheme corresponding to a respective unique CRC residual value;
placing, in a data packet to be transmitted, a CRC residual value generated using a chosen one of said plurality of CRC generation schemes, the chosen CRC generation scheme reflecting which one or more of a plurality of transceivers is/are intended as recipient(s) of said data packet;
communicating the data packet to the plurality of transceivers, including at least first and second transceivers:
when the data packet is received by the first transceiver:
calculating a first CRC residual value based on data contained in the received data packet;
comparing the calculated first CRC residual value against a list of one or more valid CRC residual values stored with said first transceiver; and
if the calculated first CRC residual value matches one of the listed valid CRC residual values stored with said first transceiver, accepting said data packet by said first transceiver, and otherwise rejecting said data packet by said first transceiver; and
when the data packet is received by the second transceiver:
calculating a second CRC residual value based on data contained in the received data packet;
comparing the calculated second CRC residual value against a list of at least two valid CRC residual values stored with said second transceiver, wherein at least one of the at least two valid CRC residual values stored with said second transceiver matches at least one valid CRC residual value stored with said first transceiver; and
if the calculated second CRC residual value matches one of the listed at least two valid CRC residual values stored with said second transceiver, accepting said data packet by said second transceiver, and otherwise rejecting said data packet by said second transceiver.

### Claim 2 (depends on 1)

The method of claim 1 wherein the communication system is a universal serial bus (USB) communication system and wherein said transceivers comprise USB transceivers.

### Claim 3 (depends on 2)

The method of claim 2 wherein at least one of said transceivers is an in-line transceiver residing in a USB cable and operable to transmit information to one or more other transceivers regarding characteristics of the USB cable.

### Claim 4 (depends on 1)

The method of claim 1 wherein each of the plurality of different CRC generation schemes uses a different CRC generator polynomial to generate the CRC residual value.

### Claim 5 (depends on 4)

The method of claim 4 wherein one of the plurality of CRC generation schemes uses a legacy USB generator polynomial to generate the CRC residual value.

### Claim 6 (depends on 1)

The method of claim 1 wherein a first of the plurality of CRC generation schemes comprises complementing some or all of the bits of the remainder of the CRC polynomial division, and wherein a second of the plurality of CRC generation schemes comprises not complementing any of the bits of the remainder of the CRC polynomial division.

### Claim 7 (depends on 1)

The method of claim 1 wherein a first of the plurality of CRC generation schemes comprises complementing a first subset of the bits of the remainder of the CRC polynomial division, and wherein a second of the plurality of CRC generation schemes comprises complementing a second subset of the bits of the remainder of the CRC polynomial division.

### Claim 8 (depends on 1)

The method of claim 1 wherein said list of one or more valid CRC residual values includes a legacy CRC residual value corresponding to a legacy CRC generation scheme.

### Claim 9

A method of operating a first data receiver to determine whether it is an intended recipient of a received data packet, the method comprising:
maintaining a list of at least two valid CRC residual values locally with the first data receiver, wherein at least one of the at least two valid CRC residual values is not C704DD7Bh and matches a valid CRC residual value stored with a second receiver; wherein the h at the end of C704DD7Bh means an actual residual value is hexadecimal;
receiving a transmitted data packet;
calculating a CRC residual value based on data contained in the received data packet;
comparing the calculated CRC residual value against the list of valid CRC residual values; and
if the calculated CRC residual value matches one of the listed valid CRC residual values, accepting said data packet, and otherwise rejecting said data packet.

### Claim 10 (depends on 9)

The method of claim 9 wherein said first data receiver comprises a universal serial bus (USB) receiver.

### Claim 11 (depends on 10)

The method of claim 10 wherein said USB data receiver comprises an in-line transceiver residing in a USB cable and operable to transmit information to one or more other USB transceivers regarding characteristics of the USB cable.

### Claim 12 (depends on 9)

The method of claim 9 wherein the list of valid CRC residual values includes a legacy CRC residual value corresponding to a legacy CRC generation scheme.
