Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEMODULATION OF A FRAME ENCODED USING MANCHESTER CODE
Document Type and Number:
WIPO Patent Application WO/2014/090854
Kind Code:
A1
Abstract:
The invention concerns a method for demodulating at least one received frame and a corresponding device, the frame consisting of a series of bits encoded using Manchester code. The method comprises the steps of: - generating an interruption at least each time an edge of the frame of bits appears, - defining the time between each interruption from at least a first counter, - reinitialising the demodulation of the frame when one of the defined times is shorter than a first predefined value or longer than a second predefined value, the first and second predefined values being dependent on the duration of a bit encoded using the code, - demodulating (E222, E223), for each defined time, if the defined time is longer than the first predefined value and is shorter than the second predefined value, at least one binary value of the frame from the defined time.

Inventors:
DUONG THANH-TRUOC (FR)
BOCAGE FRÉDÉRIC (FR)
Application Number:
PCT/EP2013/076180
Publication Date:
June 19, 2014
Filing Date:
December 11, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SAGEM DEFENSE SECURITE (FR)
International Classes:
H03M5/12; H04L25/49
Foreign References:
EP0377335A21990-07-11
US6977973B12005-12-20
US20070248180A12007-10-25
US20080266068A12008-10-30
Attorney, Agent or Firm:
MAILLET, ALAIN (FR)
Download PDF:
Claims:
REVENDICATIONS

1) Procédé de démodulation d'une trame reçue, la trame étant constituée d'une succession d'un nombre prédéterminé de bits codés selon un code Manchester, caractérisé en ce que le procédé comporte les étapes de :

- génération d'une interruption au moins à chaque apparition d'un front montant et/ou descendant de la trame de bits codés,

- détermination (E203) du temps entre chaque interruption à partir d'au moins un premier compteur,

- réinitialisation (E235) de la démodulation de la trame dès qu'un des temps déterminés est inférieur à une première valeur prédéterminée ou supérieur à une seconde valeur prédéterminée, la première et la seconde valeur prédéterminées étant dépendantes de la durée d'un bit codé selon le code de Manchester,

- démodulation (E222, E223, E232), pour chaque temps déterminé, si le temps déterminé est supérieur à la première valeur prédéterminée et est inférieur à la seconde valeur prédéterminée, d'au moins une valeur binaire de la trame à partir du temps déterminé.

2) Procédé selon la revendication 1, caractérisé en ce que la valeur binaire déterminée est dépendante de la valeur binaire précédemment déterminée. 3) Procédé selon la revendication 1 ou 2, caractérisé en ce que le procédé comporte en outre l'étape de réinitialisation (E212) du décodage de la trame si la valeur du second compteur est supérieure au second seuil prédéterminé.

4) Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que un nombre prédéterminé de trames est reçu, les trames étant espacées temporellement et en ce que le procédé comporte en outre les étapes de :

- validation (E243) de chaque trame reçue indépendamment des autres trames,

- mémorisation de la trame reçue et validée,

- réinitialisation (E244) de la démodulation.

5) Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les trames comportent un label ou sont numérotées. 6) Procédé selon l'une quelconque des revendications 1 à

5, caractérisé en ce que un nombre prédéterminé de trames est reçu, les trames étant espacées temporellement et en ce que le procédé comporte en outre les étapes de :

- initialisation d'un second compteur au lancement à la première interruption,

- vérification (E205), à chaque interruption, si la valeur du second compteur est égale à un troisième seuil prédéterminé, le troisième seuil prédéterminé étant représentatif d'un temps maximal pour le décodage de l'ensemble des trames,

- arrêt (E210) de la démodulation de la trame si la valeur du second compteur est supérieure au troisième seuil prédéterminé.

7) Procédé selon l'une quelconque des revendications 1 à

6, caractérisé en ce que le premier compteur est un compteur cyclique asynchrone des autres compteurs, de durée inférieure à la durée de la réception des trames et en ce qu'un troisième compteur compte le nombre de dépassements de la capacité du premier compteur.

8) Procédé selon la revendication 7, caractérisé en ce que le troisième compteur est réinitialisé à chaque démodulation d'au moins une valeur binaire.

9) Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que chaque trame comporte en outre des informations permettant de vérifier si les bits d'une trame décodée ont été correctement décodés. 10) Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que le front est un front descendant.

