sommaire - page suivante

Etude de la partie traitement de l'information

 

En sortie de la démodulation, sur la pin 13 du MC3362, on obtient des variations de tension qui vont être mises en forme par un comparateur.

 

 

La documentation technique du MC3362, précise que cette sortie DATA est limitée à 1200 Baud. Une valeur tout à fait satisfaisante puisque notre séquence PPM représente 8 bits sur une période d'environ 20ms soit 400 bits / seconde.

Il est de même indiqué que le comparateur forme une fonction de transfert en hystérésis uniquement si on ajoute une résistance d'au moins 120KW entre les pins 15 et 14 (réaction du comparateur).

 

Les variations de tension obtenues à la sortie du comparateur constituent un signal carré qui va commander le système de décodage.

 

Le décodeur PPM:

 

Comme nous l'avons décrit au début de notre dossier, le codage PPM est un principe qui existe depuis les prémices de la radiocommande. Son principe n'a pas évolué car il est le plus adapté aux demandes des équipements d'un modèle réduit.

Rappel: la séquence PPM est une suite d'impulsions dont le nombre dépend du nombre d'équipements (voies) de la radiocommande. Le temps séparant chaque impulsion constitue l'information utile.

 

Le principe du décodage PPM réside dans le placement, sur chacune des voies, d'une impulsion de durée égale à la durée séparant les impulsions de la séquence.

 

 

 

Pour réaliser simplement le décodage, on utilise un registre à décalage à base de bascules D.

L'entrée 'Séquence PPM' reçoit le signal PPM, dont les impulsions constituent un déclenchement de l'horloge (CLK) du registre. Cette même impulsion fait conduire le transistor qui devient passant et court-circuite le condensateur qui se décharge instantanément. Lorsque l'impulsion s'arrête, le transistor se bloque et le condensateur se charge au travers de R. La constante de temps de la charge est calculée pour que la tension aux bornes du transistor n'atteigne pas un seuil suffisant pour renvoyer un '1' sur l'entrée DATA. Seul le temps de synchronisation de la séquence pourra atteindre ce seuil et renvoyer un 1 sur l'entrée DATA.

 

Seuil de basculement = Vdd / 2

Temps de synchronisation = 8ms

