01/01/2013. Programmation Flowcode - Prototypage et Débogage Matériel MLK - ECST

Documents pareils
01/11/2011. Machine à café - Amélioration du système existant MLK - ECST

TERMINAL D AUDIO CONFERENCE ANALOGIQUE USB VOIP NOTICE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ScoopFone. Prise en main rapide

Flowcode - Mode d'emploi

Téléphone de Secours Memcom

MANUEL D INSTRUCTION

Guide de l utilisateur. Calibreur de Courant / Voltage Modèle A

ndv access point : Utilisation

Mon aide mémoire traitement de texte (Microsoft Word)

Lenovo TAB A7-40/ Lenovo TAB A7-50

ENVOI EN NOMBRE DE SMS

Carte Relais GSM (Manuel Utilisateur)

PIC EVAL Dev Board PIC18F97J60

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Démarrer et quitter... 13

Logiciel PICAXE Programming Editor

ENVOI EN NOMBRE DE SMS

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Création du projet : 1 sur 13

Introduction 2 - Précaution 2 - Caractéristiques techniques 2 - Contenu 3

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Board (Tablette) Manuel de l utilisateur. Windows 7 / XP / Vista

Contrôleur de communications réseau. Guide de configuration rapide DN

SOMMAIRE GUIDE D UTILISATION DU WEBMAIL. vous guide

VIII- Circuits séquentiels. Mémoires

MANUEL D'UTILISATION Téléphone Aastra 6753i, PoE

Guide LG88XX. d installation. À la découverte de votre téléphone

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

INQ Cloud Touch. guide d utilisation

CAPTURE DES PROFESSIONNELS

YOGA TABLET 8. Manuel d utilisation V1.0

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

MANUEL D'UTILISATION Téléphone Aastra 57i, PoE

Manuel de l utilisateur. Soft-phone - Client VoIP 3CX Version 6.0

ipod nano Guide de l'utilisateur

MANUEL D UTILISATION PRO-FACE

GUIDE D UTILISATION DU BROWSER DE BEYOND 20/20

NordNetBox Séduction

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA FORMATION PROFESSIONNELLE. Microsoft. Excel XP

Configuration d'un GSM pour une transmission de données via une centrale de mesure de Campbell Scientific

Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4

sommaire Archives... Archiver votre messagerie... Les notes... Les règles de messagerie... Les calendriers partagés Les listes de diffusions...

Fonctions de l appareil :

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

CONNAITRE VOTRE APPAREIL PHOTO DESCRIPTIF DE L APPAREIL. 1 Bouton MARCHE/ARRET 5 Flash 2 Obturateur 6 Retardateur LED

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

Dongle WiFi de QUMI Manuel de l utilisateur

The Grid 2: Manuel d utilisation

Formation Excel. Introduction Les Bases du Logiciel Le comportement des cellules. Calculs élaborés. Les feuilles de calculs élaborées

ENVOI EN NOMBRE DE MESSAGES AUDIO

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

Guide de l utilisateur

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Création d un formulaire de contact Procédure

Modes Opératoires WinTrans Mai 13 ~ 1 ~

LE SYSTÈME D'ALARME DE GSM

NUGELEC. NOTICE D'UTILISATION DU B.A.A.S. du type Ma - STI / MaME - STI. pages. 1 introduction 2. 2 encombrement 3 fixation

! analyse du fonctionnement

LOGICIEL DC4D MONITOR

GUIDE de prise en main. let s play

MANUEL D UTILISATION POUR APPAREILS ANDROID

Guide d installation ATTENTION : A la découverte de votre téléphone

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Tutorial Terminal Server sous

SpeechiTablet Notice d utilisation

Sélection du contrôleur

COMPTABILITE SAGE LIGNE 30

Enregistreur de Température pour PC DALLAS 1820

NAVIGATION SUR INTERNET EXPLORER

Sous réserve de modifications techniques et des disponibilités, fabrication française.

