Ce document au format PDF...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).
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.
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...
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)
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.
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.
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 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
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...
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 !
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.
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).
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.
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...
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...