ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... ·...

99
Ε Ε Γ Γ Χ Χ Ε Ε Ι Ι Ρ Ρ Ι Ι Ι Ι Ο Ο Χ Χ Ρ Ρ Η Η Σ Σ Η Η Σ Σ D D S S K K T T M M S S 3 3 2 2 0 0 C C 6 6 7 7 1 1 1 1

Transcript of ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... ·...

Page 1: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΕΕΓΓΧΧΕΕΙΙΡΡΙΙ∆∆ΙΙΟΟ ΧΧΡΡΗΗΣΣΗΗΣΣ

DDSSKK TTMMSS332200CC66771111

Page 2: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

II

Page 3: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΠΠεερριιεεχχόόµµεενναα ΚΕΦΑΛΑΙΟ 1..................................................................................................................................1 ΚΕΦΑΛΑΙΟ 1

1.1 Εισαγωγή.............................................................................................................................. 1 1.2 Γενική περιγραφή της πλατφόρµας TMS320C6711 DSK................................................... 1

1.2.1 Σήµατα χρονισµού ........................................................................................................ 3 1.2.2 Θύρα Εισόδου / Εξόδου................................................................................................ 4 1.2.3 ∆ιακόπτες καθορισµένοι από το χρήστη και ενδείξεις ................................................. 4 1.2.4 Έλεγχος Επανεκκίνησης (Reset) .................................................................................. 5 1.2.5 Ελεγκτής παράλληλης θύρας ........................................................................................ 5 1.2.6 Εξωτερική µνήµη.......................................................................................................... 5

1.3 Κύκλωµα αναλογικής αλληλεπίδρασης ............................................................................... 7 1.3.1 Η συσκευή TLC320AD535 .......................................................................................... 8

1.3.1.1 Περιγραφή λειτουργιών του TLC320AD535........................................................ 9 1.3.1.2 Περιγραφή λειτουργιών του codec...................................................................... 11 1.3.1.3 ADC κανάλι σήµατος .......................................................................................... 11 1.3.1.4 DAC κανάλι σήµατος .......................................................................................... 12 1.3.1.5 Οι διαµορφώσεις sigma-delta του ΑDC και του DAC........................................ 12 1.3.1.6 Φίλτρα αποδεκατισµού και φίλτρα παρεµβολής ................................................. 12 1.3.1.7 ∆ιακοπή τροφοδοσίας µέσω λογισµικού (Power Down) .................................... 12 1.3.1.8 Σειριακές επικοινωνίες ........................................................................................ 13

1.4 Σύνοψη ............................................................................................................................... 15 ΚΕΦΑΛΑΙΟ 2................................................................................................................................17 ΚΕΦΑΛΑΙΟ 2

2.1 Εισαγωγή............................................................................................................................ 17 2.2 Η οικογένεια TMS320C6000............................................................................................. 17 2.3 Γενική περιγραφή του επεξεργαστή TMS320C6711......................................................... 20 2.4 Ανάλυση της κεντρικής µονάδας επεξεργασίας (DSP core).............................................. 24 2.5 Η µορφή των ακεραίων και κινητής υποδιαστολής λέξεων............................................... 26 2.6 Περιγραφή του Enhanced Direct Memory Access (EDMA) Controller............................ 30

2.6.1 Ορολογία για τον EDMA............................................................................................ 31 2.6.2 Καταχωρητές Ελέγχου και Επεξεργασία Γεγονότων ................................................ 33 2.6.3 Κωδικοποιητής Γεγονότων ......................................................................................... 34 2.6.4 Μνήµη RAM παραµέτρων (PaRAM)......................................................................... 35 2.6.5 EDMA Παράµετροι Μεταφοράς ................................................................................ 37

2.6.5.1 Παράµετρος Επιλογών (OPT) ............................................................................. 38 2.6.5.2 ∆ιεύθυνση Πηγής / Προορισµου (SRC/DST) .................................................... 40 2.6.5.3 Μετρητής Στοιχείων (ELECNT)......................................................................... 41 2.6.5.4 Μετρητής Πλαισίου / Πίνακα (FRMCNT).......................................................... 41 2.6.5.5 Περιεχόµενα ∆είκτη στοιχείου / ∆είκτη πλαισίου (ELEIDX / FRMIDX).......... 41 2.6.5.6 Επαναφόρτωση Μετρητή Στοιχείου (ELERLD)................................................. 41 2.6.5.7 ∆ιεύθυνση Σύνδεσης (LINK) .............................................................................. 42

2.6.6 Αρχικοποίηση EDMA Μεταφοράς............................................................................. 42 2.6.7 Συγχρονισµός των EDMA Μεταφορών ..................................................................... 43 2.6.8 Τύποι EDMA Μεταφορών ......................................................................................... 43 2.6.9 Ενηµέρωση των Μετρητών Στοιχείου (ELECNT) και Πλαισίου / Πίνακα (FRMCNT).............................................................................................................................................. 46 2.6.10 Element Count Reload (ECRLD) ............................................................................. 47 2.6.11 SRC/DST Address Updates ...................................................................................... 47 2.6.12 Παραγωγή διακοπών από το EDMA ........................................................................ 48

III

Page 4: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

2.6.13 Σύνδεση EDMA Μεταφορών ................................................................................... 49 2.6.14 Chaining EDMA Καναλιών µέσω ενός Γεγονότος .................................................. 50 2.6.15 ∆ιαιτησία και επεξεργασία προτεραιοτήτων ............................................................ 51

2.7 Πολυκαναλική Αποµονωµένη Σειριακή Θύρα (Multichannel Buffered Serial Port) ........ 52 2.7.1 McBSP ∆ιεπαφή Σηµάτων και Καταχωρητών ........................................................... 53 2.7.2 Προγραµµατισµός Σειριακής Θύρας .......................................................................... 56 2.7.3 Kαταχωρητές Ελέγχου Λήψης κι Αποστολής: RCR and XCR .................................. 60 2.7.4 Αποστολή και Λήψη ∆εδοµένων................................................................................ 63 2.7.5 Αρχικοποίηση της Σειριακής Θύρας: (R/X)RST, GRST, and RESET....................... 64 2.7.6 Καθορισµός Κατάστασης Ετοιµότητας ...................................................................... 66 2.7.7 Κατάσταση Ετοιµότητας Αποστολής: XEVT, XINT, και XRDY ............................. 66 2.7.8 CPU ∆ιακοπές: (R/X)INT .......................................................................................... 67 2.7.9 Τυπική λειτουργία του McBSP................................................................................... 67 2.7.10 Μέγιστη Συχνότητα µεταφοράς πλαισίου ................................................................ 68 2.7.11 ∆ιάταξη Bit (Bit Ordering) ....................................................................................... 69 2.7.12 Προγραµµατιζόµενο Ρολόι και Πλαισίωση (Framing)............................................. 69 2.7.13 Γεννήτρια Ρυθµού ∆ειγµατοληψίας, Χρονισµός και Πλαισίωση (Sample Rate Generator Clocking and Framing) ........................................................................................ 70 2.7.14 Επιλογή πολυκαναλικής λειτουργίας (Multichannel Selection Operation) .............. 70

2.8 ∆ιεπαφή Θύρας-Ξενιστή(Host Port Interface) ................................................................... 71 2.8.1 Εξωτερικό Interface του HPI ...................................................................................... 72

Host Connection ............................................................................................................... 73 2.9 ∆ιεπαφή εξωτερικής µνήµης (External Memory Interface - EMIF) .................................. 74

2.9.1 SDRAM ∆ιεπαφή ....................................................................................................... 75 2.9.2 ∆ιεπαφή SBSRAM ..................................................................................................... 76 2.9.3 Ασύγχρονη ∆ιεπαφή ................................................................................................... 76 2.9.4 Εύρος µνήµης και τρόπος διαχείρισης των bytes ....................................................... 76

2.10 ∆ίαυλος Επέκτασης........................................................................................................... 76 2.11 PCI ................................................................................................................................... 77 2.12 Χρονιστές ......................................................................................................................... 78

2.12.1 Καταχωρητές διαµόρφωσης των χρονιστών............................................................. 79 2.12.2 Επανατοποθέτηση (resetting) των Χρονιστών κι Ενεργοποίηση της Μέτρησης: GO and HLD ............................................................................................................................... 80 2.12.3 Μέτρηση Χρονιστή................................................................................................... 80

2.13 Επιλογέας ∆ιακοπών και Εξωτερικές ∆ιακοπές .............................................................. 81 2.13.1 Καταχωρητές επιλογής διακοπής (Interrupt Selector).............................................. 82 2.13.2 ∆ιαµόρφωση του Επιλογέα ∆ιακοπών...................................................................... 82

2.14 Σύνοψη ............................................................................................................................. 82 ΚΕΦΑΛΑΙΟ 3................................................................................................................................85 ΚΕΦΑΛΑΙΟ 3

3.1 Εισαγωγή............................................................................................................................ 85 3.2 ∆ιαχείριση των projects ..................................................................................................... 85 3.3 Η διαδικασία build ............................................................................................................. 87 3.4 Εκσφαλµάτωση (Debugging)............................................................................................. 88 3.5 Σύνοψη ............................................................................................................................... 89

Βιβλιογραφία..................................................................................................................................91 Βιβλιογραφία

IV

Page 5: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΛΛίίσστταα ΣΣχχηηµµάάττωωνν Σχήµα 1.1 : Κάτοψη της αναπτυξιακής πλατφόρµας TMS320C6711 DSK...................................... 2 Σχήµα 1.2 : Σχηµατικό ∆ιάγραµµα των βασικών στοιχείων και των διασυνδέσεων της

αναπτυξιακής πλατφόρµας TMS320C6711 DSK ..................................................................... 3 Σχήµα 1.3 : Οι τοπολογίες του δίαυλου δεδοµένων και διευθύνσεων του EMIF ........................... 6 Σχήµα 1.4 : Σχηµατικό διάγραµµα του AIC.................................................................................... 7 Σχήµα 1.5 : Το ολοκληρωµένο TLC320AD535.............................................................................. 9 Σχήµα 1.6 : Το διάγραµµα λειτουργιών του TLC320AD535 .......................................................... 9 Σχήµα 1.7 : Format δεδοµένων των DIN και DOUT για τη πρωτεύουσα επικοινωνία ................. 14 Σχήµα 1.8 : Format δεδοµένων των DIN και DOUT για τη δευτερεύουσα επικοινωνία ............... 15 Σχήµα 2.1 : Η κάτοψη του ολοκληρωµένου TMS320C6711 ......................................................... 21 Σχήµα 2.2 : Σχηµατικό ∆ιάγραµµα του επεξεργαστή TMS320C6711 ........................................... 22 Σχήµα 2.3 : Σχηµατικό διάγραµµα του ελεγκτή EDMA ................................................................ 31 Σχήµα 2.4 : Καταχωρητές Ελέγχου EDMA ................................................................................... 33 Σχήµα 2.5 : Πεδία Παραµέτρου της PaRAM ................................................................................. 38 Σχήµα 2.6 : Παράµετρος ΟPT....................................................................................................... 40 Σχήµα 2.7 : Γεγονότα Συγχρονισµού EDMA Καναλιού................................................................. 43 Σχήµα 2.8 : Ενηµέρωση Μετρητών ............................................................................................... 46 Σχήµα 2.9 : Τρόποι Ανανέωσης ∆ιεύθυνσης.................................................................................. 47 Σχήµα 2.10 : Αντιστοίχιση TCC και CIPR .................................................................................... 49 Σχήµα 2.11 : Συνθήκες Τερµατισµού Καναλιού ............................................................................ 50 Σχήµα 2.12 : Προτεραιότητες ........................................................................................................ 51 Σχήµα 2.13 : ∆ιάγραµµα McBSP................................................................................................... 53 Σχήµα 2.14 : MCBSP - SPCR Καταχωρητής ................................................................................ 58 Σχήµα 2.15 : MCBSP - PCR Καταχωρητής .................................................................................. 59 Σχήµα 2.16 : MCBSP – RCR/XCR Καταχωρητής ......................................................................... 63 Σχήµα 2.17 : Κύκλωµα Επιλογής Χρονισµού και Framing ........................................................... 69 Σχήµα 2.18 : Κύκλωµα Παραγωγής Ρυθµού ∆ειγµατοληψίας ....................................................... 70 Σχήµα 2.19 : Το block διάγραµµα του ΗΡΙ ................................................................................... 72 Σχήµα 2.20 : Σήµατα της ΕΜΙF .................................................................................................... 75 Σχήµα 2.21 : Καταχωρητές της ΕΜΙF ........................................................................................... 75 Σχήµα 2.22 : ∆ίαυλος Επέκτασης .................................................................................................. 77 Σχήµα 2.23 :Σχηµατικό διάγραµµα PCI θύρας.............................................................................. 78 Σχήµα 2.24 : ∆ιάγραµµα Χρονιστών ............................................................................................. 79 Σχήµα 2.25 : Καταχωρητές Χρονισµού ......................................................................................... 80 Σχήµα 2.26 : ∆ιαθέσιµες ∆ιακοπές................................................................................................ 81 Σχήµα 3.1 : Tο Project View παράθυρο ........................................................................................ 86 Σχήµα 3.2 : Tο παράθυρο Edit Variable ...................................................................................... 89

V

Page 6: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

VI

Page 7: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΛΛίίσστταα ΠΠιιννάάκκωωνν

Πίνακας 2.1 : Περιεχόµενα PaRAM .............................................................................................. 37 Πίνακας 2.2 : ∆ιευθύνσεις των McBSP καταχωρητών................................................................... 55 Πίνακας 2.3 : Τρόποι προσπέλασης των McBSP καταχωρητών .................................................... 55 Πίνακας 2.4 : McBSP σήµατα διεπαφής ........................................................................................ 55 Πίνακας 2.5 :Σήµατα διακοπής από τον McBSP .......................................................................... 55 Πίνακας 2.6 :Κατάσταση των ακροδεκτών της McBSP µετά από reset ......................................... 64 Πίνακας 2.7 : Σήµατα του host port interface................................................................................ 74 Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή .................................................... 83 Πίνακας 3.1 : Υποθέσεις µε βάση τις καταλήξεις των αρχείων ...................................................... 87

VII

Page 8: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

VIII

Page 9: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΚΚΕΕΦΦΑΑΛΛΑΑΙΙΟΟ 11 Η πλατφόρµα TMS320C6711 DSK

1.1 Εισαγωγή Στο κεφάλαιο θα γίνει µια γενική αναφορά στα χαρακτηριστικά / δυνατότητες που προσφέρει η αναπτυξιακή πλατφόρµα TMS320C6711 DSK. Συγκεκριµένα, παρουσιάζονται τα κύρια χαρακτηριστικά της πλατφόρµας µε σκοπό να γίνουν κατανοητές οι λειτουργίες της, καθώς και οι λύσεις που παρέχονται για την υλοποίηση αλγορίθµων. Βασικό συστατικό της πλατφόρµας, το οποίο θα αναλυθεί σε ξεχωριστή ενότητα, αποτελεί το αναλογικό κύκλωµα αλληλεπίδρασης (analog interface circuit), που χρησιµοποιείται για τη µετατροπή του ψηφιακού σήµατος σε αναλογικό και αντίστροφα (D/A και A/D µετατροπέας). 1.2 Γενική περιγραφή της πλατφόρµας TMS320C6711 DSK Η συγκεκριµένη πλατφόρµα (Σχήµα 1.1) αναπτύχθηκε από την Texas Instruments (TI) µε σκοπό να προσφέρει ένα περιβάλλον ανάπτυξης χαµηλού κόστους, το οποίο παράλληλα να είναι εύκολο στη χρήση του. Τα χαρακτηριστικά υψηλής απόδοσης που διαθέτει η κάρτα εξασφαλίζονται από τις δυνατότητες που παρέχει ο επεξεργαστής στον οποίο βασίζεται και ο οποίος την καθιστά µια από τις πιο αποτελεσµατικές αναπτυξιακές πλατφόρµες. Το DSK αλληλεπιδρά µε τον υπολογιστή µέσω της παράλληλης θύρας και έτσι επιτρέπει την αποδοτική ανάπτυξη και εξέταση των εφαρµογών του χρήστη. Παρακάτω παρουσιάζουµε, επιγραµµατικά, τα βασικά συστατικά µέρη από τα οποία αποτελείται η πλατφόρµα καθώς και τα βασικά χαρακτηριστικά της :

• Τον ψηφιακό επεξεργαστή σήµατος ‘C6711DSP’ ικανό να εκτελεί 900 εκατοµµύρια εντολές κινητής υποδιαστολής το δευτερόλεπτο (MFLOPS) • Υποστήριξη διπλού σήµατος χρονισµού, ένα για την ΚΜΕ στα 150MHz κι ένα για την αλληλεπίδραση µε την εξωτερική µνήµη (EMIF) στα 100MHz • Ελεγκτή παράλληλης θύρας (PPC) που επιτρέπει την αλληλεπίδραση µε την παράλληλη

Page 10: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

θύρα του υπολογιστή µας (host PC) • 16M Bytes των 100MHz σύγχρονη δυναµική RAM (SDRAM) • 128K Bytes ROM • 8-bit memory – mapped θύρα εισόδου/εξόδου • ∆υνατότητα εξοµοίωσης JTAG (Joint Test Action Group) µέσω της παράλληλης θύρας και εξωτερική υποστήριξη µέσω του XDS510 • Host Port Interface (HPI) που εξασφαλίζει πρόσβαση σ’ όλες τις µνήµες του επεξεργαστή µέσω της παράλληλης θύρας • Κωδικοποιητή/Αποκωδικοποιητή audio σηµάτων των 16 bits • Ρυθµιστής τάσης πάνω στη πλακέτα για παροχή συνεχούς ρεύµατος 1.8 και 3.3V • 6 φωτεινές ενδεικτικές δίοδοι (LEDs) για διάφορες λειτουργίες • Εξωτερική παροχή ρεύµατος και ΙΕΕΕ 1284 παράλληλο καλώδιο • Επεκτάσιµη µνήµη και περιφερειακός συνδετήρας για υποστήριξη θυγατρικής κάρτας (daughterboard)

Σχήµα 1.1 : Κάτοψη της αναπτυξιακής πλατφόρµας TMS320C6711 DSK

2

Page 11: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

Σχήµα 1.2 : Σχηµατικό ∆ιάγραµµα των βασικών στοιχείων και των διασυνδέσεων της αναπτυξιακής πλατφόρµας TMS320C6711 DSK

1.2.1 Σήµατα χρονισµού Το ‘C6711 DSK, όπως ήδη αναφέρθηκε, υποστηρίζει δυο σήµατα χρονισµού, όπως ήδη αναφέρθηκε, γεγονός που επιτρέπει στη CPU να τρέχει στη µια συχνότητα, και στην εξωτερική σύγχρονη µνήµη (ΕΜΙF) να τρέχει στην άλλη. Συγκεκριµένα η ΚΜΕ λειτουργεί στα 150MHz ενώ η EMIF στα 100ΜΗz.

3

Page 12: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

Για την παραγωγή των σηµάτων χρονισµού της ΚΜΕ (CLKIN) και του ΕΜΙF (ECLKIN) , το DSK χρησιµοποιεί έναν οικονοµικό ταλαντωτή µαζί µε εξωτερικά χρονιζόµενους πολλαπλασιαστές. Επιπλέον, χρησιµοποιεί και µία ειδική συσκευή, την SN74LVTH125, η οποία παρέχει σήµατα χρονισµού τον ‘C6711, και προσφέρει πολλαπλές λειτουργίες όπως µετατροπές του επιπέδου σήµατος από 5V σε 3.3V και έλεγχο ακµής του ρολογιού σε περιπτώσεις ταχύτατης αλλαγής που απαιτεί ο DSP. 1.2.2 Θύρα Εισόδου / Εξόδου Το DSK διαθέτει µία θύρα εισόδου / εξόδου (Ι/Ο) των 8 bits και τη βοήθεια της συσκευή SN74LVTH16374 καθορίζει αν η θύρα χρησιµοποιείται ως είσοδος ή έξοδος κάθε φορά. Η θύρα αυτή είναι συνδεδεµένη µε το υψηλότερο byte του δίαυλου δεδοµένων (data bus). Η Ι/Ο θύρα συγχρονίζεται από το ΕMIF ρολόι ενώ ένα ενσωµατωµένο PAL (Programmable Array Logic) καθορίζει τη κατεύθυνση των σηµάτων ελέγχου (είσοδος ή έξοδος). Η Ι/Ο θύρα έχει πολλές χρήσεις. Η θύρα εισόδου συνδέεται µε τρία DIP switches, τα οποία, όπως θα δούµε στην επόµενη παράγραφο, µπορούν να καθοριστούν από το χρήστη, τρεις DSK διορθωτικές αντιστάσεις (PWB) και δύο σήµατα κατάστασης για το θυγατρική κάρτα. Η θύρα εξόδου συνδέεται µε τρία LEDs, καθοριζόµενα από το χρήστη, και δύο σήµατα ελέγχου για το θυγατρική κάρτα. Τα εναποµείναντα 5 bits, µένουν αχρησιµοποίητα και δε συνδέονται. 1.2.3 ∆ιακόπτες καθορισµένοι από το χρήστη και ενδείξεις Το ‘C6711 DSK διαθέτει ένα τεσσάρων θέσεων DIP διακόπτη. Όλες οι θέσεις του διακόπτη θέτονται στην ‘υψηλή’ θέση όταν ανοίγει και στην ‘χαµηλή’ όταν κλείνει. Τρεις από τις θέσεις αυτές καθορίζονται από τον ίδιο τον χρήστη (µέσω των τιµών 0 ή 1 που παίρνουν οι θέσεις USER_SW1 ως USER_SW3) κι είναι προσβάσιµες µέσω της Ι/Ο θύρας. Η τέταρτη θέση είναι συνδεδεµένη σε ένα σηµείο πάνω στη πλατφόρµα για να µπορεί να χρησιµοποιηθεί για έλεγχο από το χρήστη και όχι από την Ι/Ο θύρα. Τρεις ενδείξεις LED, των οποίων η λειτουργία µπορεί να καθοριστεί από το χρήστη, είναι προσπελάσιµες µέσω της I/O θύρας. Η τιµή 0 στο κατάλληλο bit της Ι/Ο θύρας έχει ως αποτέλεσµα ν’ ανάβει το αντίστοιχο LED. Αντίθετα, υψηλή τιµή στο κατάλληλο bit στην Ι/Ο θύρα σβήνει το αντίστοιχο LED.

4

Page 13: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

1.2.4 Έλεγχος Επανεκκίνησης (Reset) H Programmable Array Logic συνεργάζεται άµεσα µε τον επόπτη τροφοδοσίας τάσης TPS3307-33 για να παρέχει διάφορους τύπους σηµάτων reset στο DSK. Μία ένδειξη LED ανάβει όσο ο DSP διατηρείται σε κατάσταση reset. Υπάρχουν τρεις πηγές παραγωγής ενός σήµατος reset :

1. Ένα κουµπί για το reset του codec, του daughterboard και του DSP 2. Resets που χρησιµοποιεί ο επόπτης τάσης τα οποία κάνουν reset όλα τα ολοκληρωµένα κυκλώµατα που µπορούν να δεχθούν το σήµα αυτό 3. Resets µέσω του ελεγκτή της παράλληλης θύρας από τον host µε έλεγχο από το λογισµικό για να γίνει reset ο Test Bus Controller (TBC) ή / και ο DSP.

