|
Bovix
134 messages
 Visiteur régulier
|
09-06-2011 18:25
Bonjour à tous,
Je suis entrain de me lancer dans un projet où je dois créer sur une FPGA d'Altera une protocole de transmission se basant sur le modèle OSI, mon projet doit être capable d'émettre et de recevoir des données, jusqu'à là ca va.
Là où je bloque, c'est que j'aimerai faire un CRC (checksum), donc avoir que une information que tous mes bits sont bien arrivés à la réception, mais j'ai aucune idée de comment mettre ca en oeuvre, alors si vous avez des idées, bout de pistes, exemple de codes que ce soit en VHDL ou autres, ce serait bien volontiers.
Là je patauge un cht'y peu !!!
Merci à tous pour m'avoir déjà lu.
Amicalement Philou
|
|
Daudet78.
113 messages
 Visiteur régulier
|
09-06-2011 19:54
Un CRC (contrôle de redondance cyclique) ou une checksum, c'est deux trucs qui n'ont rien à voir
Cherche sur internet le fonctionnement du CRC (il y a plusieurs types de polynômes)
http://dvsoft.developpez.com/Articles/CRC/
http://home.gna.org/dscratch/documentation/tx5x-rosener-controle-crc.pdf
http://liris.cnrs.fr/~amille/enseignements/DESS/CRC.pdf
|
|
Bovix
134 messages
 Visiteur régulier
|
09-06-2011 20:30
Merci dAudet...
Le premier lien est vraiment ce que je recherchais...
Je vous tiendrais tous au courant de l'avancement
Amicalement Philou
|
|
obdh
229 messages
 Habitué
|
09-06-2011 22:58
Il y a une bonne note d'application chez Maxim :
http://www.maxim-ic.com/app-notes/index.mvp/id/27
En vhdl, et avec un système qui travaille déjà en série, le calcul du crc n'est pas compliqué (gros avantage par rapport au soft, la note met bien en évidence la différence). Il suffit en fait de regarder le schéma à base de bascules et de le coder de façon quasi directe. Le crc est donc immédiatement disponible dès l'envoi du dernier bit, sur le même coup d'horloge, et il suffit de faire un aiguillage pour l'envoyer en suivant. Le calcul à la réception n'est pas plus difficile.
Une émission/réception avec crc fonctionne donc sans effort à 100 ou 200MHz avec un fpga standard.
Modifié par obdh
le 09-06-2011 23:02
|