Les firmes produisant des microcontrôleurs sont sans cesse à la recherche d’innovations technologiques de nature à satisfaire les exigences des concepteurs et à leur faciliter le travail de développement.
Les nouveaux microcontrôleurs disposent en fait de toujours plus d’instructions, toujours plus de mémoire (programme ou “flash”) et toujours plus de périphériques internes comme UART, convertisseurs analogiques/numériques, “timers” et ports INPUT/OUTPUT.
En outre, toujours pour rendre plus facile la réalisation des prototypes et modèles de présérie, le concept de “programmation in-circuit” a fait son apparition.
Beaucoup de microcontrôleurs de dernière génération peuvent être programmés directement sur la platine sur laquelle ils seront montés pour l’utilisation.
Un des microcontrôleurs les plus diffusés présentant cette caractéristique est certainement le Scenix SX qui, grâce au programmateur/émulateur, nommé SX-Key, permet véritablement d’effectuer le “debug” (correction, mise au point) du programme dans le circuit où il doit être utilisé.
Il suffit de prévoir un connecteur SIL à 4 broches pour relier le SX-Key avec l’alimentation et les deux broches nommées OSC1 et OSC2 où normalement est connecté le quartz.
Le SX-Key est donc un dispositif permettant non seulement de programmer de façon sérielle le microcontrôleur directement dans le circuit réalisé mais en plus d’accéder aux opérations de mise au point pour lesquelles le microcontrôleur est préprogrammé.
La fonctionnalité de “programmation dans le circuit” présente toutefois quelques inconvénients. Avant tout, même s’il s’agit seulement de 4 contacts, il est nécessaire de prévoir, dans le circuit imprimé définitif, le connecteur de liaison avec le SX-Key et cela peut entraîner une moins bonne optimisation de l’espace et aboutir à une platine définitive insuffisamment miniaturisée.
En outre, facteur peut-être encore plus important, la programmation directe sur la platine de production, quelquefois, ne constitue pas la solution idéale en ce que programmer 100 microcontrôleurs sur autant de platines achevées, pourrait créer des problèmes liés aux tests de ces platines, à l’assemblage ou encore à l’encombrement de la platine.
En fait, si la platine présente une certaine complexité, il est préférable d’effectuer les tests de mise au point en étant certains du fonctionnement correct du microcontrôleur (en laissant de côté les problèmes liés à la programmation) ou encore, si le montage des platines est confié à des tiers, il importe de fournir les microcontrôleurs déjà programmés et prêts à être insérés dans le circuit : il serait peu propice d’utiliser le prototype pour réaliser la série des microcontrôleurs même s’il s’agit de la platine de contrôle d’un système sophistiqué aux dimensions imposantes et, partant, malcommode.
Notre réalisation
Voilà l’explication de la genèse du montage auquel cet article est consacré.
Il s’agit d’une sorte d’adaptateur permettant de programmer les microcontrôleurs Scenix sans avoir besoin du circuit sur lequel ils doivent fonctionner.
Bien sûr, le programmateur Scenix SX-Key et un système de développement allant avec sont toujours indispensables.
Le schéma électrique
Un coup d’oeil au schéma électrique de la figure 1 et nous sommes surpris par sa simplicité.
En effet, il s’agit surtout d’alimenter le microcontrôleur et de préparer les contacts nécessaires pour le programmateur.
La seule remarque à faire concerne le “strap” prévu : il sert à sélectionner le type de Scenix que nous voulons programmer.
En fait le contact OSC1 est présent, pour le microcontrôleur Scenix SX-18, sur la broche 16 alors que pour le Scenix SX-28 ce même signal est prélevé sur la broche 27.
Il a fallu, par conséquent, prévoir un “strap” à 3 voies dans lequel est toujours inséré un cavalier indiquant le type de microcontrôleur à programmer.
Il n’a pas été possible de connecter en parallèle les deux contacts parce que OSC1 représente la Vpp de programmation et il est inconcevable d’en permettre l’entrée dans un port d’INPUT/OUTPUT (en fait la broche 16 du SX-18, OSC1, correspond à la broche 21 du SX-28, équivalant au port RC3). OSC2, en revanche, a été relié en parallèle parce qu’il représente un signal normal TTL.
C’est là l’unique objet auquel il faille prêter un minimum d’attention quand on utilise l’adaptateur.
Avant de passer à la réalisation pratique du montage, il faut rappeler l’importance des microcontrôleurs Scenix, leur adaptabilité et leur puissance d’élaboration.
Ces microcontrôleurs représentent encore aujourd’hui les plus rapides microcontrôleurs à 8 bits du marché : ils peuvent travailler à une fréquence de 50 MHz !
L’autre caractéristique importante est qu’ils sont parfaitement compatibles avec la famille des PIC de Microchip (la série la plus diffusée au monde des microcontrôleurs) et par conséquent quelqu’un qui serait habitué à la programmation sur PIC pourrait bénéficier pleinement de ses connaissances pour programmer aussi des Scenix (on l’a dit, plus fonctionnels et plus rapides).
La haute fréquence d’horloge à laquelle ils peuvent travailler a permis une approche matérielle différente de ces microcontrôleurs par rapport à ses concurrents directs.
Normalement, les microcontrôleurs contiennent à l’intérieur une série de dispositifs (des simples comparateurs aux convertisseurs analogiques / numériques, mémoires EEPROM, UART et ainsi de suite) permettant de les interfacer avec le monde extérieur. Les SX, en revanche, intègrent à l’intérieur un comparateur analogique seulement.
Au lieu de développer toute une série de dispositifs avec différents périphériques intégrés, Scenix a préféré réaliser un seul dispositif matériel, optimisé pour pouvoir travailler à une fréquence très élevée et toutes les fonctions qui normalement étaient remplies par des circuits internes au microcontrôleur, sont assumées par des modules logiciels nommés “périphériques virtuels” car ils ne sont pas “physiques” mais réalisés par des programmes remplissant la même fonction au moyen d’un logiciel spécifique. Ce choix a été rendu possible, par conséquent, grâce à l’extrême rapidité du processeur, permettant d’exécuter le logiciel de gestion des périphériques virtuels si rapidement qu’ils sont “transparents” pendant l’exécution d’un programme.
Les avantages d’un tel choix tiennent au fait qu’un même dispositif devient un système extrêmement souple et personnalisable selon les modules logiciels installés.
L’importance du logiciel, en outre, rend pratiquement indispensable la programmation dans le circuit (“in-circuit”) pendant la phase de développement et c’est la raison pour laquelle les producteurs de Scenix ont installé cette fonction sur tous les microcontrôleurs de la famille SX.
Figure 1 : Schéma électrique de l’adaptateur pour programmateur Scenix.
Les microcontrôleurs Scenix SX
Figure 2 : Les microcontrôleurs Scenix SX.
Les deux dispositifs Scenix les plus diffusés sont les SX-18 et SX-28. La différence entre les deux puces est constituée exclusivement par le nombre de lignes I/O.
Ce sont les plus rapides des microcontrôleurs à 8 bits au monde (50 Mips).
Compatibles avec les PIC, ils peuvent mettre à profit une vaste et complète librairie de programmes déjà au point. Ils comportent une mémoire programme «flash» et une structure d’émulation innovante.
C’est une famille de microcontrôleurs présentant des caractéristiques un peu particulières avec une structure matérielle et un ensemble d’instructions compatibles avec celles des PIC : le langage de programmation des Scenix est en effet une extension du langage assembleur des PIC. Ils peuvent travailler avec une fréquence d’horloge jusqu’à 50 MHz.
Les SX sont reprogrammables “in-circuit”, c’est-à-dire qu’il s’agit de dispositifs dont la programmation peut être faite directement dans le circuit sur lequel le microcontrôleur doit travailler, sans avoir à employer un programme spécifique.
L’autre caractéristique rendant ces microcontrôleurs absolument uniques tient dans le fait que chaque dispositif contient, à l’intérieur, la structure matérielle nécessaire pour fonctionner aussi comme émulateur : il n’est plus nécessaire, par conséquent, de disposer d’un instrument externe coûteux pour réaliser des programmes, même complexes.
En outre, les processeurs SX incorporent dans le microcontrôleur un oscillateur à 4 MHz, ce qui signifie que, pour les applications où il n’est pas nécessaire d’avoir une fréquence de fonctionnement extrêmement rapide et précise, les SX peuvent travailler sans le classique quartz externe, simplement en activant leur oscillateur interne.
Tous les périphériques matériels normalement présents dans les microcontrôleurs (UART, convertisseurs A/N, «timers», etc.) sont, dans les Scenix, remplacés par des procédures logicielles qui, grâce à la grande rapidité d’exécution, sont transparents au reste du programme. Cela rend les microcontrôleurs SX très adaptables et personnalisables.
La réalisation pratique
En ce qui concerne la réalisation pratique du montage proposé, il n’y a rien de particulier à dire comme le montrent les figures 3 et 4.
Quand vous aurez gravé et percé le circuit imprimé à partir du dessin de la figure 5, montez les composants en prêtant attention à la polarité (ou au sens) des diodes et des condensateurs électrolytiques : la figure 3 vous rendra la chose facile. N’oubliez pas de réaliser l’unique “strap” de la platine, sans lequel le circuit ne pourrait fonctionner. Pour cela vous pouvez utiliser une queue de composant récupérée ou un fil de cuivre non émaillé. A la fin, montez le support Textool : ce doit être un modèle avec broches à pas large mais offrant la possibilité d’insérer des circuits intégrés à pas étroit. Ce Textool est particulièrement utile pour faciliter des insertions et extractions de microcontrôleurs à programmer très fréquentes. Pensez-y, enfin, le “strap” doit être inséré dans la bonne position en fonction du microcontrôleur à programmer (SX-18 ou 28). Les microcontrôleurs sont ensuite insérés dans le support en prenant comme référence non pas la broche 1 mais la partie basse du composant (voir la sérigraphie publiée).
Quant au réglage, il n’y a rien de particulier à ajouter. Reliez le programmateur SX-Key, insérez le microcontrôleur, placez comme il faut le “strap”, branchez l’alimentation et… envoyez la programmation.
Figure 3 : Schéma d’implantation des composants de l’adaptateur pour programmateur Scenix.
Figure 4 : Photo d’un des prototypes de l’adaptateur pour programmateur Scenix.
Le choix du support Textool vient du fait que l’utilité de notre montage est liée à la programmation en série des microcontrôleurs c’est-à-dire à leur continuelle insertion/extraction.
Figure 5 : Dessin, à l’échelle 1, du circuit imprimé de l’adaptateur pour programmateur Scenix.
Liste des composants
C1 = 220 μF 25 V électrolytique
C2 = 220 μF 25 V électrolytique
C3 = 100 μF 16 V électrolytique
D1 = Diode 1N4007
U1 = μcontrôleur SX 18/28
U2 = Régulateur 7805
Divers :
1 Support Textool
1 Strip 3 broches
1 Strip 4 broches
1 Cavalier
1 Prise alim. pour ci
1 Boulon 3 mm pour régulateur
4 Entetoises plastique adhésives
Table des fonctions
Figure 6 : Table des fonctions affectées aux broches des microcontrôleurs SX-18 et SX-28.
Comme on le voit dans la table, les signaux OSC1 et OSC2 (respectivement connectés aux broches 16 et 15 du SX-18 et 27 et 26 du SX-28) ont des fonctions diverses et, chose importante, OSC1 représente, dans la phase de programmation, la Vpp de programmation.
C’est essentiellement la raison pour laquelle il a été nécessaire d’insérer le cavalier de sélection du microcontrôleur à programmer.
Le Starter Kit Scenix SX-Key SKELETON
Le système de développement SXKey comprend le module en SMT d’émulation (SKELETON Key) complet avec le connecteur pour les broches Vss, Vdd, OSC1 et OSC2 du microcontrôleur et le câble avec connecteur DB9 pour la liaison au port série du PC ; un manuel en anglais : «SX-Key Development System» ; une disquette avec tout le logiciel nécessaire : assembleur, programmateur, émulateur et débogueur. Le système demande un compatible IBM-PC doté d’un port sériel, d’un lecteur de disquette 3,5” et de WINDOWS 95 au moins.
Aucun commentaire:
Enregistrer un commentaire