NOTICE GPSTA1 I. DESCRIPTION II. ACCESSOIRES. J. R International - Eclats Antivols. 2014

UP 588/13 5WG AB13

Table des matières. Table des matières PREAMBULE...5 POUR DEMARRER...6 DECOUVRIR VOTRE NOUVEL APPAREIL APPELS ENTRANTS ET SORTANTS...

Systèmes de conférence. Sennheiser vous propose des solutions globales performantes

A L ERT. Pour démarrer rapidement avec

Merci d'avoir choisi notre système d'alarme intelligent. Veuillez lire ce manuel avant l'installation afin de la faire fonctionner correctement.

NOTICE DE MISE A JOUR - ODYSSEY

Chapitre 4 : Guide de Mouvement et Masque

MENU FEDERATEUR. Version Cabinet - Notice d installation et de mise à jour

Numérisation. Copieur-imprimante WorkCentre C2424

Initiation à LabView : Les exemples d applications :

Business Everywhere pro

NOTICE D UTILISATION

Utiliser Net Support School (NSS Version ) Philippe Cailleretz Er-Tice Avion mars 2011.

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Documentation Technique du programme HYDRONDE_LN

4D Server et les licences : fonctionnement et environnement

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Référence 7T11-A / 7T12-A GUIDE UTILISATION. Français

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Guide de correction et d optimisation des images en vue de leur publication sous Marcomedia Contribute. Logiciel utilisé : Adobe PhotoShop 7

Guide utilisateur de l application messagerie vocale visuelle pour smartphone

Manuel d utilisation

MID. Table des matières

Une ergonomie intuitive

Transcription:

01/01/2013 Programmation Flowcode - Prototypage et Débogage Matériel MLK - ECST

Programmation Flowcode Prototypage et Débogage Matériel Programmation Flowcode - Prototypage et Débogage Matériel Centre d intérêt : Objectif et Compétences : Compétences spécifiques : CI4 Structures matérielles et logicielles associées au traitement de l info CO8.sin1 Rechercher et choisir une structure logicielle ou matérielle au regard de la définition d un système Structures fondamentales, masquage logiciel, Débogage pas à pas matériel Pré-requis : Cours/TP ETC «Traitement programmé» Type : Présentation du matériel de prototypage Les Eblocks de Matrix sont des petites cartes qui contiennent les fonctions électroniques élémentaires que l on rencontre dans les systèmes électroniques embarqués. Elles peuvent facilement être interconnectées et ainsi réaliser une multitude de systèmes complexes. Elles forment une très bonne base pour la réalisation de prototypage rapide. Une fois que le système développé est opérationnel, un circuit personnalisé peut rapidement être créé à partir de l'assemblage réalisé. Voici une liste non exhaustive des Eblocks mis à votre disposition : EB006 - Multiprogrammateur Elle permet de programmer les PIC à 8, 14, 18, 20, 28 et 40 broches des séries 12, 16 and 18. Elle dispose également de 5 ports pour recevoir les autres E-blocks. L'alimentation se fait soit par un bloc d'alimentation externe, soit par le port USB. Cette nouvelle version est compatible avec la fonctionnalité de débogage in-circuit (ICD) de Flowcode V4 EB005 - Platine LCD Elle comporte un afficheur LCD de 2 lignes de 16 caractères interfacé sur un bus série de 5 fils. Des macro-commandes sont disponibles dans Flowcode pour piloter ce module. EB014 - Platine pavé numérique Un clavier matricé 4x3 qui permet d'envoyer des données dans vos systèmes. Des macrocommandes sont disponibles dans Flowcode pour piloter ce module. EB004 - Platine à LED Elle comporte 8 LED ainsi que des connecteurs entrant et sortant. Il est ainsi possible de connecter d'autres E-blocks à ce module. EB002 - Platine borniers à vis Elle dispose de 8 borniers à vis qui peuvent être utilisés pour connecter des périphériques externes à un système composé d Eblocks. Ces entrées / sorties sont protégées par des résistances de 150 ohms. EB008 - Platine afficheurs 7 segments Elle comporte quatre afficheurs 7 segments à anodes communes. Des macro-commandes sont disponibles dans Flowcode pour piloter ce module. EB007 - Platine commutateurs Elle comporte 8 boutons poussoirs actifs à la fermeture ainsi que des connecteurs entrant et sortant. Il est ainsi possible de connecter d'autres E-blocks à ce module. EB011 - Platine puissance Elle contient des sorties de puissance à usage général pour commander des lampes ou des moteurs y compris des moteurs pas à pas. Ces sorties sont utilisables jusqu à 36 V 500 ma et protégées par un fusible réarmable. EB066 - Platine GSM / GPRS Elle fournit un accès aux réseaux de téléphonie GSM/GPRS afin d échanger des appels vocaux ou SMS. Elle inclut une antenne, un emplacement pour carte SIM, des jacks 2.5mm pour casque et micro, ainsi qu'une LED pour connaître l'état du réseau. Existe également : EB024 - Platine Bluetooth, EB069 - Platine LAN Wireless, EB056 - Platine de géolocalisation GPS, etc. 1

