ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ

Σχετικά έγγραφα
Ψηφιακή Επεξεργασία Σήματος

Ψηφιακή Επεξεργασία Σήματος

Ειδική Επιστημονική Εργασία. Σχεδίαση και υλοποίηση Θέσεως Εργασίας ενός Εργαστηρίου DSPs από Απόσταση για Λήψη και Επεξεργασία Εικόνας

Καλαντζόπουλος Αθανάσιος

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

Μαθαίνοντας το hardware του αναπτυξιακού

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Ψηφιακή Επεξεργασία Σήματος

ΥΠΗΡΕΣΙΑ ΕΙΚΟΝΙΚΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΣΧΕ ΙΑΣΜΟΥ

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

Ενσωματωμένα Συστήματα

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

ΤΕΙ ΠΕΙΡΑΙΑ ΣΤΕΦ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. Μάθημα: ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ (Εργαστήριο) Ε εξάμηνο Εξάμηνο: Χειμερινό

Ενσωµατωµένα Συστήµατα

ΕΙΣΑΓΩΓΗ και ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ μέσω CCS. (Α) Διαδικασία εισαγωγής των εργαστηριακών ασκήσεων

Αρχιτεκτονική Μνήµης

Αρχιτεκτονική Μνήμης

Εφαρμογές Σειριακής Επικοινωνίας

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS

ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων. Βιβλιογραφία Ενότητας

Το λειτουργικό σύστημα. Προγραμματισμός II 1

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

Γνωριμία με το Arduino

Εγκατάσταση του Arduino IDE

Εφαρμογές μικροελεγκτών

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

ΜΕΤΑΤΡΟΠΕΙΣ D/A & A/D

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

Προγραμματισμο ς σε Arduino

Ενσωματωμένα Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Προγραμματισμός Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Αρχιτεκτονική Υπολογιστών

Το λειτουργικό σύστημα. Προγραμματισμός II 1

SIMATIC MANAGER SIMATIC MANAGER

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Εισαγωγή στα Συστήματα Ψηφιακής Επεξεργασίας Σήματος

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος.

Εισαγωγή στην Πληροφορική

Δομημένος Προγραμματισμός

Συστήματα Μικροεπεξεργαστών

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

Ενότητα 1η. Εισαγωγή στην Πληροφορική

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

1. Switches 2. LEDs 3. Expansion Peripheral Interface 4. Expansion Memory Interface 5. Συσκευή AD535

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Άσκηση 8: Παραγωγή αλλοιωμένης φωνής (Alien voices generation)

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πάτρας Τομέας Συστημάτων και Αυτομάτου Ελέγχου. Εργαστήριο Αναλογικού και Ψηφιακού Ελέγχου Ι

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

Εισαγωγή στο Εργαστήριο Υλικού

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

Ψηφιακή Επεξεργασία Σήματος

Εισαγωγή στο περιβάλλον Code::Blocks

Ενσωματωμένα Συστήματα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Δεδομένα & Αναπαράσταση Πληροφορίας

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

ΠΕΡΙΓΡΑΦΗ ΥΛΙΚΟΥ AVR 1. ΕΙΣΑΓΩΓΗ 1.1 ΓΕΝΙΚΗ ΔΟΜΗ 1.2 ΟΙΚΟΓΕΝΕΙΕΣ 1.3 ΤΥΠΟΙ 1.4 ΕΡΓΑΛΕΙΑ

Ιατρικά Ηλεκτρονικά. Δρ. Π. Ασβεστάς Εργαστήριο Επεξεργασίας Ιατρικού Σήματος & Εικόνας Τμήμα Τεχνολογίας Ιατρικών Οργάνων

Ενσωματωμένα Συστήματα

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Lab 1: Experimenting on Arduino & AI Sense

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Εισαγωγή. Περιεχόμενα της συσκευασίας. Τεχνικές Προδιαγραφές. Απαιτήσεις συστήματος. Ελληνική Έκδοση. IP002 Sweex USB Internet Phone

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Android Studio για Windows

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 6 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

Βασικές Έννοιες της Πληροφορικής

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