Ο επόπτης της τροφοδοσίας τάσης TPS3307-33 βεβαιώνει ένα αδρανές low reset στην PAL όταν κάποια από τις ψηφιακές πηγές είναι κάτω από κάποια καθορισµένα επίπεδα, π.χ. κατά την τροφοδοσία µε ρεύµα ή τη διακοπή του ηλεκτρικού ρεύµατος στη πλατφόρµα. Ο ελεγκτής αλληλεπίδρασης της παράλληλης θύρας παρέχει ενεργητικές low reset εξόδους στον DSP και στον ΤΒC για να πραγµατοποιηθεί ο έλεγχος από το λογισµικό του host υπολογιστή. ∆ύο από τους ελεγκτές αυτούς που αφορούν τις γενικού σκοπού εξόδους, παρέχουν ανεξάρτητα σήµατα reset του DSP και του TBC µέσω λογισµικού του host υπολογιστή. Το DSK, όµως, δε προσφέρει ένα ξεχωριστό σήµα reset για το daughterboard. 1.2.5 Ελεγκτής παράλληλης θύρας Το DSK χρησιµοποιεί ένα σύστηµα αλληλεπίδρασης παράλληλης θύρας για να ελέγχει τη µεταφορά των πληροφοριών µεταξύ του host και του DSK. Ο ελεγκτής παράλληλης θύρας (Parallel Port Controller PPC) παρέχει ένα τρόπο αναγέννησης των σηµάτων από τη θύρα εκτυπωτή του PC σε πληροφορία κατάλληλη για το δίαυλο ISA. Κατά την αντίστροφη διαδικασία µετατρέπει 8-bit και 16-bit ISA δεδοµένα σε τµήµατα των 4-bit ή 8-bit, κατάλληλα για τη παράλληλη θύρα. 1.2.6 Εξωτερική µνήµη Το DSK διαθέτει ένα σύνολο από 4M λέξεις (words) των 32 bits µε ταχύτητα προσπέλασης 10ns(100MHz) SDRAM, 128KΒ flash ROM και µια memory-mapped θύρα εισόδου – εξόδου των 8 bits. Επίσης παρέχεται ένας διασυνδετής για δυνατότητα επέκτασης µνήµης. Η εξωτερική SDRAM λειτουργεί στα 3.3V.

5

Page 14: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

H 3.3V SDRAM που χρησιµοποιείται στο DSK δε χρειάζεται να χρησιµοποιήσει κάποια glue logic για να αλληλεπιδράσει µε το DSP, γιατί το ‘C6711 EMIF παρέχει όλα τα απαραίτητα σήµατα ελέγχου και ανανέωσης. Η SDRAM πρέπει να ανανεώνεται περιοδικά για να διατηρεί τα δεδοµένα της. Το DSK χρησιµοποιεί τη δυνατότητα ανανέωσης που παρέχει ο DSP για την SDRAM. Για να γίνει αυτό, το RFEN bit στο καταχωρητή ελέγχου της SDRAM πρέπει να είναι τοποθετηµένο στο λογικό 1. Επιπλέον, το DSK διαθέτει µια 128KΒ flash ROM µνήµη, προγραµµατιζόµενη και διαγράψιµη. Τα 128KΒ ασύγχρονης µνήµης καταλαµβάνουν τα 128ΚΒ LSBs από τα 256ΜΒ του χώρου διευθύνσεων CE1. O δίαυλος δεδοµένων των 8 bits της συσκευής συνδέεται µε το χαµηλότερο byte του δίαυλου δεδοµένων του επεξεργαστή ‘C6711. Η µνήµα αυτή επιτρέπει στο DSK να κάνει boot αυτόµατα µια εφαρµογή κατά τη παροχή ρεύµατος ή / και κατά τη διαδικασία reset. Για παράδειγµα, ο κώδικας του Power-On Self-Test(POST), που αποτελεί ένα τεστ για την εξέταση της καλής λειτουργίας της κάρτας, αντιγράφεται από τη µνήµη αυτή στο DSP και εκτελείται κατά τη διαδικασία reset. Επιπλέον, αχρησιµοποίητα τµήµατα της µνήµης µπορούν να χρησιµοποιηθούν για εφαρµογές του χρήστη. Για την καλύτερη κατανόηση της διεπαφής (interface) της εξωτερικής µνήµης, παρέχονται οι τοπολογίες του δίαυλου διευθύνσεων και του δίαυλου δεδοµένων :

Σχήµα 1.3 : Οι τοπολογίες του δίαυλου δεδοµένων και διευθύνσεων του EMIF

6

Page 15: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

1.3 Κύκλωµα αναλογικής αλληλεπίδρασης Το ‘C6711 DSK περιλαµβάνει ένα κύκλωµα αναλογικής αλληλεπίδρασης (analog interface circuit AIC) µε το οποίο γίνεται η µετατροπή της αναλογικής πληροφορίας εισόδου στη κάρτα σε ψηφιακή καθώς επίσης και η αντίστροφη διαδικασία(A/D και D/A αντίστοιχα). Τα βασικά χαρακτηριστικά του AIC είναι:

• 16-bit επεξεργασία σήµατος • Ανεξάρτητα κανάλια φωνής και δεδοµένων – µονό το κανάλι φωνής χρησιµοποιείται από το DSK • Συχνότητα δειγµατοληψίας στα 8ΚΗz • Ξεχωριστές καταστάσεις διακοπής τροφοδοσίας για τα κανάλια φωνής και δεδοµένων • Προγραµµατιζόµενοι ενισχυτές • Οδηγός(driver) 60-Ω ακουστικών µε προγραµµατιζόµενο ενισχυτή • Υποστήριξη για µικρόφωνα που διαθέτουν αυτόνοµη τροφοδοσία • Μια 3.5-mm(1/8 inch) µονοφωνική υποδοχή εισόδου • Μια 3.5-mm(1/8 inch) στερεοφωνική υποδοχή εξόδου

Παρακάτω παρουσιάζεται το σχηµατικό διάγραµµα του αναλογικού κυκλώµατος αλληλεπίδρασης στο οποίο φαίνονται τα βασικά του µέρη :

Σχήµα 1.4 : Σχηµατικό διάγραµµα του AIC

Όπως φαίνεται και στο παραπάνω σχήµα κυρίαρχο ρόλο στο κύκλωµα κατέχει ο κωδικοποιητής/αποκωδικοποιητής TLC320AD535 που είναι µια οικονοµική συσκευή που απαιτεί

7

Page 16: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

τη χρήση ενός µικρού αριθµού επιπρόσθετων στοιχείων για τη λειτουργία της. Η συγκεκριµένη συσκευή είναι ιδιαίτερα σηµαντική και για αυτό το λόγο αναλύεται στη σχέση. 1.3.1 Η συσκευή TLC320AD535 Ο κωδικοποιητής/αποκωδικοποιητής (codec) διπλού καναλιού φωνής/δεδοµένων TLC320AD535 είναι µια συσκευή συνδυασµού σηµάτων ευρείας ζώνης. Το ολοκληρωµένο αποτελείται από έναν δι-κάναλο codec και ένα υβριδικό αναλογικό κύκλωµα µε δύο ανεξάρτητες σειριακές θύρες για επικοινωνία µε το host επεξεργαστή και εξωτερικές αντιστάσεις και πυκνωτές για το καθορισµό του κέρδους ενίσχυσης του σήµατος καθώς και των πόλων του φίλτρου. Τα περισσότερα από τα χαρακτηριστικά που αναφέρθηκαν παραπάνω για τον AIC ανήκουν στο TLC320AD535 ενώ µπορούµε, επιπλέον, να αναφέρουµε επιπροσθέτως τα ακόλουθα χαρακτηριστικά:

• Αναλογική, ψηφιακή και ρυθµιζόµενη τροφοδοσία: 5V ή 3.3V • Ανεξάρτητα κανάλια φωνής και ήχου µε συχνότητες δειγµατοληψίας µέχρι και τα 11.025kHz • ∆υναµικό εύρος των 80 dB στα κανάλια δεδοµένων και φωνής • Συνολικό Signal-to-Noise + παραµόρφωση στα 77dB για τον ADC • Συνολικό Signal-to-Noise + παραµόρφωση στα 74dB για τον DAC • 600Ω TAPI drivers των καναλιών του ήχου και δεδοµένων • 8Ω ΑΤ41 οδηγός ηχείων µε προγραµµατιζόµενο ενισχυτή • Μέγιστο bias µικροφώνου των 5mA στα 2.5/1.5 V • Μέγιστο handset reference των 2.5mA στα 2.5/1.5 V • Μέγιστη τάση αναφοράς του καναλιού δεδοµένων των 10mA στα 2.5/1.5 V • 5/3.3V MVDD power reset κύκλωµα • Κύκλωµα εγγραφής της flash µνήµης • ∆ιαθέσιµο σε 64-pin PM (QFP) πακέτο που λειτουργεί από –40οC ως 85oC

Το ολοκληρωµένο, οι λειτουργίες και τα βασικά µέρη του TLC320AD535 φαίνονται στα ακόλουθα σχήµατα :

8

Page 17: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

Σχήµα 1.5 : Το ολοκληρωµένο TLC320AD535

Σχήµα 1.6 : Το διάγραµµα λειτουργιών του TLC320AD535 1.3.1.1 Περιγραφή λειτουργιών του TLC320AD535 Το τµήµα του codec του TLC320AD535 πραγµατοποιεί τις λειτουργίες που απαιτούνται για τα δυο κανάλια A/D και D/A µετατροπής, για το χαµηλοπερατό φιλτράρισµα, για τον έλεγχο της αναλογικής εισόδου και των ενισχυµένων εξόδων, για την εσωτερική υπερδειγµατοληψία µαζί µε τον εσωτερικό υποβιβασµό και παρεµβολή καθώς και για τις δυο σειριακές θύρες των 16 bits για αλληλεπίδραση µε το host επεξεργαστή. Οι δύο αυτές σειριακές θύρες λειτουργούν ανεξάρτητα

9

Page 18: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

και είναι δυνατόν να λειτουργήσουν σε διαφορετικούς ρυθµούς δειγµατοληψίας. Όπως αναφέρθηκε, ο µέγιστος ρυθµός δειγµατοληψίας για κάθε ένα από τα κανάλια του codec φτάνει τα 11.025kHz. Το υβριδικό κύκλωµα για το κανάλι δεδοµένων περιλαµβάνει ολοκληρωµένους ενισχυτές των οποίων τα κέρδη ενίσχυσης κι οι πόλοι του φίλτρου καθορίζονται από εξωτερικές αντιστάσεις και πυκνωτές. Αυτό επιτρέπει µέγιστη ευελιξία στις ρυθµίσεις ώστε να εναρµονίζονται µε πολλά διεθνή πρότυπα λειτουργίας για τη κάρτα. Το φίλτρο ενίσχυσης που εφαρµόζεται στο κανάλι δεδοµένων ακολουθείται από ένα ενισχυτή κέρδους ο οποίος είναι προγραµµατιζόµενος και ο οποίος τροφοδοτεί τους drivers των ηχείων. Ο ελεγχόµενος driver του ηχείου µπορεί να προγραµµατιστεί για 0dB ενίσχυση ή να µη χρησιµοποιηθεί καθόλου µέσω του καταχωρητή ελέγχου. Η πηγή εισόδου για το ρυθµιζόµενο ηχείο µπορεί να είναι είτε η ενισχυµένη DAC (Data_Out PGA) έξοδος είτε το σήµα εισόδου στον ADC µέσω ενός δεύτερου καταχωρητή ελέγχου. Το αναλογικό κύκλωµα στο κανάλι φωνής περιλαµβάνει ένα bias µικροφώνου, το πολύ 5mA στα 2.5/1.5V , και προενισχυτές για το µικρόφωνο που µπορούν να επιλεχθούν για ενίσχυση στα 0dB ή 20dB. Η συσκευή διαθέτει επιπλέον µια ειδική διεπαφή µε ενισχυτές αποστολής και λήψης. Αυτές οι τρεις είσοδοι µπορούν να συνδυαστούν µε κάθε τρόπο και το αποτέλεσµα στέλνεται σε ένα Line_In προγραµµατιζόµενο ενισχυτή (Programmable Gain Amplifier-PGA) µε κέρδος ενίσχυσης από 12dB έως 36dB µε βήµα 1.5dB. Αυτός τροφοδοτεί το κανάλι φωνής ADC. Στο κανάλι DAC, η έξοδος του DAC στέλνεται σε ένα Line_Out PGA πάλι µε κέρδος ενίσχυσης από 12dB έως 36dB µε βήµα 1.5dB. Αυτός τροφοδοτεί τόσο το 600Ω TAPI driver εξόδου όσο και το driver των 60Ω µονοφωνικού ηχείου το οποίο µπορεί είτε να απενεργοποιηθεί τελείως είτε να προγραµµατιστεί για ενίσχυση 0dB. Η λήξη χρόνου για την αλλαγή στη τιµή του κέρδους ενίσχυσης ή ο µέγιστος χρόνος που το σύστηµα µπορεί να περιµένει για την εµφάνιση του φαινοµένου zero crossing στο σήµα, προτού επιδράσει η αλλαγή στο κέρδος ενίσχυσης, είναι ακριβώς 9ms. Στη συνέχεια θα αναφερθούµε στις λογικές λειτουργίες και το κύκλωµα που απαιτείται για να υλοποιηθούν δυο ανεξάρτητες σειριακές θύρες και να προγραµµατιστεί ο καταχωρητής ελέγχου µέσω δευτερεύουσας επικοινωνίας σ’ αυτές τις θύρες. Υπάρχουν πέντε καταχωρητές ελέγχου οι οποίοι προγραµµατίζονται κατά τη διάρκεια των δευτερευόντων επικοινωνιών είτε από τη σειριακή θύρα που αντιστοιχεί στο κανάλι δεδοµένων είτε από τη θύρα που αντιστοιχεί στο κανάλι φωνής. Αυτοί οι καταχωρητές θέτουν τα κέρδη ενίσχυσης, επιλέγουν πολυπλεγµένες εισόδους και συναρτήσεις ανάδρασης ενώ επίσης διαβάζουν και τα flags υπερχείλισης του ADC. Η συσκευή περιλαµβάνει επιπλέον ένα κύκλωµα power-on reset (POR) για να ελέγχει την 5/3.3V MVDD τροφοδοσία στο σύστηµα και να παρέχει ένα σήµα reset όταν η τροφοδοσία MVDD πέφτει κάτω από ένα προκαθορισµένο κατώφλι. Επιπροσθέτως, διαθέτει ένα κύκλωµα flash write enable

10

Page 19: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

(FWE) που λαµβάνοντας µια εξωτερική είσοδο παρέχει 40mA ρεύµατος για να ενεργοποιήσει το write enable κύκλωµα µιας συσκευής εξωτερικής µνήµης. Το FWE κύκλωµα ενεργοποιείται από τη ψηφιακή παροχή τροφοδοσίας. 1.3.1.2 Περιγραφή λειτουργιών του codec Όπως ήδη έχει αναφερθεί το TLC320AD535 είναι ικανό να υποστηρίξει, είτε στο κανάλι δεδοµένων είτε στο κανάλι φωνής, οποιοδήποτε ρυθµό δειγµατοληψίας µε µέγιστη τιµή αυτή των 11.025kΗz. Ο ρυθµός δειγµατοληψίας καθορίζεται από τη συχνότητα του πρωτεύοντος ρολογιού του codec το οποίο είναι είσοδος στη σειριακή θύρα γι΄ αυτό το κανάλι. Η συχνότητα δειγµατοληψίας προκύπτει από το εσωτερικό κύκλωµα διαιρέτη του πρωτεύοντος ρολογιού του codec µέσω της ακόλουθης σχέσης :

512xMCKLfrequencysamplingf s ==

όπου xMCKL αναφέρεται είτε στο ρολόι του codec για το κανάλι δεδοµένων είτε για το κανάλι φωνής (δηλ. VC_MCKL είτε DT_MCKL) και το οποίο τροφοδοτείται εξωτερικά µε το ρυθµό ρολογιού του κυκλώµατος του διαιρέτη. Το κύκλωµα αυτό διαιρεί το πρωτεύον ρολόι ώστε να παράγει τη συχνότητα ρολογιού που είναι απαραίτητη για να τροφοδοτήσει τους codecs. Το αντίστροφο της συχνότητας δειγµατοληψίας αποτελεί τη περίοδο δειγµατοληψίας. Ο ρυθµός των δειγµάτων τόσο στο κανάλι φωνής όσο και στο κανάλι δεδοµένων ορίζεται ανεξάρτητα από το ρυθµό του αντίστοιχου πρωτεύοντος ρολογιού του codec. Τα δυο κανάλια του codec µπορούν να δειγµατοληπτηθούν µε διαφορετικούς ρυθµούς ταυτόχρονα. 1.3.1.3 ADC κανάλι σήµατος Τα σήµατα εισόδου ενισχύονται και φιλτράρονται σε buffers που βρίσκονται στο chip, προτού παραληφθεί από την αντίστοιχη είσοδο του ADC. Στη περίπτωση του καναλιού φωνής, οι είσοδοι που προέρχονται από το µικρόφωνο και από το handset µπορεί να προστεθούν µαζί προτού ενισχυθούν /υποβαθµιστούν από τον PGA του ΑDC. Ο ADC µετατρέπει το σήµα σε ψηφιακές λέξεις εξόδου σε µορφή συµπληρώµατος ως προς 2 και οι οποίες αντιστοιχούν στη τιµή του αναλογικού σήµατος τη στιγµή της δειγµατοληψίας. Αυτές οι ψηφιακές λέξεις των 16 bits στέλνονται στο host, µέσω της αλληλεπίδρασης της σειριακής θύρας για το αντίστοιχο κανάλι. Εάν ο ADC φτάσει στη µέγιστη τιµή του, τίθεται µια σηµαία (flag) ενός καταχωρητή ελέγχου. Αυτό το bit ένδειξης υπερχείλισης τοποθετείται στη θέση D0 του καταχωρητή ελέγχου 2 του καναλιού δεδοµένων ή του καταχωρητή ελέγχου 5 του καναλιού φωνής. Αυτά τα bits µπορούν να διαβαστούν µόνο από τις αντίστοιχες σειριακές θύρες και η σηµαία υπερχείλισης καθαρίζεται

11

Page 20: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

µόνο αφού διαβαστεί µέσω της σειριακής θύρας του καναλιού φωνής ή αντίστοιχα απ’ αυτή του καναλιού δεδοµένων. Οι ADC και DAC µετατροπές είναι σύγχρονες και phase-locked. 1.3.1.4 DAC κανάλι σήµατος O DAC δέχεται τις 16-bit λέξεις δεδοµένων από το host µέσω της διεπαφής της σειριακής θύρας για κάθε κανάλι. Τα δεδοµένα µετατρέπονται σε αναλογικές τάσεις µέσω µιας συνάρτησης ανακατασκευής που διαθέτει ο DAC και που αποτελείται από ένα ψηφιακό φίλτρο παρεµβολής και ένα ψηφιακό διαµορφωτή. Η έξοδος του κάθε DAC περνάει στη συνέχεια από εσωτερικά χαµηλοπερατά φίλτρα για να ολοκληρωθεί η ανακατασκευή του σήµατος δίνοντας το τελικό αναλογικό σήµα. Αυτά τα αναλογικά σήµατα στη συνέχεια αποθηκεύονται σε ένα buffer και ενισχύονται από έναν οδηγό εξόδου κατάλληλο για να οδηγήσει τα δεδοµένα. 1.3.1.5 Οι διαµορφώσεις sigma-delta του ΑDC και του DAC Κάθε ADC και DAC αποτελεί ουσιαστικά ένα διαµορφωτή sigma – delta που υπερδειγµατοληπτεί το σήµα εισόδου, [4]. Ο ADC εξασφαλίζει υψηλή ανάλυση και χαµηλά ποσοστά θορύβου εκµεταλλευόµενος τα πλεονεκτήµατα των τεχνικών υπερδειγµατοληψίας και µορφοποίησης του θορύβου που παρουσιάζουν οι διαµορφωτές sigma - delta. Από την άλλη, ο DAC προσφέρει κι αυτός υψηλή ανάλυση, όπως, επίσης, και χαµηλά επίπεδα θορύβου κατά την D2A µετατροπή χρησιµοποιώντας και αυτός διαµόρφωση sigma – delta. 1.3.1.6 Φίλτρα αποδεκατισµού και φίλτρα παρεµβολής Κάθε φίλτρο αποδεκατισµού µειώνει το ρυθµό των ψηφιακών δεδοµένων στο ρυθµό της δειγµατοληψίας, [4]. Αυτό επιτυγχάνεται µε τον υποβιβασµό της πληροφορίας κατά ένα παράγοντα ίσο µε τον παράγοντα υπερδειγµατοληψίας. Η έξοδος αυτού του φίλτρου είναι µια λέξη των 16 bits (σε συµπλήρωµα ως προς 2), η οποία ακολουθεί τον επιλεγµένο ρυθµό δειγµάτων. Αντίθετα, το φίλτρο παρεµβολής «επαναδειγµατοληπτεί» τη ψηφιακή πληροφορία µε ρυθµό N φορές µεγαλύτερο από το ρυθµό των δειγµάτων εισόδου, όπου το Ν είναι ο παράγοντας υπερδειγµατοληψίας. Η έξοδος των δεδοµένων από αυτό το φίλτρο, που γίνεται µε υψηλή ταχύτητα, εφαρµόζεται στη συνέχεια στο sigma – delta διαµορφωτή. 1.3.1.7 ∆ιακοπή τροφοδοσίας µέσω λογισµικού (Power Down) Η διακοπή τροφοδοσίας που επιτελείται µέσω λογισµικού κάνει reset όλους τους εσωτερικούς µετρητές, αλλά αφήνει τα περιεχόµενα των καταχωρητών ελέγχου αµετάβλητα για το κάθε κανάλι. Η συσκευή έχει ξεχωριστά και ανεξάρτητα software power down bits για τα κανάλια

12

Page 21: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

φωνής και δεδοµένων. Χρησιµοποιείται ο συγκεκριµένος τρόπος διακοπής τροφοδοσίας µιας και στον TLC320AD535 δε παρέχεται λειτουργία hardware power down.

