26/11/2013

Principe de fonctionnement de L’émetteur radio

L’architecture d’un émetteur varie beaucoup selon les applications, particulièrement selon qu’il est monofréquence, comme en radiodiffusion, multifréquence comme en radiotéléphonie, à large bande comme en communications militaires, radioamateurs, ainsi que selon le type de modulation.
L’émetteur le plus simple monofréquence en modulation d’amplitude comporte : une source à la fréquence de porteuse, généralement issue d’un oscillateur à quartz ; un amplificateur de puissance modulé en amplitude par le signal amplifié ; une antenne couplée à la sortie de l’amplificateur.

En radiodiffusion, les étages de bas niveau, ou « étages de signal » comportant oscillateur, modulateur, filtres, génèrent le signal modulé ou porteuse à une puissance de quelques watts.
Ils sont appelés exciter. L’amplificateur de puissance qui suit est parfois appelé simplement « émetteur ».
En radiotéléphonie HF, VHF ou UHF, la nécessité de choix de canal ou de fréquence peut amener à une architecture à changement de fréquence, similaire à celle d’un récepteur, permettant de moduler et de filtrer à une fréquence fixe.
En radar de puissance, le schéma le plus simple est un auto-oscillateur de type magnétron, remplacé par des amplificateurs pour les radars à traitement de signal.
Source: wikipedia.org | CC


14/10/2013

Les microcontroleurs ATMEL AVR

1- L’architecture RISC