Programmation Flowcode Prototypage et Débogage Matériel Configuration du matériel Les notices des Eblocks sont disponibles à l adresse suivante : http://www.multipower.fr/flo1/fblock.html Afin de configurer correctement le matériel, suivre l extrait de la USB notice de la carte EB006 Multiprogrammateur : Testing the board with an external power supply : 1) Ensure power is supplied to the Multiprogrammer board 1. USB cable required 2. PSU cable required 2) Set Jumper J29 to PSU 3) Set Jumper J12, J14 to USB 4) Set Jumpers J11, J16 and J17 to I/O PORT 5) Set Jumper J18, J19 to OSC 6) XTAL mode (SW2 towards the EDGE of the board) 7) FAST mode (SW1 towards the CENTRE of the board) 8) Insert EB - 004 LED Board into Port D Enfin, vérifier la présence d un PIC16F877A sur le support 40 broches sur la carte EB006 Multiprogrammateur. Configuration du logiciel Flowcode V4 Remarque : Pour réaliser l ensemble de ce TP, et notamment le mode débogage matériel (ICD : In-Circuit Debugging), il est indispensable d utiliser une version 4 ou supérieure de Flowcode. Lancer le logiciel Flowcode, créer un Nouvel Algorithme Flowcode et choisir un PIC16F877A. Dans l onglet Options Globales choisir la vitesse d horloge qui correspond à celle indiquée sur le quartz de la carte EB006 Multiprogrammateur (probablement 19660800Hz). Programmation Faire Allumer les LED Ajouter le composant virtuel Outputs -> LEDarray et éditer ses propriétés afin qu elles correspondent à la configuration matérielle. Dans une boucle «Répéter Toujours» réaliser un ordinogramme qui allume l ensemble des LED. Enregistrer votre travail dans P:/Mes devoirs/sin/allumer-led.fcf. Simuler votre solution transférer votre ordinogramme vers la cible. Commenter chaque élément de votre ordinogramme : PSU J29 J12 J14 J18 J19 SW2 SW1 PORTD J11 J16 J17 puis Faire Scintiller les LED 1. Structure linéaire Modifier votre ordinogramme afin de faire scintiller l ensemble des LED grâce à une structure linéaire : Répéter {Allumer LED ; attendre 30ms ; Éteindre LED ; attendre 300ms} Enregistrer votre travail dans P:/Mes devoirs/sin/scintiller-lineaire.fcf. Simuler puis transférer votre ordinogramme vers la cible. 2