1.3.1.8 Σειριακές επικοινωνίες Τα σειριακά σήµατα επικοινωνίας για τη σειριακή θύρα του καναλιού δεδοµένων είναι τα DT_DOUT, DT_DIN, DT_SCLK και DT_FS ενώ τα αντίστοιχα σήµατα για τη σειριακή θύρα του καναλιού φωνής είναι τα VC_DOUT, VC_DIN, VC_SCLK, και VC_FS. Τα ψηφιακά δεδοµένα εξόδου από τον ADC λαµβάνονται από το DT_DOUT (ή το VC_DOUT). Τα ψηφιακά δεδοµένα εισόδου για τον DAC δίνονται µέσω του DT_DIN (ή το VC_DIN). Τα DT_SCLK και VC_SCLK χρησιµοποιούνται για το συγχρονισµό των καναλιών δεδοµένων και φωνής αντίστοιχα. Τέλος τα DT_FS και VC_FS χρησιµοποιούνται στα κανάλια δεδοµένων και φωνής αντίστοιχα, για το καθορισµό της χρονικής στιγµής που θα ξεκινήσει η µεταφορά δεδοµένων στον ΑDC και στον DAC. Η µετάδοση σηµάτων δεδοµένων από τον ADC ή προς τον DAC γίνεται µε χρήση πρωτεύουσας σειριακής επικοινωνίας. Αντίθετα, µέσω µιας δευτερεύουσας σειριακής επικοινωνίας γράφονται ή διαβάζονται λέξεις στους καταχωρητές ελέγχου, οι οποίοι ελέγχουν τόσο τις επιλογές όσο και τις ρυθµίσεις του κυκλώµατος της συσκευής. Ο σκοπός της πρωτεύουσας και δευτερεύουσας επικοινωνίας είναι να επιτρέπει τα δεδοµένα που έχουν υποστεί µετατροπή καθώς και τα δεδοµένα ελέγχου να µεταφερθούν κατά µήκος της ίδιας σειριακής θύρας. Μια πρωτεύουσα µεταφορά αναφέρεται αποκλειστικά και µόνο στα δεδοµένα που έχουν υποστεί µετατροπές. Αντίθετα µια δευτερεύουσα µεταφορά χρησιµοποιείται για να θέσει ή να διαβάσει τις τιµές του αντίστοιχου καταχωρητή ελέγχου. Μια πρωτεύουσα αναφορά συµβαίνει σε κάθε περίοδο που έχουµε µετατροπή δεδοµένων. Αντίστοιχα µια δευτερεύουσα µεταφορά δεδοµένων πραγµατοποιείται µόνο όταν γίνει δεκτή µια αίτηση. Η αίτηση αυτή γίνεται µέσω λογισµικού από το D0 των πρωτευόντων δεδοµένων εισόδου προς το DT_DIN για τη σειριακή θύρα του καναλιού δεδοµένων ή προς το VC_DIN για την αντίστοιχη θύρα του καναλιού φωνής. Μια αίτηση για δευτερεύουσα επικοινωνία µπορεί να πραγµατοποιηθεί για το κανάλι φωνής χωρίς να είναι απαραίτητο να γίνει µια αντίστοιχη για το κανάλι δεδοµένων και αντίστροφα. Οι καταχωρητές ελέγχου 1 και 2 µπορούν να διαβάσουν ή να γράψουν δεδοµένα µόνο στη σειριακή θύρα του καναλιού δεδοµένων ενώ οι καταχωρητές ελέγχου 3 έως 6 µπορούν να διαβάσουν ή να γράψουν δεδοµένα µόνο στη σειριακή θύρα του καναλιού φωνής. Όπως έχει ήδη αναφερθεί η πρωτεύουσα σειριακή επικοινωνία µεταδίδει και λαµβάνει δεδοµένα που έχουν υποστεί µετατροπή. Μετά την παροχή τροφοδοσίας ή το reset, η συσκευή έρχεται σε µια 15-bit DAC mode. Το µήκος της λέξης του DAC είναι 15 bits και το τελευταίο bit από τη 16-bit λέξη της πρωτεύουσας σειριακής επικοινωνίας είναι ένα bit ελέγχου που χρησιµοποιείται για την αίτηση µιας δευτερεύουσας σειριακής επικοινωνίας. Για κάθε σειριακή επικοινωνία το πιο σηµαντικό bit (MSB) µεταφέρεται πρώτο. Για τη 16-bit λέξη του ADC, το MSB είναι το D15 και το D0 είναι το LSB. Για τη 15-bit λέξη του DAC στη πρωτεύουσα επικοινωνία το D15 είναι το

13

Page 22: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

MSB, το D1 είναι το LSB και το D0 χρησιµοποιείται για αίτηση δευτερεύουσας επικοινωνίας. Στο παρακάτω σχήµα που απεικονίζει το format των δεδοµένων της πρωτεύουσας επικοινωνίας για τα DIN και DOUT συνοψίζονται τα προαναφερθέντα .

Σχήµα 1.7 : Format δεδοµένων των DIN και DOUT για τη πρωτεύουσα επικοινωνία Η δευτερεύουσα σειριακή επικοινωνία διαβάζει και γράφει 16-bit λέξεις οι οποίες προγραµµατίζουν τόσο τις επιλογές όσο και τις ρυθµίσεις του κυκλώµατος της συσκευής είτε για το κανάλι φωνής είτε για το κανάλι δεδοµένων. Για τη δευτερεύουσα επικοινωνία χρησιµοποιείται προγραµµατισµός µέσω καταχωρητών για το αντίστοιχο κανάλι. Τέσσερις πρωτεύοντες και δευτερεύντες κύκλοι επικοινωνίας απαιτούνται για να προγραµµατιστούν οι τέσσερις καταχωρητές του καναλιού φωνής. Κατ’ αναλογία, δύο πρωτεύοντες και δευτερεύοντες κύκλοι επικοινωνίας είναι απαραίτητοι για να προγραµµατιστούν οι καταχωρητές του καναλιού δεδοµένων. Αν η default τιµή για ένα συγκεκριµένο καταχωρητή είναι η επιθυµητή, τότε η διυεθυνσιοδότηση του καταχωρητή µπορεί να επιτευχθεί κατά τη διάρκεια της δευτερεύουσας επικοινωνίας. Η εντολή NOOP (no operation) διευθυνσιοδοτεί ένα ψευδοκαταχωρητή, τον καταχωρητή 0 και δεν γίνεται κανένας προγραµµατισµός κάποιου άλλου καταχωρητή κατά τη διάρκεια της δευτερεύουσας επικοινωνίας. Αυτό µπορεί να χρησιµοποιηθεί είτε για τη σειριακή θύρα του καναλιού δεδοµένων είτε για την αντίστοιχη του καναλιού φωνής. Κατά τη διάρκεια της δευτερεύουσας επικοινωνίας γράφεται ή διαβάζεται ένας καταχωρητής. Για να εγγραφεί µία τιµή σε έναν καταχωρητή, πρέπει να ληφθεί από το DT__IN (ή το VC_DIN) . Τα δεδοµένα που επιστρέφονται στο DT_DOUT (ή στο VC_DOUT) είναι το 00h.

14

Page 23: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

Σχήµα 1.8 : Format δεδοµένων των DIN και DOUT για τη δευτερεύουσα επικοινωνία

1.4 Σύνοψη Σε αυτό το κεφάλαιο παρουσιάστηκε η βασική δοµή και οι σηµαντικότερες λειτουργίες της αναπτυξιακής πλατφόρµας TMS320C6711 DSK. Ιδιαίτερη αναφορά έγινε στο Analog Interface Circuit µε το οποίο γίνεται η µετατροπή της αναλογικής πληροφορίας εισόδου στη κάρτα σε ψηφιακή καθώς επίσης και η αντίστροφη διαδικασία . Το τµήµα αυτό του DSK θα παίξει ουσιαστικό ρόλο κατά την δειγµατοληψία του αναλογικού σήµατος της γεννήτριας παλµών και την µετατροπή του σε ψηφιακό σήµα προς επεξεργασία από τον DSP καθώς και στην αντίστροφη διαδικασία κατά την έξοδο του σήµατος από την κάρτα. και την δυνατότητα παρατήρησής της τελικής µορφής του στον παλµογράφο. Στο κεφάλαιο που ακολουθεί θα αναπτυχθεί διεξοδικά ο ψηφιακός επεξεργαστής σήµατος TMS320C6711, ο οποίος αποτελεί την καρδιά της αναπτυξιακής πλατφόρµας.

15

Page 24: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 1 – Η πλατφόρµα TMS320C6711 DSK

16

Page 25: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΚΚΕΕΦΦΑΑΛΛΑΑΙΙΟΟ 22 Ο επεξεργαστής TMS320C6711 2.1 Εισαγωγή

Στην ενότητα αυτή θα αναφερθούν κάποια γενικά χαρακτηριστικά των επεξεργαστών της οικογένειας TMS320C6000 καθώς και οι µεγάλες δυνατότητες που προσφέρει ο επεξεργαστής TMS320C6711 και η ευρεία χρήση του σε µοντέρνες εφαρµογές επεξεργασίας σήµατος. Στη συνέχεια, η περιγραφή εστιάζεται στην αρχιτεκτονική του επεξεργαστή TMS320C6711. Ειδικότερα, θα γίνει αναφορά στα :

• Enhanced Direct Memory Access ελεγκτή (EDMA controller), • ∆ιεπαφή Θύρας-Ξενιστή (Host Port Interface-HPI) • ∆ιεπαφή Εξωτερικής Μνήµης (External Memory Interface-EMIF) • Boot Configuration • Πολυκαναλικές Αποµονωµένες Σειριακές Θύρες (Multichannel Buffered Serial Ports-

McBSP) • Χρονιστές (timers), • Επιλογέα διακοπών (Interrupt Selector και External Interrupts), • Εσωτερική µνήµη, καθώς και τον τρόπο διασύνδεσής τους. • ∆ίαυλο επέκτασης (Expansion Bus), • PCI, • Εσωτερική µνήµη, καθώς και τον τρόπο διασύνδεσής τους.

2.2 Η οικογένεια TMS320C6000

Η TMS320C6000 πλατφόρµα συσκευών αποτελείται από ψηφιακούς επεξεργαστές σήµατος (DSPs) που χρησιµοποιούν τη VelociTITM Very Long Instruction Word (VLIW) αρχιτεκτονική και επιτυγχάνουν υψηλή απόδοση µέσω αυξηµένου παραλληλισµού σε επίπεδο εκτέλεσης εντολών. Η αρχιτεκτονική αυτή σε συνδυασµό µε τα υποστηριζόµενα εργαλεία ανάπτυξης και εκτίµησης παρέχει ταχύτερο χρόνο ανάπτυξης και υψηλότερη απόδοση για multichannel, multifunction και embedded DSP εφαρµογές που είναι µέχρι και δέκα φορές υψηλότερη από αυτήν των

Page 26: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

superscalar επεξεργαστών. Τµήµα αυτών των αναπτυξιακών εργαλείων είναι ο νέος, αποδοτικός C Compiler, ο assembly optimizer και µια WindowsΤΜ debugger διεπαφή που διευκολύνουν τον προγραµµατισµό.

Η υψηλή τους απόδοση, µέχρι και 4800 ΜΙPS, σε συνδυασµό µε τη χαµηλή τιµή τούς καθιστά ιδανική λύση σε µια πληθώρα εφαρµογών, όπως :

• Pooled modems • Wireless local loop base stations • Beamforming base stations • Remote Access Servers (RAS) • Digital Subscriber Loop (DSL) systems • Cable modems • Multichannel telephony systems • Virtual reality 3D graphics • Speech recognition • Audio • Radar • Atmospheric modeling • Finite element analysis • Imaging (π.χ.: fingerprint recognition, ultrasound και MRI) • Personalized home security µε face και hand/fingerprint recognition • Advanced cruise control µε global positioning systems (GPS) πλοήγηση

και αποφυγή ατυχηµάτων • Remote medical diagnostics κ.ά.

Οι ’C6000 συσκευές εκτελούν µέχρι και οκτώ εντολές των 32 bits σε κάθε κύκλο ρολογιού. Ο πυρήνας της CPU αποτελείται από :

• 32 καταχωρητές γενικού σκοπού µε µήκος λέξης 32 bits • 8 λειτουργικές µονάδες :

o 2 πολλαπλασιαστές o 6 Αριθµητικές Λογικές Μονάδες (ALUs)

Οι ‘C62x/C67x συσκευές διαθέτουν επιπλέον µία hardware emulation board, συµβατή µε τη διεπαφή : TI XDS510E emulator. Αυτό το εργαλείο ακολουθεί το IEEE Standard 1149.1–1990, IEEE Standard Test Access Port and Boundary-Scan Architecture. Μερικά από τα χαρακτηριστικά αυτών των συσκευών είναι τα ακόλουθα :

18

Page 27: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

aΗ εξελιγµένη VLIW CPU µε τις οκτώ παραπάνω λειτουργικές µονάδες :

• εκτελεί µέχρι και οκτώ εντολές σε κάθε κύκλο, παρέχοντας µέχρι και δέκα φορές καλύτερη απόδοση από τους τυπικούς DSPs,

• επιτρέπει στους σχεδιαστές να αναπτύξουν υψηλά αποδοτικό RISC-like κώδικα σε σύντοµο χρόνο.

aΗ Οµαδοποίηση Εντολών (Instruction packing) :

• παρέχει µέγεθος κώδικα που ισοδυναµεί µε οκτώ εντολές που εκτελούνται σειριακά ή παράλληλα,

• µειώνει το µέγεθος του κώδικα, τα program fetches και την κατανάλωση. aΌλες οι εντολές εκτελούνται υπό όρους :

• µειώνεται το branching, • αυξάνεται ο παραλληλισµός, οδηγώντας σε υψηλότερη απόδοση.

aΟ εισαγόµενος από το χρήστη κώδικας εκτελείται σε ανεξάρτητες λειτουργικές µονάδες. Για το σκοπό αυτό διαθέτει έναν :

• αποδοτικό C compiler κι έναν • assembly optimizer για γρήγορη ανάπτυξη και βελτιωµένο παραλληλισµό.

aΥποστηρίζει δεδοµένα 8/16/32-bit, παρέχοντας ευελιξία για µια πληθώρα εφαρµογών :

• 40-bit αριθµητικές επιλογές, οι οποίες δίνουν επιπλέον ακρίβεια στο σχεδιασµό vocoders και άλλων υπολογιστικά δύσκολων εφαρµογών,

• υποστηρίζεται κορεσµός (saturation) και κανονικοποίηση (normalization), οι οποίες παρέχουν υποστήριξη σε αριθµητικές πράξεις,

• ο χειρισµός των πεδίων και των εντολών µαζί µε το bit counting υποστηρίζουν τις απαραίτητες πράξεις σε εφαρµογές ελέγχου και χειρισµού δεδοµένων.

Για τη µνήµη και τα περιφερειακά παρέχονται οι εξής επιλογές:

• µεγάλη on-chip RAM για γρήγορη εκτέλεση των αλγορίθµων,

19

Page 28: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

• 32-bit interface εξωτερικής µνήµης, το οποίο υποστηρίζει SDRAM, SBSRAM, SRAM κι άλλες ασύγχρονες µνήµες,

• πρόσβαση του host στη µνήµη και στα περιφερειακά των συσκευών’C62x/C67x µέσω της παράλληλης θύρας,

• multichannel DMA controller, ο C6711 περίεχει enhanced DMA (EDMA) controller, • multichannel serial port(s), • 32-bit timer(s).

Ειδικότερα, οι συσκευές ’C67x έχουν τα ακόλουθα χαρακτηριστικά :

• το πολύ 1336 MIPS στα 167 MHz, o C6711: 900 MIPS µε 6.7 nsec cycle time στα 150 MHz.

• το πολύ 1G FLOPS στα 167 MHz για single-precision πράξεις, • το πολύ 250M FLOPS στα 167 MHz για double-precision πράξεις, • το πολύ 688M FLOPS στα 167 MHz για πράξεις πολλαπλασιασµού και συσσώρευσης, • υποστήριξη υλικού για single-precision (32-bit) και double-precision (64-bit) IEEE

πράξεις κινητής υποδιαστολής, • 32x32-bit πολλαπλασιασµό ακεραίων µε 32- ή 64-bit αποτέλεσµα.

2.3 Γενική περιγραφή του επεξεργαστή TMS320C6711 Η ταχύτητα του επεξεργαστή TMS320C6711 αγγίζει τις 900 εκατοµµύρια εντολές κινητής υποδιαστολής το δευτερόλεπτο (MFLOPS) µε ρυθµό ρολογιού στα 150ΜHz. Ο συγκεκριµένος επεξεργαστής διαθέτει τη λειτουργική ικανότητα των ελεγκτών υψηλής ταχύτητας όσο και την αριθµητική ικανότητα των επεξεργαστών πινάκων. Αυτός ο επεξεργαστής έχει 32 καταχωρητές γενικού σκοπού των 32-bit µήκους λέξεων και 8 ανεξάρτητες λειτουργικές µονάδες που παρέχουν 4 κινητής/σταθερής υποδιαστολής ALUs, 2 σταθερής υποδιαστολής ALUs και 2 κινητής/σταθερής υποδιαστολής πολλαπλασιαστές. Χρησιµοποιεί µια διεπίπεδη αρχιτεκτονική κρυφής µνήµης και έχει ένα ισχυρό και ποικίλο σύνολο από διαφορετικά περιφερειακά που βρίσκονται on-chip. Η επιπέδου 1 program cache (LP1) είναι µία 32-Kbit direct memory cache και η επιπέδου 1 data cache (LD1) είναι µία 32-bit 2-way set-associative µνήµη. Η επιπέδου 2 κρυφή µνήµη (L2) αποτελείται από ένα χώρο µνήµης 512-Kbit ο οποίος µοιράζεται σε χώρο για πρόγραµµα και χώρο για δεδοµένα. Η L2 µνήµη µπορεί να ρυθµιστεί ως κλασική µνήµη, ως cache ή ως συνδυασµός των δύο. Το σύνολο των περιφερειακών περιλαµβάνει δύο Multichannel Buffered Serial Ports (McBSP), δύο γενικού

20

Page 29: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

σκοπού timers, ένα Host Port Interface (HPI), ένα External Memory Interface (EMIF) ικανό να αλληλεπιδράσει µε SDRAM, SBSRAM και ασύγχρονα περιφερειακά. Τα περιφερειακά που είναι προσβάσιµα από το χρήστη ρυθµίζονται µέσω ενός συνόλου καταχωρητών ελέγχου που είναι memory-mapped. Ο ελεγκτής του διαύλου των περιφερειακών αναλαµβάνει να εκτελέσει τις προσβάσεις στα περιφερειακά που βρίσκονται πάνω στο chip. Παρακάτω παρουσιάζεται το chip του επεξεργαστή TMS320C6711 στο οποίο φαίνεται η διαρρύθµιση των pins.

Σχήµα 2.1 : Η κάτοψη του ολοκληρωµένου TMS320C6711

Στη συνέχεια δίνεται το σχηµατικό διάγραµµα του επεξεργαστή, όπου µπορούµε να παρατηρήσουµε τη ΚΜΕ και τη διασύνδεση της µε τις υπόλοιπες µονάδες του ολοκληρωµένου και µε τα εξωτερικά περιφερειακά.

21

Page 30: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.2 : Σχηµατικό ∆ιάγραµµα του επεξεργαστή TMS320C6711

Στη συνέχεια παρατίθεται µια συνοπτική περιγραφή των βασικών στοιχείων που διαθέτει το ολοκληρωµένο (Σχήµα 2.2). Ελεγκτής EDMA Ο ελεγκτής EDMA (Enhanced Direct Memory Access) µεταφέρει δεδοµένα µεταξύ διευθύνσεων της µνήµης, χωρίς τη συµµετοχή της CPU. ∆ιαθέτει 16 προγραµµατιζόµενα κανάλια όπως επίσης χώρο RAM όπου κρατάει πολλαπλές ρυθµίσεις για µελλοντικές µεταφορές. ∆ιεπαφή Θύρας-Ξενιστή (Host Port Interface-HPI) Το HPI είναι διεπαφή παράλληλης θύρας, µέσω της οποίας ο host επεξεργαστής µπορεί να έχει απ΄ ευθείας πρόσβαση στο χώρο της µνήµης της ΚΜΕ. H host συσκευή έχει ευκολία πρόσβασης, γιατί είναι ο master στη διεπαφή που αναπτύσσεται µε τη κάρτα. Ο host και η ΚΜΕ µπορεί να

22

Page 31: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

ανταλλάξουν πληροφορία µέσω εσωτερικής ή εξωτερικής µνήµης. Επιπλέον, ο host έχει απ΄ ευθείας πρόσβαση σε όλα τα memory mapped περιφερειακά. ∆ιεπαφή Εξωτερικής Μνήµης (External Memory Interface-EMIF) Όπως ήδη έχει αναφερθεί, το EMIF υποστηρίζει αλληλεπίδραση µε διάφορες εξωτερικές συσκευές όπως:

• σύγχρονες burst SRAM (SBSRAM), • σύγχρονες DRAM (SDRAM), • ασύγχρονες συσκευές όπως SRAM, ROM και FIFOs, • εξωτερικές συσκευές διαµοιραζόµενης µνήµης.

Boot Configuration Οι συσκευές της οικογένειας TMS320C6000 προσφέρουν µία ποικιλία από boot configurations που καθορίζουν ποιες ενέργειες θα πρέπει να κάνει ο DSP ύστερα από το reset της συσκευής, για τις απαραίτητες αρχικοποιήσεις. Αυτές οι ενέργειες περιλαµβάνουν το φόρτωµα κώδικα από µία εξωτερική ROM µέσω EMIF και το φόρτωµα κώδικα µέσω του HPI από ένα εξωτερικό host. Πολυκαναλικές Αποµονωµένες Σειριακές Θύρες ( Multichannel Buffered Serial Ports- McBSP) Χρησιµοποιούνται για να κάνουν buffering σειριακά δεδοµένα στη µνήµη αυτόµατα και µε τη βοήθεια του EDMA ελεγκτή. Επιπλέον, έχουν δυνατότητες για πολυκαναλικές µεταφορές ικανές να συγκριθούν µε τα T1, E1, SCSA και MVIP δικτυακά standards, [3]. Ακόµη προσφέρονται για full-duplex επικοινωνία, διαθέτουν double-buffered καταχωρητές δεδοµένων, ανεξάρτητο framing και χρονισµό για εκποµπή και λήψη καθώς και απ΄ ευθείας διεπαφή µε codecs που χρησιµοποιεί κατά κόρον η σύγχρονη βιοµηχανία, µε AICs και άλλες σειριακές A/D και D/A συσκευές. Χρονιστές (Timers) O επεξεργαστής TMS320C6711 διαθέτει 32-bit γενικού σκοπού timers που χρησιµοποιούνται για να εκτελέσουν τις παρακάτω λειτουργίες

• time events • count events • γεννήτριες παλµών

23

Page 32: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

• διακοπή της CPU • αποστολή σηµάτων συγχρονισµού στον EDMA ελεγκτή

Επιλογέας ∆ιακοπών (Interrupt Selector) Το σύνολο των περιφερειακών αποτελεί µία πηγή παροχής interrupts. Ο interrupt selector επιτρέπει στο χρήστη να επιλέξει ποια interrupts χρειάζεται το σύστηµά του. Επίσης επιτρέπει την αλλαγή της πολικότητας των εξωτερικών interrupt σηµάτων. Κατάστασης Μειωµένης Ισχύος (Power-down) Η power-down λογική επιτρέπει ο µειωµένος χρονισµός να µειώσει την κατανάλωση ισχύος. Το µεγαλύτερο µέρος της ισχύς της CMOS λογικής καταναλώνεται κατά τη µεταγωγή κυκλώµατος από τη µια λογική κατάσταση στην άλλη. Αν αποφευχθεί µέρος ή όλη η διαδικασία µεταγωγής απο τη µια λογική κατάσταση στην άλλη, τότε πραγµατοποιείται πολύ σηµαντική εξοικονόµηση ενεργείας χωρίς να χαθούν δεδοµένα ή λειτουργικά περιεχόµενα. Εσωτερική Μνήµη Οι TMS320C6211/C6711 συσκευές διαθέτουν µια αρχιτεκτονική µνήµης δύο επιπέδων τόσο για την εσωτερική µνήµη όσο και για τους διαύλους δεδοµένων. Το πρώτο επίπεδο µνήµης για το εσωτερικό πρόγραµµα και το δίαυλο δεδοµένων είναι µια 4KΒ cache, L1P για την cache προγράµµατος και L1D για την cache δεδοµένων. Το δεύτερο επίπεδο µνήµης είναι ένα 64KΒ block µνήµης το οποίο µοιράζεται τόσο στο πρόγραµµα όσο και στους διαύλους δεδοµένων µνήµης˙ το L2 επίπεδο.

