CHAPITRE VI ALEAS 6.1.Généralités. Lors de la synthèse des systèmes logique (combinatoires ou séquentiels), nous avons supposé, implicitement, qu une même variable secondaire avait toujours la même valeur en tous les points du circuit et que les temps de propagation, mis par l information à parcourir les différents chemins menant des entrées ou des sorties du système, ont été considérés comme nuls. Ces conditions ne correspondent, évidemment pas, à une situation réalisable. Il peut en résulter, au cours des transitions, l apparition de conditions anormales perturbant le fonctionnement du système dû à des impulsions parasites qui traduisent des inégalités de temps de parcours. Ceci peut mener le système à évoluer vers des états de sortie différents de ceux qui ont été défini par la table de vérité ou par la table des états. Ces impulsions parasites sont appelées : «ALEAS DE COMMUTATION». Ces aléas sont figés par le schéma dont les équations logiques donnent une image, Ils ne doivent par être confondus avec les actions parasites de signaux qui sont le fait de couplages intempestifs entre connexion ou éléments de circuits, que l on peut modifier en changeant les dispositions relatives des composants. 156
Les aléas peuvent être classés en deux groupes : 1) Les aléas à variable unique : Ils sont dus aux changements d une variable seulement. Ils peuvent être corrigés par l adjonction de termes logiques ou par l introduction de retards appropriés dans le circuit. Ils sont de trois types : Statiques, dynamiques ou essentiels. 2) Les aléas à variable multiples : Dus aux changements de plus d une variable. Ils peuvent être, également, du type statique, dynamique ou essentiel. Ne pouvant être complètement éliminés par des solutions logiques ou par des modifications du circuit, le changement des variables d entrée (ainsi que les variables internes) doivent obéir à la condition impérative suivante : IL FAUT QU IL N Y AIT QU UNE SEULE VARIABLE QUI PUISSE CHANGER D ETAT A LA FOIS. 6.2. Définition de l aléa statique (ou de continuité ) : L aléa statique est dû au fait que les propositions suivantes : xx + xx = 1 eeee xxxx =0, ne sont plus satisfaites lors des transitions entre deux états stables. Il provoque, durant un changement de variable, une transition dans une sortie qui doit demeurer constante. Il peut être identifié par la table de KARNAUGH (ou par une manipulation algébrique) et être corrigé logiquement par l adjonction de portes supplémentaires. Pour étudier, en détail, cet aléa prenons la forme générale d une équation présentant des aléas statiques. 157
6.2.1. Equation générale présentant des aléas statiques dus à: xx + xx = 00. Elle est de la forme :ZZ = FFFF + GGxx. L aléa se produira si : F = G =1 car, dans ces conditions, ZZ = xx + xx. Etudions, maintenant, l état de Z en fonction de la vitesse de commutation des variables xx et xx. 1 er cas : xx commute avant xx (soit t 1 la différence de temps). Si initialement xx = 00, nous aurons les transitions suivantes de, xx et de ZZ = xx + xx : xx xx = 0 I I I I 0 transition de xx retardée de t 1 ZZ = xx + xx = I I I Ici nous avons ZZ = xx + xx = 11, dans tous les cas. Donc il n y a pas d aléa. Si initialement = 11, alors nous aurons les transitions suivantes : xx xx = 1 0 0 0 0 1 transition de xx retardée de t 1 ZZ = xx + xx = I 0 I 158
Dans ce cas la relation xx + xx = 11, n`est plus vérifiée. Et, ZZ = xx + xx, qui devrait âtre égale à `1` quand FF = GG = 11, quelque soit xx, prend la valeur 0 pendant la transition de xx. Conclusion : Lorsque xx commute avant xx l` aléa se produit lors de la transition de xx `1` à `0`. 2 e me cas : xx commute avant xx (soit t 2 la différence de temps). Si initialement xx = 00, nous aurons les transitions suivantes de xx, xx et de ZZ = xx + xx : xx xx = 0 I 0 0 I 0 transition de xx retardée de t 2 ZZ = xx + xx = I 0 I Ici la relation ZZ = xx + xx = 11, n`est plus vérifiée d`où apparition d aléa. Si initialement xx = 11, alors nous aurons les transitions suivantes: xx xx = 1 0 1 1 0 1 transition de xx retardée de t 2 ZZ = xx + xx = I 1 I Dans ce cas la relation xx + xx = 11 est vérifiée, il n y a pas risque d`aléa. 159
Conclusion : Lorsque xx commute avant x l`aléa se produit lors de la transition de x de `0` à `1`. 6.2.2. Equation générale des aléas statiques dûs à ; xx xx = 11 Elle est de la forme : ZZ = (FF + xx)(gg + xx ). L`aléa statique se produira lorsque FF = GG = 00, puisque dans ces conditions ZZ = xx xx. Etudions, maintenant, l`état de Z en fonction de la vitesse de xx et de xx. 1 er cas : xx commute avant xx (soit t 3 la différence de temps). Si initialement xx = 00, nous aurons les transitions suivantes de, xx et de ZZ = xxxx : xx xx = 0 I I I I 0 transition de xx retardée de t 3 ZZ = xx. xx = 0 I 0 Ici la relation : ZZ = xx. xx = 00, n`est pas vérifiée dans tous les cas. Donc il y a apparition d`aléa. Si initialement xx = 11, les transitions de xx et xx sont les suivantes : xx xx = 1 0 0 0 0 1 transition de xx retardée de t 3 ZZ = xx. xx = 0 0 0 160
Dans ce cas la relation : xx xx = 0 est vérifiée, il n`y a pas d`aléa. Conclusion : Lorsque xx commute avant xx l`aléa se produit lors de la transition de xx de `0` à `1`. 2 e me cas : xx commute avant xx (soit t 4 la différence de temps). Si initialement xx = 00, nous aurons les transitions suivantes de xx, xx et de ZZ = xx. xx : xx xx = 0 I 0 0 I 0 transition de xx retardée de t 4 ZZ = xx. xx = 0 0 0 Ici la relation ZZ = xx. xx = 00, étant vérifiée, il n y a pas d aléa. Si initialement xx = 11, alors nous aurons les transitions suivantes : xx xx = 1 0 1 1 0 1 transition de xx retardée de t 4 ZZ = xx. xx = 0 1 0 Dans ce cas la relation xx. xx = 00 n`est plus vérifiée, il y a apparition d`aléa. Conclusion : Lorsque xx commute avant xx l`aléa se produit lors de la transition de xx de `1` à `0`. 161
6.2.3. Elimination de l`aléa statique. Pour préserver les systèmes de commande contre les fonctionnements anormaux, dus à l`existences des aléas statiques, il faudra faire usage que d`un seul type de variables d`entrées ( utiliser xx ou xx ) ou bien ajouter un terme redondant qui ne modifie pas la signification de la fonction. Soit : Pour l`équation; ZZ = FFFF + GGxx., on ajoutera le terme FFFF, consensus de FFFF et GGxx. L`expression de ZZ devient alors ; ZZ = FFFF + GGxx + FFFF Et pour l`équation; ZZ = (FF + xx)(gg + xx ), on ajoutera le terme FF + GG, consensus de FF + xx et GG + xx. L`équation devient, dans ces conditions: ZZ = (FF + xx)(gg + xx )(FF + GG) Ce qui se traduit par les tables de KARNAUGH figures cidessous: 0 1 1 0 F G 0 1 1 0 F G x 0 0 1 1 FG x 0 0 1 1 F + G 162
6.3. Définition de l` aléa dynamique. Lorsque dans un système séquentiel une variable d`entrée ou auxiliaire intervient dans deux ou plusieurs fonctions secondaires, il y a risque d`aléa dynamique, si l`ordre dans lequel s`effectue ces interventions donne naissance à des états stables différents. Ils sont causés par l`existence, dans le système, de trois (ou plus) trajets distincts pour la même variable, caractérisé chacun par des temps de retard différents. En pratique, ils sont le résultat de la mise en facteur d`opérateurs électroniques, ou de l`utilisation de longues lignes de connexion dans les circuits logiques rapides. Dans les systèmes à relais, les temps de fermeture différents des contacts peuvent produire les mêmes effets. Nous allons traiter un exemple afin de dégager cet aléa du monde de l`abstrait pour pouvoir, par la suite, déterminer avec certitude le lieu de sa présence et l`éliminer ensuite. Considérons la structure de commande dont le fonctionnement est régit par les équations suivantes: XX = bbyy + aa xx; YY = aa bb + cccc ; SS = xxyy Et, dont le logigramme, à relais et à portes, sont données par les figures ci-dessous. 163
Dans l`état initial nous avons ; 1 : aa = bb = cc = 0 ; XX = YY = SS = 0 Lorsque `a` passe à `1` le système évolue vers l`état futur suivant : 2 : aa = 1; bb = cc = 0 ; XX = YY = SS = 0 Si nous appuyons sur b en maintenant a sur sa position initiale, on passe à l`état ; 3 : aa = 1; bb = 1; cc = 0 ; XX = 1; YY = SS = 0 Si nous relâchons a (aa = 0), on passe à l`état futur suivant : 4 : aa = 0; bb = 1; cc = 0 ; XX = 1; YY = 1; SS = 1 Puisque le contact aa apparaît, simultanément, dans X et Y, représentant deux contacts différents donc deux vitesses de commutations différentes, il peut y avoir un aléa dynamique suivant que le contact dans Y commute plus vite que celui se trouvant dans X 164
et vice versa. Pour se fixer les idées supposons que a 1 représente le contact dans X et a 2 celui dans Y. 1 er cas : a 1 commute avant a 2 (a 1 plus rapide que a 2 ). Si nous représentons les évolutions du système en fonction des états d`entrée nous obtenons le tableau de la figure ci-après ; Variables Etats du Etats impliquées dans l`évolution du a 1 a 2 b c x y X Y S système intermédiaires dus à la différence de système vitesse a = 0 0 0 0 0 0 0 0 0 0 1 - a = 1 1 0 0 0 0 0 0 0 0 2 - a = 1 1 1 0 0 0 0 0 0 0 2` 2` a = b = 1 1 1 1 0 0 0 1 0 0 3 - a = b = 1 1 1 1 0 1 0 1 0 0 3 - b = 1 0 1 1 0 1 0 1 0 0 3` 3` b = 1 0 0 1 0 1 0 1 1 1 4 - D`après ce tableau nous remarquons que le système a évolué vers l`état attendu 4 en passant les états 2 et 3 après lui avoir 165
appliqué la même séquence d`états d`entrée. Les états 2` et 3` sont des états intermédiaires introduits par les contacts a 1 et a 2 et ce par la différence de vitesse existant entre eux. Dans ce cas, il n y a pas d`aléa dynamique. 2 eme cas : a 2 commute avant a 1 (a 2 plus rapide que a 1 ). De l`état 3 ou: aa = 1; bb = 1; cc = 0 ; XX = 1; YY = SS = 0 Si la variable `a` revient a `0` alors, on passe a : 3` : aa 1 = 1; aa 2 = 0; cc = 0 ; XX = 0; YY = 1; SS = 0 puis a : 3` : aa 1 = 0; aa 2 = 0; cc = 0 ; XX = 0; YY = 1; SS = 0 Dans ce deuxième cas on n`aboutit pas à l`état stable 4 lorsque, de l`état stable 3 ou a = 1, la variable a redevient égal à `0` comme il a été prévu précédemment. Donc on est en présence d`un aléa dynamique. 6.4. Elimination des aléas dynamiques. Comme on vient de le constater que la présence des aléas dynamiques peut mener le système à évoluer vers des états imprévus. Ceci, bien entendu, va donner au système un nouveau comportement différent de celui qui a été imposé par les conditions de fonctionnement de départ. D` où la nécessité de les éliminer soit en retardant l`information qui les produits, soit en considérant les 166
variables qui engendrent ces aléas comme deux variables distinctes dans la recherche des équations. Pour le cas considéré nous aurons, en considérant le second cas : XX = bbyy + aa 1 xx; YY = aa 2 bb + cccc ; 167