Durée maximal par voie = 2ms

 

  • Vc = Vf +(Vi-Vf)e-t/t
  • Soit Vdd/2 = Vdd + (0 – Vdd) e-2E-3/t

     

    Il faut donc que la constante de temps t soit supérieure à 2E-3/ ln 2 » 2.88E-3

     

    Nous avons choisi R15 = 47K C20 =100nF pour obtenir t = 4.7E-3.

     

    Chaque voie reçoit une impulsion, de durée comprise entre 1 et 2ms, toutes les 20ms.

     

    Evolution des décodeurs:

     

    F. Thobois dans une de ces études proposait ce qu'il appelle le décodeur de 3ème génération. C'est en fait un système qui permet de résoudre les problèmes de parasites greffés à la séquence PPM. En cas d'erreur de décodage, un ensemble à microcontrôleur prend le relais pour envoyer une séquence valide.

    Ce système peut être intéressant, surtout dans le cas où le modèle réduit est sorti de la portée maximale, mais nécessite l'emploi d'un microcontrôleur.

    Dans le cas d'utilisation d'un tel système, il est alors conseillé d'effectuer le décodage complet par le microcontrôleur ce qui permet de gagner un peu de place puisque le registre à décalage est retiré.

     Etude de la partie circuits annexes

     

     

     

    Synthèse de fréquence:

     

     

    Définition: la synthèse de fréquence permet de disposer d'une fréquence stable et parfaitement connue sur un oscillateur peu fiable. Ce système est plus connu sous le nom de boucle à 'accrochage' ou 'verrouillage' de phase ou encore Phase Lock Loop (PLL).

     

    Ce principe est utilisé dans des circuits où les quartz et autres résonateurs ne peuvent pas être utilisés.

    En effet, il est parfois utile de pouvoir contrôler et faire varier la fréquence d'un oscillateur. Pour cela, le circuit oscillant le plus adapté est encore le circuit LC en parallèle, mais sa précision se limite à la tolérance des composants, et les dérives en fréquence les plus importantes sont dues aux variations de température.

     

    Lorsque le cahier des charges d'un système impose les deux conditions "contrôle et modification de la fréquence reçue" et "stabilisation en fréquence", l'oscillateur contrôlé en tension (VCO: Voltage Control Oscillator) par une boucle à verrouillage de phase s'impose.

     

    Dans notre récepteur la PLL permet non seulement une synthèse de fréquence du 1er oscillateur local, mais en plus de régler la fréquence de réception par un simple changement de programme.

     

    Analyse d'une PLL:

     

    Une PLL est un système asservi, c'est-à-dire qu'une correction est apportée à l'oscillateur contrôlé, par une tension proportionnelle à la comparaison grandeur de sortie / grandeur d'entrée.

     

    Dans le cas d'une comparaison de phase:

     

    Þ une avance sur le signal de référence peut se traduire par une impulsion négative.

    Þ un retard sur le signal de référence peut se traduire par une impulsion positive.

    Þ en phase avec le signal de référence peut se traduire par aucune variation de la tension de correction.

     

     

    L'oscillateur à asservir est commandé par une tension continue qui est obtenue en intercalant un filtre passe-bas sur la sortie du comparateur de phase. Cette tension influe sur un composant dont la valeur varie en fonction de cette tension (exemple : Varicap).

     

     

     

     

     

     

     

     

    Principe de la boucle à verrouillage de phase:

     

     

    Le comparateur:

     

    En général, les PLL sont conçues pour délivrer une tension proportionnelle au déphasage des deux fréquences d'entrée:

    Vs = Kd (j ref - j in)

    Kd coefficient de gain du comparateur, s'exprime en Volt / radian.

     

    Le composant que nous avons choisi pour réaliser la boucle à verrouillage de phase (MC145170), possède une sortie (Pdout) qui, à la place de fournir une tension proportionnelle, délivre des impulsions à l'état haut ou à l'état bas, dont la durée est proportionnelle au déphasage entre les deux fréquences (cf. documentation constructeur MOTOROLA figure 17).

     

    Dans notre montage, la fréquence à contrôler est de 30.400MHz et nous utilisons la fréquence stable issue du quartz à 10.245MHz.

    La comparaison de phase doit se faire sur la même fréquence, c'est pour cela que le comparateur effectue une division de fréquence pour rabaisser les deux entrées sur une fréquence commune de 1KHz. Les valeurs de la division sont données au MC145170 par une séquence d'initialisation (cf. initialisation de la PLL).

     

     

    Le VCO:

     

    La variation de fréquence qu'il est possible d'obtenir avec le VCO est fonction de son gain K0:

    f = f0 + K0.Vcorr

    K0 = 100KHz / Volt =1E05 . p (P.Techer, RC-FM Receiver 41MHz)

     

     

    Le filtre passe bas:

     

    Le filtre passe-bas, ajouté en sortie du comparateur, est prévu pour le lissage de la tension délivrée au VCO. Il est appelé filtre à avance de phase:

     

    La fonction de transfert est donnée par :

     

    F(p) = ( 1 + R2CP ) / ( 1 + (R1+R2)CP )

     

    Son diagramme de bode est donné par:

     

     

    Pour connaître la réaction de l'ensemble 'comparateur / filtre passe bas' nous avons simulé la sortie du comparateur :

     

    En fonction des impulsions du comparateur, le filtre passe bas crée une valeur moyenne permettant de commander la varicap du VCO.

     

    La synthèse de fréquence dans notre projet

     

     

     

    Le MC145170 est un circuit intégré constituant un synthétiseur de fréquence. Il suffit pour le faire fonctionner de lui entrer un signal de référence (osc-in/osc-out) dont la fréquence est stable et connue, et le signal à contrôler (fin). Le composant est programmable et doit recevoir une séquence d'initialisation, puis les valeurs de ses 3 registres pour pouvoir fonctionner.

     

    La séquence d'initialisation permet de garantir une mise sous tension correcte du MC145170. Cette séquence peut être évitée si on arrive à placer un état haute impédance sur l'entrée CLK du circuit lors de la mise sous tension. N'ayant pas cette possibilité, nous avons préféré faire cette initialisation par le programme. Elle se compose de 2 séquences définies I et II sur le graph ci-dessous et dans le programme:

     

    Les 3 registres sont ensuite définis par :

     

    Le registre d'état (C) permet de valider certaines fonctions du circuit, et en particulier l'état de la sortie lorsque la fréquence à contrôler est en avance ou en retard sur le signal de référence.

    Nous avons choisi pour ce registre une séquence binaire correspondant à :

    0 1 0 0 0 1 0 0

    Les registres R et N permettent d'effectuer une division de la fréquence des signaux appliqués en entrée (respectivement signal de référence, signal à contrôler), et ceci dans le but de pouvoir les comparer sur une même fréquence appelée pas. Nous avons choisi ce pas à 1KHz soit une division par 10245 pour la fréquence de référence, puisque celle-ci vient du quartz de oscillateur local 2, et une division par 30300-30500 pour la fréquence à contrôler suivant la fréquence que l'on veut recevoir.

     

    Contrôle automatique de gain:

     

    Le contrôle automatique de gain est un dispositif qui permet de conserver, en sortie de l'étage détecteur, un niveau constant lorsque le signal d'entrée varie. En effet, à cause de la modification des conditions de propagation du signal ou bien à cause d'un changement de position ou de direction de l'antenne, l'amplitude du signal reçu fluctue. Ces variations sont d'autant plus nombreuses quand le récepteur, et dans notre cas le modèle réduit, est en mouvement.

     

    Le principe du contrôle automatique de gain (CAG) est de compenser ses variations en agissant sur l'amplification d'entrée. La détection de ces variations se fait sur l'amplitude du signal de la porteuse qui doit rester, avec ce système, sensiblement constant. Ce principe permet ainsi d'améliorer la sensibilité du récepteur et d'éviter tous les problèmes dus aux produits d'intermodulation.

     

    Au niveau de l'amplificateur d'entrée, il faut réduire le courant traversant le FET pour diminuer le gain.

    Le courant envoyé sur l'entrée CAG fait varier le courant ID, agissant ainsi sur la transconductance (S) du transistor et donc sur son gain. L'amplificateur répond en effet aux équations:

     

  • S = S0 Ö (ID/IDSS) Vs = S . VGS
  • Ce courant de correction, provenant de l'étage de démodulation du récepteur, est appelé RSSI. En fait le MC3362 délivre sur la pin 10 un courant proportionnel à l'amplitude de la porteuse su signal reçu:

    (documentation constructeur MC3362)

     

    Ce courant, amplifié par les transistors T2 et T3, vient commander le courant traversant la résistance R2. Si le courant RSSI est fort, T3 est bloqué et la tension aux bornes de R2 est nulle. T1 fonctionne alors en atténuateur. De la même façon, sur un signal faible, T3 conduit et T1 amplifie. D'après F. Thobois, la dynamique du CAG serait de –10dB +10dB, soit une amplification variant de 1 à 100.

     L'alimentation

     

     

     

     

    La stabilité de l'alimentation de notre récepteur semble être un paramètre important. En effet, une variation de la tension d'alimentation, sur un mouvement de servos par exemple, fait varier la tension de la varicap du 1er oscillateur local et donc la stabilité en fréquence n'est plus assurée. Cette même variation de tension peut aussi agir sur l'amplificateur d'entrée et donc sur la réception du signal.

     

    Le montage complet ayant une consommation d'environ 10mA, et la tension délivrée par les accus, utilisés dans les modèles réduits, étant de 6 V, il nous fallait utiliser un régulateur à faible tension de déchet et à faible courant.

     

    Le concepteur du RX21 indique, par contre, que l'ajout d'un régulateur dans un montage apporte toujours un bruit qui tend à se retrouver dans le signal. Un deuxième inconvénient du régulateur réside dans le fait qu'il faut toujours maintenir la tension de la batterie supérieure à celle de la tension régulée + la tension de déchet.

     

     

    Choix du régulateur:

     

    En suivant le montage de F. Thobois, nous avons choisi le LM 2931CM, version ajustable et CMS. Il permet un réglage de la tension de sortie entre 3 et 24V.

     

     

    Calcul des composants permettant de régler la tension de régulation:

     

    D'après la documentation constructeur:

     

    Vout = Ref voltage * (R16 + R17) / (R16)

     

    Avec une tension de référence, calculée sur les courbes de la documentation, égale à 2.19V.

     

    Vout = 2.19 * (10000 + 27000) / 10000 = 4.4V

     

    Les condensateurs C18 et C19 de 100n sont prévus pour le découplage de l'alimentation, tandis que C17, dont la valeur doit être inférieure à 100µF, est placé pour maintenir la stabilité.

    Programmation et utilisation

     

    Introduction :

     

    La boucle à verrouillage de phase utilisée pour la synthèse de fréquence nécessite un intervenant externe pour être commandée. Le choix du composant vers lequel nous nous sommes orienté est le PIC 16C84. Celui-ci est peu coûteux, performant et suffisamment miniaturisé pour satisfaire les contraintes imposées.

    Le programme à écrire doit être capable d’envoyer par une procédure série la configuration des registres nécessaires au fonctionnement du MC 145170. Ce programme doit être modifiable afin de pouvoir changer la fréquence synthétisée par la PLL. La séquence d’envoi des données n’aura lieu qu’une seule fois, au moment de l’allumage du récepteur. Une fois l’opération effectuée, le microcontrôleur devra se mettre automatiquement en veille, afin de diminuer sa consommation et de ne pas mobiliser la batterie inutilement.

     

     

    Spécifications techniques :

    Le PIC 16C84 utilise une technologie RISC, ayant pour principe la séparation du bus de donnée et du bus de contrôle. Ceci lui permet d’utiliser des instructions étendues sur 14 bits, tout en préservant un bus de données sur 8 bits. Chacune des 35 instructions différentes qui lui sont envoyées sont traitées en un seul cycle d’horloge, exceptées les fonctions spéciales, qui en requièrent deux. Il dispose d’une pile de 8 niveaux et de multiples sources d’interruptions aussi bien internes qu’externes.

    Il est doté d’une mémoire RAM de 36 octets et d’une EEPROM de 1024 octets, ce qui lui confère une capacité suffisante pour y faire tenir le programme. La mémoire et l’unité de calcul sont cadencés à 800 KHz par un résonateur externe ; La PLL supportant un flux de donnés allant jusqu’à 185 MHz.

     

     

    Travail à effectuer :

     

    Dans un premier temps, nous devrons envoyer à la PLL une séquence permettant son initialisation. Cette séquence concernera les trois pins Din, CLK et ENB. Le diagramme suivant représente les trames successives à envoyer sur le port RA. Celui-ci étant sur 4 bits et fonctionnant en mode de transmission parallèle, nous n’utiliserons que les 3 premiers bits.

  • Note : RA0 est relié à Din
  • RA1 est relié à CLK

    RA2 est relié à ENB

  •  

     

    Nous avons séparé la trame à envoyer en trois séquences, afin de simplifier l’écriture et la compréhension du programme. Une fois l’opération effectuée, il faut envoyer les trames de données. 

     

    Le but de la 4ème séquence est d’enregistrer ces trames dans le registre W, et de les stocker en mémoire, à l’aide du pointeur ‘fsr’. C’est à cet endroit que les valeurs définissant le mode de fonctionnement de la PLL sont passées en mémoire.

     

    La 5ème séquence envoie les données d’initialisation contenu dans la mémoire sur le port RA. A la suite de cet envoi, la PLL est initialisée et prête à recevoir les données destinées aux registres C, N et R. Le problème réside dans le fait que les bits de poids les plus significatifs (msb) doivent être envoyés avant les bits de poids les plus faibles (lsb).

     

    La 6ème séquence a pour but d’inverser les bits de C.

    Programme :

     

    Port equ H’05’ Attribue l’adresse 05 au port RA sur 4 bits

    Status equ H’03’ Attribue le label ‘status’ à l’adresse 03

    Fsr equ H’04’ Attribue le label ‘Fsr’ à l’adresse 04

    Indf equ H’00’ Attribue le label ‘Indf’ à l’adresse 00

    Stock equ H’08’ Attribue le label ‘Stock’ à l’adresse 08

    C equ H’0B’ Attribue le label ‘C’ à l’adresse 0B

    Rmsb equ H’0C’ Attribue le label ‘Rmsb’ à l’adresse 0C

    Rlsb equ H’0D’ Attribue le label ‘Rlsb’ à l’adresse 0D

    Nmsb equ H’0E’ Attribue le label ‘Nmsb’ à l’adresse 0E

    Nlsb equ H’0F’ Attribue le label ‘Nlsb’ à l’adresse 0F

     

    Org 55 place le début du prog. à l’adresse 55

     

     

    Enreg macro i,adr déclaration de la macro enregistrement des

    données de l’adresse ‘adr’

    Movlw adr déplace adr dans le registre W

    Movwf fsr déplace le contenu de W dans fsr

    Movlw 0 initialise W à la valeur 0

    Movwf indf place le contenu de W à l’adresse indf

    Movlw i place i dans le registre W

    Movwf indf place le contenu de W  à l’adresse indf

    Adr++ incrémente Adr de 1

    Endm Fin de la macro

     

     

     

    Lect macro adr déclaration de la macro lecture en

    mémoire et sortie sur le port

    Movlw adr déplace adr dans le registre W

    Movwf fsr déplace le contenu de W dans fsr

    Movf indf,0 initialise indf à 0

    Movwf port déplace le contenu de W vers le port

    Adr++ incrémente Adr de 1

    Endm Fin de la macro

     

     

     

    Lectreg macro déclaration de la macro de lecture de

    Stock et de son envoi sur le port

    Movlw stock déplace stock dans le registre W

    Movwf fsr déplace le contenu de W dans fsr

    Movf indf,0 initialise indf à 0

    Movwf port envoie stock (contenu dans W) sur le port

    Iorlw b’0010’ envoie un 1 logique sur CLK

    Movwf port

    Endm Fin de la macro

     

     

    Movlw 0 initialise le registre W à 0

    Tris port permet d’initialiser le port en sortie

    Début du programme principale

     

     

    J=0 1ère séquence d’initialisation

    Adr = H’10’ initialise adr à l’adresse 10

    While j<4 début de la boucle

    I=b’0100’ initialise I à 0100

    Enreg i,adr lance la macro Enreg (mise en mémoire)

    I=b’0110’ initialise I à 0110

    Enreg i,adr lance la macro Enreg (mise en mémoire)

    J++ incrémente J

    Endw fin de la boucle (après 4 cycles)

     

     

     

    2ème séquence

    I=b’0100’ initialise I à 0100

    Enreg i,adr lance la macro Enreg (mise en mémoire)

    K=0 K=0

    While k<3 début de la boucle

    I=b’0000’ initialise I à 0000

    Enreg i,adr lance la macro Enreg (mise en mémoire)

    I=b’0010’ initialise I à 0010

    Enreg i,adr lance la macro Enreg (mise en mémoire)

    K++ incrémente K de 1

    Endw fin de la boucle (après 3 cycles)

     

     

     

    3ème séquence

    I=b’0001’ même principe que précédemment pour

    Enreg i,adr différentes valeurs de I

    I=b’0011’

    Enreg i,adr

    I=b’0000 ‘

    Enreg i,adr

    I=b’0010’

    Enreg i,adr

    I=b’0000’

    Enreg i,adr

    I=b’0100’

    Enreg i,adr

    Adr = H’0B ‘ initialise adr à l’adresse 0B

     

     

    4ème séquence

    I = b’11000100’ mémorisation du registre C (PLL)

    Enreg i,adr

    I = b’00101000’ mémorisation du registre R MSB

    Enreg i,adr

    I = b’00000101’ mémorisation du registre R LSB

    Enreg i,adr

    I = b’01110110’ mémorisation du registre N MSB

    Enreg i,adr

    I = b’01011100’ mémorisation du registre N LSB

    Enreg i,adr

     

     

     

    5ème séquence

    Adr = H’10’ initialise adr à l’adresse 10

    While adr < H’25’ début de la boucle

    Lect adr lance la macro lect

    Endw fin de la boucle (après 25 cycles)

     

     

    Adr H '23'

    Lect adr mise à 0 de /ENB

     

    6ème séquence

    J=0

    While j<8 début de la boucle

    Clrf stock initialise le registre stock à 0

    Bcf status,0 initialise le bit 0 du registre status à 0

    Rlf c,1 décalage de C vers la gauche

    Movlw b’0001’ met 0001 dans W

    Btfsc status,0 saute l’instruction suivante si bit 0 à 0

    Movwf stock envoie le contenu de W dans stock

    Lectreg exécute la macro lectreg

    J++ incrémente la variable J de 1

    Endw Fin de la boucle

     

     

     

    Adr H '24'

    Lect adr mise à 1 de /ENB

    Adr H '23'

    Lect adr mise à 0 de /ENB

     

     

     

    7ème séquence

    J=0

    While j<8 début de la boucle

    Clrf stock initialise le registre stock à 0

    Bcf status,0 initialise le bit 0 du registre status à 0

    Rlf rmsb,1 décalage de rmsb vers la gauche

    Movlw b’0001’ met 0001 dans W

    Btfsc status,0 saute l’instruction suivante si bit 0 à 0

    Movwf stock envoie le contenu de W dans stock

    Lectreg exécute la variable lectreg

    J++ incrémente J de 1

    Endw Fin de la boucle

     

     

     

    8ème séquence

    J=0

    While j<8 même principe avec rlsb

    Clrf stock

    Bcf status,0

    Rlf rlsb,1

    Movlw b’0001’

    Btfsc status,0

    Movwf stock

    Lectreg

    J++

    Endw

     

     

    Adr H '24'

    Lect adr mise à 1 de /ENB

    Adr H '23'

    Lect adr mise à 0 de /ENB

     

    9ème séquence

    J=0

    While j<8 même principe avec nmsb

    Clrf stock

    Bcf status,0

    Rlf nmsb,1

    Movlw b’0001’

    Btfsc status,0

    Movwf stock

    Lectreg

    J++

    Endw

     

     

     

    10ème séquence

    J=0

    While j<8 même principe avec nlsb

    Clrf stock

    Bcf status,0

    Rlf nlsb,1

    Movlw b’0001’

    Btfsc status,0

    Movwf stock

    Lectreg

    J++

    Endw

     

    Adr H '24'

    Lect adr mise à 1 de /ENB

     

     

    Sleep fin du programme et de l’envoie des

    End données, passage en mode veille

     

    Détail du fonctionnement des macros :

     

     

    Macro Enreg :

     

    C’est un sous-programme permettant, grâce à un passage par valeur des arguments ‘i’ et ‘adr’, le stockage en mémoire de la valeur ‘i’ sur 8 bits à l’adresse adr. Une incrémentation de l’adresse est effectuée pour que le pointeur mémoire se place immédiatement à l’adresse suivante.

     

    Macro Lect :

     

    Sous-programme de lecture de la valeur pointée par ‘adr’. La valeur sur 4 bits lue est envoyée sur le port RA0 – RA3.

     

    Macro Lectreg :

     

    Effectue la même tâche que la macro Lect, mais lit les valeurs dans le registre stock, les envoie sur le port RA0 et envoie un 1 logique sur le port RA1. En effet, un front montant doit être envoyé sur la borne CLK du MC145170, pour que les données envoyées sur Din soient prisent en compte. Le niveau haut sur la sortie CLK est effectué par un OU logique entre la valeur de STOCK et la valeur binaire 0010.

     

    Plan d’occupation de la zone mémoire :

     

     

     

     

    Changement des paramètres du programme:

     

     

    Afin d'éviter d'avoir à changer de quartz, comme sur un récepteur de radiocommande normal, le programme et le montage ont été conçus de façon à pouvoir modifier rapidement et simplement la fréquence de réception.

    Cette modification se fait au niveau soft, au sein du programme assembleur, aux lignes :

     

     

    [….]

    adr = H'B'

    ;************************************************************************

    ;* Les valeurs de registres sont modifiables dans cette partie du programme*

    ;************************************************************************

    ;********** registre c *****************************

    i = b'11000100'

    enreg i,adr

    ;********** registre R = 10245 *********************

    i = b'00101000' ;registre R MSB

    enreg i,adr

    i = b'00000101' ;registre R LSB

    enreg i,adr

    ;*********** registre N = 30300 ********************

    i = b'01110110' ;registre N MSB

    enreg i,adr

    i = b'01011100' ;registre N LSB

    enreg i,adr

    [….]

     

    Remarque : les valeurs modifiables sont les valeurs en gras et correspondent à la fréquence de référence pour le registre R, et à la fréquence contrôlée pour le registre N. Le registre C est le registre d'état du MC145170. (cf documentation constructeur MOTOROLA MC145170).

     

    Utilisation du logiciel MPLAB:

     

    Pour modifier le programme, il faut utiliser le logiciel MPLAB, conçu pour la programmation de PIC, de la façon suivante:

     

     

     

     

     

     

     

     

     

     

    Remarque : la fonction TRIS est marqué par un warning lors de la compilation. Cette fonction permet de donner une direction aux ports d'entrées/sorties et est donc indispensable au programme. Lors de l'utilisation ce warning ne gêne en rien le fonctionnement.

     

     

    Test du programme :

     

    Aucun moyen d'émulation n'est fourni avec le logiciel MPLAB, et l'ensemble PICSTART PLUS. De ce fait, le seul moyen de tester le programme est de le faire fonctionner sur la plaque de test et de vérifier si la dernière séquence, qui doit encore se trouver sur le port de sortie, correspond à la dernière séquence du programme.

     

    En l'occurrence, la dernière séquence attendue dans notre programme est :

    1 0 0 sur les pins PA2, PA1, PA0 du microcontrôleur.

     

     

    Plaque d'essais HF

     

     

    Afin de tester l'efficacité des bobines proposées par P. Techer, nous avons réalisé en milieu d'année une première plaque regroupant toute la partie Hautes Fréquences en partant de l'antenne jusqu'à la démodulation.

     

    Cette plaque était basée sur le schéma de principe suivant:

     

    La partie amplification était réalisée par un FET J310 en grille commune et la partie pré-filtrage réalisée à l'aide de 2 circuits LC parallèles avec une TOKO 2K509 comme inductance.

     

    Le premier changement de fréquence se faisait à partir d'un oscillateur LC à la fréquence de résonance du circuit soit 30.400MHZ. L'inductance utilisée était une nouvelle fois une TOKO 2K509 avec laquelle nous n'avons pas réussi à faire osciller le circuit à plus de 27MHz.

     

    Le deuxième changement de fréquence était réalisé à l'aide d'un quartz oscillant à 10.245MHz. Ce circuit fonctionnait parfaitement et représentait pour nous une référence pour savoir si le MC3362 fonctionnait encore.

     

    La partie démodulation enfin, était réalisée par une inductance variable 4102 (inductance généralement utilisée pour la démodulation 455KHz), mais n'a pas pu être testée à cause du 1er oscillateur local qui ne fonctionnait pas.

    Plaque d'essais de la synthèse de fréquence

     

     

     

     

     

    Afin de tester notre programme d'initialisation du MC145170, nous devions réaliser une plaque regroupant la synthèse de fréquence avec son microcontrôleur.

     

    Cette plaque a tout d'abord été testée à l'aide du logiciel fourni par MOTOROLA qui envoi par le port parallèle d'un PC les signaux nécessaires à la configuration du MC 145170.

     

    Remarque : ce logiciel ne peut être utilisé que par le mode MS DOS du PC, car le système d'exploitation Windows NT ne permet pas l'accès aux port.

     

    Par la suite, une fois que le programme a été réalisé, nous avons pu tester la plaque en insérant sur la fréquence de référence un signal à 10.245MHz, puis un signal à contrôler de 30.300MHz à l'aide d'un GBF et du générateur RF.

     

    Le programme a été créé de sorte que si la fréquence de l'oscillateur local à contrôler est trop haute, le système délivre une tension moyenne inférieure à 2.5V. Inversement, la tension moyenne de sortie est supérieure à 2.5V si la fréquence est trop faible.

    Défaut du programme : nous avons constaté que si nous mettions un 1 sur le MSB d'un registre celui n'était pas pris en compte correctement et pouvait être pris pour 11 par le circuit de PLL.

    sommaire - page suivante