11) Dispositif de démodulation d'au moins une trame reçue, la trame étant constituée d'une succession d'un nombre prédéterminé de bits codés selon un code Manchester, caractérisé en ce que le dispositif de démodulation comporte :

- des moyens de génération d'une interruption au moins à chaque apparition d'un front montant et/ou descendant de la trame de bits codés,

- des moyens de détermination du temps entre chaque interruption à partir d'au moins un premier compteur, - des moyens de réinitialisation de la démodulation de la trame dès qu'un des temps déterminés avec le premier compteur est inférieur à une première valeur prédéterminée ou supérieur à une seconde valeur prédéterminée, la première et la seconde valeur prédéterminées étant dépendantes de la durée d'un bit codé selon le code de Manchester,

- des moyens de démodulation, pour chaque temps déterminé, si le temps déterminé est supérieur à la première valeur prédéterminée et est inférieur à la seconde valeur prédéterminée, d'au moins une valeur binaire de la trame à partir du temps déterminé et à partir d'une valeur binaire précédemment déterminée.

Description:
DEMODULATION D'UNE TRAME CODEE SELON UN CODE MANCHESTER

La présente invention concerne un procédé et un dispositif de démodulation d'au moins une trame reçue, la trame étant constituée d'une succession de bits codés selon un code Manchester.

Le code Manchester, qu'il soit différentiel ou non, est un code dans lequel la valeur d'un bit est encodée par un front descendant ou montant.

En général la valeur binaire « 0 » est encodée par un front descendant et la valeur binaire « 1 » est encodée par un front montant.

Le code Manchester est souvent utilisé dans des transmissions de données entre un émetteur et un récepteur reliés entre eux par un couplage capacitif ou magnétique.

Le code Manchester est simple à implémenter mais est sensible aux impulsions parasites qui créent des fronts montant et descendant sur le signal transmis.

Ces impulsions parasites sont par exemple créées par des vibrations mécaniques et/ou des parasites électromagnétiques.

Une solution classique consiste à ajouter, dans la trame de données transmise, des données de redondance de manière à corriger les erreurs provoquées au décodage par les impulsions parasites ou à ajouter dans la trame de données transmise des données de parité qui permettent de détecter lors du décodage au moins une erreur. Dans des environnements très bruités, il est alors nécessaire d'ajouter une quantité importante de données de redondance ou de parité. Ceci a pour effet d'augmenter la taille de la trame ou de réduire la quantité de données utiles comprises dans la trame si la taille de la trame est fixe.

La présente invention a pour but de résoudre les inconvénients de l'art antérieur en proposant un procédé et un dispositif de démodulation d'au moins une trame constituée d'une succession de bits codés selon un code Manchester qui permette de détecter efficacement d'éventuelles erreurs de démodulation liées à la présence d'impulsions parasites dans le signal reçu.

A cette fin, selon un premier aspect, l'invention propose un procédé de démodulation d'une trame reçue, la trame étant constituée d'une succession d'un nombre prédéterminé de bits codés selon un code Manchester, caractérisé en ce que le procédé comporte les étapes de :

- génération d'une interruption au moins à chaque apparition d'un front montant et/ou descendant de la trame de bits codés,

- détermination du temps entre chaque interruption à partir d'au moins un premier compteur,

- réinitialisation de la démodulation de la trame dès qu'un des temps déterminés est inférieur à une première valeur prédéterminée ou supérieur à une seconde valeur prédéterminée, la première et la seconde valeur prédéterminées étant dépendantes de la durée d'un bit codé selon le code de Manchester,

- démodulation, pour chaque temps déterminé, si le temps déterminé est supérieur à la première valeur prédéterminée et est inférieur à la seconde valeur prédéterminée, d'au moins une valeur binaire de la trame à partir du temps déterminé et à partir d'une valeur binaire précédemment déterminée.

La présente invention concerne aussi un dispositif de démodulation d'au moins une trame reçue, la trame étant constituée d'une succession d'un nombre prédéterminé de bits codés selon un code Manchester, caractérisé en ce que le dispositif de démodulation comporte :

