Jean-François FOURCADIER
F4DAY

Montpellier  (France)

projets radioamateurs

écrivez moi !  
© 2000-2004- J.F. Fourcadier
page d'accueil
haut débit télévision antennes hyperfréquences relais divers

Interface d'entrée pour émetteur numérique

- initiation à l'utilisation des CPLD -

Un émetteur numérique doit nécessairement être relié à une source de données extérieure. Le dispositif qui est décrit ici assure au moyen d'une liaison RS-422 exploitée à 2 Mbit/s, le lien entre une source de données extérieure et le modulateur QPSK de la partie radio de l'émetteur. Il inclut de plus des fonctions annexes comme un générateur pseudo-aléatoire de test, un générateur de réglage +pi/2 -pi/2, et une commutation de ces diverses sources numériques.

La présente réalisation constitue en même temps une première confrontation à la mise en oeuvre et à la programmation des CPLD (Complex Programmable Logic Devices), de structure voisine de celle des FPGA (Field Programmable Gate Array).

Fonctions à réaliser et synoptique de l'interface

Le recours à une liaison RS-422 permet de s'affranchir dans une certaine mesure des contraintes de distance entre la source de données et l'émetteur. Une distance de plus de 10 mètres est possible à 2 Mbit/s. La transmission des signaux de données s'effectue sur trois paires symétriques torsadées de câble pour réseau LAN (câble catégorie 5). Trois récepteurs RS-422 assurent la conversion en niveaux TTL, puis deux bascules D régénèrent le signal. Le protocole de transmission des données à l'interface est simple : Les données I et Q issues de la source distante sont présentées à l'interface sur deux bascules D. Lorsque le front montant d'horloge, lui aussi issu de la source distante, est à son tour présenté, les données sont validées et transmises sans délai au modulateur QPSK de l'émetteur.

Le générateur pseudo-aléatoire fournit un signal numérique de test normalisé cadencé à 2 Mbit/s (2048 kbit/s, plus précisément) et ressemblant à une émission normale. Il permet de valider le fonctionnement de la partie radio. Les deux générateurs de signaux à 2 Mbit/s en quadrature avance ou retard permettent de vérifier facilement l'isolement des voies I et Q du modulateur QPSK. Enfin une matrice de commutation permet de choisir la source de données depuis un commutateur situé en face avant du coffret radio.

Le synoptique ci-dessous montre l'agencement d'ensemble :

Schéma

Les composants retenus :

Le choix d'un CPLD (Complex Programmable Logic Device) permet de réaliser des fonctions logiques complexes sans avoir recours à un câblage entre composants logiques élémentaires : les liaisons sont simplement définies par programme. Nous utiliserons le circuit EPM7064S du fabricant Altera en raison de son faible coût, de sa disponibilité dans le commerce de détail, et de la mise à disposition gratuite d'un outil de développement logiciel très performant : MaxPlus+ II, téléchargeable sur le site Altera. Le circuit EPM7064S est très rapide, s'alimente en + 5V et possède 64 macrocellules logiques, ce qui est tout à fait suffisant pour notre application. Les sorties peuvent chacunes délivrer 25 mA.
Téléchargez la documentation du circuit EPM7064 sur le site Altera.

Le quadruple récepteur RS-422 : nous utiliserons un circuit 26C32 très répandu et dont il existe plusieurs sources (National Semiconductor DS26C32, Texas AM26C32,...). Ce circuit s'alimente en + 5V et transforme un signal RS-422 en signal TTL. Même si le besoin fonctionnel n'est que de trois récepteurs, les quatre récepteurs seront câblés dans notre montage.
Téléchargez la documentation du circuit 26C32 sur le site de Texas Instruments.

Le schéma :

cliquer pour agrandir
(cliquer pour agrandir)

Réalisation matérielle

Le circuit imprimé est réalisé en époxy double face de 1,6 mm d'épaisseur. La réalisation du circuit imprimé avec de petits moyens amateur nécessite un peu de soin. En effet la plupart des pistes ont une largeur de 16 mils (0,4 mm), ce qui impose un bon contrôle des paramètres de gravure (température du bain de perchlorure de fer, homogénéité de l'attaque du cuivre). Après gravure, il est conseillé de vérifier le travail réalisé à la loupe.

téléchargez le circuit imprimé aux formats .bmp et Eagle .brd (50 ko zippés)

NB : le logiciel Eagle est disponible en version gratuite limitée (dans notre cas suffisante) sur le site de l'éditeur Cadsoft.

Une face sert de plan de masse. Des fils traversants et soudés des deux côtés assurent les liaisons de masse. Les découplages doivent être soignés : 2 condensateurs de 1 nF au plus près des broches du circuit, puis 2 condensateurs de 100 nF. Un petit régulateur 7805 est ajouté dans le boîtier pour garantir une tension d'alimentation correcte. Un connecteur Sub-D à 9 broches permet la connexion des trois entrées RS-422. En fait la quatrième entrée qui est disponible est elle aussi câblée en vue d'extensions ultérieures.

cliquer pour agrandir
cliquer pour agrandir
cliquer pour agrandir
cliquer pour agrandir

cliquer pour agrandir
cliquer pour agrandir
cliquer pour agrandir

Logiciel

