ΗΥ-120: Ψηφιακή Σχεδίαση
Φθινόπωρο 2012
Τμ. Επ. Υπολογιστών
© Πανεπιστήμιο Κρήτης

Προαιρετικό Υλικό Εργαστηρίου 3:
Συνδυαστικά Κυκλώματα με χρήση Ηλεκτρονόμων

3.12   Οι Κίνδυνοι λόγω Αμφίδρομων Επιδράσεων

Στο παράδειγμα της ενότητας § 3.9 του κυρίως μαθήματος, θέλαμε να κατασκευάσουμε τις εξής επτά λογικές συναρτήσεις:
Βλέποντας κανείς τις παραπάνω εξισώσεις, παρατηρεί ότι η έξοδος b χρησιμοποιεί σαν πρώτο κομμάτι της την ίδια συνάρτηση όπως και η έξοδος a. Αυτό μπορούμε να το εκμεταλλευτούμε κατασκευάζοντας πρώτα τις δύο απλούστερες λογικές συναρτήσεις: a = (ΟΧΙ A) ΚΑΙ (ΟΧΙ B), t = (A) ΚΑΙ (B)· στη συνέχεια, την μεν έξοδο a την έχουμε έτοιμη, την δε έξοδο b την φτιάχνουμε σαν b = a Ή t.

Wired OR destroys partial-term output Στο σχήμα, μέρος (i), φαίνεται η κατασκευή των συναρτήσεων a και t με ηλεκτρονόμους. Στο μέρος (ii), γίνεται μιά προσπάθεια κατασκευής του λογικού Ή των a και t μέσω σύνδεσής τους εν παραλλήλω, προκειμένου να κατασκευαστεί η έξοδος b = a Ή t. Η συνέπεια είναι ότι το μέν λογικό Ή κατασκευάστηκε σωστά, όμως η έξοδος που πρίν ήταν η συνάρτηση a τώρα έχει αλλάξει (έγινε η ίδια με την έξοδο b) και δεν αποτελεί πλέον τη συνάρτηση (ΟΧΙ A) ΚΑΙ (ΟΧΙ B) όπως αρχικά θέλαμε! Ο λόγος είναι η αμφίδρομη διάδοση της ηλεκτρικής επίδρασης μέσω των απλών συρμάτων: κάνοντας την παράλληλη σύνδεση, δηλαδή λογικό Ή, "από" τα κυκλώματα a και t "προς" την έξοδο b, ναι μεν τροφοδοτείται σωστά η έξοδος b, πλην εισάγεται και η "αντίστροφη" επίδραση από το κύκλωμα t προς το κύκλωμα a· έτσι, όπως δείχνει και το βέλος, μπορεί υπό ορισμένες εισόδους (A=B=1) το μεν αρχικό κύκλωμα να μην τροφοδοτούσε την έξοδο a με ρεύμα, ενώ στη νέα διάταξη (ii) το κύκλωμα t να τροφοδοτεί με ρεύμα όχι μόνο την έξοδο b, ως όφειλε, αλλά και την a, πράγμα λανθασμένο. Τους κινδύνους αυτούς αντιμετωπίζουμε χρησιμοποιώντας --όποτε δεν υπάρχει σοβαρός περί του εναντίου λόγος-- "ασφαλή" κυκλώματα με μονόδρομη ροή της πληροφορίας και των επιδράσεων, όπως περιγράφεται παρακάτω.

3.13   Οικονομικότερες (και Επικίνδυνες) Υλοποιήσεις

Η υλοποίηση της κάθε πύλης που είδαμε στην ενότητα § 3.1 του κυρίως μαθήματος αποτελεί έναν "τυφλοσούρτη" που μας εγγυάται την ασφαλή λειτουργία του συστήματός μας --δηλαδή δίνει πάντα ένα σωστό κύκλωμα-- πλην όμως μπορεί συχνά να είναι σπάταλη όταν το σύστημα αποτελείται από πολλές πύλες. Συχνά υπάρχουν εναλλακτικές υλοποιήσεις που χρησιμοποιούν λιγότερους ηλεκτρονόμους, όπως θα εξηγηθεί σε αυτή την παράγραφο, οι οποίες όμως συνοδεύονται και από κινδύνους όπως αυτοί της παραγράφου 3.12. Η εξοικονόμηση ηλεκτρονόμων προκύπτει γενικά από την εφαρμογή των παρακάτω βελτιστοποιήσεων, οι οποίες όμως είναι επικουρικής και όχι κεντρικής σημασίας γιά την κατανόηση των εννοιών αυτού του μαθήματος.
  1. Κάθε ηλεκτρονόμος (από αυτούς που έχουμε στο εργαστήριο) ελέγχει δύο διακόπτες. Επομένως, όποτε ένα σήμα αποτελεί είσοδο σε δύο πύλες, αρκεί η χρήση ενός ηλεκτρονόμου (ελεγχόμενου από αυτό το σήμα), ο οποίος θα συμμετέχει με τον ένα του διακόπτη στη μία πύλη και με τον άλλο του διακόπτη στην άλλη πύλη· βλέπε παρακάτω γιά παραδείγματα.
  2. Κάθε διακόπτης ηλεκτρονόμου (από αυτούς που έχουμε στο εργαστήριο) έχει τόσο επαφή ενεργοποίησης όσο και επαφή ηρεμίας. Επιλέγοντας κατάλληλα το ποιά από τις δύο αυτές επαφές θα χρησιμοποιήσουμε, μπορούμε να έχουμε μιά λογική συνάρτηση όπου συμμετέχει είτε αυτός καθεαυτός ο όρος εισόδου, είτε το αντίστροφο (η άρνηση) τού όρου εισόδου· βλέπε παρακάτω γιά παραδείγματα.
    AND-OR optimization when internal point not needed
  3. Δύο (ή περισσότερες) πύλες, όπου η έξοδος της πρώτης χρησιμοποιείται μόνο σαν είσοδος της δεύτερης και πουθενά αλλού, μπορούν συχνά να υλοποιηθούν σαν ένα ενιαίο, σύνθετο δίκτυο διακοπτών εν σειρά και εν παραλλήλω, όπως φαίνεται στο παράδειγμα του σχήματος. Το αριστερό κύκλωμα είναι μιά σωστή υλοποίηση της συνάρτησης AB+C, αφού η έξοδος Out παίρνει ψηλή τάση όταν και μόνον όταν είναι ενεργοί οι διακόπτες A και B, ή όταν είναι ενεργός ο διακόπτης C, ή και τα δύο.
Στο σημείο αυτό, όμως, απαιτείται προσοχή, σύμφωνα με όσα είπαμε στην § 3.12: εάν την έξοδο της πρώτης πύλης την χρειαζόμαστε και κάπου αλλού, τότε η σύνθεση των δύο πυλών δεν επιτρέπεται να γίνει, όπως δείχνει και το εδώ παράδειγμα. Το εσωτερικό σημείο "internal point" στο αριστερό κύκλωμα ναι μεν ορίζεται σαφώς από το διάγραμμα πυλών σαν το λογικό ΚΑΙ των A και B, πλην όμως δεν υλοποιείται πουθενά στο κύκλωμα με τους ηλεκτρονόμους: όταν A=0 και C=1, τότε το εσωτερικό αυτό σημείο θα έπρεπε να είναι AB=0, όμως το αντίστοιχο σημείο στο κύκλωμα θα είναι 1, επειδή ο ηλεκτρονόμος που ελέγχεται από το C θα είναι ενεργός και θα παρέχει ψηλή τάση τόσο στην έξοδο Out (σώστο), όσο και στο "internal point" (λάθος). Το "λάθος" αυτό οφείλεται στο ότι τα σύρματα και οι διακόπτες επιτρέπουν αμφίδρομη και όχι μονόδρομη ροή πληροφορίας: η πληροφορία Out = AB+C οδεύει όχι μόνο στην έξοδο αλλά και "πίσω" προς το σημείο που θα θέλαμε να ήταν ίσο με A ΚΑΙ B (αλλά δεν είναι). Στην περίπτωση λοιπόν που χρειαζόμαστε και την έξοδο της πύλης ΚΑΙ, τότε πρέπει να χρησιμοποιηθεί το δεξιό κύκλωμα --όπου δεν έχει γίνει καμιά εξοικονόμηση ηλεκτρονόμων. Εδώ, η πληροφορία Out2 = AB+C δεν μπορεί να οδεύσει "πίσω" και να επηρρεάσει τον κόμβο Out1, διότι εμποδίζεται από τον ηλεκτρονόμο "απομόνωσης" που προσετέθη, ο οποίος επιβάλει την μονόδρομη ροή της πληροφορίας· έτσι τώρα, Out1 = AB, όπως δηλαδή θέλαμε.
Gate circuit to display A-b-c-d on the 7-segment display

Το συνδυαστικό κύκλωμα της ενότητας § 3.9 του κυρίως μαθήματος, σχεδιασμένο με σύμβολα πυλών αντί εξισώσεων, φαίνεται στο παρακάτω σχήμα. Από τις δύο εισόδους, A και B, κάτω αριστερά, δημιουργούμε πρώτα και τα "συμπληρωματικά" τους σήματα (τα αντίστροφά τους - τις αρνήσεις τους), A' και B' (ή συμβολισμένα με μπάρες, όπως στο σχήμα). Στη συνέχεια, τα 4 αυτά σήματα τροφοδοτούν τις κατάλληλες πύλες AND και OR, σύμφωνα με τις εξισώσεις της § 3.9. Οι έξοδοι e και g, που είναι πάντα 1, γεννιούνται με κατευθείαν σύνδεση στην τροφοδοσία υψηλής τάσης (1), χωρίς να χρειάζεται λογική πύλη. Θυμηθείτε ότι σε αυτά τα διαγράμματα κυκλωμάτων, όταν δύο γραμμές τέμνονται χωρίς κουκκίδα σημαίνει ότι τα αντίστοιχα σύρματα διασταυρώνονται χωρίς επαφή· οι διακλαδώσεις συρμάτων με επαφή προτιμάμε να έχουν σχήμα "Τ" (μονή διακλάδωση) και όχι σταυρού (διπλή διακλάδωση από το ίδιο σημείο).

Το σύστημα αυτό μπορεί να υλοποιηθεί με ηλεκτρονόμους είτε με τα "ασφαλή" κυκλώματα της § 3.1, είτε με προσεκτικές εξοικονομήσεις ηλεκτρονόμων βάσει αυτής της παραγράφου, όπως φαίνεται παρακάτω.
Relay implementation of the A-b-c-d display Ckt Οι συναρτήσεις e και g είναι τετριμένες: αρκεί οι δύο αυτές LED να συνδεθούν μονίμως στην θετική τροφοδοσία. Γιά να υλοποιηθούν οι υπόλοιπες συναρτήσεις χρειάζονται 6 διακόπτες ελεγχόμενοι από την είσοδο A και 5 διακόπτες ελεγχόμενοι από την B, δεδομένου ότι ο όρος A εμφανίζεται 6 φορές στις επιθυμητές λογικές συναρτήσεις, ο δε όρος B εμφανίζεται 5 φορές. Μία επιπλέον οικονομία προκύπτει αν παρατηρήσουμε ότι η έξοδος b είναι η συνάρτηση ισότητας, και την υλοποιήσουμε με το "κόλπο" που είδαμε στην § 1.4, οπότε πέφτουμε στους 5 διακόπτες γιά το A και 4 γιά το B. Δεδομένου ότι δεν έχουμε 5-πλούς ή 4-πλούς διακόπτες, χρησιμοποιούμε ηλεκτρονόμους γιά να ελέγξουμε με ταυτόσημο τρόπο τους 5 διακόπτες A και τους 4 διακόπτες B από τους απλούς διακόπτες εισόδου A και B.

