Mise en œuvre d`une interface homme machine sur une plateforme
Transcription
Mise en œuvre d`une interface homme machine sur une plateforme
CCMO Mise en œuvre d’une interface homme machine sur une plateforme de développement de systèmes embarqués Maël Chevanche1, Marc Dano1, Samuel Crand2 1 - Université de Rennes 1, Etudiants en Master 2 Conception et Technologies des Systèmes 2010-2011 2 - IETR, Université de Rennes 1, bat. 11B, 35042 Rennes I. Introduction Ce travail a été mené dans le cadre d’un TER (Travail d’Etudes et de Recherche) en Master 1 Electronique et Télécommunications préparé à l’Université de Rennes 1. Les applications implémentées sur cette plateforme seront enrichies d’année en année par des étudiants de Master 1 et Master 2 Conception et Technologies des Systèmes. L’objectif de ce projet est d’appréhender une plateforme dédiée aux systèmes embarqués et d’y porter une application. Outre le fait que le développement de diverses applications sur cette plateforme soit assuré par des étudiants, celle-ci sera aussi un support pour l’enseignement. En effet, cette plateforme matérielle sera utilisée pour mettre en pratique les concepts et les méthodologies de conception de systèmes numériques embarqués et temps réel. Elle pourra aussi participer à la sensibilisation des étudiants de licence aux enjeux de la conception de systèmes embarqués principalement par le biais de son écran LCD tactile. II. La plateforme Figure 1 : La plateforme de développement de systèmes embarqués La plateforme utilisée dite Atelier Micro ARM-C Enseignement [1] est un ensemble permettant de développer des systèmes embarqués basé sur un microcontrôleur ARM avec une approche pédagogique. Cette plateforme comprend principalement : - une carte d’évaluation basée sur un micro-contrôleur ARM7/TDMI (Samsung S3C44B0) et diverses interfaces avec clavier et afficheur LCD tactile - une chaine logicielle avec compilateur C, debugger haut niveau (Embest IDE) et environnement (IDE) - une sonde JTAG pilotable par USB et Ethernet - un noyau µc/OS-II P7 CCMO III. La Carte d’évaluation La plateforme S3CEV40 est organisée autour d’un processeur ARM7 auquel est associé un certain nombre de périphériques d’entrées/sorties. Figure 1 : Carte d’évaluation S3CEV40 Le Processeur ARM7 Le processeur ARM (Advanced RISC Machine) dispose d’une architecture RISC ou Complex RISC de type Harvard comportant trois niveaux de pipeline : - Recherche instruction : fetch, - Décodage instruction : decode - Exécution : execute Le codage des instructions s’effectue sur 32 bits ou 16 bits avec un jeu d'instructions de type Thumb permettant un gain de mémoire non négligeable. Le processeur ARM7 disponible sur cette carte est un S3C44B0X de chez SAMSUNG. Il fonctionne à une fréquence de 66 Mhz. Il comporte 37 registres de 32 bits (dont 16 visibles à un instant donné) et différents modes de fonctionnement: utilisateur, FIQ ou IRQ, abort ou undefined, superviseur ou système. L'interface mémoire est constituée d'un bus de transfert et de signaux de contrôles. - Bus de données bidirectionnel 32 bits - Bus d'adresses 28 bits (soit 256MB adressables) La représentation des données peut se faire sous trois formes - Word: mot de 32 bits, - Halfword : mot de 16 bits - Byte : mot de 8 bits Les données peuvent être enregistrées de deux manières différentes : - Big-endian : octet de poids fort en dernier - Little-endian : octet de poids faible en dernier Les Mémoires Cette carte d’évaluation dispose de 4 mémoires : - 2 Mo de mémoire flash 16 bits - 8 Mo de SDRAM 16 bits - 512 octets de EEPROM avec bus IIC - 16 Mo de Nand Flash (solid-state hard disk) P7 CCMO L’écran LCD L'écran LCD présent sur la plateforme, est monochrome. Il dispose d’un rétro-éclairage et permet d'afficher 16 nuances de gris. Sa résolution est 320*240 pixels pour une taille d'image de 9,6 cm. Cet écran est commandé par le contrôleur LCD de l'ARM7. La communication se fait par un bus parallèle sur 4 bits associé à des signaux de synchronisation. Une dalle tactile (TSP : Touch Screen Panel) de type résistive est associée à cet écran. Cette dalle tactile nécessite une calibration pour définir la zone utile et pour permettre la conversion des coordonnées de l’écran LCD. L'ARM7 n'étant pas équipé d'un contrôleur pour le TSP, le circuit de commande est réalisé en externe. Dans le cadre de ce projet, le travail a principalement consisté à maîtriser l’utilisation de l’écran LCD associé à sa dalle tactile et a permis de développer une application modeste mais qui ouvre de nombreuses perspectives de développement. Le Clavier Le clavier est composé de 16 boutons organisés en matrice 4 x 4 et fonctionne en utilisant des interruptions lorsqu'une touche est activée. Les périphériques Cette carte d’évaluation dispose aussi d’un codec audio associé à une entrée microphone et une sortie audio, de deux ports série RS232, d’un bus I2C et d’un contrôleur Ethernet. La plateforme est, de plus, équipée de LED, d'un afficheur 8 segments, d'un contrôleur USB et d'un contrôleur LCD. Enfin, il y a aussi un bus IIS pour périphériques audio et une interface IDE ce qui permet d’envisager l’utilisation d’une carte compact flash. IV. La sonde JTAG La sonde JTAG Embest UnetICE permet de programmer la mémoire flash. Elle est constituée : - d’un port JTAG (20 broches) pour la connexion à la plateforme. - d'un port Ethernet ou USB pour la connexion à l'ordinateur. - d'un bouton reset et d'un bouton d'alimentation. - d'un connecteur d'alimentation externe. - de trois leds indiquant l'état de l'émulateur (alimenté, activité et erreur). V. La plateforme logicielle L’outil Embest IDE [2] for ARM est une chaîne logicielle complète permettant de développer des solutions logicielles embarquées basées sur la technologie ARM. Ce logiciel permet de disposer d’un environnement intégré (32-bit Windows-based C Integrated Development Environment). L’ensemble du développement logiciel est assuré par un outil unique. Son utilisation est simple et son interface utilisateur en fait un outil accessible rapidement à des étudiants pour développer des applications autour de la technologie ARM. Cet outil permet de gérer et de développer des projets tout en assurant la mise au point et le portage sur un processeur dédié. P7 CCMO L’environnement Embest IDE comprend : - Un éditeur syntaxique C/Assembleur - Un gestionnaire de projets - Un compilateur ARM - Un débogueur simulateur de code ARM - Un débogueur pilotant une sonde BDM/JTAG - Un outil de programmation de mémoire flash VI. L’application développée L’application développée consiste à utiliser principalement la dalle tactile pour mettre en évidence certaines fonctions développées et démontrer l’intérêt d’utiliser ce type de plateforme à des fins pédagogiques. L’application vise à développer un écran virtuel de dimensions 4 fois supérieures à celles de l’écran LCD disponible sur la plateforme. L’interactivité avec l’écran via la dalle tactile permet d’une part d’activer des boutons et de se déplacer de manière continue sur cet écran virtuel. La gestion des boutons a permis de valider le concept de clavier non mécanique utilisant le LCD et la dalle tactile. Une phase de calibration de la dalle tactile est nécessaire. La calibration est réalisée au moyen de quatre points utilisés comme références. Les valeurs, minimum et maximum en horizontal et vertical obtenues après conversion analogique numérique correspondantes au contour de l'écran, sont extrapolées à partir de ces 4 points de calibration. Le principe de calibration est classique : une croix est affichée afin que l'utilisateur touche le point en question à l’aide du stylet. Ceci permet, à partir de 4 coordonnées, de définir les valeurs limites mesurées par l'ADC pour déterminer les contours de l'écran : Xmin, Xmax, Ymin et Ymax. Ces données nécessaires, permettent de connaître précisément le positionnement, le sens et la vitesse de déplacement du stylet. Le clavier est constitué de boutons affichés sur le LCD. Chaque bouton est représenté différemment suivant son état d’activation (appuyé ou non). Ils sont activés par l’utilisation d’un stylet. Un curseur sur la dalle tactile est implémenté et permet de suivre à chaque instant le déplacement du stylet. Figure 3 : Clavier utilisant le LCD et la dalle tactile P7 CCMO Le déplacement dans l’écran virtuel, correspondant à 4 fois la surface du LCD est assuré par le stylet. L’utilisation du stylet permet de définir le sens de déplacement horizontal ou vertical dans l’écran virtuel. De plus, pour faciliter les manipulations, une fonctionnalité de calcul de la vitesse de déplacement du stylet a été développée permettant de fixer un seuil à partir duquel, le déplacement dans l’écran est effectif. Cette information de vitesse est tout simplement obtenue en connaissant les coordonnées initiales et finales du stylet ainsi que le temps de déplacement. La figure 4 illustre cette fonctionnalité, la figure 4-a représente le déplacement de la droite vers la gauche dans l’écran et la figure 4-b correspond à l’affichage d’un quart de l’écran virtuel. Cette image est placée dans une autre zone de la mémoire. L’image doit être au format BMP, redimensionnée et convertie en 16 niveaux de gris. a) b) Figure 4 : Illustration du déplacement possible dans un écran virtuel 4 fois plus grand que l’écran réel VII. Conclusion Ce premier projet utilisant cette plateforme dédiée aux systèmes embarqués a permis le développement d’une interface homme-machine élémentaire. L’objectif principal était de prendre en main la plateforme logicielle et matérielle tout en mettant en évidence ses possibilités. Cette plateforme doit permettre la mise en place de nouveaux enseignements classiques sous forme de travaux pratiques mais permettra surtout de proposer des projets nécessitant des connaissances diverses et dédiées à des étudiants de licence 3 au master 2. Il existe de nombreuses perspectives d’utilisation de cette plateforme. En effet elle permet aussi de développer des applications temps réel utilisant un noyau MicroC/OS-II. VIII. Références [1] www.neomore.com [2] www.embedinfo.com/english/ P7