- des moyens de génération d'une interruption au moins à chaque apparition d'un front montant et/ou descendant de la trame de bits codés, - des moyens de détermination du temps entre chaque interruption à partir d'au moins un premier compteur,

- des moyens de réinitialisation de la démodulation de la trame dès qu'un des temps déterminés avec le premier compteur est inférieur à une première valeur prédéterminée ou supérieur à une seconde valeur prédéterminée, la première et la seconde valeur prédéterminées étant dépendantes de la durée d'un bit codé selon le code de Manchester,

- des moyens de démodulation, pour chaque temps déterminé, si le temps déterminé est supérieur à la première valeur prédéterminée et est inférieur à la seconde valeur prédéterminée, d'au moins une valeur binaire de la trame à partir du temps déterminé et à partir d'une valeur binaire précédemment déterminée.

Ainsi, il est possible de détecter efficacement d'éventuelles erreurs de démodulation liées à la présence d'impulsions parasites dans le signal reçu. En effet, une impulsion parasite en cours de réception d'une trame invalide la trame.

En réinitialisant la démodulation dès qu'un temps déterminé avec au moins le premier compteur est inférieur à une première valeur prédéterminée ou supérieur à une seconde valeur prédéterminée, dépendantes de la durée d'un bit dans le code Manchester, il est de plus possible d'interrompre une tentative de démodulation d'une impulsion parasite située entre deux trames sans perturber la démodulation des deux trames.

Selon un mode particulier de la présente invention, la valeur binaire déterminée est dépendante de la valeur binaire précédemment déterminée.

Selon un mode particulier de la présente invention, le procédé comporte en outre l'étape de réinitialisation du décodage de la trame si la valeur du second compteur est supérieure au second seuil prédéterminé.

Selon un mode particulier de la présente invention, un nombre prédéterminé de trames est reçu, les trames étant espacées temporellement et le dispositif de démodulation :

- valide chaque trame reçue indépendamment des autres trames, mémorise la trame reçue et validée et réinitialise l'algorithme de démodulation.

Si une impulsion parasite arrive avant la première impulsion de la trame et avec un temps supérieur à la première valeur prédéterminée ou supérieur à la seconde valeur prédéterminée, la présente invention permet de détecter l'impulsion parasite, de réinitialiser le décodage de manière à être prêt à décoder la trame. De plus, la validation de la communication se faisant trame par trame, il est ainsi possible, par exemple lorsque plusieurs impulsions parasites sont présentes dans le signal reçu, de recevoir une communication partielle avec une partie des trames validées. L'espacement temporel entre les différentes trames étant défini par une durée supérieure à la durée maximale attendue entre deux interruptions au sein d'une même trame, l'algorithme de démodulation est réinitialisé par ce temps mort, ce qui permet d'avoir un algorithme réinitialisé au démarrage de la trame suivante, indépendamment de la validation de trame précédente.

Selon un mode particulier de réalisation, les trames comportent un label ou sont numérotées.

Cette information permet en cas de récupération partielle de la communication, c'est-à-dire en cas de perte de trame induite par la présence d'impulsion parasite, d'identifier les trames correctement reçues et d'interpréter correctement les données reçues sans erreur d'attribution des données.

De plus, la présente invention est particulièrement bien adaptée à des configurations dans lesquelles il est difficile de prévoir précisément la période temporelle au sein de laquelle arrive une trame.

La présente invention ne nécessite de fenêtre en temps venant restreindre le moment auquel les différentes trames sont reçues.

Selon un mode particulier de l'invention, le dispositif de démodulation :

- initialise d'un second compteur au lancement à la première interruption,

- vérifie, à chaque interruption, si la valeur du second compteur est égale à un troisième seuil prédéterminé, le troisième seuil prédéterminé étant représentatif d'un temps maximal pour le décodage de l'ensemble des trames,

- arrête la démodulation de la trame si la valeur du second compteur est supérieure au troisième seuil prédéterminé.

Ainsi, les trames non reçues à l'arrêt de la démodulation sont considérées comme non valides car le temps nécessaire à la réception desdites trames est supérieur à un temps maximum escompté pour la réception desdites trames.

Selon un mode particulier de l'invention, le premier compteur est un compteur cyclique asynchrone des autres compteurs, de durée inférieure à la durée de la réception des trames et un troisième compteur compte le nombre de dépassement de la capacité du premier compteur. Selon un mode particulier de l'invention, le troisième compteur est réinitialisé à chaque démodulation d'au moins une valeur binaire.

Ainsi, le temps déterminé entre chaque interruption et utilisé pour démoduler la trame est alors corrigé de la valeur du troisième compteur, afin de prendre en compte l'aspect cyclique du premier compteur.

Ainsi, il est possible d'utiliser un compteur destiné à d'autres tâches, le coût de réalisation du dispositif ou du procédé selon la présente invention est réduit.

Selon un mode particulier de l'invention, chaque trame comporte en outre des informations permettant de vérifier si les bits d'une trame décodée ont été correctement décodés.

Ainsi une impulsion parasite arrive avant la première impulsion de la trame et avec un temps inférieur à la première valeur prédéterminée, la trame sera invalidée par les mécanismes traditionnels de sécurisation d'une communication, type parité, CRC (en anglais Cyclic Redundancy check).

Selon un mode particulier de l'invention, le front est un front descendant.

Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels :

la Fig. 1 représente un exemple de réalisation d'un dispositif de démodulation de trames selon la présente invention ;

les Fig. 2a à 2c représentent un algorithme de démodulation de trames selon la présente invention ;

la Fig. 3a représente un premier exemple d'une partie d'une trame de bits reçue par le dispositif de démodulation de trames selon la présente invention ;

la Fig. 3b représente un second exemple d'une partie d'une trame de bits reçue par le dispositif de démodulation de trames selon la présente invention.

La Fig. 1 représente un exemple de réalisation d'un dispositif de démodulation de trames selon la présente invention.

Le dispositif de démodulation de trames 10 est adapté à effectuer, à partir d'un ou plusieurs modules logiciels, les étapes de l'algorithme tel que décrit en référence aux Figs. 2a, 2b et 2c. Le dispositif de démodulation de trames 10 comporte un bus de communication 101 auquel sont reliés un processeur 100, une mémoire non volatile 102, une mémoire vive 103 et trois compteurs, un premier compteur Te, un second compteur Ext et un troisième compteur NOVFLW.

La mémoire non volatile 102 mémorise le ou les modules logiciel(s) mettant en œuvre l'invention, ainsi que les données permettant de mettre en œuvre les algorithmes tels que décrits en référence aux Figs. 2a à 2c.

De manière plus générale, les programmes selon la présente invention sont mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par le microprocesseur 100. Ce moyen de stockage est intégré ou non au dispositif de démodulation de trames 10 et peut être amovible.

Lors de la mise sous tension du dispositif de démodulation de trames 10, le ou les modules logiciel(s) selon la présente invention est ou sont transféré(s) dans la mémoire vive 103 qui contient alors le code exécutable selon la présente invention ainsi que les données nécessaires à la mise en œuvre de l'invention.

Le premier compteur TC est un compteur cyclique de seize bits qui compte de 0 à FFFF en hexadécimal sur une période de l'ordre de 118 ms. Le compteur TC se réinitialise à la valeur nulle lorsque la valeur FFFF est atteinte et recommence automatiquement le comptage.

Le troisième compteur NOVFLW compte chaque fois que le compteur TC arrive à la valeur FFFF. Le compteur NOVFLW est réinitialisé à la valeur nulle sur instruction du processeur 100. Il est à remarquer ici que le compteur NOVFLW est ici sous forme de composant, le compteur NOVFLW peut en variante être implémenté sous forme logicielle.

Les compteurs TC et NOVFLW permettent de déterminer si le temps entre deux interruptions consécutives n'est pas supérieur ou inférieur à ce qu'il devrait être dans un fonctionnement sans impulsions parasites dans le signal.

Il est à remarquer ici que les valeurs des compteurs NOVFLW et TC sont déterminées en fonction de l'application dans laquelle la présente invention est implémentée.

Le second compteur Ext est par exemple initialisé à une valeur prédéterminée et effectue un décomptage jusqu'à atteindre la valeur nulle. Le décomptage entre la valeur prédéterminée et la valeur nulle est effectué sur une durée de l'ordre de deux cent millisecondes qui représente la durée maximum allouée à la réception des différentes trames.