LabVIEW to CCS Link. Ζυγούρης Θ. Ευάγγελος Καλαντζόπουλος Γ. Αθανάσιος Βασσάλος Ε. Ευάγγελος. Εσωτερική Αναφορά

Λειτουργικά Συστήματα (Λ/Σ)

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

24-Μαρ-2009 ΗΜΥ Φίλτρα απόκρισης πεπερασμένου παλμού (FIR)

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

ProcSim οδηγίες χρήσης.

Transcript:

ΤΕΙ ΚΡΗΤΗΣ, ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑ ΣΗΜΑΤΟΣ «ΕΦΑΡΜΟΓΕΣ DSP ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ TMS320C6713 DSK» ΔΙΔΑΣΚΟΝΤΕΣ ΚΑΙ ΥΠΕΥΘΥΝΟΙ ΕΡΓΑΣΤΗΡΙΟΥ: ΔΡ. ΜΑΡΙΑ ΓΚΙΖΕΛΗ & ΔΡ. ΑΝΤΩΝΙΟΣ ΚΩΝΣΤΑΝΤΑΡΑΣ

1 ΕΡΓΑΣΤΗΡΙΟ 1 Το Αναπτυξιακό Σύστημα DSP TMS320C6713 Παρουσίαση του TMS320C6713 DSK (DSP support kit) Δοκιμή του ολοκληρωμένου αναπτυξιακού περιβάλλοντος (integrated development environment) C6713 DSK - Παρουσίαση Οι ψηφιακοί επεξεργαστές σήματος χρησιμοποιούνται σε πολλές εφαρμογές όπως οι τηλεπικοινωνίες, συστήματα ελέγχου, επεξεργασία φωνής εικόνας, κτλ. Για τη διεξαγωγή του εργαστηρίου Ψ.Ε.Σ. θα χρησιμοποιήσουμε τον ψηφιακό επεξεργαστή της Texas Instruments (T.I.) TMS320c6713. Ο συγκεκριμένος επεξεργαστής ανήκει στην οικογένεια επεξεργαστών ΤΜ 320C6x οι οποίοι βασίζονται στην αρχιτεκτονική VLIW (very long instruction word). Η συγκεκριμένη αρχιτεκτονική υποστηρίζει την ανάπτυξη και χρήση high-level language προγραμμάτων (π.χ. C/C++) με την εισαγωγή high-level language compilers. Επεξεργαστές παλαιότερων αρχιτεκτονικών χρησιμοποιούσαν assembly. Παρόλο που η γλώσσα assembly παράγει γρηγορότερο σε εκτέλεση κώδικα (δηλαδή παρέχει υψηλότερη απόδοση από high-level γλώσσες) είναι πιο δύσκολη στην χρήση. Συνήθως ο προγραμματισμός σε high-level γλώσσες, όπως η C και C++ με τις οποίες θα ασχοληθούμε κατά κόρον κατά τη διάρκεια του εργαστηρίου, είναι ευκολότερος (more user friendly). Οι επεξεργαστές DSP χρησιμοποιούνται πρωτίστως στην επεξεργασία σήματος σε πραγματικό χρόνο. Επεξεργασία σε πραγματικό χρόνο σημαίνει ότι ο επεξεργαστής πρέπει να συνακολουθεί ένα εξωτερικό φαινόμενο ενώ η μη επεξεργασία σε πραγματικό χρόνο δεν υπόκειται σε ανάλογο περιορισμό. Η προς συνακολούθηση εξωτερικό φαινόμενο είναι συνήθως η αναλογική είσοδος. Ενώ τα αναλογικά συστήματα με ανεξάρτητα ηλεκτρονικά συστατικά στοιχεία όπως αντιστάσεις μπορεί να είναι πιο ευαίσθητα στις αλλαγές της θερμοκρασίας, τα DSP συστήματα επηρεάζονται λιγότερο από περιβαλλοντολογικές συνθήκες όπως η θερμοκρασία. Οι DSP επεξεργαστές απολαμβάνουν τα πλεονεκτήματα των μικροελεγκτών. Είναι εύκολοι στη χρήση, ευέλικτοι και οικονομικοί. Συχνές εφαρμογές αυτών των επεξεργαστών τελούνται για συχνότητες από 0 έως 20 khz. Η ομιλία μπορεί να δειγματοληφθεί στα 8 khz (ταχύτητα συλλογής του κάθε δείγματος) δηλαδή η τιμή του κάθε δείγματος εκλαμβάνεται με ρυθμό 1/(8 khz) ή 0,125 ms. Ο πλέον συνηθισμένος βαθμός δειγματοληψίας ενός compact disk είναι 44,1 khz. A/D converters με βαθμό δειγματοληψίας στην κατηγορία των megahertz είναι επί του παρόντος διαθέσιμοι.

