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