SEm/laboratoires/machine d etat
(→Machine d'états) |
(→Machine d'états maîtresse) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
= Machine d'états = | = Machine d'états = | ||
− | Ce laboratoire est | + | 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]. | Il se base sur l'exemple d'un codeur [https://fr.wikipedia.org/wiki/Morse_(alphabet) morse]. | ||
Line 16: | Line 16: | ||
La durée du trait est 3 fois celle du point. | 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= | {{TaskBox|content= | ||
− | Ecrire l'architecture de la machine d'états de manière à coder tous les caractères du code morse de base.. | + | 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/ | + | |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/ | + | |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 17:30, 22 March 2023
|
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:
Encodeur
Une architecture graphique est mise à disposition. Elle ne code que les 6 lettres les plus courtes en code Morse.
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.
Machine d'états esclave
Machine d'états maîtresse
La figure suivante présente le graphe de principe de cette machine d'états.
Tests sur plaque
La carte Morse contient un piézo qui peut émettre le code Morse sous forme audio.
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
04 Synthèse automatique
Travaux de laboratoire
05 Périphérique GPIO pour bus AMBA