Download Inhoudsopgave Inhoud Print deze pagina

Genereren Van Crc; Het Genereren In Stappen - CG Drives & Automation Emotron RS232/485 2.0 Gebruiksaanwijzing

Inhoudsopgave

Advertenties

5.

Genereren van CRC

De CRC wordt gestart door eerst vooraf een 16-bits register naar alle 1-en te
laden. Vervolgens begint een proces waarbij opeenvolgende 8-bits bytes van het
bericht worden toegepast op de huidige inhoud van het register. Alleen de acht
bits aan data in elk karakter worden gebruikt voor het genereren van de CRC.
De start- en stopbits en de pariteitsbit zijn niet van toepassing op de CRC.
Tijdens het genereren van de CRC wordt elk 8-bits karakter exclusief ge-OF-t
met de registerinhoud. Het resultaat wordt verschoven in de richting van de
minst significante bit (lsb), met een nul ingevuld in de positie van de meest
significante bit (msb). De LSB wordt geëxtraheerd en onderzocht. Als de lsb een
1 was, wordt het register exclusief ge-OF-t met een vooraf ingestelde, vaste
waarde. Als de lsb 0 was, vindt er geen exclusieve OF plaats.
Dit proces wordt herhaald totdat er acht verschuivingen zijn uitgevoerd. Na de
laatste (achtste) verschuiving wordt het volgende 8-bits karakter exclusief ge-
OF-t met de huidige waarde van het register en herhaalt het proces zich voor
nog eens acht verschuivingen volgens de beschrijving hierboven. De definitieve
inhoud van het register, nadat alle karakters van het bericht zijn toegepast, is de
CRC-waarde.

Het genereren in stappen:

• Stap 1 Laad een 16-bits register met 0xFFFF (alle 1-en). Noem dit het
CRC-register.
• Stap 2 Exclusieve OF van de eerste 8-bits byte van het bericht met de low-
order byte van het 16-bits CRC-register. Het resultaat wordt in het CRC-
register gezet.
• Stap 3 Verschuif het CRC-register één bit naar rechts (richting de lsb). De
msb wordt met een nul gevuld. Extraheer de lsb en onderzoek deze.
• Stap 4 Als de lsb 0 is, herhaalt u Stap 3 (nog een verschuiving). Als de lsb 1
is, voert u een exclusieve OF uit van het CRC-register met de polynomiale
waarde 0xA001 (1010 0000 0000 0001).
• Stap 5 Herhaal de Stappen 3 en 4 totdat er acht verschuivingen zijn
uitgevoerd. Wanneer dit klaar is, is er een complete 8-bits byte verwerkt.
• Stap 6 Herhaal de Stappen 2 tot en met 5 voor de volgende 8-bits byte van
het bericht. Blijf hiermee doorgaan tot alle bytes zijn verwerkt.
CG Drives & Automation 01-5919-03r2
Genereren van CRC
35

Advertenties

Inhoudsopgave
loading

Inhoudsopgave