La technologie RISC consiste à déplacer les complexités majeures du hardware vers le software, ce qui est le contraire exact de la technologie CISC (Complex Instruction Set Computer). Dans l’architecture CISC les concepteurs ont misé sur la réduction du nombre d’instructions nécessaires pour exécuter le programme, en concevant des instructions très puissantes, ce qui a l’inconvénient de devoir augmenter moyennement le nombre de cycles machine nécessaires pour compléter une instruction. Dans ce cas, la fréquence de travail du système est réduite car il faut introduire une phase d’interprétation du code machine à travers des microcodes. Par contre, dans l’architecture RISC, on mise beaucoup sur la minimisation du nombre des cycles machine et l’on rend la majeure partie des instructions exécutables en un seul cycle d’horloge, ce qui permet d’augmenter la fréquence de travail du système. Ceci est possible en éliminant la phase d’interprétation grâce à la simplicité des instructions qui peuvent être décodées et exécutées directement par une simple unité de contrôle câblée. La simplification des unités de contrôle des machines de type RISC est particulièrement avantageuse pour la réalisation de la CPU sur un seul chip VLSI. L’économie d’espace obtenue permet, à zone de silice égale, d’augmenter sensiblement le nombre de registres internes et/ou d’intégrer directement sur le chip la mémoire cache pour exploiter au maximum la vitesse du microprocesseur. Malheureusement, la technologie RISC a aussi des défauts. En effet, le nombre réduit d’instructions fait que le software résultant, à fonctions à accomplir égales, occupe plus de mémoire que celui d’une machine CISC, aussi bien statiquement que dynamiquement. Toutes les machines RISC utilisent la technique du “pipelining” pour augmenter leurs prestations en terme d’instructions exécutées dans l’unité de temps.
La famille AVR à 8 bits
Vous trouverez dans les tableaux 1 et 2 la liste des principales ressources internes de la famille des microcontrôleurs AVR.
Tableau 1 : Mémoire et prestations.
Ce qui différencie les divers microcontrôleurs est le nombre d’instructions Assembleur disponibles, la quantité de mémoire SRAM présente et surtout le nombre de lignes d’entrées/sorties (E/S ou I/O pour Input/Output), ainsi que la présence ou l’absence de périphériques tels que le UART, le timer,le convertisseur A/D, etc. Par exemple le AT90S1200 est un microcontrôleurs qui possède 89 instructions Assembleur, 1 kilobyte de mémoire programme, 15 lignes de I/O, 64 bytes de EEPROM et 32 registres d’utilisation générale. Ce qui unie la famille entière est l’architecture avec laquelle ces microcontrôleurs sont réalisés, le jeu d’instruction et les différentes méthodes de placement de la mémoire et des registres.
Tableau 2 : Ressources internes.
L’architecture se base, en particulier, sur le concept d’accès rapide aux registres. Les registres, comme vous le savez, sont des zones de mémoire utilisées pour communiquer avec les périphériques disponibles à l’intérieur du microcontrôleur comme les compteurs, les timers, les convertisseurs A/D et les ports d’I/O. Certains registres peuvent être utilisés comme des pointeurs à placement indirect à 16 bits pour communiquer avec de la mémoire : ces registres à 16 bits sont appelés registres X, Y, Z. Une autre caractéristique commune est le mode par lequel le microcontrôleur exécute les instructions. On l’appelle instruction “pipelining” (chaîne de montage). Le “pipelining” consiste à exécuter une instruction et à aller chercher simultanément l’instruction suivante.
Le microcontrôleur ATMEL AT90S8515
Cette brève introduction vous permet de comprendre qu’en apprenant la structure de n’importe quel microcontrôleur AVR, vous serez automatiquement en mesure de travailler avec la famille entière. C’est la raison pour laquelle tout le cours est basé sur un seul modèle de microcontrôleur. Le choix s’est porté logiquement vers le type le plus courant, c’est-à-dire le AT90S8515 dont le schéma synoptique est donné en figure 1. Ce microcontrôleur, contenu dans un boîtier à 40 pattes, fournit un jeu de 118 instructions Assembleur, 8 kbytes de mémoire programme, 512 bytes de EEPROM, 512 bytes de SRAM et 32 lignes de I/O. Le dispositif exécute de puissantes instructions en un seul cycle d’horloge, il est capable de traiter 1 MIPS par MHz (ceci en théorie). Parmi ses autres caractéristiques, signalons la présence de 32 registres pour des opérations de I/O et 32 registres d’utilisation générale, des interruptions internes ou externes, un UART programmable par interconnexions sérielles, un watchdog timer programmable avec oscillateur interne, un port sériel SPI, deux états à basse consommation que vous pouvez sélectionner via software et un timer/ counter. Les deux états de basse consommation sont appelés respectivement “idle mode” et “power down mode”. Le premier arrête le CPU mais permet à la SRAM, au timer/counter, au port sériel SPI et aux systèmes d’interruption de continuer à fonctionner, alors que dans le second mode, le contenu des registres est sauvé et l’oscillateur est “gelé” ; toutes les autres fonctions du chip sont désactivées jusqu’à ce que l’on intervienne avec une interruption externe ou en effectuant un RESET du CPU. Comme nous venons de le dire, le microcontrôleur AT90S8515 est disponible en version 40 broches (voir figure 2). Nous allons les décrire une par une.
Figure 1 : Schéma synoptique interne du microcontrôleur ATMEL AVR AT90S8515.
La description des broches
Figure 2 : Brochage du AT90S8515.
Vcc : Patte d’alimentation positive (broche 40).
GND : Masse d’alimentation (broche 20).
Port A (PA7…PA0) : C’est un port de I/O bidirectionnel. Toutes les pattes du port ont des résistances internes de pull-up. Le buffer de sortie est en mesure de fournir jusqu’à 20 mA de courant, suffisant pour piloter un afficheur à Led. Les pattes sont en haute impédances quand une condition de reset devient active, ou bien lorsque l’horloge n’est pas active. Ce port est utilisé comme multiplexer d’entrée/ sortie pour les données et les adresses quand une SRAM externe est reliée (broches 32 à 39).
Port B (PB7…PB0) : C’est un port de I/O bidirectionnel. Toutes les pattes du port ont des résistances internes de pull-up. Le buffer de sortie est en mesure de fournir jusqu’à 20 mA de courant. Les pattes du port sont en haute impédance quand une condition de RESET devient active, ou bien quand l’horloge n’est pas active (broches 1 à 8).
Port C (PC7…PC0) : C’est un port de I/O bidirectionnel. Toutes les pattes du port ont des résistances internes de pull-up. Le buffer de sortie est en mesure de fournir jusqu’à 20 mA de courant. Les broches sont en haute impédance quand une condition de RESET devient active, ou bien quand l’horloge n’est pas active. Lorsqu’on branche de la SRAM externe, ce port est utilisé comme bus adresses en sortie vers la SRAM (broches 21 à 28).
Port D (PD7…PD0) : C’est un port de I/O bidirectionnel. Toutes les pattes du port ont des résistances internes de pull-up. Le buffer de sortie est en mesure de fournir jusqu’à 20 mA de courant. Les broches sont en haute impédance quand une condition de RESET devient active, ou bien quand l’horloge n’est pas active (broches 10 à 17).
RESET (actif bas) : La broche de RESET est une entrée. Elle est activée par un niveau logique bas qui doit avoir une durée opportune. Habituellement, le temps de RESET tourne autour de 50 ns. Des temps plus courts n’assurent pas la génération du RESET (broche 9).
XTAL2 et XTAL1 : Ce sont les broches auxquelles est connecté le quartz de 4 à 8 MHz. En plus du quartz, deux condensateurs externes sont requis comme le montre le schéma de lafigure 3 (broches 18 et 19). ICP : C’est une broche d’entrée pour la fonction de “timer/ counter input capture”. (broche 31).
Figure 3 : Raccordement du quartz et des condensateurs
externes aux broches XTAL2 et XTAL1 du microcontrôleur.
OC1B : C’est une broche de sortie pour la fonction de “timer/counter1 compare B”. (broche 29).
ALE : C’est l’abréviation de “Address Latch Enable” qui est utilisé lorsque de la mémoire externe est connectée au microcontrôleur. En fait, la broche génère une impulsion de référence qui est utilisée pour commencer une liaison entre un microcontrôleur et la mémoire (broche 30).
La programmation “in-system”
Vous pouvez noter que le microcontrôleur dispose d’une grande quantité de mémoire programme. Dans notre cas, nous disposons de 8 kbytes de mémoire Flash. Ce type de mémoire peut être programmé “in-system”, c’est-à-dire que vous laissez le microcontrôleur sur le circuit sur lequel il doit travailler et qu’avec une connexion opportune au PC, vous le programmez selon vos propres exigences. La programmation “in system” évite l’inconvénient de devoir continuellement extraire le microcontrôleur de son support pour l’insérer dans le programmateur. On évite également, de cette façon, de l’endommager, en tordant par exemple une patte ou en cassant carrément une pendant les manoeuvres continues d’insertion et d’extraction du composant. Le seul inconvénient est la nécessité de devoir réaliser une liaison entre le circuit en conception et le PC.
Architecture interne
Ce microcontrôleur dispose d’une grande capacité de mémoire programme : 8 kilobytes de mémoire Flash, en plus de laquelle nous retrouvons les 32 registres pour utilisation générale qui vont de l’adresse mémoire $0000 à $001F, les 64 registres d’I/O (on utilise indifféremment I/O = Input/Output ou E/S = Entrées/Sorties) qui vont de l’adresse $0020 à $005F, la mémoire SRAM interne (512 bytes) qui va de l’adresse $0060 à l’adresse $025F et, enfin, nous avons de l’espace pour placer une mémoire SRAM externe pour un total de 64 kilobytes (adresses de $0260 à $FFFF). Observons le schéma synoptique interne de l’AT90S8515 (figure 4). Au centre du schéma se trouve l’unité logique arithmétique l’ALU (Aritmetic Logic Unit) qui forme avec le bloc des registres le coeur du microcontrôleur. Le coeur communique, au moyen d’un bus de données (Data Bus) de 8 bits, avec toutes les ressources implémentées : tout d’abord avec les registres de contrôle qui, vus apparemment comme une zone de mémoire particulière, forment en réalité des interfaces entre le programme et les périphériques implémentés. Puis nous trouvons l’unité d’interruptions (Interrupt Unit) c’est-à-dire un dispositif qui s’occupe de gérer et de trier les différentes interruptions que les périphériques peuvent envoyer au CPU.
Figure 4 : Schéma synoptique du microcontrôleur AT90S8515.
Le concept d’interruption Nous verrons plus tard que le CPU ne fait que lire et exécuter séquentiellement, rigoureusement l’une après l’autre, les instructions contenues dans la mémoire programme. En pratique, le CPU lit le code opérateur “l’opcode” de la première instruction en mémoire, l’interprète en le transformant en une commande et l’exécute. Puis il répète le même processus sur l’opcode disponible dans le byte suivant de la mémoire programme et ainsi de suite. En réalité, cette séquentialité est confiée au “Program Counter” qui, par définition, pointe l’adresse du byte de mémoire programme qui contient l’opcode de la prochaine instruction que le CPU doit exécuter. Une machine à états ainsi élaborée ne permet cependant pas de gérer des événements en temps réel. C’est la raison pour laquelle on a inventé les interruptions. Les périphériques internes peuvent, sur la base d’événements internes ou externes particuliers, générer une interruption du cycle normal du programme. Dans la pratique, cela consiste à forcer le “Program Counter” à pointer l’adresse d’une zone de mémoire définie (vecteur d’interruption). Donc, en activant, par exemple, l’interruption du périphérique UART, nous obtiendrons, en correspondance avec la fin de la réception des données, que le microcontrôleur aille exécuter l’instruction contenue à l’adresse $009 (vecteur d’interruption de la réception UART). Nous pouvons alors insérer une série d’instructions consacrées à cet événement. Par exemple, nous pouvons lire la valeur que l’UART a reçue et l’écrire dans une variable. Ces opérations sont effectuées par une sous-routine appelée “routine de réponse à l’interruption”. La routine terminera avec une instruction qui fera l’opération opposée par rapport à l’interruption : c’est-à-dire qui forcera le “Program Counter” à pointer l’adresse contenant l’instruction suivante la dernière exécutée avant l’interruption. L’AT90S8515 dispose de 13 vecteurs d’interruption. Revenons maintenant au schéma synoptique interne. Nous voyons que les autres périphériques disponibles sont
  • La “SPI Unit”, interface sérielle synchrone à 3 fils en mesure de travailler en mode “Master” (maître) ou “Slave” (esclave),
  • Le “Serial UART” (Serial Universal Asynchronous Receiver and Transmitter),
  • Un “Timer/ Counter” 8 bits et un “Timer/Counter” 16 bits, un “Watchdog Timer”,
  • Un comparateur analogique et 32 lignes d’entrée/sortie avec lesquelles le dispositif échange les données en niveau TTL avec le monde extérieur.
