e1 Gestion microprogrammée R2 O2 R1 O1 Voie 2 V2 d'un carrefour V1 CARREFO3 Mr

e1 Gestion microprogrammée R2 O2 R1 O1 Voie 2 V2 d'un carrefour V1 CARREFO3 Mr COTTET I) Présentation: Actuellement, la densité de la circulation dans toutes les grandes villes nécessite de plus en plus une gestion informatisée des carrefours. Ainsi de nombreux carrefours comportent des dispositifs de détection (radars ou détection au sol par boucle d'induction). La commande des feux tricolores est alors réalisée par un système microprogrammé propre à chaque carrefour, et la durée des feux s'ajuste automatiquement afin de réduire les temps d'attente en fonction de la présence ou non de véhicules. Chaque système micro est en communication avec un système de gestion permettant la visualisation des flux instantanés, et la transmission de nouvelles consignes aux carrefours afin d'améliorer la circulation en cas de fortes densité. Ces systèmes permettent à l'heure actuelle, l'étude de nouvelles méthodes de gestion des feux, et l'élaboration de programmes dont la séquence varie en fonction des heures de la journée (Ex: heures de pointe), mais aussi en fonction de critères imprévisibles (Ex: accidents). Ces programmes font de plus en plus appel à des techniques proches de l'intelligence artificielle (Ex: Logique floue, méthode de contrôle très utilisée dans les grands ascenseurs). Gestion microprogrammée de la circulation Sytème de gestion microprogrammé Carrefour N°n Carrefour N°(n-1) - Centralisation des données - Visualisation des flux - Elaboration des nouvelles Carrefour N°3 Carrefour N°2 Carrefour N°1 consignes communication détection captage Traitement microprogrammé communication Commande des feux tricolores On se propose d'étudier la fonction traitement microprogrammé et commande des feux tricolores de ces dispositifs, en simulation sur UMPS. On utilisera comme ressource dans UMPS l'équivalent d'une carte d'interface appelée carte carrefour, matérialisant les feux tricolores sur une intersection à 2 voies (pour gagner du temps on configurera les ressources, mais dès l'ouverture de la fenêtre ressource, on utilisera directement le fichier "CARREFO1.ENV") . La carte de commande comporte un interrupteur à trois positions accessible seulement par des personnes habilitées (Personnel de maintenance et policiers), permettant d'imposer soit un fonctionnement automatique sur une séquence de nuit (Clignotement des feux oranges), soit un CARREFO4 Page N°1 fonctionnement manuel en pas à pas, soit le fonctionnement automatique sur séquence de jour Voi2 (Passage périodique du vert au jaune puis rouge etc...). Nous ajouterons en temps voulu une ressource permettant de simuler cet interrupteur. Le dessin du carrefour est représenté ci contre. Les feux sont matérialisés par des diodes électroluminescentes de couleurs rouges, jaunes et vertes. R2 O2 V2 R1 O1 e II) Analyse structurelle : 1) En étudiant l'en-tête du programme fourni, retrouvez les connections matérielles entre le V1 microcontrôleur 68HC11 et l'extérieur. Complétez Dessin du carrefour la feuille réponse N°1. Remarque : On utilisera les abréviations suivantes V1, O1, R1 et V2, O2, R2 pour les commandes des lampes du carrefour. V1, O1, R1 et V2, O2, R2 correspondront respectivement au vert, orange et rouge des voies 1 et 2. On appellera P le bouton poussoir pour le fonctionnement manuel, et N ainsi que J les sorties de l'interrupteur à 3 positions permettant d'assurer le fonctionnement dans les modes Nuit, Manuel et Jour. La position centrale correspondra au fonctionnement manuel, autorisant un fonctionnement du carrefour en mode pas à pas à l'aide de P. Précisez pour le bouton et l'interrupteur, quels sont les états logiques sur les broches correspondantes du 68HC11 pour chaque position (réponse sur la feuille rep N°1). 2) Indiquez quel doit être le contenu du registre DDRC de direction du port C, après l'initialisation du port, sachant qu'on veut pouvoir lire les états du bouton Jour / Manuel / Nuit. Exemple: Si DDRC.bit 5 = 1 alors le bit 5 du port C sera en sortie. Inversement, si DDRC.bit 5 = 0 (DDRC5=0) alors PortC.bit 5 (PC5) du port sera en entrée. DDRC III) Analyse et synthèse d'un programme et d'un ordinogramme : Rem: Tous les programmes écrits en assembleur seront prévus en utilisant des étiquettes à la place des constantes numériques (ex: DDRC, PortC, PortB ....), et non $1007, $1003... 1) Complétez l'organigramme et le programme en assembleur (CAREFO21.ASM), permettant la gestion du carrefour selon une séquence programmée dans une table de donnée appelée SEQ1? correspondant à la séquence de jour (Voir page suivante). Rem: On ne se préoccupera pas de la position des boutons dans ce programme (ceux-ci pourront donc être dans une position quelconque), on devra néanmoins éviter toute détérioration lié à un court-circuit d'une sortie avec une alimentation (Il est préférable de mettre en entrée, une broche non utilisée). La séquence sera organisée de la façon suivante: (chaque étape sera définie par deux octets successifs. Le premier indiquera l'allumage des différentes lampes des feux. Le deuxième indiquera la durée de l'étape (en seconde)). Le programme comportera donc une temporisation de référence (durée = 1s). On devra calculer le ou les nombres (valeur d'initialisation du ou des compteurs) pour obtenir la tempo de 1s en prenant les tableaux d'instructions du microprocesseur utilisé. CARREFO4 Page N°2 La fin de la séquence sera signalée par un octet nul (le programme reprendra alors la séquence dès la première étape). 2) Commentez les séquences suivantes sur la feuille réponse N°1, en indiquant pour chaque étape, l'état des feux pour les voies 1 et 2 et la durée. (Rem: les valeurs sont en héxadécimal). SEQ1 : 24 02 0C 20 14 03 24 02 21 20 22 03 00 SEQ2 : 12 01 40 01 00 Expliquez le rôle des valeurs $24 dans la séquence 1. Expliquez le rôle de la valeur $40 dans la séquence 2. N'y a t'il pas de problème avec l'interrupteur? (Proposez deux autres valeurs, à la place de $40 qui assurent la même séquence). IV) Synthèse d'un programme avec gestion (Jour / Nuit) : 1) Pour permettre le déroulement des 2 séquences (jour ou nuit), on veut modifier le programme conformément à l'algorithme suivant. a) Lecture du bouton (jour/manuel/nuit). b) Si le bouton est sur: "Nuit", alors positionnement sur la séquence de nuit, sinon positionnement sur la séquence de jour. c) Déroulement de la séquence complète (un seul sous programme: déroulement séquence (SEQEN) devra permettre l'exécution des deux séquences). d) Retour au: a). Le bouton poussoir ne sera pas utilisé. La position manuelle devra être identique à la position jour. Rem: Il faut attendre la fin de la séquence pour passer à l'autre. Interdiction de pouvoir passer à tout moment de l'une à l'autre. (problème de sécurité routière). Commentez le passage de la SEQ1 à la SEQ2 et réciproquement. La sécurité est elle assurée? V) Analyse et synthèse d'un programme avec gestion Jour / Nuit et Manuel (Pas à pas) : REM: la position manuelle donne la séquence de jour uniquement, mais le passage d'une étape à la suivante se fait par appui sur le bouton poussoir P (attention la tempo relative à chaque étape sera exécutée: pour éviter que l'on puisse provoquer des changements rapides (sécurité)). Le bouton poussoir P provoquera une interruption /IRQ du HC11. 1) On demande alors de modifier l'organigramme et le programme pour tenir compte de la position manuelle et du bouton poussoir, avec gestion de l'interruption /IRQ sur front descendant. CARREFO4 Page N°3 III.1) Programme de gestion du carrefour . (fichier CAREFO21.ASM) ***** ******** **************************************** * Fichier CAREFO21.ASM Mr COTTET * (gestion du carrefour PROGRAMME JOUR) * * pour UMPS (ou 68HC811E2 ou E9) * * (adr $F000 à $FFFF), RAM de $0000 à $00FF (interne * au 68HC11) * Définition de la partie opérative * PortC: Pc7 Pc6 Pc5 Pc4 Pc3 Pc2 Pc1 Pc0 * J N R2 O2 V2 R1 O1 V1 * J et N correspondent aux informations de l'inter 3 positions * (Jour / Manuel / Nuit) * J N = 0 1 indique position jour (J et N actifs à l'état bas) * J N = 1 1 indique position manuelle * J N = 1 0 indique la position nuit * Les lampes représentatives des feux R2, O2, V2, R1, O1, V1 * sont actives à l'état haut * Pour la suite /IRQ sera utilisé pour le mode pas à pas *********** définition des constantes et variables ***** **************** CONSTANTES *********** *PortC equ $1003 ;Port C *DDRC equ $1007 ;Direction du port C NT1 equ 1 ; Valeurs réelles à voir NT2 equ 4000 ; Valeurs pour simulation NT1=1, NT2=4000 ************** PROGRAMME PRINCIPAL ********************* ORG $F000 ; programme en EPROM DEBUT Lds #$00FF ;Pile à la fin de la RAM LDAA STAA DDRC ; JOUR LDX #SEQ1 LDAA ;Prend donnée pointée N1 SUIT1 STAA PortC ;COMMANDE DES DELS INX LDAB ;LECTURE DE LA DUREE N2 PSHX ;sauvegarde de X car utilisé dans TEMPO JSR TEMPO ;rappel du pointeur de donnée X INX LDAA $0,X B SUIT1 ;FIN DE SEQUENCE SI OCTET NUL B JOUR ;********************************************************** TEMPO LDX #NT1 ;TEMPO DE DUREE (B = N2 secondes) Bouc1 LDY #NT2 Bouc2 DEY CPY #$0000 B Bouc2 DEX CPX #$0000 B Bouc1 DECB B TEMPO RTS ;*********************************************************** SEQ1 fdb $2402 ;SEQUENCE DE JOUR fdb $0C20 fdb fdb fdb fdb $2203 fcb ;****************** vecteurs interruptions ************** RESET uploads/Management/ carrefo4-tp-hc11.pdf

  • 18
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Sep 05, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.3017MB