Les paramètres du compteur Ext permettent de définir le temps maximal pour le décodage des trames de bits reçus.

L'interface entrée trame 108, par exemple à chaque front descendant du signal binaire reçu, génère une interruption à destination du processeur 100.

En variante, l'interface entrée trame 108 génère une interruption à destination du processeur 100 à chaque front montant du signal binaire reçu.

En variante, l'interface entrée trame 108 génère une interruption à destination du processeur 100 à chaque front du signal binaire reçu.

Il est à remarquer ici que le dispositif de démodulation de trames 10 peut être constitué d'un ou plusieurs composant(s) électronique(s).

Les Fig. 2a à 2c représentent un algorithme de démodulation de trames selon la présente invention.

Plus précisément, le présent algorithme est exécuté par le processor 100 du dispositif de démodulation de trames 10.

Le présent algorithme est décrit dans un exemple de réalisation dans lequel les interruptions sont générées à chaque front descendant du signal reçu.

L'homme du métier tirera de l'enseignement du présent exemple de réalisation les enseignements nécessaires pour la mise en œuvre de la présente invention lorsque les interruptions sont générées à chaque front montant du signal binaire reçu ou à chaque front montant ou descendant du signal binaire reçu. Les trames modulées selon la présente invention sont, dans un exemple de réalisation particulier, une suite de trois trames constituées de 28 bits codés avec un code Manchester. Le premier bit de chaque trame est à la valeur nulle, les deux bits suivants permettent d'identifier chacune des trames, 00 pour la première trame, 01 pour la seconde et 10 pour la troisième trame. Les 24 bits suivants sont des données binaires et le dernier bit est un bit de parité qui permet de détecter si une erreur existe dans la démodulation de la trame.

Un temps bit est égal à 256 microsecondes, chaque trame a une durée de 7,168 ms et sont séparées par un temps de l'ordre de 16 ms.

A l'étape E200, le processeur 100 détecte une interruption générée par le module entrée trame 108 et incrémente une variable Intc d'une unité. A l'étape suivante E201, le processeur 100 vérifie si la valeur du compteur NOVFLW est nulle ou égale à un.

Si la valeur du compteur NOVFLW est nulle ou égale à un, le processeur 10 passe à l'étape E202. Si la valeur du compteur NOVFLW est égale ou supérieure à 2, le processeur 100 passe à l'étape E212. Si la valeur du compteur NOVFLW est égale ou supérieure à 2, le temps entre les deux interruptions est supérieur à la durée maximale entre deux interruptions générées par les données codées selon le code Manchester.

A l'étape E202, le processeur 100 met la variable CPT2 à la valeur du compteur TC.

A l'étape suivante E203, le processeur 100 calcule la valeur de la variable DT avec la formule suivante DT= CPT2+(NOVFLW*FFFF) - CPT1.

NOVFLW est la valeur du compteur NOVFLW, FFFF est exprimé en hexadécimal et CPT1 est une variable. Ce calcul permet de prendre en compte la durée réelle entre les deux interruptions avec prise en compte du comptage cyclique du compteur TC. Il est à remarquer ici que le compteur Ext est complètement asynchrone, le dépassement du premier compteur TC peut potentiellement être atteint entre deux.

A l'étape suivante E204, le processeur 100 met la valeur de la variable CPT1 à la valeur de CPT2.

La valeur de la variable CPT1 sera, lors de la prochaine exécution du présent algorithme, représentative de l'instant où la précédente interruption a été détectée.

A l'étape suivante E205, le processeur 100 vérifie si le compteur Ext est à la valeur nulle. Si le compteur Ext est à la valeur nulle, le temps maximum alloué à la communication a été atteint.

Si le compteur Ext est à la valeur nulle, le processeur 100 passe à l'étape E210. Dans la négative, le processeur 100 passe à l'étape E206.

A l'étape E206, le processeur 100 vérifie si la variable Intc est supérieure à l'unité.

Si la variable Intc est supérieure à l'unité, au moins deux interruptions ont été détectées, il est alors possible de déterminer le temps entre ces deux interruptions, la valeur de DT est correcte, le processeur 100 passe à l'étape E207. Si la variable Intc est égale à l'unité, une seule interruption a été détectée, la valeur de DT est incorrecte car la valeur de la variable CPT1 utilisée dans le calcul à l'étape E203 n'est pas représentative d'un précédent front montant ou interruption, il n'est alors pas possible de déterminer le temps entre ces deux interruptions, le processeur 100 passe à l'étape E240 de la Fig. 2c.