2.4 Ανάλυση της κεντρικής µονάδας επεξεργασίας (DSP core) Η κεντρική µονάδα επεξεργασίας, όπως έχει ήδη αναφερθεί, είναι σχεδιασµένη µε βάση την αρχιτεκτονική Very Long Instruction Word (VLIW) και είναι ικανή να προµηθεύσει το πολύ µέχρι και 8 32-bit εντολές τις 8 λειτουργικές µονάδες µέσα σε έναν κύκλο ρολογιού. Αν κάποιες από τις 8 λειτουργικές µονάδες δεν είναι έτοιµες να εκτελέσουν κάποια εντολή, η VLIW αρχιτεκτονική ελέγχει και εντοπίζει ποιες είναι αυτές και δεν τις τροφοδοτεί µε εντολές. Το πρώτο bit κάθε 32-bit εντολής καθορίζει εάν η επόµενη εντολή ανήκει στο ίδιο πακέτο εκτέλεσης µε την προηγούµενη εντολή ή εάν θα πρέπει να εκτελεστεί στον επόµενο κύκλο ρολογιού ως µέρος του επόµενου πακέτου εκτέλεσης. Παρότι τα ανακληθέντα πακέτα είναι πάντοτε εύρους 256 (8x32) bits, τα πακέτα εκτέλεσης µπορούν να ποικίλουν σε µέγεθος. Τα µεταβλητού

24

Page 33: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

µεγέθους πακέτα εκτέλεσης είναι ένας ιδιαίτερος τρόπος εξοικονόµησης µνήµης, που κάνει τη CPU του TMS320C6711 να ξεχωρίζει από τις άλλες VLIW αρχιτεκτονικές. Η CPU διαθέτει δύο σύνολα λειτουργικών µονάδων. Καθ’ ένα από τα σύνολα αυτά αποτελείται από τέσσερις µονάδες και ένα αρχείο καταχωρητών. Το ένα σύνολο περιέχει τις λειτουργικές µονάδες .L1, .S1, .M1 και .D1 ενώ το άλλο περιέχει αντίστοιχα τις .L2, .S2, .M2 και .D2. Το κάθε ένα από τα δύο αρχεία καταχωρητών περιέχει 16 32-bit καταχωρητές, σχηµατίζοντας ένα σύνολο 32 καταχωρητών γενικού σκοπού. Τα δύο σύνολα λειτουργικών µονάδων µαζί µε τα αρχεία καταχωρητών συνθέτουν τα τµήµατα Α και Β της CPU (βλέπε Σχήµα 2.2). Οι τέσσερις λειτουργικές µονάδες στο κάθε τµήµα της CPU µπορούν ελεύθερα να µοιραστούν τους 16 καταχωρητές που ανήκουν στο τµήµα αυτό. Επιπλέον, κάθε τµήµα διαθέτει ένα δίαυλο δεδοµένων που συνδέεται µε όλους τους καταχωρητές του άλλου τµήµατος, µέσω του οποίου τα δύο σύνολα λειτουργικών µονάδων µπορούν να έχουν πρόσβαση στα δεδοµένα του αρχείου καταχωρητή του άλλου τµήµατος. Η πρόσβαση στο αρχείο καταχωρητή γίνεται στη διάρκεια ενός ωρολογιακού κύκλου για τις λειτουργικές µονάδες που βρίσκονται στο ίδιο τµήµα µε τον καταχωρητή, ενώ για αυτές που βρίσκονται στο άλλο τµήµα απαιτείται ένας κύκλος ρολογιού για διάβασµα και γράψιµο. Η CPU του ’C6711 εκτελεί όλες τις εντολές σταθερής υποδιαστολής που υποστηρίζουν όλοι οι επεξεργαστές της σειράς C62x και επιπλέον οι έξι από τις οχτώ λειτουργικές του µονάδες (.L1, .S1, .M1, .M2, .S2, και .L2) υποστηρίζουν εντολές κινητής υποδιαστολής. Οι υπόλοιπες δύο µονάδες (.D1 και .D2) έχουν επιπλέον τη δυνατότητα να εκτελούν LDDW εντολές, όπου σε κάθε τµήµα της CPU (Α και Β) φορτώνονται 64 bits για ένα σύνολο από 128 bits. Ένα ακόµη βασικό χαρακτηριστικό της επεξεργαστικής µονάδας είναι και η αρχιτεκτονική load/store. Οι δύο data – addressing µονάδες (.D1 και .D2) είναι υπεύθυνες για όλες τις µεταφορές δεδοµένων µεταξύ των αρχείων καταχωρητών και της µνήµης. Η διεύθυνση δεδοµένων που οδηγείται από τις .D µονάδες, επιτρέπει τη διευθυνσιοδότηση δεδοµένων που προκύπτουν από το ένα αρχείο καταχωρητών, να χρησιµοποιηθούν ώστε να λαµβάνονται/αποθηκεύονται δεδοµένα από/προς το άλλο αρχείο καταχωρητών. Η ΚΜΕ υποστηρίζει ένα πλήθος από τρόπους έµµεσης διευθυνσιοδότησης χρησιµοποιώντας είτε γραµµικό είτε κυκλικό τρόπο διευθυνσιοδότησης µε 5 ή 15-bits offsets [9]. Όλες οι εντολές είναι υπό συνθήκη εντολές και οι περισσότερες έχουν πρόσβαση σε οποιοδήποτε από τους 32 καταχωρητές. Παρόλα αυτά ορισµένοι καταχωρητές έχουν σχεδιαστεί για να υποστηρίζουν συγκεκριµένες λειτουργίες διευθυνσιοδότησης ή να κρατούν τη συνθήκη για τις υπό συνθήκη εντολές. Οι δύο .Μ λειτουργικές µονάδες χρησιµοποιούνται για πολλαπλασιασµούς. Οι δύο .S και .L λειτουργικές µονάδες εκτελούν ένα γενικό σύνολο από αριθµητικές, λογικές συναρτήσεις και συναρτήσεις διακλάδωσης των οποίων τα αποτελέσµατα παράγονται εντός ενός κύκλου ρολογιού [9].

25

Page 34: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Η διαδικασία εκτέλεσης ξεκινά όταν προσκοµιστεί ένα 256-bit πακέτο ανάκλησης από τη program memory. Οι 32-bit εντολές που προορίζονται για µεµονωµένες λειτουργικές µονάδες, προωθούνται µε ένα συνηµµένο “1” στο LSB της εντολής. Οι εντολές που ενώνονται «αλυσιδωτά» για ταυτόχρονη εκτέλεση (µέχρι 8 σύνολο) αποτελούν ένα πακέτο εκτέλεσης. Ένα “0” στο LSB µιας εντολής «σπάει» την αλυσίδα και τοποθετεί τις επόµενες εντολές που ακολουθούν στο επόµενο πακέτο εκτέλεσης. Εάν ένα πακέτο εκτέλεσης ξεπεράσει το όριο του πακέτου ανάκλησης (256-bits) ο assembler τοποθετεί τα πλεονάζοντα δεδοµένα στο επόµενο πακέτο ενώ το υπόλοιπος χώρος στο τρέχον πακέτο εκτέλεσης συµπληρώνεται µε NOP εντολές. Ο αριθµός των πακέτων εκτέλεσης για ένα πακέτο ανάκλησης µπορεί να κυµαίνεται από 1 έως 8. Τα πακέτα εκτέλεσης αποστέλλονται στις αντίστοιχες λειτουργικές µονάδες µε ρυθµό ένα πακέτο ανά κύκλο ρολογιού και το επόµενο 256-bit πακέτο ανάκλησης δε προσκοµίζεται µέχρι όλα τα πακέτα εκτέλεσης του τρέχοντος πακέτου ανάκλησης να αποσταλούν στους προορισµούς τους. Μετά την διερµηνεία, οι εντολές ταυτόχρονα οδηγούνται σε όλες τις λειτουργικές µονάδες που είναι ενεργές, αποδίδοντας µέγιστο ρυθµό εκτέλεσης 8 εντολές ανά κύκλο ρολογιού. Ενώ τα περισσότερα αποτελέσµατα αποθηκεύονται στους 32-bit καταχωρητές, µπορούν διαδοχικά να µεταφερθούν στη µνήµη ως bytes ή half words. Όλες οι load-store εντολές είναι byte-, half-word, ή word-addressable. 2.5 Η µορφή των ακεραίων και κινητής υποδιαστολής λέξεων Ένας ακέραιος στην οικόγενεια των επεξεργαστών C6000 είναι µια λέξη των 32-bits. Υποθέστε

οτι η λέξη έχει τη µορφή . Το πιο αριστερό bit, , είναι το πιο

σηµαντικό bit (MSB) και το αντίστοιχο πιο δεξιό, , είναι το λιγότερο σηµαντικό bit (LSB). Οι