Quelle que soit la manière envisagée pour l'écriture du logiciel, il est conseillé d'utiliser l'outil de développement appelé Max+plus II mis à disposition gratuitement par Altera et téléchargeable sur son site. Pour réaliser des fonctions logiques aussi simples que celles décrites plus haut, il n'est pas nécessaire de savoir programmer en VHDL langage ouvert, ou AHDL langage propriétaire. Altera met gratuitement à la disposition de ses clients dans MaxPlus+ II un éditeur graphique intégrant une bibliothèque de modules logiques configurables (Library of Parameterized Modules, ou LPM). Nous trouvons dans la bibliothèque toutes les fonctions qui nous sont nécessaires pour notre projet. Il suffit alors d'ouvrir l'éditeur graphique, de placer les modules logiques élémentaires et de les relier par des connexions en respectant quelques règles simples. Par exemple, un générateur pseudo aléatoire à 15 cellules répondant à la recommandation UIT 0.150, possède la structure suivante :

La traduction de ce synoptique dans l'environnement graphique de Max+plus II est la suivante :

Le passage d'une représentation à l'autre appelle peu de commentaires. Le registre à décalage à 15 cellules et la porte ou-exclusif sont construits à l'aide du "MegaWizard" disponible dans l'éditeur graphique sous la rubrique "Symbol". Les symboles des connexions d'entrée et de sortie sont créées par les commandes "input" et "output", toujours sous la rubrique "Symbol". Les traits fins représentent des liaisons simples.

Le trait gras représente un "bus", c'est à dire ici un paquet de 15 liaisons, numérotées de 0 à 14, correspondant aux 15 sorties des registres élémentaires. Seules les sorties numérotées 13 et 14 sont utilisées. Attention à bien positionner les étiquettes des connexions au contact des liaisons. Attention également à éliminer les points de connexions créés automatiquement entre les liaisons simples et le bus.

La représentation graphique de la totalité des fonctions souhaitées sur la carte est la suivante :

cliquer pour agrandir
(cliquer pour agrandir)

Pour éviter la saisie, téléchargez le fichier interface.gdf (4 ko zippé). Lors de la compilation on prendra soin de désactiver l'option "clock" sous Assign/Global Project Synthesis/Automatic Global. Dans le cas contraire le compilateur renvoie une erreur due à l'impossibilité de la connexion de l'entrée d'horloge à la broche 41. En effet, l'inaccessibilité de la broche n°2 du CPLD sur le circuit imprimé pour des questions de routage simple face rend nécessaire une connexion d'horloge "enfouie" et celle-ci ne peut être gérée qu'en désactivant l'option "clock".

Transfert de la configuration dans le composant CPLD

Altera propose plusieurs type de programmateurs pour ses circuits. Le programmateur ByteBlasterMV utilise le port parallèle d'un PC et est simple à construire. On pourra se reporter au site de Altera qui fournit tous les détails de ce programmateur ainsi que les drivers indispensables.

Construction du programmateur ByteBlasterMV :

Le schéma :

cliquer pour agrandir

Le circuit imprimé :

cliquez pour télécharger

téléchargez le circuit imprimé au format Eagle, ou au format .bmp (49 ko zippé)

Les étapes de la construction :

cliquer pour agrandir cliquer pour agrandir cliquer pour agrandir cliquer pour agrandir

Les amateurs économes observeront qu'il existe plusieurs circuits 74HC244 (buffer 8 bits trois états) sur toutes les vieilles cartes d'ordinateurs : inutile donc d'acheter le nôtre, il suffira d'en dessouder un soigneusement sur une carte destinée au rebut !

Le circuit imprimé n'est pas percé. Les fils des deux câbles sont simplement soudés directement sur les pastilles. Une fois le boîtier fermé, il n'y a aucun risque d'arrachement.

cliquer pour agrandir

Attention, très important ! Pour un fonctionnement correct, le câble de liaison à la prise parallèle du PC doit être court. Ne pas dépasser une longueur de 40 cm pour le câble SubD et de 40 cm pour le câble ruban JTAG.

Pour la programmation, on alimente le circuit CPLD sous + 5V, puis on connecte le programmateur, d'un côté sur le port parallèle d'un PC, de l'autre sur l'interface JTAG. La programmation est très rapide et s'effectue en quelques secondes.

Utilisation

Le montage fonctionne immédiatement, dès qu'il est mis sous tension. Un commutateur à 3 circuits 5 positions, fournit sur trois fils aux entrées "mode select", sous forme binaire, le code nécessaire au choix des sources numériques : porteuse pure, I et Q en quadrature avance, I et Q en quadrature retard, générateur pseudoaléatoire, données externes.

Fonction générateur de signaux en quadrature :

cliquer pour agrandir
cliquer pour agrandir

Q en quadrature avance par rapport à I (à gauche), en quadrature retard (à droite)
(500 ns/div)

Fonction générateur pseudo-aléatoire :

cliquer pour agrandir
cliquer pour agrandir

A gauche : examen du signal à l'oscilloscope (500 ns/div)
A droite : examen du signal à l'analyseur de spectre (1 MHz/div)

Fonction données externes : test des liaisons RS-422 effectué avec un générateur BF à 1 MHz, couplé au moyen d'un tore.

Conclusion

Nous avons vu que les CPLD se prêtaient facilement à la réalisation de fonctions logiques complexes. Une fois pris en main, les grandes qualités de ces composants se révèlent : compacité des circuits et souplesse d'utilisation. L'apprentissage des langages AHDL ou VHDL permettra d'envisager des montages de traitement de signaux numériques encore plus performants.

 

allumons nos fers à souder !

 

B5+ et 73 de Jean-François Fourcadier, F4DAY

retour à la page d'accueil du site

 

© 2000-2004  J.F. Fourcadier F4DAY