Générateur SSTV Autonome par F4FPT
... Descriptif général ...

Table des matières



Ce document au format PDF...

Définition des différents ensembles composant le circuit

Convertisseur Analogique numérique Vidéo

Le composant retenu est un TVP5150 (disponible en échantillon chez TI)
Ce convertisseur est proposé par Texas Instuments. Il a été sélectionné pour son faible encombrement, la sélection de 2 entrée vidéo composite, la reconnaissance automatique de plusieurs formats vidéo (PAL, SECAM, NTSC) ainsi que la possibilité pour l'amateur de le souder (à la main). Il est tout de même le plus difficile a souder départ le très faible espacement de ces pins !
Je conseille d'ailleurs de le souder en premier.
Il possède toute une batterie de registre, accessible par le bus I2C, permettant de paramétrer l'acquisition (par exemple: choisir l'entrée vidéo, le format des données numérisées, etc.).
Il est a noter que ce composant est livré avec un « BUG »: en effet, après cherché plusieurs heures, TI m'a fournit une note d'application spécifiant que la patte GLGC ne devait en aucun cas être laisser dans son état défaut (inactive) mais forcer à l'état « 1 » dans notre cas.
En tête du convertisseur, sur chacune des entrées à été placé un filtre antialiasing ainsi qu'un diviseur de tension permettant d'adapter l'impédance tout en adaptant le niveau du signal vidéo (1Vpp) au limite du TVP5150 (0.75Vpp).

FIFO vidéo

Le composant retenu est une FIFO d'Averlogic:AL422B
Je l'ai choisi parce que je n'ai pas trouvé grand chose d'autre qui soit facile a souder et disponible pour l'amateur.
Cette FIFO a le rôle d'emmagasiner le flux de données sortie par le Convertisseur Vidéo. En effet le convertisseur sort les données numérique sur un port parallèle de 8 Bits à un débit de ~30Mhz. Autant dire qu'un PIC à 16 MIPS boirai la tasse ! D'ailleurs même la FIFO est un peu limite: elle est donnée pour 27 Mhz...
Entre le convertisseur et la FIFO a été prévu une porte NAND à 3 entrées, pour gérer « peut être plus tard » une fenêtre vidéo. Actuellement toute l'image est numérisée.

Micro contrôleur

Le composant retenu est un PIC 18F4xK20 qui est le tout dernier né de chez Microchip.
Pourquoi avoir choisi un nouveau né ? Avec tous les défauts non détecté qu'il pourrait avoir ? Pour les 16 MIPS, en effet la famille de 18F est à 10 MIPS.
ATTENTION:Ce micro contrôleur fonctionnant en 3.3V, il est INTOLERANT a une connexion direct de l'ICD2 (je crois que le PICKIT2 est OK mais je n'ai as testé) pour des raison de tension de la FLASH ~12V habituellement mais ~8V sur cette série !
Sur le PIC toutes les pattes ont été utilisées sauf CLKIN qui a été réservé au cas l'oscillateur interne ne serait pas assez stable...

Chaîne Audio