ακέραιοι µπορεί να είναι είτε προσηµασµένοι, είτε µη προσηµασµένοι. Ένας µη προσηµασµένος αριθµός έχει την δεκαδική τιµή

),,,,( 013031 ddddd …=

0d31d

∑=

=31

02

n

nndv

και το εύρος του είναι . Οι προσηµασµένοι αναπαρίστανται µε τη µορφή

συµπληρώµατος ως προς 2 µε το MSB να είναι το bit προσήµου. Έτσι ένας προσηµασµένος ακέραιος έχει τη δεκαδική τιµή

]12,0[ 32 −

∑=

+−=30

0

3131 22

n

nndbv

26

Page 35: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

του οποίου το εύρος είναι . Είναι προφανές ότι όταν ]12,2[ 3131 −− 031 =b ο ακέραιος είναι

θετικός, ενώ είναι αρνητικός όταν 131 =b . Αυτές οι µορφές θεωρούν ότι η υποδιαστολή

βρίσκεται δεξιά από το λιγότερο σηµαντικό bit.

Από την άλλη θεωρώντας L δεκαδικά ψηφία, η λέξη έχει τη µορφή ),.,,( 0131 bbbbb LL …… −=

και έχει τη δεκαδική τιµή

+−= ∑

=

−30

0

3131 222

n

nn

L dbv

Τότε ο ακέραιος έχει τη µορφή . Όταν εκτελούνται αριθµητικές πράξεις ακεραίων που

βρίσκονται σε αυτή τη µορφή, θα πρέπει ο προγραµµατιστής να λάβει υπόψη του τη σωστή θέση της υποδιαστολής. Οι ακέραιοι καταλαµβάνουν ένα καταχωρητή στο αρχείο καταχωρητών.

LQ

Η οικογένεια των επεξεργαστών C6000 υποστηρίζει επίσης ακεραίους µήκους 40-bit (long integers). Οι long integers αποθηκεύονται σε δύο διαδοχικούς καταχωρητές στο αρχείο καταχωρητών. Τα 32 λιγότερα σηµαντικά bits τοποθετούνται σε έναν καταχωτητή µε ζυγή αρίθµηση, ενώ τα 8 πιο σηµαντικά ψηφία τοποθετούνται στα 8 χαµηλότερα bit του καταχωρητή µε την αµέσως υψηλότερη αρίθµηση, η οποία είναι περιττή. Οι επεξεργαστές κινητής υποδιαστολής (όπως ο C6711) µπορούν επίσης να σχηµατίζουν ακεραίους διπλής ακρίβειας µήκους 64 bits οι οποιοί καταλαµβάνουν ένα ζεύγος διαδοχικών καταχωρητών. Ο DSP C6711 υποστηρίζει αριθµούς κινητής υποδιαστολής ΙΕΕΕ µονής και διπλής ακρίβειας. Οι ΙΕΕΕ αριθµοί κινητής υποδιαστολής µπορεί να είναι κανονικοποιηµένοι, µη κανονικοποιηµένοι, NaNs (not a number) και άπειροι αριθµοί. Οι µη κανονικοποιηµένοι αριθµοί είναι µη µηδενικοί αριθµοί οι οποίοι είναι µικρότεροι κατά απόλυτη τιµή, απο το µικρότερο µη µηδενικό, θετικό, κανονικοποιηµένο αριθµό. Οι αριθµοί µονής ακρίβειας έχουν µήκος 32 bits, ενώ οι διπλοί ακρίβειας έχουν µήκος 64 bits. Οι κανονικοποιηµένοι αριθµοί µονής ακρίβειας είναι ακριβείς σε τουλάχιστον 6 δεκαδικά ψηφία, ενώ οι αντίστοιχοι διπλής ακρίβειας σε τουλάχιστον 15 δεκαδικά ψηφία. Η µορφή ενός αριθµού κινητής υποδιαστολής µονής ακρίβειας είναι 31 30 23 22 0

s 067 ,,, eee … 232221 ,,,, ffff …

27

Page 36: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Ακολούθως επεξηγούνται τα πεδία αυτής της λέξης • Το πεδίο µήκους ενός bit είναι το bit προσήµου. Εάν s 0=s οι αριθµοί είναι θετικοί,

ενώ εάν είναι αρνητικοί. 1=s• Το πεδίο µήκους 8 bit είναι ο πολωµένος εκθέτης που έχει τη δεκαδική τιµή

, έτσι ώστε

067 ,,, eee …

2kk∑

=

=7

0kee 2550 ≤≤ e . Ο πολωµένος εκθέτης ενος κανονικοποιηµένου

αριθµού δε µπορεί να έχει τις τιµές 0 και 255. Η τιµή 0=e είναι δεσµευµένη για αριθµούς που είναι ίσοι µε το 0. Η τιµή 255=e είναι δεσµευµένη για την αναπαράσταση απείρου και NaN.

• Το πεδίο µήκους 23 bit ονοµάζεται mantissa ή δεκαδικό µέρος και

έχει την ισοδύναµη δεκαδική τιµή , που αντιστοιχεί στη δυαδική λέξη

. Η mantissa έχει εύρος [

232221 ,,,, ffff …

23f

∑=

−=23

12

k

kkff

]21,0 23−−21.0 ff … Η αριθµητική τιµή, x , της λέξης µονής ακρίβειας, κινητής υποδιαστολής καθορίζεται από τους ακόλουθους κανόνες:

1. Εάν e και , τότε το 255= 0≠f x είναι ΝaN, ανεξάρτητο από το s

2. Εάν e και , τότε 255= 0=f ( ) ∞−= sx 1

3. Εάν τότε . Αυτοί είναι οι κανονικοποιηµένοι

αριθµοί. Θα πρέπει να σηµειωθεί ότι το

2550 << e )1(2)1( 127 fx es +−= −

f+1 αντιστοιχεί στη δυαδική λέξη 1 .

Για κανονικοποιηµένους αριθµούς, ο εκθέτης επιλέγεται έτσι ώστε να µεταφέρεται το 1 που βρίσκεται στη πρώτη θέση από αριστερά, στη πρώτη θέση αριστερά της υποδιαστολής. Εφόσον τώρα η ύπαρξη του 1 είναι γνωστή, αυτό δε περιλαµβάνεται στο πεδίο επιτρέποντας έτσι την ύπαρξη ενός έξτρα bit ακρίβειας για τη mantissa.

231. ff …

f

4. Εάν και , τότε . Αυτοί είναι οι µη κανονικοποιηµένοι

αριθµοί.

0=e 0≠f fx s 1262)1( −−=

5. Εάν και , τότε . Θα πρέπει να σηµειωθεί ότι ορίζεται τόσο

θετικό όσο και αρνητικό 0.

0=e 0=f 0)1( ×−= sx

Η µορφή ενός αριθµού κινητής υποδιαστολής διπλής ακρίβειας είναι 63 62 52 51 0

s 0910 ,,, eee … 525121 ,,,, ffff …

Τα πεδία είναι αντίστοιχα αυτών την µονής ακρίβειας :

28

Page 37: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

• Το πεδίο µήκους ενός bit είναι το bit προσήµου. Εάν s 0=s οι αριθµοί είναι θετικοί,

ενώ εάν είναι αρνητικοί. 1=s• Το πεδίο µήκους 11 bit είναι ο πολωµένος εκθέτης που έχει τη δεκαδική

τιµή , έτσι ώστε

0910 ,,, eee …

∑=

=10

02

k

kkee 20470 ≤≤ e . Ο πολωµένος εκθέτης ενος

κανονικοποιηµένου αριθµού δε µπορεί να έχει τις τιµές 0 και 2047. Η τιµή είναι δεσµευµένη για αριθµούς που είναι ίσοι µε το 0. Η τιµή

0=e2047=e είναι δεσµευµένη για

την αναπαράσταση απείρου και NaN.

• Το πεδίο µήκους 52 bit ονοµάζεται mantissa ή δεκαδικό µέρος και

έχει την ισοδύναµη δεκαδική τιµή , που αντιστοιχεί στη δυαδική λέξη

. Η mantissa έχει εύρος [

525121 ,,,, ffff …

52f

∑=

−=52

12

k

kkff

]21,0 52−−21.0 ff … Η αριθµητική τιµή, x , της λέξης µονής ακρίβειας, κινητής υποδιαστολής καθορίζεται από τους ακόλουθους κανόνες:

1. Εάν e και , τότε το 2047= 0≠f x είναι ΝaN, ανεξάρτητο από το s

2. Εάν e και , τότε 2047= 0=f ( ) ∞−= sx 1

3. Εάν τότε . Αυτοί είναι οι κανονικοποιηµένοι

αριθµοί. Θα πρέπει να σηµειωθεί ότι το

20470 << e )1(2)1( 1023 fx es +−= −

f+1 αντιστοιχεί στη δυαδική λέξη 1 .

Για κανονικοποιηµένους αριθµούς, ο εκθέτης επιλέγεται έτσι ώστε να µεταφέρεται το 1 που βρίσκεται στη πρώτη θέση από αριστερά, στη πρώτη θέση αριστερά της υποδιαστολής. Εφόσον τώρα η ύπαρξη του 1 είναι γνωστή, αυτό δε περιλαµβάνεται στο πεδίο επιτρέποντας έτσι την ύπαρξη ενός έξτρα bit ακρίβειας για τη mantissa.

521. ff …

f

4. Εάν και , τότε . Αυτοί είναι οι µη κανονικοποιηµένοι

αριθµοί.

0=e 0≠f fx s 10222)1( −−=

5. Εάν και , τότε . Θα πρέπει να σηµειωθεί ότι ορίζεται τόσο

θετικό όσο και αρνητικό 0.

0=e 0=f 0)1( ×−= sx

Στον C6711 οι αριθµοι κινητικής υποδιαστολής, µονής ακρίβειας αποθηκεύονται σε ένα καταχωρητή, ενώ οι αντίστοιχοι διπλής ακρίβειας αποθηκεύονται σε ένα ζεύγος γειτονικών καταχωρητών. Τα 32 λιγότερα σηµαντικά bits τοποθετούνται σε έναν καταχωτητή µε ζυγή αρίθµηση, ενώ τα 32 πιο σηµαντικά ψηφία τοποθετούνται στον αµέσως υψηλότερο, σε αρίθµηση, καταχωρητή. Γι’ αυτό, ο άρτια αριθµηµένος καταχωρητής περιέχει τα 32 λιγότερα

29

Page 38: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

σηµαντικά bits της mantissa, ενώ ο περιττά αριθµηµένος καταχωρητής περιέχει τα 20 περισσότερο σηµαντικότερα bits της mantissa, τα 11 ψηφία του πολωµένου εκθέτη και το bit προσήµου.

2.6 Περιγραφή του Enhanced Direct Memory Access (EDMA) Controller Ο EDMA ελεγκτής διαχειρίζεται όλες τις µεταφορές δεδοµένων µεταξύ του L2 cache/memory ελεγκτή και των περιφεριακών συσκευών που υπάρχουν στο ολοκληρωµένο του επεξεργαστή. Αυτές οι µεταφορές δεδοµένων περιλαµβάνουν εξυπηρετήσεις cache, non-cacheable προσβάσεις στη µνήµη, προγραµµατιζόµενες από το χρήστη µεταφορές και προσβάσεις από τον host. Ο EDMA έχει εµπλουτιστεί µε χαρακτηριστικά που τον κάνουν περισσότερο αποδοτικό από τον DMA, όπως ότι διαθέτει 16 κανάλια µε προγραµµατιζόµενη προτεραιότητα και την ικανότητα να συνδέει και να οµαδοποιεί τις µεταφορές δεδοµένων. Ο EDMA επιτρέπει µεταφορά δεδοµένων προς/από οποιοδήποτε διευθυνσιοδοτούµενο χώρο µνήµης συµπεριλαµβανοµένης της L2 SRAM, των περιφερειακών και της εξωτερικής µνήµης. Ο EDMA ελεγκτής αποτελείται από:

• Καταχωρητές γεγονότων και διακοπών επεξεργασίας (Event registers, interrupt processing registers) • Κωδικοποιητή γεγονότων (event encoder) • Parameter RAM (PaRAM) • Υλικό παραγωγής διευθύνσεων (Address generation hardware)

Παρακάτω παρατίθεται το αναλυτικό block διάγραµµα του EDMA ελεγκτή:

30

Page 39: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.3 : Σχηµατικό διάγραµµα του ελεγκτή EDMA Τα EDMA γεγονότα συλλέγονται στον καταχωρητή γεγονότων (event register). Ένα γεγονός είναι ουσιαστικά ένα σήµα συγχρονισµού το οποίο ενεργοποιεί ένα κανάλι EDMA για να αρχίσει τη µεταφορά. Εάν τα γεγονότα συµβούν ταυτόχρονα, τότε, τη σύγκρουση διευθετεί ο κωδικοποιητής γεγονότων (event encoder). Οι παράµετροι αναφοράς που αντιστοιχούν σε κάθε γεγονός αποθηκεύονται στην EDMA parameter RAM και στη συνέχεια περνούν δια µέσου του address generation hardware, ο οποίος διευθυνσιοδοτεί την EMIF και/ή τα περιφερειακά για να πραγµατοποιηθούν οι αναγκαίες διεκπεραιώσεις εγγραφής και ανάγνωσης. Ο EDMA έχει την ικανότητα να πραγµατοποιεί γρήγορες και αποδοτικές µεταφορές µε το να δέχεται µια αίτηση quick DMA (QDMA) από τη CPU. Η QDMA µεταφορά χρησιµοποιείται καλύτερα σε εφαρµογές που απαιτούν γρήγορες µεταφορές δεδοµένων όπως αιτήσεις δεδοµένων σε έναν µικρό loop αλγόριθµο.

2.6.1 Ορολογία για τον EDMA Στη συνέχεια ακολουθούν κάποιοι ορισµοί όρων που θα βοηθήσουν στην περαιτέρω κατανόηση του κειµένου:

31

Page 40: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Μεταφορά στοιχείου (Element transfer) Η µεταφορά ενός απλού στοιχείου δεδοµένου από την πηγή στον προορισµό. Κάθε στοιχείο, εάν απαιτείται, µπορεί να µεταφερθεί µε βάση το γεγονός συγχρονισµού. Ο όρος “element transfer” χρησιµοποιείται σε συνδυασµό µε την µονοδιάστατη µεταφορά που θα περιγραφεί παρακάτω. Πλαίσιο (Frame) Μία οµάδα από στοιχεία (elements) αποτελεί ένα frame. Τα στοιχεία αυτά µπορούν να είναι είτε σε συνεχόµενες διευθύνσεις είτε όχι. Ένα frame µπορεί να µεταφερθεί µε ή χωρίς τη βοήθεια ενός γεγονότος συγχρονισµού. Ο όρος frame χρησιµοποιείται και αυτός σε συνδυασµό µε την µονοδιάστατη µεταφορά που θα περιγραφεί παρακάτω. Πίνακας (Array) Ένα σύνολο από συνεχόµενα στοιχεία αποτελεί ένα πίνακα. Ο όρος “array” χρησιµοποιείται σε συνδυασµό µε τις δισδιάστατες µεταφορές που και σε αυτές θα αναφερθούν παρακάτω. Block Ένα σύνολο από πίνακες ή πλαίσια αποτελούν ένα block. Για µονοδιάστατες µεταφορές ένα σύνολο από πλαίσια σχηµατίζουν ένα block, ενώ για δισδιάστατες µεταφορές ένα σύνολο από πίνακες σχηµατίζουν ένα block. Μονοδιάστατη µεταφορά (1-D transfer) Ένα σύνολο από πλαίσια, όπως είπαµε, αποτελούν ένα µονοδιάστατο (1-D) block. Ο αριθµός των πλαισίων µέσα στο block (που καθορίζονται από το πεδίο FRMCNT) παίρνει τιµή µεταξύ 1 και 65536. Ο αριθµός των στοιχείων για κάθε πλαίσιο µπορεί να είναι µεταξύ 1 και 65536. Κάθε φορά µεταφέρονται είτε στοιχεία του frame είτε ολόκληρο το frame. ∆ισδιάστατη µεταφορά (2-D transfer) Ένα σύνολο από πίνακες αποτελούν ένα δισδιάστατο (2-D) block. Η πρώτη διάσταση αντιπροσωπεύει τον αριθµό των συνεχόµενων στοιχείων στο πίνακα και η δεύτερη διάσταση εκφράζει τον αριθµό του αντίστοιχου πίνακα. Ο αριθµός των πινάκων σε ένα block (καθορίζεται από το πεδίο FRMCNT) κυµαίνεται µεταξύ 1 και 65536. Κάθε φορά µεταφέρονται είτε κάποιοι πίνακες είτε ολόκληρο το block.

32

Page 41: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.2 Καταχωρητές Ελέγχου και Επεξεργασία Γεγονότων Καθένα από τα 16 κανάλια του EDMA έχει ένα συγκεκριµένο γεγονός συχγρονισµού που σχετίζεται µ’ αυτό. Τα γεγονότα αυτά ενεργοποιούν µία µεταφορά δεδοµένων. Παρατίθεται η λίστα µε τους καταχωρητές ελέγχου που επεξεργάζονται τα διάφορα γεγονότα :

Σχήµα 2.4 : Καταχωρητές Ελέγχου EDMA

Εκτός από τον καταχωρητή γεγονότων , ο ελεγκτής EDMA παρέχει τη δυνατότητα στο χρήστη να ενεργοποιεί και να απενεργοποιεί γεγονότα. Οποιαδήποτε από τα 16 bits γεγονότων του 32-bit EER µπορεί να τεθεί στο 1 για να ενεργοποιήσει το ανάλογο γεγονός, όπως φαίνεται παρακάτω :

EER

Όλα τα γεγονότα, ακόµα κι αν είναι απενεργοποιηµένα, εντοπίζονται από τον ER καταχωρητή.

ER

33

Page 42: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Για να γίνει clear ένα γεγονός από αυτόν, µπορούν να χρησιµοποιηθούν δύο τρόποι. Αν το γεγονός έχει ενεργοποιηθεί στον EER, το αντίστοιχο bit του γεγονότος στον ER θα πρέπει να τεθεί (clear) µόλις η EDMA επικυρώσει µια αίτηση µετάδοσης από αυτό. Εναλλακτικά, αν το γεγονός έχει απενεργοποιηθεί στον EER, η CPU µπορεί να καθαρίσει το γεγονός µέσω του ECR :

ECR

Τοποθετώντας 1 σε οποιοδήποτε από τα bits του, απενεργοποιείται το αντίστοιχο γεγονός ενώ µε 0 δε συµβαίνει τίποτα. Η παραπάνω δυνατότητα επιτρέπει στη CPU να απεµπλακεί σε περίπτωση λάθους ή κωλύµατος. Η CPU µπορεί, επίσης, να θέσει γεγονότα µέσω του ESR, η δοµή του οποίου είναι η ακόλουθη :

ESR

Θέτοντας 1 σε κάποιο από τα 16 bits του, τίθεται στο 1 το αντίστοιχο bit του ER. Πρόκειται για ένα καλό εργαλείο εκσφαλµάτωσης που επιτρέπει στη CPU να επικυρώσει EDMA αιτήσεις στο σύστηµα. Οι µεταφορές αυτές, βέβαια, είναι µη συγχρονισµένες.

2.6.3 Κωδικοποιητής Γεγονότων Αναλαµβάνει τη διευθέτηση της σειράς επεξεργασίας γεγονότων που συµβαίνουν ταυτόχρονα. Ο µηχανισµός αυτός ταξινοµεί τα ταυτόχρονα γεγονότα και δεν ασχολείται µε την προτεραιότητά τους. Η πραγµατική προτεραιότητα µιας µεταφοράς καθορίζεται από τις παραµέτρους EDMA που αποθηκεύονται στη PaRAM του EDMA ελεγκτή.

34

Page 43: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.4 Μνήµη RAM παραµέτρων (PaRAM) Ο ελεγκτής EDMA είναι σχεδιασµένος µε βάση µια αρχιτεκτονική RAM. Η PaRAM χρησιµοποιείται για την αποθήκευση των παραµέτρων που ορίζει µια µεταφορά EDMA. Έχει µέγεθος 2ΚΒ και χρησιµοποιείται για τις παραµέτρους και των 16 γεγονότων. Όταν εντοπιστεί ένα γεγονός, οι παράµετροί του διαβάζονται από µία από τις 16 κορυφαίες εγγραφές (top entries) της PaRAM. Έπειτα, στέλνονται στο υλικό παραγωγής διεύθυνσης. Η µνήµη αυτή, όπως φαίνεται στον Πίνακα 2.5 αποτελείται από :

• 16 εγγραφές παραµέτρων µετάδοσης(parameter entries) για τα 16 EDMA γεγονότα. Κάθε είσοδος είναι έξι λέξεων ή 24Β, συνολικά 384Β. Το εύρος διευθύνσεων είναι από 01A0 0000h έως 01A0 017Fh.

• 69 σύνολα παραµέτρων µετάδοσης που χρησιµοποιούνται για τη σύνδεση των γεγονότων. Κάθε σύνολο είναι µεγέθους 24Β, και σε σύνολο 1656Β. Το εύρος διευθύνσεων είναι από 01A0 0180h έως 01A0 07F7h.

• 8Β αχρησιµοποίητης µνήµης που µπορούν να χρησιµοποιηθούν ως scratch pad area. Το εύρος διευθύνσεων είναι από 01A0 07F8h έως 01A0 07FFh.

35

Page 44: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

36

Page 45: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Πίνακας 2.1 : Περιεχόµενα PaRAM

2.6.5 EDMA Παράµετροι Μεταφοράς Κάθε εγγραφή παραµέτρου οργανώνεται σε έξι λέξεις των 32-bit συνολικά δηλαδή 192 bits(Σχηµα 2.6). Η πρόσβαση σε αυτές γίνεται µόνο µέσω του περιφερειακού διαύλου των 32-bit, οπως

37

Page 46: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.5 : Πεδία Παραµέτρου της PaRAM

2.6.5.1 Παράµετρος Επιλογών (OPT) Το options parameter (OPT) είναι ένα πεδίο των 32-bit το οποίο καθορίζει πλήρως τον τρόπο µε τον οποίο πρόκειται να γίνει η µεταφορά δεδοµένων. Με βάση τις τιµές του συγκεκριµένου πεδίου προσδιορίζονται όλα εκείνα τα χαρακτηριστικά που απαιτούνται για να ρυθµιστεί ο τρόπος εκτέλεσης και επεξεργασίας των γεγονότων (events). Για παράδειγµα, προσδιορίζει τα επίπεδα προτεραιότητας των EDMA events(PRI), το µέγεθος των στοιχείων (ESIZE), τη διάσταση της πηγής και του προορισµού αντίστοιχα(2DS, 2DD), τον τρόπο συγχρονισµού των frames(FS) και άλλα χαρακτηριστικα που παρουσιάζονται στην µορφή των πεδίων του options parameter που φαινεται στο Σχηµα 2.7.

38

Page 47: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

39

Page 48: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.6 : Παράµετρος ΟPT

2.6.5.2 ∆ιεύθυνση Πηγής / Προορισµου (SRC/DST) To πεδίο των 32-bit που καθορίζει τις διευθύνσεις της πηγής και του προορισµού περιέχει την αρχική διεύθυνση για τη πηγή και τον προορισµό αντίστοιχα. Οι διευθύνσεις SRC/DST µπορούν να τροποποιηθούν χρησιµοποιώντας τις τιµές των πεδίων SUM και DUM που περιέχονται στις παραµέτρους επιλογής (options parameter) (δες Σχηµα 2.6).

40

Page 49: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.5.3 Μετρητής Στοιχείων (ELECNT) Πρόκειται για µια 16-bit µη προσηµασµένη τιµή που καθορίζει τον αριθµό των στοιχείων σ’ένα πλαισιο (frame) (για µονοδιάστατες µεταφορές) ή σ’ένα πίνακα (array) (για δισδιάστατες µεταφορές). Αποδεκτή είναι οποιαδήποτε τιµή µεταξύ 1 και 65535. Συνεπώς, ο µέγιστος αριθµός στοιχείων σ’ένα πλαίσιο είναι 65535. Αν ELECNT=0, δεν εκτελούνται µεταφορές.

2.6.5.4 Μετρητής Πλαισίου / Πίνακα (FRMCNT) Πρόκειται, επίσης, για µια 16-bit µη προσηµασµένη τιµή που καθορίζει τον αριθµό των πλαισίων σ’ένα 1-D block ή τον αριθµό των πινάκων σ’ένα 2-D block. O µέγιστος αριθµός των πλαισίων / πινάκων σ’ένα block είναι 65536.

2.6.5.5 Περιεχόµενα ∆είκτη στοιχείου / ∆είκτη πλαισίου (ELEIDX / FRMIDX) Οι 16-bit προσηµασµένες τιµές των πεδίων αυτών χρησιµοποιούνται για την τροποποίηση διευθύνσεων. Πιο συγκεκριµένα χρησιµοποιούνται από τον EDMA για να ανανεώσουν τη διεύθυνση ανάλογα µε τον τύπο της µεταφοράς που έχει επιλεχθεί (1-D ή 2-D), τη τιµή του πεδίου FS καθώς και των SUM/DUM πεδίων. Ο όρος ‘frame index’ αντιστοιχεί σε 1-D µεταφορές, ενώ ο όρος ‘array index’ αντιστοιχεί σε 2-D µεταφορές. Οι SRC/DST διευθύνσεις τροποποιούνται από ένα δείκτη του οποίου η τιµή κυµαίνεται µεταξύ –32768 και 32767. Το element index καθορίζει ένα offset διεύθυνσης για το επόµενο στοιχείο µέσα στο ίδιο frame και χρησιµοποιείται µόνο για 1-D µεταφορές. Αυτό συµβαίνει γιατί οι 2-D µεταφορές δεν επιτρέπουν να υπάρχει χώρος µεταξύ δύο στοιχείων και έτσι ο όρος ‘array’ χρησιµοποιείται για να ορίσει ένα σύνολο από συνεχόµενα στοιχεία. To frame/array index µε τη σειρά του καθορίζει ένα offset για το επόµενο frame/array µέσα στο ίδιο block. 2.6.5.6 Επαναφόρτωση Μετρητή Στοιχείου (ELERLD) Στο πεδίο αυτό οι 16-bit µη προσηµασµένες τιµές χρησιµοποιούνται για να φορτωθεί εκ νέου η τιµή του ELECNT µόλις η µεταφορά και του τελευταίου στοιχείου ολοκληρωθεί. Το element count reload χρησιµοποιείται µόνο για µονοδιάστατες µεταφορές που είναι element synchronized (FS = 0) µιας και ο EDMA πρέπει να κρατήσει πληροφορία για τη διεύθυνση του επόµενου στοιχείου χρησιµοποιώντας την τιµή του πεδίου ΕLECNT. Αυτή η ενέργεια είναι απαραίτητη για multi-frame EDMA µεταφορές, όπου η τιµή του FRMCNT είναι θετική.

41

Page 50: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.5.7 ∆ιεύθυνση Σύνδεσης (LINK) Ο EDMA ελεγκτής διατηρεί έναν µηχανισµό για να συνδέει τις EDMA µεταφορές. Η 16-bit link address που ορίζεται στην PaRAM, καθορίζει εκείνη την 16-bit διεύθυνση στο PaRAM από την οποία ο EDMA θα φορτώσει ή θα επαναφορτώσει τις παραµέτρους του επόµενου γεγονότος στην υπάρχουσα αλυσίδα γεγονότων. Οι reload παράµετροι αποθηκεύονται στις διευθύνσεις από 01Α0 0180h έως 01Α0 07F7h. Είναι ευθύνη του χρήστη να επιβεβαιώσει ότι η link address είναι τέτοιου µεγέθους έτσι ώστε να µην υπερβαίνει το µέγεθος των 24-bytes τα οποία είναι διαθέσιµα για αυτήν. Σε περίπτωση που παραβιαστεί το καθορισµένο αυτό όριο των 24-bytes η επόµενη λειτουργία θα είναι απροσδιόριστη. Εκτός από το χώρο που χρησιµοποιείται για την παράµετρο reload, η εγγραφή οποιουδήποτε αχρησιµοποίητου EDMA καναλιού µπορεί να χρησιµοποιηθεί και αυτή για linking. Ο ΕDMA µπορεί να έχει πάντα µέχρι και 85 προγραµµατισµένες εγγραφές ανεξάρτητα από τον αριθµό των καναλιών που πραγµατικά χρησιµοποιούνται.

2.6.6 Αρχικοποίηση EDMA Μεταφοράς Υπάρχουν δύο τρόποι για την αρχικοποίηση µιας µεταφοράς χρησιµοποιώντας τον EDMA:

1) CPU-initiated EDMA ή unsynchronized EDMA : Η CPU µπορεί να θέσει τον ESR καταχωρητή, ώστε να πυροδοτήσει µια EDMA µεταφορά. Γράφοντας 1 σε κάποια θέση του, ενεργοποιείται το αντίστοιχο EDMA γεγονός. Οι παράµετροι αυτού που βρίσκονται στην PaRAM, µεταφέρονται στο υλικό παραγωγής διεύθυνσης, το οποίο θα διευθετήσει την αιτούµενη πρόσβαση στο EMIF, στην L2 ή στα περιφερειακά. Πρόκειται για µη συγχρονισµένες µεταφορές δεδοµένων. Σ’ αυτήν την περίπτωση δε χρειάζεται να τεθεί το κατάλληλο bit του EΕR καταχωρητή κι αυτό διότι µια εγγραφή της CPU στον ESR αντιµετωπίζεται ως γεγονός πραγµατικού χρόνου.

2) Event-triggered EDMA : Όταν εντοπιστεί ένα γεγονός από τον κωδικοποιητή, λόγω της ενεργοποίησης του αντίστοιχου bit του ER, οι παράµετροί του µεταφέρονται στο υλικό παραγωγής διεύθυνσης, ώστε να γίνουν οι αιτούµενες προσβάσεις. Πρέπει, βέβαια, το γεγονός αυτό να έχει ενεργοποιηθεί κι από τη CPU. Γράφοντας 1 στο αντίστοιχο bit του EER, ενεργοποιείται το γεγονός. Εναλλακτικά, αυτό ενεργοποιείται όταν τεθεί ο ER κι ας µην έχει τεθεί ο EER. Η EDMA µεταφορά, που σχετίζεται µ’ αυτό το γεγονός, λαµβάνει χώρα µόλις αυτό ενεργοποιηθεί στον EER. Επίσης, η ολοκλήρωση µια µεταφοράς µπορεί να εκκινήσει µια άλλη µέσω αλυσίδας (chaining) και του CCER.

42

Page 51: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.7 Συγχρονισµός των EDMA Μεταφορών Τα 16 EDMA κανάλια συνδέονται µ’ένα συγκεκριµένο γεγονός συγχρονισµού. Ο συγχρονισµός επιτρέπει την ενεργοποίηση µεταφορών από γεγονότα προερχόµενα από περιφερειακά, διακοπές από εξωτερικό υλικό ή από ένα γεγονός ολοκλήρωσης µεταφοράς. Ένα κανάλι ζητά µια µεταφορά µόνο όταν λάβει το γεγονός που σχετίζεται µ’αυτό ή όταν το συγχρονίσει η CPU γράφοντας στον ESR.

Σχήµα 2.7 : Γεγονότα Συγχρονισµού EDMA Καναλιού

Καθένα από τα 16 κανάλια σχετίζεται µ’ έναν συγκεκριµένο τύπο γεγονότων. Για παράδειγµα, αν το bit 4 του EER γίνει 1, τότε µια εξωτερική διακοπή στο EXT_INT4 pin αρχικοποιεί µια µεταφορά στο κανάλι 4. Τα κανάλια 8-11 χρησιµοποιούνατι µόνο για αλυσίδες µεταφορών.

2.6.8 Τύποι EDMA Μεταφορών Οι υποστηριζόµενοι τύποι µεταφορών είναι οι ακόλουθοι :

43

Page 52: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

1-Dimensional Μεταφορές : ένα σύνολο στοιχείων, το πλήθος του οποίου καθορίζεται από το ELECNT πεδίο, δηµιουργούν ένα frame. Κάθε µεταφορά στοιχείου µέσα στο frame οδηγείται από το R/WSYNC γεγονός (FS=0). Τα στοιχεία µπορεί να είναι συνεχόµενα ή όχι. Για multiframe µεταφορές, επαναφορτώνεται το ELECNT πεδίο όταν τελειώσει η µεταφορά ενός frame και χρησιµοποιείται και το πεδίο FRMCNT.

1) R/WSYNC 1-D Μεταφορά (FS=0) :

Πρόκειται για Frame Count = 3 (FC) µε κάθε frame να έχει n στοιχεία (EC) (16-bit µη προσηµασµένες τιµές). Κάθε στοιχείο εντός του frame µεταφέρεται από τη διεύθυνση πηγής σ’ αυτήν του προορισµού µόλις ληφθεί το γεγονός συγχρονισµού (sync) του συγκεκριµένου καναλιού. Έπειτα, το κανάλι στέλνει µια αίτηση προς εξυπηρέτηση στην ΕDMA. Ο EDMA ελεγκτής µειώνει το EC (Element Count) κατά 1 στην PaRAM. Όταν συµβεί ένα sync γεγονός και το EC = 1, δηλαδή, πρόκειται για το τελευταίο στοιχείο του frame, ο ελεγκτής στέλνει, πρώτα, την αίτηση µεταφοράς. Μετά, επαναφορτώνεται το EC και το FC µειώνεται κατά 1. Το περιεχόµενο στοιχείου που ορίζεται από το χρήστη (EIX) χρησιµοποιείται για τον υπολογισµό της διεύθυνσης του επόµενου στοιχείου στο frame. Οµοίως, το περιεχόµενο του frame, (FΙΧ), προστίθεται στη διεύθυνση του τελευταίου στοιχείου µέσα στο frame, ώστε να παραχθεί η διεύθυνση εκκίνησης του επόµενου frame. Η τροποποίηση της διεύθυνσης και του µετρητή εξαρτάται από τα update modes που επελέγησαν. (EIX, FIX : 16-bit προσηµασµένες τιµές) . 2) Frame Synchronized 1-D Μεταφορά (FS=1) :

44

Page 53: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Η µεταφορά στοιχείου σε κάθε frame δεν είναι συγχρονισµένη, αλλά κάθε µεταφορά frame συγχρονίζεται από το γεγονός καναλιού. Το FS=1, όταν πρόκειται για µεταφορά συγχρονισµού frame. Το EIX χρησιµοποιείται για να κλιµακώσει τα δεδοµένα µέσα σ’ ένα frame. Το FIX χρησιµοποιείται όπως και πριν.

2-Dimensional Μεταφορές : χρησιµοποιούνται σε εφαρµογές εικόνας, όπου συνεχόµενα στοιχεία, ένα array, χρειάζεται να µεταφερθούν κατά τη διάρκεια ενός sync γεγονότος. Συνεπώς, δεν υπάρχει κενό ή δεικτοδότηση των στοιχείων, οπότε και δε χρησιµοποιείται το EIX. Η 1η διάσταση της µετάδοσης είναι ο αριθµός των στοιχείων στο array κι η 2η το σύνολο των array, που καλείται και block.

1) R/WSYNC 2-D Μεταφορά (FS=0) :

Πρόκειται για µια read/write συγχρονισµένη µεταφορά χωρίς συγχρονισµό frame. Το R/WSYNC είναι το γεγονός που προκαλεί τη µεταφορά ενός array. Το FC µειώνεται κατά 1

45

Page 54: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

όταν µεταφέρεται ένα array. Το frame index προστίθεται στη διεύθυνση εκκίνησης ενός array, ώστε να παραχθεί η διεύθυνση εκκίνησης του επόµενου array, ανάλογα µε την επιλεγόµενη update mode (SUM/DUM). 2) Frame Synchronized 2-D Μεταφορά (FS=1) :

Το συνεχόµενο σύνολο στοιχείων (EIX=0) αποτελεί ένα array και το σύνολο των arrays αποτελούν ένα 2-D block. Όταν συµβεί ένα γεγονός και το FS=1, µεταφέρεται ολόκληρο το block. Το FIX λειτουργεί όπως και πριν. Ο µέγιστος αριθµός στοιχείων σε ένα frame ή array είναι 65535 κι ο µέγιστος αριθµός από frames σε ένα block είναι 65536.

2.6.9 Ενηµέρωση των Μετρητών Στοιχείου (ELECNT) και Πλαισίου / Πίνακα (FRMCNT) Οι µετρητές ενηµερώνονται ως ακολούθως :

Σχήµα 2.8 : Ενηµέρωση Μετρητών

46

Page 55: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.10 Element Count Reload (ECRLD) Πρόκειται για ειδική περίπτωση επαναφόρτωσης του EC για R/WSYNC 1-D µεταφορές (FS=0). Σ’ αυτήν την περίπτωση, η διεύθυνση ενηµερώνεται από το ESIZE ή το EIX/FIX ανάλογα µε το SUM/DUM πεδίο. Όταν συµβεί ένα R/WSYNC γεγονός στο τέλος του frame (EC=1) και FC διάφορο του µηδενός, ο ελεγκτής στέλνει την αίτηση µεταφοράς κι επαναφορτώνει το EC από το ECRLD πεδίο της PaRAM. Σ’ όλες τις άλλες περιπτώσεις δε χρησιµοποιείται το παραπάνω πεδίο, αφού το υλικό παραγωγής διεύθυνσης εντοπίζει τη διεύθυνση άµεσα.

