ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
|
|
- Ἀριστείδης Παπαστεφάνου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΟΙΚΟΝΟΜΟΠΟΥΛΟΥ ΕΥΑΓΓΕΛΟΥ ΑΜ: 4200 ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΛΟΓΙΚΟΥ ΑΝΑΛΥΤΗ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΩΣΤΑΣ ΕΥΣΤΑΘΙΟΥ Αριθμός Διπλωματικής Εργασίας : ΠΑΤΡΑ 2003
2
3 ΠΡΟΛΟΓΟΣ Η παρούσα διπλωματική εργασία είχε σαν στόχο τον σχεδιασμό και την υλοποίηση ενός Λογικού Αναλυτή (Logic Analyser ) που ελέγχεται από τον υπολογιστή. Για την υλοποίηση της συγκεκριμένης εφαρμογής βασιστήκαμε στην λειτουργία και τις δυνατότητες ενός Logic Analyser του εμπορίου και προσπαθήσαμε να εξομοιώσουμε τις παραπάνω δυνατότητες στο δικό μας σύστημα. Η ιδέα μιας τέτοιας εφαρμογής αποτελεί μέρος ενός μεγαλύτερου σχεδίου που διεξάγεται στο εργαστήριο Ηλεκτρονικών Εφαρμογών, του Τμηματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Ο σκοπός της είναι η δημιουργία ενός Εργαστηρίου Ηλελτρονικών Οργάνων το οποίο δεν θα υστερεί σε τίποτα από συνηθισμένα εργαστήρια. Τα όργανα τα οποία θα περιλαμβάνει το Desk Top Lab θα είναι τα όργανα που συναντάμαι συνήθως σε ένα τέτοιο χώρο (παλμογράφος, γεννήτρια συχνοτήτων, Logic Analyser, τροφοδοτικό κ.λ.π), όμως το κόστος παραγωγής τους θα είναι μικρότερο και ποιότητα τους σαφώς καλύτερη. Στο σημείο αυτό θα ήθελα να ευχαριστήσω ιδιαίτερα τον κ Κ. Ευσταθίου, για την πολύτιμη βοήθεια του κατά την διεξαγωγή της διπλωματικής εργασίας. Οι γνώσεις και οι εμπειρίες που απέκτησα με την σωστή καθοδήγηση του ήταν πολύτιμες για την περαιτέρω πορέια μου σαν Ηλεκτρολόγος Μηχανικός. Ευχαριστώ επίσης τον κ Γ. Κωνσταντινίδη για την βοήθεια του και την τεχνική υποστήριξη που μου παρείχε. Πάτρα 2003 Οικονομόπουλος Ευάγγελος
4 ΠΕΡΙΕΧΟΜΕΝΑ Κεφάλαιο 1 ΕΙΣΑΓΩΓΗ 1.1 Η Ιδέα του Desk Top Lab Στόχος της διπλωματικής Eργαλεία που Χρησιμοποιήθηκαν για την Υλοποίηση του Συστήματος Η Δομή της Διπλωματικής Κεφάλαιο 2 Η ΘΕΩΡΙΑ ΤΩΝ LOGIC ANALYSERS 2.1 Βασική Λειτουργία και Κύρια Χαρακτηριστικά των Logic Analysers Παραδείγματα από Logic Analysers του Εμπορίου Κεφάλαιο 3 Η ΔΟΜΗ ΤΟΥ ΣΥΝΟΛΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ 3.1 H Δομή του Συνολικού Συστήματος Κεφάλαιο 4 Ο ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΊΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ. 4.1 Η Παράλληλη Θύρα του Υπολογιστή Ο Enhanced Parallel Port Mode (EPP) Το Πρωτόκολλο Επικοινωνίας Υλοποίηση του Πρωτοκόλλου Επικοινωνίας Διαμόρφωση του PLD Τα Βασικά Μέρη Σχεδιασμού τoυ Λογικού Αναλυτή Η Μονάδα Διεπαφής του Συστήματος με τον Υπολογιστή Interface Unit Η Μονάδα Ελέγχου του Συστήματος Control Unit Το FPGA - Μέθοδος Προγραμματισμού της Συσκευής Εισαγωγή στη Σχεδίαση Ψηφιακών Κυκλωμάτων Η Mονάδα Επικοινωνίας με το Εξωτερικό Περιβάλλον Η Μονάδα Αποκωδικοποίησης Εντολών Η Μονάδα Ελέγχου του Ρολογιού Η Μονάδα Ελέγχου του Τrigger
5 4.7.8 Η Μονάδα Διαχείρισης της FIFO Η Sample And Store Unit του Συστήματος Κεφάλαιο 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER 5.1 Εισαγωγή στην Γλώσσα Προγραμματισμού και Γενική Δομή του Προγράμματος Οι Ρουτίνες Ελέγχου του Logic Analyser Ρουτίνες Ελέγχου των Γραφικών του Συστήματος Κεφάλαιο 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 6.1 Απαιτήσεις του Συστήματος σε Λογισμικό Ρυθμίσεις στο PC Πριν την Σύνδεση της Κάρτας Αντιγραφή των Απαραίτητων Αρχείων στο Σκληρό Δίσκο πριν την Εφαρμογή Διαμόρφωση του FPGA Χρήση της Εφαρμογής Εκκίνησης της Εφαρμογής Το Πεδίο Ενεργοποίησης Καναλιών Το Πεδίο Αποστολής Εντολών Το Πεδίο Διαμόρφωσης Καναλιών Το Πεδίο Sample_Info Το Πεδίο Visual Settings Το Πεδίο Διαμόρφωσης του FPGA Κεφάλαιο 7 ΣΥΜΠΕΡΑΣΜΑΤΑ - ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΕΠΕΚΤΑΣΗ 7.1 Συμπεράσματα Προτάσεις για Επέκταση
6 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ
7 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Κεφάλαιο 1: Εισαγωγή 1.1 Η Ιδέα του Desk Top Lab. Η υλοποίηση ενός «Ηλεκτρονικού Εργαστηρίου» αποτέλεσε την ιδέα πάνω στην οποία στηρίχτηκαν μια ομάδα διπλωματικών εργασιών. Σκοπός τους ήταν να κάνουν πιο προσιτή τη χρήση των οργάνων που συναντάμε σε ένα εργαστηριακό περιβάλλον, με τη βοήθεια του ηλεκτρονικού υπολογιστή. Το Desk Top Lab μπορεί πολύ εύκολα και με μικρό κόστος να αντικαταστήσει το υψηλών απαιτήσεων εργαστήριο, ενώ μπορεί να εγκατασταθεί ακόμα και στο σπίτι μας. Κάτι τέτοιο θα βοηθήσει στην εξοικείωση του Ηλεκτρολόγου Μηχανικού με πειράματα και εφαρμογές, που παλαιότερα είχε τη δυνατότητα να κάνει μόνο στο εργαστήριο. Κάθε ένα από αυτά τα όργανα θα υλοποιείται πάνω σε μια κάρτα η οποία θα συνδέεται με ένα PC μέσω της παράλληλης θύρας του. Όλες οι κάρτες θα τοποθετούνται μέσα σε ειδικά διαμορφωμένο κουτί, έτσι το ηλεκτρονικό εργαστήριο στην τελική του μορφή θα είναι ξεχωριστό περιφερειακό που θα μπορεί να συνδέεται είτε εσωτερικά είτε εξωτερικά στον υπολογιστή. Πολύ εύκολα θα μπορεί επίσης να γίνει και η επέκτασή του, προσθέτοντας ή αφαιρώντας κάρτες από το κουτί κάθε φορά που το απαιτούν οι ανάγκες μας. Οι προδιαγραφές σύμφωνα με τις οποίες σχεδιάστηκε το Desk Top Lab, μας δίνουν τη δυνατότητα να λειτουργούν ταυτόχρονα μέχρι και 16 τέτοιες συσκευές, αριθμός υπέραρκετός για τις ανάγκες μας. Ο χρήστης θα ελέγχει τις συσκευές από τον υπολογιστή, μέσα από ένα περιβάλλον Windows ειδικά διαμορφωμένο για κάθε μία. Οι κάρτες που θα εφοδιάζουν το Desk Top Lab είναι οι παρακάτω: Ψηφιακός παλμογράφος (Digital Oscilloscope) Ψηφιακή γεννήτρια (Digital Synthesizer) Γεννήτρια Υψηλών Συχνοτήτων (High Frequency Generator) Γεννήτρια Αυθαίρετων Κυματογράφων (Arbitrary Waveform Generator) Λογικός Αναλυτής (Logic Analyzer) Αναλυτής Φάσματος (Frequency Analyzer) Μετρητής Συχνότητας (Frequency Counter) Ψηφιακό Πολύμετρο (Digital Multimeter) Τροφοδοτικό με έλεγχο ρεύματος και τάσης. Η μόνη απαίτηση για τη λειτουργία του Desk Top Lab είναι ένα PC που διαθέτει λειτουργικό σύστημα Windows. Κάτι τέτοιο βρίσκεται σήμερα σχεδόν παντού και κάνει εφικτή τη λειτουργία του ηλεκτρονικού εργαστηρίου ακόμα στο σπίτι μας. Τα βασικά πλεονεκτήματα που έχει στη η ιδέα αυτή, όπως είπαμε και παραπάνω, είναι το μικρό κόστος και ο ελάχιστος χώρος που καταλαμβάνουν τα όργανα του Desk Top Lab, σε σχέση με τα κοινά όργανα που υπάρχουν στο εργαστήριο, χωρίς όμως κάτι τέτοιο να συνεπάγεται ανάλογη μείωση της ποιότητας τους. Οι υπολογιστές στις ημέρες μας έχουν συνεισφέρει πολλά σε όλους τους τομείς και τους χώρους εργασίας. Πιστεύουμε ότι μια τέτοια προσπάθεια είναι μια ακόμη χρήσιμη εφαρμογή των ηλεκτρονικών υπολογιστών στον εργαστηριακό χώρο του ηλεκτρολόγου μηχανικού. 1-1
8 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.2 Στόχος της διπλωματικής. Στόχος της διπλωματικής είναι η κατασκευή ενός Logic Analyser, (Λογικού Αναλυτή) για το PC. Όπως αναφέρθηκε μία από τις επιδιώξεις του Desk Top Lab είναι η κατασκευή μιας κάρτας η οποία θα υλοποιεί την λογική του Λογικού Αναλυτή και σε συνδυασμό με το PC θα παρέχει στο χρήστη ένα όργανο αξιόπιστο, φθηνότερο και μικρότερο από ότι ένας Λογικός Αναλυτής του Εμπορίου, χωρίς αυτό να συνεπάγεται ανάλογη μείωση της ποιότητας του. Συγκεκριμένα η κάρτα πάνω στην οποία υλοποιούμε τον Logic Analyser συνδέεται με το PC μέσω της παράλληλης θύρας. Η κάρτα με την απαραίτητη hardware λογική θα ελέγχεται από ένα Visual περιβάλλον και το ψηφιακό σήμα το οποίο δειγματοληπτείται από τον Λογικό Αναλυτή αναπαρίσταται στην οθόνη του PC αντικαθιστώντας με αυτό τον τρόπο την οθόνη του οργάνου στο εργαστήριο. Η διεπαφή ανάμεσα στο σύστημα χειρισμού και στην κάρτα πραγματοποιείται μέσω της παράλληλης θύρας. Στο σημείο αυτό θα δούμε τα χαρακτηριστικά και τις προδιαγραφές του Λογικού Αναλυτή τον οποίο υλοποιήσαμε. Πρέπει να σημειώσουμε ότι η λογική που ακολουθήσαμε ήταν να εξομοιώσουμε τις λειτουργίες και τις δυνατότητες που έχουν οι Λογικοί Αναλυτές του εμπορίου, έτσι ώστε η χρήση του δικού μας να μην διαφέρει από αυτούς.τα κύρια χαρακτηριστικά του Λογικού Αναλυτή είναι τα παρακάτω: Επιλογή συχνότητας δειγματοληψίας από 4,494/255 ΜHz έως και 4,494 ΜHz με δυνατότητα αύξησης της συχνότητας δειγματοληψίας μέχρι τα 50MHz. 8 κανάλια δειγματοληψίας. Δυνατότητα ενεργοποίησης\ απενεργοποίησης αλλά και αναδιάταξης των καναλιών. Δυνατότητα αποθήκευσης και αναπαράστασης έως και 1024 δειγμάτων. Δυνατότητα επιλογής του time/division για μια κλίμακα από 5ns/div έως και 1s/div. Δυνατότητα επιλογής του trigger_pattern αλλά και του trigger_position. Δυνατότητα μετακίνησης ανά δείγμα αλλά και ανά Division. Δυνατότητα λειτουργίας τόσο σε RUN mode όσο και σε Single mode. Δυνατότητα επιλογής του πάχους της γραμμής (intensity). Εκτός όμως από τα παραπάνω χαρακτηριστικά το User Interface του Logic Analyser παρέχει στο χρήστη και κάποιες επιπλέον δυνατότητες που είναι οι εξής: Δυνατότητα μετακίνησης σε οποιοδήποτε δείγμα απευθείας. Δυνατότητα επιλογής στο χρώμα του σήματος κάθε καναλιού αλλά και των αξόνων. Επιλογή του πάχους των αξόνων. Άμεση πληροφόρηση για την τιμή κάθε δείγματος. Ένδειξη του αριθμού του τρέχοντος δείγματος. 1-2
9 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.3 Eργαλεία που Χρησιμοποιήθηκαν για την Υλοποίηση του Συστήματος. Για το σχεδιασμό όσο και για την υλοποίηση του συστήματος του Logic Analyser χρησιμοποιήθηκαν κάποια αναπτυξιακά εργαλεία, τα οποία επιλέχτηκαν έτσι ώστε να μας εξυπηρετούν και να ικανοποιούν τις απαιτήσεις μας. Αυτές ήταν η κατασκευή του Board στο οποίο βρίσκεται όλο το σύστημα μας, καθώς επίσης και ορισμένες συσκευές για τις οποίες απαιτείται ο προγραμματισμός τους πριν χρησιμοποιηθούν. Οι συσκευές αυτές είναι ένα PLD της ATMEL το ATF22V10 και ένα FPGA της ALTERA το EPF8452ALC84-3, τα οποία απαιτούν συγκεκριμένο Software των αντιστοίχων εταιριών για να μπορέσουν να χρησιμοποιηθούν σε εφαρμογές. Πιο συγκεκριμένα τα εργαλεία που χρησιμοποιήσαμε είναι τα παρακάτω: Το σχεδιαστικό πακέτο MAX + PLUS II της Altera (Version 7.1) με το οποίο έγινε ο σχεδιασμός και η εξομοίωση των ψηφιακών κυκλωμάτων στο FPGA που χρησιμοποιήσαμε. Όλα τα σχηματικά των ψηφιακών κυκλωμάτων που παρουσιάζονται στη διάρκεια της διπλωματικής δημιουργήθηκαν στον Schematic Editor του προγράμματος. Κάποια από τα κυκλώματα μάλιστα έγιναν σε γλώσσα περιγραφής υλικού της ALTERA (AHDL), τα οποία συνδυάστηκαν με τα σχηματικά διαγράμματα, προκειμένου να γίνει πιο εύκολα ο σχεδιασμός. Με τον Compiler που διαθέτει δημιουργήθηκε και το αρχείο που χρησιμοποιήσαμε για να κάνουμε το Configuration της συσκευής πάνω στο Board. Τέλος με τη χρήση του Timing Analyzer έγινε πρόβλεψη των καθυστερήσεων στους χρονισμούς των κρίσιμων μονοπατιών, όπου υπήρχε ανάγκη. Η WinCulp της Atmel, η οποία χρησιμοποιήθηκε για το σχεδιασμό των Boolean συναρτήσεων στο PLD και τη δημιουργία του κατάλληλου αρχείου για τον προγραμματισμό του. Το πρόγραμμα διαθέτει επίσης και περιβάλλον λογικής εξομοίωσης (WinSim), με το οποίο έγινε ο έλεγχος του τελικού σχεδίου. Ο Programmer MICROMASTER LV 48, της ICETECH, που χρησιμοποιήθηκε για τον τελικό προγραμματισμό του PLD. Το Advanced Schematic Capture (Version 5.1) από την PROTEL που χρησιμοποιήθηκε, σαν πρώτο βήμα, για τη δημιουργία των κυκλωμάτων του συστήματος σε σχηματικά διαγράμματα. Το Advanced PCB Design (Version 5.1) από την PROTEL που χρησιμοποιήθηκε για την τοποθέτηση όλων των εξαρτημάτων πάνω στην πλακέτα. Έτσι έγινε το επόμενο βήμα όπου καθορίστηκε η τοπολογία των συσκευών σε πραγματικές διαστάσεις. Το Advanced PCB Router (Version 5.1) από την PROTEL, με το οποίο έγινε η μετατροπή των λογικών συνδέσεων, μεταξύ των εξαρτημάτων, σε αγώγιμες γραμμές πάνω στην πλακέτα. Με τη βοήθεια του Router Καθορίσαμε σημαντικές παραμέτρους, όπως τα πάχη των γραμμών και τα μεγέθη των vias έτσι ώστε να αποφευχθούν ανεπιθύμητα βραχυκυκλώματα. Αυτό ήταν και το τελικό βήμα στο σχεδιασμό της πλακέτας το οποίο μας έδωσε τη δυνατότητα να την κατασκευάσουμε. 1-3
10 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ Το μηχάνημα κατασκευής πρότυπων πλακετών, LPKF, με το οποίο «τυπώθηκε» η πλακέτα χρησιμοποιώντας το τελικό σχέδιο από το Protel. Το μηχάνημα δημιουργίας των plated through, LPKF, με το οποίο έγινε η επιμετάλλωση στα vias στα σημεία των pins των εξαρτημάτων. Η γλώσσα προγραμματισμού Visual Basic (Version 6.0), με την οποία έγινε η δημιουργία του Interface του Logic Analyser. Με αυτό ο χρήστης μπορεί να επικοινωνεί με τον Logic Analyser και να δίνει τις εντολές που χρειάζονται για τη ρύθμιση των διαφόρων επιλογών της. Το περιβάλλον επικοινωνίας είναι γραφικό (περιβάλλον Windows),κάτι που αυξάνει τις δυνατότητες μας ενώ επίσης κάνει πιο εύκολη τη χρήση του. 1-4
11 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.4 Η Δομή της Διπλωματικής. Η παρούσα διπλωματική εργασία χωρίζεται σε ενότητες κεφάλαια.όπως αναφέρεται η εκπόνηση της έγινε τμηματικά για αυτό ακριβώς το λόγο θεωρείται απαραίτητο να εξηγήθεί αρχικά τη δομή του συνολικού συστήματος και στη συνέχεια να αναλυθεί σε κάθε κεφάλαιο χωριστά το κάθε τμήμα της. Η δομή της διπλωματικής έχει ως εξής : Στο κεφάλαιο 1 (Εισαγωγή) δώθηκε ο στόχος της διπλωματικής, η ιδέα του Desk Top Lab μέρος του οποίου είναι και η υλοποίηση του Logic Analyser και ο τρόπος με τον οποίο υλοποιήθηκε το παραπάνω σύστημα, με βάση τα εργαλεία που χρησιμοποιήθηκαν. Το κεφάλαιο 2 αναφέρεται γενικότερα για τους Logic Analysers, για τις δυνατότητες που προσφέρουν, τις προδιαγραφές και τις απαιτήσεις τους. Για να γίνει πιο κατανοητό δώθηκαν δύο παραδείγματα από δύο Logic Analysers του εμπορίου. Στο κεφάλαιο 3 δίδεται μια συνολική εικόνα του συστήματος τόσο για το software όσο και για το hardware και περιληπτικά ο τρόπος με τον οποίο το υλοποιήθηκε βάση των ανάγκών της εφαρμογής. Στο κεφάλαιο 4 παρουσιάζεται την δομή του hardware εξηγώντας αναλυτικά τα τμήματα από τα οποία αποτελείται δίνοντας έμφαση στην σχεδίαση του FPGA το οποίο είναι και η καρδιά του συστήματος. Παράλληλα εξηγείται το πρωτόκολλο επικοινωνίας του υπολογιστή με την κάρτα και τον τρόπο με τον οποίο αυτό υλοποιήθηκε. Θεωρώντας το απαραίτητο για την κατανόηση της εφαρμογής δώσαμε απαραίτητα στοιχεία για την λειτουργία της παράλληλης θύρας και κυρίως για τον EPP τρόπο λειτουργίας της. Στο κεφάλαιο 5 εξηγείται το σύστημα χειρισμού του Logic Analyser κυρίως όσο αφορά τον τρόπο επικοινωνίας με το hardware. Εξηγήσαμε τις βασικές ρουτίνες με τις οποίες δίνουμε εντολές στο hardware και κάποια στοιχεία για τις βασικές ρουτίνες γραφικών. Θεωρώντας ανούσια την παρουσίαση του κώδικα γραμμή προς γραμμή εξηγήσαμε την βασική λειτουργία των ρουτινών. Το κεφάλαιο 6 αποτελεί το εγχειρίδιο χρήσης του συστήματος και στο οποίο εξηγήσαμε βήμα προς βήμα την χρήση του, τις απαιτήσεις του καθώς και όλες τις ενέργειες που πρέπει να κάνει ο χρήστης πριν το θέσει σε εφαρμογή. Στο κεφάλαιο 7 τέλος παρουσιάσαμε κάποια συμπεράσματα από την όλη εφαρμογή καθώς και προτάσεις για επέκταση. 1-5
12 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1-6
13 ΚΕΦΑΛΑΙΟ 2 Η ΘΕΩΡΙΑ ΤΩΝ LOGIC ANALYSERS
14 ΚΕΦΑΛΑΙΟ 2 Κεφάλαιο 2. Η θεωρία των Logic Analysers Η ΘΕΩΡΙΑ ΤΩΝ LOGIC ANALYSERS 2.1 Βασική Λειτουργία και Κύρια Χαρακτηριστικά των Logic Analysers. Βασική λειτουργία των οργάνων αυτών είναι η ανάλυση και απεικόνιση ψηφιακών δειγμάτων. Απεικονίζουν τα δεδομένα σε κάποια οθόνη, σε στάθμες high-low ή σε μορφή οικεία στο χρήστη (δεκαδική, δυαδική, δεκαεξαδική, οκταδική ή ακόμα και ΑSCII). Xρησιμοποιούνται για τον έλεγχο της σωστής λειτουργίας ψηφιακών κυκλωμάτων από πολύ απλά ολοκληρωμένα ή τυπωμένα κυκλώματα μέχρι και τον έλεγχο επεξεργαστών. Η κοινή λογική μας οδηγεί να θεωρήσουμε δύο τύπους Λογικών Αναλυτών. Ο πρώτος τύπος είναι ένας Logic Analyser που μας επιτρέπει timing analysis ενώ ο δεύτερος state analysis. Στην πραγματικότητα τα όργανα χρησιμοποιούν ένα συνδυασμό αυτών των δύο συναρτήσεων. Ο State Analyser επιτρέπει να ελέγχουμε πότε η ακολουθία σε ένα ψηφιακό κύκλωμα ταιριάζει με την αναμενόμενη. Σε αυτή λοιπόν την περίπτωση ο Logic Analyser πρέπει να μπορεί να λειτουργεί με την ταχύτητα του ρολογιού δειγματοληψίας (Λειτουργεί σύγχρονα). Ο Timing Analyser χρησιμοποιείται συχνά για να προσδιορίσει την αιτία ενός σφάλματος το οποίο εντοπίστηκε από τον State Analyser. Μας επιτρέπει να βρούμε για παράδειγμα εάν ένα σήμα εμφανίστηκε νωρίτερα ή αργότερα από ότι έπρεπε ή αν ένα glitch δημιούργησε λάθος σήμα trigger. O Logic Analyser λειτουργεί ασύγχρονα σε αυτή την περίπτωση. Το είδος της εφαρμογής μας υποδεικνύει τον Logic Analyser που χρειαζόμαστε. Όταν λοιπόν διαλέγουμε ένα Lοgic Analyser τα σημαντικά κριτήρια μας είναι η ταχύτητα, το εύρος και ο αριθμός δειγμάτων που μπορεί να αποθηκεύσει. Με άλλα λόγια θα πρέπει να έχει την ικανότητα να εντοπίζει τα διάφορα events όσο πιο γρήγορα μπορεί και να προσφέρει ένα μεγάλο αριθμό καναλιών και χωρητικότητα μνήμης. Η τρέχουσα εφαρμογή μας μπορεί να απαιτεί ένα Logic Analyser που να υπερτερεί σε ένα ή δύο από αυτά τα πεδία. Όσο όμως η συχνότητα του ρολογιού αυξάνεται και αυξάνεται και η πολυπλοκότητα του κυκλώματος το οποίο εξετάζουμε και οι τρεις αυτοί παράγοντες αποκτούν κρίσιμο ρόλο για την σωστή λειτουργία του Logic. Ένα βασικό χαρακτηριστικό των Logic Analysers είναι η ακρίβεια των δεδομένων τα οποία αποκτούμε. Για να έχουμε την δυνατότητα να δούμε την απαραίτητη πληροφορία οποιαδήποτε στιγμή θέλουμε, απαιτείται ένα το κατάλληλο σύστημα σκανδαλισμού (triggering). Σε αρκετούς Logic Analysers χρησιμοποιείται μια πολλών επιπέδων trigger συνθήκη έτσι ώστε να μπορεί να μεταβληθεί οποιαδήποτε στιγμή. Με τον όρο trigger συνθήκη εννοούμε την τιμή την οποία αναζητάμε μέσα στα δείγματα που λαμβάνουμε. Με πολλαπλές τέτοιες συνθήκες μπορούμε να αναζητήσουμε ταυτόχρονα αρκετές τιμές μέσα στα δείγματα μας. Θα πρέπει ο Logic να έχει την ευελιξία να κινείται γρήγορα μέσα στα δεδομένα και να βρίσκει την πληροφορία που επιθυμούμε. Για αυτό το λόγο το triggering το πώς δηλαδή ο Logic προσδιορίζει πότε πρέπει να πάρει δεδομένα είναι πολύ σημαντικός παράγοντας. Όταν εξετάζουμε το πρόβλημα σε ένα πολύπλοκο κύκλωμα θα πρέπει να έχει την δυνατότητα να απεικονίζει ένα πλήθος από σήματα και να αναζητά timing violations, glitches, or setup and hold violations. Μερικά ακόμα χαρακτηριστικά των Logic Analysers είναι ο αριθμός των καναλιών που διαθέτουν για να δειγματοληπτούν το ψηφιακό σήμα. Ο αριθμός αυτός είναι συνήθως 8, 16 ή και 32 κανάλια. 2-1
15 ΚΕΦΑΛΑΙΟ 2 Η ΘΕΩΡΙΑ ΤΩΝ LOGIC ANALYSERS Οι εφαρμογές όμως σήμερα όχι μόνο αυξάνουν σε ταχύτητα αλλά και σε μέγεθος. Απαιτείται ένας μεγάλος αριθμός καναλιών για να καλύψουμε τα σήματα εισόδου και εξόδου της συσκευής που θέλουμε να ελέγξουμε. Είναι εξίσου σημαντικό καθένα από αυτά τα κανάλια να μπορεί να υποστηρίξει την μέγιστη ταχύτητα δειγματοληψίας. Είναι πολύ πιθανό να θέλουμε να δούμε όλες τις εισόδους αλλά και όλες τις εξόδους με ένα resolution της τάξεως των nanoseconds. Σε περιπτώσεις ελέγχου πολύπλοκων κυκλωμάτων χρησιμοποιούμε Logic Analysers και με 100 κανάλια. Ανάλογα με τον αριθμό των καναλιών διαμορφώνεται η μνήμη την οποία χρησιμοποιούμε για να αποθηκεύσουμε τα δείγματα μας. Έτσι στην περίπτωση που κάποιος Logic Analyser διαθέτει 32 κανάλια θα πρέπει οι θέσεις μνήμης να είναι των 32-bits, αφού το κάθε κανάλι λαμβάνει ένα bit του δείγματος. Οι μνήμες που χρησιμοποιούνται στους Logic Analysers ποικίλουν στο μέγεθος. Ακόμη υπάρχει ένα συγκεκριμένος αριθμός δειγμάτων των οποίων το σήμα μπορεί να αναπαρίσταται ταυτόχρονα στην οθόνη του οργάνου. Στα περισσότερα λοιπόν συστήματα ο χρήστης μπορεί να ομαδοποιήσει ένα αριθμό καναλιών και να ελέγξει την τιμή των σημάτων τους σε οποιαδήποτε από τις μορφές που αναφέραμε. Παρέχονται αρκετοί συνδυασμοί ομαδοποίησης των καναλιών για την διευκόλυνση του χρήστη. Σημειώνουμε ότι τα δεδομένα τα οποία λαμβάνουμε μπορούμε να τα τυπώσουμε σε χαρτί έτσι ώστε να μπορούμε αργότερα να τα αναλύσουμε. Το ρολόι του συστήματος μπορεί να είναι edge triggered ή level sensitive ανάλογα με το τι επιλέγουμε. Σε πολλούς Logic Analysers μπορούμε να έχουμε περισσότερες από μια εισόδους ρολογιού (edge triggered ή level sensitive η κάθε μία ). Συχνά χρησιμοποιούμε τον Logic Analyser για τον έλεγχο κάποιου επεξεργαστή. Το σύστημα χειρισμού και οι probe adapters ενός Logic Analyser παίζουν σημαντικό ρόλο στην ικανότητα να αναλύουμε ένα πολύπλοκο επεξεργαστή με εκατοντάδες συνδέσεις. Εξαιτίας της μεγάλης ποικιλίας στα είδη των επεξεργαστών στην αγορά ο Logic πρέπει να είναι συμβατός με εκατοντάδες probe adapters. To σύστημα χειρισμού από την άλλη πρέπει να δίνει μια σαφή εικόνα για το ποιες εντολές του επεξεργαστή εκτελούνται πραγματικά. Aν και οι περισσότεροι Logic Analysers που χρησιμοποιούμε σήμερα φθάνουν τα 100MHz state speed,δεν μπορούν να ανταποκριθούν στους καινούργιους ταχύτατους επεξεργαστές γενικού σκοπού. Οι Logic Analysers υπήρξαν πάντα εργαστηριακά όργανα εύκολα στη χρήση. Όσο πιο επιτηδευμένο είναι ένα όργανο τόσο πιο πολύπλοκο είναι στη χρήση του. Ένας λοιπόν στόχος των περισσοτέρων εταιριών είναι να παρέχουν στο χρήστη ένα περιβάλλον το οποίο ελαχιστοποιεί τον χρόνο που χρειάζεται κάποιος να μάθει να χειρίζεται τον Logic Analyser. Μέσα στις δυνατότητες του συστήματος χειρισμού είναι και η κλίμακα του time/div που παρέχει ένα τέτοιο όργανο στο χρήστη. Με ένα μεγάλο εύρος στο time/div,από μερικά nsec/div έως 1sec/div, o χρήστης μπορεί να παρατηρήσει ευκρινώς δείγματα για πολλές διαφορετικές συχνότητες δειγματοληψίας. 2-2
16 ΚΕΦΑΛΑΙΟ 2 Η ΘΕΩΡΙΑ ΤΩΝ LOGIC ANALYSERS 2.2 Παραδείγματα από Logic Analysers του Εμπορίου Στην παράγραφο αυτή θα αναφέρουμε δύο παραδείγματα από Logic Analysers της αγοράς με τα βασικότερα τους χαρακτηριστικά. Ό Logic Analyser AL-320 της Promex με δύο μοντέλα του. Το απλό AL- 320 (με 32 κανάλια) και το πιο προηγμένο μοντέλο AL Οption OPT Στον παρακάτω πίνακα παρατίθενται συνοπτικά τα χαρακτηριστικά του. Αν και τα δύο μοντέλα χρησιμοποιούν 32 κανάλια το AL Οption OPT έχει μεταβλητό Trigger Level (όχι μόνο TTL ), διαθέτει 8 επιπλέον κανάλια για ταχύτητες μέχρι και 100Mhz και μπορεί να δειγματοληπτεί και glitches. Η σειρά TLA600 με Logic Analysers της Τektronix 2-3
17 ΚΕΦΑΛΑΙΟ 2 Η ΘΕΩΡΙΑ ΤΩΝ LOGIC ANALYSERS 2-4
18 ΚΕΦΑΛΑΙΟ 3 Η ΔΟΜΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ
19 ΚΕΦΑΛΑΙΟ 3 Κεφάλαιο 3: Η ΔΟΜΗ ΤΟΥ ΣΥΝΟΛΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Η Δομή του Συνολικού Συστήματος 3.1 H Δομή του Συνολικού Συστήματος. Λόγο της πολυπλοκότητας της εφαρμογής ο σχεδιασμός και η υλοποίηση του Logic Analyser έγινε τμηματικά. Το σύστημα αποτελείται από: Την κάρτα η οποία αποτελεί το hardware τμήμα του συστήματος. Το περιβάλλον χειρισμού στο PC. Την διεπαφή του hardware και του PC που γίνεται μέσω της παράλληλης θύρας. Η σειρά η οποία ακολουθήθηκε για την υλοποίηση της εφαρμογής περιλαμβάνει αρχικά το σχεδιασμό της κάρτας και στην συνέχεια του περιβάλλοντος χειρισμού του συστήματος. Η κάρτα, δηλαδή το hardware τμήμα της εφαρμογής, αποτελείται από την Μονάδα Ελέγχου Επεξεργασίας (Control Unit), την Μονάδα Διεπαφής του Συστήματος (Interface Unit) και το Τμήμα της Εφαρμογής. Στα στάδια κατασκευής του board αρχικά θεωρήθηκε απαραίτητο να σχεδιάσουμε την Control Unit, η οποία είναι ένα FPGA και ένα κύκλωμα κρυσταλλικού ταλαντωτή. Η οικογένεια των Field Programmable Gate Arrays (FPGAs) παρέχει την δυνατότητα υλοποίησης Boolean συναρτήσεων οι οποίες μπορούν εύκολα να τροποποιηθούν ώστε να ανταποκρίνονται στις απαιτήσεις σχεδιασμού. Η συσκευή που χρησιμοποιήσαμε είναι η EPF8452ALC84-3 και ανήκει στην οικογένεια Flex8000 της Altera. Eπιλέξαμε το συγκεκριμένο ολοκληρωμένο γιατί αποτελεί μια πολύ οικονομική λύση και ταυτόχρονα έχει πολύ ικανοποιητικές δυνατότητες ολοκλήρωσης, για τις απαιτήσεις της εφαρμογής μας. Ο σχεδιασμός της λογικής του Logic Analyser για το FPGA έγινε με το σχεδιαστικό πακέτο ΜΑΧ+PLUS II της ALTERA με το οποίο έγινε ο σχεδιασμός και η εξομοίωση των ψηφιακών κυκλωμάτων. Tέλος επιλέξαμε τον τρόπο με τον οποίο θα γίνεται ο προγραμματισμός του FPGA δεδομένου ότι όταν η συσκευή σταματά να τροφοδοτείται χάνει τα δεδομένα της και η διαδικασία πρέπει να επαναληφθεί. Δεν ήταν λοιπόν εφικτό να χρησιμοποιήσουμε κάποιον Programmer μιας και τα δεδομένα θα σβηστούν από την μνήμη κατά την τοποθέτηση του στην πλακέτα. Επιλέξαμε έτσι τον Passive Serial Configuration Mode όπου ο προγραμματισμός του FPGA γίνεται από εξωτερικές συσκευές οι οποίες είναι υπεύθυνες για την δημιουργία κατάλληλων σημάτων. Έτσι η διαμόρφωση του FPGA πραγματοποιείται στην κάρτα όποια στιγμή θέλουμε. Με βάση αυτή την λογική σχεδιάστηκε και το Interface Unit, για να ελέγχουμε εμείς τα σήματα που προγραμματίζουν το FPGA. To Interface Unit είναι το τμήμα του hardware που αναλαμβάνει την αποκωδικοποίηση των σημάτων της παράλληλης του υπολογιστή, δηλαδή την επικοινωνία με τον υπολογιστή. Επιλέξαμε τον Epp mode για την λειτουργία της παράλληλης για λόγους ταχύτητας μιας και με τον τρόπο αυτό μπορούμε να προσπελάσουμε 1 byte δεδομένων με μια μόνο εντολή. Στους 4 κύκλους (Epp Data Write cycle, Epp Data Read cycle, Epp Address Write cycle, Epp Address Read cycle )του τρόπου αυτού στηρίχθηκε η επικοινωνία με την παράλληλη. Το Interface Unit αποτελείται από κάποια ολοκληρωμένα που κρίθηκαν αναγκαία για τον προγραμματισμό του FPGA καθώς επίσης και για να γίνει εφικτή η ανάγνωση κάποιων σημάτων από την παράλληλη. Ανάμεσα στα ολοκληρωμένα αυτά είναι ένα PLD το οποίο διαμορφώθηκε με βάση το πρωτόκολλο επικοινωνίας το οποίο ορίσαμε καθώς και 3-1
20 ΚΕΦΑΛΑΙΟ 3 Η ΔΟΜΗ ΤΟΥ ΣΥΝΟΛΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ 8 διακόπτες τους οποίους ρυθμίζοντας κατάλληλα ο χρήστης μπορεί να καθορίσει την τιμή μιας 8-bit λέξης. Τα 4 πιο σημαντικά ψηφία της λέξης σχηματίζουν ένα κωδικό (id) που χαρακτηρίζει κάθε κάρτα του Desk Top Lab. Τέλος η Sample And Store Unit αποτελείται από την FIFO SN74ACT7808 της Texas Instruments, τα jamper στα οποία συνδέουμε τα κανάλια και το μανδαλωτή 74ΑLS245 ανάμεσα τους. Ο λόγος για τον οποίο επιλέξαμε FIFO σαν μέσο αποθήκευσης των δειγμάτων που δειγματοληπτούμε είναι η ταχύτητα της όπου μπορεί να φθάσει Data Rates μέχρι και 50Μhz. Για τον χειρισμό του όλου συστήματος χρειάστηκε να δημιουργήσουμε ένα Visual περιβάλλον μέσω του οποίου οδηγούμε την όλη διαδικασία και απεικονίζουμε τα δείγματα στην οθόνη του PC μας. Παράλληλα παρέχουμε ένα εύχρηστο περιβάλλον στο χρήστη με αρκετές επιλογές και δυνατότητες. Το πρόγραμμα υλοποίησης του User Interface του Λογικού Αναλυτή αποτελείται από ρουτίνες οι οποίες εκτελούν τις βασικές εντολές επικοινωνίας με το hardware και ρουτίνες σχετικές με τον έλεγχο των γραφικών. Με τις ρουτίνες ελέγχου του hardware αρχικοποιούμε και προσπελαύνουμε την παράλληλη θύρα, διαμορφώνουμε το FPGA στην έναρξη της εφαρμογής και στέλνουμε τις απαραίτητες εντολές, οι οποίες μεταφράζονται σε hardware, κατά την φάση διευθυνσιοδότησης του FPGA. Οι ρουτίνες που αφορούν τα γραφικά του συστήματος έχουν ως στόχο να εξομοιώσουν το περιβάλλον ενός κανονικού Logic Analyser τόσο όσο αφορά την πιστή απεικόνιση του σήματος που δειγματοληπτείται όσο και ως προς τις δυνατότητες που παρέχει στο χρήστη. 3-2
21 ΚΕΦΑΛΑΙΟ 3 Η ΔΟΜΗ ΤΟΥ ΣΥΝΟΛΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ 3-3
22 ΚΕΦΑΛΑΙΟ 3 Η ΔΟΜΗ ΤΟΥ ΣΥΝΟΛΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ 3-4
23 ΚΕΦΑΛΑΙΟ 4 Ο ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE TOY ΣΥΣΤΗΜΑΤΟΣ
24 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4: Ο Σχεδιασμός και η Υλοποίηση του Hardware του Συστήματος. 4.1 Η Παράλληλη Θύρα του Υπολογιστή. Ο βασικός σύνδεσμος μεταξύ του συστήματος του Logic Analyser με το περιβάλλον του χρήστη είναι η παράλληλη θύρα του υπολογιστή (LPT). Μέσα από αυτή διέρχονται όλα τα απαραίτητα σήματα για την επικοινωνία μας με όλα τα όργανα του Desk Top Lab. H παράλληλη θύρα είναι διαδεδομένη σήμερα από την πιο συνηθισμένη εφαρμογή της, που είναι η επικοινωνία της με τους εκτυπωτές. Το μεγάλο πλεονέκτημα της, όπως φαίνεται και από την ονομασία της, είναι ότι έχουμε στη διάθεση μας ταυτόχρονα 8 γραμμές δεδομένων, μαζί με κάποια σήματα ελέγχου (control) και κατάστασης (status). Οι υπολογιστές σήμερα έχουν συνήθως 3 παράλληλες θύρες (LPT1, LPT2, LPT3) οι οποίες είναι δικατευθυντήριες, δηλαδή μπορούμε να στείλουμε αλλά και να λάβουμε δεδομένα από αυτές. Η κατασκευή μιας τέτοιας κάρτας, που υλοποιεί έναν λογικό αναλυτή, αποτελεί μια εφαρμογή που επεκτείνει τη χρήση της LPT πέρα από τις συνηθισμένες εφαρμογές. Με τη χρήση ενός απλού PC βλέπουμε πως μπορούμε να οδηγήσουμε ένα περιφερειακό όπως είναι τα ηλεκτρονικά όργανα του Desk Top Lab και να ελέγξουμε συσκευές όπως PLD ς FPGA ς DAC ς κ.τ.λ. Περισσότερο λεπτομερειακά η LPT βρίσκεται στο πίσω μέρος του υπολογιστή όπου καταλήγει σε ένα βύσμα τύπου DB-25 θηλυκό. Οι διευθύνσεις που χρησιμοποιούνται στους υπολογιστές για τις LPT1, LPT2, LPT3 είναι συνήθως οι 378h-37Fh για την LPT1, οι 278h-27Fh για την LPT2,και οι 3BCh-3BFh για την LPT3 (παλαιότερα οι διευθύνσεις 3BCh-3BFh χρησιμοποιούνταν για τις Video Cards). Η αντιστοιχία μεταξύ των LPT και των διευθύνσεων τους μπορεί να διαφέρει από υπολογιστή σε υπολογιστή, συνήθως όμως η LPT1 που χρησιμοποιούμε εμείς βρίσκεται στη διεύθυνση 378h. Η παράλληλη θύρα πριν το 1994 λειτουργούσε σε έναν Standard Parallel Mode (SPP mode), από εκεί και έπειτα όμως οι πιο καινούργιες παράλληλες θύρες κατασκευάζονταν σύμφωνα με το πρότυπο IEEE Το πρότυπο αυτό ορίζει εκτός από το SPP mode και άλλους 5 modes λειτουργίας οι οποίοι πληροφοριακά μόνο είναι οι: 1. Compatibility Mode 2. Nibble Mode 3. Byte Mode 4. EPP Mode 5. ECP Mode Ο σκοπός ήταν οι καινούργιες συσκευές και οι οδηγοί τους να είναι συμβατές μεταξύ τους, καθώς επίσης και προς τα πίσω συμβατές με τις παλαιότερες παράλληλες θύρες, που λειτουργούσαν με τον SPP mode. Οι τρεις πρώτοι τρόποι λειτουργίας, Compatibility, Nibble και Byte Mode χρησιμοποιούν το ήδη υπάρχων hardware που χρησιμοποιούσε και η παλιότερη παράλληλη θύρα. Αντίθετα οι δύο τελευταίοι, EPP και ECP Mode, χρησιμοποιούν επιπλέον hardware το οποίο μας δίνει τη δυνατότητα να έχουμε 4-1
25 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ μεγαλύτερες ταχύτητες προσπέλασης σε σχέση με την SPP, ενώ συγχρόνως διατηρείται και η συμβατότητα με τον SPP mode λειτουργίας. Με τον παραδοσιακό τρόπο λειτουργίας της παράλληλης χρειαζόταν περίπου 4 εντολές για να μεταφέρουμε προς τα έξω ένα Byte δεδομένων. Οι περισσότερες από αυτές χρησιμοποιούνταν για handshaking μεταξύ της LPT και του περιφερειακού. Οι EPP και ECP mode λειτουργίας χρησιμοποιούν το επιπλέον hardware για να δημιουργήσουν και να οργανώσουν το handshaking έτσι ώστε να αυξηθεί η ταχύτητα προσπέλασης στην παράλληλη. Πράγματι, με μία μόνο εντολή μπορούμε τώρα να στείλουμε ένα byte δεδομένων μέσω της παράλληλης με αποτέλεσμα να αυξάνεται ο χρόνος προσπέλασης στα 1-2 megabytes το δευτερόλεπτο. Στη συγκεκριμένη εφαρμογή λοιπόν θα χρησιμοποιήσουμε τον Enhanced Parallel Port Mode λειτουργίας (EPP mode) αφού μας επιτρέπει υψηλές ταχύτητες προσπέλασης. 4-2
26 O ΣΧΕΔΙΑΣΜΟΣ ΚΕΦΑΛΑΙΟ 4 ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 4.2 Ο Enhanced Parallel Port Mode (EPP) Ο Enhanced Parallel Port Mode λειτουργίας (EPP), είναι ο τρόπος που επιλέξαμε για την επικοινωνία του υπολογιστή με το σύστημα τoυ Logic Analyser. Όπως είπαμε με τον mode αυτό μπορούμε να προσπέλασουμε 1 byte δεδομένων με μία μόνο εντολή, κάνοντας έτσι πιο εύκολο και γρήγορο τον προγραμματισμό. Πριν αρχίσουμε όμως να αναλύουμε τη λειτουργία του EPP θα πρέπει να δούμε ποια είναι τα σήματα στο βύσμα της παράλληλης.αυτά φαίνονται στον παρακάτω Πίνακα 4-1 τόσο για τον EPP όσο και για τον SPP mode. Pin SPP Signal EPP Signal In/Out Function 1 Strobe Write Out Η τιμή 0 στο σήμα αυτό δηλώνει εγγραφή(write),ενώ η τιμή 1 δηλώνει ανάγνωση (Read) 2-9 Data 0-7 Data 0-7 In- Out Data Bus, δικατευθυντήριο 10 Ack Interrupt In Σήμα διακοπής (Interrupt).To interrupt συμβαίνει στην 11 Paper Out/ End 12 Paper Out /End ανερχόμενη παρυφή Wait In Χρησιμοποιείται για handshaking.ένας EPP κύκλος αρχίζει όταν το σήμα είναι 0 και τελειώνει όταν είναι 1. Spare In Spare- Δε χρησιμοποιείται στο EPP handshake 13 Select Spare In Spare- Δε χρησιμοποιείται στο EPP handshake 14 Auto Linefeed Data Strobe Out Όταν είναι 0 δηλώνει μεταφορά δεδομένων 15 Error/ Spare In Spare- Δε Fault χρησιμοποιείται στο EPP handshake 16 Initialize Reset Out Reset Eνεργό σε 0 17 Select Address Out Printer Strobe Ground Ground GND Ground Γείωση Όταν είναι 0 δηλώνει μεταφορά δεδομένων Πίνακας 4-1 Ανάθεση των pins του DB-25 connector για τον EPP και SPP mode 4-3
27 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Τόσο ο EPP mode όσο και ο SPP mode χρησιμοποιούν κάποιους καταχωρητές (Software Registers) για να μπορέσουν να προσπελάσουν τα δεδομένα στην παράλληλη θύρα. Στον EPP mode χρησιμοποιούνται επιπλέον κάποιοι καινούργιοι καταχωρητές συγχρόνως με τους ήδη υπάρχοντες στον SPP mode.όλους αυτούς καταχωρητές μπορούμε να τους δούμε στον παρακάτω πίνακα μαζί με τις διευθύνσεις τους,που αναφέρονται σε συνάρτηση μιας διεύθυνσης βάσης (Base),η οποία για την LPT1 είναι η 378h,όπως αναφέρθηκε πιο πριν. Address Port Name Read/Write Base + 0 Data Port (SPP) Write Base + 1 Status Port (SPP) Read Base + 2 Control Port (SPP) Write Base + 3 Address Port (EPP) Read/Write Base + 4 Data Port (EPP) Read/Write Base + 5 Undefined (32 bit Transfer) - Base + 6 Undefined (32 bit Transfer) - Base + 7 Undefined (32 bit Transfer) - Πίνακας 4-2 Οι καταχωρητές στον EPP mode Στην περίπτωση που θέλουμε να επικοινωνήσουμε με τον EPP mode τότε χρησιμοποιούμε μόνο τους δύο καταχωρητές, τον Address Register και τον Data Register. Όταν θέλουμε να μεταφέρουμε ένα byte δεδομένων μέσα από την LPT, τότε το μόνο που έχουμε να κάνουμε είναι να εκτελούμε έναν κύκλο εγγραφής του συγκεκριμένου byte στον Data Register (στην διεύθυνση Base+4). Όταν θέλουμε να διαβάσουμε ένα byte δεδομένων τότε εκτελούμε ένα κύκλο ανάγνωσης από τον Data Register, ενώ με ανάλογο τρόπο γίνεται η εγγραφή και η ανάγνωση ενός byte διεύθυνσης από τον Address Register. Όπως θα δούμε παρακάτω τα handshaking σήματα που έπρεπε να δημιουργήσουμε εμείς στον SPP mode, τώρα δημιουργούνται αυτόματα από την παράλληλη με την εκτέλεση της εντολής ανάγνωσης ή εγγραφής. Είναι λοιπόν φανερό πόσο πιο εύκολη και γρήγορη γίνεται η οδήγηση της κάρτας μας χρησιμοποιώντας τον EPP mode. Παρακάτω φαίνονται σχηματικά οι κύκλοι εγγραφής και ανάγνωσης στους Address και Data Registers και εξηγούνται αναλυτικά όλα τα βήματα που ακολουθούνται. Πρέπει να σημειωθεί στο σημείο αυτό ότι οι λογικές τιμές 1 και 0 αντιστοιχούν σε TTL τιμές τάσης, δηλαδή +5V και 0V αντίστοιχα, ενώ το γράμμα n μπροστά από ένα σήμα (π.χ nwrite) χρησιμοποιείται για να φανερώσει ότι το σήμα αυτό είναι ενεργό στο
28 ΚΕΦΑΛΑΙΟ 4 ΕPP Data Write Cycle O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σχήμα 4-1 Enhanced Parallel Port Data Write cycle Τα βήματα εκτέλεσης ενός κύκλου εγγραφής δεδομένων στον EPP mode έχουν ως εξής: 1. Εκτέλεση εντολής εγγραφής στον EPP Data Register (Base +4). 2. Το σήμα n Write γίνεται Τα δεδομένα τοποθετούνται στο Data Bus (Data 0-7). 4. Το σήμα n Data Strobe ενεργοποιείται (τίθεται στο 0 ), αν το n Wait είναι 0 (Ένδειξη έναρξης του κύκλου εγγραφής) 5. Η παράλληλη περιμένει αναγνώριση του περιφερειακού με το σήμα n Wait να πηγαίνει στο 1. (Ένδειξη τερματικού του κύκλου εγγραφής) 6. Το σήμα n Data Strobe ελευθερώνεται (πηγαίνει στο 1 ). 7. Ο EPP κύκλος εγγραφής δεδομένων τελειώνει. 4-5
29 O ΣΧΕΔΙΑΣΜΟΣ ΚΕΦΑΛΑΙΟ 4 ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ EPP Address Write Cycle Σχήμα 4-2 Enhanced Parallel Port Address Write cycle Τα βήματα της εκτέλεσης ενός κύκλου εγγραφής διεύθυνσης με τον EPP mode έχουν ως εξής: 1. 1.Εκτέλεση εντολής εγγραφής στον EPP Address Register (Base +3). 2. Το σήμα n Write γίνεται Τα διεύθυνση τοποθετείται στο Data Bus (Data 0-7). 4. Το σήμα n Addr Strobe ενεργοποιείται (τίθεται στο 0 ), αν το n Wait είναι 0 (Ένδειξη έναρξης του κύκλου εγγραφής). 5. Η παράλληλη περιμένει αναγνώριση του περιφερειακού με το σήμα n Wait να πηγαίνει στο 1. (Ένδειξη τερματικού του κύκλου εγγραφής) 6. Το σήμα n Addr Strobe ελευθερώνεται (πηγαίνει στο 1 ). 7. Ο EPP κύκλος εγγραφής διεύθυνσης τελειώνει. 4-6
30 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ EPP Data Read Cycle Σχήμα 4-3 Enhanced Parallel Port Data Read cycle Τα βήματα της εκτέλεσης ενός κύκλου ανάγνωσης δεδομένων με τον EPP mode έχουν ως εξής: 1. Εκτέλεση εντολής ανάγνωσης του EPP Data Register (Base +4). 2. Το σήμα n Data Strobe ενεργοποιείται (τίθεται στο 0 ), αν το n Wait είναι 0. (Ένδειξη έναρξης του κύκλου εγγραφής) 3. Η παράλληλη περιμένει αναγνώριση του περιφερειακού με το σήμα n Wait να πηγαίνει στο 1. (Ένδειξη τερματικού του κύκλου εγγραφής) 4. Τα δεδομένα διαβάζονται από το Data Bus της παράλληλης (Data 0-7). 5. Το σήμα n Data Strobe ελευθερώνεται (πηγαίνει στο 1 ). 6. Ο EPP κύκλος ανάγνωσης δεδομένων τελειώνει. 4-7
31 ΚΕΦΑΛΑΙΟ 4 EPP Data Read Cycle O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σχήμα 4-4 Enhanced Parallel Port Address Read cycle Τα βήματα της εκτέλεσης ενός κύκλου ανάγνωσης διεύθυνσης με τον EPP mode έχουν ως εξής: 1. Εκτέλεση εντολής ανάγνωσης του EPP Address Register (Base +3). 2. Το σήμα n Addr Strobe ενεργοποιείται (τίθεται στο 0 ), αν το n Wait είναι 0 (Ένδειξη έναρξης του κύκλου εγγραφής) 3. Η παράλληλη περιμένει αναγνώριση του περιφερειακού με το σήμα n Wait να πηγαίνει στο 1. (Ένδειξη τερματικού του κύκλου εγγραφής) 4. Τα δεδομένα διαβάζονται από το Data Bus της παράλληλης (Data 0-7). 5. Το σήμα n Addr Strobe ελευθερώνεται (πηγαίνει στο 1 ). 6. Ο EPP κύκλος ανάγνωσης διεύθυνσης τελειώνει. 4-8
32 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Όπως βλέπουμε λοιπόν με τους τέσσερις αυτούς κύκλους μπορούμε να εκτελέσουμε όλες τις απαραίτητες ενέργειες για να επικοινωνήσουμε με την κάρτα μας, χωρίς να ασχοληθούμε καθόλου με τα σχήματα handshaking. Ωστόσο όμως θα πρέπει να σημειώσουμε κάτι πολύ σημαντικό σχετικά με τον EPP mode (το οποίο έγινε φανερό στην πορεία υλοποίησης της κάρτας μας). Πριν από την εκτέλεση οποιουδήποτε κύκλου στον EPP mode θα πρέπει να προσέξουμε να κάνουμε configuration των EPP Address και Data Ports.Μόνο τότε θα είμαστε σίγουροι ότι τα σήματα Write, AddrStrobe, DataStrobe, Wait θα είναι σε idle κατάσταση (δηλαδή 1 ). Σε κάποιες παράλληλες θύρες χρειάζεται να θέσουμε εμείς τα σήματα αυτά στην αρχική τους κατάσταση, γι αυτό θα πρέπει στην αρχή του προγράμματος μας να γράφουμε στον Control Register την τιμή ΧΧΧΧ
33 O ΣΧΕΔΙΑΣΜΟΣ ΚΕΦΑΛΑΙΟ 4 ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 4.3 Το Πρωτόκολλο Επικοινωνίας Μετά από την απαραίτητη εισαγωγή στη λειτουργία της παράλληλης θύρας του υπολογιστή θα δούμε τώρα ποια λογική ακολουθήσαμε για την υλοποίηση της επικοινωνίας μας με την κάρτα. Όπως αναφέρθηκε και πιο πάνω θα χρησιμοποιήσουμε τον EPP mode και σε αυτόν θα αναφερόμαστε από εδώ και στο εξής. Συγκεκριμένα οι τέσσερις κύκλοι (EPP Data Write cycle, EPP Address Write cycle, EPP Data Read cycle, EPP Address Read cycle), είναι αυτοί που θα χρησιμοποιηθούν από το User Interface του χρήστη. Το πρώτο βήμα που λάβαμε υπόψη μας ήταν το πρόβλημα της ταυτόχρονης λειτουργίας δυο ή και περισσοτέρων εργαλείων του Desk Top Lab. Κάτι τέτοιο είναι όχι μόνο χρήσιμο στις εργαστηριακές εφαρμογές αλλά και αναγκαίο, όπως για παράδειγμα η ταυτόχρονη χρήση του Logic Analyser και μίας γεννήτριας. Η έννοια της «ταυτόχρονης λειτουργίας» της κάρτας μας με κάποια άλλη πραγματοποιείται και είναι εφικτή, ενώ δε θα πρέπει να συγχέεται με την έννοια της «ταυτόχρονης διαχείρισης». Μπορεί η διαχείριση των καρτών να γίνεται με κάποιου είδους καταμερισμό των εντολών στο χρόνο (time shearing) αλλά o Logic Analyser ή η γεννήτρια δεν παύουν να λειτουργούν. Το πρόβλημα εδώ εντοπίζεται στο ότι όλες οι κάρτες συνδέονται σε μια μόνο παράλληλη θύρα και μέσω αυτής θα πρέπει να τις ελέγχουμε όλες. Δε μπορούμε επομένως να έχουμε πρόσβαση σε όλες τις περιφερειακές συσκευές συγχρόνως και γι αυτό χρειαζόμαστε τη βοήθεια κάποιου «διαχειριστή» των οργάνων του Desk Top Lab, ο οποίος θα αποφασίζει κάθε στιγμή για το ποιο περιφερειακό θα οδηγείται από την LPT. Κάτι τέτοιο μπορεί να υλοποιηθεί με έναν επιπλέον Software, το οποίο θα είναι υπεύθυνο για την ομαλή διεξαγωγή της επικοινωνίας του PC με τις συσκευές. Ο σκοπός του είναι να αναγνωρίζει πόσες κάρτες είναι συνδεδεμένες στην παράλληλη θύρα, τι είδους κάρτες είναι και ανάλογα με το είδος τους να εκτελεί τις κατάλληλες υπορουτίνες. Η υλοποίηση του όμως δεν αποτελεί αντικείμενο της παρούσας διπλωματικής εργασίας και γι αυτό το λόγο δεν αναλύεται περισσότερο. Την ανάγκη «διαχείρισης» των οργάνων του Desk Top Lab, τη λάβαμε υπ όψιν κατά το σχεδιασμό του Logic Analyser και επεκτείναμε κατάλληλα το σύστημα. Γι αυτό το λόγο χρησιμοποιήθηκε ένας 6-ψήφιος αριθμός ο οποίος δηλώνει το είδος της συσκευής που είναι συνδεδεμένη στο PC. Κάθε φορά που θα εκτελείται το πρόγραμμα «διαχείρισης» τότε θα μπορεί, μέσω αυτού του αριθμού, να αναγνωρίζει τι είδους είναι οι συσκευές που έχουμε στη διάθεση μας. Κάτι τέτοιο είναι αναγκαίο αφού θα πρέπει να επιλεχθεί το κατάλληλο αρχείο για το Configuration του FPGA, που διαθέτουν όλα τα όργανα. Ανάλογα με τον κωδικό της συσκευής στέλνεται και το αντίστοιχο αρχείο προκειμένου να τεθεί η κάρτα σε κατάσταση λειτουργίας. Για να μπορούμε να διαχειριζόμαστε περισσότερα από ένα όργανα του Desk Top Lab, κρίθηκε σκόπιμη η προσθήκη ενός συνόλου διακοπτών που σχηματίζουν τον κωδικό αναγνώρισης της κάρτας (identification number, id). Από πλευράς λογισμικού εκμεταλλευόμαστε το id της κάρτας ενεργοποιώντας με τον κωδικό αυτό ένα άλλο σήμα της, που καλείται Card Select και αποτελεί την ένδειξη επιλογής της. Μόνο όταν το σήμα αυτό είναι ενεργοποιημένο η κάρτα θα λαμβάνει τις εντολές από την παράλληλη, παρέχοντας έτσι τη δυνατότητα να δίνουμε εντολές κάθε στιγμή και σε διαφορετικό περιφερειακό, χωρίς να επηρεάζεται η κατάσταση των υπολοίπων. Είναι φανερό λοιπόν ότι ένα όργανο του Desk Top Lab μπορεί να λειτουργεί στην κατάσταση που το είχαμε αφήσει ενώ, διαχειριζόμαστε κάποιο άλλο, έχοντας έτσι να λειτουργούν ταυτόχρονα. Όταν θελήσουμε να επικοινωνήσουμε με κάποια άλλη συσκευή, τότε θα πρέπει να επιλέξουμε το Card Select της κάρτας που επιθυμούμε και μετά να στείλουμε τις εντολές σε αυτή. 4-10
34 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Η συσκευή που ήταν προηγουμένως επιλεγμένη τώρα «χάνει» το Card Select με αποτέλεσμα να διακόπτεται η επικοινωνία της με την παράλληλη. Τότε τα pins τα οποία συνδέονται με την παράλληλη θα πρέπει να έρχονται σε κατάσταση Ζ (High Impedance) για να μπορούν να οδηγηθούν οι υπόλοιπες κάρτες χωρίς να υπάρχει σύγκρουση δεδομένων. Άλλο ένα ζήτημα που προκύπτει στο θέμα της επικοινωνίας μας με την κάρτα είναι πως θα επιτευχθεί ο προγραμματισμός του FPGA, ο οποίος πρέπει να γίνεται από το PC κάθε φορά που θα ενεργοποιούμε το σύστημα. Για το σκοπό αυτό πρέπει να διαθέσουμε τρία σήματα που θα είναι αποκλειστικά για τον προγραμματισμό του FPGA και θα είναι είσοδοι σ αυτό, ενώ άλλα δύο σήματα που είναι έξοδοι από το FPGA θα πρέπει να ελέγχονται για να επιβεβαιωθεί ότι ο προγραμματισμός του έχει γίνει σωστά. Στα τρία σήματα που είναι είσοδοι στο FPGA, θα πρέπει εμείς να καθορίζουμε την τιμή τους έτσι ώστε να μπορέσουμε να υλοποιήσουμε τα βήματα που απαιτούνται για να γίνει ο προγραμματισμός. Όλα αυτά έκαναν αναγκαία τη χρήση μιας απλής Προγραμματιζόμενης Λογικής Συσκευής (PLD) με την οποία θα δημιουργούνται όλα αυτά τα απαραίτητα σήματα που θα κάνουν πιο εύκολη τη διαδικασία προγραμματισμού του FPGA επάνω στο board. Το PLD μαζί με κάποια απλά ολοκληρωμένα, όπως θα δούμε πιο αναλυτικά στο παρακάτω κεφάλαιο, αποτελούν το τμήμα του Interface Unit της κάρτας. Ωστόσο στο σημείο αυτό θα πρέπει να δούμε πως αξιοποιείται μια συσκευή, όμως είναι ένα PLD, για να υλοποιήσουμε το πρωτόκολλο επικοινωνίας. 4-11
35 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 4.4 Υλοποίηση του Πρωτοκόλλου Επικοινωνίας Διαμόρφωση του PLD Οι Προγραμματιζόμενες Λογικές Συσκευές (PLD s) είναι ψηφιακά ολοκληρωμένα κυκλώματα τα οποία μπορούν να διαμορφωθούν από το χρήστη για την υλοποίηση λογικών συναρτήσεων. Τα PLD s, τα τελευταία χρόνια, αποτελούν την περισσότερο προτιμούμενη επιλογή λόγω και του χαμηλού κόστους αλλά και της ευκολίας στη χρήση τους. Το συγκεκριμένο PLD που χρησιμοποιείται εδώ είναι το ATF22V10 της ATMEL το οποίο αποτελεί μια ιδιαίτερα φθηνή επιλογή με μικρές δυνατότητες ολοκλήρωσης, που όμως είναι υπεραρκετές για τις ανάγκες μας. Η συσκευή αυτή έχει τη δυνατότητα επαναπρογραμματισμού ενώ διατηρείται προγραμματισμένη ακόμα και όταν χαθεί η τροφοδοσία. Το εργαλείο που χρησιμοποιήσουμε για τη διαμόρφωση και την εξομοίωση είναι τα προγράμματα WinCupl και WinSim της ATMEL. Η διαμόρφωση του PLD γίνεται σύμφωνα με τις αρχές του πρωτοκόλλου επικοινωνίας που περιγράψαμε προσπαθώντας να χρησιμοποιήσουμε Boolean εκφράσεις. Το pin 1 της συσκευής αποτελεί το ρολόι (CLK) όλων των σύγχρονων κυκλωμάτων που χρησιμοποιούμε και συνδέεται στο σήμα Address Strobe της LPT. Οι υπόλοιπες είσοδοι του ολοκληρωμένου είναι τα σήματα DS, WR και οι γραμμές δεδομένων D0-D3 και D6,D7, της LPT, καθώς και τα σήματα S0-S3 που σχηματίζουν το id κάρτας. Τα σήματα που δημιουργούνται σαν έξοδοι του PLD είναι το σήμα Wait, που χρησιμοποιείται για handshaking με την LPT, τα τρία σήματα P0-P2, για τον προγραμματισμό του FPGA, το σήμα επιλογής της κάρτας Card Select και ένα σήμα STATUS για τον έλεγχο της κατάστασης της κάρτας. Παρακάτω φαίνονται με σχηματικά ο σχεδιασμός των Boolean συναρτήσεων για να γίνει καλύτερα κατανοητό το πρόγραμμα στη WinCupl. Η λογική που χρησιμοποιείται είναι ότι τα δύο πιο σημαντικά bits του Data Bus της παράλληλης D6,D7 αποκωδικοποιούνται σε κάθε Address Write Cycle της LPT προκειμένου να δηλώσουν την κατάσταση της κάρτας. Οι δυνατές καταστάσεις που μπορεί να βρίσκεται η κάρτα είναι: επιλογή της κάρτας (Card Select), έλεγχος της κατάστασης της κάρτας (STATUS), προγραμματισμός του FPGA ( Prog FPGA), διευθυνσιοδότηση κατά τη διάρκεια λειτουργίας του FPGA (Cmd FPGA). Η αντιστοιχία των καταστάσεων αυτών με τους τέσσερις δυνατούς συνδυασμούς των D7, D6 φαίνονται στον παρακάτω πίνακα. D7 D6 D5 D4 D3 D2 D1 D0 CARD STATUS 11 X X S3 S2 S1 S2 Card Select 10 X X P3 P2 P1 P0 Prg.FPGA 01 X X X X X X STATUS 00 D5 D4 D3 D2 D1 D0 Cmd.FPGA Πίνακας 4-3 Η αποκωδικοποίηση του Data Bus της LPT στις 4 καταστάσεις κάρτας. 4-12
36 ΚΕΦΑΛΑΙΟ 4 O ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥ HARDWARE ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Στο Σχήμα 4-5 φαίνεται πως δημιουργείται το Card Select όταν επιλεγεί ο κατάλληλος κωδικός ( D7 D6 = 1 1 ) και το id της συγκεκριμένης κάρτας. Η ανάδραση D-flip flop χρησιμοποιείται για να διατηρείται το σήμα ενεργό ακόμα και όταν μεταβούμε σε κάποια άλλη κατάσταση. Σχήμα 4-5 Σχηματικό κύκλωμα δημιουργίας του σήματος Card Select Στο Σχήμα 4-6 φαίνεται πως δημιουργούνται τα σήματα P0 P2 με τα οποία προγραμματίζουμε το FPGA. Τα bits δεδομένων βγαίνουν στην είσοδο του flip flop στην ανερχόμενη παρυφή του AS και εφ όσον το σήμα Card Select είναι ενεργοποιημένο. Με τον τρόπο αυτό μπορούμε να καθορίσουμε τις τιμές και των τριών σημάτων ταυτόχρονα σε έναν κύκλο Address Write. Η ανάδραση εδώ χρησιμοποιείται για να διατηρούν τα σήματα την τελευταία τους τιμή όταν αλλάξει η κατάσταση της κάρτας. (Στο σχήμα 4-6 το x παίρνει τις τιμές 0,1,2). Ο απαραίτητος κωδικός για την κατάσταση αυτή είναι ( D7 D6 = 1 0 ). 4-13
37 ΚΕΦΑΛΑΙΟ 5 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER
38 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER Κεφάλαιο 5: To Λογισμικό του Logic Analyser 5.1 Εισαγωγή στην Γλώσσα Προγραμματισμού και Γενική Δομή του Προγράμματος Το τελικό στάδιο υλοποίησης του Logic Analyser είναι η δημιουργία ενός προγράμματος το οποίο θα παρέχει στο χρήστη την δυνατότητα ελέγχου της συσκευής. Το περιβάλλον λειτουργίας του Logic Analyser σχεδιάστηκε να είναι όσο το δυνατό πιο κοντά σε αυτό του Logic Analyser του εργαστηρίου. Το εργαλείο που διαλέξαμε είναι η γλώσσα προγραμματισμού Visual Basic (6.0). Οι βασικοί λόγοι που την προτιμήσαμε είναι οι πολλές δυνατότητες στο σχεδιασμό γραφικών, η εύκολη χρήση της και η πολύ καλή συνεργασία της με το λειτουργικό σύστημα Windows. H Visual Basic διαθέτει έναν μεγάλο αριθμό από controls, με πολλές ιδιότητες το καθένα, τα οποία διευκολύνουν το προγραμματιστή να διαμορφώσει κατάλληλα το περιβάλλον χειρισμού και να οδηγήσει σε πολλά σημεία το πρόγραμμα βάση των events που συμβαίνουν σε αυτά. Ακόμα μια πληθώρα συναρτήσεων τις οποίες μπορεί να χρησιμοποιήσει έτοιμες ο προγραμματιστής τον γλιτώνουν από κόπο και πολλές γραμμές κώδικα. Η λογική στην οποία βασίστηκε ο προγραμματισμός ήταν να καθιερωθεί μια όσο το δυνατόν πιο abstract δομή στο πρόγραμμα κάνοντας έτσι εύκολη την διόρθωση του κώδικα και την επέκταση του συστήματος. Κάτι τέτοιο μας οδήγησε στη δημιουργία ρουτινών οι οποίες εκτελούν βασικές ενέργειες οι οποίες συναντώνται συχνά κατά την διάρκεια του προγράμματος. Με τον τρόπο αυτό μειώνεται ο κώδικας και οι περιττές επαναλήψεις. Οι ρουτίνες οι οποίες χρησιμοποιήσαμε χωρίζονται σε δύο κατηγορίες. Σε εκείνες που εκτελούν διαδικασίες ελέγχου της κάρτας και εκείνες που αναφέρονται στον έλεγχο των γραφικών. Στο σχήμα 5-1 δίνουμε μια γενική εικόνα του προγράμματος υλοποίησης του Λογισμικού του Logic Analyser. Στο κεφάλαιο αυτό θα παρουσιάσουμε το λογισμικό του συστήματος δίνοντας έμφαση στον τρόπο με τον οποίο επικοινωνεί με το hardware. Η αναλυτική περιγραφή των δυνατοτήτων του συστήματος καθώς και ο τρόπος χειρισμού του είναι αντικείμενο του επόμενου κεφαλαίου. Συγκεκριμένα θα εξηγήσουμε τις ρουτίνες ελέγχου της κάρτας και τις βασικές ρουτίνες γραφικών βασιζόμενοι κυρίως στα ορίσματα τα οποία δέχονται και το έργο που επιτελούν χωρίς να εξηγήσουμε λεπτομερώς τον κώδικα τους. 5-1
39 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER Πρόγραμμα Υλοποίησης του User Interface του Logic Analyser. Ρουτίνες που εκτελούν βασικές εντολές επικοινωνίας με την κάρτα Ρουτίνες σχετικές με τον έλεγχο γραφικών. Σχήμα 5-1 Η γενική δομή του προγράμματος 5-2
40 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER 5.2 Οι Ρουτίνες Ελέγχου του Logic Analyser. Στην παράγραφο αυτή θα παρουσιάσουμε τα τμήματα του προγράμματος με τα οποία γίνεται η επικοινωνία με την κάρτα. Συγκεκριμένα θα αναφερθούμε στις ρουτίνες εκείνες με τις οποίες ελέγχουμε το hardware στέλνοντας τις απαραίτητες εντολές αρχικοποιούμε την παράλληλη θύρα και διαμορφώνουμε (configure) το FPGA. Για την καλύτερη οργάνωση του προγράμματος χρησιμοποιήσαμε και διάφορα modules στα οποία υπάρχουν ρουτίνες τις οποίες καλούμε κατά την διάρκεια του προγράμματος, καθώς και μεταβλητές με public εμβέλεια. Τρόπος Προσπέλασης της Παράλληλης Θύρας. Η Visual Basic δεν έχει την δυνατότητα άμεσης προσπέλασης των διευθύνσεων του υπολογιστή, επομένως ούτε και της LPT. Για αυτό τον λόγο έπρεπε να βρούμε ένα τρόπο να προσπελάσουμε την παράλληλη θύρα. Ο τρόπος με τον οποίο μπορούμε να λύσουμε το πρόβλημα αυτό είναι να εκμεταλευτούμε την δυνατότητα της Visual Basic να χρησιμοποιεί ρουτίνες που είναι γραμμένες σε γλώσσα πιο χαμηλού επιπέδου. Έτσι η πιο απλή λύση ήταν να χρησιμοποιήσουμε μια Dynamic Link Library (DLL) την inpout32.dll. Αυτή είναι ουσιαστικά μια βιβλιοθήκη με συναρτήσεις σε γλώσσα C++ και Assembly. Για εγγραφή και ανάγνωση στην παράλληλη θύρα χρησιμοποιούμε τις δύο παρακάτω συναρτήσεις του συγκεκριμένου DLL : I. Την Out με την οποία μπορούμε να γράψουμε δεδομένα στην παράλληλη θύρα του υπολογιστή. II. Την In με την οποία διαβάζουμε δεδομένα από την παράλληλη θύρα του υπολογιστή. Οι παρακάτω συναρτήσεις συντάσσονται ως εξής: Οut (x, y) και z = In(x) όπου η x μεταβλητή δηλώνει την διεύθυνση στην οποία γίνεται η πρόσβαση και η y τα δεδομένα που γράφουμε στην συγκεκριμένη διεύθυνση. Με βάση τις δύο αυτές εντολές μπορούμε να εκτελέσουμε οποιοδήποτε από τους τέσσερις EPP κύκλους. Έτσι κάθε εντολή του χρήστη μεταφράζεται σε κύκλους του EPP mode. Παρακάτω παραθέτουμε τον τρόπο με τον οποίο πραγματοποιούνται οι 4 EPP κύκλοι. Sub Epp_Init() base_adr = &H378 Out base_adr + 2, 4 ctrl_adr = base_adr + 3 data_adr = base_adr + 4 stat_port = base_adr + 1 End Sub Με την παραπάνω ρουτίνα δίνουμε την διεύθυνση της θύρας LPT 1 και των controls, status και data resisters σε αυτή. Με τις παρακάτω ρουτίνες εκτελούμε τους αντίστοιχους κύκλους σε EPP mode. 5-3
41 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER Sub epp_cw(x As Integer) Out ctrl_adr, x End Sub Εκτελούμε ένα EPP Address Write κύκλο. Sub epp_dw(x As Integer) Out data_adr, x End Sub Εκτελούμε ένα EPP Data Write κύκλο. Function epp_dr() epp_dr = Inp(data_adr) End Function Εκτελούμε ένα EPP Data Read κύκλο. Function epp_cr() epp_ar = Inp(ctrl_adr) End Function Εκτελούμε ένα EPP Address Read κύκλο. Tις παραπάνω ρουτίνες καλεί το πρόγραμμα όποια στιγμή θέλει. Προγραμματισμός του FPGA. Πριν από οποιαδήποτε ενέργεια στο σύστημα μας πρέπει αρχικά να κάνουμε Configuration το FPGA. Με τα απαραίτητα Controls επιλέγουμε την διαδικασία αυτή. Στο προηγούμενο κεφάλαιο αναφέρθηκε ο τρόπος με τον οποίο γίνεται το configuration των FPGA της οικογένειας Flex Σύμφωνα με τον τρόπο αυτό δημιουργήσαμε την ρουτίνα pgm_fpga (f As String, card As Integer) την οποία καλούμε ενεργοποιώντας το συγκεκριμένο control. Η ρουτίνα αυτή παίρνει δύο ορίσματα το f που είναι τύπου String και το card που είναι τύπου Ιnteger. H μεταβλητή f δηλώνει το path στο οποίο βρίσκεται το αρχείο <file.ttf> που πρέπει να διαβαστεί και η μεταβλητή card δηλώνει το ID της κάρτας. Πρίν αρχίσει η διαδικασία του Configuration η ρουτίνα επιλέγει την κάρτα ώστε το PLD να δημιουργήσει τα σήματα nconfig, DCLK και DATA0. Αρχικά γίνεται το απαραίτητο reset με τον παλμό στο nconfig και στη συνέχεια διαβάζεται το αρχείο που δηλώνει η f. Tα δεδομένα περνάνε σειριακά μέσα από το DATA0 και ταυτόχρονα με τον καθορισμό του σήματος αυτού γίνεται και ο καθορισμός του DCLK ώστε τα σήματα να είναι συγχρονισμένα. Κατά την αναγνώση του αρχείου μετατρέπουμε τους ASCII χαρακτήρες σε Binary μορφή προκειμένου να τους στείλουμε στο FPGA. Το αρχείο αυτό αποτελείται από τριάδες αριθμών που χωρίζονται μεταξύ τους με ένα κόμμα. Η ρουτίνα διαβάζει τους αριθμούς και ύστερα από την κατάλληλη μετατροπή τους στέλνει στο DATA0. Αφού τελειώσει το Configuration, κάνουμε ανάγνωση των σημάτων του 74ΑLS245 (status) ώστε να επιβεβαιώσουμε την σωστή τιμή σημάτων nstatus και CONF_DONE. Για την πρόοδο της διαμόρφωσης ενημερωνόμαστε από ένα progress bar πάνω στη φόρμα 5-4
42 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER μας και αν η διαδικασία ολοκληρωθεί σωστά στο τέλος της ρουτίνας θα πάρουμε την τιμή 3 για το status. Αποστολή εντολών στο FPGA. Οι δύο βασικοί τρόποι με τους οποίους μπορεί να λειτουργήσει o Logic Analyser είναι σε RUN/stop mode και σε SINGLE mode. Στην πρώτη περίπτωση ο κύκλος των εντολών προς το FPGA επαναλαμβάνεται συνεχώς, αυτόματα από το σύστημα, με τη χρήση ενός timer control το οποίο έχουμε τοποθετήσει πάνω στη φόρμα μας και το οποίο καλείται ανα 60 ms. Στο δεύτερο τρόπο, Single mode, ο κύκλος επαναλαμβάνεται κάθε φορά που δίνουμε την ανάλογη εντολή δηλαδή ενεργοποιούμε το συγκεκριμένο control. Όταν το πρόγραμμα ξεκινάει μπαίνουμε εξ ορισμού στον πρώτο τρόπο λειτουργίας τον οποίο διακόπτουμε επιλέγοντας το run/stop. Πίσω από το control SINGLE υπάρχει η ρουτίνα με την οποία στέλνουμε σε σειρά τις commands στο FPGA ελέγχοντας την λειτουργία του συστήματος. Το control RUN/stop ενεργοποιεί τον Τimer και καλεί την παραπάνω ρουτίνα συνεχώς μέχρι να διακόψουμε εμείς την παραπάνω διαδικασία. Παρακάτω θα αναλύσουμε αυτή την ρουτίνα κυρίως όσο αφορά τον τρόπο με τον οποίο επιδρούν οι εντολές που δίνουμε στο σώμα της με το hardware του συστήματος. Private Sub cmdstart_click() Aρχικά ορίζουμε τον τύπο κάποιων μεταβλητών οι οποίες θα μας χρησιμεύσουν μέσα στο πρόγραμμα. Dim j Dim icounter Dim x Dim tell Static INSUB As Integer As Integer As Integer As String As Integer If INSUB = True Then Exit Sub main.crt.cls init_crt crt, axis_co, axis_wid Ενεργοποιούμε την command 4 με τις εντολές epp_cw 4 και epp_dw 1. Με την πρώτη εντολή επιλέγουμε την command με ένα EPP Address Write cycle και στη συνέχεια την ενεργοποιούμε με ένα EPP Data Write cycle. Ακολουθούμε δηλαδή την λογική για την ενεργοποίηση \ απενεργοποίηση των command που είδαμε στο κεφάλαιο 4, στο οποίο περιγράψαμε την δομή του hardware. H εντολή αυτή κάνει reset το FPGA. Χρησιμοποιώντας την ρουτίνα Wait εισάγουμε μια καθυστέρηση έτσι ώστε το σήμα fifo_reset του FPGA να μείνει για κάποιο χρονικό διάστημα στο low όπως ακριβώς επιβάλουν οι προδιαγραφές της FIFO. Στην συνέχεια με τις ίδιες εντολές απλά στέλνοντας την τιμή 0 ( με την epp_dw 0 ) απενεργοποιούμε την συγκεκριμένη εντολή με αποτέλεσμα η FIFO να βγεί από την κατάσταση reset και να μπορεί πλέον να δεχτεί δείγματα. epp_cw 4 epp_dw 1 WAIT epp_cw 4 epp_dw 0 5-5
43 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER Ενεργοποιούμε την command 9 με την οποία θέτουμε σε λειτουργία το ρολόι του συστήματος με το οποίο τροφοδοτούμε το FPGA, ενώ με την command 10 επιλέγουμε την συχνότητα της δειγματοληψίας. Αυτό το πετυχαίνουμε δίνοντας την τιμή με την οποία θέλουμε να διαιρέσουμε το ρολόι του συστήματος. Η τιμή αυτή επιλέγεται από ένα το control τύπου HscrollBar με την ονομασία HScrollfreq_div και την στέλνουμε σε κάποιο register του FPGA με την εντολή epp_dw HScrollfreq_div.Value. epp_cw 9 epp_dw 1 WAIT epp_cw 10 epp_dw HScrollfreq_div.Value WAIT 1000 Καλούμε την ρουτίνα WRITE_DOUBLE με όρισμα την τιμή του HScrollPOSITION control στην οποία επιλέγουμε ουσιαστικά την τιμή του fifo_position. Είναι η θέση στην οποία επιλέγουμε να ελέγξουμε για το trigger του συστήματος, δηλαδή να ελέγξουμε από το δείγμα αυτό και μετά αν το σύστημα βρίσκει την τιμή που του δίνουμε στο trigger _pattern. WRITE_DOUBLE (HScrollPOSITION.Value) WAIT 1000 Καλούμε την ρουτίνα trigger_write με ορίσματα τα TRIGGER_HL, TRIGGER_DC. Με το TRIGGER_HL δίνουμε την τιμή στην command 7 την οποία θέλουμε να βρούμε και με το TRIGGER_DC την τιμή στην command 8 αν υπάρχουν αδιάφοροι όροι (Don t care X) στην τιμή την οποία ζητάμε. Αρχικά πληκτρολογούμε την τιμή που ζητάμε στο textbox με την ένδειξη pattern. Πατώντας το ΕΝΤΕR ενεργοποιούμε το συγκεκριμένο event και καλούμε την ρουτίνα αντιστοιχεί σε αυτό. Στη ρουτίνα αυτή αποδίδονται οι τιμές στα TRIGGER_HL και TRIGGER_DC ανάλογα με την τιμή που πληκτρολογήσαμε. Ο τρόπος με τον οποίο γίνεται αυτό φαίνεται στο σώμα της συγκεκριμένης ρουτίνας το οποίο παραθέτουμε στο τέλος του κεφαλαίου καθώς και το σώμα της trigger_write η οποία ενεργοποιεί τις command 7 και 8 με τις τιμές των TRIGGER_HL και TRIGGER_DC αντίστοιχα. trigger_write TRIGGER_HL, TRIGGER_DC Ενεργοποιούμε την command 1 με την οποία ξεκινά η δειγματοληψία και η αποθήκευση των δειγμάτων στη FIFO. WAIT 1000 epp_cw 1 epp_dw 0 epp_cw 1 epp_dw 1 Η δειγματοληψία συνεχίζεται μέχρι να αποθηκευτούν και τα 1024 δείγματα στη FIFO. Το σύστημα γνωρίζει πότε η δειγματοληψία τελείωσε εκτελώντας συνεχώς (κατά την διάρκεια της δειγματοληψίας ) EPP Data Read κύκλους, ελέγχοντας σε κάθε κύκλο την τιμή του D0. Στο pin αυτό της παράλληλης καταλήγει, για την διαδικασία της δειγματοληψίας το σήμα TC του counter o οποίος μετρά τα δείγματα που γράφονται στη FIFO. Όταν το TC γίνει 1 η διαδικασία έχει ολοκληρωθεί το D0 γίνεται και αυτό 1. Αν μετά από 2000 EPP Data Read 5-6
44 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER κύκλους το D0 εξακολουθεί να παραμένει 0 δίνουμε εντολή να σταματήσει η δειγματοληψία. epp_cw 11 icounter = 0 While (epp_dr And 1) = 0 icounter = icounter + 1 If (icounter > 2000) Then epp_cw 1 End If Wend epp_cw 1 epp_dw 0 Με την command 2 ξεκινάμε να διαβάζουμε δείγματα από την FIFO και να τα αποθηκεύουμε σε ένα πίνακα στη RAM του υπολογιστή μας. Ο αριθμός των δειγμάτων που αποθηκεύουμε είναι ίσος με την τιμή που δίνουμε μέσω του control SMPLS_FIFO. To σύστημα θα πραγματοποιήσει τόσους EPP Data Read κύκλους όσο είναι η τιμή αυτή. WAIT 1000 epp_cw 2 epp_dw 1 x = epp_dr x = epp_dr x = epp_dr WAIT 1000 For j = 0 To SMPLS_FIFO.Value Step 1 m_vatest(j) = CByte(epp_dr) Next j Στο τέλος της διαδικασίας απενεργοποιούμε όλες τις commands με τον γνωστό τρόπο. epp_cw 1 epp_dw 0 epp_cw 2 epp_dw 0 epp_cw 9 epp_dw 0 Για την απεικόνιση των δειγμάτων καλούμε τις ρουτίνες compute_scale και plot_bytes_gen οι οποίες όμως ανήκουν στην κατηγορία των ρουτινών που χειρίζονται τα γραφικά και για αυτό θα τις εξηγήσουμε στην επόμενη παράγραφο. compute_scale td, f_sample plot_bytes_gen m_vatest, scale_div, 100 If ch_mode = False Then smp_value.caption = m_vatest(norder) smp_value_hex.caption = Hex$(m_vaTest(nOrder)) Else smp_value.caption = " " smp_value_hex.caption = " " End If INSUB = False End Sub 5-7
45 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER 5.3 Ρουτίνες Ελέγχου των Γραφικών του Συστήματος. Για την σωστή απεικόνιση των δειγμάτων χρειάστηκε να χρησιμοποιήσουμε κάποιες ρουτίνες. Οι ρουτίνες αυτές έχουν να κάνουν με την σωστή απεικόνιση των δειγμάτων που αποθηκεύτηκαν στη RAM του PC μας κατά την παραπάνω διαδικασία. Στην παράγραφο αυτή θα προσπαθήσουμε να δώσουμε μια σύντομη περιγραφή τους, με βάση την λειτουργία που επιτελούν και τα ορίσματα που δέχονται. Πολλές από αυτές τις ρουτίνες τις καλούμε αρκετές φορές στο πρόγραμμα μας αποφεύγοντας έτσι πολλές επαναλήψεις στον κώδικα και κάνοντας το πρόγραμμα πιο ευανάγνωστο και εύκολο στη διόρθωση. Οι βασικές αυτές ρουτίνες είναι οι εξής: Η ρουτίνα compute_scale η οποία δέχεται ως ορίσματα τις μεταβλητές time_per_div και freq_sample τύπου double. H ρουτίνα αυτή καλείται περνώντας της ως ορίσματα κάθε φορά την τρέχουσα τιμή του time /div (στη θέση του time_per_div ) καθώς και την τιμή της τρέχουσας συχνότητας δειγματοληψίας (στη θέση του freq_sample). Με βάση αυτές τις δύο τιμές η ρουτίνα υπολογίζει το πλάτος του παλμού για το κάθε δείγμα δηλαδή την μεταβλητή scale_div τύπου double. H μεταβλητή αυτή είναι global, δηλαδή ορατή από το υπόλοιπο πρόγραμμα. Η τιμή που της δίνει η compute_scale είναι αυτή με την οποία θα την χρησιμοποιήσουν και οι υπόλοιπες ρουτίνες. Ακόμα υπολογίζονται οι μεταβλητές cur_samples_div και cur_samples_crt οι οποίες δίνουν τον αριθμό των δειγμάτων ανα division αλλά και σε όλη την οθόνη αντίστοιχα. Η ρουτίνα plot_bit η οποία σχεδιάζει στην οθόνη το bit κάθε δείγματος (στάθμη low ή high) δεχόμενη ως ορίσματα την θέση του συγκεκριμένου bit στον X άξονα συντεταγμένων, την θέση του συγκεκριμένου bit στον Υ άξονα συντεταγμένων, την τιμή του (αν είναι 0 ή 1) και την τιμή των αντίστοιχων bit του προηγούμενου αλλά και του επόμενου δειγμάτος. Δηλαδή αν το bit για το οποίο ενδιαφερόμαστε είναι το 1o του 5 ου δείγματος τότε η plot_bit δέχεται ως ορίσματα την τιμή του 1 ου bit των δειγμάτων 4 και 5. Τέλος δέχεται την τιμή scale_div την οποία υπολογίσαμε στην ρουτίνα compute_scale με την οποία μαθαίνει το πλάτος του παλμού που θα σχεδιάσει, καθώς και το χρώμα του. Σημειώνουμε ότι το πλάτος του παλμού εξαρτάται από την τιμή της συχνότητας δειγματοληψίας και το επιλεγμένο, από το χρήστη, time/div. Η ρουτίνα plot_byte_gen η οποία δέχεται σαν ορίσματα την μεταβλητή scale_div και τον πίνακα στην RAM στον οποίο έχουμε αποθηκεύσει τα δείγματα. Η plot_byte_gen σχεδιάζει, ανάλογα με την τιμή του time/div και της συχνότητας δειγματοληψίας ένα συγκεκριμένο αριθμό δειγμάτων στην οθόνη του PC μας. Για κάθε bit των δειγμάτων που σχεδιάζει καλεί την plot_bit δίνοντας στα ορίσματά της τις απαραίτητες τιμές. Η plot_byte_gen καλείται όποτε μετακινούμαστε μέσα στα δείγματα καθώς και στο τέλος της ρουτίνας αποστολής εντολών στο FPGA. Eκτός από τα ορίσματα τα οποία αναφέραμε, για να εκτελέσει την λειτουργία της χρειάζεται τον αριθμό του τρέχοντος δείγματος καθώς και την τιμή των μεταβλητών cur_samples_div και cur_samples_crt. Οι τιμές αυτές καθώς και η scale_div υπολογίζονται από την compute_scale την οποία καλούμε πρίν την plot_byte_gen. O αριθμός του τρέχοντος δείγματος, δηλαδή του δείγματος στο αριστερό άκρο της οθόνης, αποθηκεύεται στην μεταβλητή norder η οποία αλλάζει όποτε μετακινούμαστε μέσα στον πίνακα δειγμάτων της RAM και αποτελεί σημείο αναφοράς για την plot_byte_gen. 5-8
46 ΚΕΦΑΛΑΙΟ 5 TO ΛΟΓΙΣΜΙΚΟ ΤΟΥ LOGIC ANALYSER Η ρουτίνα init_crt η οποία σχεδιάζει τους 9 κάθετους άξονες, χωρίζοντας την οθόνη σε δέκα Division, και τους 7 οριζόντιους για τα οχτώ κανάλια που χρησιμοποιούμε. Δέχεται ως ορίσματα την τρέχουσα τιμή που αντιστοιχεί στο χρώμα των αξόνων που έχουμε επιλέξει καθώς και το πάχος της γραμμής των αξόνων. Μαζί με αυτή την ρουτίνα χρησιμοποιούμε συχνά την μέθοδο Cls η οποία καθαρίζει την οθόνη από οποιοδήποτε δείγμα. 5-9
47 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ
48 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 6: Το Εγχειρίδιο Χρήσης του Συστήματος 6.1 Απαιτήσεις του Συστήματος σε Λογισμικό. Πριν από οποιαδήποτε οδηγία για τον τρόπο χρήσης του συστήματος θα πρέπει να ενημερώσουμε τον χρήστη για τις απαιτήσεις του. Οι απαιτήσεις αυτές αφορούν τα προγράμματα τα οποία πρέπει να έχει εγκαταστήσει στον υπολογιστή του για να γίνει εφικτή η χρήση του Logic Analyser, άλλα και οποιασδήποτε άλλης συσκευής του Desk Top Lab. 1. Δεδομένου ότι το περιβάλλον χειρισμού του συστήματος είναι σε Visual Basic ο χρήστης θα πρέπει να έχει εγκατεστημένο το Visual Studio 6.0 της Microsoft. Aν δεν έχει τον απαραίτητο χώρο στο σκληρό δίσκο αρκεί να εγκαταστήσει μονάχα την Visual Basic 6.0 η οποία επαρκεί για τις ανάγκες της εφαρμογής. 2. Εγκατάσταση του σχεδιαστικού πακέτου Μax+Plus II της Altera με το οποίο σχεδιάσαμε το FPGA του συστήματος. 6-1
49 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 6.2 Ρυθμίσεις στο PC Πριν την Σύνδεση της Κάρτας. Το σύστημα επικοινωνίας του PC μας με το board του Logic Analyser στηρίζεται στην επικοινωνία μέσω της παράλληλης. Θα πρέπει λοιπόν ο χρήστης να κάνει τις απαραίτητες ρυθμίσεις στο hardware του συστήματος του πριν την σύνδεση της κάρτας. 1. Αποσυνδέουμε την παράλληλη θύρα LPT 1 από οποιαδήποτε περιφερειακή συσκευή με την οποία είναι συνδεδεμένη. Συνήθως η θύρα LPT 1 χρησιμοποιείται για τον printer. Πρέπει λοιπόν να ελευθερώσουμε την θύρα και στην συνέχεια να βεβαιωθούμε ότι πρόκειται πράγματι για την LPT 1 και όχι για κάποια άλλη θύρα (π.χ LPT 2 ). 2. Τo πρωτόκολλο επικοινωνίας είναι βασισμένο στον Enhanced Parallel Port Mode (EPP). Πρέπει λοιπόν ο χρήστης να ρυθμίσει μέσω του BIOS την θύρα LPT 1 να είναι σε EPP mode. Όταν ολοκληρώσει τις παραπάνω ρυθμίσεις ο χρήστης μπορεί να συνδέσει το καλώδιο της κάρτας με την παράλληλη (LPT 1). 3. Σύνδεση της κάρτας με ένα τροφοδοτικό και ρύθμιση της τάσης τροφοδοσίας στα 8V. 6-2
50 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 6.3 Αντιγραφή των Απαραίτητων Αρχείων στο Σκληρό Δίσκο πριν την Εφαρμογή. Αντιγραφή όλων των αρχείων τα οποία ήταν απαραίτητα για το σχεδιασμό του FPGA στον Logic Analyser. Το βασικό αρχείο το οποίο χρειαζόμαστε για την διαμόρφωση του FPGA είναι το <cntrl10.ttf>. H μονάδα υψηλότερου επιπέδου του FPGA η cntrl10.gdf απαρτίζεται από μικρότερες μονάδες και εκείνες με τη σειρά τους από άλλες μικρότερες. Όταν ολοκληρωθεί η φάση σχεδιασμού του FPGA και γίνει ReCombile του σχεδίου στο συγκεκριμένο αρχείο περιέχεται η λογική του σχεδιασμού σε ΑSCII χαρακτήρες. Μαζί με το συγκεκριμένο αρχείο στο φάκελο LOAN_FPGA περιέχονται όλα τα αρχεία που χρειάστηκαν για τη σχεδίαση του FPGA. Το μόνο που απαιτείται είναι η αντιγραφή του φακέλου αυτού στο σκληρό δίσκο. Αντιγραφή του φακέλου VB25LOG ο οποίος περιέχει τα απαραίτητα αρχεία του συστήματος χειρισμού του Logic Analyser. Συγκεκριμένα το project, την φόρμα και τα modules που χρησιμοποιήθηκαν για τον προγραμματισμό του συστήματος χειρισμού. Αντιγραφή του φακέλου DTL-cmds. O φάκελος αυτός περιέχει τα απαραίτητα αρχεία του περιβάλλοντος διαμόρφωσης του FPGA. 6-3
51 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 6.4 Διαμόρφωση του FPGA. Πριν την έναρξη της εφαρμογής μας πρέπει να διαμορφώσουμε το FPGA, δηλαδή να κάνουμε Download του σχεδίου μεταδίδοντας σειριακά το αρχείο cntrl10.ttf. Για τη διαμόρφωση του FPGA επιλέγουμε από το φάκελο DTL-cmds το αρχείο με το όνομα dtl_cmds.exe. (Καλό είναι ο χρήστης να κάνει shortcut στο DeskTop του υπολογιστή του το παραπάνω αρχείο). Παρατηρούμε τον τίτλο στο πάνω μέρος της φόρμας, Desk Top Lab Configurtion. To περιβάλλον αυτό χρησιμοποιείται για την διαμόρφωση (του FPGA) όλων των συσκευών του Desk Top Lab. Αρκεί κάθε φορά να επιλέξουμε το κατάλληλο αρχείο για την διαμόρφωση του FPGA και την διεύθυνση της αντίστοιχης κάρτας. Το περιβάλλον αποτελείται από τρία tabs με τις ονομασίες Prefererences, Configuration και Debug. Επιλέγουμε το Configuration. Τα άλλα δύο tabs επιτελούν λειτουργίες οι οποίες δεν θα μας χρειαστούν. Τα βήματα τα οποία ακολουθούμε για την διαμόρφωση είναι τα εξής : 1. Επιλέγοντας το κουμπί Assign εμφανίζεται ένα Open File Menu ώστε να αναζητήσουμε μέσα στον υπολογιστή μας το κατάλληλο <*.ttf > αρχείο με το οποίο θα διαμορφώσουμε το FPGA. Το αρχείο αυτό είναι το cntrl10.ttf και βρίσκεται μέσα στον φάκελο LoAn_FPGA μέσα στον οποίο έχουμε τοποθετήσει και τα υπόλοιπα αρχεία του FPGA. Aν λοιπόν ο φάκελος αυτός έχει αντιγραφθεί στο C:\ ακολουθώντας το path C:\ LoAn_FPGA\ cntrl10.ttf βρίσκουμε το αντίστοιχο αρχείο. Με διπλό-κλικ επιλέγουμε το αρχείο μας και παρατηρούμε ότι στο μεγάλο textbox εμφανίζεται ολόκληρο το path. 2. Στο textbox με την ένδειξη Address γράφουμε τον αριθμό 8 και πατάμε ENTER. Δίνουμε με αυτό τον τρόπο στο σύστημα χειρισμού την διεύθυνση της κάρτας του Logic Analyser, τη σημασία της οποίας έχουμε εξηγήσει σε προηγούμενο κεφάλαιο. Τα άλλα δύο textboxes με τις ενδείξεις Status και CardId τα αφήνουμε ως έχουν. 3. Όλα είναι έτοιμα για το Configuration του FPGA. Πατάμε το κουμπί με την ονομασία Configuration και αρχίζει η διαδικασία της διαμόρφωσης. H διαδικασία αυτή διαρκεί κάποια δευτερόλεπτα. Στο χρονικό αυτό διάστημα παρατηρούμε την πρόοδο της διαμόρφωσης στο progress bar του πεδίου. Η διαδικασία ολοκληρώνεται όταν συμπληρωθεί το progress bar. Aν όλα έχουν γίνει σωστά θα δούμε στο CardId την τιμή 7 και στο Status την τιμή 3. Στην περίπτωση που τα νούμερα είναι διαφορετικά το FPGA μας δεν έχει προγραμματισθεί σωστά. Τρεις πιθανοί λόγοι είναι οι παρακάτω: Α) Δεν έχουμε στείλει το σωστό ttf αρχείο, οπότε και επαναλαμβάνουμε την διαδικασία επιλέγοντας προσεκτικά το cntrl10.ttf. B) Η θύρα LPT 1 δεν είναι σε EPP mode οπότε ο προγραμματισμός δεν μπορεί να γίνει σωστά. Θα πρέπει λοιπόν να επανεκκινήσουμε το σύστημα μας θέτοντας από το BIOS την LPT 1 σε Epp mode. C) Αν δεν φταιει ούτε αυτό τότε πιθανόν υπάρχει κάποιο λάθος στην σύνδεση με την παράλληλη. Στο σχήμα 6-1 απεικονίζεται το περιβάλλον διαμόρφωσης του FPGA. 6-4
52 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σχήμα 6-1 Το περιβάλλον διαμόρφωσης του FPGA 6-5
53 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 6.5 Χρήση της Εφαρμογής. Αφού ολοκληρώσουμε όλα τα παραπάνω βήματα μπορούμε να ξεκινήσουμε την εφαρμογή μας παρουσιάζοντας τις δυνατότητες του Logic Analyser. Η συγκεκριμένη φόρμα αποτελεί το περιβάλλον χειρισμού του συστήματος. Παρατηρούμε ότι το μεγαλύτερο μέρος της φόρμας καταλαμβάνει η οθόνη μας στην οποία απεικονίζονται και τα δείγματα. Eίναι λογικό να θέλουμε να έχουμε όσο το δυνατό καλύτερη εικόνα των δειγμάτων. Δίπλα από την οθόνη υπάρχουν οι ετικέτες Ch_7 έως Ch_0 οι οποίες δείχνουν τη θέση των 8 καναλιών, κάθε ένα από τα οποία αντιστοιχεί σε συγκεκριμένο bit του δείγματος. Tο κάθε δείγμα αποτελείται από 8 bits. To bit 7 (MSB) αντιστοιχεί στο κανάλι 7, το bit 6 στο κανάλι 6 κ.ο.κ. Η ετικέτα δίπλα στην ένδειξη sample μας δίνει τον αριθμό του τρέχοντος δείγματος, δηλαδή του δείγματος το οποίο βρίσκεται στο αριστερό άκρο της οθόνης. Τα παρακάτω κουμπιά, μας δίνουν τη δυνατότητα να μετακινηθούμε κατά την φορά του βέλους ένα δείγμα τη φορά. Η μετακίνηση αυτή έχει ως αποτέλεσμα στο αριστερό άκρο της οθόνης να βρίσκεται το αμέσως επόμενο δείγμα όταν μετακινούμαστε προς τα δεξιά και το αμέσως προηγούμενο όταν μετακινούμαστε προς τα αριστερά. Η ετικέτα δίπλα στην ένδειξη sample αλλάζει με τη χρήση των κουμπιών αυτών δίνοντας πάντα τον αριθμό του τρέχοντος δείγματος. Τα κουμπιά : μας δίνουν τη δυνατότητα να μετακινηθούμε κατά την φορά του βέλους κατά ένα Division. Η οθόνη είναι χωρισμένη σε δέκα division. Ανάλογα με το time/division τo οποίο έχουμε επιλέξει απεικονίζεται και ένας συγκεκριμένος αριθμός δειγμάτων ανά div. Όταν αντιστοιχούν περισσότερα του ενός δείγματα ανά division τότε μπορούμε να μετακινηθούμε με τα παραπάνω κουμπιά κατά ένα div, ανάλογα δείγματα. Αν για παράδειγμα με το συγκεκριμένο time/division αντιστοιχούν 2 δείγματα / div και βρισκόμαστε στο δείγμα 0 πατώντας το κουμπί ( >_Div ) θα βρεθούμε στο δείγμα 2. Και πάλι η ετικέτα δίπλα στην ένδειξη sample αλλάζει δίνοντας πάντα τον αριθμό του τρέχοντος δείγματος. Η επιλογή του time/div καθορίζει το χρονικό διάστημα που αντιστοιχεί στο κάθε division συνεπώς και τον αριθμό των δειγμάτων για το συγκεκριμένο χρονικό διάστημα. Το control αυτό αποτελεί μια από τις σημαντικότερες δυνατότητες που παρέχει ένας Logic Analyser. Με ένα απλό παράδειγμα θα εξηγήσουμε την σημασία του: Έστω ότι δειγματoληπτούμε με μια συχνότητα F_sample = 50kHz. Με time/division 0.2 sec/div έχουμε δείγματα σε κάθε division. Αποτέλεσμα είναι ο χρήστης να μην μπορεί να διακρίνει τίποτα. Επιλέγοντας όμως time/division = 1 μsec/div παίρνουμε μισό δείγμα ανά division. Η κλίμακα του time/division δεν είναι η ίδια για όλους τους Logic Analysers. Επιλέξαμε ένα μεγάλο εύρος που κυμαίνεται από τα 5nsec/div έως τo 1sec/div ώστε να είναι εφικτή η ευδιάκριτη απεικόνιση των δειγμάτων στην οθόνη του PC για όλες τις συχνότητες δειγματοληψίας που παρέχει το σύστημα μας. Τα κουμπιά στο συγκεκριμένο control αυξάνουν ή μειώνουν την κλίμακα αντίστοιχα, ενώ η ένδειξη ανάμεσα τους μας δίνει για κάθε επιλογή το αντίστοιχο time/div. Ανεξάρτητα της κλίμακας το δείγμα στο αριστερό σημείο της οθόνης παραμένει σημείο αναφοράς. Όταν ξεκινά η εφαρμογή μας το time/div είναι εξ ορισμού στα 5nsec/div. Πατώντας το κουμπί με το βέλος φοράς προς τα δεξιά μειώνουμε την κλίμακα στα 10nsec/div στη συνέχεια στα 20nsec/div κ.ο.κ. Το 6-6
54 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ανάποδο συμβαίνει πατώντας το κουμπί με το βέλος φοράς προς τα αριστερά. Οι επιλογές μας στο time/div φαίνονται στον πίνακα 6-1. ns/div us/div ms/div sec/div Πίνακας 6-1 Οι Δυνατές Επιλογές στο Time/div Τέλος σημειώνουμε την δυνατότητα του χρήστη να παρακολουθεί την τιμή των διαφόρων δειγμάτων που απεικονίζονται στην οθόνη του υπολογιστή μετακινώντας απλά το ποντίκι του πάνω σε αυτή. Μετακινώντας δηλαδή το ποντίκι σε οποιαδήποτε σημείο της οθόνης γνωρίζουμε ποιο δείγμα βρίσκεται στο σημείο αυτό και την τιμή του σε hex μορφή. Τα παραπάνω αναγράφονται στη λεζάντα που εμφανίζεται δίπλα στον κέρσορα μόλις αφήνουμε το ποντίκι ακίνητο για μικρό χρονικό διάστημα σε κάποιο σημείο της οθόνης. Στο σχήμα 6-2 απεικονίζεται το περιβάλλον της εφαρμογής. Μπορούμε να παρατηρήσουμε όσα αναφέραμε παραπάνω. Σχήμα 6-2 Το Περιβάλλον της Εφαρμογής 6-7
55 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Εκκίνησης της Εφαρμογής. Κάτω από την οθόνη μας και τα controls που αναφέραμε υπάρχουν 6 tabs (πεδία) τα οποία είναι τα ακόλουθα. Το πεδίο διαμόρφωσης του FPGA. Το πεδίο ενεργοποίησης καναλιών. Το πεδίο αποστολής εντολών. Το πεδίο διαμόρφωσης καναλιών. Το πεδίο Sample Info. To πεδίο Visual Settings. Επιλέγοντας κάποιο από τα παραπάνω πεδία εμφανίζεται ένα σύνολο επιλογών και δυνατοτήτων τα οποία είναι ομαδοποιημένα κατά τέτοιο τρόπο ώστε ο χρήστης να καταλαβαίνει από τον τίτλο κάθε πεδίου την λειτουργία την οποία επιτελεί. 6-8
56 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Το Πεδίο Ενεργοποίησης Καναλιών. Ξεκινώντας την εφαρμογή μας και αφού έχουμε διαμορφώσει το FPGA παρατηρούμε ότι κανένα σήμα δεν εμφανίζεται στην οθόνη μας. Αυτό οφείλεται στο ότι δεν έχουμε επιλέξει ποια κανάλια θέλουμε να βλέπουμε. Επιλέγουμε το πεδίο με τον τίτλο Ch_Select. Παρατηρούμε ότι το πεδίο αυτό αποτελείται από 9 CheckBoxes και από ένα κουμπί με το τίτλο Clear_Screen. Τα 9 αυτά CheckBoxes είναι τα Channel 0 έως Channel 7 και Select All. Επιλέγοντας με το ποντίκι μας σε κάποιο κουτάκι ενεργοποιούμε το αντίστοιχο κανάλι. Μπορούμε λοιπόν να έχουμε στην οθόνη μας οποιαδήποτε συνδυασμό καναλιών επιθυμούμε. Για παράδειγμα μπορούμε να επιλέξουμε το κανάλι 0, το κανάλι 1 και το κανάλι 6. Όπως έχουμε αναφέρει το κάθε κανάλι αντιστοιχεί σε συγκεκριμένο bit του δείγματος. Όταν επιλέγουμε δηλαδή τα παραπάνω κανάλια βλέπουμε στην οθόνη μας τα bit 0, 1 και 6 του δείγματος. Αυτή είναι και η σκοπιμότητα του συγκεκριμένου control. Παρόλο που στην οθόνη μας είναι ορατά μόνο τα συγκεκριμένα bits αν με το mouse μας δοκιμάσουμε να ενημερωθούμε για την τιμή κάποιου δείγματος η hex τιμή που θα εμφανιστεί δίπλα στον κέρσορα μας είναι η τιμή όλου του δείγματος. Αν επιλέξουμε Select All τότε ανεξαρτήτως της επιλογής μας σε συγκεκριμένα κανάλια θα βλέπουμε και τα 8 κανάλια, δηλαδή ολόκληρο το δείγμα θα είναι ορατό στην οθόνη. Από την κατάσταση αυτή αν θελήσουμε πάλι να δούμε ορισμένα μόνο bits τότε θα πρέπει να απενεργοποιήσουμε πρώτα την επιλογή Select All. To κουμπί με τον τίτλο Clear_Screen χρησιμοποιείται για να καθαρίζουμε την οθόνη από οποιαδήποτε ένδειξη. Στο σχήμα 6-3 φαίνεται το πεδίο επιλογής καναλιών. Στην συγκεκριμένη περίπτωση έχουμε ενεργοποιήσει τα κανάλια 7 και 5. Σχήμα 6-3 Το Πεδίο Ενεργοποίησης Καναλιών 6-9
57 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Το Πεδίο Αποστολής Εντολών. Το πεδίο αυτό αποτελεί το τμήμα επικοινωνίας με τo σύστημα του Logic Analyser. Ακολουθώντας μια σειρά βημάτων κάνουμε τις απαραίτητες ρυθμίσεις για να εκκινήσουμε την εφαρμογή. Τα βήματα που ακολουθούμε είναι τα παρακάτω: 1 Επιλέγουμε την συχνότητα δειγματοληψίας. Η συχνότητα δειγματοληψίας είναι πολύ σημαντική για την σωστή απεικόνιση του δείγματος. Όσο πιο μεγάλη είναι η συχνότητα δειγματοληψίας τόσο πιο πιστά απεικονίζουμε το δείγμα. Για αυτό ακριβώς το λόγο δίνουμε την δυνατότητα στο χρήστη να επιλέξει την συχνότητα αυτή η οποία μπορεί να κυμαίνεται από τα ( / 1)Mhz έως (4.494 / 255)Μhz με βήμα 1 στον παρονομαστή. Η συχνότητα 4.494Mhz είναι η βασική συχνότητα του κρυστάλλου. Από το Schroll bar με την ένδειξη frequency divisor επιλέγουμε την συχνότητα. Μεταβάλλοντας την τιμή του διαιρέτη η συχνότητα αλλάζει ενώ η τιμή της αναπαρίσταται στη λεζάντα δεξιά του συγκεκριμένου control. 2 Επιλέγουμε τον αριθμό των δειγμάτων τα οποία θέλουμε να διαβάσουμε από τη FIFO και να απεικονίσουμε στην οθόνη μας. Η ελάχιστη τιμή των δειγμάτων είναι 128 και η μέγιστη Αν δεν επιλέξουμε τον αριθμό των δειγμάτων τότε χρησιμοποιείται η default τιμή δηλαδή τα 128 δείγματα. Η επιλογή αυτή γίνεται από το Schroll bar με την ένδειξη fifo_samples. Kαι σε αυτή την περίπτωση η επιλογή μας αναπαρίσταται δεξιά του Schroll bar. 3 Επιλέγουμε την τιμή (trigger pattern) την οποία ζητάμε να βρούμε μέσα στα δείγματα μας. Γράφουμε τη τιμή αυτή στο textbox με την ένδειξη trigger pattern. Η τιμή αυτή είναι σε δυαδική μορφή. Συγκεκριμένα είναι ένας αριθμός των 8-bits τον οποίο πληκτρολογούμε και στη συνέχεια πατάμε το ENTER για να δεχτεί το σύστημα τον αριθμό. Ένα παράδειγμα είναι ο αριθμός οπού στην ουσία ζητάμε από τον Logic Analyser να βρει αν κάποιο από τα δείγματα, από συγκεκριμένο δείγμα και μετά, έχει την τιμή αυτή. Σε αυτό το σημείο σημειώνουμε την δυνατότητα του χρήστη να επιλέξει περισσότερες από μια τιμές για το trigger δεδομένου ότι στην τιμή που πληκτρολογεί μπορεί να επιλέξει και αδιάφορους όρους (don t care). Ένα τέτοιο παράδειγμα είναι η τιμή 10X100X1, όπου ζητάμε ουσιαστικά από τον Logic να βρει μια από τις παρακάτω τιμές , , , Επιλέγουμε το fifo _position από το αντίστοιχο Schroll bar. To fifo_position είναι το σημείο (δείγμα) από το οποίο αναζητάμε το trigger, δηλαδή την τιμή που έχουμε ζητήσει από τον Logic Analyser να βρει στο προηγούμενο βήμα. Και πάλι η τιμή την οποία επιλέγουμε αναγράφεται στην ένδειξη δεξιά του Schroll bar. 5 Αφού έχουμε ολοκληρώσει τα παραπάνω μπορούμε να εξετάσουμε την εφαρμογή μας. Κατά την διάρκεια των παραπάνω ρυθμίσεων παρατηρούμε μια κίνηση στην οθόνη μας. Αυτό συμβαίνει γιατί με την εκκίνηση του προγράμματος το σύστημα μας βρίσκεται εξ ορισμού στην κατάσταση κατά την οποία ο κύκλος των εντολών προς την κάρτα επαναλαμβάνεται με ρυθμό 60 ms. Σε κάθε κύκλο το σύστημα μας στέλνοντας τις αντίστοιχες εντολές μηδενίζει την FIFO, δειγματοληπτεί και στέλνει τα δείγματα στην οθόνη του PC μας ακολουθώντας πάντα τις επιλογές μας 6-10
58 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ για το trigger pattern, το fifo_position, τον αριθμό των δειγμάτων και την συχνότητα δειγματοληψίας. Στην αρχή της εφαρμογής, πριν ακόμα επιλέξουμε τα παραπάνω και αφού το σύστημα βρίσκεται στην κατάσταση που αναφέραμε χρησιμοποιούνται οι default τιμές : για το trigger 0 για το fifo_position Μhz για την συχνότητα δειγματοληψίας 128 δείγματα της fifo. Παρατηρούμε ότι εκτός από τα παραπάνω controls υπάρχουν και 2 ακόμα κουμπιά με τον τίτλο RUN/stop και SINGLE. Όπως ήδη αναφέραμε το σύστημα με την εκκίνηση της εφαρμογής μας βρίσκεται στην κατάσταση κατά την οποία ο κύκλος των εντολών επαναλαμβάνεται συνεχώς στέλνοντας κάθε φορά καινούργια δείγματα στο PC μας. Πατώντας στο κουμπί με τον τίτλο RUN/stop παρατηρούμε ότι η ένδειξη του αλλάζει σε run/stop και τα δείγματα μας ακινητοποιούνται στην οθόνη. Αυτό συμβαίνει γιατί σταματήσαμε τον timer σύμφωνα με τον οποίο επαναλαμβάνεται συνεχώς ο κύκλος εντολών ανά 60msec. Έτσι το σύστημα δεν στέλνει εντολές στην κάρτα μας με αποτέλεσμα να παρατηρούμε στην οθόνη μας την τελευταία δειγματοληψία, πριν δηλαδή πατήσουμε το συγκεκριμένο κουμπί. Πατώντας το κουμπί SINGLE επαναλαμβάνεται η διαδικασία για μία μόνο φορά. Το σύστημα μας στέλνοντας τις αντίστοιχες εντολές μηδενίζει την FIFO, δειγματοληπτεί και στέλνει τα δείγματα στην οθόνη του PC για ένα κύκλο εντολών. Οι επαναλαμβανόμενοι κύκλοι εντολών δεν γίνονται στην περίπτωση αυτή από το σύστημα αυτόματα αλλά από τον ίδιο το χρήστη. Ένας κύκλος κάθε φορά που πατάμε το κουμπί SINGLE. Σημειώνουμε ότι για να περάσουμε σε κατάσταση SINGLE θα πρέπει το σύστημα να βρεθεί πρώτα σε κατάσταση run/stop. Κατά την διάρκεια της RUN/stop κατάστασης ή πριν περάσουμε σε κατάσταση SINGLE μπορούμε να αλλάξουμε τις ρυθμίσεις μας οι οποίες αφορούν την συχνότητα δειγματοληψίας, τα δείγματα που θέλουμε να διαβάσουμε από την FIFO, το fifo position καθώς και το trigger pattern παρατηρώντας τις αλλαγές στην οθόνη μας. Αν πάλι κατά την κατάσταση RUN/stop αλλάξει η συχνότητα του ψηφιακού σήματος σε κάποιο από τα κανάλια ή ακόμα το duty cycle της παλμοσειράς αυτόματα παρατηρούμε την μεταβολή αυτή στο αντίστοιχο κανάλι, στην οθόνη του PC μας. Τέλος σημειώνουμε ότι από την κατάσταση run/stop περνάμε και πάλι στην RUN/stop πατώντας το συγκεκριμένο control. Στο σχήμα 6-4 απεικονίζεται το παραπάνω πεδίο όταν είμαστε στην κατάσταση STOP/run και έχουμε επιλέξει συχνότητα δειγματοληψίας KHz, fifo_position = 335 δείγματα, ανάγνωση από την FIFO και των 1024 δειγμάτων, ΤRIGGER_PATTERN= και time/div = 0.2ms/div. 6-11
59 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σχήμα 6-4 Το Πεδίο Αποστολής Εντολών 6-12
60 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Το Πεδίο Διαμόρφωσης Καναλιών. Για να διαμορφώσουμε τα κανάλια μας επιλέγουμε το πεδίο με τον τίτλο ch_manag (channel management). Παρατηρούμε στο συγκεκριμένο πεδίο ότι ο χρήστης έχει την δυνατότητα να επιλέξει ανάμεσα σε δύο mode λειτουργίας των καναλιών. Υπάρχει το default channel mode λειτουργίας και το group channel mode. Kατά την εκκίνηση της εφαρμογής το περιβάλλον προγραμματισμού εισέρχεται στον πρώτο τρόπο λειτουργίας των καναλιών για αυτό και του δώσαμε το παραπάνω όνομα (Default). Παρακάτω θα εξηγήσουμε τους δύο αυτούς τρόπους διαμόρφωσης των καναλιών. Ο Default Channel Mode Σε αυτό τον τρόπο λειτουργίας τα κανάλια είναι διαμορφωμένα ως εξής. Το κανάλι Ch_7, το οποίο αντιστοιχεί στο bit 7 του δείγματος, βρίσκεται στο πάνω μέρος της οθόνης, το κανάλι Ch_6, το οποίο αντιστοιχεί στο bit 6, κάτω από το κανάλι 7 και το ίδιο επαναλαμβάνεται μέχρι το κανάλι Ch_0. Λέγοντας δείγμα εννοούμε τον 8_bit αριθμό ο οποίος λαμβάνεται από το ψηφιακό σήμα σε κάθε κανάλι δειγματοληψίας. Στην περίπτωση που κάποιο κανάλι δεν χρησιμοποιείται, αλλά είναι ενεργοποιημένο, τότε το αντίστοιχο bit θα έχει την τιμή 0, με αποτέλεσμα να βλέπουμε μια συνεχόμενη στάθμη low στην οθόνη μας για το συγκεκριμένο κανάλι. Tα ονόματα των καναλιών βρίσκονται στο αριστερό άκρο της φόρμας διατεταγμένα το ένα κάτω από το άλλο με τη σειρά που αναφέραμε. Για να αλλάξει το όνομα κάποιου καναλιού ο χρήστης, προκειμένου να δείχνει ποιο είναι το σήμα που απεικονίζεται στην αντίστοιχη θέση πρέπει να ακολουθήσει τα παρακάτω βήματα: 1 Αρχικά επιλέγει από την λίστα με την ένδειξη Select Ch το κανάλι που θέλει να μετονομάσει, πατώντας με το ποντίκι μια φορά πάνω του. 2 Πληκτρολογεί το όνομα που θέλει να του δώσει στο textbox με την ένδειξη Select Name. 3 Πατώντας ENTER το όνομα που έδωσε αντικαθιστά την ένδειξη Ch_x, όπου x το κανάλι που έχει επιλέξει, δίπλα στη οθόνη. Για διευκόλυνση και επειδή συχνά χρησιμοποιούμε τον Logic για να δειγματοληπτήσoυμε κάποιο Data Βus, δεν χρειάζεται να μετονομάσουμε τα κανάλια ένα - ένα, απλά πατάμε το κουμπί με την ένδειξη Data Bus. Tότε κάθε κανάλι μετονομάζεται στο αντίστοιχο DBx. Στην περίπτωση που θέλουμε να δώσουμε στα κανάλια την αρχική τους ονομασία, πατάμε το κουμπί Default. Στο σχήμα 6-5 παρουσιάζεται η εικόνα του συγκεκριμένου πεδίου για τον Default Channel Mode. Επιλέγουμε τον τρόπο αυτό λειτουργίας έχοντας δώσει τα ονόματα DB7 έως DB0 στα 7 κανάλια χρησιμοποιώντας το κουμπί D7-D0. Σημειώνουμε ότι θα μπορούσαμε να δώσουμε στο κάθε κανάλι το δικό του όνομα ακολουθώντας την παραπάνω διαδικασία, επιλέξαμε αυτό το παράδειγμα για να δείξουμε και αυτή την δυνατότητα. 6-13
61 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σχήμα 6-5 Ο Default Channel Mode Group Channel Mode Δειγματοληπτώντας με ένα παλμογράφο ή κάποιο Logic Analyser γεννιέται η ανάγκη συχνά να χρησιμοποιήσουμε κανάλια τα οποία δεν βρίσκονται στη κανονική σειρά. Για παράδειγμα για να παρατηρήσουμε τις τιμές των pins A0 - A1- A2 (Address Bus) ενός ολοκληρωμένου χρησιμοποιούμε τα κανάλια 7, 3, 1 και όχι τα 0, 1, 2. Αυτό έχει σαν αποτέλεσμα οι τιμές τους να αναπαρίστανται στις θέσεις της οθόνης όπου αντιστοιχούν τα συγκεκριμένα κανάλια. Όμως κάτι τέτοιο είναι δύσχρηστο λειτουργικά δεδομένου ότι θέλουμε να έχουμε μια συνολική εικόνα των τριών αυτών σημάτων ώστε να μπορούμε να υπολογίσουμε την τιμή του Αddress Bus του ολοκληρωμένου. Θέλουμε δηλαδή τα συγκεκριμένα σήματα να απεικονίζονται ομαδοποιημένα σε κάποιο τμήμα της οθόνης το ένα κάτω από το άλλο. Kάτι τέτοιο επιτυγχάνεται επιλέγοντας τον Group Channel Mode με τον οποίο μπορούμε να αναδιατάξουμε τα κανάλια έτσι ώστε καθένα από αυτά να τοποθετηθεί στη θέση που επιλέγουμε. Έστω ότι στο προηγούμενο παράδειγμα θέλουμε τα εξής. Το Α2 να αντιστοιχεί στη θέση του καναλιού 7, το Α1 στη θέση του 6 και το Α0 στη θέση του 5. Πρέπει λοιπόν να αναδιατάξουμε τα κανάλια έτσι ώστε το 7 να παραμείνει στη θέση του, το 3 να πάρει την θέση του 6 και το 1 την θέση του 5. Έχοντας επιλέξει τα παραπάνω ακολουθούμε τα βήματα: 6-14
62 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ 1 Στη λίστα με την ένδειξη Physical Channels κάνουμε διπλό κλικ στα κανάλια με την σειρά που θέλουμε να τοποθετηθούν αυτά στην οθόνη μας, από πάνω προς τα κάτω. Στο συγκεκριμένο παράδειγμα κάνουμε διπλό κλικ πρώτα στο κανάλι 7, στη συνέχεια στο 3 και τέλος στο 1. Τα κανάλια αυτά θα τοποθετηθούν το ένα κάτω από το άλλο με την σειρά που τα επιλέξαμε. Την ίδια διαδικασία ακολουθούμε και για τα υπόλοιπα κανάλια. Παρατηρούμε κάθε φορά που κάνουμε διπλό κλικ σε κάποιο κανάλι αυτό περνά και απεικονίζεται στη λίστα με την ένδειξη Display Channels. Στο τέλος της διαδικασίας η συγκεκριμένη λίστα περιέχει τα κανάλια με την σειρά που έχουμε επιλέξει να απεικονίζονται στην οθόνη μας. Το πρώτο κανάλι της λίστας είναι αυτό που απεικονίζεται στο πάνω μέρος της οθόνης, το δεύτερο αυτό που απεικονίζεται αμέσως από κάτω κ.ο.κ. Στην περίπτωση λάθους πατάμε το κουμπί Undo και επαναλαμβάνουμε την διαδικασία. 2 Στη λίστα Display Channels επιλέγουμε με το ποντίκι μας ένα- ένα τα δείγματα κάνοντας απλό κλικ πάνω τους. Τότε αριστερά της οθόνης μας θα εμφανιστεί το όνομα κάθε καναλιού στη θέση που έχουμε επιλέξει να το τοποθετήσουμε. 3 Εκτός από τη λίστα Display Channels παρατηρούμε ότι τα κανάλια έχουν τοποθετηθεί με την σειρά που τα επιλέξαμε και στην λίστα Select Ch. Ακολουθώντας τα βήματα που περιγράψαμε και στον Default Channel Mode μετονομάζουμε τα κανάλια μας με τον τρόπο που θέλουμε. Στο τέλος της όλης διαδικασίας η οθόνη μας παρουσιάζει την εικόνα του σχήματος 6-5, όπου είναι ο Group Channel Mode βάση των παραπάνω επιλογών. Ακολουθώντας το παραπάνω παράδειγμα το πεδίο διαμόρφωσης καναλιών παρουσιάζει την εικόνα του σχήματος
63 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Σχήμα 6-6 Ο Group Channel Mode Τέλος σημειώνουμε την δυνατότητα του χρήστη να ενεργοποιήσει ή να απενεργοποιήσει τα κανάλια που εκείνος θέλει από το πεδίο ενεργοποίησης καναλιών ανεξαρτήτως του channel mode που έχει επιλέξει. 6-16
64 ΚΕΦΑΛΑΙΟ 6 ΤΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Το Πεδίο Sample_Info. Στο πεδίο αυτό δίνονται απαραίτητες πληροφορίες στο χρήστη οι οποίες αφορούν : Τον αριθμό των δειγμάτων ανά Division αλλά και τον αριθμό των δειγμάτων σε όλο το πλάτος της οθόνης. Το πρώτο το πληροφορούμαστε από την ένδειξη Samples \ Div ενώ το δεύτερο από την ένδειξη Samples \ Screen. Τα μεγέθη αυτά εξαρτώνται από την συχνότητα δειγματοληψίας αλλά και το time/div το οποίο επιλέγουμε, με αποτέλεσμα να προσαρμόζεται η τιμή τους όταν τα παραπάνω αλλάζουν. Την τιμή του τρέχοντος δείγματος σε δεκαδική (Decimal) αλλά και σε δεκαεξαδική (Ηex) μορφή. Η τιμή αυτή αλλάζει όταν μετακινούμαστε σε άλλο δείγμα. Τέλος παρέχεται η δυνατότητα στο χρήστη να μετακινείται σε οποιοδήποτε δείγμα επιθυμεί στο σύνολο των δειγμάτων που έχουμε αποθηκεύσει στη RAM. Στο textbox με την ένδειξη Goto Sample πληκτρολογούμε τον αριθμό του δείγματος στο οποίο θέλουμε να μετακινηθούμε και πατάμε το ENTER. Στο σχήμα 6-7 παρατηρούμε την εικόνα του πεδίου έχοντας μετακινηθεί στο δείγμα 700 και το οποίο απεικονίζεται στο αριστερό άκρο της οθόνης και έχει την τιμή 80Η. Σχήμα 6-7 Το πεδίο Sample Info 6-17
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΛΑΜΠΡΟΠΟΥΛΟΥ ΜΑΝΘΟΥ ΑΜ:3990 ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ
Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).
Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται
Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ
Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό
Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)
Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις
ΑΝΑLOG TO DIGITAL CONVERTER (ADC)
ΑΝΑLOG TO DIGITAL CONVERTER (ADC) O ADC αναλαμβάνει να μετατρέψει αναλογικές τάσεις σε ψηφιακές ώστε να είναι διαθέσιμες εσωτερικά στο μικροελεγκτή για επεξεργασία. Η αναλογική τάση που θέλουμε να ψηφιοποιηθεί
ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται
Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ
Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να
Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή
Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)
- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών
Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης
Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07
Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή
Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής
Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα
Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς
ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική
Μάθημα 4.7 Θύρες περιφερειακών
Μάθημα 4.7 Θύρες περιφερειακών - Εισαγωγή - Η σειριακή θύρα - Η παράλληλη θύρα - Οι θύρες πληκτρολογίου και ποντικιού τύπου PS/2 - Ο διάδρομος USB Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις
Μάθημα 3: Αρχιτεκτονική Υπολογιστών
Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται
Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»
Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση
Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,
Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:
Βασικές Έννοιες της Πληροφορικής
Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα
Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.
Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός
Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2
Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.
ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΣΑΒΒΑΤΟ 16/04/2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (ΣΥΣΤΗΜΑΤΑ ΨΗΦΙΑΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ) ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) ΕΝΔΕΙΚΤΙΚΕΣ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία
ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication
ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ
Εισαγωγή στο Εργαστήριο Υλικού
ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων Εισαγωγή στο Εργαστήριο Υλικού Διδάσκoντες: Δρ. Γιώργος Ζάγγουλος και Δρ. Παναγιώτα Μ. Δημοσθένους Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Κεντρική Μονάδα Επεξεργασίας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΝΗΜΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΥΠΕΥΘΥΝΟΣ ΕΡΓΑΣΤΗΡΙΩΝ: ΧΡΥΣΟΣΤΟΜΟΣ ΧΡΥΣΟΣΤΟΜΟΥ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2001 ΕΠΛ 121 ΕΡΓΑΣΤΗΡΙΑ ΨΗΦΙΑΚΩΝ
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΜΕΛΕΤΗ ΔΟΜΩΝ ΜΕΤΑΤΡΟΠΕΩΝ ΑΝΑΛΟΓΙΚΟΥ ΣΗΜΑΤΟΣ ΣΕ ΨΗΦΙΑΚΟ Καραβίτης Κωνσταντίνος Α.Μ: 5030 Επιβλέπων Καθηγητής: Κ.Ευσταθίου Συνεπιβλέπων Καθηγητής: Γ.Παπαδόπουλος ΠΑΤΡΑ 2008
ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών
44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.
Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Μονάδες Μνήμης και Διατάξεις Προγραμματιζόμενης Λογικής
Πανεπιστήμιο Πατρών Τμήμα Φυσικής Ψηφιακά Ηλεκτρονικά Μονάδες Μνήμης και Επιμέλεια Διαφανειών: Δ. Μπακάλης Πάτρα, Φεβρουάριος 2009 Μονάδες Μνήμης - Προγραμματιζόμενη Λογική Μια μονάδα μνήμης είναι ένα
ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ
ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό
Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ
Ψηφιακή Λογική Σχεδίαση
Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν
ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ
ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ
ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι σύγχρονοι μετρητές υλοποιούνται με Flip-Flop τύπου T
Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL
Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL 3.1 Εισαγωγή στα FLIP FLOP 3.1.1 Θεωρητικό Υπόβαθρο Τα σύγχρονα ακολουθιακά κυκλώματα με τα οποία θα ασχοληθούμε στο εργαστήριο των Ψηφιακών συστημάτων
Ενσωματωμένα Συστήματα
Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.
Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές
Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας
Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους
Μάθημα 4.2 Η μητρική πλακέτα
Μάθημα 4.2 Η μητρική πλακέτα - Εισαγωγή - Οι βάσεις του επεξεργαστή και της μνήμης - Οι υποδοχές της μητρικής πλακέτας - Άλλα μέρη της μητρική πλακέτας - Τυποποιήσεις στην κατασκευή μητρικών πλακετών Όταν
Μαλούτα Θεανώ Σελίδα 1
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα
Συστήματα Μικροϋπολογιστών
Συστήματα Μικροϋπολογιστών Είσοδος / Έξοδος Δεδομένων Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Μνήμη και Προγραμματίσιμη Λογική
Μνήμη και Προγραμματίσιμη Λογική Η μονάδα μνήμης είναι ένα στοιχείο κυκλώματος στο οποίο μεταφέρονται ψηφιακές πληροφορίες προς αποθήκευση και από το οποίο μπορούμε να εξάγουμε αποθηκευμένες πληροφορίες
ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)
ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) Περιγραφή της Άσκησης Ο σκοπός της πρώτης άσκησης είναι κυρίως η εξοικείωση με το περιβάλλον προγραμματισμού του Arduino, γι αυτό και δεν είναι ιδιαίτερα σύνθετη. Αρχικά, θα
Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές
Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)
Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT) Τι είναι Είσοδος και τι Έξοδος Με τον όρο Είσοδο (Input) αναφερόμαστε στη ροή δεδομένων προς την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), ενώ με τον όρο
Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών
Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές Εισαγωγή στο Arduino Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Τι είναι Μικροελεγκτής; Ηλεκτρονική συσκευή που διαχειρίζεται ηλεκτρονικά
Διαφορές single-processor αρχιτεκτονικών και SoCs
13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό
Λιβανός Γιώργος Εξάμηνο 2017Β
Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!
Αρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια
ΜΑΘΗΜΑ 1- MULTIPLE CHOICE
ΜΑΘΗΜΑ 1- MULTIPLE CHOICE 1. Ποιος τύπος Η/Υ χρησιμοποιείται για την λειτουργία συστημάτων και βάσεων δεδομένων μεγάλων εταιρειών; a) Επιτραπέζιος Η/Υ b) Προσωπικός Ψηφιακός Βοηθός c) Μεγάλο σύστημα d)
Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες
Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες 7.1 Αρχιτεκτονική μνημών σε υπολογιστικό σύστημα Σε ένα υπολογιστικό σύστημα υπάρχουν συνήθως περισσότερες από μία μνήμες. Επειδή η χωρητικότητα ενός μόνο
Σειριακό Τερματικό Serial Terminal (Dumb Terminal)
Σειριακό Τερματικό Serial Terminal (Dumb Terminal) Ένα σειριακό τερματικό είναι ο απλούστερος τρόπος για να συνδέσουμε πολλαπλές μονάδες εξόδου (οθόνες) και εισόδου (πληκτρολόγια) σε ένα μηχάνημα UNIX
K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops
K24 Ψηφιακά Ηλεκτρονικά 9: TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΧΝΟΛΟΓΙΚΟ Περιεχόμενα 1 2 3 Γενικά Ύστερα από τη μελέτη συνδυαστικών ψηφιακών κυκλωμάτων, θα μελετήσουμε
ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)
ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016) Περιγραφή της Άσκησης Στόχος της άσκησης είναι η δημιουργία ενός συστήματος διαχείρισης φωτισμού. Μία φωτομεταβαλλόμενη αντίσταση (LDR) θα διαπιστώνει την ποσότητα του φωτός
Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες
Εργαστηριακή Άσκηση 4: Ιεραρχική σχεδίαση και προσχεδιασμένοι πυρήνες Στην 4 η εργαστηριακή άσκηση θα ασχοληθούμε με την ιεραρχική σχεδίαση. Συγκεκριμένα θα μάθουμε να σχεδιάζουμε απλές οντότητες τις οποίες
ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές
Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή
Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω
Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4
Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφάλαιο 7.4 Ε/Ε Οδηγούμενη από Διακοπές Το πρόβλημα με την προγραμματιζόμενη Ε/Ε είναι ότι ο επεξεργαστής πρέπει να περιμένει ώστε η μονάδα Ε/Ε που τον ενδιαφέρει
Διάλεξη 12 Καθυστερήσεις (Stalls)
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 12 Καθυστερήσεις (Stalls) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ 1 Καθυστερήσεις και Εκκενώσεις Εντολών Οι κίνδυνοι δεδομένων (data
ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ
ΣΧΟΛΗ ΑΣΠΑΙΤΕ ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΑΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ 1) Οι απαριθμητές ή μετρητές (counters) είναι κυκλώματα που
1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή
1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το του Υπολογιστή 1. Τι ονομάζεται Πρόγραμμα; Είναι οι οδηγίες που δίνονται στον υπολογιστή για να εξηγήσουμε πώς γίνεται μια εργασία (δηλαδή η
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία
Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής
Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 3/02/2019 ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι
Απαριθμητές (Ασύγχρονοι Σύγχρονοι, Δυαδικοί Δεκαδικοί)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ Εργαστήριο Ηλεκτρονικών Εφαρμογών Ψηφιακά Ολοκληρωμένα Κυκλώματα & Συστήματα Εργαστηριακή Άσκηση
Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ
Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή
για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.
1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Δραστηριότητα: 11 Μάθημα: Εργαστήριο Δικτύων Υπολογιστών Αντικείμενο : Μέτρηση
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α)
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΠΑΛΜΟΚΩΔΙΚΗ ΔΙΑΜΟΡΦΩΣΗ - PCM (ΜΕΡΟΣ Α) 3.1. ΣΚΟΠΟΣ ΑΣΚΗΣΗΣ Σκοπός της εργαστηριακής αυτής άσκησης είναι η μελέτη της παλμοκωδικής διαμόρφωσης που χρησιμοποιείται στα σύγχρονα τηλεπικοινωνιακά
26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ
ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2009 Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019
Γ ΕΠΑΛ 14 / 04 / 2019 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη.
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register
Πανεπιστήμιο Πατρών. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών
Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Εργαστήριο Σχεδίασης Ολοκληρωμένων Κυκλωμάτων Σχεδιασμός Ολοκληρωμένων Συστημάτων με τεχνικές VLSI Χειμερινό Εξάμηνο 2015 FSM
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές
Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας
Βασικές Έννοιες Πτυχιακή Εργασία 2015 Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping). Η Ασύρματη Επικοινωνία, χρησιμοποιώντας το πρωτόκολλο WiFi.
Ενότητα 1η. Εισαγωγή στην Πληροφορική
Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται
Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,
Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη
Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:
Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας
ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος
ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΔΙΑΡΚΕΙΑ: 1 περίοδος Σε αυτό το μάθημα θα μάθετε να: 1. Αναφέρετε τα διάφορα είδη μνήμης και συσκευές που τις περιέχουν. 2. Περιγράφετε τα σημαντικά χαρακτηριστικά
Κεφάλαιο 1.6: Συσκευές αποθήκευσης
Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)
ΑΣΚΗΣΗ 9. Tα Flip-Flop
ΑΣΚΗΣΗ 9 Tα Flip-Flop 9.1. ΣΚΟΠΟΣ Η κατανόηση της λειτουργίας των στοιχείων μνήμης των ψηφιακών κυκλωμάτων. Τα δομικά στοιχεία μνήμης είναι οι μανδαλωτές (latches) και τα Flip-Flop. 9.2. ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ
Εφαρμογές μικροελεγκτών
Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)
ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers) ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy) Περίληψη q Καταχωρητές Παράλληλης
Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας
Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει
Πανεπιστήμιο Θεσσαλίας- Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ430- Εργαστήριο Ψηφιακών Κυκλωμάτων
Πανεπιστήμιο Θεσσαλίας- Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ430- Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο- Ακαδημαϊκό Ετος 2018-2019 Εργαστηριακή Εργασία 4η- Υλοποίηση Οδηγού
Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου
ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη
Εφαρμογές Σειριακής Επικοινωνίας
Εφαρμογές Σειριακής Επικοινωνίας Εισαγωγή Στο μάθημα αυτό θα μάθουμε πώς να χρησιμοποιούμε την βιβλιοθήκη serial για την επικοινωνία από την πλατφόρμα Arduino πίσω στον υπολογιστή μέσω της θύρας usb. Τι
Πανεπιστήµιο Θεσσαλίας
Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΥ 130 : Ψηφιακή σχεδίαση Βόλος 2015 1 Εισαγωγή Το Multisim είναι ένα ολοκληρωμένο περιβάλλον προσομοίωσης της συμπεριφοράς
ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)
ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα
Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051
Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051 Ο κώδικας για την παρούσα εργαστηριακή άσκηση σας δίδεται κατά το μεγαλύτερο μέρος
«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο
ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 4 η :
Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΚΥΚΛΩΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Κ. ΕΥΣΤΑΘΙΟΥ,
Εικονική Μνήμη (Virtual Μemory)
ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1
Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα
Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο
Σύστημα διασύνδεσης και. διαδικασία εισόδου-εξόδου
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 6 Σύστημα διασύνδεσης και διαδικασία εισόδου-εξόδου Τι είναι αρτηρία (Bus) ; Ένα σύνολο γραμμών διασύνδεσης Πρωτόκολλο (protocol) Περιγραφή Πρωτοκόλλου χρονικό διάγραμμα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ᄃ Σχεδίαση Ψηφιακών Συστημάτων Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ
Κεφάλαιο 1: Υλικό Υπολογιστών (Hardware) 1.1: Το υπολογιστικό σύστημα ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1. Τι αντιλαμβάνεστε με τον όρο υλικό (hardware); [σελ. 8] Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε
Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView
1o ΕΠΑΛ Ε.Κ. ΝΕΑΠΟΛΗΣ Μπουλταδάκης Σ, Μαυρίδης Κ. Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView Mάθημα: Εργαστήριο Δικτύων Υπολογιστών
Σύγχρονοι Απαριθμητές. Διάλεξη 8
Σύγχρονοι Απαριθμητές Διάλεξη 8 Δομή της διάλεξης Εισαγωγή Σύγχρονος Δυαδικός Απαριθμητής Σύγχρονος Δεκαδικός Απαριθμητής Προγραμματιζόμενοι Απαριθμητές Ασκήσεις 2 Σύγχρονοι Απαριθμητές Εισαγωγή 3 Εισαγωγή