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

Εργαστήριο 1:
Λογική με Διακόπτες

20 - 24 Οκτωβρίου 2003

[Βιβλίο: προαιρετικά μπορείτε να διαβάσετε τις παραγράφους 1-1 (σελ. 1-5) και 1-9 --κυρίως τις σελίδες 41-42 και λιγότερο τις υπόλοιπες].

Αναλογικά και Ψηφιακά Ηλεκτρονικά Συστήματα:

Πολλά ηλεκτρονικά συστήματα, όπως π.χ. τα παραδοσιακά γραμμόφωνα (δίσκων βινυλίου) και οι παραδοσιακοί ενισχυτές, είναι "αναλογικά": οι διαστάσεις τις χάραξης στο δίσκο ή η ηλεκτρική τάση στον ενισχυτή είναι ανάλογες του φυσικού μεγέθους που αναπαριστούν. Έτσι π.χ. ηλεκτρική τάση 0.8 Volt σημαίνει ένταση ήχου διπλάσια απ' ό,τι συμβολίζει η τάση 0.4 Volt. Άλλα ηλεκτρονικά συστήματα, μεταξύ των οποίων οι υπολογιστές, πλήθος σύγχρονων οπτικοακουστικών μέσων, και η μεγάλη πλειοψηφία των σύγχρονων τηλεπικοινωνιακών μέσων, είναι "ψηφιακά": οι ηλεκτρικές τάσεις παριστάνουν διακριτά ψηφία και όχι φυσικά μεγέθη που μεταβάλονται σε μία συνεχή κλίμακα. Έτσι, π.χ. μπορεί ηλεκτρικές τάσεις οπουδήποτε μεταξύ 0.0 και 0.4 Volt να παριστάνουν το "χαμηλό" ή το "σβηστό" ή το "ψευδές" ή το "απαγορεύεται" ή το "μηδέν", και ηλεκτρικές τάσεις οπουδήποτε μεταξύ 2.8 και 3.3 Volt να παριστάνουν το "ψηλό" ή το "αναμένο" ή το "αληθές" ή το "επιτρέπεται" ή το "ένα", ενώ οι υπόλοιπες ηλεκτρικές τάσεις (ελπίζουμε ότι) δεν εμφανίζονται ποτέ.

Εάν στο σύστημά μας υπάρχει ηλεκτρικός θόρυβος π.χ. 80 mV (milli-Volt), τότε ο αναλογικός μας ενισχυτής με τη "μουσική" των 0.4 Volt (=400 mV) θα έχει 20 % θόρυβο πάνω στο ηχητικό σήμα. Το ίδιο σύστημα, όμως, αν λειτουργεί ψηφιακά και παριστάνει, κανονικά, το "σβηστό" με 0.2 Volt και το "αναμένο" με 3.0 Volt, δεν θα έχει κανένα σφάλμα ή αλλοίωση στις πληροφορίες που επεξεργάζεται, διότι το "σήμα" του μαζί με το θόρυβο παραμένει πάντα εντός των ανεκτών ορίων της χαμηλής ή της ψηλής τάσης, και επομένως ερμηνεύεται σωστά από όποιον το παραλαμβάνει και το ερμηνεύει.

Η τεράστια εξάπλωση των ψηφιακών ηλεκτρονικών συστημάτων, σήμερα, οφείλεται αφ' ενός μεν στην παραπάνω ιδιότητά τους της (συνήθως) αλάνθαστης λειτουργίας, αφ' ετέρου δε στο εξαιρετικά χαμηλό κόστος των ηλεκτρονικών κυκλωμάτων όταν το μόνο που μας ενδιαφέρει στη λειτουργία τους είναι το αν η ηλεκτρική τάση είναι "χαμηλή" ή "ψηλή", και όχι πόσο ακριβώς είναι αυτή. Ταυτόχρονα, τα ψηφιακά συστήματα είναι ιδανικά γιά να παριστάνουν και λογικές πράξεις και διακριτές πληροφορίες (π.χ. κείμενο), --πέρα από ήχο, εικόνα, και αριθμούς-- συμβάλοντας έτσι στην ακόμα πλατύτερη εφαρμογή και εξάπλωσή τους. Το μάθημα αυτό της "Ψηφιακής Σχεδίασης" αποτελεί τη βάση της σχεδίασης των Ψηφιακών Συστημάτων.

Transistors και Διακόπτες:
Τα ψηφιακά συστήματα κατασκευάζονται σήμερα σε μορφή μικροηλεκτρονικών chips (IC - integrated circuit - ολοκληρωμένο κύκλωμα) που περιέχουν το καθένα χιλιάδες ή εκατομμύρια transistors. Τα transistors αυτά, όταν λειτουργούν ψηφιακά, συμπεριφέρονται σαν διακόπτες, που άλλοτε κάνουν επαφή (ανάβουν) και άλλοτε την διακόπτουν (σβήνουν). Φυσικά, δεν υπάρχει κανένα μαγικό χέρι που να αναβοσβήνει αυτούς τους διακόπτες --αυτοί ανοιγοκλείνουν υπο την επίδραση (ψηφιακών) ηλεκτρικών τάσεων. Γιά το λόγο αυτό, θα ξεκινήσουμε τη μελέτη των ψηφιακών συστημάτων μελετώντας απλούς, συνηθισμένους, καθημερινούς διακόπτες.

Διακόπτες εν Σειρά και εν Παραλλήλω:

Όταν το ηλεκτρικό ρεύμα πρέπει να περάσει μέσα από διακόπτες τοποθετημένους στη σειρά ("εν σειρά"), όπως οι διακόπτες A και B στο σχήμα δεξιά, γιά να φτάσει σε μιά συσκευή εξόδου όπως η φωτοεκπομπός δίοδος δεξιά, τότε το ρεύμα θα φτάνει σε αυτή τη συσκευή και αυτή θα ενεργοποιείται μόνον όταν είναι πατημένοι όλοι οι διακόπτες, δηλαδή "A πατημένος ΚΑΙ B πατημένος". Με αυτή την απλή συνδεσμολογία πραγματοποιείται η λογική πράξη ΚΑΙ (AND), την οποία ας συμβολίζουμε προς το παρόν με "A AND B".

Όταν το ηλεκτρικό ρεύμα πρέπει να περάσει μέσα από διακόπτες τοποθετημένους παράλληλα ("εν παραλλήλω"), όπως οι διακόπτες C και D στο σχήμα, γιά να φτάσει στη συσκευή εξόδου, τότε αυτή θα ενεργοποιείται όταν είναι πατημένος τουλάχιστο ένας από τους διακόπτες (ή ο ένας, ή ο άλλος, ή και οι δύο), δηλαδή "C πατημένος Ή D πατημένος". Με αυτή την απλή συνδεσμολογία πραγματοποιείται η λογική πράξη Ή (OR), την οποία ας συμβολίζουμε προς το παρόν με "C OR D".

Οι λογικές πράξεις AND και OR είναι ανάλογες με πλήθος παρόμοιων εννοιών της καθημερινής μας ζωής, π.χ.:

Πίνακας Συμπεριφοράς στις διάφορες Περιπτώσεις ("Πίνακας Αληθείας"):
Η συμπεριφορά των φωτοδιόδων στα δύο παραπάνω κυκλώματα, στις διάφορες περιπτώσεις πατήματος ή μη των διακοπτών, μπορεί να εκτεθεί σ' ένα πίνακα. Τέτοιους πίνακες χρησιμοποιούμε εκτενώς κατά τη σχεδίαση ψηφιακών συστημάτων, και τους ονομάζουμε "Πίνακες Αληθείας":

    διακόπτ.A  διακόπτ.B    LED.1        διακόπτ.C  διακόπτ.D    LED.2
                            (ΚΑΙ)                                 (Ή)
    ελεύθερος  ελεύθερος    σβηστή       ελεύθερος  ελεύθερος    σβηστή
    ελεύθερος  πατημένος    σβηστή       ελεύθερος  πατημένος    αναμένη
    πατημένος  ελεύθερος    σβηστή       πατημένος  ελεύθερος    αναμένη
    πατημένος  πατημένος    αναμένη      πατημένος  πατημένος    αναμένη

Πότε σβήνει η Φωτοδίοδος (Άρνηση και Δυϊσμός):
Όπως είδαμε, η LED.1 ανάβει όταν "(A πατημένος) AND (B πατημένος)", και η LED.2 ανάβει όταν "(C πατημένος) OR (D πατημένος)". Παρατηρήστε ότι, αντίστροφα, η LED.1 είναι σβηστή όταν ο A δεν είναι πατημένος Ή ο B δεν είναι πατημένος, ενώ η LED.2 είναι σβηστή όταν ο C δεν είναι πατημένος ΚΑΙ ο D δεν είναι πατημένος. Με άλλα λόγια, όταν μιλήσουμε γιά το αρνητικό (λογική άρνηση) των εισόδων και το αρνητικό των εξόδων, τότε τη θέση του λογικού ΚΑΙ την παίρνει το λογικό Ή, και τη θέση του λογικού Ή την παίρνει το λογικό ΚΑΙ. Αυτό λέγεται "Αρχή του Δυϊσμού" και αργότερα επίσης θα το δούμε σαν "Θεώρημα De Morgan".

Διακόπτες Θετικοί και Αρνητικοί:

Οι διακόπτες A, B, C, και D, παραπάνω, είναι διακόπτες "συνήθως-σβηστοί" (normally-off), δηλαδή κάνουν επαφή όταν πατιούνται. Όπως είδαμε στο εργαστήριο 0, στην πλακέτα μας έχουμε και διακόπτες "συνήθως-αναμένους" (normally-on), οι οποίοι δηλαδή κάνουν επαφή όταν δεν πατιούνται, αν χρησιμοποιήσουμε τις κατάλληλες επαφές των διακοπτών SPDT. Οι διακόπτες αυτοί μπορούν να χρησιμοποιηθούν γιά τη δημιουργία μιάς τρίτης, εξ ίσου σημαντικής, λογικής πράξης --της άρνησης, ΟΧΙ (NOT). Στο σχήμα δεξιά, ο διακόπτης F είναι του παραπάνω "αρνητικού" τύπου. Κατά συνέπεια, η λυχνία LED.3 ανάβει όταν "(E πατημένος) ΚΑΙ (F ΟΧΙ πατημένος)", το οποίο θα το συμβολίζουμε εν συντομία: "E AND (NOT F)".

Προετοιμασία πριν φτάσετε στο Εργαστήριο:
Σε αυτό και σε όλα τα υπόλοιπα εργαστήρια από 'δώ και μπρος, πριν φτάσετε στο εργαστηριακό σας τμήμα, θα έχετε διαβάσει λεπτομερώς και προσεκτικά ολόκληρη την εκφώνηση της άσκησης, και θα έχετε ετοιμάσει γραπτά, καθαρά, και λεπτομερώς τα πλήρη σχεδιαγράμματα όλων των κυκλωμάτων που σας ζητούνται στην εκφώνηση, καθώς και όλες τις απαντήσεις στα ερωτήματα που σας θέτει η εκφώνηση. Την γραπτή αυτή προεργασία θα την εξετάζει ο βοηθός σας στην αρχή του εργαστηρίου, και θα του την παραδίδετε στο τέλος, από αυτήν δε θα προκύπτει ένα σεβαστό ποσοστό του βαθμού του εργαστηρίου σας. Ένα άλλο σεβαστό ποσοστό θα αντανακλά την από μέρους σας κατανόηση της θεωρίας του μαθήματος που σχετίζεται με το εργαστήριο, όπως αυτή φαίνεται από τις απαντήσεις σας στις σχετικές ερωτήσεις του βοηθού.

Πειράματα 1.1: Λογική με Διακόπτες

Σχεδιάστε (πριν φτάσετε στο εργαστήριο), κατασκευάστε (στο εργαστήριο), ελέγξτε και δείξτε στο βοηθό τα παρακάτω κυκλώματα που σας ζητώνται. Οι διακόπτες A, B, C, D, E, και F είναι οι διακόπτες τύπου κουμπιού στην κάτω πλευρά της πλακέτας, με τη σειρά, από αριστερά προς τα δεξιά. Φτιάξτε το κύκλωμα 1.1.2 χωρίς να χαλάσετε το 1.1.1, και δείξτε και τα δύο στο βοηθό· στη συνέχεια, χαλάστε τα και τα δύο, γιά να μπορέσετε να επαναχρησιμοποιήσετε τους διακόπτες, και φτιάξτε τα 1.1.3 και 1.1.4 μαζί. Γιά καθένα από τα παραπάνω κυκλώματα, φτιάξτε γραπτώς, πριν φτάσετε στο εργαστήριο, τον πίνακα της εξόδου του σε όλες τις διάφορες περιπτώσεις των εισόδων του (δηλαδή τον πίνακα αληθείας του), και διατυπώστε γραπτώς τη συνθήκη γιά το αρνητικό της ζητούμενης εξόδου, δηλαδή το πότε η φωτοδίοδος θα είναι σβηστή --θυμηθείτε την αρχή του δυϊσμού. Στο εργαστήριο, επαληθεύστε τη σωστή συμπεριφορά της εξόδου (αναμένη ή σβηστή) υπό τις παραπάνω διατυπωμένες συνθήκες (λογική διατύπωση, θετική και αρνητική), και σε όλες τις περιπτώσεις των εισόδων στον πίνακα αληθείας.

Πείραμα 1.2: Διακόπτης "Aller-Retour" - Πράξεις Ισότητας και Αποκλειστικού-Ή

Παρατηρήστε ότι σε όλες τις παραπάνω περιπτώσεις υπάρχουν κάποιες καταστάσεις μερικών από τις εισόδους οι οποίες κάνουν την έξοδο "αναίσθητη" στις (ανεξάρτητη από τις) άλλες εισόδους. Γιά παράδειγμα, στο πρώτο-πρώτο παραπάνω κύκλωμα, όπου LED.1 = A AND B, όταν ο ένας διακόπτης είναι ελεύθερος, η LED.1 παραμένει σβηστή ό,τι και να κάνει ο άλλος διακόπτης. Στο δεύτερο παράδειγμα, όπου LED.2 = C OR D, όταν ο ένας διακόπτης είναι πατημένος, η LED.2 παραμένει αναμένη ό,τι και να κάνει ο άλλος διακόπτης.

Σκεφτείτε τώρα τις κρεββατοκάμαρες των σπιτιών, όπου οι διακόπτες γιά τα φώτα είναι συνήθως τύπου "aller-retour", δηλαδή σε όποια κατάσταση και να έχει μείνει ο ένας διακόπτης (π.χ. της πόρτας), ο άλλος διακόπτης (π.χ. του κρεββατιού) μπορεί πάντα να αλλάξει την κατάσταση του φωτός (να το ανάψει ή να το σβήσει). Αυτό επιτυγχάνεται χρησιμοποιόντας διακόπτες διπλών επαφών (SPDT) όπως φαίνεται παρακάτω.

Παρ' ότι αρκούν διακόπτες απλού πόλου (SPDT), το πείραμα είναι πιό ωραίο αν χρησιμοποιήσουμε διακόπτες τύπου μεταγωγού, που στην περίπτωσή μας είναι και διπλού πόλου (DPDT). Χρησιμοποιώντας τέτοιους διακόπτες, φτιάξτε το κύκλωμα που φαίνεται δεξιά. Το κύκλωμα αυτό αποτελείται από ένα άνω ήμισυ και ένα κάτω ήμισυ· οιοδήποτε ένα από τα δύο θα αρκούσε γιά μία κρεββατοκάμαρα. (Στο κάτω ήμισυ, τα δύο χιαστί σύρματα διασταυρώνονται χωρίς να κάνουν επαφή μεταξύ τους).

Γράψτε, πριν πάτε στο εργαστήριο, τον πίνακα αληθείας γιά τη LED.0 και τον πίνακα αληθείας γιά τη LED.7. Παρατηρήστε ότι, ανεξαρτήτως της κατάστασης του ενός διακόπτη, ο άλλος μπορεί πάντα, ανοιγοκλείνοντας, να αναβοσβήσει το φώς. Το άνω ήμισυ κύκλωμα, που οδηγεί τη LED.0, υλοποιεί τη λογική πράξη της "ισότητας", διότι η LED ανάβει μόνον όταν και οι δύο διακόπτες είναι κάτω, ή και οι δύο είναι επάνω, άρα τελικά μόνον όταν οι διακόπτες είναι σε ίδια (ίση) κατάσταση. Το κάτω ήμισυ κύκλωμα, που οδηγεί τη LED.7, υλοποιεί τη λογική πράξη του "αποκλειστικού Ή", διότι η LED ανάβει αποκλειστικά και μόνον όταν ή ο ένας ή ο άλλος αλλά όχι και οι δύο διακόπτες είναι επάνω. Φτιάξτε αυτό το κύκλωμα στο εργαστήριο, και επαληθεύστε πειραματικά τις παραπάνω ιδιότητες.

Πείραμα 1.3: Αποκωδικοποιητής 2-σε-4 με Διακόπτες

Είδαμε στο εργαστήριο 0 ότι οι διακόπτες τύπου μεταγωγού παραμένουν στη θέση όπου τους αφήνουμε, άρα "θυμούνται" την κατάσταση στην οποία έμειναν. Χρησιμοποιώντας αυτή την ιδιότητα, μπορεί κανείς να αφήνει κωδικοποιημένα μηνύματα που να τα βρίσκουν αργότερα άλλοι. Αν έχουμε έναν μόνο διακόπτη στη διάθεσή μας, το πλήθος των διαφορετικών μηνυμάτων που μπορούμε να αφήσουμε είναι εξαιρετικά περιορισμένο: δύο μόνο προκαθορισμένα μηνύματα --ένα που αντιστοιχεί στο διακόπτη αφημένο κάτω, κι ένα που αντιστοιχεί στο διακόπτη αφημένο επάνω.

Αν όμως έχουμε περισσότερους διακόπτες και τους χρησιμοποιούμε όλους σα μιάν ομάδα, γιά να αφήνουμε δηλαδή ένα μόνο μήνυμα μέσω όλων τους κάθε φορά, τότε το ρεπερτόριο των μηνυμάτων μπορεί να είναι μεγαλύτερο. Πόσο μεγαλύτερο; Έστω ότι έχουμε δύο διακόπτες, τον A και τον B. Γιά κάθε μία θέση του A, ο B μπορεί να βρεθεί σε δύο διαφορετικές θέσεις. Άρα, το πλήθος των δυνατών συνδυασμών (καταστάσεων) είναι 2 γιά τον A επί 2 γιά τον B γιά κάθε δυνατή θέση του A, δηλαδή συνολικά 4 καταστάσεις (συνδυασμοί). Θεωρήστε το εξής παράδειγμα.

Δύο φοιτητές συγκατοικούν σε ένα διαμέρισμα, αλλά ο ένας είναι "πρωινός τύπος" (μπράβο του!) ενώ ο άλλος είναι "νυκτερινός τύπος" (κακώς!), κι έτσι δεν πολυ-βλέπονται μεταξύ τους. Με τον καιρό διαπίστωσαν ότι ήθελαν να αφήνουν ο ένας στον άλλον ένα μήνυμα κάθε μέρα, κι ότι τα μηνύματα που χρειάζονταν ήταν τα εξής:

Επειδή τα χαρτάκια και τα στυλό μονίμως τα έχαναν, και επειδή παρακολουθούσαν καλά την ψηφιακή σχεδίαση, αποφάσισαν να αφήνουν τα μηνύματά τους μέσω των δύο φώτων των δύο δωματίων του διαμερίσματος, αφήνοντας τα σε μία από τις τέσσερεις διαφορετικές δυνατές καταστάσεις: σβηστό-σβηστό, σβηστό-αναμένο, αναμένο-σβηστό, αναμένο-αναμένο. [Παρατηρήστε ότι ο κώδικας αυτός είναι πολύ διαφορετικός από το να έχει το κάθε φώς τη δική του, χωριστή σημασία, να είναι δηλαδή ανεξάρτητα μεταξύ τους και όχι "ζευγάρι". Ένας τέτοιος κώδικας, με ανεξάρτητα μεταξύ τους φώτα, θα μπορούσε να είναι: το ένα φώς σημαίνει πήγαινε γιά ψώνια ή μην πάς, και το άλλο φώς σημαίνει μαγείρεψε ή μην μαγειρέψεις· ο κώδικας αυτός θα επέτρεπε το μήνυμα "ψώνισε και μαγείρεψε" (που στον δικό μας δεν υπάρχει), ενώ δεν περιλαμβάνει μήνυμα για πλυντήριο και σκούπισμα.]

Επειδή όμως και πάλι μπερδεύονταν και ξεχνούσαν ποιός συνδυασμός αντιστοιχούσε σε ποιό μήνυμα, κατασκεύασαν τελικά έναν αποκωδικοποιητή 2-σε-4 σύμφωνα με το κύκλωμα που φαίνεται δίπλα. Ο αποκωδικοποιητής αυτός ανάβει πάντα μία και μόνο μία από τις 4 λάμπες εξόδου. Πάνω απο την κάθε λάμπα έβαλαν ένα ημιδιαφανές πλαστικό με γραμμένο επάνω το αντίστοιχο μήνυμα. Έτσι το θέμα έληξε: ο νεο-εισερχόμενος στο διαμέρισμα πρέπει απλώς να κάνει ό,τι του λέει το 1 από τα 4 μηνύματα που είναι πάντα αναμένο!

Κατασκευάστε, ελέγξτε, και δείξτε στο βοηθό το κύκλωμα του αποκωδικοποιητή σας (το μόνο που επιτρέπεται να λείπει είναι τα 4 ημιδιαφανή πλαστικά...). Ο διακόπτης A είναι το μισό μόνο από ένα διακόπτη DPDT τύπου μεταγωγού. Ο διακόπτης B είναι ένας ολόκληρος τέτοιος διακόπτης. Όπως θα μάθετε σε άλλα μαθήματα, το κύκλωμα αυτό έχει την τοπολογία "δυαδικού δέντρου αποφάσεων" (binary decision tree).

Πλήθος Καταστάσεων (Συνδυασμών) n Διακοπτών:

Είπαμε μόλις, παραπάνω, ότι με "μνήμη" ενός μόνο διακόπτη μπορούμε να αφήσουμε ένα από δύο μόνο διαφορετικά μηνύματα. Αν έχουμε στη διάθεσή μας δύο διακόπτες και τους θεωρήσουμε μαζί σαν ομάδα, μπορούμε να τους αφήσουμε σε μία από 4 διαφορετικές καταστάσεις --γιά την κάθε μιά από τις 2 καταστάσεις του πρώτου υπάρχουν 2 διαφορετικοί συνδυασμοί με τις 2 καταστάσεις του δεύτερου.

Γενικότερα, κάθε φορά που προσθέτουμε άλλον έναν διακόπτη στην ομάδα, διπλασιάζεται το ρεπερτόριο των μηνυμάτων: γιά τη μία θέση του νέου διακόπτη έχουμε τα μηνύματα (συνδυασμούς, καταστάσεις) που είχαμε και πριν βάσει των υπολοίπων διακοπτών, και γιά την άλλη θέση του νέου διακόπτη έχουμε άλλα τόσα νέα μηνύματα, καθένα χρησιμοποιώντας έναν από τους συνδυασμούς των υπολοίπων διακοπτών. Έτσι προκύπτει ότι με n διακόπτες μπορούμε να "αφήσουμε" ένα μήνυμα επιλεγμένο από ένα ρεπερτόριο μεγέθους έως 2n διαφορετικών επιτρεπτών μηνυμάτων. Γι' αυτόν ακριβώς το λόγο οι δυνάμεις του 2 παίζουν κεφαλαιώδη ρόλο στους υπολογιστές, και θα τις βλέπετε μπροστά σας τόσο συχνά που σύντομα θα καταλήξετε να τις μάθετε απ' έξω, θέλετε-δεν-θέλετε:


Up to the Home Page of CS-120
 
© copyright University of Crete, Greece.
Last updated: 14 Oct. 2003, by M. Katevenis.