Pour communiquer avec les différents périphériques énumérés ci-dessus, une série de registres, définis selon le tableau 3, appelés “I/O Register” sont disponibles. Dans ce tableau, vous trouverez la liste des adresses mémoire où ils sont disponibles et les sigles mnémotechniques qui les identifient.
Le plan mémoire
Comme tous les microcontrôleurs, l’AT90S8515 dispose aussi de deux zones de mémoire spécifique internes : la “Program Memory” et la “Data Memory”. La “Program Memory” ou mémoire programme, contient le programme c’està- dire l’opcode des instructions que le CPU devra exécuter l’une après l’autre quand le microcontrôleur sera alimenté. La mémoire programme est de type Flash et peut être écrite et effacée plus de 1 000 fois. Sa capacité est de 4 kilobytes x 16 et ses adresses vont de $000 à $FFF. La “Data Memory” peut être décomposée en deux parties significatives : l’une contient les données et l’autre est destinée aux registres. Nous verrons que le déroulement d’un programme requiert l’utilisation des constantes mais aussi des variables. Le terme “variable” sert à indiquer tous les paramètres numériques qui peuvent varier pendant l’exécution d’un programme.
Figure 5a : L’illustration montre que les adresses qui vont de $0000 à $001F
servent aux registres d’utilisation générale, alors que les adresses $0020 à $0005F contiennent les registres d’I/O.
De la position $0060 jusqu’à la $025F nous trouvons la SRAM interne du microcontrôleur,
alors que de l’adresse $0260 jusqu’à $FFFF nous avons l’espace utilisable pour ajouter au microcontrôleur de la mémoire SRAM externe.
Notre microcontrôleur dispose de 512 octets internes de mémoire (de l’adresse $0060 à $025F) dans lesquelles il est possible de mémoriser des variables. Observons le plan mémoire de données : nous pouvons noter que les adresses $0260 à $FFFF sont prévues pour une RAM externe. Ce qui veut dire que la structure hardware et les ressources software du AT90S8515 permettent de brancher une mémoire externe SRAM de 64 kilobytes (maximum). Les adresses $0000 à $005F contiennent, quant à elles, les registres qui, comme nous l’avons dit précédemment, sont des positions utilisées pour communiquer avec les périphériques ou utiles au travail de l’ALU. Les registres dont les adresses vont de $0000 à $0001F sont appelés “General Purpose Working Register”. Ce sont les registres de travail, ceux qui sont utilisés pour faire des opérations mathématiques ou pour diriger le programme vers des adresses déterminées. Nous étudierons ces registres lors de l’analyse du jeu d’instructions. Nous vous rappelons, de toute façon, que sur les 32 registres d’utilisation générale, 6 peuvent être utilisés comme pointeurs d’adressage indirect à 16 bits pour travailler avec la mémoire. Ces registres de 16 bits sont appelés registres X, Y et Z. A chaque registre est associée une adresse unique, ce qui a permis de faire le plan mémoire de l’adresse $00 à l’adresse $1F en distinguant les 32 adresses à utiliser.
Figure 5b : A chaque registre est associée une adresse unique. On a ainsi fait
le plan mémoire de l’adresse $00 à l’adresse $1F en distinguant 32 positions à utiliser comme espace de données. Les registres qui vont de l’adresse $1A à l’adresse $1F peuvent être associés deux par deux pour obtenir des registres de 16 bits, nommés registres X, Y et Z.
L’ALU à hautes prestations de l’AVR communique avec les 32 registres d’utilisation générale, et est en mesure d’exécuter, en un seul cycle d’horloge, des opérations entre les deux registres. Les adresses de $0020 à $005F contiennent, par contre, les registres d’I/O (voir le tableau 3). Il s’agit de 64 adresses à travers lesquelles il est possible de donner des ordres, ou encore d’envoyer des commandes aux différents périphériques et de les recevoir. Nous décrirons mieux chaque registre d’I/O lors de l’analyse du périphérique auquel ils sont destinés. Limitons-nous, pour l’instant, à dire que les adresse d’I/O, ou encore la partie de mémoire qui contient les registres d’I/O, sont accessibles à travers les instructions de “IN” et de “OUT” qui transfèrent les données entre les 32 registres d’utilisation générale et l’espace d’I/O.
La mémoire EEPROM
La SRAM interne n’est pas la seule zone possible pour la mémorisation des données. En effet 512 autres octets, dans lesquels vous pouvez écrire ou lire des données, sont implémentés. Il s’agit de la mémoire EEPROM. Cette zone de mémoire peut être considérée comme une RAM à la différence près que les données insérées sont conservées, même en l’absence d’alimentation. Pour écrire ou lire des données en EEPROM, il est cependant nécessaire d’utiliser trois registres spécifiques. Cette mémoire permet un maximum de 100 000 cycles d’écriture/lecture.
Tableau 3 : Pour communiquer avec les différents périphériques, une série de registres, appelés “I/O Register”, sont
disponibles. Dans ce tableau son listées les adresses mémoire où ils sont disponibles et les sigles mnémotechniques qui les identifient.
 
Le registre d’état
Ce registre sert à contrôler si des événements particuliers, dus à l’exécution de certaines instructions, comme les instructions logiques ou mathématiques, se vérifient. Chaque bit de ce registre a une fonction particulière.
I
T
H
S
V
N
Z
C
  • Bit 7 – I – Global Interrupt Enable Ce bit est mis à la valeur logique haute (c’est-à-dire 1) pour activer l’utilisation des interruptions. Ce bit est mis à la valeur logique basse (c’est-à-dire 0) après une demande d’interruption. Il est remis à 1 par l’instruction RETI au retour d’une routine d’interruption.
  • Bit 6 – T – Bit Copy Storage Les instructions de copie des bits (BLD, bit lu et BST, bit emmagasiné) utilisent le bit T comme source et destination dans les opérations effectuées sur chaque bit d’un registre. Un bit d’un registre peut être copié dans le bit T par l’instruction BST alors que le bit T peut être copié dans un autre registre à travers l’instruction BLD.
  • Bit 5 – H – Half Carry Flag Ce bit indique qu’une opération arithmétique a généré une retenue ou un dépassement.
  • Bit 4 – S – Sign Bit Le bit S est donné par un OR exclusif entre le flag négatif N et celui complémenté à 2 du flag V. Il indique le signe de la donnée après avoir exécuté une opération arithmétique.
  • Bit 3 – V – Overflow flag Ce bit contient le résultat d’overflow et est en complément à deux. Traduit littéralement, overflow veut dire débordement. C’est une condition dans laquelle une opération arithmétique fournit un résultat de grandeur supérieure au maximum qu’un registre ou une position de mémoire peut contenir.
  • Bit 2 – N – Negative flag
  • Bit 1 – Z – Zero flag
  • Bit 0 – C – Carry flag Ces trois bits indiquent, respectivement, au terme d’une opération mathématique ou logique, si le résultat est négatif, si le résultat est égal à 0, si l’opération a donné lieu, en plus du résultat, à une retenue. Le registre d’état (Status Register) n’est pas automatiquement sauvegardé lorsque l’on appelle une routine d’interruption.
