TD : DECODAGE D’ADRESSES DECODAGE D’ADRESSES: TD n°1 Objectif : Au cours de ce TD, nous allons voir les notions fondamentales concernant le décodage d’adresses: - Quel est le but du décodage d’adresse. - Comment est-il implémenté dans une architecture à microprocesseur. - Comment établir un plan mémoire d’un système à microprocesseur existant. I. PRESENTATION DU SYSTEME On considère un système à base d’un microprocesseur comprenant les divers éléments suivants : - Un microprocesseur 8 bits ; - Une mémoire ROM ; - Une mémoire RAM ; - Un Convertisseur Analogique – Numérique (CAN) permettant de convertir plusieurs tensions analogiques. Le schéma simplifié du système est le suivant : D[0..7] A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 µP D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 ROM D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 A8 RAM D0 D1 D2 D3 D4 D5 D6 D7 CS CS A[0..9] A8 A9 A10 A11 A12 CS_RAM DECODAGE D’ADRESSES CS_ROM Entrées des tensions analogiques S0 S1 V1 V2 V3 V4 CAN CS_CAN D0 D1 D2 D3 D4 D5 D6 D7 CS LYCEE LA FAYETTE 1/7 TD : DECODAGE D’ADRESSES II. VOCABULAIRE ET DEFINITION Question II.1. Calculer la capacité de la mémoire RAM en octets et en kbits. Capacité = 29 octets = 512 octets = 4 kbits ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question II.2. Calculer la capacité de la mémoire ROM en ko et en kbits. Capacité = 210 octets = 1024 octets = 1 ko = 8 kbits ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question II.3. Comment se nome le bus D[0..7] ? C’est le bus de données : C’est sur ce bus que sont présentes les données lues sur les divers circuits du système. ………………………………………………………………………………………………… Question II.4. Comment se nome le bus A[0..7] ? C’est le bus d’adresses : C’est sur ce bus que sont présentes les adresses permettant d’adresser les divers circuits du système. ………………………………………………………………………………………………… Question II.5. Que signifie le terme CS ? Sur quel état logique cette entrée est-elle valide ? CS = Chip Select. Il permet la sélection du boîtier. Cette entrée est valide sur un état logique bas. ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question II.6. Cocher la bonne réponse : Lorsque le signal CS de la RAM et de la ROM est à l’état logique « 1 »…. Les sorties de la RAM et de la ROM sont à « 1 » ou à « 0 » suivant les valeurs contenues dans les mémoires Les sorties du circuit intégré sont en haute impédance « HZ » Question II.7. Cocher la bonne réponse : Dans le cas où les signaux CS de la RAM et de la ROM sont à l’état bas en même temps… Il n’y a pas de conflit sur le bus de données Il y a un conflit car les signaux D0 à D7 de ces deux composants sont présents sur le bus de données. LYCEE LA FAYETTE 2/7 TD : DECODAGE D’ADRESSES Question II.8. Si on veut lire les données de la RAM, quels circuits doit-on désactiver afin d’éviter un conflit sur le bus de données ? Il faut désactiver la ROM et le CAN. ………………………………………………………………………………………………… Question II.9. Si on veut lire les données de la ROM, quels circuits doit-on désactiver afin d’éviter un conflit sur le bus de données ? Il faut désactiver la RAM et le CAN. ………………………………………………………………………………………………… Question II.10. Si on veut lire les données du CAN, quels circuits doit-on désactiver afin d’éviter un conflit sur le bus de données ? Il faut désactiver la RAM et la ROM. ………………………………………………………………………………………………… Question II.11. Expliquer succinctement le rôle du décodage d’adresses dans un tel système. Le décodage d’adresses permet de sélectionner un seul circuit parmi tous ceux présents dans le système. Cela permet de mettre les sorties des circuits non utilisés lors de l’adressage en haute impédance. Ainsi il n’y a pas de conflits. ………………………………………………………………………………………………… III. FONCTIONNEMENT DU CAN Le CAN utilisé dans ce système permet de convertir jusqu’à 4 tensions analogiques. Les tensions analogiques à convertir sont sélectionnée à l’aide des broches S0 et S1. La table suivante indique comment sont sélectionnées les tensions analogiques à l’entrée du CAN : S1 0 0 1 1 S0 0 1 0 1 Tension analogique sélectionnée V1 V2 V3 V4 Question III.1. Compléter le tableau suivant : A9 0 0 1 1 A8 0 1 0 1 LYCEE LA FAYETTE Tensions analogique sélectionnée V1 V2 V3 V4 3/7 TD : DECODAGE D’ADRESSES IV. ETABLISSEMENT DU PLAN MEMOIRE DU SYSTEME Afin de réaliser la fonction décodage d’adresses, on utilise un circuit 74138. Le schéma du système est le suivant : D[0..7] A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 D0 D1 D2 D3 D4 D5 D6 D7 µP A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 D0 D1 D2 D3 D4 D5 D6 D7 ROM A0 A1 A2 A3 A4 A5 A6 A7 A8 RAM D0 D1 D2 D3 D4 D5 D6 D7 CS CS A[0..9] A8 A9 S0 S1 CS_ROM BIN/OCT A10 A11 A12 1 2 3 Entrées des tensions analogiques 1 2 4 & 6 EN 4 15 14 13 12 11 10 9 7 0 1 2 3 4 5 6 7 CS_RAM V1 V2 V3 V4 CAN D0 D1 D2 D3 D4 D5 D6 D7 CS_CAN CS 5 74LS138 DECODAGE D’ADRESSES La table de vérité du circuit 74138 est la suivante : 4 0 0 0 0 1 1 1 1 Entrées 2 0 0 1 1 0 0 1 1 LYCEE LA FAYETTE Sorties 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 2 1 1 0 1 1 1 1 1 3 1 1 1 0 1 1 1 1 4 1 1 1 1 0 1 1 1 5 1 1 1 1 1 0 1 1 6 1 1 1 1 1 1 0 1 7 1 1 1 1 1 1 1 0 4/7 TD : DECODAGE D’ADRESSES Question IV.1. Compléter le schéma structurel de la page précédente en reliant correctement les broches 6, 4 et 5 (chacune au VCC ou à la masse) du 74138 afin de le valider. Question IV.2. En vous aidant de la table de vérité du 74138, compléter le tableau suivant : Adresses A[10..12] A12 A11 A10 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 2 1 1 0 1 1 1 1 1 Sorties du 74138 3 4 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 5 1 1 1 1 1 0 1 1 6 1 1 1 1 1 1 0 1 7 1 1 1 1 1 1 1 0 Question IV.3. Quel doit être le niveau du signal CS_RAM pour sélectionner la RAM ? Il faut CS_RAM = 0 Question IV.4. Quels doivent être les niveaux logiques sur A10, A11 et A12 afin de sélectionner la RAM ? Il faut A10=0 ; A11=0 et A12=0 ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question IV.5. Quel doit être le niveau du signal CS_ROM pour sélectionner la ROM ? Il faut CS_ROM = 0 Question IV.6. Quels doivent être les niveaux logiques sur A10, A11 et A12 afin de sélectionner la ROM ? Il faut A10 = 1 ; A11 = 0 ; A12 = 0 ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question IV.7. Quel doit être le niveau du signal CS_CAN pour sélectionner le CAN ? Il faut CS_CAN = 0. Question IV.8. Quels doivent être les niveaux logiques sur A10, A11 et A12 afin de sélectionner le CAN ? Il faut A10 = 0 ; A11 = 1 et A12 = 0 ………………………………………………………………………………………………… ………………………………………………………………………………………………… LYCEE LA FAYETTE 5/7 TD : DECODAGE D’ADRESSES On rappel que le CAN permet de faire l’acquisition de 4 tensions analogiques. Les tensions analogiques sont sélectionnées à l’aide des adresses A8 et A9. Question IV.9. Compléter le tableau suivant décrivant les adresses hautes et basses permettant de sélectionner les circuits RAM, ROM et CAN. Circuit RAM ROM CAN : V1 CAN : V2 CAN : V3 CAN : V4 A12 0 0 0 0 0 0 0 0 0 0 0 0 A11 0 0 0 0 1 1 1 1 1 1 1 1 A10 0 0 1 1 0 0 0 0 0 0 0 0 A9 1 0 1 0 0 0 0 0 1 1 1 1 A8 1 0 1 0 0 0 1 1 0 0 1 1 A7 1 0 1 0 1 0 1 0 1 0 1 0 A6 1 0 1 0 1 0 1 0 1 0 1 0 A5 1 0 1 0 1 0 1 0 1 0 1 0 A4 1 0 1 0 1 0 1 0 1 0 1 0 A3 1 0 1 0 1 0 1 0 1 0 1 0 A2 1 0 1 0 1 0 1 0 1 0 1 0 A1 1 0 1 0 1 0 1 0 1 0 1 0 A0 1 0 1 0 1 0 1 0 1 0 1 0 Question IV.10. Déduire de la question précédente les plages d’adresses permettant la sélection des différents circuits : Circuit RAM ROM CAN V1 V2 V3 V4 Plage d’adresses (en hexadécimal) 0000 – 03FF 0400 – 07FF 0800 – 08FF 0900 – 09FF 0A00 – 0AFF 0B00 – 0BFF Question IV.11. Combien de ko la plage d’adresses de la ROM permet-elle d’adresser ? 0400 – 07FF = 1024 octets = 1 ko ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question IV.12. Combien de ko la plage d’adresses de la RAM permet-elle d’adresser ? 0000 – 03FF = 1024 octets = 1 ko ………………………………………………………………………………………………… ………………………………………………………………………………………………… Question IV.13. En comparant la capacité de la RAM avec le nombre de ko qui peuvent être adressés sur la RAM, donner la plage d’adresses inutilisée dans le système pour la RAM. Adresses inutilisées par la RAM : 0200 – 03FF soit 512 octets. ………………………………………………………………………………………………… LYCEE LA FAYETTE 6/7 TD : DECODAGE D’ADRESSES Question IV.14. Lors du développement d’un programme permettant d’adresser les différentes entrées analogiques du CAN, quelles adresses choisirez-vous pour adresser les entrées V1, V2, V3 et V4 ? V1 : 0800 V2 : 0900 V3 : 0A00 V4 : 0B00 Question IV.11. Compléter le plan mémoire ci-dessous en utilisant les adresses que vous avez réservées pour les différentes entrées du CAN. 0BFFh 0B00h 0AFFh CAN : V4 0900h 08FFh CAN : V2 CAN : V3 CAN : V1 0A00h 09FFh 0800h 07FFh ROM 0400h 03FFh VIDE 0200h 01FFh RAM 0000h LYCEE LA FAYETTE 7/7