Ke.ÉLECTRONIQUE & EMBARQUÉ

Kassim El Mokaddem · Montpellier / Narbonne

Projet personnel

Transmission Hamming sur FPGAÉmission, réception et correction d’erreurs

Réalisé

Réaliser sous Quartus une chaîne de transmission de messages binaires utilisant le code de Hamming pour détecter et corriger une erreur.

Repère visuel · le fonctionnement est expliqué ci-dessous
01 / LE POINT DE DÉPART

Quel était le but ?

Retrouver le message d’origine lorsqu’un bit a été altéré pendant la transmission.

02 / COMPRENDRE LE PROJET

Comment ça fonctionne.

Ce projet personnel porte sur une chaîne numérique d’émission et de réception. Le message binaire est traité à l’émission avec un code de Hamming. À la réception, les informations de contrôle permettent de rechercher une erreur et de corriger le message dans les cas prévus par le code utilisé. L’intérêt est de suivre le même message à plusieurs étapes : avant le codage, après une erreur introduite pour le test, puis après le traitement du récepteur. Le fonctionnement est décrit en VHDL sous Quartus.

LE PRINCIPE, ÉTAPE PAR ÉTAPE
  1. 01

    Message

    La donnée binaire à transmettre sert de référence.

  2. 02

    Émission

    Le module émetteur prépare le message avec son codage de contrôle.

  3. 03

    Essai avec erreur

    Une altération volontaire permet d’exercer le traitement de réception.

  4. 04

    Réception

    Le récepteur détecte l’erreur et corrige le message selon les possibilités du code.

03 / MA CONTRIBUTION

Ce que j’ai fait.

Développement des modules émetteur et récepteur sous Quartus. Travail sur le codage du message et la logique de détection et de correction. Vérification du comportement en introduisant des erreurs dans la transmission.

01

Décrire le module d’émission

J’ai réalisé seul les modules d’émission et de réception sous Quartus. Côté émission, le travail consiste à décrire en VHDL le traitement du message et à organiser les signaux entre les modules. Le message d’origine doit rester une référence pour comprendre ce que le récepteur restitue.

02

Décrire le traitement de réception

Le récepteur examine le message reçu pour détecter et corriger une erreur. Ce travail m’a demandé de raisonner sur les bits et sur les relations logiques entre les signaux, plutôt que d’écrire une suite d’instructions destinée à un microcontrôleur.

03

Introduire des erreurs pour vérifier la correction

J’ai prévu des cas de validation avec des erreurs introduites volontairement dans la transmission. Le principe de contrôle est de confronter le message corrigé au message initial : cela permet de vérifier l’effet du traitement de réception sur un cas dont je connais la donnée de départ.

04 / RÉSULTAT ET RECUL

Ce que j’en retiens.

Le résultat

Ce projet m’a permis de mettre en pratique la logique numérique et la description matérielle : répartir le traitement entre plusieurs modules et vérifier le résultat de la correction.

Ce que j’ai appris

J’ai mis en pratique la description matérielle en VHDL, la séparation d’un système en modules et la préparation d’essais. Le projet m’a surtout appris à vérifier un traitement numérique en choisissant des entrées dont je peux expliquer le résultat attendu.

Les limites et la suite

Le code source, les chronogrammes et un compte rendu détaillé restent à joindre. La variante exacte du code de Hamming et la convention de numérotation des bits ne sont pas documentées ici ; je n’annonce donc ni format précis, ni couverture exhaustive des erreurs, ni performance mesurée sur une carte.

05 / ALLER AUX SOURCES

Les documents du projet.

Les liens placés dans les étapes ouvrent les pages utiles. Les documents complets sont réunis ici.

LES COMPÉTENCES DU BUT TRAVAILLÉES DANS CE PROJET
Concevoir ↗Vérifier ↗
COMPÉTENCES MOBILISÉES
FPGA & logique numérique ↗
PROJET SUIVANT

Maintenance émetteur-récepteur↗