chapitre 3
Le microcontrôleur AT90S8515 dispose de quatre ports d’I/O (Input/Output) de 8 bits appelés port A, port B, port C et port D. Ces ports d’entrées/sorties permettent au microcontrôleur de communiquer avec le monde extérieur. Par exemple, si vous voulez connecter un convertisseur A/D (Analogique/Digital), il faudra que le micro dispose de quelques broches afin que vous puissiez effectuer le branchement au dispositif à commander.
Chacun de ces ports d’I/O est constitué de 8 bits chacun et certains sont “programmables”. Ce terme signifie que des broches particulières du port peuvent être utilisées dans des buts spécifiques. Le port B, par exemple, dispose d’une interface sérielle (SPI) à quatre fils. Si le microcontrôleur est programmé de façon correcte, la logique interne s’occupera d’utiliser les broches en question du port d’I/O pour exécuter une interconnexion sérielle à quatre fils avec un autre périphérique qui utilise le même protocole de communication. Les quatre bits restants du port d’I/O peuvent être utilisés dans n’importe quel autre but. Chaque port d’I/O est piloté à travers l’utilisation de trois registres qui sont appelés “Data Register”, “Data Direction Register” et “Input Pins Address”. Pour utiliser le port A, comme pour les autres, trois adresses de mémoire d’I/O sont assignées, une pour chaque registre. On donne un nom mnémotechniqueà chacune de ces adresses. Le registre des données est appelé “PORTA” (adresse hexadécimale 3BH), le registre qui indique la direction de la donnée, In (entrée) ou Out (sortie), est appelé “DDRA” (adresse 3AH), et le registre “Input Pins Address” est appelé “PINA” (adresse 39H). Ces noms (“PORTA”, “DDRA” et “PINA”) sont utilisés lorsque l’on programme en assembleur. En effet, si l’on veut écrire dans le registre “DDRA”, il suffira d’utiliser les instructions :
LDI r16, 0xff
OUT DDRA, r16
Elles donnent au registre “r16” la valeur hexadécimale “FF” et le transfèrent dans le registre “DDRA”. De cette façon, le port A a été sélectionné comme port de sortie. En résumé, le registre “PORTA” sert à envoyer en sortie des données, le registre “PINA” sert à les acquérir alors que le registre “DDRA” sert à indiquer la direction de la donnée, ou mieux, la direction que peut prendre chaque bit du port. Vous trouverez le schéma électrique d’une broche du port A en figure 6.
Figure 6 : Schéma électrique d’une broche du port A.
En ce qui concerne le port B, le nombre de registres est le même mais leur emplacement à l’intérieur de la mémoire d’I/O change (voir tableau 4). Les registres se programment en assembleur de la même façon que le port A à la différence près que certains bits peuvent être utilisés dans des buts particuliers. Le tableau 5 montre bien les fonctions que l’on peut assigner au port B dont nous avons parlé précédemment.
Tableau 4 : Adresses hexadécimales des ports d’I/O.
Tableau 5 : Port B.
Notez que, dans ce cas, le schéma de chaque bit du port est différent, ce qui veut dire que le schéma de circuit pour la broche PB0 du port B sera différent du schéma de circuit de la broche PB1 et ainsi de suite en raison, justement, des caractéristiques différentes de chaque broche. Pour se rendre compte de cela, il suffit de consulter la note technique. Le port C est identique au port A, alors que le port D a, lui aussi, des broches programmables dans des buts particuliers liés à l’utilisation de l’UART, de la mémoire et des interruptions externes (tableau 6).
Tableau 6 : Port D.
Tableau 7 : Configuration
du prédiviseur avec le compteur 8 bits.
Les compteurs A l’intérieur du microcontrôleur AT90S8515 se trouvent deux compteurs intégrés, l’un de 8 bits et l’autre de 16 bits. En réalité, la logique permet de les configurer soit en compteur soit en temporisateur. Cela veut dire que, si le composant est configuré comme compteur, il est alors en mesure d’accepter des impulsions externes et d’interrompre le programme principal après un certain nombre d’impulsions établies par le programmeur (en pratique, s’il y a eu une demande d’interruption du compteur). Ou bien, il peut être utilisé comme temporisateur et est donc en mesure de compter des impulsions d’horloge du système et de donner un signal d’interruption après un nombre prédéterminé d’impulsions d’horloge. Chaque compteur peut bénéficier d’une logique interne qui sert de “PRESCALER”, c’est-à-dire de diviseur de fréquence. Le circuit se présente comme le montre le schéma synoptique des compteurs 8 et 16 bits de la figure 7.
Figure 7 : Schéma synoptique des compteurs 8 et 16 bits.
Dans le circuit, on remarque le “prescaler” et deux multiplexeurs nécessaires pour apporter le signal, soit au compteur 8 bits (TCK0), soit au compteur 16 bits (TCK1). Les deux multiplexeurs sont programmables en utilisant les trois bits CS00, CS01 et CS02. Le tableau 7 montre la correspondance entre les valeurs logiques des trois bits et le type de signal appliqué au compteur. On peut sélectionner l’horloge interne en exécutant ou non le prescaler, ou bien un signal externe présent sur la broche “T0”. Sur le signal “T0”, on peut choisir d’être actif sur le front montant ou bien sur le front descendant du signal. Le tableau 7 est valable pour le compteur 8 bits.
Figure 8 : Schéma du circuit du compteur 8 bits.
Pour le compteur 16 bits, c’est la même chose, seules changent les broches de sélection (CS00, CS01 et CS02 deviennent CS10, CS11 et CS12). Ces bits de sélection sont mémorisés par le programmeur à l’intérieur d’un registre 8 bits dont on utilise seulement les trois bits de poids faibles. Ce registre s’appelle “TCCR0”. Vous noterez que le compteur de 8 bits est un “upcounter” et que la valeur de comptage est mémorisée dans le registre “TCNT0”. L’analyse du schéma du circuit du compteur (figure 8) montre les deux registres de 8 bits “TIMSK” et “TIFR”. Ces registres servent à gérer les événements d’interruption du compteur. En ce qui concerne le compteur 8 bits, on utilise le bit 1 du registre “TIMSK”. Lorsque celui-ci est au niveau logique haut, avec le bit 1 du “Status Register”, l’interruption de débordement (overflow) du compteur a été activée et, par conséquent, s’il y a débordement de la part du compteur, la routine correspondante (qui se trouvera à l’adresse 007H) sera exécutée. Du registre “TIFR”, on utilise le bit 1. Celui-ci va au niveau logique haut quand un overflow se produit et est remis à 0 par le hardware dès que la routine correspondantà la demande d’interruption a été exécutée. Le compteur 16 bits est, par contre, plus complexe que le précédent et il permet par conséquent de réaliser plus de fonctions. L’une d’entre elles est la modulation PWM (Pulse Width Modulation), et peut être réalisée à 8, 9 ou à 10 bits. Comme le compteur 16 bits est de type “up/down” et peut donc aussi bien compter que décompter, vous pouvez générer un signal triangulaire (voir la figure 9), obtenu en faisant monter le compteur jusqu’à sa valeur maximale, et toujours à intervalles de temps constants, le faire décompter jusqu’à ce qu’il arrive à zéro pour, ensuite, recommencer l’incrémentation. Cette caractéristique est utilisée pour générer la modulation PWM, qui consiste à changer le rapport cyclique (Duty Cycle) d’un signal carré sur la base d’un signal modulant représenté par la valeur de comparaison (Compare Value). Pour en comprendre le fonctionnement, revoyez la figure 9 . A chaque fois que le signal triangulaire se trouve sous la valeur de référence (la ligne en pointillés) un changement de front est généré sur le signal “OC1X”. La forme d’onde triangulaire représente donc la marche dans le temps du compteur. Il est donc clair qu’en changeant la valeur du seuil, vous pourrez changer la durée de l’impulsion en sortie et, donc, en continuant à faire varier le seuil, vous générez une forme d’onde PWM. Le seuil doit être modifié avant qu’il ne rencontre le signal triangulaire (voir la figure 4) sous peine de générer un “Glitch” qui représente un dérangement non désiré.
Figure 9 : Modulation PWM réalisée avec le compteur 16 bits.
Le watchdog
Le watchdog est un temporisateur particulier qui est utilisé dans les systèmes à microprocesseur comme sécurité pour éviter que le programme n’aille dans une impasse et donc que le système ne se bloque dans une situation non prévue par le programmeur. En pratique, le watchdog intervient et effectue le reset du microcontrôleur si celui-ci n’est pas effectué par l’instruction “WDR” (WatchDog Reset) dans le temps établi par les broches 0, 1 et 2 du registre “WDTCR”. Le watchdog des microcontrôleurs AVR est temporisé par une horloge interne à 1 MHz, ce qui nous permet de comprendre qu’il peut fonctionner également en l’absence de l’horloge du système car il est indépendant de celui-ci. Le dispositif est programmé à travers le registre “WDTCR” grâce à l’utilisation des cinq premiers bits. Essayons maintenant d’en comprendre le fonctionnement en les analysant de façon détaillée.
Les bits 0, 1, et 2, comme nous l’avons déjà remarqué, servent à établir le temps qui doit s’écouler avant que le watchdog effectue le reset du micro. Ce temps dépend également de l’alimentation du micro et peut varier d’environ 15 ms (WDP0 = 0, WDP1 = 0, WDP2 = 0 et alimentation Vcc = 5 V) jusqu’à environ 6 s (WDP0 = 1, WDP1 = 1, WDP2 = 1 et alimentation Vcc = 3 V). Le bit 4 (WDTOE = Watch Dog Turn Off Enable) et le bit 5 (WDE) servent à désactiver la fonction de watchdog. Etant donné qu’il s’agit d’un système de sécurité, il serait trop risqué d’utiliser un seul bit de validation/inhibition vu que l’on ne peut pas savoir comment se comporte un programme en cas de dysfonctionnement. Donc, pour éviter des inhibitions involontaires, il est nécessaire de suivre une séquence précise de désactivation du watchdog. Il faut d’abord mettre au 1 logique aussi bien “WDTOE” que “WDE” et, ensuite, pour les quatre cycles d’horloge suivants, effectuer le reset de “WDE”. De cette façon le watchdog est désactivé. Le schéma du Watchdog (figure 10) met en évidence l’oscillateur indépendant de 1 MHz, un “prescaler” et un multiplexeur. Les trois bits de contrôle vont justement agir sur le multiplexeur pour sélectionner les temporisations pour le reset.
Figure 10 : Schéma du circuit du watchdog et tableau du prescaler correspondant.


