1 lurc features, Lurc features -25 – Freescale Semiconductor MCF5480 User Manual

Page 745

Advertising
background image

Functional Description

MCF548x Reference Manual, Rev. 3

Freescale Semiconductor

24-25

function descriptor table. Each data routing descriptor can use the contents of the function descriptor table

to perform different operations.
The LURC is programmed to perform its operations on 32-bit operands. The operations can be categorized

into four types: two-operand checksum/CRC operations, two-operand boolean operations, two-operand

addition and subtraction, and manipulation/shift operations. The LURC supports multiple operations (up

to five operations) as a single user-programmable function depending on the operations being performed.

24.4.8.1

LURC Features

This section is intended to outline several of the key features of the LURC. The features include the

following:

Support for CRC-16, CRC-CCITT, CRC-32, internet checksum on 8-, 16-, 24-, and 32- bit data in

multiple input data formats

Support for 32-bit adds and subtracts

Support for arbitrary binary operations

Support for logical shift left, signed shift right, and full bit reversal

Ability to efficiently perform endian conversion

Support for a single constant to be used in any operand field

Ability to perform up to five operations in a single function descriptor

The checksum engine provides the ability to compute checksums of data on which the DMA is operating.

In addition to the checksum capabilities, the checksum engine is able to provide several simple and fast

arithmetic operations. The module operates transparently in the sense that data can be piped through the

checksum engine without affecting the data movement. Details on using the CRC generator are contained

in an appendix later in this document.
Presently, the three CRC polynomials that the checksum engine supports are a one’s complement

checksum and two arithmetic operations.

CRC-16: X

16

+X

15

+X

2

+1

CRC-CCITT: X

16

+X

12

+X

5

+1

CRC-32: X

32

+X

26

+X

23

+X

22

+X

16

+X

12

+X

11

+X

10

+X

8

+X

7

+X

5

+X

4

+X

2

+X+1

Internet checksum: The one’s complement of the 16-bit sum.

32-bit addition (unsigned): Operand0 + Operand1.

32-bit subtraction (unsigned): Operand0 - Operand1.

Both CRC-16 and CCRC-CCITT are used for 8-bit transmission streams and both result in a 16-bit

checksum. Both 16-bit CRCs are widely used in the USA and Europe, respectively, and give adequate

protection for most applications. Applications that need extra protection can make use of the CRC-32

which generates a 32-bit checksum. The CRC-32 is used by the local area network standards committee

(IEEE-802) and in some DOD applications. The internet checksum is used in several internet protocols

including TCP and IP and provides a 16-bit checksum (less robust than the 16-bit CRCs) which can be

used for error detection. The arithmetic operations are available to provide fast and simple calculations

where overflow and other operation protection is not required.
In some cases, a communication protocol may calculate a checksum on an individual packet basis. The

Ethernet module is such an example. For these cases, it is most efficient to use the CRC in the

communication module. The DMA’s checksum engine is targeted toward computing higher-level protocol

checksums, such as those at the TCP or IP layers.

Advertising
This manual is related to the following products: