ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ « Σχεδίαση και κατασκευή συστήματος συλλογής δεδομένων (Data Acquisition) με χρήση Η/Υ» Σπουδάστριες: Μιχαλοπούλου Αλίκη Σκορδίλη Κωνσταντίνα Σκορδίλη Κωνσταντίνα Σέρρες Νοέμβριος 2006 Εισηγητής: Πανταζής Ηλίας
Συλλογή δεδομένων Όταν ο αριθμός δεδομένων είναι σχετικά μικρός και η συχνότητα συλλογής αρκετά αργή, τότε η συλλογή δεδομένων μπορεί να γίνει από ένα άτομο, χρησιμοποιώντας χαρτί και μολύβι. Όταν ο αριθμός δεδομένων είναι μεγάλος και η συχνότητα συλλογής αρκετά γρήγορη, τότε απαιτείται χρήση υπολογιστή. Έλεγχος δεδομένων Όταν το κόστος δεν μπορεί να δικαιολογηθεί, τότε ο έλεγχος δεδομένων μιας μηχανής ή ηλεκτρικής συσκευής μπορεί να γίνει με έναν απλό ηλεκτρικό διακόπτη. Άλλες εφαρμογές ελέγχου απαιτούν μια περιπλοκότερη προσέγγιση. Η χρήση υπολογιστή θεωρείται απαραίτητη. Σέρρες Νοέμβριος 2006
Οι ηλεκτρονικοί υπολογιστές χρησιμοποιούνται σε εφαρμογές συλλογής κι ελέγχου δεδομένων μαζί με ειδικές πλακέτες (DA & C) που εγκαθίστανται σε αυτούς και παρέχουν σε αυτές πολλά χρήσιμα χαρακτηριστικά. Σέρρες Νοέμβριος 2006 Ευελιξία προγραμματισμού Μεγάλο χώρο αποθήκευσης Υψηλή υπολογιστική δύναμη Χαμηλότερο κόστος Οι πλακέτες συλλογής και ελέγχου δεδομένων (DA & C) παρέχουν νέες και με δυνατότητα εξέλιξης εφαρμογές για τους υπολογιστές στη βιομηχανία, στην έρευνα, και σε οποιαδήποτε εφαρμογή όπου η συλλογή κι ο έλεγχος δεδομένων είναι απαραίτητος.
Λόγοι χρήσης των ψηφιακών συστημάτων Λόγοι χρήσης των ψηφιακών συστημάτων Αξιοπιστία κατά τη μετάδοση και αναπαραγωγή Δυνατότητα επεξεργασίας Αποθήκευση του σήματος Σέρρες Νοέμβριος 2006
Το κύκλωμα του Interface δρα σαν απομονωτής γραμμών μεταξύ του υπολογιστή και των οποιοδήποτε εξωτερικών κυκλωμάτων ενώ ρυθμίζεται για να καλείται σε μια και μοναδική διεύθυνση σε μια μικρή περιοχή της συνολικής έκτασης εισόδου/εξόδου του υπολογιστή. Τοποθετείται στη θύρα ISA του υπολογιστή Τοποθετείται στη θύρα ISA του υπολογιστή Η διεύθυνση με την οποία καλείται το κύκλωμα του Interface ονομάζεται Base Address και καθορίζεται μέσω μιας ομάδας μικροδιακοπτών. H Base Address του κυκλώματος του Interface είναι ο αριθμός 300 (δεκαεξαδική μορφή) ή 768 (δεκαδική μορφή). H Base Address του κυκλώματος του Interface είναι ο αριθμός 300 (δεκαεξαδική μορφή) ή 768 (δεκαδική μορφή).
Περιγραφή λειτουργίας Περιγραφή λειτουργίας Σέρρες Νοέμβριος
Το 8255 είναι μια προγραμματιζόμενη περιφερειακή συσκευή που εφοδιάζει το PC με 24 ψηφιακές γραμμές. Αποτελείται από τρεις 8-bit πόρτες, την Port A, την Port B και την Port C, κάθε μία από τις οποίες μπορεί να προγραμματιστεί σαν είσοδος ή σαν έξοδος. Port Address Port Address A Base Address + 0 A Base Address + 0 B Base Address + 1 C Base Address + 2 Σέρρες Νοέμβριος 2006
Πρόσθετη λειτουργία της Port C Πρόσθετη λειτουργία της Port C Μπορεί να διασπαστεί σε δύο ομάδες των τεσσάρων ψηφιακών γραμμών, καθεμία από τις οποίες μπορεί να έχει διαφορετικό ρόλο από την άλλη. Port C Port C Lower (PC0 – PC3) Port C Upper (PC4 – PC7) Σέρρες Νοέμβριος 2006
Προγραμματισμός του 8255 Προγραμματισμός του 8255 Βήμα 1 ο : Επιλογή του Control Word για να οριστεί ο ρόλος (είσοδος | έξοδος) κάθε πόρτας. Βήμα 1 ο : Επιλογή του Control Word για να οριστεί ο ρόλος (είσοδος | έξοδος) κάθε πόρτας. Σέρρες Νοέμβριος 2006
Βήμα 2 ο : Με τη βοήθεια της συνάρτησης outportb() υλοποιείται το πρώτο βήμα. Βήμα 2 ο : Με τη βοήθεια της συνάρτησης outportb() υλοποιείται το πρώτο βήμα. Σέρρες Νοέμβριος 2006 outportb (address, byte) Control Word Address = Base Address + 3 όπου byte είναι ένας δεκαδικός αριθμός από το 0 έως το 255
Βήμα 3ο: Εγγραφή και Ανάγνωση. Εγγραφή σε μια πόρτα γίνεται με τη βοήθεια της συνάρτησης outportb() κι ανάγνωση από μια πόρτα γίνεται με τη βοήθεια της συνάρτησης inportb(). Integer_Number = inportb (address) όπου Integer_Number είναι ένας ακέραιος από το 0 έως το 255 Σέρρες Νοέμβριος 2006
Τρόποι λειτουργίας προγραμματισμού - Modes Τρόποι λειτουργίας προγραμματισμού - Modes Mode 0: Απλή είσοδος/έξοδος Mode 0: Απλή είσοδος/έξοδος Mode 1: Latching και Handshaking Mode 1: Latching και Handshaking Mode 2: Αμφίδρομη πόρτα Mode 2: Αμφίδρομη πόρτα Σέρρες Νοέμβριος 2006
Θεωρία δειγματοληψίας Θεωρία δειγματοληψίας Χρόνος μετατροπής (conversion time) Χρόνος μετατροπής (conversion time) Ρυθμός & Συχνότητα δειγματοληψίας (Nyquist) Ρυθμός & Συχνότητα δειγματοληψίας (Nyquist) f s ≥ 2f m όπου f s είναι η συχνότητα δειγματοληψίας (Nyquist) Σέρρες Νοέμβριος 2006 όπου f m είναι η μέγιστη συχνότητα του αναλογικού σήματος
Τεχνική διαδοχικής προσέγγισης Τεχνική διαδοχικής προσέγγισης Σύγκριση τάσης αναφοράς με την δοθείσα τάση προς μετατροπή. Σύγκριση τάσης αναφοράς με την δοθείσα τάση προς μετατροπή. Σέρρες Νοέμβριος 2006
Καταχωρητής διαδοχικών προσεγγίσεων (SAR – Successive Approximation Register) Καταχωρητής διαδοχικών προσεγγίσεων (SAR – Successive Approximation Register) Σέρρες Νοέμβριος 2006
Διαδικασία μετατροπής: Διαδικασία μετατροπής: 1.CS : 0 2.WR : 0, INTR : 1 3.WR : 1 Μεταφορά αποτελεσμάτων στην έξοδο: Μεταφορά αποτελεσμάτων στην έξοδο: 1.CS : 0 2.RD : 0 Περιγραφή λειτουργίας Περιγραφή λειτουργίας Σέρρες Νοέμβριος 2006
Διαβάζεται το περιεχόμενο της πόρτας Α, πολλαπλασιάζεται επί το 5 που είναι η τάση τροφοδοσίας και αποδίδεται στη μεταβλητή volt1. Στη συνέχεια διαιρείται με το 256, γιατί ο A/D είναι ακριβείας 8-bit. Έτσι με μια εντολή εκτύπωσης μπορούμε να δούμε την τάση στην έξοδο κάθε καναλιού. Διαβάζεται το περιεχόμενο της πόρτας Α, πολλαπλασιάζεται επί το 5 που είναι η τάση τροφοδοσίας και αποδίδεται στη μεταβλητή volt1. Στη συνέχεια διαιρείται με το 256, γιατί ο A/D είναι ακριβείας 8-bit. Έτσι με μια εντολή εκτύπωσης μπορούμε να δούμε την τάση στην έξοδο κάθε καναλιού. volt1 = inportb(PORTA) * 5; volt = volt1 / 256; Διαβάζεται το περιεχόμενο της πόρτας Α και αποδίδεται στην μεταβλητή Sgnal, το περιεχόμενο της οποίας πολλαπλασιάζεται με το 5 που είναι η τάση τροφοδοσίας και αποδίδεται σε μια προσωρινή μεταβλητή temp. Στη συνέχεια το περιεχόμενο της temp διαιρείται με το 256 και πολλαπλασιάζεται με 100, γιατί το αισθητήριο θερμοκρασίας μετράει σε mV. Έτσι με μια εντολή εκτύπωσης μπορούμε να δούμε τη μέτρηση του αισθητηρίου. Διαβάζεται το περιεχόμενο της πόρτας Α και αποδίδεται στην μεταβλητή Sgnal, το περιεχόμενο της οποίας πολλαπλασιάζεται με το 5 που είναι η τάση τροφοδοσίας και αποδίδεται σε μια προσωρινή μεταβλητή temp. Στη συνέχεια το περιεχόμενο της temp διαιρείται με το 256 και πολλαπλασιάζεται με 100, γιατί το αισθητήριο θερμοκρασίας μετράει σε mV. Έτσι με μια εντολή εκτύπωσης μπορούμε να δούμε τη μέτρηση του αισθητηρίου. Sgnal = inportb(PORTA); temp = (Sgnal * 5); temp2 = (temp / 256) * 100;
Σέρρες Νοέμβριος 2006 Οι μετατροπείς D/A (Digital-to-Analog) μετατρέπουν μια δυαδική λέξη από κάποιο computer ή άλλο κύκλωμα σε αναλογική τάση. Ανάλυση μετατροπής D/A Ανάλυση μετατροπής D/A Ακρίβεια μετατροπής D/A Στην εργασία έγινε χρήση του ολοκληρωμένου κυκλώματος AD7569, το οποίο είναι ένα 8-bit αναλογικό σύστημα εισόδου/εξόδου που κατασκευάζεται από τη Linear-Compatible CMOS και διαθέτει μετατροπέα D/A και A/D. Χρόνος ηρεμίας
Σέρρες Νοέμβριος 2006 Ανάλυση μετατροπής Ανάλυση μετατροπής Η ανάλυση (resolution) ενός μετατροπέα D/A, είναι ο αριθμός των διαφορετικών επιπέδων αναλογικής τάσης, που μπορεί να παραχθεί κατά την έξοδο. Εξαρτάται από τον αριθμό των bits της εισόδου. Παράδειγμα 4-bit DAC 2 4 = 16 επίπεδα αναλογικής τάσης 8-bit DAC 2 8 = 256 επίπεδα αναλογικής τάσης 12-bit DAC 2 12 = 1024 επίπεδα αναλογικής τάσης
Σέρρες Νοέμβριος 2006 Ακρίβεια μετατροπής Ακρίβεια μετατροπής Η ακρίβεια (accuracy), είναι ένας άλλος σημαντικός όρος στους μετατροπείς D/A και ορίζεται από ±1/2 έως 2LSB. Παράδειγμα Έστω ένα DAC με ακρίβεια ±1LSB, ανάλυση 12-bits και κλίμακα εξόδου 0-5 Volts. Τότε : LSB = 5/2 12 = V =1.22mV Έστω ότι το ίδιο DAC έχει ακρίβεια ±1/2 LSB τότε : ±1/2 LSB = ± V = ±0.61mV
Σέρρες Νοέμβριος 2006 Χρόνος ηρεμίας Χρόνος ηρεμίας Χρόνος ηρεμίας (Settling time) είναι ο χρόνος που χρειάζεται η αναλογική έξοδος για να σταθεροποιηθεί, όταν η δυαδική λέξη εισόδου αλλάζει. Παράδειγμα Έστω μετατροπέας DAC με ανάλυση 8-bit και κλίμακα εξόδου 0-10V. LSB = 10/2 8 = 10/256 = 0.039V 1/2LSB = V 1/2LSB = V
Σέρρες Νοέμβριος 2006 Επιλογή κλίμακας εισόδου/εξόδου (Range) Επιλογή κλίμακας εισόδου/εξόδου (Range) Ο AD7569 παρέχει το δικαίωμα επιλογής κλίμακας (Range) της αναλογικής εισόδου/εξόδου. Ανάλογα με την τροφοδοσία του AD7569 αλλά και την λογική στάθμη του Range, έχουμε και την κατάλληλη κλίμακα. Μονοπολική διαμόρφωση (0V έως +1.25V) Μονοπολική διαμόρφωση (0V έως +2.5V) Μονοπολική διαμόρφωση (0V έως +2.5V) Διπολική διαμόρφωση (±1.25V έως ±2.5V)
Σέρρες Νοέμβριος 2006 Μονοπολική και διπολική διαμόρφωση Μονοπολική και διπολική διαμόρφωση
Σέρρες Νοέμβριος 2006 Μονοπολική λειτουργία Μονοπολική λειτουργία Στη μονοπολική διαμόρφωση με κλίμακα εισόδου/εξόδου 0V έως +1.25V, η ακρίβεια υπολογίζεται : Στη μονοπολική διαμόρφωση με κλίμακα εισόδου/εξόδου 0V έως +1.25V, η ακρίβεια υπολογίζεται : LSB = 1.25/2 8 = 4.88mV Αυτό σημαίνει ότι η τιμή της τάσης εξόδου θα διαφέρει από την θεωρητική τιμή κατά 2.44mV. Όπως βλέπουμε στο σχήμα η μπλε γραμμή που έχουμε τραβήξει περνά ακριβώς από όλες τις κορυφές των δυαδικών παλμών, αυτό σημαίνει ότι ο μετατροπέας είναι γραμμικός. Οι κόκκινες γραμμές αντιπροσωπεύουν το 1/2LSB. Αν δηλαδή κάποιος παλμός ξεπερνούσε και τις κόκκινες γραμμές τότε η έξοδος της αναλογικής Αυτό σημαίνει ότι η τιμή της τάσης εξόδου θα διαφέρει από την θεωρητική τιμή κατά 2.44mV. Όπως βλέπουμε στο σχήμα η μπλε γραμμή που έχουμε τραβήξει περνά ακριβώς από όλες τις κορυφές των δυαδικών παλμών, αυτό σημαίνει ότι ο μετατροπέας είναι γραμμικός. Οι κόκκινες γραμμές αντιπροσωπεύουν το 1/2LSB. Αν δηλαδή κάποιος παλμός ξεπερνούσε και τις κόκκινες γραμμές τότε η έξοδος της αναλογικής Στη μονοπολική διαμόρφωση με κλίμακα εισόδου/εξόδου 0V έως 2.5V, η ακρίβεια υπολογίζεται : Στη μονοπολική διαμόρφωση με κλίμακα εισόδου/εξόδου 0V έως 2.5V, η ακρίβεια υπολογίζεται : LSB = 2.5/2 8 = V= 9.76mV 1/2 LSB 1/2 LSB=2.44mV 1/2 LSB=4.88mV τάσης θα ήταν λανθασμένη.
Περιγραφή λειτουργίας Περιγραφή λειτουργίας Σέρρες Νοέμβριος 2006
Πλεονεκτήματα: Αυξημένη ταχύτητα λειτουργίας. Χρόνος ηρεμίας = Χρόνος καθυστέρησης. Πλεονεκτήματα: Αυξημένη ταχύτητα λειτουργίας. Χρόνος ηρεμίας = Χρόνος καθυστέρησης. Μειονεκτήματα: Κόστος υψηλής υπολογιστικής ισχύς. Περισσότερα μηχανήματα. Μειονεκτήματα: Κόστος υψηλής υπολογιστικής ισχύς. Περισσότερα μηχανήματα. Σύγχρονοι μετρητές Σύγχρονοι μετρητές Ασύγχρονοι μετρητές – Μετρητές κυμάτωσης (ή παλμών) Ασύγχρονοι μετρητές – Μετρητές κυμάτωσης (ή παλμών) Πλεονεκτήματα: 1) Ευκολία στον τρόπο λειτουργίας, 2) ελάχιστες απαιτήσεις σε υπολογιστική ισχύ. Ελάχιστη ποσότητα μηχανημάτων. Πλεονεκτήματα: 1) Ευκολία στον τρόπο λειτουργίας, 2) ελάχιστες απαιτήσεις σε υπολογιστική ισχύ. Ελάχιστη ποσότητα μηχανημάτων. Μειονεκτήματα: Μειωμένη ταχύτητα λειτουργίας. Συσσωρευτικός χρόνος ηρεμίας. Μειονεκτήματα: Μειωμένη ταχύτητα λειτουργίας. Συσσωρευτικός χρόνος ηρεμίας. Σέρρες Νοέμβριος 2006
Ένας μετρητής με n flip-flops μπορεί να έχει 2 n καταστάσεις. Ο αριθμός των καταστάσεων σε ένα μετρητή είναι γνωστός ως mod- αριθμός flip-flops. Στο παράδειγμά μας ο μετρητής είναι 2 3 = 8 καταστάσεων, δηλαδή είναι ένας mod-8 μετρητής. Ένας μετρητής με n flip-flops μπορεί να έχει 2 n καταστάσεις. Ο αριθμός των καταστάσεων σε ένα μετρητή είναι γνωστός ως mod- αριθμός flip-flops. Στο παράδειγμά μας ο μετρητής είναι 2 3 = 8 καταστάσεων, δηλαδή είναι ένας mod-8 μετρητής. Ασύγχρονοι μετρητές – Μετρητές κυμάτωσης Ασύγχρονοι μετρητές – Μετρητές κυμάτωσης Για να κατανοήσουμε καλύτερα τη λειτουργία ενός δυαδικού μετρητή κυμάτωσης θα χρησιμοποιήσουμε το παράδειγμα ενός μετρητή 3-bit. Αυτός υλοποιείται με τρία flip-flops Α, B και C. Με την κάθοδο του παλμού του ρολογιού συστήματος παίρνει είσοδο το flip-flop Α, του οποίου η έξοδος θα γίνει είσοδος για το flip-flop Β. Εν συνεχεία η έξοδος του Β θα γίνει είσοδος του C. Με την κάθοδο του παλμού του ρολογιού συστήματος παίρνει είσοδο το flip-flop Α, του οποίου η έξοδος θα γίνει είσοδος για το flip-flop Β. Εν συνεχεία η έξοδος του Β θα γίνει είσοδος του C. Αν θεωρήσουμε ότι το Α είναι το LSB και το C το MSB, τότε το περιεχόμενο του μετρητή θα είναι η ψηφιακή λέξη CBA. Αν θεωρήσουμε ότι το Α είναι το LSB και το C το MSB, τότε το περιεχόμενο του μετρητή θα είναι η ψηφιακή λέξη CBA. Σέρρες Νοέμβριος 2006
Σχήμα 1 Σχήμα 2
Περιγραφή λειτουργίας & Υλοποίηση σε Turbo C++ Περιγραφή λειτουργίας & Υλοποίηση σε Turbo C++ Σέρρες Νοέμβριος 2006
Για να ξεκινήσει η διαδικασία μέτρησης παλμών πρέπει το ρολόι κάθε μετρητή να πάρει παλμό από κάποια πηγή. Στη δική μας περίπτωση αυτό επιτυγχάνεται χειροκίνητα με τη χρήση ενός button, που έχει τοποθετηθεί επάνω στην πλακέτα. Εδώ θα πρέπει να σημειωθεί ότι στη θέση του button θα μπορούσε να είχε τοποθετηθεί ένα φωτοκύτταρο ή κάποιο άλλο όργανο αλλά λόγω μεγάλου κόστους αποφεύχθηκε. a = inportb(PORTA); b = inportb(PORTB); c = inportb(PORTC); counter1 = (255*b); counter2 = (32768*c); counter = a + counter1 + counter2; Το περιεχόμενο της πόρτας Β υπολογίζεται 255*b, δηλαδή 2 8 =255 που είναι το περιεχόμενο της πόρτας Α, επί το b, που είναι η μέτρηση που δίνουν τα Q1 μέχρι Q8 του πρώτου HEF4040. Το περιεχόμενο της πόρτας C υπολογίζεται 32768*c, δηλαδή 2 15 =32768, που είναι το περιεχόμενο της πόρτας Β, επί το c, Σέρρες Νοέμβριος 2006
που είναι η μέτρηση που δίνουν τα Q9 μέχρι Q12 του πρώτου HEF4040 και τα Q1 μέχρι Q3 του δεύτερου HEF4040. Τέλος ο συνολικός αριθμός παλμών που έχει δοθεί υπολογίζεται ίσος με το άθροισμα των περιεχομένων των τριών πόρτων. Reset μπορούμε να κάνουμε είτε χειροκίνητα με τη βοήθεια ενός button, είτε αυτόματα μέσω του προγράμματος. outportb(CNTRL, 128); outportb(PORTC, 255); outportb(PORTC, 0); Ορίζουμε το Control Word 128 έτσι ώστε όλες οι πόρτες να είναι έξοδοι. Αυτό βέβαια που μας ενδιαφέρει είναι η πόρτα C να είναι έξοδος και συγκεκριμένα το PC7. Στέλνουμε 1 στο PC7 και μετά 0, έτσι ώστε με την αρνητική μετάβαση το PC7 θα δώσει έξοδο 0 για τις πόρτες που είναι συνδεδεμένες επάνω του. Σέρρες Νοέμβριος 2006
Ρύθμιση φωτισμού Ρύθμιση φωτισμού Μέτρηση της θερμοκρασίας Οπτικοί αισθητήρες Compact Disk (CD)