22/09/2013

Montages fondamentaux des transistors

Nous poursuivons notre incursion dans le domaine du transistor, tout en restant fidèles à notre engagement de départ : pas de développement mathématique compliqué et quelque peu… décourageant, mais des explications pratiques permettant une expérimentation directe.
 
 Montages fondamentaux des transistors


Dans tous les cas d’utilisation des transistors, ces derniers fonctionnent toujours suivant trois types de montages. Il s’agit de montages fondamentaux de base qu’il est essentiel de savoir reconnaître lorsque l’on étudie un schéma électronique :
- montage en émetteur commun
- montage en collecteur commun
- montage en base commune.
 
09/09/2013

Programmateur de PIC universel

Programmateur de PIC universel

Le programmateur que je vous propose de réaliser peut programmer tous les circuits PIC acceptant la programmation série en circuit ou ICSP c'est à dire tous les PIC 12Cxxx, 16Cxxx et 16Fxxx existants et à venir. Les seuls circuits qu'il ne puisse pas programmer sont les vieux 16C54, 16C56 et 16C57 à programmation parallèle, qui sont en voie de disparition. Il se connecte sur le port parallèle de tout compatible PC fonctionnant au moins sous Windows 95 encore que des versions DOS de son logiciel de commande existent sur Internet. Il nécessite une alimentation, qui peut être continue ou alternative, comprise entre 12 et 30 volts, et qui n'a pas besoin d'être stabilisée. Un bloc secteur "prise de courant " ou n'importe quelle alimentation de laboratoire peut donc convenir d'autant que le débit nécessaire est inférieur  à 100 mA. Compte tenu des performances de son logiciel de commande, il peut lire, vérifier, programmer et comparer les PIC sans aucune restriction, de même qu'il sait lire et programmer leurs " fusibles " de configuration. Il sait aussi effacer les circuits munis de mémoire de type EEPROM et permet l'accès à  la mémoire de données des circuits dotés d'une telle mémoire lorsqu'elle est en technologie EEPROM également. Autant dire qu'il est vraiment complet.

Schéma du programmateur

Mon programmateur se connecte sur le port parallèle du PC et son schéma complet est visible sur la figure ci-dessous.
Les signaux d'un port parallèle étant aux normes TTL et étant " maltraités " par leur voyage sur des câbles de liaison, ils sont remis en forme par les inverseurs contenus dans IC1. Comme ce circuit dispose de sorties à collecteurs ouverts il permet une commande facile des trois transistors T1, T2 et T3. T1 et T2 permettent l'application de la haute tension de programmation VPP aux pattes adéquates du support universel du programmateur. T3 commande la tension d'alimentation normale VDD, appliquée également au support universel.
Schéma du programmateur