2. Structure alternative Remarque sur les masques logiciels en Ou Exclusif : Soit a une variable booléenne. On considère l expression : a 1 - Si a = 0 alors a 1 = - Si a = 1 alors a 1 = Conclusion : Quelle est la fonction logique réalisée par l opération 1? Programmation Flowcode Prototypage et Débogage Matériel Exercice préalable : Clignotement simple Modifier votre ordinogramme en utilisant un masque logiciel en XOR sur une variable nommée LED, afin de faire clignoter l ensemble des LED : Répéter {Complémenter l état des LED ; attendre 0,5s} Enregistrer votre travail dans P:/Mes devoirs/sin/clignoter-xor.fcf. Simuler puis transférer votre ordinogramme vers la cible. Finalisation Modifier votre ordinogramme en utilisant un masque logiciel en XOR sur une variable nommée LED, afin de faire scintiller l ensemble des LED : Répéter {Complémenter l état des LED ; Si les LED sont allumées alors attendre 30ms ; Sinon attendre 0,3s} Enregistrer votre travail dans P:/Mes devoirs/sin/scintiller-alternative.fcf. Simuler puis transférer votre ordinogramme vers la cible. Commenter chaque élément de votre ordinogramme : Mode pas à pas logiciel et matériel Afin de faciliter le débogage d ordinogrammes, il est parfois utile d exécuter ces derniers en mode pas à pas. Cela permet de vérifier si les tests ou les sous-programmes (macros) sont correctement exécutés. Flowcode permet de faire du pas à pas logiciel en mode simulation et du pas à pas matériel directement sur les cartes électroniques : Pour lancer un ordinogramme en mode pas à pas logiciel il suffit de cliquer sur l une des deux icones «mode pas à pas détaillé (F8)» ou «mode pas à pas principal (Shift + F8)» : Exécuter votre ordinogramme en mode pas à pas et observer les effets de ce dernier sur les composants virtuels. Pour lancer un ordinogramme en mode pas à pas matériel il faut préalablement configurer Flowcode : Dans le menu Build -> Options Projet et dans l onglet Options ICD, cliquer sur Mode ICD. Transférer votre ordinogramme vers la cible, observer qu il ne s exécute pas automatiquement sur les cartes. Cliquer sur l une des deux icones «mode pas à pas détaillé (F8)» ou «mode pas à pas principal (Shift + F8)» : Observer les effets de l ordinogramme sur les cartes Eblocks Pendant le mode pas à pas, il est possible d observer l évolution des variables utilisées dans l ordinogramme : Effectuer un click droit dans la fenêtre Variables puis cliquer sur Ajouter Variable Sélectionner la ou les variables de votre ordinogramme. Les valeurs de ces dernières seront rafraichies lors de l exécution de chaque pas. Cela peut s avérer être une aide précieuse pour le débogage d applications. Lancer votre ordinogramme en mode pas à pas et observer l évolution de la variable. 3

