ΕΙΣΑΓΩΓΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ ΥΛΙΚΟΥ ΨΗΦΙΑΚΗΣ ΣΧΕ ΙΑΣΗΣ (Εβδοµάδα 2) Στόχοι Με την ολοκλήρωση αυτού του εργαστηρίου, θα πρέπει να γνωρίζετε: Tη διαδικασία που ακολουθείται για να «κατεβάζετε» ένα σχεδιασµό από τον υπολογιστή σε µια προγραµµατιζόµενη λογική διάταξη (FPGA) για σκοπούς ελέγχου και επαλήθευσης και Tη διαδικασία υλοποίησης ενός κυκλώµατος µε διακριτά στοιχεία στην πλακέτα κατασκευής κυκλωµάτων (breadboard). Επίσης, θα πρέπει να έχετε εξοικειωθεί µε τα διάφορα όργανα και άλλον εργαστηριακό εξοπλισµό που θα χρησιµοποιείτε στην κατασκευή και τον έλεγχο κυκλωµάτων, όπως την Ψηφιακή-Αναλογική Εκπαιδευτική Μονάδα ETS-7000 CE, την εκπαιδευτική πλακέτα προγραµµατιζόµενης λογικής DE1 της Altera, τον ανιχνευτή λογικής κατάστασης (logic-probe) LP-3500, το ψηφιακό πολύµετρο, και τον φορητό ελεγκτή ολοκληρωµένων µικρής και µεσαίας κλίµακας. Τέλος, σ αυτό το εργαστήριο υλικού θα µελετήσετε τις διαφορές µεταξύ των τεχνολογιών TTL και CMOS και θα καθορίσετε πειραµατικά τις αντίστοιχες στάθµες τάσης για τις λογικές τιµές 0 και 1 στις δύο αυτές οικογένειες ολοκληρωµένων. Εξοικείωση µε το Εργαστήριο Ψηφιακής Σχεδίασης Τι πρέπει να γνωρίζετε µε την ολοκλήρωση του εργαστηρίου 2: Τα βασικά χαρακτηριστικά της Ψηφιακής-Αναλογικής Εκπαιδευτικής µονάδας ETS-7000 CE. Τη λειτουργία και τον τρόπο χρήσης του ψηφιακού πολύµετρου. Τη λειτουργία και τον τρόπο χρήσης του λογικού ακροδέκτη (Logic Probe) LP-3500. Τη λειτουργία και τον τρόπο χρήσης του φορητού ελεγκτή ολοκληρωµένων. Τα βασικά χαρακτηριστικά της εκπαιδευτικής διάταξης DE1 (Altera FPGA board) Προσοχή: Η εκπαιδευτική µονάδα ETS-7000 CE πρέπει να τίθεται εκτός λειτουργίας όταν κάνετε οποιεσδήποτε αλλαγές στα κυκλώµατα σας. 1
Μέρος A Έλεγχος Λειτουργικότητας του Σχεδιασµού σας (συνάρτηση Χ ή Υ ή Ζ) στην εκπαιδευτική πλακέτα της Altera. FPGA: Cyclone II, EP2C20F484C7 1. Αντιγράψτε το φάκελο µε όλα τα αρχεία του πρότζεκτ σας στο Desktop και ανοίξτε το αρχείο.qpf που περιέχει τον δικό σας σχεδιασµό. 2. Προσθέστε τα απαραίτητα pins έτσι ώστε οι διακόπτες SW3, SW2, SW1 και SW0 να αντιστοιχούν µε τις µεταβλητές Α, Β, C και D και το LEDG7µε την µοναδική έξοδο του σχεδιασµού σας. 3. Κάντε compilation για να ολοκληρωθεί η διαδικασία καθορισµού των pins και στη συνέχεια φορτώστε τον σχεδιασµό σας στην πλακέτα. (Ο διακόπτης Run/Prog) πρέπει να βρίσκεται στη θέση RUN. 4. Επιβεβαιώστε την ορθή λειτουργία του σχεδιασµού σας (συµπληρώστε τον πίνακα1). 5. Επαναλάβετε τα βήµατα 1 ως 4 για τον 2 ο σχεδιασµό της οµάδας σας και ζητήστε από τον διδάσκοντα να δει τα αποτελέσµατά σας. (Μπορείτε να συνεχίσετε στο µέρος Β, έτσι ώστε να µην χάσετε χρόνο µέχρι να έρθει ο διδάσκοντας) Πίνακας 1: Αποτελέσµατα Altera FPGA board Α (sw3) Β (sw2) C (sw1) D (sw0) Output (Led G7) 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 2
Μέρος Β Υλοποίηση του σχεδιασµού σας στο breadboard µε διακριτά εξαρτήµατα. 6. Υλοποιήστε το κύκλωµα που έχετε σχεδιάσει στην άσκηση 1 στο breadboard χρησιµοποιώντας τους διακόπτες SW3, SW2, SW1 και SW0 ως µεταβλητές Α, Β, C και D και το LED 7 ως την µοναδική έξοδο του σχεδιασµού σας. 7. Ελέγξτε την σωστή λειτουργία του κυκλώµατός δίνοντας όλους τους δυνατούς συνδυασµούς µέσω των διακοπτών SW 0-3 και παρακολουθώντας την έξοδο στο LED 7. 8. Καλέστε τον διδάσκοντα για έλεγχο όταν έχετε επιβεβαιώσει (και συµπληρώσει τον πίνακα 2) την ορθή λειτουργία του κυκλώµατος βάσει της LED7 για κάθε ένα από τους συνδυασµούς εισόδου. Βοήθεια: Αν το κύκλωµα σας παρουσιάζει πρόβληµα (η έξοδος δεν ακολουθεί τον πίνακα αληθείας), τότε πρέπει να χρησιµοποιήσετε το Logic Probe και να αρχίσετε να ψάχνετε για λάθος(η) στις συνδέσεις σας. Καλό θα ήταν να αρχίσετε τον έλεγχο από τους διακόπτες και να ελέγχετε την κατάσταση του σήµατος στην είσοδο και έξοδο της κάθε πύλης. Μερικές ερωτήσεις που θα πρέπει να απαντήσετε κατά τη διαδικασία αποσφαλµάτωσης είναι: Ο διακόπτης δίνει 0 και 1 στην έξοδό του ανάλογα µε τη θέση του; Η πύλη ΝΟΤ µε 1 στην είσοδο δίνει 0 στην έξοδο και αντίστροφα; Υπάρχει τροφοδοσία +5V και Ground σε όλα τα ολοκληρωµένα; Η έξοδος της πύλης AND και της OR είναι σωστή βάσει των σηµάτων εισόδου; Πίνακας 2: Αποτελέσµατα υλοποίησης στο breadboard Α (sw3) Β (sw2) C (sw1) D (sw0) Output (Led 7) 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 3
Μέρος Γ Η πύλη NOT (αντιστροφέας) & επίπεδα τάσης για λογικές τιµές Οι λογικές τιµές True (Αληθής) και False (Ψευδής), ή αλλιώς τιµές της άλγεβρας Boole, που χρησιµοποιούνται στην µαθηµατική ανάλυση της ψηφιακής λογικής, αναπαριστούνται ως στάθµες τάσης στη φυσική υλοποίηση ολοκληρωµένων ψηφιακών κυκλωµάτων. Εδώ, θα καθορίσουµε πειραµατικά τις στάθµες τάσης για πύλες δύο διαφορετικών οικογενειών ολοκληρωµένων (Integrated Circuits ICs): (α) TTL χαµηλής ισχύος (Low-power Schottky Transistor-Transistor Logic), και (β) CMOS (Complementary Metal Oxide Semiconductor). (Στο πρώτο κεφάλαιο του βιβλίου των Mano & Kime, και η σελίδα 7 του παρόντος κειµένου παρέχουν πληροφορίες σχετικά µε λογικές στάθµες, καθώς και τον ορισµό του Περιθωρίου Θορύβου (Noise Margins).) 9. Συνδέστε ένα 74LS04 εξαπλό αντιστροφέα (Hex Inverter), ο οποίος αποτελείται από έξι πύλες ΝΟΤ σε ένα ολοκληρωµένο, και ένα CD4584 (MC14584) µε 6 ΝΟΤ «σκανδαλιστή Schmitt» (Hex Schmitt Trigger Inverter) στο breadboard. Θέστε εκτός λειτουργίας την ETS-7000 CE πριν αρχίσετε την τοποθέτηση των καλωδίων. 10. Συνδέστε τάση τροφοδοσίας και στα 2 ολοκληρωµένα και συνδέστε τη µεταβλητή έξοδο τάσης 0 µέχρι +15V στην είσοδο ενός αναστροφέα από το κάθε ολοκληρωµένο. Ενώστε το κόκκινο καλώδιο του logic probe στα +5V και το µαύρο στο GND. Ενώστε την ακίδα του logic probe στην τροφοδοσία 0~+15 και γυρίστε τον επιλογέα τάσης αριστερόστροφα στο µηδέν. Εικόνα 1. DBM Πολύµετρο L7 CMOS TTL L6 LEDs 11. Για τις διατάξεις TTL και CMOS που θα χρησιµοποιήσουµε στο εργαστήριο αυτό, οι τυπικές τιµές της τάσης που αντιστοιχούν σε λογικό 0 (LO) και λογικό 1 (ΗΙ), είναι 0 και +5 Volts, αντίστοιχα. Ωστόσο, κάθε τύπος αναγνωρίζει ένα εύρος τιµών από 0 έως VILmax Volts σαν λογικό µηδέν και από VIHmin έως +5 Volts σαν λογικό ένα. Τάσεις µε τιµές µεταξύ VILmax και VIHmin δίνουν µια ενδιάµεση λογική στάθµη, η οποία δεν είναι έγκυρη και δεν αντιστοιχεί σε καµιά λογική τιµή. Το logic probe διαθέτει ένα διακόπτη µε τον οποίο µπορούµε να επιλέξουµε ανάµεσα σε στάθµες τάσης TTL ή CMOS, ενώ η πράσινη και κόκκινη φωτοδίοδοι (light-emitting diodes LEDs) δηλώνουν τις αντίστοιχες έγκυρες τιµές για λογικό µηδέν και ένα. Αν κανένα από τα LED δεν ανάβει, τότε η τάση βρίσκεται στη µη-έγκυρη περιοχή. 4
12. Αφού επανελέγξετε το κύκλωµα σας, δώστε ρεύµα στην ETS-7000 CE. ΠΟΤΕ µην ξεπερνάτε τα 5V από την τροφοδοσία 0~15V, στο εργαστήριο αυτό. 13. Χρησιµοποιείστε το ψηφιακό πολύµετρο (Digital Bench Multimeter DBM) για να µετρήσετε την πραγµατική τιµή της παροχής των +5V και καταγράψετε την τιµή στο Vcc στον πίνακα που ακολουθεί, καθώς και στο σηµειωµατάριο σας. 14. Συνδέστε τον θετικό ακροδέκτη του πολυµέτρου και την ακίδα του logic probe στην έξοδο της τροφοδοσίας 0~+15 V και θέστε το διακόπτη του probe στο TTL. Το πράσινο LED πρέπει να ανάβει (έστω αµυδρά). Αυξήστε σταδιακά την τάση τροφοδοσίας γυρίζοντας τον επιλογέα δεξιόστροφα, µέχρι που να σβήσει το πράσινο LED. Καταγράψτε στον πιο κάτω πίνακα (και στο σηµειωµατάριο σας) την τιµή που αναγράφεται στο πολύµετρο, για TTL. Αυτή η τιµή είναι η VILmax. 15. Συνεχίστε να γυρίζετε τον επιλογέα προς την ίδια φορά µέχρι που το κόκκινο LED να ανάψει. Καταγράψτε την τιµή του πολυµέτρου στον πίνακα και στο σηµειωµατάριο σας για τεχνολογία TTL. Αυτή η τιµή είναι η VIHmin. 16. Θέστε τον διακόπτη του probe στο CMOS, γυρίστε τον επιλογέα εντελώς αριστερόστροφα και επαναλάβετε τα βήµατα 5 και 6. Πάρτε τις αντίστοιχες µετρήσεις για CMOS και καταγράψτε τις στον πίνακα και στο σηµειωµατάριο σας. Vcc VILmax VIHmin Logic Probe TTL CMOS 17. Τώρα που έχετε επαληθεύσει τις έγκυρες περιοχές τάσης για το λογικό µηδέν (0) και το λογικό ένα (1) ως (0 έως VILmax) και (VIHmin έως VCC), αντίστοιχα, θα µετρήσουµε τις εξόδους των αντιστροφέων για να ελέγξουµε ότι οι τάσεις τους βρίσκονται µέσα σε αυτές τις περιοχές (βήµατα 18 20). 18. Γυρίστε τον επιλογέα εντελώς αριστερόστροφα και βεβαιωθείτε ότι το κύκλωµα σας ακολουθεί το σχήµα της Εικόνας 1. Συνδέστε τον θετικό ακροδέκτη του ψηφιακού πολυµέτρου (DBM) µε την έξοδο του αντιστροφέα του 74LS04, η οποία συνδέεται επίσης µε το L6 (λαµπτήρας LED 6 της µονάδας ETS-7000 CE). Γυρίστε τον επιλογέα τάσης δεξιόστροφα µέχρι που το L6 να µένει αναµµένο. Καταγράψτε την τιµή του πολυµέτρου για το VOHmin στη στήλη TTL πιο κάτω και στο σηµειωµατάριό σας. 19. Αυξήστε την τάση ελαφρώς πέραν του σηµείου όπου το L6 ανάβει και καταγράψτε την τιµή του πολυµέτρου για το VOLmax στη στήλη TTL πιο κάτω και στο σηµειωµατάριό σας. 20. Συνδέστε τον θετικό ακροδέκτη του ψηφιακού πολυµέτρου µε την έξοδο του αντιστροφέα του CD4584, που συνδέεται επίσης µε το L7, και επαναλάβετε τα βήµατα 18 και 19 για τις αντίστοιχες µετρήσεις CMOS. (Όταν ολοκληρώσετε τις µετρήσεις σας, θέστε την ETS-7000 CE εκτός λειτουργίας.) 5
V OHmin Αντιστροφέας 74LS04 TTL CD4584 CMOS V OLmax Βεβαιωθείτε ότι για όλες τις µετρήσεις (TTL και CMOS) ότι: VOLmax < VILmax, και VOHmin > VIHmin. TTL NM H = V OHmin V IHmin = NM L = V ILmax V OLmax = CMOS NM H = V OHmin V IHmin = Ερωτήσεις: NM L = V ILmax V OLmax = 1. Ποια τεχνολογία, η TTL ή η CMOS, διαθέτει µεγαλύτερη ανοχή στο θόρυβο; Εξηγήστε την απάντηση σας µε δεδοµένα από το πείραµα που κάνατε. 2. είξτε, µε διάγραµµα κυκλώµατος, πώς µπορείτε να φτιάξετε µια πύλη OR 5 εισόδων µε ένα µόνο 74LS32, µε τις λιγότερες καθυστερήσεις µετάδοσης σήµατος από τις εισόδους στην έξοδο. Συµπεράσµατα 1 ου Εργαστηρίου Υλικού Το εργαστήριο αυτό είχε ως στόχο να σάς δώσει µια γενική περιγραφή για το πώς σχεδιάζουµε, προσοµοιώνουµε και υλοποιούµε απλά ψηφιακά κυκλώµατα. Για περισσότερες πληροφορίες πρέπει να ανατρέξετε σε όλα τα βοηθήµατα και εγχειρίδια που αναφέρθηκαν σε αυτό το κείµενο. Με τις γνώσεις που αποκοµίσατε από τα δύο αυτά προπαρασκευαστικά εργαστήρια (Λογισµικού και Υλικού), πρέπει να είστε σε θέση να ολοκληρώσετε τις επόµενες εργαστηριακές σας ασκήσεις, οι οποίες θα είναι αυξανόµενης δυσκολίας και οι οποίες θα σάς βοηθήσουν να κατανοήσετε την ύλη του µαθήµατος και ν αναπτύξετε τις ικανότητές σας στο σχεδιασµό και την υλοποίηση ψηφιακών συστηµάτων. 6
Περιθώρια Θορύβου για Ψηφιακή Λογική (Noise Margins) Output Input NM H = V OHmin V IHmin NM L = V ILmax V OLmax 7
8