Ceci permet de n'alimenter le circuit à programmer que lorsque c'est vraiment nécessaire et d'éviter ainsi tout problème lors son insertion ou de son extraction du support de programmation. Deux LED rouges, D1 et D2, indiquent la présence des tensions sur le support. D3 quant à elle s'allume tout simplement lorsque le programmateur est sous tension afin de signaler le bon fonctionnement de l'alimentation.
Les données à programmer transitent par IC1a tandis qu'elles passent par IC1b lors d'une relecture du circuit. L'horloge de programmation passe par IC1c. Le support destiné à recevoir les circuits à programmer est un modèle 40 pattes un peu spécial de façon à pouvoir recevoir les PIC en boîtiers : 8, 18, 20, 28 et 40 pattes. Le câblage des différentes alimentations, de la ligne de données et de la ligne d'horloge est réalisé conformément aux brochages des différents circuits.
L'alimentation du programmateur est simple mais très tolérante. Deux tensions stabilisées sont nécessaires : 5 volts pour VDD et 13 volts pour la tension de programmation VPP. IC2 qui est un 78L05 se charge du 5 volts tandis que IC3, qui est un 78L08, produit le 13 volts car il n'est pas référencé à la masse mais à la sortie de IC2 et produit ainsi 5 + 8 soit 13 volts ! Afin d'accepter n'importe quelle source externe, les régulateurs sont précédés d'un filtrage généreux et d'un pont redresseur. On peut appliquer sur J1 toute tension alternative comprise entre 12 et 20 volts ou comprise entre 16 et 30 volts. Le débit nécessaire n'est que de 100 mA environ.


Afficheur LCD sur port série

,Afficheur LCD ,Afficheur LCD sur port série
Avec l’évolution permanente des performances des PC, vous êtes de plus en plus nombreux à utiliser de « vieilles » machines pour des applications telles que les automatismes, les acquisitions de données ou bien encore les mesures de tout poil. De telles applications n’ont que rarement besoin du moniteur TV lorsqu’elles affichent seulement quelques données numériques ou quelques lignes de texte. Je vous propose de vous en passer en connectant sur un des ports séries de votre PC cette interface, équipée d’un afficheur alphanumérique LCD classique d’une ou deux lignes de seize ou vingt caractères.

Il peut être relié au port série standard de tout compatible PC et se trouve muni d’un connecteur normalisé à 9 points permettant l’usage de tout câble droit classique du commerce.
Compte tenu de la faible consommation du circuit contrôleur utilisé, il prélève son alimentation sur le port série du PC. Enfin, le circuit imprimé que j'ai dessiné est de la même largeur que les afficheurs à une ou deux lignes de seize caractères standards, au dos desquels ils se monte et se connecte directement.

Le MIC 702 de Mictronics

Pour transformer un afficheur LCD standard à interface parallèle en modèle à interface série, il faut utiliser un microcontrôleur ou un circuit spécialisé tel le MIC 702 de Mictronics dont vous pouvez télécharger la fiche technique complète et en français en cliquant sur ce lien. C'est un circuit spécialement conçu pour transformer l’interface parallèle d’un afficheur LCD à logique intégrée en interface série asynchrone normalisée. Sa mise en œuvre est très simple comme le montre le schéma ci-dessous.
Pour tout savoir sur les circuits Mictronics cliquez sur ce lien -> Logo Mictronics

Le schéma

Le MIC 702 est relié directement à l’afficheur avec lequel il est parfaitement compatible. Remarquez la liaison avec les seuls 4 bits de données de poids forts puisque le MIC 702 exploite l’afficheur dans le mode deux fois 4 bits.
Côté PC, la liaison avec la sortie série du PC ne fait appel à aucun convertisseur de niveau de RS 232 en TTL ; ce rôle étant joué par la seule résistance R1 de 22 kohms dont la présence est indispensable.
Schéma de l'afficheur LCD série
La patte BAUD permet de choisir la vitesse de fonctionnement du circuit parmi deux vitesses : 9600 bauds avec S1 en place ou 2400 bauds avec S2 en place. La patte POL permet au circuit d’interpréter les données séries sous forme directe ou inversée. Comme on est en liaison RS 232 directe on doit relier cette patte à la masse pour signaler au MIC 702 qu’il reçoit des données inversées. Une liaison au + 5 volts lui permettrait de recevoir des données directes comme ce serait le cas si l’on voulait utiliser ce circuit avec un Basic Stamp par exemple.

Sous réserve d’utiliser un afficheur non rétro-éclairé, la consommation totale du montage est suffisamment faible pour qu’il puisse prélever son alimentation directement à partir des sorties des signaux de contrôle de l’interface RS 232. C’est le rôle des diodes D2 et D3 associées à IC1, qui est un régulateur à faible chute de tension et à faible consommation.

Si vous tenez à utiliser un afficheur rétro-éclairé, il se peut que la consommation de son seul rétro-éclairage excède les possibilités du port série du PC. Vous pouvez alors utiliser une alimentation externe via la diode D1. Une tension de 9 volts sous un débit d’une centaine de mA convient.
01/09/2013

Un émetteur de télécommande IR pour véhicule

  Vous possédez un véhicule avec une ouverture par télécommande infrarouge, cet émetteur utilise un TEA5500 : vous n'avez plus qu'à réaliser ce montage pour économiser l'achat d'un autre émetteur.
   Pour comprendre le fonctionnement du TEA5500 allez visiter les pages de laurent DESCHAMPS
   Pour utiliser un TEA5500 à la place d'un M1058T télécharger le fichier réalisé par Jaky FOURRE
Schéma de la platine électronique
   Le circuit TEA 5500 sert de codeur. Son code est déterminé par la mise à 0V, à 5V ou en l'air des pattes E1 à E10.
   D1 est la diode émettrice infrarouge, D2 sert de témoin de mise en fonction.
  
Réalisation et téléchargement

   Vous trouverez ici les fichiers nécessaires à la réalisation de ce montage.
 
   Le typon est destiné à un boîtier en vente chez "Electronique diffusion" sous la référence HATLCA, chez "Conrad" sous la désignation T1PP. S1 est un mini-contact. Ce montage est alimenté par 3 piles bouton 1,5V en séries, de diamètre 7,9 ou 11,4mm et d'épaisseur 5,4mm. D1 est une diode IR de n'importe quel type, D2 est de type 3mm.
 
Pour déterminer le code, il suffit de couper les pistes reliant E1 à E10, pour correspondre à l'émetteur que vous possédez.
 
L'impression du typon doit se faire en 300 DPI pour être à l'échelle. 

Retour vers la page électronique

 
28/08/2013

Analyseur logique 8 voies