Programmation Flowcode Prototypage et Débogage Matériel Lecture et écriture Câbler ou vérifier la présence d une carte EB004 Platine à LED et d une carte EB007 Platine commutateurs sur la carte EB006 Multiprogrammateur. Vérifier également la présence d un fil d alimentation +V entre ces deux dernières. Créer un nouvel ordinogramme dans votre dossier de travail P:/Mes devoirs/sin/lecture-ecriture.fcf Ajouter les composants virtuels LED Outputs -> LEDarray et boutons poussoirs Inputs -> SWITCHbank. Vérifier leurs propriétés de connexions afin qu ils correspondent à la configuration matérielle. Réaliser un ordinogramme qui lit l état des commutateurs dans une variable nommée LED et qui écrit le résultat sur les voyants connectés au PORTD. Simuler votre résultat, appuyer sur les boutons à l aide de la souris. Remarque : Avec les boutons poussoirs virtuels et la souris, il est impossible de cliquer sur plusieurs boutons en même temps. Il existe cependant une solution (autre que de mettre des interrupteurs à levier) qui consiste à associer une touche numérique de clavier à chaque bouton : Dans les propriétés de Connexions des poussoirs, cliquer sur Touche Clavier Associer chaque élément bouton poussoir à un numéro de touche du clavier. Simuler votre résultat, appuyer sur plusieurs touches numériques du clavier d ordinateur en même temps. Transférer votre programme sur la cible en mode ICD puis exécuter le en pas à pas. Observer l évolution de la Variable LED lorsque vous appuyer sur les boutons de la carte EB007 Platine commutateurs. Défilement 1. De gauche à droite en Structure linéaire Créer un nouvel ordinogramme dans votre dossier de travail P:/Mes devoirs/sin/defilement-lineaire.fcf avec les mêmes composants que précédemment (il est possible d utiliser la commande Enregistrer sous ) qui réalise un défilement des LED de gauche à droite et utilisant une structure linéaire : Répéter {Allumer D7 ; Attendre 50ms ; Allumer D6 ; Attendre 50ms ; ; Allumer D0 ; Attendre 50ms} Tester votre solution par simulation et sur la cible matérielle. 2. De gauche à droite en Structure répétitive «Faire Tant que» Créer un nouvel ordinogramme dans votre dossier de travail P:/Mes devoirs/sin/defilement-repetitive.fcf avec les mêmes composants que précédemment qui réalise un défilement des voyants de gauche à droite et utilisant une structure répétitive «Faire Tant que». On utilisera une variable nommée LED qu on initialisera, transférera sur le PORTD puis décalera à droite avant chaque «rebouclage». Déboguer votre solution sur la cible matérielle en mode ICD et en surveillant la variable LED. Commenter chaque élément de votre ordinogramme : 4

3. Arrêt du défilement Programmation Flowcode Prototypage et Débogage Matériel Modifier votre ordinogramme de manière à ce que le défilement s arrête lorsque les boutons poussoirs SW3 et SW4 sont enfoncés simultanément. On utilisera une variable nommée BOUTONS pour lire l état des switchs. Déboguer votre solution sur la cible matérielle en mode ICD et en surveillant les variables LED et BOUTONS. Commenter les éléments qui diffèrent de la version précédente : 4. Défilement décéléré Modifier votre ordinogramme en remplaçant la constante de 50ms dans la fonction Pause par une variable nommée DELAI. Cette variable démarrera à 0 puis s incrémentera de 1 à chaque défilement complet des 8 voyants. Tester votre solution sur la cible matérielle. Remarque : La décélération est nettement visible lorsque la variable DELAI est proche de 0 puis, plus cette dernière augmente et plus la différence de vitesse est négligeable. Le «rebouclage» de 255 à 0 (sur un octet) peut sembler très long. Il est possible de modifier la valeur de la variable DELAI lors de l exécution de l ordinogramme en mode ICD : Exécuter votre solution sur la cible matérielle en mode ICD (transférer sur la cible l ordinogramme ). Cliquer sur Suspendre la simulation et demander la surveillance de la variable DELAI. Exécuter l ordinogramme en mode pas à pas sur plusieurs cycles afin de voir s incrémenter la variable DELAI. Effectuer un click droit sur la variable DELAI puis cliquer sur Éditer Valeur. Entrer une valeur proche de 255 (par exemple 250) puis relancer l ordinogramme. puis lancer 5. Défilement de gauche à droite puis de droite à gauche Modifier votre ordinogramme pour que les voyantes défilent dans les deux sens. Votre solution devra conserver les fonctionnalités précédentes : Arrêt du défilement et Défilement décélérer. Astuce : Copier l ensemble de la boucle «Faire Tant que» qui opère le décalage de gauche à droite et coller la une seconde fois à la suite. Il ne reste plus qu a ajuster les conditions initiales et le sens de décalage. Déboguer votre solution sur la cible matérielle en mode ICD et en surveillant les variables. 5

