Kenwood DRV-830 Manuel D'instructions page 49

Caméra embarquée avec gps intégré
Table des Matières

Publicité

Utilitaire CRC
COPYRIGHT (C) 1986 Gary S. Brown. Vous pouvez
utiliser ce programme, voire le code ou les tables
qui en sont extraits, comme vous le souhaitez, sans
restriction.
Tout d'abord, le polynôme lui-même et sa table de
termes de rétroaction. Le polynôme étant 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+X^0
Notez que nous le prenons « en arrière » et mettons
le terme d'ordre le plus élevé dans le bit de poids
faible. Le terme X ^ 32 est "implicite"; le LSB est le
terme X ^ 31, etc. Le terme X ^ 0 (habituellement
représenté par « +1 ») fait que le bit de poids fort
est égal à 1.
À noter que l'implémentation habituelle du registre à
décalage matériel, qui est ce que nous utilisons (nous
ne faisons qu'optimiser en faisant des morceaux
de huit bits à la fois), décale les bits dans le terme
d'ordre le plus bas. Dans notre implémentation, cela
signiie se déplacer vers la droite. Pourquoi le fais-
ons-nous de cette façon ? Parce que le CRC calculé
doit être transmis dans l'ordre du terme le plus grand
au plus petit. Les UART transmettent les caractères de
LSB à MSB. En stockant le CRC de cette façon, nous
le transmettons à l'UART dans l'ordre des octets bas à
octets supérieurs ; l'UART envoie chaque bit bas à bit
haut; et le résultat est une transmission bit à bit du
plus haut au plus petit terme sans nécessiter aucun
brassage de notre part. La réception fonctionne de la
même manière.
Le tableau des termes de rétroaction comprend 256
entrées de 32 bits.
Remarques
Si vous le souhaitez, la table peut être générée à
l'exécution. Le code pour ce faire igure ci-après.
Cela peut ne pas être évident, mais les termes de la
rétroaction représentent simplement les résultats
de huit opérations de décalage / xor pour toutes
les combinaisons de données et les valeurs du
registre CRC.
Les valeurs doivent être décalées à droite de huit
bits par la « logique updcrc »; le décalage doit
être non signé (apporter des zéros). Sur certains
matériels, vous pourriez probablement optimiser le
décalage de l'assembleur en utilisant des instruc-
tions polynomiales $ edb88320
Code CRC32 dérivé du travail de Gary S. Brown.
------------------------------------------------------------------
À propos des logiciels Open Source inclus
dans le logiciel de visualisation
Ce logiciel de visualisation comprend certains
logiciels open source ou autres provenant de
tiers et soumis à la licence GNU General Public
version 3 (GPLv3) et à diférents détenteurs de
licences, avertissements et avis de copyright. Le
code source du logiciel sous licence GPLv3 et les
diférentes licences de copyright, avertissements
et avis sont distribués sur le site Web ci-dessous,
http: //www.kenwood.com/gpl
Avis important concernant le logiciel
Ce produit utilise des composants logiciels (logiciels sous
licence) conformes aux accords de licence de logiciel
accordés par des tiers. Pour plus de détails, consultez
les informations d'assistance de ce produit à l'adresse
http://www.kenwood.com/cs/ce/
49

Publicité

Table des Matières
loading

Table des Matières