1 - Introduction
Combien de fois auriez vous aimez scruter ce qui se passe sur un bus de communication, ne serait-ce que bifilaire : une liaison V24 plus connue sous RS232, examiner le protocole I2C à des fins de débogage  ou encore les signaux circulant sur un bus système ?
Il faut se rendre à l'évidence : l'oscilloscope dépanne de se genre de situation mais ne donne jamais entière satisfaction, il n'a pas été concue dans ce but, le déclenchement n'est pas facilement réalisable et l'instant T est souvent hors de l'écran !
C’est la que l’analyseur logique entre en scène : il est capable de mémoriser une quantité d’informations plus importantes, et de déclencher sa capture selon des critères bien précis : front montant, état haut, sur octet…
L’appareil que je vous propose de réaliser est un analyseur logique bon marché a base de microcontroleur ATMEGA8535, n’ayant aucune prétention de rivaliser avec les appareils professionnels dédiés ne serait-ce que par sa vitesse d'échantillonnage. Cependant ses caractéristiques suffiront à analyser les signaux les plus courants et rendra bien des services.
 Voici le résumé de ses caractéristiques :
  • Analyseur logique 8 canaux 0 / 5 volts
  • Mode de communication : Bus USB
  • Alimentation : autoalimenté par le bus USB
  • Vitesse d’échantillonnage maximum de 1 Mhz (réglable)
  • Tampon mémoire : 32 Ko maximum (réglable)
  • Déclenchement multi critères : état haut et bas, front montant et descendant, sur octet défini
 Un logiciel spécifique accompagne l’analyseur afin d’exploiter les données enregistrés :
  • Paramétrages de la capture et de la taille mémoire tampon
  • Affichage complet et défilant de la capture
  • Sauvegarde d’un fichier de capture avec possibilité d’inclure des annotations
  • Ouverture d’un fichier de capture pour consultation et analyse
  • Export des données au format CSV pour exploitations externes
  • Impression de la capture afficher à l’écran
  • Curseur informatif sur les signaux logique (temps, fréquence, valeur décimale, hexa et binaire)

 2 - Schéma et circuit imprimé
Schéma électronique :
 
L’USB est totalement géré par un module USBMOD3 à base de chip FTDI232BM. Le module est configuré pour tirer son alimentation du bus et ainsi alimenter le reste du montage. Si vous souhaitez avoir plus de renseignements concernant cette interface, je vous invite à visiter la section cours du site.
Le cœur du dispositif repose sur un microcontrôleur Atmel de type ATMEGA8535 16PI. La vitesse maximale sera exploitée pour
l’acquisition des données, car les méthodes de déclenchements et la fonction compteur pour l’adressage de la RAM sont entièrement gérées par lui-même.L’ordre de liaison des broches du microcontrôleur à la mémoire n’à aucune importance pour les adresses, elles ont étés optimisés pour le dessin du circuit imprimé.
Le Buffer de bus 74HCT541 est inséré entre le bus de données commun au microcontrôleur à la mémoire, pourquoi ? : Pendant la phase d’enregistrement des signaux, le Buffer les laisses passés pour qu’ils arrivent à la mémoire ou ils sont enregistrés, puis pendant la phase de restitution, comme l’architecture de cet analyseur est peu commune, il isole les signaux provenant de l’extérieur afin que le programme puisse lire les données stockées dans la RAM. Sans lui aucun résultat correct ne serait à espérer.
On comprend mieux le rôle du microcontrôleur : piloter le Buffer, générer les signaux sur le bus d’adresse de la mémoire (il fonctionne en compteur), attendre une condition programmée pour le départ de l’enregistrement et restituer les signaux par le biais de l’interface USB.On retrouve sur le circuit d’entré un réseau de résistance qui force au niveau bas, à condition que JP1 soit fermé, les broches qui serait éventuellement « en l’air » : le Buffer est très sensible et les signaux non connecté se copie facilement d’une broche à l’autre. La LED 3 indique que la condition de départ à été trouvé est que l’enregistrement est en cours.
Les LED 1&2 sont une indication d’activité de communication avec l’interface : la LED 1 signale la  réception de signaux et la LED 2 une émission.
La liste des composants :
R1, R2, R3 : 330 ohms
Respack : réseau de 8 résistances de 10 K + 1 commun
C1, C2 : 22 pF
C3 : 10 uf / 16V
C4, C5, C6 : 100nF
D1 : LED verte 3.5 mm
D2 : LED rouge 3.5 mm
D3 : LED de tout autre couleur 3.5 mm
IC1 : ATMEGA8535 16 PI
IC2 : Ram statique 32 Ko (256*8)
IC3 : 74HCT541
IC4 : Module USBMOD3 dispo chez Lextronic
Divers :
Barrette mâle simple droite et un cavalier
Les supports pour les circuits intégrés ne sont pas obligatoires mais recommandé, sauf pour le module USB qui sera directement soudé.
Le circuit imprimé et l'implantation des composants :

 
 Vérifier après gravure qu’aucune piste n’est en cours circuit avec une autre et rechercher au multimètre les micro-coupures éventuelles
3 - Réalisation et cablage
Si vous le pouvez, effectuer une opération d’étamage manuelle et dans tout les cas nettoyer bien le circuit à l’aide d’alcool non parfumé ou d’acétone..
Implantation des composants :
  • Dans un premier temps, insérez en priorité les straps, il y en à 7
Mis en place des straps
  • Soudez ensuite les supports de circuits intégrés si vous le souhaitez. Une exception pour le module USB : je ne l’ai pas soudé afin de parfaire la rigidité mécanique lors de la connexion au PC.
  • Finissez avec le reste des composants en commencent par les plus petits et faite attention au sens de la bague de repérage du réseau de résistance.
  • Concernant la sortie des LEDs, je vous conseille de souder des broches sécables afin de pouvoir effectuer un report facile de signalisation. Insérez le Jumper JP1 afin de tirer à la masse les entrées de l’analyseur.
  • Dernière opération : relier les broches TX et RX du module USBMOD3 au microcontrôleur à l’aide de fils souples. Lors de
    l’opération de  routage manuel du circuit imprimé je n’ai pas trouvé d’autre solution !

Vérifiez bien la qualité de vos soudures et les éventuels courts-circuits avant d’implanter le microcontrôleur et les autres circuits. Concernant la ram statique 32 K, je n’ai pas mentionné de référence particulière : il en existe tellement que je vous laisse choisir.
L’implantation des composants étant terminée vous obtiendrez cela :

 4 - Programmation de l' ATMEGA8535
Il faut impérativement programmer les fusibles du microcontrôleur afin de sélectionner son mode de fonctionnement : horloge externe 16 MHz par quartz.
Ci-dessous une copie d’écran de la programmation usine de l’ATMEGA réalisé avec PONY-PROG :

Pour notre application, programmez les fusibles comme indiquer ci-dessous
Compilez le programme à l’aide d’AVR STUDIO et flashez le microcontrôleur.
 5 - Le programme ASM
Bien qu’il ne vous soit d’aucune utilité pour l’emploi de l’analyseur logique, j’ai mis à titre d’informations la méthode de communication entre l’analyseur et le logiciel.
Comme toujours, le PC envoie une trame contenant les informations suivantes :
Le protocole de communication avec l’interface
1 - Sélection de la fréquence d’échantillonnage
 Taille : 1 octet
