DÉTECTEUR
DE TOUCHE - Explications
|
| |
|
|
|
|
|
|
|
|
|
Contitution
d'un bit à l'émission
Le codage d'un bit a une durée de 750 µs. Il se décompose
en 3 étapes de 250 µs chacunes qui sont :
un bit de start à l'état 1 suivi d'un état 0 et enfin
le bit lui-même qui prend un état 0 ou 1.
Si le cavalier est en place, il y a émission d'un état logique
0.
Si le cavalier est enlevé, il y a émission d'un état
logique 1.
(Certains auront reconnu le protocole utilisé par l'UM3750)
|
Émission d'une trame
En examinant le chronogramme, on peut remarquer qu'il y a émission
du numéro de la canne (2 bits) suivi du groupe (2 bits).
En prenant la référence de la photo ci-dessous, on part
du cavalier du haut pour aller vers celui du bas.
|
Pour la canne
:
- Pas de cavalier, émission
d'un état logique 1 (RB7).
- Cavalier bleu, émission
d'un état logique 0 (RB6).
Pour le groupe :
- Pas de cavalier, émission
d'un état logique 1 (RB5).
- Cavalier rouge, émission
d'un état logique 0 (RB4). |
A la réception, RB7
passe en poids faible et RB4 en poids fort.
Si les cannes sont numérotées de 1 à 4, le code canne
est 01
la canne 2 est donc concernée et D7 allumée. |
|
En
résumé : |
|
|
|
|
|
|
|
|
 |
 |
Pour un utilisateur non averti, l'implantation des deux cavaliers du bas
de la photo de gauche (émetteur) doit être identique a celle
de la photo de droite (récepteur). Dans ce cas, les deux appareils
font partie du même groupe.
Comme il y a deux cavaliers, il existe quatre configurations possibles,
donc quatre groupes.
|
|
|
|
|
|
|
|
|
Les deux cavaliers
du haut de la photo de gauche (émetteur) donnent le numéro
de la canne.
Si les deux cavaliers sont en place, le récepteur allumera la LED
de la canne 1.
Si comme sur la photo, c'est le cavalier bleu qui est en place, le récepteur
allumera la LED de la canne 2.
Si on déplace le cavalier bleu sur la position haute, le récepteur
allumera la LED de la canne 3.
Si aucun des deux cavaliers n'est en place, le récepteur allumera
la LED de la canne 4.
|
Le
programme de réception |
Début
Les 4 LEDs sont éteintes
Détection d'une durée
de 3ms à l'état bas du signal de réception (inter-trame),
si ce n'est pas le cas on revient au Début
Sous-programme de lecture d'une
trame
Mémorisation de la trame
1
Lecture trame 2
Détection d'une durée
de 3ms à l'état bas du signal de réception, si ce
n'est pas le cas on revient au Début
Sous-programme de lecture d'une
trame
Mémorisation de la trame
2
Comparer les deux trames recues
par HF, si elles sont différentes on revient au Début
Comparer les deux groupes émetteur
et récepteur, si différents revenir au Début
Identifier la canne et allumer la LED concernée
Beep du buzzer
Retour à Lecture trame 2
|
Le
sous-programme de lecture d'une trame |
Les
4 bits de la mémoire trame sont forcés à 0
K=4
Ext1
On teste si le signal de réception
est à l'état bas (entre deux trames), si c'est le cas on
revient à Ext1
Ext2 (Le signal, vient de passer à l'état 1)
On teste si le signal de réception
est à l'état haut (bit start), si c'est le cas on revient
à Ext2
On vient de passer le front descendant,
attrendre une durée d'1,5 bit
On lit le bit et on le sauvegarde
en décalant la mémoire de trame
Attente d'une durée d'un
bit pour se retouver sur le bit Start suivant
On décrémente K
Si K est différent de 0,
on saute à Ext2 (lecture du bit suivant)
On inverse les deux quartets de
la mémoire trame
Temporisation pour se retrouver
entre deux trames
Fin du SP |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|