所需E币: 3
时间: 2019-12-24 21:19
大小: 387.61KB
CRCisoneofthemostversatileerrorcheckingalgorithmusedinvariousdigitalcommunicationsystems.CRCstandsforCyclicRedundancyCodeCheckorsimplyCyclicRedundancyCheck.Mostofthepopularcommunicationprotocols,likeCAN,USB,IrDAÆ,SDLC,HDLCandEthernet,employCRCforerrordetection.Normally,fortheerrordetectionindigitalcommunicationsystems,achecksumiscomputedonthemessagethatneedstobetransmitted.Thecom-putedchecksumisthenappendedattheendofthemessagestreamandistransmitted.Atthereceivingend,themessagestreamíschecksumiscomputedandcomparedwiththetransmittedchecksum.Ifbothareequal,thenthemessagereceivedistreatedaserrorfree.CRCworksinasimilarway,butithasgreatercapabilitiesforerrordetectionthantheconventionalforms.DifferentCRCpolynomialsareemployedforerrordetection.ThesizeofCRCdependsuponthepolynomialchosen.ThisapplicationnotedescribestheCRCoperationanditsimplementationusingadedicatedhardwaremodule.AN1148CyclicRedundancyCheck(CRC)Author:SudhirBommenaConsideramessageof‘M’of‘k’bitsandgeneratorMicrochipTechnologyInc.polynomial‘G’of‘n+1’bits.Dividingthemessagebythegeneratorwillyieldaremainder‘R’of‘n’bits.There-fore,M=GQ+R;whereQisthequotientobtainedINTRODUCTIONwhenMisdividedbyG.CRCisoneofthemostversatileerrorchecking……