Caractère Période (ms) Fréquence (KHz)
a
1
1
b
0.5
2
c
0.2
5
d
0.1
10
e
0.05
20
f
0.02
50
g
0.01
100
h
0.005
200
i
0.002
500
j
0.001
1000
2 - Type de déclanchement
 Taille : 1 octet
0 = Sur niveau Bas
1 = Sur niveau Haut
2 = Sur front Montant
3 = Sur front Descendant
4 = Sur octet prédéfini
3 - Voie ou octet de déclenchement
 Taille : 2 octets
Premier octet : contient le numéro de la voie (0…7) ou l’octet de poids fort codé en hexadécimal permettant d’effectuer le début de la capture
Deuxième octet : contient l’octet de poids faible. Dans le cas ou le type de déclanchement choisi se fait par rapport à un état logique sur une voie d’entrée, il faut nécessairement envoyer cette chaîne, l’analyseur logique n’en tiendra pas compte, mais elle est nécessaire pour le protocole de communication. Donc sa valeur n’a aucune importance.
4 - Taille du tampon d’enregistrement
 Taille : 1 octet
caractère
Taille du tampon
1
2028
2
4096
3
8192
4
16384
5
32768
Le programme :
Le code source est commenté  chaque fois que nécessaire.
Une précision tout de même sur certains points :
Il y à 2 routines d’échantillonnage :
La première est gérée par une interruption du TIMER 2 à intervalle prédéfinie
La seconde ne passe pas par l’interruption, il s’agit de la routine d’acquisition à 1 Mhz car le temps que met le microcontrôleur à sauter à l’interruption, l’exécuter et revenir au programme principal est bien trop long. Ne modifier en aucun cas cette routine (ligne 577), elle est calibrée de manière bien précise.Autres point concernant l’émission des données vers le PC : toutes les informations ne sont pas envoyées d’un seul trait : elles sont défragmentées en paquet pour évité de saturer le Buffer de réception de la carte mère.
La vitesse de communication est réglée sur 500 000 Bds grâce à l’emploi du module USB. Remarquez que c’est une vitesse de communication peu commune.
 6 - Installation du Driver USB
Comme tout périphérique PC, le module USB requiert un driver afin que le système d’exploitation puisse le reconnaître et l’utiliser. Si vous souhaitez en savoir un peu plus sur la mise en œuvre du module, je vous invite à parcourir sur le site la section cours.Avant de connecter l’analyseur au PC, procurez vous les drivers dont le lien est donné dans la section cours --> Module USB, il s'agit du driver de type VCP
Dès la connection du module, Windows détecte la présence du nouveau périphérique et demande le driver correspondant. Dirigez le vers le répertoire FTDI que vous aurez préalablement décompacter ou bon vous semble !.
 
Recommencer l’opération si nécessaire. Apres installation du driver, redémarrer la machine est vérifier bien qu’un nouveau port de communication est disponible et retenez son numéro d’attribution (Démarrer, paramètres, panneaux de configuration, système, cliquez sur l’onglet matériel puis le bouton gestionnaire de périphérique et parcourez l’arborescence de la machine jusqu’a trouver Ports COM et LPT)
Ici on remarque bien la présence d’un nouveau port virtuel série. Le système à attribuer le numéro de port COM4
 7 - Le Logiciel d'exploitations de l'analyseur
Lancer le fichier SETUP.EXE et suivez les instructions.
Une fois installé, lancez le logiciel qui se trouve dans le menu « analyseur logique W8 ». Son interface reste des plus simple et nous allons aborder son utilisation
 
La première opération à faire avant toute acquisition est de sélectionner le port série sur lequel est connecté l'interface. (B)
Ensuite il faut choisir la méthode de déclenchement de l’enregistrement. (A) Le déclanchement par octet permet de démarrer la capture si la valeur rentrée en A est présente sur le bus connecté à l’analyseur. Respecter bien l’ordre logique des sondes lors de la connexion au bus à analyser. Vous avez aussi la possibilité de choisir sur quel type de voie la condition de départ doit s’opérer.
Choisissez ensuite la vitesse d’échantillonnage ainsi que la taille de la mémoire tampon. Je tiens à attirer votre attention sur le fait suivant : Plus la taille de la mémoire tampon sélectionnée est grande plus la mise en forme du graphique sera longue. Elle est forcément relative à la puissance de calcul de votre ordinateur.
La zone C permet de regler l'echelle de temps sous le graphique.
Une fois ces paramètres réglés, lancez la capture en cliquant sur « échantillonner »
 Nous allons travailler avec le fichier exemple fourni avec le logiciel. Ce fichier se nomme Sample.
Au passage, les menus du haut permettent d’ouvrir un fichier de données, d’enregistrer une acquisition, d’exporter les données au format CSV et d’imprimer le graphique. Le menu Help permet d’avoir la version courante du logiciel.
Le fichier sample1 est en fait une acquisition faite sur la sortie d’un compteur 8 bit. Remarquer que lors du survol du curseur sur le graphique, des informations s’affiche dans la zone de données.
Cliquez sur le début d’un front sur la voie 0, à ce moment le curseur se fige et un deuxième apparaît. Cliquez une deuxième fois sur la fin du front : a ce moment l le champ de données T1 se rempli et des informations supplémentaires, comme la différence de temps et la fréquence s’affichent à droite. Cliquez une troisième fois pour revenir au mode normal.
Le réglage de l’unité du graphique permet de changer les unités sur l’échelle de temps.Vous pouvez aussi explorer la suite du graphique à l’aide de la barre de défilement.
La possibilité d’entrer une annotation est offerte dans la zone observation E, celles-ci seront alors enregistrées avec le graphique
Il peut arriver que la communication avec l’interface se bloque, dans ce cas fermez le logiciel, débranchez l’interface pendant 5 secondes. Ceci du à la gestion de l’USB qui n’est pas toujours très stable.
Si vous avez des suggestions concernant l’amélioration du logiciel, ou aussi des bugs rencontrés lors de son utilisation, n’hésiter pas à m’en faire part, rien n’est définitivement figé.

TELECHARGEMENT DES FICHIERS
Le téléchargement des fichiers implique votre totale acceptation des conditions ci-dessous :
Toute reproduction, diffusion ou distibution en dehors de ce site et par quelque procédé que ce soit du contenu et des programmes téléchargeables sont strictement interdite sans l’accord préalable de l’auteur.
Les circuits mentionnés ne peuvent être exécutés qu’a des fins particulières ou scientifiques et non pas dans ou pour une entreprise ; ces exécutions et / ou applications se font en dehors de toute responsabilité de l’auteur. L’auteur ne pourra en aucun cas être tenu pour responsable des préjudices ou dommages de quelque nature que se soit pouvant résulter de l’utilisation de ces exemples ou programme.
Tous les noms de produits ou autres marques cités dans ce document sont des marques déposées par leurs propriétaires respectifs.
Ces programmes et applications sont des sharewares, ils sont en libre téléchargement. Si vous en faites usages merci de bien vouloir visiter les liens associatifs présentés en bas de la page d'index, et pourquoi pas, soutenir certaines actions...
La liste des mise à jours ansi que le support technique s'effectue directement sur le forum