Télémesures numériques FSK

De BaseDoc.

Sommaire

Présentation

Les projets expérimentaux utilisent généralement des télémesures numériques, qui supportent de nombreuses expériences et permettent d'envoyer des données naturellement numériques (venant de capteurs numériques, d'un GPS,...), ce qui quasiment impossible à faire avec une télémesure analogique IRIG.

La télémesure numérique n'est pas beaucoup plus compliquée que la télémesure analogique, grâce à l'utilisation de microcontrôleurs (PIC, Atmel, BASIC stamp,...). Le club devra posséder quelques connaissances minimales de mise en œuvre et programmation des microcontrôleurs. La partie 'modulation' est elle très similaire à celle d'une modulation analogique IRIG.

Formation Télém
Planète Sciences propose chaque année un week-end de formation technique sur la télémesure.


Codage en ligne

Explication

(à compléter, conversion parallèle série...)

Standard Planète Sciences

Le codage de base de la télémesure numérique est inspiré de la norme RS-232, c'est une liaison série asynchrone à deux niveaux sans retour à zéro. On ne peut pas rigoureusement parler de "norme RS-232", car cette dernière comprend aussi les niveaux des tensions (qui sont différents dans notre cas), les formats des connecteurs, etc.

Ce codage est en fait celui de la plupart UART (Universal Asynchronous Receiver Transmitter, périphérique gérant les communications séries) des microcontrôleurs usuels (PIC, Atmel,...).

On retiendra en particulier :

  • à l'état repos, la ligne est au niveau 1
  • le bit de start est un 0
  • 8 bits de données sont envoyés, en commençant par le bit de poids faible (LSB first)
  • pas de parité
  • un seul bit de stop, à 1
  • pour des raisons liées à la modulation, Planète Sciences ne propose que des débits de 600 bits/s et 4800 bits/s

Un petit schéma permet d'y voir plus clair :

Chronogramme de la liaison série

Généralement, il n'y a qu'à charger la vitesse de la liaison et le nombre de bits de stop dans l'UART des microcontrôleurs, et la liaison est correctement configurée. On peut très simplement tester sa télémesure à cette étape, en reliant la sortie du microcontrôleur à un port série d'ordinateur. Un terminal série, comme Realterm ou Hyperterminal, permettra de visualiser les trames. Ensuite, on pourra vérifier le bon fonctionnement avec les Logiciels de réception des télémesures.


Protocole de mise en forme des trames

Explication

Pour envoyer des données, il faut convenir des règles de communication entre l'émetteur et le récepteur. C'est l'objectif de la mise en forme des trames. Une trame est un bloc de données qu'on souhaite transmettre, avec un format fixe, connu de l'émetteur et du récepteur. Lorsque le récepteur reçoit des données, il saura rétablir à quelle expérience correspond quelle donnée, détecter et même corriger les erreurs de transmission.

On peut imaginer de nombreux formats de trames, selon les expériences envisagées. Toutefois, les logiciels proposés par Planète Sciences ne supportent actuellement qu'un seul format de trame, dite "trame SNR".

Multiplexage : envoyer plusieurs capteurs avec une seul liaison

La création d'une trame est nécessaire lorsque l'on souhaite envoyer plusieurs informations avec le même émetteur. En télémesure numérique, le plus simple consiste à mettre en série les différentes données à envoyer, opération appelée Multiplexage.


Pour anecdote, une autre solution consiste à coder les valeurs des tensions sur 6 bits et d'utiliser les 2 derniers bits comme identificateur : X X X X X X 0 0 ___ X X X X X X 0 1 ___ X X X X X X 1 0 . Cette méthode permet de gagner en débit mais perd en précision (tension numérisée en 64 valeurs au lieu de 255 pour le codage sur un octet).

Enfin, il est possible d'utiliser plusieurs modulateurs FSK sur des fréquences et débits différents, et de sommer les différentes voies comme en IRIG.

Standard Planète Sciences