2 Το βασικό σύστημα αποτελείται από ένα analogue to digital converter (ADC) για τη λήψη του (αναλογικού) σήματος εισόδου. Η αντίστοιχη ψηφιακή απεικόνιση του εκλαμβανόμενου στην είσοδο σήματος επεξεργάζεται στη συνέχεια από τον επεξεργαστή ψηφιακού σήματος όπως ο C6x και η έξοδος αυτού οδηγείται σε ένα digital to analog converter (DAC) ούτως ώστε το τελικό σήμα εξόδου να επανέλθει σε αναλογική μορφή. Επίσης εμπεριεχόμενο στο βασικό σύστημα είναι και ένα ειδικό φίλτρο εισόδου antialiasing low pass filter για την εξάλειψη εσφαλμένων σημάτων, καθώς και ένα φίλτρο εξόδου για την ομαλοποίηση ή ανακατασκευή του επεξεργασμένου σήματος εξόδου. Παρουσίαση του C6713 DSK (DSP development kit) To 6713 DSP Starter Kit (DSK) είναι μία χαμηλού κόστους πλατφόρμα ( 400 $ τον Φεβρουάριο του 2005). Τα βασικά χαρακτηριστικά του DSK είναι: 225 MHz TMS320C6713 επεξεργαστής κινητής υποδιαστολής (floating point) AIC23 Stereo Codec (16 bit με συχνότητα δειγματοληψίας 8 96 khz) Four position User DIP Switch και Four User LEDs On-board Flash (512 kbytes) και SDRAM (8 Mbytes) Τα Code Composer Studio development tools της ΤΙ είναι αλληλένδετα με το 6713 DSK προσφέροντας στο χρήστη ένα βιομηχανικού επιπέδου ολοκληρωμένο αναπτυξιακό περιβάλλον για προγραμματισμό με C/C++ ή assembly. Το Code Composer Studio επικοινωνεί με το DSP χρησιμοποιώντας ένα on-board JTAG emulator (ενσωματωμένο εξομοιωτή) με USB διασυνδετική διάταξη. Περιγραφή πλακέτας Η παρακάτω εικόνα απεικονίζει τα βασικά τμήματα του dsk-board. Ο TMS320C6713 DSP είναι η καρδιά του συστήματος. Είναι ένα βασικό μέρος της σειράς C64x DSP επεξεργαστών με κύρια χαρακτηριστικά τις υψηλές επιδώσεις του επεξεργαστή κόρου στα 225 MHz και 256 kbytes internal memory. Τα ενσωματωμένα περιφερικά συστήματα συμπεριλαμβάνουν 32-bit external memory (EMIF) με integrated SDRAM controller, 2 multi-channel buffered serial ports (McBSPs), 2 on-board timers και ένα enhanced DMA controller (EDMA). Ο 6713 αντιστοιχεί σε ένα από τα καλύτερα floating point DSPs της σειράς C6700 τόσο σε υπολογιστική ικανότητα όσο και σε on-chip resources. O 6713 έχει ένα σημαντικό ποσό εσωτερικής μνήμης οπότε σε πολλές εφαρμογές είναι δυνατή η αποθήκευση του κώδικα και των δεδομένων στον ίδιο τον επεξεργαστή (on-chip). Εξωτερική πρόσβαση γίνεται μέσω του ΕΜΙF το οποίο μπορεί να συνδεθεί τόσο με synchronous όσο και με asynchronous memories. Τα ΕΜΙF σήματα μεταφέρονται μέσο των κλασικών ΤΙ expansion bus connectors οπότε επιπρόσθετα θυγατρικά εξαρτήματα μπορούν να χρησιμοποιηθούν.

