SEm/laboratoires/machine d etat

From FSI
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{TOC right}} {{navNamed |left=SEm/laboratoires/09_pipeline|left_name= 09 Additionneur haute vitesse |up=SEm/laboratoires|up_name=Travaux de laboratoire |right=SEm/laboratoi...")
 
(Machine d'états maîtresse)
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{TOC right}}
 
{{TOC right}}
  
 +
= Machine d'états =
 +
 +
Ce laboratoire est destiné à montrer le codage de machines d'état en VHDL.
 +
Il se base sur l'exemple d'un codeur [https://fr.wikipedia.org/wiki/Morse_(alphabet) morse].
 +
 +
== Système ==
 +
 +
Le système mis à disposition reçoit des mots série et les code en morse.
 +
Il comprend:
 +
* un récepteur série qui fournit un code ASCII parallèle et une commande d'activation
 +
* un registre pour mémoriser le caractère
 +
* une machine d'états pour générer le code morse
 +
* un compteur pour donner la durée d'un point du code morse
 +
 +
La durée du trait est 3 fois celle du point.
 +
L'espacement entre points et traits d'un même symbole morse est égal à la durée du point.
 +
L'espacement entre deux caractères du même mot est de 3 fois la durée du point.
 +
L'espacement entre 2 mots est de 7 fois la durée du point.
 +
 +
La figure suivante donne le code Morse des lettres et de chiffes de notre alphabet:
 +
[[Image:SEm labs morse code tree.svg|center|Code Morse]]
 +
 +
== Encodeur ==
 +
 +
Une architecture graphique est mise à disposition.
 +
Elle ne code que les 6 lettres les plus courtes en code Morse.
 +
{{TaskBox|content=
 +
Examiner la machine d'états mise à disposition, ainsi que le code VHDL correspondant, généré par l'outil EDA.
 +
}}
 +
 +
Le dessin de la machine d'états qui codes toutes les lettres va devenir illisible.
 +
Il est donc préférable d'écrire la machine d'états directement en VHDL.
 +
 +
Il est aussi plus simple de décomposer le système en deux machines d'état :
 +
Une machine maîtresse qui encode les caractères
 +
et une machine esclave qui gère le séquencement des points et des traits.
 +
{{TaskBox|content=
 +
Dessiner le schéma-bloc avec 2 machines et splécifier les signaux échangés entre elles.
 +
}}
 +
 +
== Machine d'états esclave ==
 +
 +
{{TaskBox|content=
 +
Ecrire le code VHDL de la machine d'états escalve.
 +
Effectuer une première simulation de ce circuit.
 +
}}
 +
 +
== Machine d'états maîtresse ==
 +
 +
{{TaskBox|content=
 +
Ecrire l'architecture de la machine d'états maîtresse
 +
de manière à coder tous les caractères du code morse de base.
 +
}}
 +
 +
La figure suivante présente le graphe de principe de cette machine d'états.
 +
[[Image:SEm labs morse code tree reversed.svg|center|Code Morse]]
 +
 +
== Tests sur plaque ==
 +
 +
La [http://wiki.hevs.ch/uit/index.php5/Hardware/Parallelport/heb_microphone carte Morse] contient un piézo qui peut émettre le code Morse sous forme audio.
 +
{{TaskBox|content=
 +
Simuler l'émetteur de codes Morse.
 +
 +
Télécharger le circuit correspondant sur la plaque de test.
 +
}}
 +
 +
L'émetteur peut être piloté depuis un PC, en utilisant un terminal associé à un port série.
 +
La vitesse de transmission est de 9600 baud et les caractères sont codés sur 7 bits.
  
 
{{navNamed
 
{{navNamed
|left=SEm/laboratoires/09_pipeline|left_name= 09 Additionneur haute vitesse
+
|left=SEm/laboratoires/04 synthese|left_name= 04 Synthèse automatique
 
|up=SEm/laboratoires|up_name=Travaux de laboratoire
 
|up=SEm/laboratoires|up_name=Travaux de laboratoire
|right=SEm/laboratoires/09_pipeline|right_name=-
+
|right=SEm/laboratoires/05 gpio|right_name=05 Périphérique GPIO pour bus AMBA
 
}}
 
}}
  
 
[[Category:Bachelor]] [[Category:SEm]] [[Category:Français]]
 
[[Category:Bachelor]] [[Category:SEm]] [[Category:Français]]

Latest revision as of 16:30, 22 March 2023

Contents

Machine d'états

Ce laboratoire est destiné à montrer le codage de machines d'état en VHDL. Il se base sur l'exemple d'un codeur morse.

Système

Le système mis à disposition reçoit des mots série et les code en morse. Il comprend:

  • un récepteur série qui fournit un code ASCII parallèle et une commande d'activation
  • un registre pour mémoriser le caractère
  • une machine d'états pour générer le code morse
  • un compteur pour donner la durée d'un point du code morse

La durée du trait est 3 fois celle du point. L'espacement entre points et traits d'un même symbole morse est égal à la durée du point. L'espacement entre deux caractères du même mot est de 3 fois la durée du point. L'espacement entre 2 mots est de 7 fois la durée du point.

La figure suivante donne le code Morse des lettres et de chiffes de notre alphabet:

Code Morse

Encodeur

Une architecture graphique est mise à disposition. Elle ne code que les 6 lettres les plus courtes en code Morse.

View-pim-tasks.png

Examiner la machine d'états mise à disposition, ainsi que le code VHDL correspondant, généré par l'outil EDA.

Le dessin de la machine d'états qui codes toutes les lettres va devenir illisible. Il est donc préférable d'écrire la machine d'états directement en VHDL.

Il est aussi plus simple de décomposer le système en deux machines d'état : Une machine maîtresse qui encode les caractères et une machine esclave qui gère le séquencement des points et des traits.

View-pim-tasks.png

Dessiner le schéma-bloc avec 2 machines et splécifier les signaux échangés entre elles.

Machine d'états esclave

View-pim-tasks.png

Ecrire le code VHDL de la machine d'états escalve. Effectuer une première simulation de ce circuit.

Machine d'états maîtresse

View-pim-tasks.png

Ecrire l'architecture de la machine d'états maîtresse de manière à coder tous les caractères du code morse de base.

La figure suivante présente le graphe de principe de cette machine d'états.

Code Morse

Tests sur plaque

La carte Morse contient un piézo qui peut émettre le code Morse sous forme audio.

View-pim-tasks.png

Simuler l'émetteur de codes Morse.

Télécharger le circuit correspondant sur la plaque de test.

L'émetteur peut être piloté depuis un PC, en utilisant un terminal associé à un port série. La vitesse de transmission est de 9600 baud et les caractères sont codés sur 7 bits.


Navigation
Arrow left.gif 04 Synthèse automatique Arrow up.gif Travaux de laboratoire 05 Périphérique GPIO pour bus AMBA Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox