fce flexible crc engine - infineon

18
FCE Flexible CRC Engine XMCmicrocontrollers September 2016

Upload: others

Post on 31-Oct-2021

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FCE Flexible CRC Engine - Infineon

FCEFlexible CRC EngineXMC™ microcontrollersSeptember 2016

Page 2: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 2

Page 3: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 3

Page 4: FCE Flexible CRC Engine - Infineon

FCEFlexible CRC Engine

Highlights

The FCE for the XMC™4000 microcontrollerimplements the IEEE 802.3 EthernetCRC32, the CCITT CRC16 and the SAEJ1850 CRC8 polynomials.

The primary target of FCE is to be used asa hardware acceleration engine forsoftware applications or operating systemsservices using CRC signatures.

Customer benefitsKey feature

› 3 independent CRC algorithms can beused concurrently by different softwaretasks

› No software loading to perform datareflection with and without XORoperation

› Less software through hardware lengthand checksum mismatch alerted

› Support 3 independent CRC polynomials

› Equipped with data reflection and XORfeature

› Interrupt error notification and signaturecheck

Copyright © Infineon Technologies AG 2016. All rights reserved. 4

Page 5: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 5

Page 6: FCE Flexible CRC Engine - Infineon

FCESupport 3 independent CRC polynomials

› The FCE offers 3 different independent polynomials for CRC calculations

– CRC kernel 0 and 1: IEEE 802.3 CRC32 Ethernet polynomial:0x04C11DB7

– CRC kernel 2: CCITT CRC16 polynomial: 0x1021

– CRC kernel 3: SAE J1850 CRC8 polynomial: 0x1D

› The CRC calculation of these 4 kernels can be executed in parallel, hence theycan be used concurrently by different software tasks

CRC 32-bitEthernet

IEEE 802.30x04C11DB7

CRC 32-bitEthernet

IEEE 802.30x04C11DB7

CRC Kernel 0 CRC Kernel 1

CRC 16-bit

CRC-CCITT0x1021

CRC 8-bit

SAE-J18500x1D

CRC Kernel 2 CRC Kernel 3

Copyright © Infineon Technologies AG 2016. All rights reserved. 6

Page 7: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 7

Page 8: FCE Flexible CRC Engine - Infineon

FCEEquipped with data reflection and XOR feature

› Result XOR, indicates if a final XOR operation is done before returning the CRCresult

› Data reflection feature for both input and result

– Byte wise reflection

– Bit wise reflection

Copyright © Infineon Technologies AG 2016. All rights reserved. 8

Page 9: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 9

Page 10: FCE Flexible CRC Engine - Infineon

FCE: interrupt error notification andsignature check

› CRC mismatch interrupt

– The automatic signature checkcompares the signature at the end ofa message with the expectedsignature configured in the CHECKregister

– A mismatch error interrupt willhappen if both values are different

› Length error interrupt

– The LENGTH register is configuredwith the number of words of themessage for CRC calculation

– Every time the IR register is written,the LENGTH register is decrementedby one until it reaches zero

– Length error interrupt is generated ifsoftware writes to IR register withLENGTH equal to 0

Copyright © Infineon Technologies AG 2016. All rights reserved. 10

Page 11: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 11

Page 12: FCE Flexible CRC Engine - Infineon

FCESystem integration

› Target application

– Reliable USIC communication

– Alternate boot mode

› The FCE can be combined with theUSIC and DMA module for anoptimized system solution

– The software can write into thelength and check register for autodetection of length or mismatcherror respectively

– The DMA can transfer data into theCRC input register without any CPUloading

XMC™4400 XMC™4200XMC™4500

● ● ●

Copyright © Infineon Technologies AG 2016. All rights reserved. 12

Page 13: FCE Flexible CRC Engine - Infineon

Agenda

Overview

Key feature: support 3 independent CRC polynomials

Key feature: data reflection and XOR

Key feature: signature check

System integration

Application examples

1

2

3

4

5

6

Copyright © Infineon Technologies AG 2016. All rights reserved. 13

Page 14: FCE Flexible CRC Engine - Infineon

Application exampleCRC for USIC communication

Transferring of data in a digitalnetwork are subjected to noiseand other disturbances which ledto accidental changes to rawdata.

Hence verification needs to bedone at the receiving end toensure data correctness.

Therefore the verification processinvolves the transmission side togenerate a CRC value which isappend into the transmit headerof a data frame.

At the receiving side, CRC isrecalculated again and it’scalculated CRC value is comparedwith the received checksum forany mismatch.

Overview

In brief

Both USIC transmit and receive modules areassigned to an independent CRC kernel forCRC generation and data verification. DMA isused to reduce CPU loading.

Copyright © Infineon Technologies AG 2016. All rights reserved. 14

Page 15: FCE Flexible CRC Engine - Infineon

Application exampleAlternate boot mode header initialization

Overview

In brief

Other than using the standard bootmode, XMC™ also allows user tocustomize its boot software in a userdefined flash memory. This is knownas alternate boot mode. The alternateboot mode header requires CRC-32polynomial calculations (04C11DB7H).

The Alternate Boot Modes (ABMs) areintended to start program codeavailable at a user-defined address, ifthe ABM header check-condition issatisfied by the start up software.

To initialize the ABM header, the FCE isused to generate the CRC results forthe application software and the first 4words of the ABM header.

Lastly the software shall write the 2CRC results into the last 2 words ofthe ABM header.

Copyright © Infineon Technologies AG 2016. All rights reserved. 15

--

-

--

Page 16: FCE Flexible CRC Engine - Infineon

– Product Briefs

– Selection Guides

– Application Brochures

– Presentations

– Press Releases, Ads

– Application Notes

– Technical Articles

– Simulation Models

– Datasheets, MCDS Files

– PCB Design Data

– Technical Videos

– Product Information

Videos

– Forums

– Product Support

Support material

Collaterals and

Brochures

Technical Material

Videos

Contact

– www.infineon.com/XMC

– www.infineon.com/XMC

– Kits and Boards

– DAVETM

– Software and Tool Ecosystem

– Infineon Media Center

– XMC Mediathek

– Infineon Forums

– Technical Assistance Center (TAC)

Copyright © Infineon Technologies AG 2016. All rights reserved. 16

Page 17: FCE Flexible CRC Engine - Infineon

The information given in this training materials is given as a hint forthe implementation of the Infineon Technologies component only andshall not be regarded as any description or warranty of a certainfunctionality, condition or quality of the Infineon Technologiescomponent.

Infineon Technologies hereby disclaims any and all warranties andliabilities of any kind (including without limitation warranties of non-infringement of intellectual property rights of any third party) withrespect to any and all information given in this training material.

Disclaimer

Page 18: FCE Flexible CRC Engine - Infineon