2.6.11 SRC/DST Address Updates Ανάλογα µε τις τιµές των πεδίων SUM/DUM στη λέξη επιλογών των παραµέτρων µετάδοσης, µπορούν να τροποποιηθούν οι διευθύνσεις πηγής και προορισµού. Ο EDMA ελεγκτής αναλαµβάνει αυτή τη λειτουργία. Η επιλογή της τροποποίησης εξαρτάται από το αν έχει επιλεγεί frame sync ή 2-D µεταφορά. Οι τροποποιήσεις συµβαίνουν όταν ολοκληρωθεί η τρέχουσα αίτηση µεταφοράς. Όταν είτε η πηγή είτε ο προορισµός είναι µια 2-D µεταφορά κι αυτή είναι frame συγχρονισµένη, ολόκληρο το block των δεδοµένων µεταφέρεται σ’ ένα frame sync γεγονός, οπότε δε χρειάζεται ενηµέρωση διεύθυνσης. Αν LINK=1 και ισχύουν οι συνθήκες σύνδεσης, επίσης, δε χρειάζεται ενηµέρωση διεύθυνσης. Οι δυνατοι τρόποι ανανέωσης διεύθυνσης για µια µεταφορά είναι οι ακόλουθοι :

Σχήµα 2.9 : Τρόποι Ανανέωσης ∆ιεύθυνσης

47

Page 56: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.12 Παραγωγή διακοπών από το EDMA Ο EDMA ελεγκτής είναι υπεύθυνος για την παραγωγή διακοπών στη CPU, όταν κάποιο κανάλι έχει ολοκληρώσει τη λειτουργία του. Παράγει τη διακοπή EDMA_INT στη CPU και για τα 16 κανάλια. Όταν το TCINT bit είναι 1 για ένα κανάλι και το TCC (Transfer Complete Code) έχει παραχθεί, ο ελεγκτής θέτει ένα bit στον CIPR (Channel Interrupt Pending Register) :

Για να παραχθεί η διακοπή EDMA_INT στη CPU, πρέπει να ενεργοποιηθεί το bit στον CIER (Channel Interrupt Enable Register) :

Το TCC πεδίο παίρνει τιµές από 0000b µέχρι 1111b. Υπάρχει άµεση αντιστοίχιση µε τα CIPR bits, όπως φαίνεται παρακάτω :

48

Page 57: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.10 : Αντιστοίχιση TCC και CIPR

Για παράδειγµα, αν TCC=1100b, το CIPR[12]=1 µετά την ολοκλήρωση της µεταφοράς και παράγεται µια CPU διακοπή µόνο αν CIER[12]=1. Ο χρήστης µπορεί να προγραµµατίσει τον TCC να πάρει οποιαδήποτε τιµή στο παραπάνω εύρος, οπότε δε χρειάζεται να υπάρχει άµεση συσχέτιση µεταξύ της τιµής του και των καναλιών. Μ’ αυτόν τον τρόπο, είναι εφικτό πολλά κανάλια να έχουν την ίδια τιµή στον TCC, προκαλώντας τη CPU να εκτελεί την ίδια ISR για πολλά κανάλια. Γενικά , απαιτούνται τα παρακάτω βήµατα για τη διαµόρφωση της EDMA για ένα κανάλι έτσι ώστε να προκληθεί µια διακοπή στη CPU :

1. Τίθεται το CIEn στο ‘1’ στον καταχωρητή CIER. 2. Τίθεται το TCINT στο ‘1’ στις επιλογές καναλιού. 3. Τίθεται το TCC στο n στις επιλογές καναλιού.

2.6.13 Σύνδεση EDMA Μεταφορών Η σύνδεση των παραµέτρων λαµβάνει χώρα ή όχι σύµφωνα µε τα εξής :

49

Page 58: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.11 : Συνθήκες Τερµατισµού Καναλιού

Εφόσον η PaRAM είναι 2048Β, επιτρέπει µέχρι και 69 εισόδους επαναφόρτωσης και 16 εισόδους παραµέτρων γεγονότων. ∆εν υπάρχει όριο στο πλήθος των συνδεδεµένων µεταφορών, αλλά η τελευταία είσοδος παραµέτρου µεταφοράς πρέπει να έχει LINK=0, ώστε µετά αυτή τη µεταφορά να σταµατήσουν οι συνδέσεις. Η τελευταία είσοδος πρέπει να συνδεθεί σ’ένα NULL σύνολο παραµέτρων. Η σύνδεση µιας εισόδου µε τον εαυτό της αντιγράφει τη συµπεριφορά της αυτοαρχικοποίησης διευκολύνοντας τη χρήση κυκλικής στοίβασης και επαναλαµβανόµενων µεταφορών. Με την εξάντληση της τρεχούσης εισόδου, το σύνολο παραµέτρων επαναφορτώνεται κι επανεκκινείται η µεταφορά. 2.6.14 Chaining EDMA Καναλιών µέσω ενός Γεγονότος Οι τιµές 8, 9, 10 και 11 του TCC µπορούν να χρησιµοποιηθούν από το χρήστη για να προκαλέσουν τη µεταφορά από ένα άλλο κανάλι. Ο σκοπός είναι η σύνδεση σε µορφή αλυσίδας πολλών καναλιών από ένα γεγονός που οδηγείται από εξωτερική ή περιφερειακή συσκευή. Για να είναι εφικτή η λειτουργία αυτή, πρέπει να τεθεί το TCINT=1. Επίσης, πρέπει να τεθεί και το αντίστοιχο bit του CCER (Channel Chain Enable Register) :

Για παράδειγµα, αν TCC=1000b και CCER[8]=1 για το κανάλι 4, µια εξωτερική διακοπή EXT_INT4 αρχικοποιεί µια µεταφορά. Αφού ολοκληρώσει το κανάλι 4, ο ελεγκτής αρχικοποιεί την επόµενη µεταφορά (TCINT=1) από το κανάλι 8. Αυτό γιατί το TCC=1000b είναι το γεγονός συγχρονισµού για το κανάλι 8. Τίθεται το αντίστοιχο bit 8 του CIPR, αφού ολοκληρώσει το κανάλι 4 και παράγεται το EDMA_INT στη CPU. Το chaining διαφέρει από το linking. Η δεύτερη επιλογή επαναφορτώνει τις τρέχουσες παραµέτρους του καναλιού µ’ αυτές της σύνδεσης. Η πρώτη, όµως, επιλογή ούτε τροποποιεί ούτε ανανεώνει τις παραµέτρους καναλιού. Απλά, παρέχει ένα γεγονός συγχρονισµού στο επόµενο κανάλι της αλυσίδας.

50

Page 59: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.6.15 ∆ιαιτησία και επεξεργασία προτεραιοτήτων Τα 16 κανάλια µπορούν να έχουν προγραµµατιζόµενη προτεραιότητα στα δύο κατώτερα επίπεδα. Ο EDMA ελεγκτής και το HPI επικυρώνουν αιτήσεις όλων των παρεχόµενων προτεραιοτήτων :

Σχήµα 2.12 : Προτεραιότητες

Οι συσκευές αίτησης του ‘C6711 είναι ο L2 ελεγκτής, ο EDMA και το HPI. Το HPI κι ο L2 συνδέονται άµεσα στο υλικό παραγωγής διεύθυνσης, οπότε δε χρειάζεται η χρήση της PaRAM για αιτήσεις πρόσβασης από αυτές. Οι πόροι για τους ποικίλους αιτούντες συµπεριλαµβάνουν τον L2 SRAM χώρο, τους ποικίλους περιφερειακούς καταχωρητές και το χώρο εξωτερικής µνήµης που διαχειρίζονται από το EMIF. Σε περιπτώσεις ανταγωνισµού εξετάζεται το P bit του L2CFG καταχωρητή. Αν P=1 η αίτηση υπερνικά τη CPU. Ο PQSR (Priority Queue Status Register) δείχνει αν η ουρά αιτήσεων µεταφοράς είναι άδεια από τα τρία επίπεδα προτεραιότητας.

Οι αιτήσεις που επικυρώνονται είναι αυτές µε επίπεδο προτεραιότητας 1 και 2. Το επίπεδο 0, της επείγουσας προτεραιότητας, χρησιµοποιείται για τις L2 αιτήσεις. Τα bits κατάστασης PQ[2:0] στον παραπάνω καταχωρητή παρέχουν την κατάσταση των τριών ουρών. Τα τρία αυτά, τελευταία LSBs, αν τεθούν στο 1 σηµαίνει ότι δεν εκκρεµεί καµία αίτηση σε αυτό το επίπεδο προτεραιότητας. Αυτά τα bits χρησιµοποιούνται κυρίως για προσοµοίωση, εναλλαγή περιεχοµένου για πολυσταδιακές εφαρµογές και επικύρωση αιτήσεων µε υψηλότερη προτεραιότητα.

51

Page 60: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.7 Πολυκαναλική Αποµονωµένη Σειριακή Θύρα (Multichannel Buffered Serial Port) To McBSP παρέχει τις εξής δυνατότητες :

• Full-duplex επικοινωνία. • Double-buffered καταχωρητές δεδοµένων, που επιτρέπουν συνεχόµενα stream

δεδοµένων. • Ανεξάρτητο framing και ρολόι για αποστολή και λήψη. • Άµεση διεπαφή σε industry-standard codecs, chips αναλογικής διεπαφής (AICs),

κι άλλες σειριακά συνδεµένες A/D και D/A συσκευές. • Εξωτερικό ή εσωτερικό ρολόι µετατόπισης, προγραµµατιζόµενο ρολόι µετατόπισης

συχνότητας για µεταφορά δεδοµένων. • ∆υνατότητα autobuffering µέσω του 5-channel DMA ελεγκτή.

Επίσης, το McBSP παρέχει δυνατότητες :

• Άµεσης διεπαφής σε : T1/E1 framers MVIP switching compatible και ST-BUS compliant συσκευές, όπως : MVIP framers H.100 framers SCSA framers IOM-2 compliant συσκευές AC97 compliant συσκευές IIS compliant devices SPIΤΜ συσκευές

• Multichannel αποστολή και λήψη µέχρι και για 128 κανάλια. • Ευρεία επιλογή µεγέθους δεδοµένων, 8, 12, 16, 20, 24, και 32 bits. • µ-Law και A-Law companding. • 8-bit µεταφορές δεδοµένων µε επιλογή για ποιό από τα LSB, MSB είναι 1ο. • Προγραµµατιζόµενη πολικότητα τόσο για frame συγχρονισµό όσο και για τα ρολόγια

δεδοµένων. • Υψηλά προγραµµατιζόµενο εσωτερικό ρολόι και παραγωγή frame.

52

Page 61: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.7.1 McBSP ∆ιεπαφή Σηµάτων και Καταχωρητών Το McBSP αποτελείται από διαύλους δεδοµένων και ελέγχου που συνδέονται στις εξωτερικές συσκευές. Τα δεδοµένα επικοινωνούν µ’ αυτές µέσω ξεχωριστών pins για αποστολή και λήψη. Η πληροφορία ελέγχου - συγχρονισµού frame και ρολογιού- γίνεται µέσω τεσσάρων διαφορετικών pins. Η συσκευή επικοινωνεί µε το McBSP µέσω καταχωρητών ελέγχου εύρους 32-bit που προσπελαύνονται από τον εσωτερικό δίαυλο περιφερειακών. Ακολουθεί το διάγραµµα του McBSP :

Σχήµα 2.13 : ∆ιάγραµµα McBSP

Η επικοινωνία των δεδοµένων επιτυγχάνεται µέσω του pin αποστολής δεδοµένων (DX) και του pin λήψης δεδοµένων (DR). Η πληροφορία ελέγχου µετακινείται µέσω των CLKX, CLKR, FSX και FSR. Στις συσκευές ’C6000, η επικοινωνία µε το McBSP επιτυγχάνεται µέσω καταχωρητών ελέγχου εύρους 32-bit, οι οποίοι προσπελαύνονται από τον εσωτερικό δίαυλο δεδοµένων. Είτε η CPU είτε ο DMA/EDMA ελεγκτής διαβάζουν τα ληφθέντα δεδοµένα από τον καταχωρητή λήψης δεδοµένων (DRR) και γράφουν τα δεδοµένα προς µετάδοση στον καταχωρητή αποστολής δεδοµένων (DXR). Τα δεδοµένα που γράφτηκαν στον DXR µετατοπίζονται στον DX µέσω του καταχωρητή µετατόπισης αποστολής (XSR). Οµοίως, τα ληφθέντα δεδοµένα από το DR pin µετατοπίζονται εντός του καταχωρητή µετατόπισης λήψης (RSR) κι αντιγράφονται στον

53

Page 62: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

καταχωρητή λήψης buffer (RBR). Έπειτα, αυτός αντιγράφεται στον DRR, ο οποίος µπορεί να διαβαστεί από τη CPU ή τον DMA/EDMA ελεγκτή. Αυτό επιτρέπει ταυτόχρονη µετακίνηση εσωτερικών δεδοµένων και εξωτερική επικοινωνία δεδοµένων. Οι καταχωρητές λήψης κι αποστολής δεδοµένων (DRR και DXR) βρίσκονται σε θέσεις που φαίνονται στον παρακάτω πίνακα. Για τις TMS320C6211/C6711 συσκευές, οι DRR και DXR βρίσκονται, επίσης, στις θέσεις µνήµης 30000000h–33FFFFFFh (McBSP 0) και 34000000h–3FFFFFFFh (McBSP 1). Τόσο η CPU όσο κι ο EDMA ελεγκτής µπορούν να προσπελάσουν τους DRR και DXR. Οποιαδήποτε εγγραφή σε διεύθυνση εντός του εύρους 30000000h – 33FFFFFFh ισοδυναµεί µε εγγραφή στον DXR του McBSP 0 στη θέση 018C0004h. Μια ανάγνωση σε διεύθυνση εντός του εύρους 30000000h–3FFFFFFh ισοδυναµεί µε ανάγνωση από τον DRR του McBSP 0 στη θέση 018C0000h. Οµοίως, µια ανάγνωση σε διεύθυνση εντός του εύρους 34000000h–3FFFFFFFh ισοδυναµεί µε ανάγνωση από τον DRR του McBSP 1 στη θέση 01900000h, ενώ µια εγγραφή σε διεύθυνση εντός του εύρους 34000000h–3FFFFFFFh ισοδυναµεί µε εγγραφή στον DXR του McBSP 1 στη θέση 01900004h. Προσβάσεις στις θέσεις 018Cxxxxh και 0190xxxxh επιτυγχάνονται µέσω του περιφερειακού διαύλου. Γι’ αυτό, συνίσταται ο EDMA να χρησιµοποιεί τις 3xxxxxxxh διευθύνσεις για εξυπηρέτηση της σειριακής θύρας µε σκοπό την απελευθέρωση του περιφερειακού διαύλου. Οι McBSP καταχωρητές ελέγχου τοποθετούνται στις θέσεις 018Cxxxxh/0190xxxxh.

54

Page 63: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Πίνακας 2.2 : ∆ιευθύνσεις των McBSP καταχωρητών

Πίνακας 2.3 : Τρόποι προσπέλασης των McBSP καταχωρητών

Οι υπόλοιποι καταχωρητές που είναι προσπελάσιµοι από τη CPU διαµορφώνουν το µηχανισµό ελέγχου του McBSP. Το block ελέγχου αποτελείται από εσωτερική παραγωγή ρολογιού, frame-συγχρονισµό παραγωγής σήµατος κι έλεγχο αυτών, multichannel επιλογή. Αυτό το block ενηµερώνει τη CPU για σηµαντικές διακοπές και τον ΕDMA ελεγκτή για γεγονότα µέσω τεσσάρων σηµάτων, όπως φαίνεται στους παρακάτω πίνακες.

Πίνακας 2.4 : McBSP σήµατα διεπαφής

Πίνακας 2.5 :Σήµατα διακοπής από τον McBSP

55

Page 64: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.7.2 Προγραµµατισµός Σειριακής Θύρας Ο προγραµµατισµός λειτουργίας της σειριακής θύρας επιτυγχάνεται µέσω του καταχωρητή ελέγχου SPCR και του καταχωρητή ελέγχου pin PCR.

56

Page 65: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

57

Page 66: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.14 : MCBSP - SPCR Καταχωρητής

58

Page 67: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.15 : MCBSP - PCR Καταχωρητής

59

Page 68: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.7.3 Kαταχωρητές Ελέγχου Λήψης κι Αποστολής: RCR and XCR

60

Page 69: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

61

Page 70: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

62

Page 71: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.16 : MCBSP – RCR/XCR Καταχωρητής

2.7.4 Αποστολή και Λήψη ∆εδοµένων Τα ληφθέντα δεδοµένα καταφθάνουν στον DR και µετατοπίζονται στον RSR. Μόλις ληφθεί ένα πλήρες στοιχείο (8, 12, 16, 20, 24 ή 32 bits), ο RSR αντιγράφεται στον RBR µόνο αν ο RBR είναι ελεύθερος. Τότε, ο RBR αντιγράφεται στον DRR εκτός κι αν ο DRR έχει διαβαστεί από τη CPU ή από τον EDMA ελεγκτή. Τα δεδοµένα προς αποστολή γράφονται από τη CPU ή τον EDMA ελεγκτή στον DXR. Αν δεν υπάρχουν δεδοµένα στον XSR, η τιµή στον DXR αντιγράφεται στον

63

Page 72: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

XSR. Αλλιώς, ο DXR αντιγράφεται στον XSR όταν το τελευταίο bit δεδοµένων µετατοπιστεί στο DX. Μετά το συγχρονισµό αποστολής frame, ο XSR στέλνει τα δεδοµένα προς αποστολή στο DX.

2.7.5 Αρχικοποίηση της Σειριακής Θύρας: (R/X)RST, GRST, and RESET Η σειριακή θύρα µπορεί να γίνει reset µε τους ακόλουθους δύο τρόπους :

• To reset συσκευής ( RESET pin είναι χαµηλό) θέτει τον ποµπό, το δέκτη και τη γεννήτρια ρυθµού δειγµατοληψίας στο reset. Όταν µετακινηθεί το reset συσκευής

( 1RESET = ), FRST = GRST = RRST = 0XRST = , κρατώντας τη σειριακή θύρα στη reset κατάσταση.

• Ο ποµπός και δέκτης της σειριακής θύρας µπορούν να γίνουν reset ανεξάρτητα από τα

XRST και RRST bits του SPCR. Η γεννήτρια ρυθµού δειγµατοληψίας γίνεται reset

από το GRST bit του SPCR.

Πίνακας 2.6 :Κατάσταση των ακροδεκτών της McBSP µετά από reset

• Device reset ή McBSP reset : Όταν το McBSP γίνει reset από το reset συσκευής ή το

McBSP reset, γίνεται reset της µηχανής στην αρχική της κατάσταση. Τα bits RFULL, RRDY και RSYNCERR µαζί µε τα bits XEMPTY, XRDY και XSYNCERR καθαρίζονται.

• Device reset : Όταν το McBSP γίνει reset λόγω του reset της συσκευής, η σειριακή θύρα γίνεται reset. Όλα τα pins εισόδου και τα pins τριών καταστάσεων πρέπει να βρίσκονται

64

Page 73: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

σε γνωστή κατάσταση. Το pin εξόδου, DX, είναι σε κατάσταση υψηλής αντίστασης. Αφού, η γεννήτρια ρυθµού δειγµατοληψίας έχει, επίσης, γίνει reset (GRST = 0), το ρολόι της γεννήτριας, CLKG, οδηγείται από µια εσωτερική πηγή ρολογιού διαίρεσης µε το 2 και το frame σήµα, FSG, δεν παράγεται. Η εσωτερική πηγή ρολογιού στις ’C6211/C6711 είναι το CPU ρολόι, ενώ στις ’C6211/C6711 είναι το CPU/2 ρολόι. Όταν η συσκευή εγκαταλείψει το reset, η σειριακή θύρα παραµένει στη reset κατάσταση

( (R/X)RST = 0 FRST = ). Στη reset κατάσταση, τα pins της θύρας µπορούν να

χρησιµοποιηθούν για I/O γενικού σκοπού.

• McBSP reset : Όταν 0 RRST = και 0XRST = , το McBSP γίνεται reset. Όλα τα pins εισόδου, DR και CLKS, βρίσκονται σε γνωστή κατάσταση. Το FS(R/X) οδηγείται σε ανενεργή κατάσταση όπως και το FS(R/X)P, αν είναι έξοδος. Αν τα CLK(R/X) έχουν

προγραµµατιστεί ως έξοδοι, οδηγούνται από το CLKG, δεδοµένου ότι 1 GRST = . Tο DX pin είναι σε κατάσταση υψηλής αντίστασης, όταν ο ποµπός γίνει reset. Κατά την κανονική λειτουργία η γεννήτρια ρυθµού δειγµατοληψίας µπορεί να γίνει reset

γράφοντας 0 στο GRST . Το GRST πρέπει να είναι χαµηλό µόνο όταν ούτε ο ποµπός αλλά ούτε κι ο δέκτης χρησιµοποιούν τη γεννήτρια. Τότε, το εσωτερικό ρολόι παραγωγής ρυθµού δειγµατοληψίας CLKG, και το frame sync σήµα του (FSG) γίνονται

ανενεργά (χαµηλό). Όταν η γεννήτρια δεν είναι στη reset κατάσταση ( 1 =GRST ), τα

FSR και FSX είναι στην ανενεργή κατάσταση όταν 0 =RRST και 0XRST = = και ας είναι έξοδοι που οδηγούνται από το FSG. Αυτό εξασφαλίζει ότι όταν µόνο ένα τµήµα του

McBSP είναι reset, το υπόλοιπο µπορεί να συνεχίσει τη λειτουργία του αν 1 FRST = και το frame sync οδηγείται από το FSG.

• Sample-rate generator reset : Αν θέλουµε να γίνει reset αυτή όταν ούτε ο ποµπός αλλά ούτε κι ο δέκτης οδηγούνται από τα CLKG και FSG, µπορούµε να προγραµµατίσουµε το

GRST στον SRGR στο 0. Τα CLKG και FSG γίνονται ανενεργά. Όταν 1 GRST = , το

CLKG τρέχει όπως προγραµµατίστηκε στον SRGR. Αν 1 FRST = , το FSG γίνεται ενεργό µετά το πέρας οκτώ κύκλων.

Η διαδικασία αρχικοποίησης της σειριακής θύρας έχει ως εξής :

1) Θέτουµε XRST = RRST = 0 FRST = στον SPCR. Αν η συσκευή έχει γίνει reset, αυτό το βήµα δε χρειάζεται.

2) Προγραµµατίζουµε µόνο τους McBSP configuration καταχωρητές, όχι τους καταχωρητές δεδοµένων, όπως απαιτείται όταν η σειριακή θύρα είναι σε κατάσταση reset

( XRST = RRST = 0 =FRST ). 3) Αναµένουµε δύο bit clocks, ώστε να διασφαλιστεί ο ορθός εσωτερικός συγχρονισµός.

65

Page 74: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

4) Θέτουµε την επιθυµητή ροή δεδοµένων.

5) Θέτουµε XRST = 1 RRST = για να ενεργοποιήσουµε τη θύρα. Η τιµή που γράφτηκε στον SPCR πρέπει να έχει αλλαγµένα µόνο τα reset bits στο 1 και τα υπόλοιπα πεδία πρέπει να έχουν την ίδια τιµή µε το βήµα 2.

6) Θέτουµε 1 FRST = . Αν είναι ο frame master, το McBSP είναι έτοιµο να µεταδώσει ή να λάβει δεδοµένα.

ΣΗΜΕΙΩΣΗ:

