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

Εργαστήριο 3:
Πύλες, Transistors, Chips, Αποκωδικοποίηση Διευθύνσεων, και Συνδυαστικά Κυκλώματα

17 - 20 Οκτωβρίου 2012 (βδομάδα 4)
Διδασκαλίες βδομάδων 3-4: Δε.8, Τε.10, Πα.12, και Παρασκευή 19 Οκτωβρίου
[Up - Table of Contents]
[Prev - 2. Relays]
[printer version - PDF]
[4. Karnaugh, RAM - Next]

[Βιβλία: προαιρετικά μπορείτε να διαβάσετε τις σελίδες: Wakerly: 93-117 (§3.1-3.4) (και γιά μελέτη πέραν της ύλης του μαθήματος: §3.5 (σελ. 117-134))· Mano: 57-64, 495-501 (§2.8-2.9, 10.7-10.8)].

Πριν το εργαστήριο, δηλαδή περίπου από 10 έως 16 Οκτωβρίου, πρέπει να περάσετε από το γραφείο του κ. Κρασσά, Β-220 στο προκατασκευασμένο κτήριο, ώρες 8:30 - 15:00, ή κατά τις πρωινές Ελεύθερες Ώρες Εργαστηρίου, γιά να παραλάβετε τα chips του εργαστηρίου --βλ. §3.3. Τα chips αυτά πρέπει να τα επιστρέψετε στο ίδιο μέρος μέχρι τις 15 Ιανουαρίου 2013, αλλοιώς θα θεωρηθεί ότι αποτύχατε στο μάθημα.

3.1   Λογικές Πύλες: Συνθέσιμα, Μονόδρομα Κυκλώματα


Logic gate symbols and Boolean function abbreviations Όπως είπαμε στην § 2.6, χρειαζόμαστε ψηφιακά κυκλώματα συνθέσιμα, που να μπορούμε δηλαδή να τα συνδέουμε ελεύθερα το ένα με το άλλο προκειμένου έτσι να φτιάχνουμε ολοένα και συνθετότερα ψηφιακά συστήματα. Πρέπει επομένως η σύμβαση αναπαράστασης των ψηφιακών τιμών να είναι ίδια στις εισόδους και στις εξόδους, ώστε η κάθε έξοδός τους να μπορεί να τροφοδοτήσει κατευθείαν μία ή περισσότερες εισόδους άλλων τέτοιων κυκλωμάτων. Τέτοια ψηφιακά κυκλώματα που υλοποιούν τις στοιχειώδεις λογικές πράξεις ΚΑΙ, Ή, ΟΧΙ (καθώς και μερικές άλλες παρεμφερείς) τα λέμε Λογικές Πύλες, και τα συμβολίζουμε όπως φαίνεται στο σχήμα. Ειδικά γιά τη λογική αντιστροφή, το κατ' εξοχή σύμβολό της είναι ο μικρός κύκλος στη μύτη του τριγώνου --το τρίγωνο, κατά βάση, συμβολίζει ενίσχυση.

Τα σύμβολα αυτά υποδεικνύουν πάντα κυκλώματα με μονόδρομη ροή της πληροφορίας (δηλαδή της αιτίας αλλαγών κατάστασης) από τις εισόδους τους (αριστερά στο σχήμα) προς τις εξόδους τους (δεξιά στο σχήμα), και ποτέ αντίστροφα. Με άλλα λόγια, στα κυκλώματα αυτά, η τιμή της εξόδου τους καθορίζεται από τις τιμές των εισόδων τους (και μόνο), ενώ οι τιμές των εισόδων τους ουδόλως επηρρεάζονται από το τι συμβαίνει στις άλλες εισόδους ή στις εξόδους τους. Αυτό μας προφυλάσσει από τους κινδύνους γιά τους οποίους --όποιος ενδιαφέρεται-- μπορεί να διαβάσει στο προαιρετικό φυλλάδιο extra03_relayLogic.html, έστω και εάν, μερικές φορές, μας κοστίζει περισσότερο απ' όσο άλλα, πιό "επικίνδυνα" κυκλώματα που θα βρεί ο ενδιαφερόμενος αναγνώστης εκεί.
Relay implementation of logic gates

Οι παραπάνω λογικές πύλες μπορούν να υλοποιηθούν με ηλεκτρονόμους (§ 2.7), όπως φαίνεται δίπλα, αν και σήμερα σπανιότατα χρησιμοποιούνται τέτοιες υλοποιήσεις. Εδώ, η αναπαράσταση των ψηφιακών τιμών είναι: "0" = ανοικτό κύκλωμα (μηδέν ρεύμα), και "1" = ψηλή τάση με δυνατότητα παροχής επαρκούς ρεύματος. Όπως πάντα, η βασική ιδέα της πράξης ΚΑΙ είναι η σύνδεση διακοπτών εν σειρά, ενώ γιά την πράξη Ή θέλουμε διακόπτες εν παραλλήλω. Παρατηρήστε ότι και τα τρία αυτά κυκλώματα εγγυώνται τη μονόδρομη ροή της πληροφορίας που προδιαγράψαμε παραπάνω, αφού το κύκλωμα των διακοπτών των ηλεκτρονόμων (έξοδος πύλης) είναι αδύνατον να επηρρεάσει την τάση ή το ρεύμα του πηνίου τους (είσοδοι πύλης).

Όταν γράφουμε τις λογικές πράξεις σε μορφή κειμένου ή εξισώσεων, επειδή οι λέξεις και, ή, όχι πιάνουν πολύ χώρο, έχουν υιοθετηθεί στη διεθνή βιβλιογραφία άλλα, συντομότερα σύμβολα, όπως φαίνονταν στο αρχικό σχήμα της παραγράφου αυτής, δεξιά από τα σύμβολα των πυλών. Στη γλώσσα προγραμματισμού C, καθώς και στη γλώσσα περιγραφής υλικού Verilog, η πράξη (bitwise) AND συμβολίζεται με "&", η πράξη (bitwise) OR συμβολίζεται με "|", και η πράξη (bitwise) ΝΟΤ συμβολίζεται με "~". Σε βιβλία και κείμενα θεωρίας ψηφιακής σχεδίασης, η πράξη AND συμβολίζεται με μία τελεία --ή και χωρίς αυτήν-- όπως ο πολλαπλασιασμός, η δε πράξη OR συμβολίζεται με ένα σταυρό, όπως και η πρόσθεση. Τη συνήθεια αυτή πρέπει να τη δεί κανείς σαν απλό συμβολισμό, χωρίς κανένα περαιτέρω νόημα ότι δήθεν υπάρχει ομοιότητα ή ταύτιση των λογικών πράξεων AND/OR με τις αριθμητικές πράξεις πολλαπλασιασμού/πρόσθεσης --πρόκειται γιά εντελώς διαφορετικά πράγματα, και απλώς υιοθετούμε το ίδιο σύμβολο γιά λόγους τυπογραφίας και μόνο. Η πράξη ΝΟΤ συμβολίζεται με μία μπάρα πάνω από το όρισμά της· όταν τυπογραφικοί λόγοι καθιστούν δύσκολη τη χρήση μπάρας, χρησιμοποιείται εναλλακτικά ο συμβολισμός "τονούμενο" (prime).