La génération de l'audio est réalisé par le PIC par PWM (Modulation de largeur d'impulsion).
Un étage filtre passe bas a été prévu. Premièrement par un MAX74xx filtre passe bas du 8ème ordre (qui n'est pas câblé pour le moment) puis par 2 circuit RC soit un passe bas du second ordre.
L'audio est ensuite aiguillée vers 2 sorties:
* La sortie Non Amplifiée est juste atténuée par un potentiomètre.
* La sortie amplifiée passe par un LM4900 (~350mW)
Sur chacun des jacks Stéréo est aussi présent un signal transistorisé de commutation RX/TX (non géré pour le moment)

Interface Homme Machine

Elle est composée de 3 LED et de 4 boutons. L'usage de chacun des éléments est définit dans le guide de fonctionnement.

Compagnons

Le micro contrôleur est assisté de différents compagnon de travail.
Une Horloge temps réelle RTC (M41T00 ou DS1307) qui grâce a une pile 3V est le garde du temps.
Une EEPROM I2C (24LC1025) et oui 1 Mbits !. Dans cette EEPROM est stocké le son du player audio.
Un capteur de température Interne (LM75) qui permet de récupérer la température interne au système (le capteur est placé sur la face opposé au régulateur 3V)
Un Convertisseur RS232 (peut importe la référence) permettant la communication avec l'environnement extérieur (Ordinateur ou GPS ou ....).
Une SDCard (MicroSD) non géré pour le moment d'ailleurs pour pouvoir la gérer il faut connecteur sa patte CS à la masse (c'est la seule erreur que j'ai remarqué sur le circuit !)
Un connecteur I2C permettant de connecter tout type de module ou de circuit. Ce connecteur permet de garantir l'évolution du produit.

Diagramme fonctionnel

Diagramme de fonctionnement du module SSTV autonome

Détail technique

Alimentation électrique: 3,5V -> 6,5V
Consommation: <100mA
Signauxvidéo: 1,3 Vpp max
RS232: +12V / -12V
Dimension du circuit:
Nombre de couche du circuit: 2
Si vous souhaiter faire réaliser des circuits chez un pro... Attention l'espacement des pistes et très faible donc sur coût !

Le programme

Le programme a été réaliser dans l'environnement de développement fournit gratuitement par Microchip: « MPLAB IDE ».
Le compilateur utilisé est Microchip C18.
L'outil de programmation et de debug utilisé est MPLAB ICD2.

Le projet SSTV_AUTONOME comporte plusieurs fichiers sources:
* SSTV_Composite: (oui c'est l'ancien nom) est le fichier principal: il contient les interruptions ainsi que la procédure main()
* RS: Contient les procédure de paramétrage, d'accès et de traitement du port série.
* PWM: Génération des signaux audio
* TVP5150: Gestion du module de TI
* AL422B: Gestion de la FIFO
* Font12x8: Contient la police de caractère graphique
* Init.C: Procédure d'initialisation du PIC
* RTC-I2C: Contient les procédure I2C + accès RTC + accès EEPROM
* MORSE:Procédure de génération du morse + Table des codes morse

Génération des signaux audio

C'est la partie délicate du projet ! En effet, ma première idée avant même de mettre renseigné sur le mode SSTV était de générer un PWM mais en faisant varier la fréquence et pas le rapport cyclique.
Rapidement je me suis rendu compte qu'il était impossible d'utiliser cette méthode parce qu'elle implique que l'on ai au minimum une période complète pour chaque signal a envoyer. De plus il n'est pas possible de garantir la durée d'un envoi (+ long si l'image est foncée).
J'ai donc du récupérer une table de sinus dans laquelle je déplace un curseur à une vitesse variant en fonction de la fréquence a générer... Suis je clair ? Faire un dessin...

Comment ça s'utilise ?

Pour le moment, le mode de fonctionnement est figé. En effet, la partie de programme devant permettre tout le paramétrage du système par le port série n'a pas encore été pensée !

IHM:

Le bouton « Vert » sert à lancer un cycle.
Le bouton « Rouge » sert à interrompre l'action en cours.
Le bouton « Noir » si il est enfoncé au moment du démarrage du mode SSTV sert à choisir le mode Robot72.
La LED « Verte » signale que le système est OK.
La LED « Orange » signale que le système est en émission (CW, Phonie ou SSTV)
La LED « Rouge » signale un défaut.

Le cycle est figé:

A l'allumage le système s'identifie en morse à 20 WPM.
Ensuite le système attends soit un appui sur le bouton « Vert » soit un fichier Wav sur le port RS232.
Si bouton « Vert » alors début du cycle (Morse 12WPM, Lecture son Wav, Acquisition vidéo, SSTV Robot36 ou Robot72, Morse 12WPM).
Si le bouton « Rouge » est enfoncé pendant une tache, la tache est interrompue et le système passe à la suivante. Pour annuler tout le cycle il suffit d'appuyer 4-5 secondes....
Si un fichier est envoyé sur le port RS232, il est automatiquement stocké dans l'EEPROM. Pendant le transfert, la LED « Orange » est allumé. A la fin du transfert (LED « Orange » éteint + LED « Verte » éteinte), il faut éteindre est rallumé le système (pour le moment).

Connectique:

RS232: La fiche DB9 Femelle est connectable directement sur un ordinateur. La vitesse de communication est 115,2 kbps, 8 bits de données, pas de parité, contrôle de flux matériel.
RCA vidéo: Seule la RCA marquée d'un point noir est géré (voie A).
Jack 3,5mm Audio: La sortie marquée d'un point noir est NON amplifiée donc connectable tel quel à une entrée micro d'ordinateur (c'est comme ça que j'ai fait mes tests...). Il y a un potentiomètre a l'intérieur pour ajuster le niveau.
La sortie non Marquée est amplifiée 300mW maximum pour connecter un HP. Il y a un potentiomètre a l'intérieur pour ajuster le niveau.

Transfert RS232:

Format des données audio a transférer: 8 Bits Mono 11,025kHz PCM. Taille maximum du fichier: 64 Ko soit ~6 secondes (pour le moment)
Pour transférer un fichier Wav, j'utilise un batch fonctionnant sous DOS ou Winxxzzz.
Ce type de méthode évite de développer un soft, il est très simple a utiliser et il fonctionne avec un adaptateur USB-RS232.
Pour le COM1...
c:\windows\system32\MODE COM1: BAUD=115200 PARITY=n DATA=8 STOP=1 to=off xon=off odsr=off octs=on dtr=oFF rts=off idsr=off
type %1 >com1
pause

Comme on le voit: 115k + 8 bits de données + CTS=ON
Pour utiliser cette méthode, créer un fichier TransfertCom1.bat, copier les deux lignes dedans et sauvegarder. Pour le transfert, Prendre un fichier .Wav et le déposser sur le batch. Fenêtre DOS s'ouvrira...

Remerciement

Au radio Club F6KAT pour son soutien et son assistance. http://f6kat.ifrance.com/
A EMiT pour la production du circuit. http://www.emit-fr.com/
A mon épouse pour sa patience...

Retour au sommaire