A l'étape E207, le processeur 100 incrémente la variable Bitindex d'une unité. La variable Bitindex varie entre 0 et 27 et est représentative du nombre de bits d'une trame démodulée.

A l'étape suivante E208, le processeur 100 vérifie si la variable DT est comprise entre 3/4 de T BIT et 5/4 de T BIT , où T BIT est la durée d'un bit de la trame reçue.

Dans la modulation ou codage de type Manchester, la durée entre deux fronts descendants est égale à un temps bit ou 1,5 temps bit ou deux temps bits selon les valeurs de bits consécutifs.

Si la variable DT est comprise entre 3/4 de T BIT et 5/4 de T B n, le processeur 100 passe à l'étape E209. Dans la négative, le processeur 100 passe à l'étape E220 de la Fig. 2b.

A l'étape E209, le processeur 100 met la variable Cbit à la valeur de la variable

Pbit. La valeur de la variable Cbit est la valeur binaire du bit en cours de décodage et la valeur de la variable Pbit est la valeur binaire du bit précédemment décodé. Le processeur 100 mémorise le couple Cbit et Bitindex.

Le processeur 100 passe ensuite à l'étape E240 de l'algorithme de la Fig. 2c. A l'étape E210, le processeur 100 interrompt la démodulation. Le décomptage entre la valeur prédéterminée et la valeur nulle est supérieur au temps maximal pour la réception de trois trames. Lorsque le compteur Ext atteint la valeur nulle, au moins une des trois trames n'a pas été reçue.

A l'étape suivante E211 , le processeur 100 remet le compteur NOVFLW à zéro. En effet, au moins un bit a été correctement démodulé. On attend la prochaine interruption afin de relancer l'algorithme dans le but de décoder au moins une nouvelle valeur binaire de la trame en cours.

A l'étape E212, le processeur 100 réinitialise toutes les variables utilisées dans le présent algorithme et passe à l'étape suivante E211 déjà décrite.

A l'étape E220 de la Fig. 2b, le processeur 100 vérifie si la variable DT est comprise entre 5/4 de T B n et 7/4 de T Bn -.

Si la variable DT est comprise entre 5/4 de T B n et 7/4 de T B n, le processeur 100 passe à l'étape E221. Dans la négative, le processeur 100 passe à l'étape E230 de la

Fig. 2c. A l'étape E221, le processeur 100 vérifie si la valeur de la variable Pbit est nulle.

Lorsque la durée entre deux fronts descendant est égale à 1,5 durée de bit, la durée est représentative de la suite binaire 01 ou 110.

Si la valeur de la variable Pbit est nulle, le processeur 100 passe à l'étape E222.

Dans la négative, le processeur 100 passe à l'étape E223.

A l'étape E222, le processeur 100 met la variable CBit à la valeur 1. Le processeur 100 mémorise le couple Cbit et Bitindex et passe à l'étape E240 de la Fig. 2c.

A l'étape E223, le processeur 100 met la variable Cbit à la valeur 1.

A l'étape suivante E224, le processeur 100 met la variable Nbit à la valeur nulle. La valeur de la variable Nbit est la valeur binaire du bit qui suit le bit Cbit dans la trame en cours de décodage.

A l'étape suivante E225, le processeur 100 incrémente la variable Bitindex d'une unité et mémorise le couple Nbit et Bitindex ainsi que la valeur de Cbit.

Le processeur 100 passe ensuite à l'étape E240 de la Fig. 2c.

A l'étape E230 de la Fig. 2c, le processeur 100 vérifie si la variable DT est comprise entre 7/4 de T B rr et 9/4 de Τ Β ιτ·

Si la variable DT est comprise entre 7/4 de T BIT et 9/4 de T BIT , le processeur 100 passe à l'étape E231. Dans la négative, le processeur 100 passe à l'étape E235 de la Fig. 2c.

A l'étape E231, le processeur 100 vérifie si la valeur de la variable Pbit est nulle.