1) Τα κατάλληλα πεδία στους καταχωρητές µορφοποίησης της θύρας SPCR, PCR, RCR, XCR και SRGR πρέπει να τροποποιούνται µόνο όταν το τµήµα της θύρας που επηρεάζουν είναι στη reset κατάσταση.

2) Ο καταχωρητής µετάδοσης δεδοµένων, DXR, πρέπει να φορτωθεί από τη CPU ή τον

EDMA µόνο όταν 1XRST = . 3) Οι καταχωρητές επιλογής multichannel MCR, XCER και RCER µπορούν να

τροποποιηθούν οποτεδήποτε αρκεί να µη χρησιµοποιούνται από το τρέχον block στη multichannel επιλογή.

2.7.6 Καθορισµός Κατάστασης Ετοιµότητας Τα RRDY και XRDY φανερώνουν την ετοιµότητα του McBSP δέκτη και ποµπού. Εγγραφές και αναγνώσεις από τη θύρα µπορούν να συγχρονιστούν µε τις παρακάτω µεθόδους :

• Polling RRDY και XRDY. • Χρησιµοποιώντας τα γεγονότα που στάλθηκαν από τον DMA ελεγκτή (REVT και XEVT). • Χρησιµοποιώντας διακοπές στη CPU (RINT και XINT) που τα γεγονότα παράγουν.

2.7.7 Κατάσταση Ετοιµότητας Αποστολής: XEVT, XINT, και XRDY Αν XRDY = 1 τα περιεχόµενα του DXR έχουν αντιγραφεί στον XSR και ο DXR είναι έτοιµος να φορτωθεί µε µια νέα λέξη δεδοµένων. Όταν οι µεταβάσεις του ποµπού από το reset στο non-reset (XRST µεταβάσεις από το 0 στο 1), το XRDY, επίσης, µεταβαίνει από το 0 στο 1, φανερώνοντας ότι ο DXR είναι έτοιµος για νέα δεδοµένα. Μόλις αυτά φορτωθούν στη CPU ή τον EDMA ελεγκτή, XRDY=0. Όµως, µόλις τα δεδοµένα αυτά αντιγραφούν από το DXR στο XSR, το XRDY µεταβαίνει πάλι από το 0 στο 1. Η CPU ή ο EDMA ελεγκτής µπορούν να γράψουν στον DXR αν και ο XSR δεν έχει ακόµα µετατοπιστεί στο DX. Το XRDY οδηγεί άµεσα το γεγονός

66

Page 75: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

συγχρονισµού αποστολής στον EDMA ελεγκτή µέσω του XEVT. Επίσης, η διακοπή αποστολής (XINT) στη CPU µπορεί να οδηγηθεί από το XRDY αν XINTM = 00b (default τιµή) στον SPCR.

2.7.8 CPU ∆ιακοπές: (R/X)INT Η διακοπή λήψης (RINT) και αποστολής (XINT) στη CPU αλλάζουν την κατάσταση της θύρας. Υπάρχουν τέσσερις επιλογές για τη διαµόρφωση των παραπάνω διακοπών. Αυτές τίθενται από το πεδίο receive/transmit interrupt mode, (R/X)INTM, στον SPCR. Οι πιθανές τιµές του mode και τα configurations που αναπαριστούν είναι :

• (R/X)INTM = 00b. ∆ιακοπή σε κάθε σειριακό στοιχείο, παρακολουθώντας τα (R/X)RDY bits στον SPCR.

• (R/X)INTM = 01b. ∆ιακοπή στο τέλος του subframe (16 στοιχεία ή λιγότερα). • (R/X)INTM = 10b. ∆ιακοπή σε περίπτωση εντοπισµού παλµών συγχρονισµού frame.

Αυτό παράγει µια διακοπή και στην περίπτωση που ο ποµπός/ δέκτης είναι στο reset. Αυτό επιτυγχάνεται µε το συγχρονισµό του εισερχόµενου frame sync παλµού µε το CPU ρολόι και την αποστολή του σε αυτή µέσω του (R/X)INT.

• (R/X)INTM = 11b. ∆ιακοπή σε περίπτωση λάθους στο συγχρονισµό frame.

2.7.9 Τυπική λειτουργία του McBSP Κατά τη διάρκεια µιας σειριακής µεταφοράς, υπάρχουν τυπικά ανενεργές περίοδοι της θύρας. Όταν το McBSP δε βρίσκεται στη reset κατάσταση, µια µεταφορά µπορεί να αρχικοποιηθεί προγραµµατίζοντας το (R/X)PHASE = 0 για ένα single-phase frame µε τον απαιτούµενο αριθµό στοιχείων, (R/X)FRLEN1, από 1 έως 128 ((R/X)FRLEN1 = 00h έως 7Fh). Το απαιτούµενο µήκος στοιχείου καθορίζεται στο (R/X)WDLEN1 πεδίο του (R/X)CR. Αν απαιτείται dual-phase frame, τότε RPHASE = 1 και κάθε (R/X)FRLEN(1/2) µπορεί να τεθεί σε οποιαδήποτε τιµή µεταξύ 00h και 7Fh.

Παραπάνω φαίνεται ένα single-phase frame δεδοµένων ενός 8-bit στοιχείου. Αφού η µεταφορά αυτή καθορίστηκε για 1-bit καθυστέρηση, τα δεδοµένα στα DX και DR pins είναι διαθέσιµα ένα bit clock αφού το FS(R/X) γίνει ενεργό. Θα πρέπει να ισχύουν, βέβαια, οι παρακάτω υποθέσεις :

67

Page 76: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

• (R/X)PHASE = 0 ⇒ single-phase frame. • (R/X)FRLEN1 = 0b ⇒ ένα στοιχείο/ frame. • (R/X)WDLEN1 = 000b ⇒ 8bits/ element. • (R/X)FRLEN2 = (R/X)WDLEN2 = ΤΙΜΗ ⇒ αγνοείται. • CLK(R/X)P = 0 ⇒ τα ληφθέντα δεδοµένα προκύπτουν στην κατερχόµενη ακµή και τα

µεταδιδόµενα στην ανερχόµενη. • FS(R/X)P = 0 ⇒ χρήση των ενεργών (υψηλά) frame sync σηµάτων. • (R/X)DATDLY = 01b ⇒ 1-bit καθυστέρηση.

Λήψη

Αποστολή

2.7.10 Μέγιστη Συχνότητα µεταφοράς πλαισίου Η συχνότητα µεταφοράς πλαισίου καθορίζεται από την παρακάτω εξίσωση :

η οποία υπολογίζει την περίοδο µεταξύ των σηµάτων συγχρονισµού frame. Όσο η συχνότητα αποστολής frame αυξάνεται, η ανενεργή περίοδος µεταξύ των frames για γειτονικές µεταδόσεις τείνει στο 0. Ο ελάχιστος χρόνος µεταξύ των παλµών συγχρονισµού frame ισούται µε τον αριθµό

68

Page 77: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

των µεταδιδόµενων bits ανά frame. Ο χρόνος αυτός ορίζει τη µέγιστη συχνότητα πλαισίου, η οποία δίνεται από την εξίσωση :

2.7.11 ∆ιάταξη Bit (Bit Ordering) Κανονικά, όλες οι µεταφορές στον McBSP γίνονται µε το MSB 1ο. Όµως, µερικά 8-bit πρωτόκολλα δεδοµένων απαιτούν το LSB πρώτα. Θέτοντας (R/X)COMPAND = 01b στον (R/X)CR, η διάταξη των bit για 8-bit στοιχεία αντιστρέφεται (LSB πρώτα) προτού σταλεί στη θύρα.

2.7.12 Προγραµµατιζόµενο Ρολόι και Πλαισίωση (Framing) Ο McBSP διαθέτει πολλούς τρόπους επιλογής του χρονισµού και του framing τόσο για το δέκτη όσο και για τον ποµπό. Ακολουθεί το σχετικό κύκλωµα :

Σχήµα 2.17 : Κύκλωµα Επιλογής Χρονισµού και Framing

69

Page 78: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.7.13 Γεννήτρια Ρυθµού ∆ειγµατοληψίας, Χρονισµός και Πλαισίωση (Sample Rate Generator Clocking and Framing) Η γεννήτρια αυτή αποτελείται από έναν διαιρέτη ρολογιού τριών σταδίων, ο οποίος παρέχει προγραµµατιζόµενο ρολόι δεδοµένων (CLKG) και framing σήµα (FSG), όπως φαίνεται στο σχήµα που ακολουθεί. Τα CLKG και FSG είναι εσωτερικά σήµατα του McBSP που µπορούν να προγραµµατιστούν ώστε να οδηγήσουν το χρονισµό λήψης/ αποστολής, CLK(R/X), και το framing, FS(R/X). Η γεννήτρια µπορεί να οδηγηθεί από ένα εσωτερικό ρολόι. Τα τρία στάδια του κυκλώµατος της γεννήτριας υπολογίζουν :

• Clock divide-down (CLKGDV): Ο αριθµός των input clocks ανά data bit clock. • Frame περίοδος (FPER) σε data bit clocks. • Frame width (FWID): Tο width ενός ενεργού frame παλµού σε data bit clocks. Επίσης, ο

εντοπισµός ενός frame παλµού κι η διεργασία συγχρονισµού ρολογιού επιτρέπουν το συγχρονισµό του clock divide-down µε έναν εισερχόµενο frame παλµό.

Σχήµα 2.18 : Κύκλωµα Παραγωγής Ρυθµού ∆ειγµατοληψίας

2.7.14 Επιλογή πολυκαναλικής λειτουργίας (Multichannel Selection Operation) Πολλαπλά κανάλια µπορούν να επιλεγούν ανεξάρτητα για τον ποµπό και το δέκτη διαµορφώνοντας το McBSP µ’ ένα single-phase frame. Κάθε frame αναπαριστά ένα TDM stream δεδοµένων. Ο αριθµός των στοιχείων ανά frame που αναπαριστάται από το (R/X)FRLEN1 φανερώνει τον αριθµό των διαθέσιµων καναλιών προς επιλογή. Γι’ αυτό, για να εξοικονοµηθεί µνήµη και εύρος ζώνης στο δίαυλο, η multichannel επιλογή επιτρέπει την ανεξάρτητη ενεργοποίηση συγκεκριµένων στοιχείων για αποστολή και λήψη. Μέχρι 32 στοιχεία σε ένα bit stream µέχρι και 128 στοιχείων µπορούν να ενεργοποιηθούν στο χρόνο.

70

Page 79: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Αν δεν έχει ενεργοποιηθεί ένα στοιχείο λήψης :

• Το RRDY δεν τίθεται στο 1 κατά τη λήψη του τελευταίου bit του στοιχείου. • Το RBR δεν αντιγράφεται στον DRR κατά τη λήψη του τελευταίου bit του στοιχείου. Γι’

αυτό, το RRDY δε γίνεται ενεργό. Αυτό το χαρακτηριστικό υποδηλώνει ότι δεν παράγονται διακοπές ή γεγονότα συγχρονισµού για αυτό το στοιχείο.

Αν δεν έχει ενεργοποιηθεί ένα στοιχείο αποστολής :

• Το DX είναι σε κατάσταση υψηλής αντίστασης. • Μια DXR-προς-XSR µεταφορά δεν ενεργοποιείται αυτόµατα στο τέλος της σειριακής

αποστολής του στοιχείου.

• Τα XEMPTY και XRDY δεν επηρεάζονται από το τέλος της αποστολής του στοιχείου. Ένα ενεργοποιηµένο στοιχείο αποστολής µπορεί να έχει τα δεδοµένα του masked ή απεσταλµένα. Στην πρώτη περίπτωση, το DX pin οδηγείται σε κατάσταση υψηλής αντίστασης αν και το κανάλι της αποστολής έχει ενεργοποιηθεί. Κατά τη λειτουργία πολλαπλών καναλιών χρησιµοποιούνται οι ακόλουθοι καταχωρητές ελέγχου:

• Ο multichannel καταχωρητής ελέγχου (MCR). • Ο transmit channel enable καταχωρητής (XCER). • Ο receive channel enable καταχωρητής (RCER).

2.8 ∆ιεπαφή Θύρας-Ξενιστή(Host Port Interface) Το Ηost Port Interface (HPI) είναι µια παράλληλη θύρα µέσω της οποίας ο host επεξεργαστής µπορεί να έχει απευθείας πρόσβαση στο χώρο µνήµης της CPU. Όταν οι λειτουργίες της host συσκευής ενεργούν ως master για την αλληλεπίδραση, τότε αυξάνεται κατά πολύ η ευκολία πρόσβασης. Ο host και η CPU µπορούν να ανταλλάξουνε πληροφορία µέσω εσωτερικής και εξωτερικής µνήµης. Ο host επιπλέον διαθέτει απ’ ευθείας πρόσβαση σε memory-mapped περιφερειακά. Η πρόσβαση στο χώρο µνήµης της CPU πραγµατοποιείται µέσω του EDMA ελεγκτή. Τόσο ο host όσο και η CPU µπορούν να έχουν πρόσβαση στον HPI καταχωρητή ελέγχου (HPIC). O host µπορεί να έχει πρόσβαση στον HPI καταχωρητή διευθύνσεων (ΗΡΙΑ), στον ΗΡΙ καταχωρητή δεδοµένων (ΗΡΙD) και στον ΗΡIC χρησιµοποιώντας τα εξωτερικά δεδοµένα και τα σήµατα ελέγχου αλληλεπίδρασης.

71

Page 80: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.8.1 Εξωτερικό Interface του HPI Το HPI παρέχει 32-bit δεδοµένων στη CPU µε µια οικονοµική εξωτερική αλληλεπίδραση των 16-bit συνδυάζοντας αυτόµατα συνεχόµενες 16-bit µεταδόσεις. Όταν η host συσκευή µεταδίδει δεδοµένα µέσω του HPID, αυτά µεταφέρονται απευθείας στο χώρο διευθύνσεων της CPU µέσω του εσωτερικού address generation hardware µε το οποίο είναι άµεσα συνδεδεµένο το ΗΡΙ. Ο 16-bit διαύλος δεδοµένων, HD[15:0], ανταλλάσσει πληροφορία µε το host. Εξ’ αιτίας της 32-bit word δοµής της αρχιτεκτονικής του όλοκληρωµένου, όλες οι µεταφορές στο host αποτελούνται από δύο συνεχόµενες 16-bit halfwords. Για HPIA, HPIC και HPID προσβάσεις ανάγνωσης δεν χρησιµοποιούνται τα byte ενεργοποίησης. Το ΗΗWIL pin υποδηλώνει πότε µεταφέρεται η πρώτη ή η δεύτερη halfword. Ένα bit εσωτερικού καταχωρητή ελέγχου καθορίζει εάν η πρώτη ή η δεύτερη halfword θα τοποθετηθεί στην πιο σηµαντική halfword της λέξης. Για µια πλήρης πρόσβαση στη λέξη, ο host δε πρέπει να διακόψει την πρώτη/δεύτερη halfword ακολουθία (ΗΗWIL low/high) κατά τη διάρκεια της HPI πρόσβασης. Ακολουθεί το block διάγραµµα του ΗΡΙ µε τους ακροδέκτες τους οποίους περιγράφουµε στη συνέχεια :

Σχήµα 2.19 : Το block διάγραµµα του ΗΡΙ

Οι ακροδέκτες HDS1, HDS2, o read/write επιλογέας ΗR/W και ο ακροδέκτης ΗΑS ενεργοποιούν το ΗPI ώστε να αλληλεπιδρά µε πλήθος host βιοµηχανικών συσκευών µε µικρή ή καθόλου

72

Page 81: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

επιπρόσθετη λογική. Το HPI µπορεί εύκολα να αλληλεπιδρά µε host επεξεργαστές, µε ένα πολυπλεγµένο ή µεµονωµένο δίαυλο διευθύνσεων/δεδοµένων και µέσω των ακροδεκτών που αναφέραµε παραπάνω. Οι είσοδοι στο HCNTRL[1:0] καθορίζουν σε ποιον καταχωρητή του ΗΡΙ θα γίνει πρόσβαση. Χρησιµοποιώντας τις εισόδους αυτές, ο host µπορεί να προσδιορίσει την πρόσβαση προς την HPIA (η οποία λειτουργεί ως ο δείκτης στο χώρο της πηγής ή του προορισµού), την ΗΡΙC ή την ΗPID. Αυτές οι είσοδοι µαζί µε το HHWIL, οδηγούνται από κοινού. Ο host µπορεί να διακόψει τη λειτουργία της CPU γράφοντας στον HPIC ενώ η CPU µπορεί να ενεργοποιήσει την έξοδο HINT για να διακόψει τον host. O host µπορεί να έχει πρόσβαση στο HPID µέσω της αυτόµατης αύξησης της διεύθυνσης του HPIA. Αυτό το χαρακτηριστικό διευκολύνει το διάβασµα και την εγγραφή συνεχόµενων word θέσεων. Το ΗΡΙ ready pin (HRDY) επιτρέπει την εισαγωγή καταστάσεων αναµονής στον host. Οι καταστάσεις αυτές µπορεί να είναι απαραίτητες, ανάλογα µε τη καθυστέρηση που απαιτείται για να φτάσει ο host µέσω του ΗΡΙ στη σωστή θέση µνήµης, καθώς επίσης και µε το ρυθµό πρόσβασης του host. O ρυθµός αυτός µπορεί να οδηγήσει σε ‘not ready’ καταστάσεις, εάν ο host προσπαθήσει να έχει πρόσβαση στη host θύρα προτού να έχει ολοκληρωθεί µια προσβαση εγγραφής ή ανάγνωσης του προηγούµενου ΗPID. Στη περίπτωση αυτή ο ΗΡΙ απλά συγκρατεί τον host µέσω του ΗRDY. Ο ακροδέκτης αυτός παρέχει έναν εύκολο τρόπο να ρυθµίζει αυτόµατα το ρυθµό πρόσβασης του host, στο ρυθµό προσκόµισης των δεδοµένων µέσω του EDMA ελεγκτή. Τα σήµατα του HPI και µια συνοπτική τους περιγραφή ακολουθεί στον παρακάτω πίνακα:

Signal Name

Signal Type

Signal Count

Host Connection Signal Function

HD[15:0] I/O/Z 16 Data bus

HCNTL[1:0] Ι 2 Address or control lines HPI access type control

HHWIL I 1 Address or control lines

Halfword identification input

HAS I 1

Address latch enable (ALE), address

strobe, or unused (tied high)

Differentiation between address and

data values on multiplexed address/ data host

HR/W I 1

Read/write strobe, address line, or

multiplexed address/data

Read/write select

73

Page 82: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

HCS I 1 Address or control lines Data strobe inputs

HDS[1:2] I 2 Read strobe and write strobe or data strobe Data strobe inputs

HRDY O 1 Asynchronous ready Ready status of current HPI access

HINT O 1 Host interrupt input Interrupt signal to host

Πίνακας 2.7 : Σήµατα του host port interface

2.9 ∆ιεπαφή εξωτερικής µνήµης (External Memory Interface - EMIF) Τα EMIFs στις TMS320C6000 συσκευές υποστηρίζουν µια ευέλικτη διεπαφή σε µια ποικιλία εξωτερικών συσκευών, όπως : • Synchronous-burst SRAM (SBSRAM), • Synchronous DRAM (SDRAM), • Ασύγχρονες συσκευές, όπως SRAM, ROM και FIFOs, • Εξωτερικές shared-memory συσκευές. Οι ’C6211/C6711 συσκευές εξυπηρετούν αιτήσεις για τον εξωτερικό δίαυλο µέσω των ακολουθων δύο ελεγκτών: • Ελεγκτής EDΜA, • Ελεγκτή εξωτερικής shared-memory συσκευής. Τα EMIF σήµατα για τις συσκευές αυτές φαίνονται παρακάτω και έχουν τα ακόλουθα χαρακτηριστικά : • Απαιτείται η παροχή µιας εξωτερικής πηγής ρολογιού, ECLKIN, από το σύστηµα. Tο

ECLKOUT παράγεται εσωτερικά. Όλες οι µνήµες που συνδέονται, πρέπει να λειτουργούν βάση του ECLKOUT. Αν χρειάζεται, η CLKOUT2 έξοδος µπορεί να συνδεθεί στην ECLKIN είσοδο.

• Οι συγχρονισµένες διεπαφές µνήµης χρησιµοποιούν ένα 4-word burst µήκος που βελτιστοποιείται για την αρχιτεκτονική δύο επιπέδων cache.

• Η SDRAM διεπαφή είναι ευέλικτη. Το pin διεύθυνσης, EA[12], λειτουργεί όπως το SDA10 pin για τις SDRAM µνήµες.

74

Page 83: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.20 : Σήµατα της ΕΜΙF

Οι memory-mapped καταχωρητές που αναλαµβάνουν το έλεγχο του EMIF είναι οι ακόλουθοι:

Σχήµα 2.21 : Καταχωρητές της ΕΜΙF

2.9.1 SDRAM ∆ιεπαφή Οι TMS320C6211/C6711 συσκευές επιτρέπουν τον προγραµµατισµό των χαρακτηριστικών διευθυνσιοδότησης της SDRAM, συµπεριλαµβανοµένων του µεγέθους σελίδας, του πλήθους των σελίδων ανά bank και του µεγίστου αριθµού των σελίδων που µπορούν να ανοιχτούν (πρόκειται για τέσσερις σελίδες).

75

Page 84: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.9.2 ∆ιεπαφή SBSRAM Το EMIF διασυνδέεται άµεσα µε industry-standard Synchronous Burst SRAMs, (SBSRAMs). Επιτρέπεται, έτσι, διασύνδεση υψηλής ταχύτητας χωρίς τους περιορισµούς των SDRAMs. Η SBSRAM διεπαφή µπορεί να τρέξει στην ταχύτητα της CPU ή ενός εξωτερικού ρολογιού και η επιλογή αυτή δηλώνεται στο SSCRT bit του EMIF global control καταχωρητή.

2.9.3 Ασύγχρονη ∆ιεπαφή Η διεπαφή αυτή επιτρέπει τη διασύνδεση µνηµών και περιφερειακών, όπως SRAM, EPROM, flash µνήµη και σχεδιασµούς FPGA και ASIC. 2.9.4 Εύρος µνήµης και τρόπος διαχείρισης των bytes Ο EMIF υποστηρίζει µνήµες εύρους 8, 16 και 32 bits, συµπεριλαµβανοµένων εγγραφών και αναγνώσεων τόσο σε big-endian όσο και σε little-endian συσκευές. ∆εν υπάρχει διαχωρισµός µεταξύ ROM και ασύγχρονου interface. Για όλα τα είδη µνηµών, οι διευθύνσεις µετατοπίζονται εσωτερικά για να ανταποκριθούν σε µήκη µνηµών λιγότερων των 32 bits. Το λιγότερο σηµαντικό bit της διεύθυνσης είναι πάντοτε η έξοδος στο pin externall address 2 (EA2), ανεξάρτητα από το εύρος της συσκευής. Οι προσβάσεις σε 8-bit µνήµες έχουν το bit της λογικής τους διεύθυνσης ίσο µε 0 ως έξοδο στο ΕΑ2. Η διαδικασία ενοποίησης ή διάσπασης πακέτων πραγµατοποιείται ταυτόχρονα από τον EMIF όταν έχει να κάνει µε word προσβάσεις στις εξωτερικές µνήµες που είναι λιγότερες των 32-bit. Για µια 32-bit εγγραφή σε 8-bit µνήµη, τα πακέτα δεδοµένων αυτόµατα διασπώνται σε bytes έτσι ώστε να εγγράφονται στα αντίστοιχα byte διευθύνσεων N, N+1, N+2 και N+3. Παρόµοια για 32-bit αναγνώσεις από 16-bit µνήµες, τα δεδοµένα λαµβάνονται από την halfword διεύθυνση N, στη συνέχεια από την N+1, ενώνονται στο ίδιο πακέτο των 32-bit (word) και τελικά εγγράφονται στο προορισµό. 2.10 ∆ίαυλος Επέκτασης Ο δίαυλος επέκτασης είναι 32-bit και υποστηρίζει διεπαφές σε µια ποικιλία ασύγχρονων περιφερειακών, ασύχρονων ή σύγχρονων FIFOs, PCI bridge chips κι άλλων εξωτερικών συσκευών. ∆ιαθέτει έναν ευέλικτο µηχανισµό διαιτησίας που υλοποιείται µέσα από δύο σήµατα : XHOLD και XHOLDA. Για µεγαλύτερη ευελιξία, είναι εφικτή η απενεργοποίηση του εσωτερικού διαιτητή κι η σύνδεση ενός εξωτερικού. Ο δίαυλος αυτός διαθέτει δύο κύρια υποµέρη : την Ι/Ο θύρα και το host port interface.