Programmation Flowcode Prototypage et Débogage Matériel 6. Défilement de gauche à droite et de droite à gauche simultané Remarque sur les masques logiciels en OU : Soit a une variable booléenne : On considère l expression : a + 0 - Si a = 0 alors a + 0 = - Si a = 1 alors a + 0 = Conclusion : Quelle est la fonction logique réalisée par l opération +0? Soit a une variable booléenne : On considère l expression : a + 1 - Si a = 0 alors a + 1 = - Si a = 1 alors a + 1 = Conclusion : Quelle est la fonction logique réalisée par l opération +1? Sauvegarder votre précédent travail puis créer un nouvel ordinogramme avec la commande Enregistrer sous P:/Mes devoirs/sin/defilement-simultane.fcf. Ce dernier doit réaliser un défilement simultané des voyants de gauche à droite et de droite à gauche (avec deux voyants en même temps). Pour cela, utiliser : Une variable LED1 pour le défilement à droite, Une variable LED2 pour le défilement à gauche, La variable LED recevra le résultat du masquage logiciel en OR de LED1 et LED2. Déboguer votre solution sur la cible matérielle en mode ICD et en surveillant les variables. 7. Défilement gauche à droite et droite à gauche simultané de LED éteintes Cette fois ce ne sont pas des voyants allumés qui doivent défiler mais des voyants éteints. Remarque sur les masques logiciels en ET : Soit a une variable booléenne : On considère l expression : a 0 - Si a = 0 alors a 0 = - Si a = 1 alors a 0 = Conclusion : Quelle est la fonction logique réalisée par l opération 0? Soit a une variable booléenne : On considère l expression : a 1 - Si a = 0 alors a 1 = - Si a = 1 alors a 1 = Conclusion : Quelle est la fonction logique réalisée par l opération 1? Modifier votre ordinogramme pour que les voyants éteints défilent simultanément dans les deux sens. Utiliser pour cela les masques logiciels en AND. Remarque : les opérations de décalage sous Flowcode introduisent un 0 logique, il faudra donc forcer l introduction d un 1 logique. Déboguer votre solution sur la cible matérielle en mode ICD et en surveillant les variables. Débogage avec Points d arrêts Il est parfois difficile d exécuter un ordinogramme complet en mode pas à pas lorsque ce dernier est très long et il s avère utile d utiliser des points d arrêt : Effectuer un clique droit sur l opération qui succède l écriture de la variable LED sur le PORTD et cliquer sur Mettre/Enlever Point d arrêt Exécuter votre solution sur la cible matérielle en mode ICD en cliquant plusieurs fois sur. L ordinogramme s arrête automatiquement au point d arrêt. 6

Synthèse Programmation Flowcode Prototypage et Débogage Matériel Les masques logicielles Les masques sont utilisés en informatique pour forcer un ou plusieurs bits d un mot binaire à un état désiré (0 ou 1). On utilise, pour effectuer des masques, les propriétés de la logique de Boole à savoir : l élément absorbant et l élément neutre du OU, du ET et du OU EXCLUSIF. 1. Masque en ET pour forcer un bit à 0 Soit l état d une variable = 0b10010111. On veut forcer le bit 1 à 0 sans modifier les autres bits. Propriétés utilisées : Variable : 1 0 0 1 0 1 1 1 Équivalent en syntaxe Flowcode : Masque :. Résultat : 2. Masque en OU pour forcer un bit à 1 Soit l état d une variable = 0b10010111. On veut forcer le bit 3 à 1 sans modifier les autres bits. Propriétés utilisées : Variable : 1 0 0 1 0 1 1 1 Équivalent en syntaxe Flowcode : Masque : + Résultat : 3. Masque en OU EXCLUSIF pour faire basculer l état d un bit Soit l état d une variable = 0b100X0111. On veut faire basculer l état du bit 4 sans modifier les autres bits. Propriétés utilisées : Variable : 1 0 0 X 0 1 1 1 Équivalent syntaxe Flowcode : Masque : Résultat : 4. Exercice d application en syntaxe Flowcode Forcer le bit 5 à 0 et le bit 2 à 1 d une variable : Variable = Forcer le bit 7 à 1 et les bits 0 à 3 à 0 d une variable : Variable = Faire basculer les bits 2 à 6 d une variable : Variable = 7