3 Τα DSPs συχνά χρησιμοποιούνται σε εφαρμογές επεξεργασίας ηχητικών σημάτων γι αυτό και το DSK συμπεριλαμβάνει ενσωματωμένο ένα codec με την επονομασία ΑΙC23. Codec σημαίνει κωδικοποιητής/αποκωδικοποιητής (coder/decoder), και η δουλειά του ΑΙC23 είναι να κωδικοποιεί τα δείγματα της αναλογικής εισόδου σε ψηφιακή μορφή για περαιτέρω επεξεργασία από το DSP, εν συνεχεία αποκωδικοποιεί τα δεδομένα που εξέρχονται του επεξεργαστή και δημιουργεί αναλογικό σήμα στην έξοδο. Ψηφιακά δεδομένα μεταφέρονται από και προς το Codec πάνω στο McBSP1. To DSK έχει τέσσερα LEDs και τέσσερεις DIP διακόπτες (switches) τα οποία επιτρέπουν στον χρήστη να αλληλεπιδρά με προγράμματα με το status των LEDs και χρησιμοποιώντας τους διακόπτες. Πολλά από τα επερχόμενα παραδείγματα κάνουν χρήση αυτών των μέσων αλληλεπίδρασης χρήστη με DSP. To DSK εφαρμόζει την απαραίτητη λογική (logic) για το συγκερασμό της λειτουργίας όλων των εξαρτημάτων (τμημάτων) του DSP κάνοντας χρήση μίας programmable logic device ονόματι CPLD. Επιπλέον της random glue logic, το CPLD χρησιμοποιεί ένα σετ τεσσάρων προγραμματιζόμενων καταχωρητών οι οποίοι επιτρέπουν την πρόσβαση στα ενσωματωμένα LEDs και DIP διακόπτες και τα οποία επίσης ελέγχουν τη θυγατρική κάρτα διασύνδεση (daughtercard interface).

4 Code Composer Studio (CCS) To Code Composer Studio (CCS) παρέχει ένα ολοκληρωμένο αναπτυξιακό περιβάλλον (IDE integrated development environment) για την ανάπτυξη λογισμικού. Το CCS περιλαμβάνει α) assembler, b) C/C++ compiler, c) linker. Ο C compiler μεταφράζει κώδικα γραμμένο στη C με κατάληξη.c και παράγει τον αντίστοιχο κώδικα σε assembly με κατάληξη.asm. Ο assembler μετατρέπει τον assembly κώδικα.asm σε δυαδικό κώδικα.obj (machine language object files). Ο linker συνενώνει object files και object libraries και με βάση αυτά παράγει ένα executable file (εκτελέσιμο αρχείο) με κατάληξη.out. Η μορφή του executable file είναι γνωστή ως linked common object file format (COFF) και χρησιμοποιείται ευρέως στα συστήματα UNIX ενώ έχει επίσης υιοθετηθεί από αρκετούς κατασκευαστές ψηφιακών επεξεργαστών σήματος. Τα συγκεκριμένα executable files μπορούν να τροφοδοτηθούν και να εκτελεστούν άμεσα από τους C6713 επεξεργαστές. Επιπλέον το CCS έχει γραφικές ικανότητες και υποστηρίζει real-time debugging όλων των source files που είναι απαραίτητα για ένα συγκεκριμένο πρόγραμμα. Είναι δηλαδή ένα εργαλείο για την ανάπτυξη (editing and debugging) προς φόρτωση και εκτέλεση στο DSP. C6x software tools Το 6713 DSK συμπεριλαμβάνει μια ειδική συσκευή ονόματι JTAG emulator η οποία έχει άμεση πρόσβαση στους καταχωρητές και την μνήμη του 6713 chip διάμεσο ενός standardized JTAG interface port. Όταν ο χρήστης επιθυμεί να παρακολουθήσει την εξέλιξη του προγράμματος του, το CCS αποστέλλει μέσο του συνδεόμενου USB εντολές στο JTAG emulator να ελέγξει οιοδήποτε δεδομένα ενδιαφέρουν το χρήστη. ΣΗΜΕΙΩΣΗ: Έχετε πάντα υπόψη ότι το DSK είναι ένα ξεχωριστό σύστημα από τον υπολογιστή γι αυτό όποτε αλλάζετε και/ή μεταγλωττίζετε ένα πρόγραμμα στο CCS στον υπολογιστή πρέπει οπωσδήποτε να το ξαναφορτώσετε στο DSK.