Ce format est très simple :

  • Une nouvelle trame est marquée par un octet de synchronisation, de valeur 255 (0xFF).
  • Les octets suivants sont les données transmises. Bien entendu, il ne faut pas transmettre la valeur 255 dans ces octets, sinon le logiciel se resynchronise sur cet octet et la trame est perdue. Généralement, le programme teste chaque octet et le limite à 254 (0xFE) s'il vaut 255 (0xFF).

Si le club le désire, il peut bien entendu utiliser d'autres formats, auquel cas il devra aussi réaliser le logiciel de réception. En particulier, on peut simplement ajouter des codes détecteurs et correcteurs d'erreurs, différents types de trames, etc. Un nouveau logiciel de réception devrait bientôt voir le jour, avec toutes ces fonctions...


Modulation

Pourquoi moduler ?

La modulation permet de transformer un signal en un autre, mieux adapté à la transmission.

Par exemple, pour transmettre un signal par ondes radio, on ne peut pas utiliser n'importe quelle fréquence, pour des raisons légales et techniques (transmettre un signal radio de quelques kiloHertz demande une antenne longue de plusieurs kilomètres... peu adaptée aux fusees !). On va donc utiliser ce signal pour moduler un signal de fréquence différente, qui sera transmis.

On peut moduler plusieurs paramètres du signal :

  • la phase
  • l'amplitude
  • la fréquence
  • et parfois plusieurs à la fois, en particulier phase et amplitude (QAM)

Il faut bien remarquer que, sur une chaine de télémesure FSK type Planète Sciences, on utilise la modulation à deux niveaux :

  • dans le Kiwi Millenium, pour moduler en fréquence l'onde électromagnétique (centaine de MHz).
  • pour passer du signal binaire à deux niveaux en un signal analogique envoyé à l'entrée de l'émetteur. La plupart des liaisons radio numériques, autres que celles de Planète Sciences, modulent directement la porteuse. Néanmoins, en modulant le signal série vers une fréquence audible, on évite beaucoup de problèmes (davantage de récepteurs disponibles, mise au point beaucoup plus simple,...)

Modulation FSK

Pour passer du signal série binaire à un signal utilisable par l'émetteur Kiwi, on utilise une modulation FSK (Frequency Shift Keying), une modulation simple où chaque bit est codé par un signal sinusoïdal de fréquence bien définie. Un bit à 0 va être codé par une fréquence f0 et un bit à 1 va être codé par une fréquence f1 différente. Ces fréquences de codage sont nommées fréquences clefs.

Modulation FSK

Standard Planète Sciences

Il existe bien sûr un lien entre les fréquences clefs et le débit de la liaison, ce qui limite le choix des fréquences possibles. On souhaite aussi que les clubs n'utilisent que certaines fréquences "standardisées" pour éviter de multiplier le nombre de démodulateurs. On n'entrera pas ici dans la théorie de la modulation FSK, on donne seulement les fréquences clefs définies dans le cahier des charges et utilisées pour tous les projets à Planète Sciences :

  • Pour les liaisons à 600 bits/s :
    • un 0 est codé par un signal à 900Hz
    • un 1 est codé par un signal à 1 500Hz
  • Pour les liaisons à 4800 bit/s :
    • un 0 est codé par un signal à 9 000Hz
    • un 1 est codé par un signal à 15 000Hz

Il faut bien comprendre qu'on parle ici de fréquences "basses" (dans le kiloHertz) et non de la fréquence de la porteuse du Kiwi (dans la centaine de mégaHertz), qui est justement modulée en fréquence par ce signal.

On pourra se reporter a la Réalisation pratique d'un modulateur FSK pour plus de détails.


Quelques outils logiciels

  • Realterm, un terminal série très complet, pour Windows, en GPL.
  • Transformer sa carte son en oscilloscope, pour Windows.
  • Sonogram Analyseur de spectre audio, en Java, pour Windows, Mac et Linux.


Archive

Télécharger l'ancien document Télémesure Numérique (pdf, 4Mo, version mars 1993)