Electronic circuit for generating error detection codes for digital signals
AssigneeSip-Societa Italiana per l'Esercizio delle Telecommunicazioni P.A.
InventorsMarco Gandini, Giovanni Ghigo, Mauro Marchisio
Life of this patent
Estimating the term…
Abstract
An electronic circuit for generating error detection codes in digital sigs organized into serial data blocks, which derives the error code from the coefficients of a remainder polynomial obtained from the division of a dividend polynomial, whose coefficients are the bits of each serial block, and a convenient divisor polynomial. The circuit has a shift register wherein at the beginning of each serial data block the reset and the first datum load are performed in a single clock interval.
Claims3
An electronic system for generating error detection code in digital signals, organized in data block (D) forming the coefficients of a dividend polynomial, to be divided by a suitable divisor polynomial of degree n to obtain a remainder polynomial of n-1 degree, whose coefficients form the error detection code, the circuit consisting of a shift register composed of n-1 flip-flops (FF1, . . . , FF4), including:
- a first flip-flop (FF1) receiving a data signal (D) from a data input, a logic signal (L) common to all of the flip-flops of said shift register, a clock signal (C) common to all of the flip-flops of the shift register, and a feed-back signal (10);
- a second flip-flop (FF2) receiving an adder signal (11), said data signal (D), said clock signal (C) and said logic signal (L);
- at least one further flip-flop (FF3) receiving an input from an output of a preceding flip-flop of the shift register, said clock signal (C) and said logic signal (L) and having an output connected to an input of a subsequent flip-flop of the shift register;
- a final flip-flop (FF4) having an input from a preceding flip-flop of the shift register, said clock signal 1(C) and said logic signal (L);
- an adder (EO1) receiving an output from said final flip-flop and said data signal (D) and generating said feed-back signal (10);
- and
- another adder (EO2) receiving an output from said first flip-flop (FF1.sub.13 and from said feed-back signal (10) and generating said adder signal (11), wherein the signal outgoing from the (i-1)th flip-flop, i being a number between O and n, is sent to a first input of an (i)th flip-flop directly or through said adder (EO1), according to whether the coefficient of the term of (i)th degree of the divisor polynomial is equal to or different from zero, said adder (EO1) adding to the signal outgoing from the preceding flip-flop said feedback signal (10) obtained at the output of the (n)th flip-flop, either directly or after adding it at adder (EO2) to the input data signal (D), means for clocking said flip-flops with said common clock signal (C), a second input of the (i)th flip-flop accepting the first bit of said data block or a bit at low logic value, according to whether the coefficient of term of degree (i)th of the divisor polynomial is respectively different from or equal to zero, in correspondence with a clock signal (C) transition relevant to the first bit of the data block, at subsequent transitions the (i)th flip-flop accepting the signals present at the first input, the first or second inputs of the (i)th flip-flop being enabled according to the logic level of said logic signal (L) active in correspondence with the first bit of a data block, said logic signal (L) active in correspondence with the first bit of a data block being generated by a logic circuit (FF5, FF6, AN) generating a derivative and including an inverter receiving said clock signal (C), and receiving a synchronism signal (S) signalling start of a data block, resetting said shift register and reading data from said data block into the shift register.
An electronic system for generating error detection code in digital signals, organized in data blocks (D) forming the coefficients of a dividend polynomial, to be divided by a suitable divisor polynomial of degree n to obtain a remainder polynomial of n-1 degree, whose coefficients form the error detection code, the circuit consisting of a shift register composed of n-1 flip-flops (FF1, . . . , FF4), wherein the signal outgoing from the (i-1)th flip-flop, i being a number between O and n, is sent to a first input of an (i)th flip-flop directly or through an adder (EO1), according to whether the coefficient of the term of (i)th degree of the divisor polynomial is equal to or different from zero, said adder adding to the signal outgoing from the preceding flip-flop a feedback signal (10) obtained at the output of the (n)th flip-flop, either directly or after adding it (EO2) to the input data signal (D), means for clocking said flip-flops with a common clock signal (C), a second input of the (i)th flip-flop accepting the first bit of said data block or a bit at low logic value, according to whether the coefficient of term of degree (i)th of the divisor polynomial is respectively different from or equal to zero, in correspondence with a clock signal (C) transition relevant to the first bit of the data block, at subsequent transitions the (i)th flip-flop accepting the signals present at the first input, the first or second inputs of the (i)th flip-flop being enabled according to the logic level of a signal (L) active in correspondence with the first bit of a data block.
Dependencies are inferred from the claim text.