5 Επίσης φροντίστε πριν ανοίξετε το CCS να δοκιμάσετε τη σύνδεση του DSK. (Κάνετε διπλό κλικ στο εικονίδιο C6713 DSK diagnostic utility στο desktop. ΒΑΛΕ ΤΟ ΑΝΤΙΣΤΟΙΧΟ ΕΙΚΟΝΙΔΙΟ Για να ανοίξετε το CCS κάνετε διπλό κλικ στο εικονίδιο 6713 DSK CCStudio στο desktop. ΒΑΛΕ ΤΟ ΑΝΤΙΣΤΟΙΧΟ ΕΙΚΟΝΙΔΙΟ Τροφοδοσία και Εκτέλεση Προγράμματος Ο καλύτερος τρόπος για να ξεκινήσετε με το CCS είναι να τρέξετε μερικά απλά προγράμματα τα οποία ήδη εμπεριέχονται στο DSK. Το παράδειγμα των LEDs είναι το πιο απλό και με αυτό θα ξεκινήσει η εξοικείωση σας με το DSK και τον εναρμονισμό του με τα συνοριακά development tools. Μόλις εκτελεστεί το πρόγραμμα: το LED#0 θα αναβοσβήνει διαρκώς 2,5 φορές ανά δευτερόλεπτο θα ελέγχεται συνεχώς η θέση του DIP διακόπτη #3 και ανάλογα αν είναι πιεσμένος ή όχι θα ανάβει ή όχι, αντίστοιχα, το LED#3 Για να εκτελέσετε το πρόγραμμα ακολουθήστε τα παρακάτω βήματα: 1) Ανοίξτε το led.pjt code composer project κάνοντας Project Open και επιλέξτε led.pjt. Βρίσκεται στο directory c:\ccstudio\examples\dsk6713\bsl\led. (Εναλλακτικά κάντε κόπια του directory στο c:\ccstudio\myprojects\led και ανοίξτε το led.pjt ανάλογα ). 2) Φόρτωσε το led.out κάνοντας File Load Program και επέλεξε led.out στο αναδυόμενο παράθυρο στην τοποθεσία led\debug. ΣΗΜΕΙΩΣΗ: Για κάθε μετατροπή του κώδικα πρέπει να ξαναφορτώνετε το νέο πρόγραμμα. Γιατί; 3) Κάντε Debug Run στο debug menu. Το LED#0 αναβοσβήνει διαρκώς. 4) Ανοιγοκλείστε τον DIP διακόπτη #3 και παρατηρήστε ότι το LED#3 αναβοσβήνει ανάλογα. 5) Όταν βεβαιωθείτε ότι το πρόγραμμα λειτουργεί επιτυχώς σταματήστε το επιλέγοντας Debug Halt. Για να δείτε τον κώδικα του προγράμματος εξαπλώστε το Projects, μετά εξαπλώστε το led.pjt και μετά εξαπλώστε το Source. Κάντε διπλό κλικ στο led.c για να δείτε το περιεχόμενό του το οποίο είναι ως εξής:

6 Περιγραφή παραδείγματος LED Η εκτέλεση του προγράμματος ξεκινά πάντοτε από τη συνάρτηση main. Η main πρώτα καλεί τη συνάρτηση DSK6713_init η οποία αρχικοποιεί τη βιβλιοθήκη εντολών Board Support Library (BSL). Η BSL library έχει σχεδιαστεί ειδικά για να κάνει πιο εύκολη την χρήση των διαφόρων επιμέρους στοιχείων του DSK board. Η DSK6713_init πρέπει να καλείται πάντοτε πριν από οποιαδήποτε άλλη BSL συνάρτηση. Όλες οι BSL συναρτήσεις αρχίζουν με το πρόσχημα DSK6713 οπότε είναι εύκολη η αναγνωρισημότητά τους. Όλες οι BSL functions συμπεριλαμβάνονται στη βιβλιοθήκη dsk6713bsl.lib. Το LED παράδειγμα παρουσιάζει την χρήση των LED και DIP διακοπτών του toolkit. Το κάθε ένα από αυτά έχει τη δικιά του συνάρτηση αρχικοποίησης η οποία πρέπει να κληθεί πριν από οποιαδήποτε άλλη συνάρτηση στο πρόγραμμα η οποία κάνει χρήση αυτών των διατάξεων. Η κλήση της συνάρτησης DSK_LED_toggle() εναλλάσσει την κατάσταση του LED#0 (αναβοσβήνει το LED μηδέν). Ο παρακάτω κώδικας εισαγάγει ένα βρόγχο καθυστέρησης περίπου 200 χιλιοστών του δευτερολέπτου (ms) πριν από κάθε εναλλαγή τουled: /* Spin in a software delay loop for about 200ms */ DSK6713_waitusec(200); Αυτός ο βρόγχος καθυστέρησης είναι υπεύθυνος για τον έλεγχο της ταχύτητας αναβόσβησης του LED. Η DSK6713_DIP_get() συνάρτηση διαβάζει την κατάσταση θέσης του LED#3. Εάν ο διακόπτης είναι πιεσμένος προς τα κάτω η συνάρτηση επιστρέφει την τιμή 0 αναγκάζοντας την συνάρτηση DSK6713_LED_on() να ανάψει το LED#3. Εάν ο διακόπτης είναι σηκωμένος συμβαίνει το αντίστροφο και καλείται η συνάρτηση DSK6713_LED_off() να σβήσει το LED#3. Επειδή όλος αυτός ο κώδικας βρίσκεται

7 μέσα σε ένα while loop χωρίς κάποια συνθήκη τερματισμού το πρόγραμμα θα εκτελείται εσαεί εκτός αν σταματήσει χειροκίνητα από τον χρήστη μέσο του Halt του Code Composer (το Halt βρίσκεται εντός του Debug). Κάνοντας απλές αλλαγές Για την περαιτέρω οικειοποίηση με το CCS το παρακάτω παράδειγμα ακολουθεί τα βήματα με τα οποία μπορείτε να κάνετε αλλαγές στον κώδικά σας. Μία από τις απλούστερες αλλαγές στο συγκεκριμένο παράδειγμα είναι να κάνετε το LED να αναβοσβήνει με ταχύτερο ρυθμό. Η κλήση της συνάρτησης DSK6713_waitusec() εισαγάγει μία διευκρινιζόμενη από τον προγραμματιστή καθυστέρηση ανάμεσα σε κάθε εναλλαγή της κατάστασης του LED. Αλλάξτε την παρακάτω γραμμή κώδικα: με /*Spin in a software delay loop for about 200 ms. */ DSK6713_waitusec(200000); /*Spin in a software delay loop for about 100 ms. */ DSK6713_waitusec(100000); Αυτή η μεταβολή του κώδικα ελαττώνει στο ήμισυ την καθυστέρηση και διπλασιάζει το ρυθμό αναβόσβησης του LED. Για να εφαρμόσετε την αλλαγή στον κώδικα: 1) Σώστε τον κώδικα. File Save 2) Re-compile τον κώδικα. Κάθε φορά που κάνετε αλλαγές επιβάλλεται να κάνετε re-compile τον κώδικα για να δημιουργήσετε τον νέο αντίστοιχο εκτελέσιμο φάκελο. Κάντε Project Build. Περιμένετε το build να ολοκληρώσει την διαδικασία προτού συνεχίσετε. 3) Φορτώστε το νέο led.out εκτελέσιμο φάκελο. Κάντε File Load Program και επιλέξτε led.out μέσα στο παρακλάδι του browser. 4) Κάντε Debug Run. To LED#0 θα αναβοσβήνει δύο φορές πιο γρήγορα απ ότι στο αρχικό παράδειγμα. 5) Όταν είστε ικανοποιημένοι ότι οι αλλαγές έχουν συντελεστεί επιτυχώς και το LED συμπεριφέρεται ως πρέπει, σταματήστε το πρόγραμμα κάνοντας Debug Halt.