3.2   Λογικές Πύλες σε Τεχνολογία CMOS

Φυσικά, οι υπολογιστές δεν φτιάχνονται πιά με ηλεκτρονόμους αλλά με ολοκληρωμένα κυκλώματα. Τα περισσότερα ολοκληρωμένα κυκλώματα, σήμερα, φτιάχνονται με την τεχνολογία CMOS (complementary MOS - συμπληρωματικά MOS). Τη βάση της τεχνολογίας αυτής αποτελούν τα transistors τύπου "MOS FET" (metal - oxide - semiconductor field-effect transistor): transistor επίδρασης πεδίου τύπου μέταλλο - οξείδιο - ημιαγωγός. Κάθε transistor έχει ένα ηλεκτρόδιο ελέγχου ("πύλη") και δύο ηλεκτρόδια που είναι οι άκρες ενός ημιαγώγιμου "καναλιού". Προσοχή να μην συγχέουμε την "πύλη" του transistor με τις "λογικές πύλες" της παραγράφου 3.1 --πρόκειται γιά δύο άσχετες μεταξύ τους χρήσεις του ίδιου όρου. Η πύλη βρίσκεται "πάνω" από το κανάλι, και επιδρά στην αγωγιμότητά του μέσω ηλεκτρικού πεδίου, χωρίς να κάνει ηλεκτρική επαφή με το κανάλι· γι' αυτό η πύλη δεν διαρρέεται ποτέ από ρεύμα, κι έτσι η τεχνολογία CMOS μπορεί να δώσει chips χαμηλής κατανάλωσης ενέργειας.

Η τεχνολογία CMOS έχει δύο "συμπληρωματικά" είδη transistors: τα τύπου NMOS (negative-channel MOS) με "αρνητικό" κανάλι, και τα τύπου PMOS (positive-channel MOS) με "θετικό" κανάλι. Στα NMOS, το κανάλι δημιουργείται από ελεύθερα ηλεκτρόνια (αρνητικούς φορείς) τα οποία προσελκύει εκεί η τάση της πύλης· επειδή τα ηλεκτρόνια έλκονται από θετικές τάσεις, οι ψηλές τάσεις πύλης αυξάνουν την αγωγιμότητα των καναλιών NMOS. Στα PMOS, το κανάλι δημιουργείται από ελεύθερες "οπές" (έλλειψη ηλεκτρονίων - θετικοί φορείς)· επειδή οι οπές έλκονται από αρνητικές τάσεις, η αγωγιμότητα των καναλιών PMOS αυξάνει με χαμηλές τάσεις πύλης, ενώ μειώνεται με τις ψηλές.
CMOS transistors as switches

Στα ψηφιακά κυκλώματα, τα transistors χρησιμοποιούνται σαν διακόπτες, όπως φαίνεται στο σχήμα. Τα NMOS συμπεριφέρονται σαν "θετικοί" διακόπτες: με ψηλές τάσεις πύλης το κανάλι τους άγει, ενώ με χαμηλές τάσεις πύλης το κανάλι τους γίνεται σαν ανοικτό κύκλωμα. Αντίθετα, τα PMOS συμπεριφέρονται σαν "αρνητικοί" διακόπτες: το κανάλι τους άγει με χαμηλές τάσεις πύλης, και δεν άγει με ψηλές τάσεις. Το σύμβολο του PMOS, όπως φαίνεται στο σχήμα, έχει έναν μικρό κύκλο γιά να μας θυμίζει αυτή την "αρνητική" συμπεριφορά. Επομένως, τα transistors μπορούν να χρησιμοποιηθούν όπως και οι ηλεκτρονόμοι. Κάθε διακόπτης του ηλεκτρονόμου έχει δύο επαφές· το transistor NMOS παίζει το ρόλο της "κάτω" (θετικής) επαφής, και το PMOS της "επάνω" (αρνητικής) επαφής. Η διαφορά με τους ηλεκτρονόμους είναι στη σύμβαση αναπαράστασης των ψηφιακών τιμών: οι είσοδοι (πύλες) των transistors είναι ευαίσθητες στην τάση και όχι στο ρεύμα· έτσι, το μεν 1 παραμένει σαν "υψηλή τάση", αλλά το 0 πρέπει να γίνει "χαμηλή τάση", αντί "ανοικτό κύκλωμα" που ήταν. Κατά συνέπεια, κάθε λογική πύλη πρέπει να περιλαμβάνει όχι μόνο τα κυκλώματα που τροφοδοτούν την έξοδο με ψηλή τάση στις επιθυμητές προς τούτο περιπτώσεις --τα οποία ήδη υπήρχαν-- αλλά και κυκλώματα που να τροφοδοτούν την έξοδο με χαμηλή τάση στις υπόλοιπες περιπτώσεις.


CMOS inverter circuit Στο επόμενο σχήμα φαίνεται η κατασκευή ενός αντιστροφέα σε CMOS· αποτελείται από ένα transistor NMOS κι ένα PMOS, ελεγχόμενα και τα δύο από την τάση εισόδου. Χαμηλή τάση εισόδου προκαλεί άναμα του PMOS και σβήσιμο του NMOS, οπότε η έξοδος συνδέεται αγώγιμα με τη θετική τροφοδοσία και παίρνει ψηλή τάση. Αντίθετα, ψηλή είσοδος προκαλεί άναμα του NMOS και σβήσιμο του PMOS, οπότε η έξοδος συνδέεται αγώγιμα με τη γείωση και παίρνει χαμηλή τάση. Παρατηρήστε ότι η είσοδος δεν συνδέεται αγώγιμα με κανέναν άλλο κόμβο, αφού τροφοδοτεί αποκλειστικά και μόνο πύλες από transistors, και αφού αυτές, όπως είδαμε, είναι ηλεκτρικά μονωμένες από όλους τους γύρω τους ημιαγωγούς. Έτσι εξασφαλίζεται η μονόδρομη ροή πληροφορίας, από την είσοδο προς την έξοδο και ποτέ αντίστροφα, όπως προδιαγράψαμε στην παράγραφο 3.1.
CMOS gate circuits: NAND and NOR

Στο τρίτο σχήμα, στα αριστερά, φαίνεται η κατασκευή των πυλών "ΟΧΙ-ΚΑΙ" (NAND) και "ΟΥΤΕ" (NOR - ΟΧΙ-Ή) σε CMOS. Κάθε πύλη έχει ένα "δίκτυο καθέλκυσης" (pull-down net), αποτελούμενο από transistors τύπου NMOS, γιά να τροφοδοτεί την έξοδο με χαμηλή τάση, κι ένα δυϊκό "δίκτυο ανέλκυσης" (pull-up net), αποτελούμενο από transistors τύπου PMOS, γιά την τροφοδότηση με ψηλή τάση· ο δυϊσμός έγκειται στην ανταλλαγή μεταξύ συνδεσμολογίας σειράς (ΚΑΙ) και παράλληλης (Ή), καθώς και στην ανταλλαγή μεταξύ transistors τύπων NMOS και PMOS. Εάν χρησιμοποιούσαμε transistors NMOS γιά ανέλκυση και PMOS γιά καθέλκυση θα μπορούσαμε να φτιάξουμε πύλες AND και OR· όμως, δυστυχώς, τα NMOS λειτουργούν σαν καλοί διακόπτες μόνο όταν η τάση καναλιού τους είναι χαμηλή, δηλαδή μόνο στα δίκτυα καθέλκυσης, και τα PMOS μόνο με ψηλές τάσεις καναλιού, δηλαδή μόνο σε δίκτυα ανέλκυσης. Στο δεξί μέρος του σχήματος φαίνεται η συμπεριφορά των δύο κυκλωμάτων γιά τους 4 συνδυασμούς τιμών των δύο εισόδων, A και B, επιβεβαιώνοντας έτσι ότι αυτά υλοποιούν τις λογικές συναρτήσεις (AB)', δηλαδή NAND, και (A+B)', δηλαδή NOR. Όπως βλέπουμε, πάντα, ένα και μόνον ένα από τα δίκτυα ανέλκυσης και καθέλκυσης είναι αγώγιμο, καθορίζοντας έτσι την τάση εξόδου, ενώ το άλλο δίκτυο είναι αποκομμένο (ανοικτό κύκλωμα), ούτως ώστε να μην επηρρεάζει την έξοδο και να μην καταναλώνει ενέργεια (ρεύμα τροφοδοσίας).


Photo of the bag of chips that every student receives 3.3   Τα Chips του Εργαστηρίου

Κάθε φοιτητής θα παραλάβει, πριν από το εργαστήριο αυτό, ένα σακκουλάκι με chips όπως αυτό στη φωτογραφία δεξιά, το οποίο θα κρατήσει και θα το επιστρέψει στο τέλος του εξαμήνου. Γιά να το παραλάβετε, περάστε από το γραφείο του κ. Κρασσά, Β-220 στο προκατασκευασμένο κτήριο, ώρες 8:30 - 15:00, ή κατά τις πρωινές Ελεύθερες Ώρες Εργαστηρίου. Τα chips αυτά πρέπει να τα επιστρέψετε στο ίδιο μέρος μέχρι τις 15 Ιανουαρίου 2013, αλλοιώς θα θεωρηθεί ότι αποτύχατε στο μάθημα. Το σακκουλάκι αυτό περιέχει όλα τα chips που θα χρειαστείτε γιά όλες τις εργαστηριακές ασκήσεις μέχρι το τέλος του μαθήματος, εκτός από τα chips μνήμης SRAM του εργαστηρίου 9 τα οποία είναι ακριβά. Τα chips αυτά πρέπει να τα προσέχετε διότι είναι ευπαθή, όπως θα πούμε αμέσως πιό κάτω· αν τα χαλάσετε ή τα κάψετε, θα υποχρεωθείτε να βρείτε και να αγοράσετε καινούργια προκειμένου να κάνετε τα υπόλοιπα εργαστήριά σας. Στο εργαστήριο υπάρχει ένα μηχάνημα ελέγχου των chips, το οποίο μας λέει άν ένα chip που του συνδέομε λειτουργεί σωστά ή είναι χαλασμένο. Αν υποπτεύεστε ότι έχετε κάψει ένα από τα chips σας (και γι' αυτό δεν σας δουλεύει η άσκηση), μπορείτε να απευθυνθείτε στον επόπτη-βοηθό του εργαστηρίου σας προκειμένου εκείνος να ελέγξει με το μηχανημα αυτό το chip σας· όμως, τέτοιους ελέγχους πρέπει να φροντίσετε να ζητάτε σπάνια, διότι άλλως θα δημιουργείται μακριά ουρά αναμονής και καθυστερήσεις από τους πολλούς τέτοιους ελέγχους. Το σακκουλάκι που παίρνει καθένας περιέχει τα εξής chips, με τη σειρά από κάτω-αριστερά προς τα επάνω δεξιά:

Inserting DIP chips into the breadboard

Τα chips αυτά είναι μακρόστενα. Τα μικρότερα από αυτά έχουν 14 ακροδέκτες ("ποδαράκια" - pins) το καθένα, μερικά έχουν 16 ακροδέκτες, και τα μεγαλύτερα έχουν 20. Οι ακροδέκτες βρίσκονται κατά μήκος των δύο μακρυών πλευρών τους --μισοί στη μία και μισοί στην άλλη ("περίβλημα δύο σειρών στη γραμμή" - dual in-line package - DIP). Τα chips αυτά μπαίνουν στην πλακέτα συνδέσεων (§ 0.5) κατά μήκος των κεντρικών αυλακιών της, όπως φαίνεται στο σχήμα δίπλα. Κάθε chip έχει, στη μία στενή πλευρά του, ένα χαρακτηριστικό σημαδάκι (εγκοπή, βαθούλωμα) το οποίο καθορίζει τον προσανατολισμό του chip και τη θέση του κάθε ακροδέκτη του. Όταν η εγκοπή αυτή τοποθετηθεί αριστερά (κοιτώντας το chip από επάνω), τότε η αρίθμηση των pins γίνεται όπως στο σχήμα. Γιά να λειτουργήσουν τα chips χρειάζονται ηλεκτρική τροφοδοσία --θετικό και αρνητικό πόλο. Τα chips αυτού του εργαστηρίου, και τα περισσότερα από τα chips στο σακκουλάκι (αλλά όχι όλα!), παίρνουν τον αρνητικό πόλο της τροφοδοσίας (τη "γείωση") στον κάτω δεξιό ακροδέκτη και τον θετικό πόλο της τροφοδοσίας στον πάνω αριστερό ακροδέκτη, όταν η χαρακτηριστική εγκοπή είναι αριστερά. Τις συνδέσεις αυτές πρέπει να τις κάνετε εσείς, γιά καθένα από τα chips. Η τάση τροφοδοσίας τους είναι 5 Volt (σε αντίθεση με τα περισσότερα σύγχρονα chips που χρειάζονται χαμηλότερες τάσεις τροφοδοσίας --3.3, ή 2.5, ή 1.8 Volt ή άλλες).

Κάθε chip γράφει επάνω τον τύπο του, καθώς και άλλες πληροφορίες. Η επιγραφή είναι δυσαναγνωστη σε μερικά chips, αλλά διαβάζεται ευκολότερα υπό ορισμένες γωνίες, ειδικά αν η επιφάνεια του chip δεν ανακλά το φωτισμό κατ' ευθείαν στα μάτια σας (δηλ. όταν δεν γυαλίζει). Στα περισσότερα chips που θα πάρετε, μπροστά από τον χαρακτηριστικό κωδικό 74 υπάρχουν ένα ή δύο γράμματα, συνήθως "SN" που υποδεικνύει ώς κατασκευάστρια εταιρεία την Texas Instruments, ή "M" που υποδεικνύει την εταιρεία ST Microelectronics. Μετά τον χαρακτηριστικό κωδικό 74 και πριν τον κωδικό του τύπου του chip αυτόν καθεαυτόν (π.χ. "02" γιά NOR, "04" γιά NOT, "08" γιά AND, κ.ο.κ.), υπάρχουν δύο ή τρία γράμματα που υποδεικνύουν την τεχνολογία κατασκευής και το είδος κυκλώματος της πύλης: συνήθως αυτά είναι "LS" (διπολικά transistors, κύκλωμα τύπου "Low-Power Shottky"), "ALS" (Advanced LS), ή "HC" (transistors MOS, κύκλωμα τύπου High-speed CMOS). Όπως είπαμε στην προηγούμενη παράγραφο 3.2, τα περισσότερα σημερινά chips είναι τεχνολογιάς CMOS, και περιέχουν εκατομμύρια (ή τουλάχιστο πολλές χιλιάδες) transistors το καθένα. Όμως, τα chips του εργαστηρίου μας δεν είναι σημερινά --είναι κλασσικά ("παλαιοντολογικά") chips της δεκαετίας του '60, με λίγες μόνο πύλες μέσα το καθένα, ή τουλάχιστο νεότερες, συμβατές παραλλαγές τους. Τα κλασσικά chips της δεκαετίας του '60 δεν ήταν κατασκευασμένα σε τεχνολογία CMOS --η CMOS είναι μεταγενέστερη τεχνολογία-- αλλά με "διπολικά" transistors, σε μιά παλιά τεχνολογία ονόματι "TTL"· τα chips "LS" και "ALS" είναι τέτοια, ενώ τα "HC" είναι νεότερες, συμβατές παραλλαγές των chips εκείνων σε τεχνολογία CMOS.

Πείραμα 3.4:   Γνωριμία με το Chip 7408 (4 πύλες AND)


Circuit to test one AND gate Zoom-in to test circuit for the AND gate Οι φωτογραφίες και το κύκλωμα δείχνουν πώς τοποθετείται ένα chip στην πλακέτα συνδέσεων και πώς τίθεται σε λειτουργία· η μικρή φωτογραφία αποτελεί μεγέθυνση της κεντρικής περιοχής της μεγάλης φωτογραφίας. Πρόκειται απλούστατα γιά μιάν από τις τέσσερεις πύλες ΚΑΙ που περιέχονται σε ένα chip 7408, της οποίας τροφοδοτούμε τις δύο εισόδους από τους διακόπτες A και B της πλακέτας εισόδων/εξόδων, και της οποίας συνδέουμε την έξοδο σε μιά ενδεικτική λυχνία της ίδιας πλακέτας,
Breadboard setup to test one AND gate προκειμένου να ελέγξουμε τη λειτουργία της γιά τους 4 διαφορετικούς συνδυασμούς τιμών των δύο εισόδων A και B. Αφού πρώτα διαβάσετε τις οδηγίες της επομένης παραγράφου, κατασκευάστε --με σβηστή την τροφοδοσία-- το κύκλωμα αυτό (και μην ξεχάστε, πρώτ' απ' όλα, τις συνδέσεις τροφοδοσίας!), δώστε όλους τους συνδυασμούς τιμών εισόδων, και ελέγξτε την ορθότητα της εξόδου. Στο τέλος σβήστε την τροφοδοσία αλλά μην βγάλετε το chip ή τις συνδέσεις τροφοδοσίας του: θα σας χρειαστούν γιά το επόμενο πείραμα.

3.5   Πώς να (μην) Καταστρέψετε ή Κάψετε τα Chips σας...

Εάν επιθυμείτε να κάψετε ή καταστρέψετε ένα ή περισσότερα από τα chips σας, ούτως ώστε να έχετε στη συνέχεια την ευκαιρία να ψάξετε, βρείτε, και αγοράσετε άλλα σε αντικατάστασή τους, σας προτείνουμε να αγνοήστε μία ή περισσότερες από τις παρακάτω οδηγίες:
  1. Στατικός ηλεκτρισμός: Το σώμα μας και τα ρούχα μας μπορεί να έχουν στατικό ηλεκτρισμό αρκετών χιλιάδων Volt --έστω και με πολύ μικρά φορτία-- ιδιαίτερα σε ξηρή ατμόσφαιρα ή όταν φοράμε μάλλινα ρούχα ή παπούτσια με λαστιχένια σόλα· οι τάσεις αυτές μπορεί να αποβούν ολέθριες γιά τα chips. Θυμηθείτε πάντα να εκφορτίζεστε πριν ακουμπήσετε τα chips, ακουμπώντας πρώτα το χέρι σας στην μεταλλική γειωμένη πλάκα που βρίσκεται αριστερά από την πλακέτα συνδέσεων στη βάση πειραμάτων (§ 0.4).

  2. Διακόπτετε την τροφοδοσία όταν κάνετε συνδέσεις: πριν κάνετε ή αλλάξετε συνδέσεις, σβήστε το τροφοδοτικό προκειμένου να μην υπάρχουν τάσεις στην πλακέτα. Ανάψτε το τροφοδοτικό μόνον όταν όλο το κύκλωμά σας είναι εντελώς έτοιμο και σωστό.

  3. Προσανατολισμός των chips: η χαρακτηριστική εγκοπή - σημάδι των chips να είναι πάντα αριστερά, προκειμένου να μην γίνονται λάθος οι συνδέσεις στους ακροδέκτες τους (και ιδιάτερα στους ακροδέκτες τροφοδοσίας --σίγουρη μέθοδος καψίματος).

  4. Οι ακροδέκτες στραβώνουν εύκολα: Chips με στραβωμένα ή κομένα ποδαράκια είναι άχρηστα (και επιβλαβή γιά την πλακέτα συνδέσεων αν τα ποδαράκια σας κοπούν και μείνουν μέσα). Η εξαγωγή των chips από την πλακέτα συνδέσεων πρέπει να γίνεται ασκώντας ίση δύναμη από τις δύο πλευρές (αριστερή-δεξιά) του chip, με το chip αυστηρά οριζόντιο· αν το τραβήξετε απρόσεκτα θα βγεί πλαγιαστό (αριστερά ή δεξιά), οπότε σίγουρα θα στραβώσουν τα ακρειανά ποδαράκια του. Αν δεν έχετε το κατάλληλο εργαλείο εξαγωγής, βάλτε προσεκτικά ένα κατσαβίδι ή άλλο λεπτό και σκληρό αντικείμενο κάτω από το chip, χωρίς να γείρει πλάγια το chip, και μετά ανασηκώστε προσεκτικά το κατσαβίδι, ισόρροπα από τις δύο πλευρές. Όταν βάζετε ένα chip, πιέστε το ισόρροπα αριστερά και δεξιά. Πριν μπορέσει να μπεί το chip, πρέπει τα ποδαράκια του να ακουμπάνε στο κέντρο των τρυπών της πλακέτας, και όχι λίγο προς τα έξω (πάνω και κάτω): σε πολλά chips, ιδιαίτερα όταν είναι καινούργια, οι δύο σειρές ακροδεκτών (η πάνω και η κάτω) βρίσκονται σε απόσταση μεταξύ τους ελαφρώς μεγαλύτερη από την ονομαστική, και γι' αυτό σκαλώνουν --όλοι μαζί οι ακροδέκτες της μιάς ή της άλλης πλευράς-- στις παρειές των τρυπών της πλακέτας συνδέσεων. Δεν οφελεί να πιέσετε ένα-ένα τα ποδαράκια προς τα μέσα με το χέρι, διότι πρέπει να πιεστούν όλα ταυτόχρονα και κατά την ίδια μικρή απόσταση. Βάλτε πρώτα τους ακροδέκτες της μίας πλευράς (π.χ. της επάνω) να ακουμπήσουν σταθερά στις εισόδους των αντίστοιχων τρυπών, και στη συνέχεια χρησιμοποιήστε ένα μικρό χαρακάκι, ή χαρτονάκι, ή πλακίτσα, ή κατσαβίδι, με το οποίο να πιέστε ελαφρά και ομοιόμορφα προς τα μέσα όλους μαζί τους ακροδέκτες της άλλης πλευράς, μέχρις ότου αυτοί να μπούνε από μόνοι τους και χωρίς δύναμη στις εισόδους των τρυπών. Μετά, σπρώχνετε από πάνω το chip προς τα κάτω, ομοιόμορφα στη δεξιά και αριστερή πλευρά.

  5. Τροφοδοσία στους σωστούς ακροδέκτες: κάνετε πάντα στην αρχή και πολύ προσεκτικά τις σωστές συνδέσεις τροφοδοσίας (γείωση, VDD) στους σωστούς ακροδέκτες των chips --έλλειψη ή λανθασμένη τοποθέτηση αυτών αποτελεί σίγουρο τρόπο να κάψετε τα chips.

  6. Βραχυκυκλώματα εξόδων πυλών: Τα chips προσπαθούν να δώσουν στις εξόδους των πυλών τους τη σωστή κάθε φορά τάση, σύμφωνα με τις λογικές πράξεις που κάνουν. Αν συνδέστε (λανθασμένα!) δύο εξόδους τη μία με την άλλη (του ίδιου ή διαφορετικού chip), όταν οι πύλες θέλουν να κάνουν την μία έξοδο 0 και την άλλη 1, προσπαθούν αλλά δεν τα καταφέρνουν, αφού οι δύο έξοδοι είναι βραχυκυκλωμένες μεταξύ τους! Το αποτέλεσμα είναι υπερθέρμανση και κάψιμο των chips!
  7. Βραχυκυκλώματα εξόδου με γείωση ή VDD: Το ίδιο και χειρότερο είναι να συνδέστε μιάν έξοδο πύλης σε μιά τάση τροφοδοσίας (γείωση ή VDD). Αν η σύνδεση είναι με τη γή, όταν η πύλη θέλει να βγάλει 1 προσπαθεί αλλά δεν μπορεί· αν η σύνδεση είναι με το VDD, όταν η πύλη θέλει να βγάλει 0 ομοίως προσπαθεί αλλά δεν μπορεί· και στις δύο περιπτώσεις, έχουμε βραχυκύκλωμα, υπερθέρμανση, και κάψιμο!
  8. Βραχυκυκλώματα εξόδου με είσοδο από την πλακέτα εισόδων/εξόδων: Οι είσοδοι που σας έρχονται από τους διακόπτες της πλακέτας εισόδων/εξόδων μέσω της αριστερής καλωδιοταινίας (§ 2.5) είναι έξοδοι κάποιας πύλης οδήγησης που βρίσκεται πάνω στην πλακέτα εισόδων/εξόδων. Αν βραχυκυκλώστε μιά τέτοια είσοδο προς το κύκλωμά σας με την έξοδο μιάς πύλης σας, θα έχετε τα ίδια αποτελέσματα όπως παραπάνω: όταν οι δύο οδηγητές (η πύλη σας και ο διακόπτης της πλακέτας εισόδων/εξόδων) διαφωνούν μεταξύ τους γιά το ποιά είναι η επιθυμητή τιμή του βραχυκυκλωμένου κόμβου, θα περνάει πολύ ρεύμα και θα υπερθερμαίνονται, με κίνδυνο καψίματος.

  9. Ασύνδετη είσοδος ΔΕΝ είναι (αναγκαστικά) μηδέν (0). (Αυτό δεν αποτελεί αιτία καψίματος, αλλά μόνον αιτία να μη δουλεύει σωστά το κύκλωμά σας). Οι είσοδοι των chips CMOS έχουν πολύ μεγάλη (σχεδόν άπειρη) αντίσταση· άρα, αφήνοντάς τις ανοικτοκυκλωμένες (ασύνδετες) παίρνουν τυχαία, απόβλεπτη τάση (τιμή) (δηλ. θόρυβος, σκουπίδια), και όχι αναγκαστικά 0 ή 1, ούτε καν αναγκαστικά τιμή σταθερή στο χρόνο. Οι είσοδοι των chips TTL συμπεριφέρονται παρόμοια, με μία προτίμηση στο 1 αντί του 0 όταν μένουν ανοικτοκυκλωμένες. Συμπέρασμα: όταν δεν χρησιμοποιείτε μιάν είσοδο μιάς πύλης σας και θέλετε η είσοδος αυτή να είναι πάντα 0 (π.χ. είσοδος μιάς πύλης OR), συνδέστε την στη γείωση. Όταν δεν χρησιμοποιείτε μιάν είσοδο και την θέλετε πάντα 1 (π.χ. είσοδος μιάς πύλης AND), συνδέστε την στη θετική τροφοδοσία (VDD). (Εξαίρεση: οι είσοδοι της πλακέτας εισόδων/εξόδων που οδηγούν τις ενδεικτικές LED έχουν ειδικές αντιστάσεις καθέλκυσης πάνω στην πλακέτα αυτή, οι οποίες την κάνουν να βλέπει "0" όταν εσείς τις αφήνετε ασύνδετες).

Circuit for 2-to-4 decoder using 4 AND gates

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

Όπως είδαμε στην § 2.2, ο αποκωδικοποιητής 2-σε-4 είναι ένα συνδυαστικό κύκλωμα δύο εισόδων, ας πούμε A και B, και τεσσάρων εξόδων, όπου οι έξοδοι ακολουθούν τις εξισώσεις: Out0 = (A')·(B'), Out1 = (A')·(B), Out2 = (A)·(B'), και Out3 = (A)·(B).
Breadboard photo: 2-to-4 decoder using one 7408 chip Αυτό ακριβώς το κύκλωμα φαίνεται στο σχήμα, και η υλοποίησή του με το chip 7408 του προηγουμένου πειράματος φαίνεται στην φωτογραφία. Παρατηρήστε ότι εκμεταλλευόμαστε το γεγονός ότι η πλακέτα εισόδων/εξόδων μας δίνει όχι μόνο τις θετικές τιμές των διακοπτών εισόδου, π.χ. A και B, αλλά και τις αρνητικές τιμές (αρνήσεις) τους, A' και B'· έτσι, δεν χρειαζόμαστε chip 7404 γιά να τις γεννήσουμε. Κατασκευάστε (με την τροφοδοσία σβηστή όπως πάντα) το εικονιζόμενο κύκλωμα στο εργαστήριο, ελέγξτε το, και δείξτε το στον επιτηρητή-βοηθό σας.

Πείραμα 3.7:   Διευθύνσεις Μνήμης και Αποκωδικοποιητής Διευθύνσεων

Στην ενότητα § 1.7 είδαμε τη βασική οργάνωση της Μνήμης σε λέξεις (words), σχεδιαζόμενες οριζόντια σαν γραμμές, αποτελούμενες η κάθεμία από bits, σχεδιαζόμενα κατακόρυφα, σε στήλες. Στην ενότητα εκείνη, και στο αντίστοιχο πείραμα 1.8, η επιλογή της λέξης που θέλαμε εκάστοτε να διαβάσουμε (δηλαδή οι τιμές των bits της να εμφανιστούν στις εξόδους δεδομένων, κάτω) γίνονταν τροφοδοτώντας ηλεκτρικό ρεύμα στο οριζόντιο σύρμα (γραμμή) που αντιστοιχούσε στην επιθυμητή λέξη. Είχαμε επίσης σχολιάσει τότε, στην ενότητα § 1.6, ότι το κύκλωμα γιά το κάθε ένα bit που διαβάζουμε είναι ουσιαστικά ένας μεγάλος πολυπλέκτης.

8-to-1 address decoder using relays, driving an 8x3 ROM Σε μιά μεγάλη μνήμη, με N ας πούμε λέξεις, η επιλογή της λέξης που θέλουμε να διαβάσουμε μέσω του "ανάματος" του αντίστοιχου ενός από τα N σύρματα γραμμής δεν βολεύει, διότι (α) το N είναι μεγάλος αριθμός, άρα πρέπει να έχουμε και να ελέγχουμε πολλά σύρματα εισόδου (ελέγχου), και (β) διότι πρέπει όποιος τροφοδοτεί (ελέγχει) αυτά τα σύρματα να είναι προσεκτικός ώστε πάντοτε ένα και μόνον ένα από αυτά να είναι "αναμένο".

Τη λύση έρχονται να δώσουν οι αποκωδικοποιητές, που τους είδαμε στις § 2.2 και § 2.9. Όπως σχολιάσαμε στην § 2.10, μπορούμε να φτιάξουμε έναν πολυπλέκτη που να περιέχει έναν ενσωματωμένο αποκωδικοποιητή, ούτως ώστε η επιλογή της επιθυμητής εισόδου δεδομένων του πολυπλέκτη να γίνεται μέσω "κωδικοποιημένης" εισόδου επιλογής, με λιγότερα bits, από την οποά ο αποκωδικοποιητής "βρίσκει" ποιάν (μία και μόνο μία) από τις (περισσότερες) εισόδους δεδομένων να επιλέξει --εκείνην που αντιστοιχεί στο συγκεκριμένο συνδυασμό των bits επιλογής. Έτσι, με n = log2(N) bits επιλογής (log2() εννοούμε τον δυαδικό λογάριθμο - το λογάριθμο με βάση 2) μπορούμε να επιλέγουμε μεταξύ N = 2n γραμμών δεδομένων εισόδου. Παραδείγματος χάριν, στο πείραμα § 2.10 είχαμε χρησιμοποιήσει έναν αποκωδικοποιητή 3-σε-8 γιά να φτιάξουμε έναν πολυπλέκτη 8-σε-1: n=3 bits επιλογής αποκωδικοποιούνται στους N=8 συνδυασμούς τους, κι έτσι επιλέγουν την επιθυμητή είσοδο δεδομένων μεταξύ των N=8 υπαρχουσών τέτοιων.

Αυτός ακριβώς είναι ο τρόπος με τον οποίο οργανώνονται οι μνήμες των υπολογιστών και γενικότερα των ψηφιακών συστημάτων, όπως φαίνεται και στο σχήμα. Τα τρία bits επιλογής, A2, A1, A0, αποκωδικοποιούνται στο αριστερό μέρος του κυκλώματος στους οκτώ συνδυασμούς τους, 000, 001, 010,... έως 111. Ο ένας και μόνον ένας συνδυασμός που ισχύει ανά πάσα στιγμή (ο επιλεγμένος συνδυασμός) τροφοδοτεί με ρεύμα (επιλέγει) το αντίστοιχο οριζόντιο σύρμα (γραμμή) και την αντίστοιχη λέξη της μνήμης, και προκαλεί την ανάγνωση της λέξης αυτής, δηλαδή την εμφάνιση των bits της στα (εδώ τρία) κατακόρυφα σύρματα (εξόδους) ανάγνωσης δεδομένων.

Τα bits επιλογής της επιθυμητής λέξης, εδώ τα A2, A1, A0, λέγονται Διεύθυνση Μνήμης (memory address), και γι' αυτό το αριστερό μέρος του κυκλώματος το λέμε αποκωδικοποιητή διευθύνσεων (address decoder). Πρέπει να φανταζόμαστε τη μνήμη σαν ένα μακρύ δρόμο με N σπιτάκια, ένα γιά κάθε λέξη (εμείς τον δρόμο τον σχεδιάζουμε κατακόρυφα, με τα σπιτάκια το ένα κάτω από το άλλο, ίσως σαν ορόφους μιάς μεγάλης πολυκατοικίας ή ενός ουρανοξύστη), και τη Διεύθυνση Μνήμης να την φανταζόμαστε σαν την ταχυδρομική διεύθυνση του κάθε σπιτιού (της κάθε λέξης) --βασικά, οαριθμός του κάθε σπιτιού πάνω σε αυτό το δρόμο. Στο δεκαδικό σύστημα αρίθμησης ταχυδρομικών διευθύνσεων, με τριψήφιους (n=3) αριθμούς σπιτιών μπορούμε να έχουμε N = 103 = 1000 σπιτάκια σε αυτό το δρόμο, με αριθμούς από το 000 μέχρι το 999. Στις ψηφιακές μνήμες, που λειτουργούν με δυαδικά bits, με διευθύνσεις των n=3 bits μπορούμε να έχουμε N = 23 = 8 λέξεις-σπιτάκια σε αυτή τη μνήμη-δρόμο.
Photograph of laboratory setup for driving the ROM

Στο Εργαστήριο κατασκευάστε αυτόν τον αποκωδικοποιητή 3-σε-8 με ηλεκτρονόμους, ο οποίος είναι σχεδόν ίδιος με εκείνον του πειράματος § 2.9, με μιά κρίσιμη εξαίρεση στις τάσεις τροφοδοσίας, όπως λέμε παρακάτω. Τις οκτώ εξόδους αυτού του αποκωδικοποιητή θα τις συνδέσετε στις άκρες μιάς καλωδιοταινίας, όπως φαίνεται στη μεγάλη φωτογραφία παραπάνω και στη λεπτομέρεια της στην παρακάτω φωτογραφία. Η καλωδιοταινία αυτή τροφοδοτεί, όπως δείχνει η φωτογραφία, τις γραμμές (λέξεις) της μνήμης ROM 8x8 του πειράματος 1.8. Έτσι θα έχετε κατασκευάσει το ισοδύναμο του κυκλώματος που περιγράψαμε στην αρχή αυτής της ενότητας, με μόνη τη διαφορά ότι η μνήμη θα είναι πλάτους 8 bits/λέξη, αντί 3 bits/λέξη στο παραπάνω σχήμα. Στην άκρη της καλωδιοταινίας σημειώνονται οι αριθμοί 0 έως 7 (σε δύο θέσεις καθένας): ο αριθμός 0 δείχνει το σύρμα που επιλέγει την πάνω-πάνω λέξη της μνήμης, ο αριθμός 7 το σύρμα που επιλέγει την κάτω-κάτω λέξη, και οι άλλοι τις ενδιάμεσες· και τα δύο σύρματα με τον ίδιο αριθμό επιλέγουν (τροφοδοτούν) την ίδια λέξη (είναι βραχυκυκλωμένα μεταξύ τους, εσωτερικά). Ο ακροδέκτης "NC" (no connection) είναι ασύνδετος.


Detail of ribbon cable end attaching to breadboard (photo) Ένα πράγμα που πρέπει να προσέξετε είναι ότι οι μεν ηλεκτρονόμοι του αποκωδικοποιητή λειτουργούν με τάση τροφοδοσίας 5 Volt, η δε μνήμη ROM και ο ενδείκτης 7-τμημάτων που οδηγεί χρειάζονται τροφοδοσία 12 Volt γιά να ανάβουν καλά. Θυμηθείτε ότι στη μνήμη αυτή και τον ενδείκτη 7-τμημάτων, η τροφοδοσία έρχεται ολόκληρη μόνον από το σύρμα (γραμμή) της επιλεγμένης λέξης· άρα, η επιλεγμένη λέξη πρέπει να φέρνει 12 Volt, και όχι 5. Αυτό επιτυγχάνεται, όπως έδειχνε το σχήμα παραπάνω, τροφοδοτώντας το "δένδρο" αποκωδικοποίησης --από τη ρίζα του!-- με 12 Volt. Χάρις στην απομόνωση που προσφέρουν οι ηλεκτρονόμοι, μεταξύ πηνίου τους και διακοπτών τους, αυτό είναι απόλυτα εφικτό: τα μέν πηνία των ηλεκτρονόμων τροφοδοτούνται με 5 Volt, οι δε διακόπτες τους που ελέγχονται από αυτά "οδηγούν" μέσα από το δένδρο αποκωδικοποίησης μιά τροφοδοσία 12 Volt στην εκάστοτε επιλεγόμενη έξοδο - σύρμα γραμμής. Στις φωτογραφίες φαίνεται καθαρά το κόκκινο σύρμα τροφοδοσίας των 12 Volt και πώς αυτό συνδέεται στον πόλο του διακόπτη του αριστερού bit διεύθυνσης, A2 (οι φωτογραφίες δείχνουν μόνο το διακόπτη A2 --χωρίς τον υπόλοιπο αποκωδικοποιητή).

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

3.8   ROM και Συνδυαστικά Κυκλώματα από Πύλες AND-OR

Παρατηρήστε ότι στο παραπάνω κύκλωμα η μνήμη αποθηκεύει, γιά κάθε bit εξόδου (γιά κάθε λαμπίτσα του ενδείκτη 7-τμημάτων), σε ποιές περιπτώσεις (συνδυασμούς) των bits διεύθυνσης πρέπει αυτή η έξοδος να ανάβει (τιμή της συνάρτησης =1 ή αληθής), και σε ποιές περιπτώσεις να σβήνει. Αυτό, είναι ακριβώς το ίδιο με το τι δείχνει ο πίνακας αληθείας της συνάρτησης --μιλώντας γιά την κάθε έξοδο (λαμπίτσα) σαν συνάρτηση των (τριών) bits εισόδου (διεύθυνσης της μνήμης). Ουσιαστικά, είναι σαν η μνήμη να είναι ο πίνακας αληθείας των 8 συναρτήσεων των 8 εξόδων (LED's)· κάθε θέση της μνήμης που έχει "πριζάκι" αντιστοιχεί σε "1" στον πίνακα αληθείας, και αυτές που δεν έχουν αντιστοιχούν σε "0".

Αυτό μπορούμε να το εκφράσουμε και "επίσημα", με συναρτήσεις AND και OR. Ας πάρουμε σαν παράδειγμα την (αριστερή) έξοδο L2 στο σχήμα της προηγούμενης ενότητας. Αυτή "ανάβει" (χάρις στα πριζάκια W2, C2, F2, H2) στις περιπτώσεις: 000, 010, 101, και 111, δηλαδή στις περιπτώσεις: "000": (NOT A2) AND (NOT A1) AND (NOT A0), "010": (NOT A2) AND (A1) AND (NOT A0), "101": (A2) AND (NOT A1) AND (A0), και "111": (A2) AND (A1) AND (A0). Οι τέσσερεις έξοδοι του αποκωδικοποιητή που τροφοδοτούν αυτές τις τέσσερεις γραμμές υπολογίζουν ακριβώς αυτές τις τέσσερεις συναρτήσεις AND. Ο πολυπλέκτης L2 της μνήμης, από την άλλη, υπολογίζει το OR αυτών των τεσσάρων περιπτώσεων, αφού ανάβει όποτε ανάβει οιαδήποτε από αυτές τις γραμμές. Άρα, συνολικά, η L2 ισούται με το OR των παραπάνω τεσσάρων συναρτήσεων AND. Στην επόμενη ενότητα, άσκηση, και πείραμα, θα κάνουμε την ίδια δουλειά με άλλον τρόπο, και στο επόμενο Εργαστήριο θα δούμε έναν μεθοδικό τρόπο να εξάγουμε και να απλοποιούμε τέτοιες συναρτήσεις.

3.9   Σύνθεση Συνδυαστικών Κυκλωμάτων από τον Πίνακα Αληθείας τους

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


Driving a 7-segment display with A-b-c-d characters Θα χρησιμοποιήσουμε, αρχικά, το παράδειγμα συνδυαστικού κυκλώματος δύο εισόδων και επτά εξόδων που φαίνεται εδώ. Οι έξοδοι οδηγούν τις 7 φωτοεκπομπούς διόδους της ένδειξης 7 τμημάτων (§ 2.5), σε τρόπον ώστε να εμφανίζονται σε αυτήν τα "γράμματα" A, b, c, και d, όταν οι είσοδοι είναι 00, 01, 10, και 11, αντίστοιχα. Γιά να επιτευχθούν τα σχήματα αυτά της οθόνης, πρέπει η κάθε έξοδος να έχει τις τιμές που δείχνει ο παρακάτω πίνακας στον καθένα από τους 4 συνδυασμούς τιμών των εισόδων· τιμή 1 προκαλεί άναμα της αντίστοιχης LED, ενώ τιμή 0 σημαίνει LED σβηστή:

    A  B    a  b  c  d  e  f  g

    0  0    1  1  1  0  1  1  1
    0  1    0  0  1  1  1  1  1
    1  0    0  0  0  1  1  0  1
    1  1    0  1  1  1  1  0  1


Αυτό που φτιάξαμε είναι οι 7 πίνακες αληθείας των 7 συνδυαστικών κυκλωμάτων που θα παράγουν τις 7 εξόδους a, b, ..., g, σαν ψηφιακές δυαδικές συναρτήσεις των 2 εισόδων A και B. Η επόμενη δουλειά μας είναι, με βάση αυτούς τους πίνακες, να φτιάξουμε τα αντίστοιχα κυκλώματα, χρησιμοποιώντας τις λογικές πράξεις (§ 3.1) AND, OR, NOT, και τις υλοποιήσεις τους με ηλεκτρονόμους ή chips. Αυτό θα το κάνουμε εδώ αναγνωρίζοντας, από τον κάθε πίνακα αληθείας, τη λογική συνάρτηση που αυτός αναπαριστά· Προς στιγμήν θα κάνουμε την αναγνώριση αυτή "πρόχειρα", χωρίς συγκεκριμένη μέθοδο, και στο επόμενο εργαστήριο θα αναπτύξουμε μιά μέθοδο που μας επιτρέπει ευκολότερη αναγνώριση "με το μάτι", γράφοντας τις τιμές της συνάρτησης σ' ένα διδιάστατο πίνακα, αντί σε μία κατακόρυφη στήλη. Η πρόχειρη αναγνώριση μας οδηγεί, στο παράδειγμα εδώ, στις λογικές συναρτήσεις:

Driving a 7-segment display with 0-1-2-3 numerals

Άσκηση 3.10:   Οι Αριθμοί 0-3 στην Οθόνη 7 Τμημάτων

Προδιαγράψτε (μέσω του πίνακα αληθείας του) ένα κύκλωμα ανάλογο αυτού της παραγράφου 3.9, που όμως να εμφανίζει στον ενδείκτη 7 τμημάτων τους αριθμούς 0, 1, 2, και 3, όπως φαίνεται δεξιά, αντί των γραμμάτων A, b, c, και d που ενεφάνιζε το προηγούμενο κύκλωμα. Στη συνέχεια, μελετήστε τους πίνακες αληθείας των 7 εξόδων αυτού του κυκλώματος (δηλαδή τις 7 στήλες του πίνακα αληθείας), και εκφράστε κάθε έξοδο σαν μιά λογική συνάρτηση (όσο απλή γίνεται) των δύο εισόδων A και B.
Pin-out diagram of the 7408 (AND) and 7432 (OR) chips

Πείραμα 3.11:   Οι Αριθμοί 0-3 με Πύλες

Υλοποιήστε τις εξισώσεις της παραπάνω άσκησης 3.10 με πύλες AND και OR των chips 7408 και 7432 που έχετε στο σακκουλάκι σας. Η θέση των ακροδεκτών των chips φαίνεται στο σχήμα δεξιά. Πριν το εργαστήριο σχεδιάστε το κύκλωμα με λογικές πύλες της ενότητας § 3.1, σημειώνοντας πάνω σε κάθε ακροδέκτη πύλης AND και OR σε ποιόν αριθμό pin τίνος chip αυτός θα αντιστοιχεί κατά την κατασκευή. Στο εργαστήριο, κατασκευάστε και ελέγξτε το κύκλωμα, και δείξτε το στον επιτηρητή-βοηθό σας. Οι είσοδοί σας τώρα πρέπει να έρχονται από τους διακόπτες της πλακέτας εισόδων/εξόδων, διότι το ανοικτό κύκλωμα των άλλων (σκέτων) διακοπτών όταν αυτοί δεν πατιώνται δεν αποτελεί αποδεκτή είσοδο γιά τα chips (αν επιμένατε να χρησιμοποιήστε απλούς, σκέτους διακόπτες, θα έπρεπε να συνδέστε τις δύο επαφές τους σε γη και τροφοδοσία, και να πάρετε είσοδο στις πύλες από τον πόλο τους). Εκμεταλλευτείτε το γεγονός ότι η πλακέτα εισόδων/εξόδων μας δίνει όχι μόνο τις θετικές τιμές των διακοπτών εισόδου, π.χ. A και B, αλλά και τις αρνητικές τιμές (αρνήσεις) τους, A' και B'· έτσι, δεν χρειαζόμαστε chip 7404 γιά να τις γεννήσουμε. Τροφοδοτήστε με τις 7 εξόδους του κυκλώματός σας τα 7 τμήματα της ένδειξης 7 τμημάτων της πλακέτας εισόδων/εξόδων, όπως και στο προηγούμενο πείραμα 3.11.


[Up - Table of Contents]
[Prev - 2. Relays]
[printer version - PDF]
[4. Karnaugh, RAM - Next]

Up to the Home Page of CS-120
 
© copyright University of Crete, Greece.
last updated: 10 Oct. 2012, by M. Katevenis.