Όταν πατιέται ο διακόπτης A, τροφοδοτούνται με ρεύμα οι 3 αριστεροί ηλεκτρονόμοι, κι έτσι έλκονται προς τα κάτω οι 5 διακόπτες SPDT αυτών των ηλεκτρονόμων, που έτσι αποτελούν "αντίγραφα" του διακόπτη A. Ομοίως, οι 4 διακόπτες των 2 δεξιά ηλεκτρονόμων κινούνται πανομοιότυπα με τον διακόπτη B. Η έξοδος a τροφοδοτείται από τη θετική τροφοδοσία μέσω 2 διακοπτών εν σειρά, άρα ακολουθεί λογική και· επειδή χρησιμοποιήσαμε τις επάνω επαφές των διακοπτών, ρεύμα περνάει όταν οι διακόπτες είναι επάνω, δηλαδή όχι πατημένοι, κι έτσι προκύπτει η επιθυμητή πράξη όχι. Η έξοδος c τροφοδοτείται μέσω 2 διακοπτών εν παραλλήλω, άρα ακολουθεί λογική ή· χρησιμοποιούμε την επάνω επαφή του A (όχι πατημένος) γιά να πετύχουμε λογική "όχι", και την κάτω επαφή του B (πατημένος) γιά να έχουμε θετική πολικότητα. Η έξοδος d τροφοδοτείται παρόμοια, αλλά εδώ χρησιμοποιούμε την κάτω επαφή και στους δύο διακόπτες (θετική πολικότητα ως προς τις δύο εισόδους). Τέλος, η έξοδος f τροφοδοτείται μέσω ενός διακόπτη, ελεγχόμενου από την είσοδο A, και χρησιμοποιεί την "όχι πατημένη" επαφή, άρα ισούται με όχι A.

Πείραμα 3.14:   Οι Αριθμοί 0-3 με Ηλεκτρονόμους

Υλοποιήστε τις εξισώσεις της άσκησης § 3.10 του κυρίως μαθήματος με ηλεκτρονόμους. Χρησιμοποιήστε είτε τα ασφαλή κυκλώματα της παραγράφου 3.1, είτε τις (σχετικά εύκολες) απλοποιήσεις τους βάσει ιδεών από την παράγραφο 3.13. Πριν το εργαστήριο σχεδιάστε το κύκλωμα. Στο εργαστήριο, κατασκευάστε και ελέγξτε το κύκλωμα, και δείξτε το στον επιτηρητή-βοηθό σας. Θυμηθείτε ότι οι είσοδοι από τους διακόπτες της πλακέτας εισόδων/εξόδων δεν μπορούν να δώσουν αρκετό ρεύμα γιά να κινήσουν ηλεκτρονόμους· επομένως πρέπει, όπως και πριν, να οδηγήστε τους ηλεκτρονόμους σας από την θετική τροφοδοσία μέσω δικών σας διακοπτών στην πλακέτα συνδέσεων. Οι έξοδοι από τους ηλεκτρονόμους όμως μπορούν να οδηγήσουν τις LED της πλακέτας εισόδων/εξόδων, επειδή η μεν ψηλή τάση (1) τις οδηγεί κανονικά, το δε ανοικτό κύκλωμα είπαμε παραπάνω ότι ειδικά η δική μας πλακέτα εισόδων/εξόδων το βλέπει σαν 0 λόγω των ειδικών αντιστάσεων καθέλκυσης που αυτή έχει. Τροφοδοτήστε λοιπόν με τις 7 εξόδους του κυκλώματός σας τα 7 τμήματα του ενδείκτη 7 τμημάτων της πλακέτας εισόδων/εξόδων.
Up to the Home Page of CS-120
 
© copyright University of Crete, Greece.
last updated: 7 Oct. 2012, by M. Katevenis.