Lorsque la durée entre deux fronts descendant est égale à 2 durées de bit, la durée est représentative de la suite binaire 010.

Si la valeur de la variable Pbit est nulle, le processeur 100 passe à l'étape E232. Dans la négative, le processeur 100 passe à l'étape E235.

A l'étape E232, le processeur 100 met la variable Cbit à la valeur 1. Le processeur 100 et mémorise le couple Cbit et Bitindex.

A cette même étape, le processeur 100 met la valeur de la variable Pbit à zéro.

A l'étape suivante E233, le processeur 100 met la variable Nbit à la valeur nulle.

A l'étape suivante E234, le processeur 100 incrémente la variable Bitindex d'une unité et mémorise le couple Nbit et Bitindex. A l'étape E235, le processeur 100 réinitialise toutes les variables utilisées dans le présent algorithme et passe à l'étape suivante E240.

A l'étape E240, le processeur 100 vérifie si la valeur de la variable bitindex est égale à 27.

Si la valeur de la variable Bitindex est égale à 27, le processeur 100 passe à l'étape E241. Dans la négative, le processeur passe à l'étape E244.

A l'étape E241, le processeur 100 interrompt la démodulation.

A l'étape suivante E242, le processeur 100 met la variable Bitindex à la valeur nulle.

A l'étape E243, le processeur 100 notifie au dispositif de contrôle que la trame a été correctement décodée et transfère, au dispositif de contrôle, la table constituée de l'ensemble des valeurs des couples Nbit et Bitindex mémorisés. La table comprend toutes les valeurs binaires démodulées d'une trame ainsi que la valeur d'un compteur de trames représentatif du nombre de tables transférées depuis la précédente réinitialisation du présent algorithme. A cette même étape, une nouvelle table similaire à celle transférée au dispositif de contrôle est initialisée et le compteur de trame est incrémenté.

A l'étape E244, le processeur 100 remet le compteur NOVFLW à 0.

La Fig. 3a représente un premier exemple d'une partie d'une trame de bits reçue par le dispositif de démodulation de trames selon la présente invention.

Dans l'exemple de la Fig. 3a, une séquence réduite de sept bits est représentée par souci de simplification. Comme cela a été précédemment mentionné, une trame est composée d'une séquence binaire de 28 bits. La séquence binaire 0100110 est modulée avec le code Manchester.

A chaque front descendant, une interruption est déclenché par le module entrée trame 108. Les interruptions sont notées IT1, IT2, IT3, IT4 et IT5.

Le processeur 100 détermine le temps entre chaque interruption et démodule correctement la séquence binaire codée Manchester en fonction du temps déterminé comme cela a été décrit en référence aux Figs. 2a à 2c.

La Fig. 3b représente un second exemple d'une partie d'une trame de bits reçue par le dispositif de démodulation de trames selon la présente invention.

Dans le second exemple de réalisation, la trame reçue comprend la séquence binaire 0100110 modulée selon le code Manchester et une impulsion parasite. A chaque front descendant, une interruption est déclenchée par le module entrée trame 108. Le processeur 100 détermine l'intervalle de temps ΤΊ entre les interruptions ΙΤΊ et IT'2. L'intervalle de temps T' 1 est inférieur à 3/4T BIT , les tests E208, E220 et E235 sont négatifs et le processeur 100 procède à une réinitialisation à l'étape E235.

Le processeur 100 détermine le temps entre chaque interruption IT" 1, IT"2, IT"3 et IT"4 et décode la séquence binaire codée Manchester 00110.

Si la trame reçue est la première ou la seconde trame parmi les trois trames, le processeur 100 détermine le temps entre l'interruption IT"4 et la première interruption déclenchée à la réception de la trame suivante. Le temps déterminé est supérieur à 9/4T BIT , les tests E208, E220 et E235 sont négatifs et le processeur 100 procède à une réinitialisation à l'étape E235.

Si la trame reçue est la dernière trame parmi les trois trames, le compteur NOVFLW est supérieur à 1 et le test E201 est négatif, le processeur 100 procède à une réinitialisation à l'étape E212.

Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits ici, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier et particulièrement la combinaison de différents modes de réalisation de la présente invention.




 
Previous Patent: LUMINESCENT NANOCOMPOUNDS

Next Patent: GEL COMPOSITIONS