Brevet FR2898446A1 — publié le 20070914

Procédé, module et appareil de réception de trames de paquets de données. 1. Domaine de l'invention. La présente invention concerne le domaine des télécommunications et plus précisément la transmission de paquets sur un canal bruité. 2. Arrière-plan technologique. Selon l'état de la technique, des procédés de transmission de paquets de données mettent en oeuvre des mécanismes de détection d'erreur permettant d'éliminer les paquets erronés. Selon la norme de communication sans fil IEEE802.16, des trames MAC constituées de trames physiques (ou bursts en anglais) comprennent des PDU (de l'anglais Paquet Data Unit ou unité de données en paquets ). Chaque PDU comprend un entête, des données et un CRC (de l'anglais Cyclic Redundancy Check ou vérification de redondance cyclique ). Le CRC permet de vérifier si le paquet est en erreur. L'entête (ou header en anglais) qui est lui même protégé par un HCS (de l'anglais Header Check Sum ou somme de vérification de l'entête ) permettant de ne pas prendre en compte un entête erroné. La longueur des PDU est variable et est indiquée dans l'entête. Aussi, selon une première mise en oeuvre connue, lorsque le HCS d'un PDU est erroné le PDU courant et les PDU suivant ne sont pas pris en compte. Afin de palier cet inconvénient, la norme IEEE802.16 a prévoit un mécanisme optionnel pour retrouver le début des PDU suivants, ce mécanisme étant appelé Transmission Convergence Sublayer en anglais (ou sous-couche de convergence de transmission en français). Selon ce mécanisme, la trame physique est divisée en plusieurs segments de données (par exemple symboles OFDM) protégés par un code de Reed-Solomon. Le décodeur de Reed-Solomon peut indiquer à la couche DLC (de l'anglais Data Link Control ou contrôle de lien de données ) que le segment courant est bon. Un octet spécifique est inséré au début de chaque segment pour indiquer le début du prochain PDU commençant dans le segment considéré. Ainsi, en décodant chaque segment et en lisant cet octet spécifique, il est possible d'identifier le PDU suivant et donc de synchroniser à nouveau la réception après un mauvais HCS. Cette technique présente néanmoins l'inconvénient d'être relativement complexe (traitement d'un signal issu d'un décodeur de Reed-Solomon) et consomme de la bande passante. 3. Résumé de l'invention. L'invention a pour but de pallier ces inconvénients de l'art antérieur. Plus particulièrement, l'invention a pour objectif de permettre la synchronisation sur les paquets de données reçus, lorsque l'entête de ces paquets de données comprend des moyens de détection d'erreur, tout en limitant la consommation de bande passante. A cet effet, l'invention propose un procédé de réception d'une trame comprenant des paquets de données protégées par au moins un code de détection d'erreurs, le procédé comprenant les étapes suivantes : - première vérification qu'un premier ensemble de données qui serait protégé par un premier code de détection d'erreurs, ne comprend pas d'erreur, la trame comprenant le premier ensemble de données ; - synchronisation sur un des paquets comprenant l'ensemble si la vérification indique que le premier ensemble de données ne comprend pas d'erreur. Selon une caractéristique avantageuse, le procédé comprend une étape de deuxième vérification de la présence de données prédéterminées dans le premier ensemble de données, la synchronisation étant effectuée si les données prédéterminées sont présentes dans le premier ensemble de données. Selon une caractéristique préférée, le procédé comprend une étape de troisième vérification qu'un second ensemble de données qui serait protégé par un second code de détection d'erreurs, ne comprend pas d'erreur, la trame comprenant le second ensemble de données, le second ensemble de données comprenant lui-même le premier ensemble de données. Selon une caractéristique particulière, le procédé comprend une étape de lecture dans le premier ensemble, d'une information représentative de la longueur du second ensemble. Préférentiellement, la trame est compatible avec une norme IEEE802.16. Selon une autre caractéristique particulière, le procédé comprend les étapes de - réception de trames de données ; - extraction d'au moins un premier paquet de données, le début de chaque premier paquet de données étant identifié par rapport au début de la trame ou d'un paquet de données précédent ; - quatrième vérification de la validité d'au moins une partie de chaque premier paquet de données à l'aide du premier code de détection d'erreur ; - mise en oeuvre des étapes de première vérification et de synchronisation lorsque l'étape de quatrième vérification indique qu'au moins une partie d'un premier paquet de données n'est pas valide. L'invention concerne également un module de synchronisation sur une trame comprenant des paquets de données protégées par au moins un code de détection d'erreurs, le module comprenant : - des premiers moyens de vérification qu'un premier ensemble de données qui serait protégé par un premier code de détection d'erreurs, ne comprend pas d'erreur, la trame comprenant lepremier ensemble de données ; - des moyens de synchronisation sur un des paquets comprenant l'ensemble si la vérification indique que le premier ensemble de données ne comprend pas d'erreur. Avantageusement, les premiers moyens de vérification comprennent une pluralité de premiers décodeurs du premier code, au moins une partie des premiers décodeurs décodant respectivement des ensembles de données issues de la trame, décalés temporellement. Préférentiellement, le module comprend des second moyens de vérification qu'un second ensemble de données qui serait protégé par un second code de détection d'erreurs, ne comprend pas d'erreur, la trame comprenant le second ensemble de données, le second ensemble de données comprenant lui-même le premier ensemble de données. Selon une caractéristique particulière, les seconds moyens de vérification comprennent une pluralité de seconds décodeurs du second code. Selon une autre caractéristique, chacun des seconds décodeurs est associé à un des premiers décodeurs, le second décodeur étant adapté à vérifier un second ensemble de données comprenant un premier ensemble, qu'un premier décodeur associé au second décodeur est adapté à vérifier. Selon encore une autre caractéristique, chacun des seconds décodeurs est associé à l'ensemble des premiers décodeurs, le second décodeur étant adapté à vérifier un second ensemble de données comprenant un premier ensemble, qu'un quelconque des premiers décodeurs est adapté à vérifier. Avantageusement, le module comprend des moyens pour distinguer deux modes de fonctionnement : - un mode dit synchronisé, les moyens de vérification vérifiant que des données correspondant à paquet synchronisé ne comprend pas d'erreur ; - un mode dit non synchronisé, la synchronisation paquet étant recherchée par les moyens de vérification et les moyens de synchronisation. L'invention concerne aussi, un appareil de réception de trames de 20 données, comprenant des moyens de réception des trames et au moins un module de synchronisation tel que précédemment décrit selon l'invention. 4. Liste des figures. L'invention sera mieux comprise, et d'autres particularités et 25 avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels : les figures 1 et 2 illustrent des formats de paquets de données ; la figure 3 représente un réseau de communication selon un mode particulier de réalisation de l'invention ; 30 la figure 4 illustre schématiquement un récepteur de la figure 3, selon un mode particulier de réalisation de l'invention ; les figures 5 à 6 présentent un module de synchronisation mis en oeuvre dans le récepteur de la figure 4 ; la figure 7 présente un module de synchronisation selon une 35 variante de l'invention ; et les figures 8 et 9 présentent un procédé de réception mis en oeuvre dans le récepteur de la figure 4. 5. Description détaillée de l'invention. La figure 1 présente un PDU 1 selon la norme IEEE802.16, qui comprend : - un entête 10 (coté poids forts ou MSB) ; - des données 11 ; -un CRC 12 (coté poids faibles ou LSB). La figure 2 précise la structure de l'entête 10 qui comprend : - un premier octet comprenant un premier bit HT 22 (ou header type en anglais, ou type d'entête ), un bit EC 27, un champ type 26 de 6 bits ; - un deuxième octet comprenant un premier bit réservé 24, un bit Cl 23 indiquant la présence d'un CRC dans le PDU, deux bits EKS 28, un deuxième bit réservé 25, trois bits représentant les poids forts de la longueur 21 des données 15 11 - un troisième octet comprenant les bits de poids faibles de la longueur 21 des données 11 ; - des quatrième et cinquième octets comprenant un identifiant CID 109 ; et 20 -un sixième octet comprenant un HCS 20. Le HCS 20 permet de détecter des erreurs dans l'entête 10. La figure 3 représente un réseau de communication 3 selon un mode particulier de réalisation de l'invention. Le réseau 3 est, par exemple, un réseau sans fil IEEE802.16 et 25 comprend : - un point d'accès 30 ; - des terminaux 31 et 32. Le point d'accès 30 est apte à émettre ou recevoir des MSDU à destination les terminaux 31 et 32 sur le lien sans fil. 30 La figure 4 illustre schématiquement un appareil 4 correspondant au point d'accès 30 ou à l'un des terminaux 31 et 32. L'appareil 4 comprend, reliés entre eux par un bus 44 d'adresses et de données, transportant également un signal d'horloge : - un microprocesseur 41 (ou CPU) ; 35 - une mémoire non volatile de type ROM (de l'anglais Read Only Memory ) 42 ; 10 - une mémoire vive ou RAM (de l'anglais Random Access Memory ) 43 ; - un module 45 de transmission d'un signal sur le lien sans fil ; - un module 46 de réception d'un signal sur le lien sans fil ; et - un module 47 de synchronisation sur des données reçues dans une trame physique. Par ailleurs, chacun des éléments 41 à 46 est bien connu de l'homme du métier. Ces éléments communs ne sont pas décrits ici. On observe que le mot registre utilisé dans la description des mémoires 42 et 43 désigne dans chacune des mémoires mentionnées, aussi bien une zone de mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier ou tout ou partie des données représentatives d'un service audio/vidéo reçu). La mémoire ROM 42 comprend notamment un programme prog 420 . Les algorithmes mettant en oeuvre les étapes du procédé décrit ci-après sont stockés dans la mémoire ROM 42 associée à l'appareil 3 mettant en oeuvre ces étapes. A la mise sous tension, le microprocesseur 31 charge et exécute les instructions de ces algorithmes. La mémoire vive 43 comprend notamment : - dans une registre 430, le programme de fonctionnement du microprocesseur 41 chargé à la mise sous tension de l'appareil 4 ; - des données ou des PDU contenant ces données dans un registre 431 ; et - une variable synchro-Rqst indiquant qu'une recherche de synchronisation sur des PDU est activée, dans un registre 432. La figure 5 illustre schématiquement le module 47 de synchronisation qui comprend : - un bloc de vérification d'entête 470 qui reçoit une commande de marche/arrêt (ou initialisation) 474 du CPU 41 et des données de la mémoire 431 ou du module 46 de réception via le bus 44; - un bloc de calcul de HCS 471 qui reçoit une commande du bloc 470 et également les données ; - un bloc de calcul de CRC 472 qui reçoit une commande du bloc de calcul de HCS et une information de longueur, ainsi que les données ; et - un module de contrôle 473. Selon un mode avantageux de réalisation de l'invention, le module de vérification d'entête 470 vérifie un ou plusieurs bits ayant des significations précises dans l'entête, notamment : - le champ 22 HT qui lorsqu'il est à 0 indique un PDU contenant des données ; - le champ 23 Cl qui, lorsqu'il est égal à 1, indique la présence d'un CRC dans le PDU ; et - les champs réservés 24 et 25 qui sont, selon la norme égaux à 0. Selon un mode préféré de réalisation, afin de réduire la probabilité de fausse détection d'entête, on vérifie ces quatre bits (par exemple en faisant entrer les données dans un registre à décalage, et en vérifiant si les bits 1, 9, 10 et 13 (en partant des poids forts) sont égaux respectivement à 0, 0, 1 et 0 (par exemple à l'aide de portes inverseuses appliquées aux bits 1, 9 et 13 et d'une porte ET appliquées aux quatre bits 9 (inversé), 13 (inversé), 1 (inversé) et 10 et dont la sortie à 1 indique qu'il peut s'agir d'un entête. Cette sortie peut être utilisée directement par le bloc 470 comme commande du bloc 471. Selon une variante, on compare directement les bits 1, 9, 10 et 13 à la valeur attendue. Selon d'autres modes de réalisation, on ne prend en compte qu'une partie de ces bits. Ainsi, en ne considérant pas les champs 24 et 25, on a la possibilité de prendre en compte une évolution de la norme IEEE802.11 a et en ne considérant pas le champ 23, on peut essayer de se synchroniser sur un PDU dont les données ne sont pas protégées par un CRC. Le bloc 471 calcule le HCS d'un ensemble de six octets de données en fonction de la commande transmise par le bloc 470. Lorsque le HCS est correct, le bloc 471 envoie un signal de HCS correct module de contrôle 473 et au bloc 472. Il envoie également une information de longueur du PDU au bloc 472, cette longueur étant identifiée à l'emplacement présumé du champ 21 dans le bloc de six octets testé. Cette information de longueur peut être transmise de manière explicite au bloc 472 selon certain mode de réalisation ou implicite si le bloc 471 détecte lui même (à l'aide d'un compteur initialisé à la valeur de la longueur) la fin présumée du PDU (le signal de commande prenant une valeur prédéterminée durant la réception du PDU par le bloc 472). Lorsque le bloc 472 reçoit une information de commande de calcul de CRC du bloc 471, il calcule le CRC des données reçues de manière synchronisée sur la réception des données par les blocs 470 et 471. Ensuite, le bloc 472 transmet un signal de CRC détecté au module de contrôle lorsque le CRC est correct. Le module de contrôle 473 reçoit une indication de HCS décodé correctement ou non, du bloc 471, une indication de CRC décodé correctement ou non et le contenu d'un entête correspondant à un PDU dont le CRC et le HCS sont correct, ces informations étant fournies par le bloc 472. Ensuite, le module 473 transmet au CPU 41 un signal 478 de résultat de recherche de synchronisation et/ou de vérification de HCS et CRC indiquant que le module 47 a pu se synchroniser sur un PDU reçu et/ou a pu vérifier que les CRC et HCS d'un PDU reçu sont corrects. Le signal 478 comprend, par exemple, une indication de synchronisation sur PDU effectuée et, si la synchronisation PDU a pu être effectuée et/ou les HCS et CRC correspondants sont corrects, l'entête du PDU correspondant (ce qui permet au CPU d'avoir directement les informations qu'il peut utiliser directement (notamment la longueur du PDU) et sa position du PDU dans la mémoire (par exemple, position du premier octet du PDU). Selon certains modes de réalisation de l'invention, le module de synchronisation 47 est un bloc électronique comprenant un ou plusieurs composants discrets (par exemple du type ASIC ou composant programmables) ou inséré totalement ou en partie dans un composant comprenant d'autres fonctions (par exemple ASIC comprenant les mémoires 42 et/ou 43 et/ou le CPU 41). Selon d'autres modes de réalisation de l'invention, le module 47 est mis en oeuvre totalement ou partiellement sous forme informatique (par exemple, par un processeur de traitement de signal). La figure 6 illustre une mise en oeuvre électronique des blocs 471 et 473 ainsi que du module 473. Selon cette mise en oeuvre, le module de synchronisation est utilisé non seulement pour effectuer une synchronisation sur un PDU lorsque cette dernière est perdue (le mode de fonctionnement du module 47 étant dit mode PDU non synchronisé), mais également pour vérifier un CRC et un HCS de PDU lorsque la synchronisation PDU n'est pas perdue (le mode de fonctionnement du module 47 étant dit mode PDU synchronisé). Ainsi, les ressources de calcul de CRC et HCS sont, au moins en partie, utilisées aussi pour la vérification classique de CRC et HCS moyennant une modification peu coûteuse et la perte de synchronisation peut être directement détectée par le module 47, qui peut réagir en conséquence sans intervention supplémentaire des éléments extérieurs. Après son initialisation, lorsque le module 47 commence à recevoir des données, on suppose que les premières données correspondent à un entête de PDU et que, donc, la synchronisation PDU est correcte au départ. Selon une variante de l'invention, un signal supplémentaire de demande de synchronisation explicite peut être transmis par le CPU 41, le CPU 41 pouvant à tout moment changé le statut de la synchronisation PDU dans le composant 47 (par exemple, en fonction d'informations extérieures). Le bloc 471 comprend six décodeurs de HCS 4700 à 4705 alimentés par des données en provenance du bus 475. Chacun des décodeurs 4700 à 4705 est alimenté avec un décalage correspondant à un octet de sorte à pouvoir traiter en parallèle des blocs de six octets susceptibles d'être des entêtes de PDU. La figure 10 illustre ce décalage. Ainsi, lorsque des données 100 sont reçues (les octets étant numérotés 0, 1, 2, ...), le premier décodeur 4700 commence à décoder à l'instant 111 un bloc de données 101 de six octets. Avec un décalage de un octet sur le bloc 101, le deuxième décodeur 4701 commence à décoder à l'instant 112, un bloc de données 102 de six octets. Avec un décalage de deux octets sur le bloc 101, le deuxième décodeur 4701 commence à décoder à l'instant 112, un bloc de données 103 de six octets et ainsi de suite. Lorsque le décodeur 4700 a terminé la vérification du bloc 101, il peut vérifier le bloc 104 décalé de six octets par rapport au bloc 101. Ainsi, le bloc 471 peut vérifier de manière continue les CRC des données entrantes. Le bloc 472 comprend six décodeurs CRC 4710 à 4715 alimentés par des données en provenance du bus 475. Chacun des décodeurs 4710 à 4715 est associé à un décodeur 4700 à 4750, l'alimentation des décodeurs 4710 à 4715 étant synchrone de celle du décodeur HCS associé avec un décalage d'un nombre fixe d'octets supérieur ou égal à six pour prendre en compte le temps de traitement par le décodeur HCS. Lorsqu'un décodeur a vérifié le CRC correspondant à un paquet et si ce CRC est correct, une synchronisation est effectuée et il émet un signal de CRC correct ainsi que le contenu de l'entête du PDU synchronisé. Selon une variante, un décodeur peut également uniquement transmettre le signal de GRC correct, les informations d'entête et/ou de positionnement du PDU (typiquement la valeur du compteur correspondant au début du PDU) peuvent être lues par ailleurs par, notamment, le CPU 41 et/ou un élément quelconque du module 47. Le module 473 comprend : - un module 4730 concaténant les résultats de vérification des GRC en provenance des décodeurs 4710 à 4715, un GRC correct correspondant à un signal égal à 1 et récupérant les données d'entête d'un PDU synchronisé ; - une porte OU 4731 qui reçoit en entrée les six signaux 4734 de GRC correct ou non en provenance du module 4730 ; - une machine à état 4732 qui reçoit en entrée la sortie de la porte 4731 (résultat de GRC vérifié par l'un des décodeurs 4710 à 4715 sur base de la longueur identifiée) et des indications sur un bloc de données dont : ^ l'entête de six octets qui a une valeur de HCS correct (vérifiée par l'un des décodeurs 4700 à 4705), ainsi que les bits vérifiés par le bloc 470 ; 20 ^ une longueur (comprise dans l'entête) correspondant à la valeur indiqué par l'entête présumée ; et ^ une indication de fin de calcul de GRC (dans le mode PDU synchronisé). La machine à état 4732 est initialisée par l'écriture à une adresse 25 spécifique de réinitialisation d'une donnée prédéterminée (par exemple donnée binaire), cette initialisation étant effectuée par le CPU 41. La machine met alors à zéro un compteur d'octets entrant dans le module 47 et son mode est par défaut mode PDU synchronisé (à l'initialisation, la trame reçue est considérée comme synchronisée par la machine 4732 et le CPU 30 41). Le module 473 comprend également des portes ET 600 à 605 reliant respectivement un décodeur HCS 4700 à 4705 à un décodeur GRC 4710 à 4715 dont l'entrée comprend le résultat de la sortie d'un décodeur HCS correspondant et l'autorisation de décodage GRC transmise par la 35 machine 4732. Ces portes sont alimentés par un signal de GRC correct en provenance du décodeur HCS correspondant et un signal en provenance de la machine 4732 et transmettent le résultat de l'opération au décodeur GRC 15 correspondant et à une porte OU 4733. La machine état 4732 pilote, en effet, les portes ET 600 à 605 pour indiquer aux décodeurs CRC 4710 à 4715 s'ils sont autorisés à travailler ou non, à l'aide d'un signal de contrôle des décodeurs CRC. Dans le mode PDU synchronisé, ce signal indique uniquement au décodeur CRC 4710 à 4715 qui traite le PDU qu'il peut vérifier le CRC correspondant à ce paquet. En mode PDU non synchronisé, ce signal de contrôle est actif et autorise la vérification CRC à tous les décodeurs CRC 4710 à 4715 tant qu'une synchronisation PDU n'a pas été effectuée. Sortie de la porte OU 4733 est reliée à une entrée de la machine 4732 et permet d'indiquer qu'un HCS d'entête pouvant correspondre à un début de PDU est correct. En mode PDU synchronisé, la machine 4732 a ainsi directement le résultat de vérification de HCS sur un début de PDU. En mode PDU non synchronisé, lorsque la machine à état 4732 a obtenu des informations sur un bloc de données dont tous les paramètres (bits vérifiés, HCS, longueur et CRC) sont compatibles avec un PDU, elle transmet un signal d'information au CPU 41. En mode PDU synchronisé, lorsque la machine à été 4732 a pu vérifier le HCS et le CRC d'un PDU, elle le transmet au CPU 41. Par défaut, le résultat de synchronisation PDU et/ou de vérification de CRC et/ou de HCS est transmis spontanément par le module 47 au CPU 41. Selon une variante, en mode synchronisé, seul les valeurs correspondant à un HCS et un CRC prédéterminées (par exemple corrects ou non) sont transmis au CPU 41. Selon une autre variante, le CPU 41 lit le résultat après le transmission du bloc de données complet au module 47 en mode synchronisé ou à des instants prédéterminés ou suivant un évènement particulier en mode PDU non synchronisé. Selon une variante de réalisation du module 47, les modules HCS sont regroupés en un seul bloc de vérification HCS. Selon une variante de réalisation, chaque décodeur HCS est associé à plusieurs décodeurs CRC. Ainsi, si un décodeur HCS détecte un premier bloc de six octets avec un HCS correct, il peut commander à un premier décodeur CRC de vérifier le CRC du bloc commençant par ce premier bloc de six octets et d'une longueur correspondant au champ présumé longueur à l'intérieur du premier bloc de six octets. Si le décodeur HCS détecte à nouveau un CRC correct dans un deuxième bloc de six octets pendant que le premier décodeur vérifie le CRC du bloc de données correspondant au premier bloc de six octets, il peut confier à un deuxième décodeur CRC la vérification du CRC d'un bloc de données qui commence par le deuxième bloc de six octets. De cette manière, si n décodeurs CRC sont associés à un décodeur HCS, alors il peut y avoir simultanément n vérification de CRC pour des blocs commençant par des headers décalés d'un nombre entiers de fois six octets. Selon une autre variante, le module 47 comprend plusieurs décodeurs HCS et plusieurs décodeurs CRC, les décodeurs CRC pouvant être associés à un quelconque décodeur HCS. Ainsi, un décodeur CRC peut vérifier le CRC d'un premier bloc de données sur base d'une commande provenant d'un premier décodeur HCS et lorsqu'il a terminé cette vérification vérifier le CRC d'un deuxième bloc de données sur base d'une commande provenant d'un autre décodeur HCS. Ainsi, les ressources de décodage CRC sont partagées par tous les décodeurs HCS et ainsi optimisées. Selon cette variante de réalisation de l'invention, il est possible d'avoir moins de six décodeurs CRC pour six décodeurs HCS. Selon une variante de réalisation de l'invention, le module 47 n'est utilisé que pour retrouver une synchronisation PDU perdue correspondant au mode PDU non synchronisé précédemment décrit. La figure 7 illustre un mode de réalisation 7 simplifié du module de synchronisation 47 ne mettant en oeuvre qu'un module CRC 74. Le module de synchronisation 7 comprend des décodeurs HCS 4700 à 4705 similaires aux décodeurs HCS qui portent les mêmes références dans le module 47. Il comprend également : - un registre à décalage 70 qui permet un décalage de six octets du signal de données entrant 475 ; - un registre à décalage 72 alimenté par le registre 70 et qui a six sorties décalées chacune d'un octet ; - un bloc de sélection 75 alimenté par les sorties des décodeurs 4700 à 4705 qui émet un signal de commande en fonction du décodeur signalant un HCS détecté ; - un multiplexeur 73 qui permet de présenter en sortie le signal d'entrée décalé de six à onze octets, en sélectionnant l'une de ses entrées (sorties des registres 70 et 72) en fonction du signal de commande émis par le bloc 75, ce signal indiquant le décalage à appliquer ; - un décodeur CRC 74 similaire au décodeur 3710 alimenté par la sortie du multiplexeur 73 ; - une machine à état 77 alimentées par des informations de résultat fournies par le décodeur 74 ; et - une porte ET 76 alimentée par un signal de HCS correct synchronisé sur un bloc de données de 6 octets correspondant en provenance de la porte 4731 et un signal de contrôle en provenance de la machine 77, autorisant ou non la vérification de CRC, la sortie de la porte 76 étant connectée à une entrée du bloc 75 et une entrée du décodeur 74. Lorsque le décodeur 74 a vérifié le CRC correspondant à un paquet et si ce CRC est correct, une synchronisation est effectuée et il émet un signal de CRC correct ainsi que le contenu de l'entête du PDU synchronisé vers la machine 77. La machine à état 77 reçoit en entrée la sortie de la porte 4731 et des indications sur un bloc de données (en provenance du décodeur 74) dont : ^ l'entête de six octets qui a une valeur de HCS correct ainsi que les bits vérifiés par le bloc 470 ; ^ une longueur (comprise dans l'entête) correspondant à la valeur indiqué par l'entête présumée ; et ^ une indication de fin de calcul de CRC (dans le mode PDU synchronisé). La machine à état 77 est initialisée par l'écriture à une adresse spécifique de réinitialisation d'une donnée prédéterminée (par exemple donnée binaire), cette initialisation étant effectuée par le CPU 41. La machine met alors à zéro un compteur d'octets entrant dans le 7 et son mode est par défaut mode PDU synchronisé (à l'initialisation, la trame reçue est considérée comme synchronisée par la machine 77 et le CPU 41). La machine 77 donne par ailleurs un résultat de la même façon que la machine 4732. La figure 8 décrit une méthode de réception de données avec synchronisation sur PDU, cette méthode étant mise en oeuvre dans les modules de synchronisation précédemment illustrés ou, plus généralement, par tout type de modules permettant d'identifier des débuts de PDU suite àune perte de synchronisation. Au cours d'une étape d'initialisation 80, le récepteur de trames physiques contenant des PDU initialise ses différents composants et variables. Ensuite, au cours d'une étape 81, le récepteur attend et reçoit une trame physique de données contenant des PDU (par exemple trame du type IEEE802.16), chaque trame comprenant des PDU avec entête protégé par un HCS et des données, le PDU lui même étant protégé par un CRC, la longueur du PDU étant précisée dans l'entête. Puis, au cours d'un test 82, le récepteur vérifie si le HCS du 10 premier bloc de six octets courant est correct. Dans l'affirmative, au cours d'une étape 83, le récepteur extrait de l'entête la longueur du PDU courant. Puis, au cours d'une étape 84, le récepteur vérifie si le PDU dont l'entête correspond au bloc de six octet courant et qui a pour longueur la 15 longueur définie au cours de l'étape 83, a un CRC correct. Dans l'affirmative, au cours d'une étape 89, le bloc courant est considéré comme un PDU correct et est transmis à l'application associée. Dans la négative, au cours d'une étape 85, le bloc courant est considéré comme un mauvais PDU et est éliminé. 20 Suite à l'une des étapes 85 ou 89, au cours d'un test 86, le récepteur vérifie si le bloc courant est le dernier bloc de la trame. Dans l'affirmative, la fin de trame est détectée et l'étape 81 est réitérée. Dans la négative, le premier bloc de six octets qui suit le bloc 25 courant (associé au PDU), est considéré comme le nouveau bloc de six octets courant et l'étape 82 est réitérée. Si le résultat du test 82 est négatif, le récepteur a perdu la synchronisation sur les PDU, et au cours d'une étape 87, le récepteur teste les HCS dans une fenêtre glissante de blocs de six octets pour retrouver 30 une synchronisation, et vérifie le CRC d'un bloc correspondant pour identifier un PDU. Ce processus s'arrête à la fin de la trame si aucun PDU n'est identifié. Ensuite, au cours d'un test 88, le récepteur vérifie si une synchronisation a été effectuée (un PDU ayant été identifié). 35 Si une synchronisation sur un PDU a été effectué, l'étape 89 est exécutée. Sinon, la fin de trame est atteinte sans synchronisation PDU et l'étape 81 est réitérée. La figure 9 détaille les opérations mises en oeuvre dans l'étape 87. Cette étape est, par exemple, mise en oeuvre par un microprocesseur (par exemple sous forme d'une tâche spécifique intégré au programme présent dans le registre 430) ou par un ou plusieurs composants électroniques (par exemple composant programmable ou ASIC). L'étape 87 commence par une étape 90, au cours de laquelle le récepteur attend puis reçoit une commande de synchronisation PDU (par exemple bit de contrôle à 1 pilotant toutes ET 600 à 605). Selon une variante, la commande est remplacée par un signal d'autorisation ou non de synchronisation PDU. Ensuite, au cours d'une étape 91, le récepteur recherche un ou plusieurs bits spécifiques dans une fenêtre glissante de deux octets consécutifs dans la trame reçue ou détecte une fin de trame. Le ou les bits spécifiques sont notamment parmi les bits ayant des significations précises dans l'entête, et par exemple : - le champ 22 HT qui lorsqu'il est à 0 indique un PDU contenant des données ; - le champ 23 Cl qui, lorsqu'il est égal à 1, indique la présence d'un CRC dans le PDU ; et - les champs réservés 24 et 25 qui sont, selon la norme égaux à 0. Comme indiqué précédemment, la recherche de bits peut se faire sur les quatre bits 22 à 25 situés à des emplacements précis. Ainsi, on détermine si le mot de deux octets de la fenêtre glissante est de la forme OXXXXXXX01XXOXXX Pour une mise en oeuvre informatique, cette comparaison est, par exemple effectuée en appliquant aux deux octets un masque correspondant à l'emplacement des bits recherchés à l'aide d'une opération ET (dans le cas d'une recherche des quatre bits 22 à 25 tels qu'illustrés en figure 2, le masque appliqué est 1000000011001000 en notation binaire). Puis, on vérifie si le résultat est égal à 00000000010000000. Ensuite, au cours d'un test 92, le récepteur vérifie si l'étape précédente s'est arrêtée suite à une détection de fin de trame (cette opération peut correspondre à une opération d'initialisation liée à une fin de trame ou une synchronisation effectuée par un autre module de synchronisation PDU ou de vérification de CRC). Dans l'affirmative, la fin de trame est détectée, et l'étape 47 est terminée Dans la négative, on a détecté le ou les bits recherchés dans deux octets consécutifs et au cours d'un test 93, le récepteur vérifie si le bloc de six octets consécutifs de la trame reçue commençant par les deux octets où le ou les bits recherchés ont été détectés a un HCS correct. Dans la négative, le HCS du bloc de six octets testé n'est pas correct et l'étape 91 est réitérée. Dans l'affirmative, le HCS du bloc de six octets testé est correct et, au cours d'une étape 94, le récepteur extrait le champ longueur 21 dans le bloc de six octets correspondant (trois derniers bits du deuxième octet et troisième octet). Ensuite, au cours d'un test 95, le récepteur vérifie si le bloc de n octets (n représentant la longueur 21) commençant par le bloc de six octets 15 avec HCS correct a un CRC correct. Dans la négative, le CRC du bloc de n octets testé n'est pas correct et l'étape 91 est réitérée. Dans l'affirmative, le récepteur a détecté un bloc de n octets correspondant avec une très forte probabilité à un PDU, et l'étape 47 est 20 terminée. Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits précédemment. En particulier, l'architecture de l'appareil de réception peut être différente de celle illustrée en figure 4, dans la fonction respective et/ou la 25 forme des éléments (les fonctions des éléments électroniques peuvent notamment être regroupées dans un nombre restreint de composants ou, au contraire, éclatés dans plusieurs composants) et leur agencement. En outre, le module de synchronisation sur des PDU peut aussi avoir une structure différente, les fonctions de traduction pouvant être 30 notamment intégrées à l'un des modules associés aux registres. Par ailleurs, selon l'invention, la détection de synchronisation peut se faire sur un paquet quelconque protégé par un code de détection d'erreur (par exemple HCS ou CRC), le paquet étant de longueur connue (par exemple longueur fixe ou identifiée par un moyen quelconque, cette 35 longueur étant égale à six ou différente de six) ou non (la vérification se faisant pour différentes longueurs ou sur une fenêtre de taille variable). Un paquet de longueur connue permet de simplifier la mise en oeuvre. Dans le mode de réalisation le plus simple de l'invention, la détection du début d'un paquet peut se faire uniquement sur la détection d'un bloc de données dont le contenu correspond à une absence d'erreur en supposant ce bloc protégé par un code de détection d'erreur prédéterminé. Afin de réduire le nombre de fausses détections de début de paquet, selon l'invention, on vérifie la présence ou la valeur de données prédéterminées, ces données correspondant à des valeurs obligatoires attendues ou à un mode particulier de transmission de données. Afin également de réduire le nombre de fausses détections, si le paquet est compris dans un ou plusieurs paquets plus grands, chacun étant protégés par un code de détection d'erreurs, on vérifie l'absence d'erreurs dans le ou les paquets plus grands à l'aide de ce code de détection d'erreurs. Afin également de réduire le nombre de fausses détections, si le paquet est compris dans un ou plusieurs paquets plus grands, on vérifie la présence ou la valeur de données prédéterminées. L'ordre des étapes de détection de début de paquet et de vérification de présence ou de valeurs de données prédéterminées est quelconque, tout ou partie de l'étape de vérification pouvant se faire avant ou après l'étape de détection. Néanmoins, si l'étape de vérification est effectuée avant l'étape de détection, la mise en oeuvre est généralement simplifiée. Afin également de réduire le nombre de fausses détections, si le paquet comprend un ou plusieurs paquets plus petits, chacun étant protégés par un code de détection d'erreurs, on vérifie l'absence d'erreurs dans le ou les paquets plus petits à l'aide de ce code de détection d'erreurs. L'invention ne se limite pas non plus à la réception de données suivant une norme de communication sans fil (par exemple IEEE802.16) mais concerne également tout mode de réception utilisant des codes de détection d'erreurs dans un paquet reçu. En outre, l'invention ne se limite pas aux transmissions sans fil mais concerne toutes les transmissions sur un médium quelconque, et notamment sur des canaux filaires bruités ou sur un canal d'enregistrement. REVENDICATIONS 1. Procédé de réception d'une trame comprenant des paquets de données protégées par au moins un code de détection d'erreurs, caractérisé en ce qu'il comprend les étapes suivantes : - première vérification (82, 471, 93) qu'un premier ensemble de données qui serait protégé par un premier code de détection d'erreurs, ne comprend pas d'erreur, ladite trame comprenant ledit premier ensemble de données ; - synchronisation sur un desdits paquets comprenant ledit ensemble si ladite vérification indique que ledit premier ensemble de données ne comprend pas d'erreur. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape de deuxième vérification (84, 470, 91) de la présence de données prédéterminées dans ledit premier ensemble de données, ladite synchronisation étant effectuée si lesdites données prédéterminées sont présentes dans ledit premier ensemble de données. 3. Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce qu'il comprend une étape de troisième vérification (472, 95) qu'un second ensemble de données qui serait protégé par un second code de détection d'erreurs, ne comprend pas d'erreur, ladite trame comprenant ledit second ensemble de données, ledit second ensemble de données comprenant lui-même ledit premier ensemble de données. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comprend une étape de lecture (83) dans ledit premier ensemble, d'une information représentative de la longueur dudit second ensemble. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ladite trame est compatible avec une norme IEEE802.16. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé 35 en ce qu'il comprend les étapes de : - réception (81) de trames de données ;30- extraction d'au moins un premier paquet de données, le début de chaque premier paquet de données étant identifié par rapport au début de la trame ou d'un paquet de données précédent ; - quatrième vérification de la validité d'au moins une partie de chaque premier paquet de données à l'aide dudit premier code de détection d'erreur - mise en oeuvre desdites étapes de première vérification et de synchronisation lorsque ladite étape de quatrième vérification indique qu'au moins une partie d'un premier paquet de données n'est pas valide. 7. Module de synchronisation (7, 47) sur une trame comprenant des paquets de données protégées par au moins un code de détection d'erreurs, caractérisé en ce qu'il comprend : - des premiers moyens de vérification (471) qu'un premier ensemble de données qui serait protégé par un premier code de détection d'erreurs, ne comprend pas d'erreur, ladite trame comprenant ledit premier ensemble de données ; - des moyens de synchronisation (473) sur un desdits paquets comprenant ledit ensemble si ladite vérification indique que ledit premier ensemble de données ne comprend pas d'erreur. 8. Module selon la revendication 7, caractérisé en ce que lesdits premiers moyens de vérification comprennent une pluralité de premiers décodeurs (4700 à 4705) dudit premier code, au moins une partie desdits premiers décodeurs décodant respectivement des ensembles de données issues de ladite trame, décalés temporellement. 9. Module selon l'une quelconque des revendications 7 et 8, caractérisé en ce qu'il comprend des second moyens de vérification (472) qu'un second ensemble de données qui serait protégé par un second code de détection d'erreurs, ne comprend pas d'erreur, ladite trame comprenant ledit second ensemble de données, ledit second ensemble de données comprenant lui-même ledit premier ensemble de données. 10. Module selon la revendication 9, caractérisé en ce que lesdits seconds moyens de vérification comprennent une pluralité de seconds décodeurs (4700 à 4705, 74) dudit second code. 11. Module selon la revendication 10 dépendant de la revendication 9, caractérisé en ce que chacun desdits seconds décodeurs est associé à un desdits premiers décodeurs, ledit second décodeur étant adapté à vérifier un second ensemble de données comprenant un premier ensemble, qu'un premier décodeur associé audit second décodeur est adapté à vérifier. 12. Module selon la revendication 10 dépendant de la revendication 9, caractérisé en ce que chacun desdits seconds décodeurs est associé à l'ensemble desdits premiers décodeurs, ledit second décodeur étant adapté à vérifier un second ensemble de données comprenant un premier ensemble, qu'un quelconque desdits premiers décodeurs est adapté à vérifier. 13. Module selon l'une quelconque des revendications 7 à 12, caractérisé en ce qu'il comprend des moyens pour distinguer deux modes de fonctionnement : - un mode dit synchronisé, lesdits moyens de vérification vérifiant que des données correspondant à paquet synchronisé ne comprend pas 20 d'erreur ; - un mode dit non synchronisé, la synchronisation paquet étant recherchée par lesdits moyens de vérification et lesdits moyens de synchronisation. 25 14. Appareil de réception (4) de trames de données, caractérisé en ce qu'il comprend des moyens de réception desdites trames et au moins un module de synchronisation selon l'une quelconque des revendications 7 à 13.