TP № 1 Classe : 3LAUT Module : TP Microprocesseur et Microcontrôleur Durée : 2
TP № 1 Classe : 3LAUT Module : TP Microprocesseur et Microcontrôleur Durée : 2 h40 Professeur : Mohamed Bougrine Modélisation et Simulation d’une Mémoire sous Matlab/Simulink Objectifs du TP L’étudiant se familiarise avec le fonctionnement d’une mémoire à microprocesseur en modélisant son comportement sous forme d’un système dynamique discret. I. Presentation La figure ci-dessous présente un boitier mémoire ayant un bus d’adresse de 13 bits et un bus de donnée de 8 bits, sois une capacité de stockage valant2 13=8 Ko. De plus, ce boitier possède 3 entrées de commande ´ CS , ´ RDet ´ WR. Figure 1 : Schéma bloc d’une mémoire 8Ko La première est une entrée de sélection « Chip Select » qui doit être en état « 0 » logique pour que le boitier soit sélectionné, dans le cas contraire le bus de sortie (données) du boitier est en état « haute impédance », disons déconnectée du bus. Les deux autres entrées de commande sont deux bits de lecture et d’écriture dont le fonctionnement est expliqué par les chronogrammes suivants (figure 2). Page 1 Un mot de 8 bits Donnée posée de l’extérieur (écriture) Donnée posée par la mémoire (lecture) a) Chronogramme de lecture b) Chronogrammed’écriture Figure 2 : Chronogrammes de lecture et d’écriture d’une mémoire II. Modèle d’une mémoire à un seul mot Pour simplifier l’étude, nous considérons dans un premier temps une mémoire composée d’un seul mot (1 octet) pouvant être soit lu soit écrit via un bus de données, et puisque cette mémoire ne contient qu’un seul mot, elle est donc dépourvue du bus d'adresse qui dans ce cas ne sert à rien (Figure 3). Figure 3 : Schéma simplifié d’une mémoire à un seul mot 1) Ouvrir un nouveau fichier simulink, séléctionner un bloc « Matlab Function » et éditer son corps pour comprendre 3 entrées RDbar,WRbar et Csbar de type booléen,une entrée Din de type uint8et une seule sortie Dout de type uint8. De plus, créer une variable interne M persistante qui prend un mot de type uint8 qui est le mot stocké dans la mémoire. (utiliser « help persistent » pour savoir s’en servir) 2) Esquisser un organigramme qui permet de détecter un front descendant sur RDbar ou WRbar et d’y réagir selon les chronogrammes de lecture et d’écriture tout en considérant les points suivants : a- Si CSbar est 1, écrire directement la valeur Nan sur Dout quelles que soient les autres entrées, (Nous désignons par Nan un état haute impédance). Page 2 b- Si Din = Nan alors on va attendre un front descendant sur RDbar, car si Din est à haute impédance alors on compte surement lire une donnée. c- Si Din est différente de Nan alors on va attendre un front descendant sur WRbar, car si Din est significatif alors on veut surement l’écrire. d- Si une opération de lecture est détectée alors nous l’exécuterons par Dout = M ; e- Si une opération d’écriture est détectée alors nous l’exécuterons par M = Din et Dout = Nan ; 3) Traduire l’organigramme en code matlab dans le corps de la fonction créée (initialiser la variable M à 0) 4) Sélectionner le mode de simulation « discrete » dans les paramètres et tester le code en écrivant la valeur F3h dans la case mémoire, puis la relire. (utiliser des relais interactifs) III. Modèle de la mémoire complète 1) Cette fois la variable Mest un vecteur de dimension 13*1024 initialisé à 0. Introduire une nouvelle entrée A de type uint16 qui désigne le bus d’adresse. 2) Modifier le corps de la fonction pour tenir compte de l’adresse A en lecture comme en écriture 3) Tester le programme en écrivant la valeur 3Fh à l’adresse 0FFFh en utilisant des relais interactifs. 4) Ecrire un autre programme qui simule un microprocesseur qui écrit la valeur 3Fh dans la plage mémoire de 1000h à 1FFFh. Page 3 Page 4 uploads/Litterature/ tp-01-micropro-s4-auto.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 28, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.2378MB