76

Page 85: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.22 : ∆ίαυλος Επέκτασης

Η I/O θύρα µπορεί να λειτουργεί είτε σύγχρονα είτε ασύγχρονα. Αυτοί οι τρόποι µπορούν να επιλεγούν για κάθε έναν από τους τέσσερις XCE χώρους του διαύλου. Η ασύγχρονη λειτουργία παρέχει strobes εξόδου που είναι προγραµµατιζόµενα. Η διεπαφή του διαύλου παρέχει τέσσερα σήµατα διευθύνσεων εξόδου για την ασύγχρονη λειτουργία και µε εξωτερική αποκωδικοποίηση επιτρέπονται µέχρι και 16 συσκευές για κάθε XCE χώρο. Ο FIFO τρόπος λειτουργίας παρέχει µια ευέλικτη διεπαφή σε µια απλή σύγχρονη FIFO ανάγνωσης ή µέχρι σε τέσσερις FIFO εγγραφής. Η σύνδεση της Ι/Ο θύρας και της µνήµης επιτυγχάνεται µέσω του EDMA ελεγκτή. Το δεύτερο υποµέρος λειτουργεί, επίσης, είτε σύγχρονα είτε ασύγχρονα. Η σύγχρονη λειτουργία είναι της µορφής master-slave και διαθέτει πολυπλεγµένες διευθύνσεις και σήµατα δεδοµένων. Η ασύγχρονη λειτουργία είναι µόνο slave και είναι παρόµοια µε το ΗΡΙ, µόνο που το µονοπάτι δεδοµένων είναι 32-bit. Η σύνδεση µε τη µνήµη επιτυγχάνεται µέσω της EDMA auxiliary θύρας. 2.11 PCI Η PCI θύρα υποστηρίζει τη σύνδεση του DSP µ’ένα PCI host µέσω του ολοκληρωµένου PCI master/slave διαύλου διεπαφής. Για τις C62x/C67x συσκευές, η PCI θύρα τοποθετείται στον DSP µέσω του auxiliary καναλιού του EDMA ελεγκτή, παρέχοντάς του µιας διεύθυνση πηγής/προορισµού στη DSP µνήµη. Το κανάλι αυτό θα πρέπει να τεθεί στη µέγιστη προτεραιότητα ώστε να επιτευχθεί το µέγιστο throughput στη PCI διεπαφή.

77

Page 86: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Τα επιµέρους τµήµατα της θύρας αυτής φαίνονται στο εξής διάγραµµα :

Σχήµα 2.23 :Σχηµατικό διάγραµµα PCI θύρας 2.12 Χρονιστές Παρέχονται δύο 32-bit γενικού σκοπού χρονιστές που µπορούν να χρησιµοποιηθούν για :

• Χρονισµό γεγονότων. • Μέτρηση γεγονότων. • Παραγωγή παλµών. • ∆ιακοπές στη CPU. • Αποστολή γεγονότων συγχρονισµού στον EDMA.

Οι χρονιστές έχουν δύο modes σηµατοδότησης και µπορούν να χρονιστούν από εσωτερική ή εξωτερική πηγή, διαθέτοντας ένα pin εισόδου κι ένα εξόδου, (TINP και TOUT).

78

Page 87: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Μ’ ένα εσωτερικό ρολόι, για παράδειγµα, ο χρονιστής µπορεί να σηµατοδοτήσει έναν εξωτερικό A/D ή να προκαλέσει τον EDMA ελεγκτή να εκκινήσει µια µεταφορά. Μ’ ένα εξωτερικό ρολόι, ο χρονιστής µπορεί να µετρήσει εξωτερικά γεγονότα και να διακόψει τη CPU µετά από έναν καθορισµένο αριθµό αυτών. Ακολουθεί το διάγραµµα των χρονιστών.

Σχήµα 2.24 : ∆ιάγραµµα Χρονιστών 2.12.1 Καταχωρητές διαµόρφωσης των χρονιστών Οι τρεις καταχωρητές που διαµορφώνουν την πράξη χρονισµού είναι οι :

79

Page 88: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Σχήµα 2.25 : Καταχωρητές Χρονισµού

2.12.2 Επανατοποθέτηση (resetting) των Χρονιστών κι Ενεργοποίηση της Μέτρησης: GO and HLD

Τα GO και HLDσήµατα ενεργοποιούν τα εξής χαρακτηριστικά :

Η διαµόρφωση ενός χρονιστή απαιτεί τα ακόλουθα τρία βασικά βήµατα :

1) Αν ο χρονιστής δε βρίσκεται σε hold κατάσταση, τοποθετείται, θέτοντας 0HLD = . Μετά το reset της συσκευής, ο χρονιστής βρίσκεται ήδη στη hold κατάσταση.

2) Εγγραφή της επιθυµητής τιµής στον timer period καταχωρητή.

3) Εκκίνηση του χρονιστή, θέτοντας τα GO και HLD bits του timer control καταχωρητή στο 1 και ταυτόχρονα γράφοντας τις επιθυµητές τιµές στον timer control καταχωρητή.

2.12.3 Μέτρηση Χρονιστή Ο µετρητής του χρονιστή λειτουργεί στο ρυθµό ρολογιού της CPU. Όµως, η µέτρηση ενεργοποιείται στη µετάβαση από low-to-high της πηγής ενεργοποίησης µέτρησης του χρονιστή. Αυτή εντοπίζεται από το παραπάνω κύκλωµα και παράγεται ένας παλµός.

80

Page 89: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Ο µετρητής µετρά από 0 έως N. Έστω για παράδειγµα ότι η περίοδος είναι 2 κι έχει επιλεγεί το CPU ρολόι/4 ως η πηγή του ρολογιού χρονιστή (CLKSRC = 1). Κατά την εκκίνηση, ο χρονιστής µετρά την εξής ακολουθία : 0, 0, 0, 0, 1, 1, 1, 1, 2, 0, 0, 0, 1, 1, 1, 1, 2, 0, 0, 0…. Αν κι ο µετρητής µετρά από το 0 έως το 2, η περίοδος είναι 8 (2*4) CPU κύκλους ρολογιού αντί για 12 (3*4). Συνεπώς, η περίοδος της µέτρησης προς τα κάτω είναι η τιµή του TIMER PERIOD κι όχι η TIMER PERIOD+1. 2.13 Επιλογέας ∆ιακοπών και Εξωτερικές ∆ιακοπές Υπάρχουν 16 πηγές διακοπών. Η CPU, όµως, θέτει µόνο 12 προς χρήση. Ο επιλογέας διακοπών επιτρέπει την επιλογή και δηµιουργία προτεραιοτήτων σε 12 από τις 16 διακοπές. Επίσης, επιτρέπει την αλλαγή της πολικότητας των εξωτερικών εισόδων διακοπών. Παρατίθενται οι διαθέσιµες διακοπές και σηµειώνεται ότι µοιάζουν µε τα ΕDMA γεγονότα συγχρονισµού. ∆ιαφέρουν 1ον: στο ότι ο McBSP παράγει ξεχωριστά τις διακοπές και τα γεγονότα και 2ον : στο ότι το DSPINT έχει µεταφερθεί από τη θέση 10000b στη 00000b.

Σχήµα 2.26 : ∆ιαθέσιµες ∆ιακοπές

81

Page 90: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

2.13.1 Καταχωρητές επιλογής διακοπής (Interrupt Selector) Ακολουθούν οι καταχωρητές επιλογής διακοπών :

Σχήµα 2.27 : Καταχωρητές Επιλογής ∆ιακοπών

2.13.2 ∆ιαµόρφωση του Επιλογέα ∆ιακοπών Οι καταχωρητές επιλογής διακοπών διαµορφώνονται µια φορά µετά το reset κατά τη διάρκεια της αρχικοποίησης και πριν την ενεργοποίηση των διακοπών. Μόλις αυτοί τεθούν, ο καταχωρητής σηµαίας διακοπής θα πρέπει να καθαριστεί από το χρήστη µετά από κάποια καθυστέρηση ώστε να µετακινηθούν οποιεσδήποτε ανεπιθύµητες µεταβάσεις που δηµιουργήθηκαν κατά τη διαµόρφωση. Βέβαια, η διαµόρφωση µπορεί να γίνει και σε άλλη χρονική στιγµή, αλλά οι ανεπιθύµητες συνθήκες διακοπής ενδέχεται να εντοπιστούν από τη CPU.

2.14 Σύνοψη Στο κεφάλαιο αυτό δόθηκε µια αναλυτική περιγραφή των βασικών στοιχείων του επεξεργαστή TMS320C6711, που αποτελεί το κύριο εργαλείο υλοποίησης αλγορίθµων στα πλαίσια αυτού του εργαστηρίου. Πιο συγκεκριµένα, παρατέθηκε µια εισαγωγική παρουσίαση της οικογένειας TMS320C6000 στην οποία ανήκει ο επεξεργαστής και των επιµέρους βασικών µονάδων από τις οποίες απαρτίζεται. Τελειώνοντας παρατίθεται στο συγκεντρωτικό Πίνακα 2.4 η αντιστοιχία διευθύνσεων στη µνήµη για κάθε ένα από τα βασικά µέρη του επεξεργαστή :

82

Page 91: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

83

Page 92: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 2 – Ο επεξεργαστής TMS320C6711

84

Page 93: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΚΚΕΕΦΦΑΑΛΛΑΑΙΙΟΟ 33

Code Composer Studio

3.1 Εισαγωγή Με χρήση του συγκεκριµένου εργαλείου, Code Composer Studio (CCS), καθίσταται δυνατή η επικοινωνία της host συσκευής µε την πλατφόρµα ανάπτυξης. Γράφοντας το κατάλληλο κώδικα σε C, προγραµµατίζονται οι λειτουργικές µονάδες του DSK και ανάλογα µε την εκάστοτε εφαρµογή, πραγµατοποιείται κι η αντίστοιχη επεξεργασία σηµάτων σε πραγµατικό χρόνο. Ειδικότερα, αναλύεται ο τρόπος µε τον οποίο δηµιουργείται ένα νέο project, πώς φορτώνεται ένα ήδη υπάρχον project και στη συνέχεια περιγράφονται τα είδη αρχείων που υποστηρίζει το εργαλείο. Στη συνέχεια αναφέρεται ο τρόπος που πραγµατοποιείται το build ενός project, πώς µπορεί να τρέξει (run) και πώς µπορεί να γινει εκσφαλµάτωση (debugging) για τον έλεγχο και τη διόρθωση τυχόν λαθών σε ένα πρόγραµµα. 3.2 ∆ιαχείριση των projects Ο CCS παρέχει µια ολοκληρωµένη διαχείριση προγραµµάτων κάνοντας χρήση των projects. Ένα project διατηρεί όλες εκείνες τις πληροφορίες που απαιτούνται για να δηµιουργηθεί ένα πρόγραµµα κατάλληλο για τη φόρτωση και εκτέλεσή του από τον DSP. Όλη η απαραίτητη πληροφορία αποθηκεύεται σε ένα µοναδικό project αρχείο µε κατάληξη .mak. Για να δηµιουργηθεί ένα project αρχείο ακολουθείται η παρακάτω διαδικασία : Ξεκινώντας από το menu στο παράθυρο του CCS, επιλέγουµε : Project → New. Τότε , εµφανίζεται το παράθυρο Save New Project As. Εάν ο κατάλογος του project που επιθυµούµε να χρησιµοποιήσουµε δεν είναι εκεί εµφανής, τότε ,οδηγούµαστε στο κατάλληλο φάκελο. Είναι καλή ιδέα να χρησιµοποιείται διαφορετικός κατάλογος για κάθε ένα νέο project. Αυτό κρατάει τα object αρχεία (.obj) διαφορετικών projects ξεχωριστά και καθιστά δυνατή την ανάθεση διαφορετικών επιλογών του compiler, του linker και του assembler για κάθε project. Στη συνέχεια, στο πεδίο “ File name ”, γράφουµε το όνοµα το οποίο θέλουµε να δώσουµε στο project και το σώζουµε (Save). Ένα νέο, λοιπόν, project αρχείο δηµιουργείται έχοντας τη λίστα του κενή. Εάν ένα ήδη υπάρχον project είναι ανοιχτό, τότε, οι επιλογές του compiler, του linker

Page 94: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 3 – Code Compose Studio

και του assembler αντιγράφονται στο νέο project και το υπάρχον project κλείνεται αυτόµατα. Αν δεν υπάρχει κανένα άλλο project ανοιχτό, τότε, το νέο project κληρονοµεί τις default επιλογές ενός project. Για να ανοιχτεί ένα ήδη υπάρχον project αρχείο, επιλέγουµε από το menu στο παράθυρο του CCS: Project → Open και κατά ανάλογο τρόπο για να το κλείσουµε ακολουθούµε την πορεία από το menu : Project → Close. Με χρήση του παραθύρου Project View είναι δυνατό να παρατηρήσουµε γραφικά τα περιεχόµενα ενός project. Το Project View ανοίγει αυτόµατα όταν ο CCS ξεκινά. Μέσα σε ένα project τα αρχεία οµαδοποιούνται σε ξεχωριστούς φακέλους. Αυτοί είναι οι ακόλουθοι :

Include → περιέχει όλα τα header files (*.h) Libraries → περιέχει όλα τα αρχεία βιβλιοθήκης (*.lib) Source → περιέχει όλα τα πηγαία αρχεία (source files *.c, *.asm)

Το linker command αρχείο (*.cmd) εµφανίζεται ακριβώς κάτω από το project αρχείο (*.mak).

Σχήµα 3.1 : Tο Project View παράθυρο Προκειµένου, τώρα, να προσθέσουµε αρχεία σε ένα ήδη υπάρχον project αρκεί να γίνει η ακόλουθη διαδικασία από το menu : Project → Add Files to Project ή κάνοντας δεξί κλικ πάνω στο όνοµα του project στο παράθυρο Project View κι επιλέγοντας : Add Files. Το Project View ανανεώνεται αυτόµατα όταν προστίθεται στο project ένα αρχείο. Τα αρχεία που µπορούν προστεθούν σε ένα project µπορεί να έχουν διάφορες καταλήξεις. Παρακάτω παρατίθεται µία λίστα µε τις υποθέσεις που γίνονται για το περιεχόµενο κάθε αρχείου µε βάση τη κατάληξή του :

86

Page 95: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 3 – Code Compose Studio

Καταλήξεις Υποθέσεις

*.* ή .c* C source αρχείο. Μπορεί να γίνει compiled

και linked

.a* ή .s* Assembly Source αρχείο. Μπορεί να γίνει

assembled και linked

.o* ή .lib Object και Library αρχείο. Μπορούν µόνο να

γίνουν linked

.h Include αρχείο. Αυτά τα αρχεία προστίθενται

αυτόµατα στη λίστα του project

.cmd Linker Command αρχείο. Μπορεί µόνο να

γίνει linked

Άλλα Μη αναγνωρίσιµα αρχεία. ∆εν προστίθενται

στο project

Πίνακας 3.1 : Υποθέσεις µε βάση τις καταλήξεις των αρχείων Μόνο ένα Linker Command αρχείο µπορεί να οριστεί για ένα project. Σχετικά µε τους άλλους τύπους αρχείων δεν υπάρχει όριο στον αριθµό τους κατά την προσθήκη τους σε ένα project. 3.3 Η διαδικασία build Οι παρακάτω εντολές επιτρέπουν στο χρήστη να κάνει compile και / ή link τα source αρχεία του. ∆ίνεται η δυνατότητα για χρήση των αντίστοιχων κουµπιών αντί για τις menu εντολές.

Compile File Πραγµατοποιείται µε επιλογή από το menu : Project → Compile File. Έτσι γίνεται compile µόνο το τρέχον source αρχείο. Αυτή η εντολή δεν κάνει link το αρχείο.

Incremental Build Επιλέγοντας από το menu : Project → Βuild γίνεται build το τρέχον project. Αυτή η επιλογή κάνει compile µόνο τα αρχεία που έχουν αλλάξει από το τελευταίο build.

87

Page 96: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 3 – Code Compose Studio

Rebuild All Επιλέγοντας : Project → Rebuild All γίνονται recompiled όλα τα αρχεία στο τρέχον project και re-link όλα τα εκτελέσιµα.

Stop Build Είναι δυνατό να µαταιωθεί η διαδικασία build επιλέγοντας : Project → Stop Build µέσα από το menu. Η διαδικασία build σταµατά µόνο ύστερα από την ολοκλήρωση του compilation του τρέχοντος αρχείου. Προκειµένου να καθοριστεί ποια αρχεία θα γίνουν compile κατά τη διάρκεια ενός incremental compile, το project πρέπει να διατηρεί µία λίστα µε τα include αρχεία από τα οποία εξαρτάται κάθε source αρχείο. Ο CCS δηµιουργεί ένα δέντρο εξαρτήσεων (dependencies) κάθε φορά που γίνεται build ένα project. Εξαιτίας του ότι τα include αρχεία προστίθενται αυτόµατα στο project, όπως προαναφέρθηκε, δε θα πρέπει να προστίθενται χειροκίνητα. Τέλος, στην περίπτωση ενός επιτυχηµένου Build All ή Incremental Build σε ένα project (δηλαδή, αφού, γίνουν µε επιτυχία οι διαδικασίες compiling, assembling και linking), προκύπτει τελικά ένα αρχείο *.out. Το αρχείο αυτό µπορεί να φορτωθεί τελικά πάνω στη κάρτα µε την εντολή από το menu : File → Load Program και να εκτελεστεί µε την εντολή : Debug → Run ή µέσω του αντίστοιχου κουµπιού στη γραµµή εργαλείων. 3.4 Εκσφαλµάτωση (Debugging) Κατά τη διάρκεια του debugging, µπορούµε να παρακολουθούµε τη µεταβολή της τιµής µιας έκφρασης µε χρήση του Watch Window. Αυτό µπορεί να γίνει µε επιλογή από το menu : View → Watch Window είτε µε χρήση του αντίστοιχου κουµπιού από την γραµµή εργαλείων. Προκειµένου να προστεθεί µια έκφραση που θέλουµε να παρατηρήσουµε τη µεταβολή της κατά τη διάρκεια εκτέλεσης του προγράµµατος, αρκεί να κάνουµε δεξί κλικ στο εσωτερικό του Watch Window και να δώσουµε την επιλογή : Insert New Expression. Τότε, εµφανίζεται το διαλογικό παράθυρο Watch Add Expression στο οποίο καλούµαστε να πληκτρολογήσουµε την έκφραση που θέλουµε να εξεταστεί. Επιπλέον, δίνεται η δυνατότητα να αλλαχθεί η τιµή µιας έκφρασης κάνοντας διπλό κλικ στη µεταβλητή οπότε κι εµφανίζεται το διαλογικό παράθυρο Edit Variable :

88

Page 97: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 3 – Code Compose Studio

Σχήµα 3.2 : Tο παράθυρο Edit Variable Στο παράθυρο αυτό εµφανίζεται το όνοµα της µεταβλητής στο πεδίο Variable και η τιµή της στο αντίστοιχο πεδίο Value. Προκειµένου να αλλαχθεί η τιµή της µεταβλητής πληκτρολογείται η νέα επιθυµητή τιµή στο πεδίο Value. Τέλος, δίνεται η δυνατότητα να προστεθούν breakpoints στο κώδικα ενός προγράµµατος. Η χρήση των συγκεκριµένων εργαλείων σταµατούν την εκτέλεση ενός προγράµµατος. Όταν το πρόγραµµα σταµατήσει την εκτέλεση του, είναι δυνατόν να εξεταστεί η κατάσταση του, οι µεταβλητές του και η µορφή των υπόλοιπων δοµών του. Προκειµένου να τοποθετηθεί ένα breakpoint σε µια γραµµή του κώδικα αρκεί ο κέρσορας να βρίσκεται σε αυτή τη γραµµή και να πατηθεί το κουµπί Toggle Breakpoint από την γραµµή εργαλείων. Επιπρόσθετα µε τη χρήση των κουµπιών Step Into, Step Over και Step Out είναι δυνατόν να πλοηγηθεί ο χρήστης στα διάφορα σηµεία του κώδικα που θέλει να εξετάσει. 3.5 Σύνοψη Από την παραπάνω ανάλυση γίνονται σαφείς οι µεγάλες δυνατότητες και ευκολίες που παρέχει το λογισµικό αυτό πακέτο. Η ευχρηστία και το φιλικό περιβάλλον αλληλεπίδρασής του βοηθούν σηµαντικά στην γρήγορη εξοικείωση του χρήστη µε τον τρόπο προγραµµατισµού ενός ψηφιακού επεξεργαστή σήµατος.

89

Page 98: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

Κεφάλαιο 3 – Code Compose Studio

90

Page 99: ΕΓΧΕΙΡΙ∆ΙΟ ΧΡΗΣΗΣxanthippi.ceid.upatras.gr/people/psarakis/courses/... · Πίνακας 2.8 : Πίνακας µνήµης (µemory map) του επεξεργαστή

ΒΒιιββλλιιοογγρρααφφίίαα [1] Steven A. Tretter, Communication System Design Using DSP Algorithms. With

Laboratory Experiments for the TMS320C6701 and TMS320C6711, Kluwer Academic / Plenum Publishers, New York 2003

[2] TMS320C6711 Digital Signal Processor Data Sheet (Literature Number SPRS088), Texas Instruments, Dallas, TX, 2002 [3] TMS320C6000 Peripherals Guide (Literature Number SPRU190), Texas Instruments,

Dallas, TX, 2001 [4] TLC320AD535C/I Data Manual Dual Channel Voice/Data Codec, (Literature Number

SLAS202), Texas Instruments, Dallas, TX, 1999 [5] Code Composer Studio Getting Started Guide (Literature Number SPRU509), Texas Instruments, Dallas, TX, 2001 [6] TMS320C6000 Code Composer Studio Tutorial (Literature Number SPRU301), Texas

Instruments, Dallas, TX, 2000 [7] Code Composer Studio Users Guide (Literature Number SPRU328), Texas Instruments, Dallas, TX, 2000 [8] TMS320C6000 Programmer’s Guide (Literature Number SPRU198), Texas Instruments, Dallas, TX, 2000 [9] TMS320C6000 CPU and Instruction Set Reference Guide (Literature Number SPRU189), Texas Instruments, Dallas, TX, 2000