Bases

Étude de cas : Machine d'état d'alarme

Construction de la machine

Valeur codée binaire d'état

Car nous avons trois états, nous avons besoin ici de seulement deux bascules - cette volonté de configuration permet jusqu'à quatre états (00, 01, 10, 11).

Nous devons faire encore plus de calcul.

D'abord, nous devons décider comment les états seront codés.
L'état du sommeil (1) sera codé « 00 » car c'est le commutateur sur la valeur et là puis ne serait aucun besoin d'un bouton de remise de forcer cette valeur.
Les deux autres états mènent aux actions (commutateur sur l'indicateur de « bras » et commutateur sur l'alarme et le temporisateur).
Il sera beaucoup plus facile à utiliser pour ces deux états les « 01 » et « 10 » comme chacun du rendement de fliflops peut être directement employé pour commander les actions respectives sans davantage de logique

Par conséquent, le codage d'état :

 

ÉtatNomCodage ab
1Sommeil00
2Armé01
3Alarme10

 

L'état AB=11 n'est pas employé et ne doit pas se produire.

Ainsi la table de vérité précédente

 

ÉtatCondition
  
1 2.Disarm + 3.Disarm + 1.Arm
2 1.Arm + 3.TimeOut + 2. (Disarm.Intrusion)
3 2.Intrusion + 3. (Disarm.TimeOut)

 

devient :

 

ABCondition
   
002.Disarm + 3.Disarm + 1.Arm
011.Arm + 3.TimeOut + 2. (Disarm.Intrusion)
102.Intrusion + 3. (Disarm.TimeOut)

 

Par conséquent l'équation pour les deux bascules A et B :

 

BasculeCondition
  
B1.Arm + 3.TimeOut + 2. (Disarm.Intrusion)
A2.Intrusion + 3. (Disarm.TimeOut)

 

avec les équations suivantes de nombre d'état :

1 = A.B
2 = A.B
3 = A.B

 

Nous avons alors les équations avec les valeurs d'A et de B seulement :

 

BasculeCondition
  
BA.B.Arm + A.B.TimeOut + A.B. (Disarm.Intrusion)
AA.B.Intrusion + A.B. (Disarm.TimeOut)

 
 

 

Ce qui donne le circuit suivant :

 

Contenu alternatif

Obtenez à Adobe le joueur instantané

 

Cette méthode de conception peut être utilisation pour d'autres machines d'état.

 


 

 

 
X

http://logiflash.com/basics/13.php