Θέκα ΔΗΜΙΟΤΡΓΙΑ ΕΝΟ «SYSTEMC TLM» ΜΟΝΣΕΛΟΤ ΣΟΤ CAN CONTROLLER

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Θέκα ΔΗΜΙΟΤΡΓΙΑ ΕΝΟ «SYSTEMC TLM» ΜΟΝΣΕΛΟΤ ΣΟΤ CAN CONTROLLER"

Transcript

1 ΠΑΝΔΠΙΣΗΜΙΟ ΠΑΣΡΩΝ ΣΜΗΜΑ ΜΗΥΑΝΙΚΩΝ Η/Τ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΩΝ ΠΟΤΓΩΝ: ΟΛΟΚΛΗΡΩΜΕΝΑ ΤΣΗΜΑΣΑ ΤΛΙΚΟΤ ΚΑΙ ΛΟΓΙΜΙΚΟΤ Μεηαπηπρηαθή Γηπισκαηηθή Δξγαζία ηνπ θνηηεηή ηνπ Τκήκαηνο Μεραληθψλ Η/Υ θαη Πιεξνθνξηθήο ηεο Πνιπηερληθήο Σρνιήο ηνπ Παλεπηζηεκίνπ Παηξψλ Σξαράλε Γεκεηξίνπ ηνπ Αλδξέα Αξηζκόο Μεηξώνπ: 158 Θέκα ΔΗΜΙΟΤΡΓΙΑ ΕΝΟ «SYSTEMC TLM» ΜΟΝΣΕΛΟΤ ΣΟΤ CAN CONTROLLER Δπηβιέπσλ Θενδσξίδεο Γεψξγηνο Πάηξα, 2011

2 ii

3 Θέκα: ΔΗΜΙΟΤΡΓΙΑ ΕΝΟ «SYSTEMC TLM» ΜΟΝΣΕΛΟΤ ΣΟΤ CAN CONTROLLER Φνηηεηήο: Δπηβιέπσλ: Τξαράλεο Γεκήηξηνο Θενδσξίδεο Γεψξγηνο Περίληψη Η ξαγδαία αχμεζε ηεο πνιππινθφηεηαο ησλ ζπζηεκάησλ ζε νινθιεξσκέλα θπθιψκαηα (System-on-Chip, SoC), ε πίεζε ηνπ ρξφλνπ γηα ηελ είζνδφ ηνπο ζηελ αγνξά, θαζψο θαη ην πςειφ θφζηνο ηεο δηαδηθαζίαο ζρεδίαζεο θαη παξαγσγήο ηνπο, έρεη νδεγήζεη ηε βηνκεραλία αλάπηπμεο ζπζηεκάησλ SoC ζηελ θαηεχζπλζε ηεο επαλαρξεζηκνπνίεζεο «ππξήλσλ πλεπκαηηθήο ηδηνθηεζίαο» (intellectual property cores), αιιά θαη ζηελ αχμεζε ηεο αθαηξεηηθφηεηαο ηεο ζρεδίαζεο, απφ ην επίπεδν θαηαρσξεηψλ (Register Transfer Level, RTL) ζην επίπεδν ηνπ ζπζηήκαηνο (Electronic System Level Design, ESL). Η αχμεζε απηή ηεο αθαηξεηηθφηεηαο επηηπγράλεηαη ζήκεξα, θαηεμνρήλ, κε ηε κεζνδνινγία κνληεινπνίεζεο ζπζηεκάησλ SystemC TLM. Η κέζνδνο απηή κνληεινπνηεί, θπξίσο, ηελ επηθνηλσλία κεηαμχ ησλ δνκηθψλ ζηνηρείσλ ηνπ ζπζηήκαηνο, δεκηνπξγψληαο έλα κνληέιν ηνπ ζπζηήκαηνο εχθνιν ζηελ θαηαζθεπή, ηαρείαο εμνκνίσζεο θαη έηνηκν απφ ηα πξψηα ζηάδηα ηεο ζρεδίαζεο. Τα SystemC TLM κνληέια ελφο SoC δίλνπλ έηζη ηε δπλαηφηεηα λα γίλεη αλάιπζε ηεο απφδνζεο ηνπ, αξρηηεθηνληθή ηνπ εμεξεχλεζε, επηβεβαίσζε ηεο ιεηηνπξγίαο ηνπ θαζψο επίζεο θαη αλάπηπμε ηνπ ινγηζκηθνχ πνπ ζα ηξέρεη πάλσ ζε απηφ, λσξίο ζηε δηαδηθαζία ζρεδίαζεο Σηα πιαίζηα απηήο ηεο εξγαζίαο αλαπηχρζεθε έλα SystemC TLM κνληέιν ηνπ ειεγθηή CAN (CAN Controller). Ο ειεγθηήο απηφο ρξεζηκνπνηείηαη γηα ηελ επηθνηλσλία κηθξνειεγθηψλ κέζσ ελφο ζεηξηαθνχ δηαχινπ (CAN Bus). Τα πιενλεθηήκαηα ελφο δηθηχνπ CAN είλαη πνιιά φπσο, ρακειή πνιππινθφηεηα, κεγάιεο ηαρχηεηεο επηθνηλσλίαο (έσο 1Mbps), θαιφ κεραληζκφ δηαρείξηζεο ζθαικάησλ, θ.α. Ο ειεγθηήο πνπ ρξεζηκνπνηήζεθε σο αλαθνξά γηα ηελ αλάπηπμε ηνπ κνληέινπ αιιά θαη γηα ζπγθξηηηθά tests, είλαη απηφο πνπ έρεη αλαπηπρζεί απφ ηελ Δπξσπατθή Υπεξεζία Γηαζηήκαηνο (ESA) ζηα πιαίζηα ηνπ πξνγξάκκαηνο HurriCANe. iii

4 iv

5 Abstract The rapidly increasing complexity of systems in integrated circuits (System-on-Chip, SoC), time-to-market pressure, as well as the high cost of the development process, has led the SoC industry to the reuse of intellectual property cores and the increase of the design abstraction, from the Register Transfer Level (RTL) to the system level (Electronic System Level Design, ESL). This increase in abstraction is succeeded today, predominantly, with SystemC TLM modeling systems methodology. This method is, basically, modeling the communication between the components of a system, creating this way an, easy to make, with fast simulation and ready from the first stages of the design flow, model. So, the SystemC TLM model of a SoC gives the ability to commit performance analysis, architectural exploration, functional verification as well as embedded software development, early in the design process. Part of this work is the development of a SystemC TLM model of the CAN Controller. The controller is used for the communication of microcontroller via a serial bus (CAN Bus). The advantages of a CAN network are many, like low complexity, high speed communication (up to 1Mbps), good error management mechanism, etc. The CAN controller used as a reference model for the development process and for the comparative tests, is the one developed by the European Space Agency (ESA) under the program HurriCANe. v

6 vi

7 Περιεχόμενα 1 Δηζαγσγή Δηζαγσγηθά ζηνηρεία Οξγάλσζε θεηκέλνπ ρεδίαζε ζε επίπεδν ζπζηήκαηνο Δπίπεδν αθαηξεηηθφηεηαο ηεο ζρεδίαζεο Τν επίπεδν θαηαρσξεηψλ (RTL) Η θιαζηθή ξνή ζρεδίαζεο Τα πξνβιήκαηα ηεο θιαζηθήο ξνήο ζηε ζρεδίαζε SoC ζήκεξα Αχμεζε ηεο πνιππινθφηεηαο Φξφλνο εηζφδνπ ζηελ αγνξά Κφζηνο αλάπηπμεο θαη παξαγσγήο Σχλζεηεο εθαξκνγέο ινγηζκηθνχ Αλαδήηεζε λέαο ξνήο ζρεδίαζεο Δπαλαρξεζηκνπνίεζε ππξήλσλ πλεπκαηηθήο ηδηνθηεζίαο (IP) Υςειφηεξν επίπεδν αθαηξεηηθφηεηαο ζηε ζρεδίαζε Τα πξψηα κνληέια λέαο ξνήο ζρεδίαζεο Ταπηφρξνλε επαιήζεπζε πιηθνχ θαη ινγηζκηθνχ Αθξίβεηα ζε θάζε θχθιν ξνινγηνχ Μνληέια ζε επίπεδν ζπλαιιαγήο (TLM) Η επέθηαζε System-to-RTL Φαξαθηεξηζηηθά «Μνληεινπνίεζεο ζε επίπεδν ζπλαιιαγήο» Η λέα ξνή ζρεδίαζεο Πιενλεθηήκαηα ηεο ρξήζεο κνληέισλ TLM Μνληεινπνίεζε ζπζηεκάησλ κε SystemC TLM Η γιψζζα SystemC Μνληεινπνίεζε ζπζηεκάησλ Υπνζηήξημε ηεο κεζνδνινγίαο TLM Φαξαθηεξηζηηθά πξνζαξκνζκέλα ζην πιηθφ Βαζηθά ζπζηαηηθά ηεο γιψζζαο Ο ππξήλαο εμνκνίσζεο Τν πξφηππν SystemC TLM Γεληθά Πεξηπηψζεηο ρξήζεο (Use cases) Τξφπνη αλάπηπμεο θψδηθα (Coding styles) Η δνκή ελφο TLM κνληέινπ Οη δηεπαθέο ππξήλα (core interfaces) Global quantum Υπνδνρέο (Sockets) Generic payload Τν βαζηθφ πξσηφθνιιν Άιια εξγαιεία Σν δίθηπν CAN Αξρηηεθηνληθή ηνπ δηθηχνπ Τν θπζηθφ επίπεδν Τν επίπεδν ζχλδεζεο δεδνκέλσλ vii

8 4.1.3 Τν επίπεδν εθαξκνγψλ Τν πξσηφθνιιν CAN Τα είδε ησλ πιαηζίσλ Γηαδηθαζία δηαηηεζίαο Δίδε ζθαικάησλ Πιενλεθηήκαηα ηνπ CAN δηθηχνπ Σν SystemC TLM κνληέιν ηνπ ειεγθηή CAN Πεξηγξαθή ηεο εξγαζίαο Ο ειεγθηήο CAN ηεο ESA Η δνκή ηνπ ειεγθηή Η ιεηηνπξγία ηνπ Η αλάπηπμε ηνπ κνληέινπ Η δνκή ηνπ Η ιεηηνπξγία Η κνλάδα ηνπ Transceiver Τν αληηθείκελν ζπλαιιαγήο Τα ρξνληθά ζεκεία κηαο ζπλαιιαγήο Δμνκνηώζεηο θαη απνηειέζκαηα Τα testbenches Παξαδνρέο Δμνκνηψζεηο Απνηειέζκαηα Δπίινγνο Σχλνςε θαη ζπκπεξάζκαηα Μειινληηθέο πξνεθηάζεηο Παξάξηεκα Βηβιηνγξαθία viii

9 Λίστα σχημάτων 2.1 Η κλαςική ροή ςχεδίαςησ Παράθυρο προϊόντοσ ςτην αγορά Οπτικζσ γωνίεσ του ςυςτήματοσ Η νζα ροή ςχεδίαςησ Βαθμόσ επιτάχυνςησ τησ εξομοίωςησ Δομή τησ SystemC Σφγκριςη γλωςςϊν ωσ προσ το επίπεδο αφαιρετικότητασ Διάγραμμα καταςτάςεων του πυρήνα εξομοίωςησ τησ SystemC Οργάνωςη τησ TLM Δομή ενόσ TLM μοντζλου Οι μζθοδοι που ανήκουν ςτισ διεπαφζσ πυρήνα Διαλειτουργικότητα και TLM Συναλλαγή με βάςη το βαςικό πρωτόκολλο Τα επίπεδα OSI Τοπολογία δικτφου CAN Σχζςη ταχφτητασ με μάκροσ του CAN διαφλου Το πλαίςιο δεδομζνων Το πλαίςιο extended Δομή ελεγκτή CAN τησ ESA Δομή μοντζλου SystemC TLM ελεγκτή CAN Η δομή τησ επικοινωνίασ του Transceiver Η εςωτερική λειτουργία του Transceiver Αντικείμενο ςυναλλαγήσ Διάγραμμα χρονιςμοφ LT μοντζλου Διάγραμμα χρονιςμοφ AT μοντζλου Ποςοςτιαία διαφορά χρόνων εξομοίωςησ TLM μοντελων ςε ςχζςη με το core τησ ESA Χρονική ακρίβεια των μοντζλων μασ Χρ. Απόκλιςη ανά είδοσ πλαιςίων ςε λειτουργία αποςτολήσ Χρ. Απόκλιςη ανά είδοσ πλαιςίων ςε λειτουργία λήψησ Χρονική ακρίβεια για extended πλαίςια με 8 Bytes δεδομζνα Χρονική ακρίβεια για standard πλαίςια χωρίσ δεδομζνα Χρονική ακρίβεια για τυχαία πλαίςια Χρονική ακρίβεια μοντζλων για τεςτ χωρίσ ςφάλματα Χρονική ακρίβεια μοντζλων για τεςτ με 17% ποςοςτό ςφαλμάτων Χρονική ακρίβεια μοντζλων για τεςτ με 33% ποςοςτό ςφαλμάτων Βαθμόσ αυξήςεωσ τησ ταχφτητασ τησ εξομοίωςησ Επιτάχυνςη εξομοίωςησ ςε ςχζςη με το ποςοςτό ςφαλμάτων, για τεςτ πλαιςίων Επιτάχυνςη εξομοίωςησ ςε ςχζςη με το ποςοςτό ςφαλμάτων, για τεςτ πλαιςίων Επιτάχυνςη εξομοίωςησ ανά είδοσ λειτουργίασ για το LT μοντζλο Επιτάχυνςη εξομοίωςησ ανά είδοσ λειτουργίασ για το AT μοντζλο ix

10 x

11 1 Δηζαγσγή 1.1 Δηζαγσγηθά ζηνηρεία Έλα ραξαθηεξηζηηθφ ηεο ζχγρξνλεο επνρήο είλαη νη πνιχ γξήγνξνη ξπζκνί κε ηνπο νπνίνπο εμειίζζνληαη φινη νη ηνκείο ηεο θνηλσλίαο. Όπνηνο δε κπνξεί λα ζπκβαδίζεη κε απηνχο ηνπο ξπζκνχο, - είηε είλαη έλα άηνκν, είηε κηα νκάδα, κία επηρείξεζε, κηα πφιε - φπνηνο δελ κπνξεί λα αθνινπζήζεη ηηο αιιαγέο πνπ ζπκβαίλνπλ γχξσ ηνπ, ζην ρψξν ηνπ, κέλεη πίζσ θαη παιεχεη νπζηαζηηθά γηα ηελ επηβίσζή ηνπ. Έηζη θαη ζηνλ ηνκέα ηεο ηερλνινγίαο, νη επηρεηξήζεηο πνπ αλήθνπλ εθεί πξέπεη λα βξίζθνπλ ηξφπνπο γηα λα είλαη πάληα ελεκεξσκέλεο γηα ηηο ηειεπηαίεο εμειίμεηο θαη λα ηηο ελζσκαηψλνπλ ζηε δηαδηθαζία παξαγσγήο ησλ πξντφλησλ ηνπο. Σήκεξα, ζην ρψξν ησλ νινθιεξσκέλσλ θπθισκάησλ, γηα ηνλ νπνίν ελδηαθεξφκαζηε ζηελ παξνχζα εξγαζία, έρνπλ θηάζεη ζην ζεκείν λα ζρεδηάδνληαη νιφθιεξα ζπζηήκαηα κέζα ζε έλα νινθιεξσκέλν θχθισκα, ηα νπνία είλαη γλσζηά κε ηελ νξνινγία System-on-Chip (SoC). Τν ζεκείν απηφ είλαη ην απνηέιεζκα ηεο εμέιημεο, φπσο αλαθέξακε λσξίηεξα, ηεο ηερλνινγίαο ησλ νινθιεξσκέλσλ θπθισκάησλ, αθνχ ζηελ αξρή, πξηλ απφ πεξίπνπ 50 ρξφληα, πεξηείραλ γχξσ ζηα 100 ηξαλδίζηνξ ελψ ηψξα ν αξηζκφο απηφο έρεη θηάζεη ζην επίπεδν ησλ δηζεθαηνκκπξίσλ. Τα ζπζηήκαηα ζε νινθιεξσκέλα θπθιψκαηα ή αιιηψο System-on-Chip, φπσο πξνείπακε, είλαη ε ηειεπηαία ηάζε ηεο βηνκεραλίαο παξαγσγήο ειεθηξνληθψλ ζπζηεκάησλ. Φξεζηκνπνηνχληαη ζε πνιιά είδε ειεθηξνληθψλ ζπζθεπψλ, φπσο είλαη ηα θηλεηά ηειέθσλα, νη ςεθηαθέο θσηνγξαθηθέο κεραλέο. Έλα SoC κπνξεί λα πεξηέρεη κέζα ηνπ δηάθνξα δνκηθά ζηνηρεία, φπσο επεμεξγαζηηθφ ππξήλα, κλήκε, πεξηθεξεηαθφ Δηζφδνπ/Δμφδνπ, απνθσδηθνπνηεηέο θαη άιια αλάινγα κε ηηο αλάγθεο ιεηηνπξγίαο ηνπ. Όια απηά επηθνηλσλνχλ κεηαμχ ηνπο κέζσ θάπνηνπ δηαχινπ (bus) ή άιιεο δηθηπαθήο ηνπνινγίαο. Πέξα φκσο απφ ην πιηθφ, ζπλήζσο πεξηέρεηαη θαη θάπνην ελζσκαησκέλν ινγηζκηθφ, ζρεκαηίδνληαο έηζη έλα νιφθιεξν ππνινγηζηηθφ ζχζηεκα. Η θιαζηθή ξνή ζρεδίαζεο ελφο SoC, πνπ ρξεζηκνπνηείηαη αθφκα ζε πνιιέο πεξηπηψζεηο, δηαρσξίδεη ηε δηαδηθαζία αλάπηπμεο ηνπ πιηθνχ απφ απηήλ ηνπ ινγηζκηθνχ. Απηφ έρεη σο απνηέιεζκα πνιιέο θνξέο λα εληνπίδνληαη ιάζε ζην ηειεπηαίν ζηάδην ηεο ζρεδίαζεο, δειαδή ζηνλ έιεγρν εγθπξφηεηαο ηνπ ζπζηήκαηνο, πξάγκα πνπ νδεγεί ζηνλ επαλαζρεδηαζκφ ηνπ πιηθνχ ή/θαη ηνπ ινγηζκηθνχ. Καζψο, φκσο, ε πνιππινθφηεηα ησλ System-on-Chip απμάλεηαη, γηα λα θαιχςεη ηηο αλάγθεο γηα κηθξφηεξν κέγεζνο θαη πεξηζζφηεξεο ιεηηνπξγίεο, ν ρξφλνο εηζφδνπ ηνπ πξντφληνο ζηελ αγνξά γίλεηαη θαζνξηζηηθφο, ζε πνιιέο πεξηπηψζεηο, γηα ηελ εκπνξηθή ηνπ επηηπρία, θαη ην θφζηνο θαηαζθεπήο νδεγείηαη ζε νινέλα θαη πςειφηεξα επίπεδα, ιφγσ ηεο αχμεζεο ηνπ εξγαηηθνχ δπλακηθνχ πνπ απαζρνιείηαη ζε έλα ηέηνην 1

12 ζχζηεκα αιιά θαη ην δηαξθψο απμαλφκελν θφζηνο ηεο θαηαζθεπή πξντφλησλ «λαλνηερλνινγίαο», ε αλάγθε γηα αιιαγή ηεο θιαζηθήο ξνήο ζρεδηαζκνχ είλαη κεγαιχηεξε απφ πνηέ. Η βηνκεραλία αλάπηπμεο ζπζηεκάησλ SoC έρεη ζηξέςεη ηελ έξεπλα ηεο πξνο δχν θαηεπζχλζεηο. Η κία είλαη ε επαλαρξεζηκνπνίεζε «ππξήλσλ πλεπκαηηθήο ηδηνθηεζίαο» (intellectual property cores, IP). Ωζηφζν, απηφ απφ κφλν ηνπ δελ πξνζθέξεη κεγάιε βνήζεηα θαζψο πνιιέο θνξέο ε δηαδηθαζία ηεο επηινγήο ηνπ θαηάιιεινπ IP, ε θαηαλφεζή ηνπ θαη ε ελζσκάησζή ηνπ ζην ζχζηεκα πνπ θαηαζθεπάδεηαη κπνξεί λα νδεγήζεη ζε κεγαιχηεξεο θαζπζηεξήζεηο απφ ηελ παξαγσγή απηνχ ηνπ IP κέζα ζηελ ίδηα ηελ εηαηξία. Η άιιε θαηεχζπλζε είλαη απηή ηεο αχμεζεο ηνπ επηπέδνπ αθαηξεηηθφηεηαο ηεο ζρεδίαζεο (design abstraction level). Τν «χςνο» απφ ην νπνίν κπνξνχζε λα δεη θάπνηνο κέρξη πξφζθαηα ην ζχζηεκα ζηε θάζε ηεο ζρεδίαζεο ήηαλ ην επίπεδν ησλ θαηαρσξεηψλ (Register Transfer Level, RTL). Γηα λα κπνξέζνπλ λα αλαγλσξηζζνχλ ηα ραξαθηεξηζηηθά ηνπ ζπζηήκαηνο, λα αλαπηπρζεί θαη λα εθαξκνζηεί ην ινγηζκηθφ, λα ειεγρζεί ε ιεηηνπξγηθφηεηά ηνπ, έπξεπε λα έρνπλ αλαπηπρζεί θαη πξνηππνπνηεζεί φια ηα δνκηθά ηνπ ζηνηρεία. Με απηφλ ηνλ ηξφπν φκσο, ζηελ πεξίπησζε πνπ εκθαληδφηαλ θάπνην ιάζνο, έπξεπε λα αθνινπζήζεη λένο θχθινο ζρεδίαζεο. Τν λέν επίπεδν αθαηξεηηθφηεηαο απφ ην νπνίν κπνξεί λα γίλεη ε ζρεδίαζε πιένλ, είλαη ην επίπεδν ζπζηήκαηνο (system level design). Η ζρεδίαζε απφ ην επίπεδν ζπζηήκαηνο δίλεη, κεηαμχ άιισλ, ηε δπλαηφηεηα λα ειεγρζεί λσξίο ζηε ζρεδηαζηηθή δηαδηθαζία ε ιεηηνπξγηθφηεηα ηνπ ζπζηήκαηνο, λα γίλεη αξρηηεθηνληθή αλάιπζε θαζψο θαη αλάιπζε ηεο απφδνζήο ηνπ, λα αλαπηπρζεί ην ινγηζκηθφ πνπ ζα ηξέρεη. Απμάλεη, επίζεο, ηελ θαηαλφεζε ηνπ κνληέινπ θαη κεηψλεη ηεο παξεξκελείεο κεηαμχ ησλ νκάδσλ εξγαζίαο (πιηθνχ, ινγηζκηθνχ). Γεληθφηεξα, επηηαρχλεη ηνλ θχθιν ζρεδίαζεο. Σηελ αλαδήηεζε κεζφδνπ κνληεινπνίεζεο ησλ ζπζηεκάησλ, πνιιέο κεγάιεο εηαηξίεο έρνπλ θαηαιήμεη ζηε ρξήζε ηεο γιψζζαο κνληεινπνίεζεο SystemC TLM. Η κέζνδνο απηή είλαη νπζηαζηηθά κηα κέζνδνο κνληεινπνίεζεο ζε επίπεδν ζπλαιιαγήο (Transaction Level Modeling). Μνληεινπνηεί ηελ επηθνηλσλία ησλ δηαθφξσλ νληνηήησλ πνπ απαξηίδνπλ έλα ζχζηεκα ζε νινθιεξσκέλν θχθισκα, ρξεζηκνπνηψληαο θιήζεηο ζπλαξηήζεσλ θαη φρη ζήκαηα. Οδεγεί έηζη ζε πνιχ κεγαιχηεξεο ηαρχηεηεο εμνκνίσζεο. Δπίζεο δίλεη ηε δπλαηφηεηα ρξεζηκνπνίεζεο ζην ίδην ζχζηεκα IP ππξήλσλ απφ δηαθνξεηηθνχο θαηαζθεπαζηέο, αιιά θαη επαλαρξεζηκνπνίεζεο ήδε ππαξρφλησλ IP. Σεκαληηθή ζεκείσζε φηη ε ξνή απηή ζρεδίαζεο δελ απεπζχλεηαη απνθιεηζηηθά ζε ζχζηεκα ζε έλα νινθιεξσκέλν θχθισκα, αιιά θαιχπηεη γεληθφηεξα ην ρψξν ησλ ελζσκαησκέλσλ ζπζηεκάησλ (embedded systems). Γηα απηφ ην ιφγν φιεο νη αλαθνξέο καο ζε System on Chip κπνξνχλ εχθνια λα γεληθεπζνχλ θαη ζηα embedded systems. Σηα πιαίζηα ηεο παξνχζαο εξγαζίαο κνληεινπνηνχκε ηνλ ειεγθηή CAN (CAN Controller) ρξεζηκνπνηψληαο ηε κέζνδν SystemC TLM. Ο ειεγθηήο απηφο ρξεζηκνπνηείηαη γηα ηελ επηθνηλσλία κηθξνειεγθηψλ κέζσ ελφο ζεηξηαθνχ δηαχινπ (CAN Bus). Τα πιενλεθηήκαηα ελφο δηθηχνπ CAN είλαη πνιιά, φπσο ρακειή 2

13 πνιππινθφηεηα, κεγάιεο ηαρχηεηεο επηθνηλσλίαο (έσο 1Mbps), θαιφ κεραληζκφ δηαρείξηζεο ζθαικάησλ, θαη άιια κε ζεκαληηθφηεξν ηελ απνπζία ελφο θεληξηθνχ ειεγθηή. Η αλάπηπμή ηνπ έγηλε ην 1983 απφ ηελ εηαηξία Robert Bosch GmbH θαη αξρηθά ρξεζηκνπνηήζεθε ζε εθαξκνγέο απηνθίλεζεο, σζηφζν πιένλ βξίζθεη εθαξκνγή θαη ζε άιια πεδία φπσο βηνκεραληθφ θαη ηαηξηθφ εμνπιηζκφ. Λφγσ ησλ πιενλεθηεκάησλ πνπ πξνζθέξεη, ε ελζσκάησζε ηνπ δηθηχνπ CAN ζε έλα νπνηνδήπνηε ζχζηεκα είλαη κία πηζαλή εθδνρή. Γηα απηφ ην ιφγν, ε χπαξμε ελφο SystemC TLM κνληέινπ ηνπ είλαη ζεκαληηθή γηα λα κπνξεί εχθνια λα εθηηκεζεί, ζηα αξρηθά ζηάδηα ηεο ζρεδίαζεο, ε απφδνζή ηνπ ζην ππφ θαηαζθεπή ζχζηεκα. 1.2 Οξγάλσζε θεηκέλνπ Τν θείκελν έρεη νξγαλσζεί έηζη ψζηε λα δνζεί πξψηα ην ζεσξεηηθφ ππφβαζξν πάλσ ζην νπνίν ζηεξίδεηαη ε εξγαζία θαη έπεηηα παξνπζηάδεηαη ην ζέκα θαη ε πινπνίεζή ηνπ. Πην ζπγθεθξηκέλα, ζην θεθάιαην 2 αλαιχεηαη ηη αθξηβψο ελλννχκε κε ηε θξάζε «Σρεδίαζε ζε επίπεδν ζπζηήκαηνο» θαη πσο εθαξκφδεηαη ζηελ πξάμε απηφο ν ηξφπνο ζρεδίαζεο ζπζηεκάησλ. Σην θεθάιαην 3 πεξηγξάθεηαη ε γιψζζα κνληεινπνίεζεο ζπζηεκάησλ SystemC TLM, πσο θαηαιήμακε ζε απηή θαζψο θαη ηα ηερληθά ραξαθηεξηζηηθά ηεο. Σην θεθάιαην 4 θιείλνπκε κε ηε ζεσξεηηθή βάζε ηεο εξγαζίαο, κε ηελ παξνπζίαζε ηνπ δηθηχνπ CAN ζε ζεσξεηηθφ αιιά θαη ζε ηερληθφ επίπεδν. Έπεηηα, ζην θεθάιαην 5 παξνπζηάδεηαη ην ζέκα ηεο δηπισκαηηθήο, δειαδή ε αλάπηπμε ελφο κνληέινπ SystemC TLM ηνπ CAN controller, ε ρξεζηκφηεηά ηνπ, νη ζηφρνη, ν ηξφπνο πινπνίεζεο. Γίλεηαη επίζεο αλαθνξά ζην HurriCANe, ην πξφγξακκα ηεο Δπξσπατθήο Υπεξεζίαο Γηαζηήκαηνο (ESA) κέζα ζην νπνίν ζρεδηάζηεθε θαη πινπνηήζεθε έλαο ειεγθηήο CAN, ηνλ νπνίν θαη ρξεζηκνπνηήζακε σο κνληέιν αλαθνξάο. Σην θεθάιαην 6, παξνπζηάδνληαη ηα απνηειέζκαηα κηαο ζεηξάο εμνκνηψζεσλ ζε ζχγθξηζε κε ηνλ ειεγθηή ηεο ESA. Τέινο, ην θεθάιαην 7 πεξηέρεη κία ζχλνςε φζσλ αλαθέξζεθαλ, ζπκπεξάζκαηα θαη κειινληηθέο πξνεθηάζεηο ηνπ έξγνπ. Τν ζχγγξακκα απηφ νινθιεξψλεηαη κε Παξάξηεκα πνπ πεξηέρεη ηα απνηειέζκαηα απφ ηηο εμνκνηψζεηο πνπ έγηλαλ, θαζψο θαη ηε βηβιηνγξαθία πνπ ρξεζηκνπνηήζεθε. 3

14 2 ρεδίαζε ζε επίπεδν ζπζηήκαηνο 2.1 Δπίπεδν αθαηξεηηθόηεηαο ηεο ζρεδίαζεο Θα μεθηλήζνπκε απηφ ην θεθάιαην δίλνληαο πξψηα κηα εμήγεζε γηα ην ηη ελλννχκε φηαλ ιέκε αθαηξεηηθφηεηα (abstraction είλαη ε αγγιηθή νξνινγία), ηη είλαη ην επίπεδν αθαηξεηηθφηεηαο ζηε ζρεδίαζε θαη πνηά επίπεδα ζπλαληάκε ζηε ζρεδίαζε ελφο ζπζηήκαηνο ζε νινθιεξσκέλν θχθισκα. Με ηνλ φξν αθαηξεηηθφηεηα ελλννχκε ηε δηαδηθαζία ηεο αθαίξεζεο θάπνησλ πιεξνθνξηψλ, ραξαθηεξηζηηθψλ απφ έλα αληηθείκελν (ή απφ κία έλλνηα) κε ζθνπφ λα κεηψζνπκε ηελ πνιππινθφηεηά ηνπ θαη λα ην θάλνπκε πην θαηαλνεηφ. Βιέπνπκε δειαδή ην αληηθείκελν απφ έλα «πςειφηεξν πεδίν», πην γεληθφ, ρσξίο λα καο ελδηαθέξνπλ φιεο νη ιεπηνκέξεηεο. Γηα παξάδεηγκα, γηα λα ρξεζηκνπνηήζεη θάπνηνο έλα απηφκαην κεράλεκα πψιεζεο αλαςπθηηθψλ ηα κφλα πνπ πξέπεη λα μέξεη είλαη πσο δηαιέγεη ην αλαςπθηηθφ πνπ επηζπκεί, πνπ βάδεη ηα ρξήκαηα θαη απφ πνχ βγαίλεη ην θνπηάθη. Οη εζσηεξηθέο ιεηηνπξγίεο, φπσο πσο αλαγλσξίδεηαη ην πνζφ ρξεκάησλ πνπ έρεη εηζάγεη ζην κεράλεκα, πσο δίλεηε ε εληνιή λα πέζεη ζπγθεθξηκέλν αλαςπθηηθφ ζηελ έμνδν, πσο ιεηηνπξγεί ν κεραληζκφο πνπ ξίρλεη ην θνπηάθη, θ.α. είλαη πιεξνθνξίεο πνπ δελ πξνζθέξνπλ ηίπνηα ζηελ πξνζπάζεηα θάπνηνπ λα αγνξάζεη έλα αλαςπθηηθφ. Η αθαηξεηηθφηεηα είλαη κία ηζρπξή ηερληθή θαη βξίζθεη κεγάιε εθαξκνγή ζηε δηαδηθαζία ηεο ζρεδίαζεο πνιχπινθσλ ζπζηεκάησλ. Αλάινγα κε ηηο πιεξνθνξίεο ηνπ ζπζηήκαηνο πνπ απνθξχπηνληαη θάζε θνξά, κπνξνχκε λα δεκηνπξγήζνπκε δηαθνξεηηθά επίπεδα αθαηξεηηθφηεηαο, φπνπ ην θάζε έλα έρεη ην δηθφ ηνπ ιεμηιφγην γηα λα πεξηγξάςεη απηφ ην νπνίν ζρεδηάδεηαη. Με άιια ιφγηα, θάζε επίπεδν ραξαθηεξίδεηαη απφ ηα αληηθείκελα πνπ κπνξεί λα ρεηξηζηεί θαη ηηο ιεηηνπξγίεο πνπ κπνξεί λα εθηειέζεη πάλσ ζε απηά. Μπνξνχκε έηζη, λα κεηψζνπκε ηελ πνιππινθφηεηα ελφο ζπζηήκαηνο, θξχβνληαο αξρηθά ηηο ιεπηνκέξεηεο πινπνίεζεο θαη λα δνπιέςνπκε πάλσ ζε απηέο ζε επφκελε θάζε ηνπ ζρεδηαζκνχ. Έλαο ηξφπνο γηα λα ραξαθηεξίζνπκε, πνιιέο θνξέο, ην επίπεδν αθαηξεηηθφηεηαο ζην νπνίν δνπιεχνπκε έρεη λα θάλεη κε ηελ γιψζζα πεξηγξαθήο πνπ ρξεζηκνπνηείηαη. Ο ρσξηζκφο ηεο ξνήο ηεο ζρεδίαζεο ζε δηαθνξεηηθά επίπεδα αθαηξεηηθφηεηαο, έρεη σο απνηέιεζκα πνιχ θαιχηεξε αληηκεηψπηζε ηνπ πξνβιήκαηνο. Απηφ γηαηί πξψηνλ, απφ φζν πην «ςειά» βιέπεηο ην ζχζηεκα ηφζν κηθξφηεξε πνιππινθφηεηα εκθαλίδεη άξα θαη ηφζν πην θαηαλνεηφ γίλεηαη. Μπνξείο έηζη λα πάξεηο ηηο θαηάιιειεο απνθάζεηο γηα ην πνηα πνξεία πξέπεη λα αθνινπζήζεη ε ζρεδίαζε. Γεχηεξνλ, κπνξείο λα ζρεδηάζεηο θάηη κε βάζε ηα «πιηθά» ζνπ πξνζθέξεη ην ακέζσο θαηψηεξν επίπεδν, ρσξίο λα ελδηαθέξεζαη γηα ηνλ ηξφπν θαηαζθεπήο ηνπο. Πνηα είλαη φκσο απηά ηα επίπεδα ζηε δηαδηθαζία ζρεδίαζεο ελφο «Σπζηήκαηνοζε-Οινθιεξσκέλν θχθισκα»; Μέρξη πξφζθαηα ην αλψηεξν επίπεδν ζηε ζρεδίαζε 4

15 πιηθνχ ήηαλ απηφ ηεο πεξηγξαθήο ηεο ζπκπεξηθνξάο (behavioral level) θαη ην ακέζσο επφκελν ην επίπεδν ησλ θαηαρσξεηψλ (RTL). Πην θάησ βξίζθεηαη ην επίπεδν ησλ ινγηθψλ ππιψλ, ην νπνίν κε ηε ζεηξά ηνπ βξίζθεηαη πάλσ απφ ην επίπεδν ησλ ηξαλδίζηνξ. Σήκεξα κηιάκε θαη γηα ην επίπεδν ζπζηήκαηνο ην νπνίν πιένλ δελ αλαθέξεηαη απνθιεηζηηθά ζηε ζρεδίαζε ηνπ πιηθνχ αιιά πεξηιακβάλεη θαη ηελ αλάπηπμε ηνπ ινγηζκηθνχ. [11] 2.2 Σν επίπεδν θαηαρσξεηώλ (RTL) Θα ζηαζνχκε ιίγν πεξηζζφηεξν ζην επίπεδν θαηαρσξεηψλ κηαο θαη είλαη, κέρξη θαη ζήκεξα, ην αλψηεξν επίπεδν ζρεδίαζεο ελφο ζπζηήκαηνο πνπ κπνξεί απνδνηηθά θαη απηνκαηνπνηεκέλα λα κεηαθξαζηεί ζε πιηθφ. Η ζρεδίαζε ζε επίπεδν ζπζηήκαηνο είλαη αθφκα ζε πξψηκν ζηάδην θαη ρξεζηκνπνηείηαη ζηελ αξρή ηεο ξνήο ηεο ζρεδίαζεο γηα ηνλ απνδνηηθφηεξν ζπληνληζκφ ηεο δηαδηθαζίαο αλάπηπμεο ελφο System-on-Chip. Απφ εθεί θαη πέξα, ε κεηάθξαζε ηνπ κνληέινπ ζπζηήκαηνο ζε επίπεδν θαηαρσξεηψλ πξέπεη λα γίλεη «κε ην ρέξη» Η ζρεδίαζε ζε επίπεδν θαηαρσξεηψλ γίλεηαη κε ηε ρξήζε κηαο γιψζζαο πεξηγξαθήο πιηθνχ (HDL). Οη δχν ζεκαληηθφηεξεο ηέηνηεο γιψζζεο είλαη ε VHDL θαη ε Verilog. Σηελ RTL ζρεδίαζε, ε πεξηγξαθή ηεο ζπκπεξηθνξάο ελφο θπθιψκαηνο γίλεηαη κε βάζε ηελ ξνή ησλ δεδνκέλσλ (transfer of data) αλάκεζα ζε θαηαρσξεηέο αιιά θαη ηηο ινγηθέο πξάμεηο πνπ εθηεινχληαη πάλσ ζε απηά ηα δεδνκέλα. Δμ νπ θαη ην φλνκα Register Transfer Level (RTL). Μφιηο ε πεξηγξαθή ελφο θπθιψκαηνο είλαη έηνηκε, εηδηθά εξγαιεία κπνξνχλ λα θάλνπλ ζχλζεζε, δειαδή λα ηε κεηαηξέςνπλ ζε πεξηγξαθή ζε επίπεδν ινγηθψλ ππιψλ θαη λα παξάγνπλ ελ ηέιεη έλα ζρεδηάγξακκα γηα ηελ πινπνίεζή ηεο. Οη βαζηθνί ιφγνη πνπ θαζηζηνχλ απηφ ην επίπεδν αθαηξεηηθφηεηαο «ιίγν», γηα ηε ζρεδίαζε ελφο System-on-Chip ζήκεξα, είλαη δχν. Πξψηνλ, δελ κπνξεί λα γίλεη θακία αλάιπζε γηα ην ζχζηεκα, νχηε λα ειεγρζεί ε ιεηηνπξγία ηνπ ινγηζκηθνχ, πξνηνχ νινθιεξσζεί ε πεξηγξαθή φισλ ησλ ζηνηρείσλ ηνπ ζπζηήκαηνο ζε γιψζζα HDL. Γεχηεξνλ, φζν πην κεγάιν είλαη ην ζχζηεκα ηφζν πην αξγή γίλεηαη ε εμνκνίσζή ηνπ. Απηφ νθείιεηαη ζην γεγνλφο φηη ζε θάζε θχθιν εμνκνίσζεο πξέπεη λα πεξηγξαθεί ε ζπκπεξηθνξά πνιιψλ παξαιιήισλ δηαδηθαζηψλ. [1] 2.3 Η θιαζηθή ξνή ζρεδίαζεο Με ηνλ φξν ξνή ζρεδίαζεο ελλννχκε ηα βήκαηα πνπ αθνινπζνχληαη θαηά ηε δηάξθεηα ηεο ζρεδίαζεο ελφο νινθιεξσκέλνπ θπθιψκαηνο. Μέζα ζε απηά πεξηιακβάλεηαη ε ζχιιεςε ηεο ηδέαο, ε αλάπηπμε ηνπ ζπζηήκαηνο, ε επαιήζεπζε ηνπ, ν έιεγρνο εγθπξφηεηαο θαη θηάλεη έσο ην ζεκείν ηεο ηειηθήο παξαγσγήο ηνπ ζπζηήκαηνο θαη ηεο εηζφδνπ ηνπ ζηε αγνξά. Η θιαζηθή ξνή ζρεδίαζεο πνπ αθνινπζείηαη κπνξεί λα πεξηγξαθεί απιά, φπσο θαίλεηαη θαη ζην παξαθάησ ζρήκα, σο εμήο: Σε πξψηε θάζε θαζνξίδνληαη νη γεληθέο 5

16 πξνδηαγξαθέο ηνπ ζπζηήκαηνο. Απφ εθεί θαη πέξα ε ζρεδίαζε ρσξίδεηαη ζε δχν κέξε, ηελ αλάπηπμε ηνπ πιηθνχ θαη ηελ αλάπηπμε ηνπ ινγηζκηθνχ. 2.1 Η θιαζηθή ξνή ζρεδίαζεο Όπσο βιέπνπκε θαη ζην ζρήκα 2.1, ην έλα κέξνο ιεηηνπξγεί αλεμάξηεηα απφ ην άιιν. Καηαιαβαίλνπκε έηζη φηη θάπνηνο είδνο ηαπηφρξνλνπ ειέγρνπ δελ κπνξεί λα ιάβεη ρψξα ηψξα αιιά ζε θάπνηα επφκελε θάζε. Έλαο απφ ηνπο ιφγνπο πνπ δελ γίλεηαη ζε απηφ ην ζεκείν θάπνηνο ζπλδπαζηηθφο έιεγρνο έρεη λα θάλεη κε ηελ ηαρχηεηα εμνκνίσζεο ηνπ RTL θψδηθα, πνπ γηα έλα κεγάιν ζχζηεκα, φπσο είλαη ηα SoC, είλαη πνιχ κηθξή. Αλ θηλεζνχκε απφ ηε κεξηά ηεο ζρεδίαζεο ηνπ πιηθνχ, ην πξψην βήκα είλαη ε αλάπηπμε ηνπ θψδηθα ζε θάπνηα γιψζζα πεξηγξαθήο πιηθνχ. Έπεηηα αθνινπζεί ε εμνκνίσζε γηα επαιήζεπζε ηεο ζσζηήο ιεηηνπξγίαο, ε ζχλζεζε θαη θηάλεη σο ην ηειηθφ ζρέδην πνπ ζα δνζεί γηα πινπνίεζε ελφο πξνηχπνπ. 6

17 Απφ ηελ άιιε κεξηά, ην ινγηζκηθφ αλαπηχζζεηαη ζηα «ηπθιά», ρσξίο δειαδή λα κπνξεί λα ειεγρζεί ε ιεηηνπξγία ηνπ πάλσ ζην πιηθφ γηα πηζαλά ζθάικαηα, πξνηνχ δεκηνπξγεζεί ην πξσηφηππν ηνπ ζπζηήκαηνο. Έπεηηα γίλεηαη ε ελζσκάησζή ηνπ ζην ζχζηεκα θαη φιν ην ζχζηεκα ειέγρεηαη γηα εγθπξφηεηα. Αλ εκθαληζηνχλ ζθάικαηα ζην πιηθφ ή/θαη ζην ινγηζκηθφ ζα πξέπεη λα μαλαγίλεη ε ζρεδίαζή ηνπο, επηζηξέθνληαο έηζη ζην δεχηεξν βήκα, φπσο θαίλεηαη θαη ζηελ πξνεγνχκελε εηθφλα. Δίλαη πξνθαλέο φηη θάηη ηέηνην δεκηνπξγεί θαζπζηεξήζεηο ζηε ζρεδίαζε. [1] 2.4 Σα πξνβιήκαηα ηεο θιαζηθήο ξνήο ζηε ζρεδίαζε SoC ζήκεξα Τν πξνεγνχκελν κνληέιν ζρεδίαζεο έρεη ρξεζηκνπνηεζεί κε επηηπρία γηα πνιιά ρξφληα. Τα φπνηα κεηνλεθηήκαηα αλαθέξακε πξνεγνπκέλσο ππήξραλ, σζηφζν δελ έπαηδαλ κεγάιν ξφιν ζηελ εκπνξηθή επηηπρία ηνπ πξντφληνο πνπ θαηαζθεπαδφηαλ θάζε θνξά. Ο ιφγνο γηα ηνλ νπνίν νη αξλεηηθέο πηπρέο ηνπ θιαζηθνχ ζρεδηαζκνχ έρνπλ απνθηήζεη πιένλ βαξχλνπζα ζεκαζία έρεη λα θάλεη κε ηελ εμέιημε ηεο ηερλνινγίαο, φπσο αλαθέξακε θαη ζηελ εηζαγσγή. Η αχμεζε ηεο πνιππινθφηεηαο, ε πίεζε γηα ηε γξήγνξε είζνδν ηνπ πξντφληνο ζηελ αγνξά, ην απμαλφκελν θφζηνο θαηαζθεπήο θαζψο θαη ε ελζσκάησζε πην ζχλζεηνπ ινγηζκηθνχ είλαη νη βαζηθνί παξάγνληεο πνπ θαζηζηνχλ ηελ θιαζηθή ξνή ζρεδίαζεο ειιηπή. Αμίδεη λα δνχκε ιίγν αλαιπηηθφηεξα απηνχο ηνπο παξάγνληεο. [1] Αύμεζε ηεο πνιππινθόηεηαο Καζψο ν αξηζκφο ησλ ηξαλδίζηνξ πνπ ρσξάλε ζε έλα νινθιεξσκέλν δηπιαζηάδεηαη θάζε ζρεδφλ δχν ρξφληα, αθνινπζψληαο έηζη θαη ηελ πξφβιεςε ηνπ Gordon Moore ην 1965, γλσζηή θαη σο Moore s Law, θαη ηαπηφρξνλα ε ηάζε γηα φιν θαη πην κηθξά ζπζηήκαηα, κε φιν θαη πεξηζζφηεξεο ελζσκαησκέλεο δπλαηφηεηεο, έρνπλ νδεγήζεη ζε εθξεθηηθή αχμεζε ηεο πνιππινθφηεηαο ησλ ζπζηεκάησλ ζε νινθιεξσκέλα θπθιψκαηα. Απηφ κε ηε ζεηξά ηνπ επεξεάδεη άκεζα ηελ παξαγσγηθή δηαδηθαζία. Οη νκάδεο εξγαζίαο γίλνληαη πεξηζζφηεξεο θαη πνιππξφζσπεο, άξα δεκηνπξγνχληαη πξνβιήκαηα επηθνηλσλίαο θαη θαηαλφεζεο ηνπ έξγνπ. Η αλάιπζε ηνπ ζπζηήκαηνο γίλεηαη δπζθνιφηεξε θαζψο θαη ν έιεγρνο ηεο αμηνπηζηίαο ηνπ. Οη εμνκνηψζεηο απαηηνχλ πιένλ ηεξάζηηνπο ρξφλνπο θαη ίζσο κε εθηθηνχο. Καη πέξα απφ φια απηά, φπνην ιάζνο ζπκβεί, θαη είλαη πνιχ πηζαλφ λα ζπκβεί, ζα έρεη ηεξάζηηεο ζπλέπεηεο ζηελ δηαδηθαζία, κε κεγάιν θφζηνο ζην ρξφλν, ίζσο θαηαζηξνθηθφ γηα ηελ είζνδφ ηνπ πξντφληνο ζηελ αγνξά. Σε φια απηά δελ έρνπκε ζπλππνινγίζεη ηελ ελζσκάησζε λένπ ινγηζκηθνχ πνπ ίζσο θέξλεη κεγαιχηεξεο απαηηήζεηο πιηθνχ. Γηα παξάδεηγκα, έλα ζχγρξνλν θηλεηφ ηειέθσλν πξέπεη, πέξα απφ ηηο βαζηθέο ηνπ ιεηηνπξγίεο (ρεηξηζκφο εηζεξρνκέλσλ θιήζεσλ, κελπκάησλ), λα πεξηέρεη θαη δπλαηφηεηεο φπσο αλαπαξαγσγή κνπζηθψλ 7

18 θνκκαηηψλ, βίληεν, λα ιεηηνπξγεί σο ξαδηφθσλν, λα επηθνηλσλεί κε δνξπθφξνπο γηα λα εληνπίδεη ηε γεσγξαθηθή ζέζε, θ.α.. Γηα λα απνθεπρζνχλ φια απηά ηα πξνβιήκαηα ρξεηάδεηαη έλα πιάλν, κία κέζνδνο πνπ ζα ζπληνλίδεη φιεο ηηο δηαδηθαζίεο. Οη δηαθνξεηηθέο νκάδεο εξγαζίαο ζα πξέπεη λα βξίζθνληαη ζε ζηελή ζπλεξγαζία γηα ηελ ειαρηζηνπνίεζε ησλ παξεξκελεηψλ. Η ζρεδίαζε ζα πξέπεη λα κνηξαζηεί ζε δηαθνξεηηθά επίπεδα, φπνπ ην θαζέλα ζα έρεη πεξηνξηζκέλν αξηζκφ πιεξνθνξηψλ γηα ηα ππφινηπα - νπζηαζηηθά κφλν απηά πνπ ρξεηάδνληαη απινπνηψληαο έηζη ηνλ ηξφπν δεκηνπξγίαο αληηθεηκέλσλ ζε εθείλν ην επίπεδν. [1] Υξόλνο εηζόδνπ ζηελ αγνξά Με ηελ έλλνηα «ρξφλνο εηζφδνπ ζηελ αγνξά» αλαθεξφκαζηε ζην ρξνληθφ δηάζηεκα απφ ηε ζηηγκή ηεο ζχιιεςεο ηεο ηδέαο γηα έλα πξντφλ έσο φηνπ απηφ είλαη δηαζέζηκν πξνο πψιεζε ζηνπο θαηαλαισηέο. Όζν πην κηθξφ είλαη απηφ ην ρξνληθφ δηάζηεκα, ηφζν κεγαιχηεξν φθεινο έρεη ε παξαγσγφο εηαηξία. 2.2 Παξάζπξν πξντόληνο ζηελ αγνξά Τν ιφγν γηα ηνλ νπνίν ζπκβαίλεη απηφ κπνξνχκε λα ηνλ θαηαιάβνπκε βιέπνληαο θαη ηελ εηθφλα 2.2. Τν πξντφλ πνπ είλαη πην λσξίο δηαζέζηκν παίξλεη κεγαιχηεξν πνζνζηφ ηεο αγνξάο, έρεη κεγαιχηεξν ρξφλν δσήο θαη ζπλεπψο, κεγαιχηεξν θέξδνο. Σε νξηζκέλεο αγνξέο, ε εηαηξία πνπ βγάδεη πξψηε ην πξντφλ δηαηεξεί έλα πνζνζηφ γχξσ ζην 60% ηνπ αγνξαζηηθνχ θνηλφ, αθφκα θαη κεηά ηελ πξνζθνξά ηνπ πξντφληνο απφ αληαγσληζηέο. [1] 8

19 2.4.3 Κόζηνο αλάπηπμεο θαη παξαγσγήο Ο ηξίηνο ζεκαληηθφο παξάγνληαο ηνλ νπνίν δελ κπνξεί λα αληηκεησπίζεη απνηειεζκαηηθά ε θιαζηθή ξνή ζρεδίαζεο, έρεη λα θάλεη κε ην δηαξθψο απμαλφκελν θφζηνο ηεο αλάπηπμεο θαη παξαγσγήο ελφο λένπ πξντφληνο. Αχμεζε ηνπ εξγαηηθνχ δπλακηθνχ, ζθάικαηα ζηε ζρεδίαζε, κεγαιχηεξν θφζηνο πινπνίεζεο ηνπ νινθιεξσκέλνπ νδεγνχλ ζε απηφ ην απνηέιεζκα. Πην αλαιπηηθά, ε απμεκέλε πνιππινθφηεηα ελφο ζπζηήκαηνο ζε νινθιεξσκέλν θαζηζηά απαξαίηεηε ηε ρξεζηκνπνίεζε πεξηζζνηέξσλ αηφκσλ γηα ηελ θάιπςε ηνπ φγθνπ εξγαζίαο ζε κηθξφηεξν ρξφλν, άξα θαη πεξηζζφηεξα έμνδα γηα ηελ πιεξσκή ηνπο. Δπίζεο, ε απμεκέλε πνιππινθφηεηα απαηηεί πην ζχλζεηα εξγαιεία ζρεδίαζεο θαη ειέγρνπ, κεγαιχηεξνπ θφζηνπο. Λάζε ζηε ιεηηνπξγηθφηεηα ή κε ηθαλνπνηεηηθή απφδνζε, νδεγνχλ ζε λέα ζρεδίαζε κε επηπιένλ θφζηνο πξνηππνπνίεζεο αιιά θαη απψιεηεο θεξδψλ απφ ηελ αξγνπνξεκέλε έμνδν ηνπ πξντφληνο ζηελ αγνξά. Τέινο, ε θνξσλίδα ηεο ηερλνινγίαο πιηθνχ, ε λαλνηερλνινγία, έρεη ηηκέο πςειφηεξεο απφ πνηέ. [1] ύλζεηεο εθαξκνγέο ινγηζκηθνύ Τν ινγηζκηθφ πνπ ελζσκαηψλεηαη πιένλ ζε έλα ζχζηεκα ζε νινθιεξσκέλν είλαη πην ζχλζεην απφ πνηέ. Απηφ κπνξεί λα ην θαηαιάβεη θαλείο εχθνια βιέπνληαο ηα πξνγξάκκαηα πνπ δηαζέηνπλ ηα θηλεηά ηειέθσλα φπσο αλαπαξαγσγφ πνιπκέζσλ, επεμεξγαζηή εηθφλσλ, ςεθηαθή θσηνγξαθηθή, πεξηεγεηή δηαδηθηχνπ, πξφγξακκα πινήγεζεο. Πνιιέο απφ απηέο ηηο εθαξκνγέο ρξεηάδνληαη ηελ ππνζηήξημε πιηθνχ άιιεο γηα λα γηα λα ιεηηνπξγήζνπλ γεληθά θαη άιιεο γηα λα ιεηηνπξγήζνπλ πην απνηειεζκαηηθά. Σηηο πξψηεο αλήθεη γηα παξάδεηγκα κία εθαξκνγή ξαδηνθψλνπ, ε νπνία ρξεηάδεηαη ελζσκαησκέλν δέθηε, ελψ ζηηο δεχηεξεο αλήθεη κία εθαξκνγή αλαπαξαγσγήο βίληεν mpeg4, αθνχ άκα ππάξρεη απνθσδηθνπνηεηήο ζε πιηθφ ε απφδνζή ηεο ζα είλαη πνιχ θαιχηεξε. Έηζη ινηπφλ, νη ζρεδηαζηέο ινγηζκηθνχ ρξεηάδνληαη ζηε δηάζεζή ηνπο, λσξίο ζηε ξνή ηεο ζρεδίαζεο, έλα αθξηβέο κνληέιν ηνπ πιηθνχ, ζην νπνίν ζα ηξέρνπλ νη εθαξκνγέο ηνπο, ψζηε λα κελ απνηειέζεη ε αλάπηπμε ινγηζκηθνχ ηνλ «αδχλακν θξίθν» ζηνλ ρξνληθφ πξνγξακκαηηζκφ ηεο παξαγσγήο. Με απηφ ηνλ ηξφπν ζψδεηαη ρξφλνο απφ δχν έσο 6 κήλεο. 2.5 Αλαδήηεζε λέαο ξνήο ζρεδίαζεο Καζψο ε θιαζηθή ξνή ζρεδίαζεο δελ θάιππηε πιένλ ηηο αλάγθεο ηεο βηνκεραλίαο παξαγσγήο «Σπζηεκάησλ ζε Οινθιεξσκέλα Κπθιψκαηα» άξρηζαλ λα γίλνληαη ζπδεηήζεηο θαη λα δηεμάγνληαη έξεπλεο, πξνο δηάθνξεο θαηεπζχλζεηο, γηα λα βξεζεί κία ιχζε. Η κία ήηαλ ε επαλαρξεζηκνπνίεζε ππξήλσλ πλεπκαηηθήο 9

20 ηδηνθηεζίαο (IP) θαη ε άιιε ζηξεθφηαλ ζηελ αιιαγή ηεο ξνήο ηνπ ζρεδηαζκνχ, μεθηλψληαο ηνλ απφ πςειφηεξν επίπεδν. [1] Δπαλαρξεζηκνπνίεζε ππξήλσλ πλεπκαηηθήο ηδηνθηεζίαο (IP) Θα κηιήζνπκε πξψηα γηα ηελ επαλαρξεζηκνπνίεζε νληνηήησλ πλεπκαηηθήο ηδηνθηεζίαο ζε επίπεδν RTL. Η ηδέα ηεο βαζίδεηαη ζηε ινγηθή φηη αλ ζε έλα SoC ρξεηάδεηαη λα πεξηιεθζεί έλα ζηνηρείν πιηθνχ, ην νπνίν φκσο έρεη θαηαζθεπαζηεί ήδε, είηε απφ ηελ ίδηα ηελ εηαηξία πνπ ην ρξεηάδεηαη, είηε απφ δηαθνξεηηθή, ζα κπνξνχζε λα ελζσκαησζεί ζην ζχζηεκα θαηεπζείαλ, ρσξίο λα ρξεηαζηεί λα ζρεδηαζηεί απφ ηελ αξρή. Τν κεγαιχηεξν πιενλέθηεκα κε βάζε απηή ηε δηαδηθαζία είλαη ε κεγάιε κείσζε ηνπ ρξνληθνχ δηαζηήκαηνο πνπ ρξεηάδεηαη γηα ηελ είζνδν ηνπ SoC ζηελ αγνξά. Απφ εθεί θαη πέξα φκσο, ην αλ κία εηαηξία ζρεδίαζεο νινθιεξσκέλσλ θπθισκάησλ ρξεζηκνπνηήζεη έλα εμσηεξηθφ IP (κε ηελ πξνυπφζεζε φηη δελ έρεη θάπνην αληίζηνηρν δηθφ ηεο) ή ην ζρεδηάζεη απφ ηελ αξρή κφλε ηεο, εμαξηάηαη απφ δηάθνξα θξηηήξηα, φπσο: αλ δηαζέηεη ηελ ηερλνγλσζία γηα ηε ζρεδίαζε ελφο ζπγθεθξηκέλνπ IP, αλ έρεη ρξνληθφ πεξηζψξην γηα λα ην ζρεδηάζεη εζσηεξηθά, ην θφζηνο ηνπ λα ην αγνξάζεη ζε ζρέζε κε ην λα ην θηηάμεη εζσηεξηθά, αλ ε απφδνζε ηνπ εμσηεξηθνχ ζηνηρείνπ θαιχπηεη ηηο αλάγθεο ηεο εθαξκνγήο, αλ ην εμσηεξηθφ ζηνηρείν είλαη επξέσο απνδεθηφ απφ ηελ αγνξά (π.ρ. USB) Πέξα απφ απηά, ε επαλαρξεζηκνπνίεζε IP ζηνηρείσλ ζε επίπεδν RTL ζπλαληάεη θαη άιιεο δπζθνιίεο. Η επηινγή ηνπ θαηάιιεινπ IP πνπ πξνζθέξεηαη απφ δηαθφξνπο παξφρνπο κπνξεί λα είλαη ρξνλνβφξα. Κάζε IP πξέπεη λα ζπλνδεχεηαη θαη απφ ζσζηή ηεθκεξίσζε θαη άιιεο πιεξνθνξίεο ιεηηνπξγίαο. Η θαηαλφεζε ηνπ, ε ζσζηή ελζσκάησζή ηνπ θαζψο θαη ν έιεγρφο ηνπ απαηηεί, επίζεο, ρξφλν. Σε άιιε δηάζηαζε, ππάξρεη θαη ν εγσηζκφο ηνπ ζρεδηαζηή ζε δηάθνξεο εθθάλζεηο φπσο, λα πηζηεχεη φηη κπνξεί λα θαηαθέξεη θαιχηεξε πινπνίεζε απφ ηελ ππάξρνπζα, λα θνβάηαη γηα ηελ πλεπκαηηθή ηνπ ηδηνθηεζία, λα ζεσξεί φηη ζπαηαιάεη ρξφλν θαη πξνζπάζεηα γηα λα ηα βξεη θάπνηνο άιινο έηνηκα. Όια απηά πεξηνξίδνπλ ηελ εθαξκνγή ηεο ηδέαο επαλαρξεζηκνπνίεζεο ζηνηρείσλ πιηθνχ. [10] Τςειόηεξν επίπεδν αθαηξεηηθόηεηαο ζηε ζρεδίαζε Ωο εθείλν ην ζεκείν, ην πςειφηεξν επίπεδν αθαηξεηηθφηεηαο απφ ην νπνίν κπνξνχζε λα δεη θάπνηνο ην ζχζηεκα ήηαλ ην επίπεδν ησλ θαηαρσξεηψλ (RTL). Πξνηάζεθε, ινηπφλ, ε ζρεδίαζε λα μεθηλάεη ζε επίπεδν ζπζηήκαηνο, πξνζζέηνληαο έηζη κία επέθηαζε (System to RTL) ζηελ ήδε ππάξρνπζα ξνή (RTL to layout). Αο δνχκε φκσο, πνηνη ιφγνη θαηέζηεζαλ απηήλ ηελ πξνζέγγηζε ελδηαθέξνπζα. 10

21 Έλαο ιφγνο πνπ θαηέζηεζε ηελ θιαζηθή ξνή ζρεδίαζεο κε επαξθή, φπσο είπακε θαη λσξίηεξα, ήηαλ ε κεγάιε θαζπζηέξεζε αλάπηπμεο θαη ειέγρνπ ηνπ ινγηζκηθνχ πνπ ζα ηξέρεη πάλσ ζην νινθιεξσκέλν. Ωζηφζν, ην ελζσκαησκέλν ινγηζκηθφ παίδεη φιν θαη κεγαιχηεξν ξφιν ζηα ζχγρξνλα SoC, αθνχ πέξα απφ ηηο εθαξκνγέο ρξεζηψλ πνπ έρνπλ απμεζεί θαηαθφξπθα, ζε ινγηζκηθφ αλαπηχζζνληαη θαη πνιιέο ζπλαξηήζεηο πνπ ζα κπνξνχζαλ λα πινπνηεζνχλ ζε πιηθφ, φκσο ζα νδεγνχζαλ ζε πνιχ κεγαιχηεξε πνιππινθφηεηα ηνπ. Με ηελ χπαξμε ελφο κνληέινπ ηνπ ζπζηήκαηνο λσξίο ζηε ζρεδίαζε επηηαρχλεηαη απηφκαηα θαη ν θχθινο ζρεδίαζεο. Έλαο άιινο ιφγνο πνπ πξνσζήζεθε απηή ε ηδέα έρεη λα θάλεη κε ηε δπλαηφηεηα αλάιπζεο ηεο αξρηηεθηνληθήο ηνπ ζπζηήκαηνο, ηεο απφδνζήο ηνπ αιιά θαη ηε δπλαηφηεηα ειέγρνπ ηεο ιεηηνπξγηθφηεηάο ηνπ απφ ηα πξψηα ζηάδηα ηεο ζρεδίαζεο. Δίλαη ζεκαληηθφ λα γλσξίδνπκε απφ λσξίο αλ έλα ζχζηεκα πνπ ζρεδηάδνπκε έρεη ηελ ζσζηή ιεηηνπξγηθφηεηα, αλ ηθαλνπνηεί ηηο απαηηήζεηο απφδνζεο θαη ρξφλνπ, γηα λα κελ ζρεδηάδνπκε, πξψηνλ, ζπζηήκαηα κεγαιχηεξα απφ φζν ρξεηάδεηαη, ζπαηαιψληαο έηζη ρψξν ππξηηίνπ θαη δεχηεξνλ, γηα λα κπνξνχκε εχθνια λα θάλνπκε αιιαγέο ρσξίο κεγάιεο επηπηψζεηο ζην ρξφλν δηεθπεξαίσζεο ηνπ έξγνπ. [1] 2.6 Σα πξώηα κνληέια λέαο ξνήο ζρεδίαζεο Βιέπνπκε έηζη φηη απηή ε θαηεχζπλζε έξεπλαο, δειαδή ε έλαξμε ηεο ζρεδίαζεο απφ πςειφηεξν επίπεδν αθαηξεηηθφηεηαο, ήηαλ ε πην ειπηδνθφξα. Τν λέν δήηεκα ηψξα έρεη λα θάλεη κε ην πνην αθξηβψο είλαη ην θαηάιιειν επίπεδν αθαηξεηηθφηεηαο. Τν κφλν ζίγνπξν είλαη φηη ζα πξέπεη λα βξίζθεηαη αλάκεζα ζε δχν θξαγκνχο. Τν θάησ θξάγκα είλαη ην ήδε ππάξρσλ RTL. Μεγάια πιενλεθηήκαηα ζε απηφ ην επίπεδν είλαη, ε κεγάιε πηζηφηεηα ηεο εμνκνίσζεο ζε ινγηθφ επίπεδν κε ην πξαγκαηηθφ - πξνο θαηαζθεπή ζχζηεκα, αιιά θαη ε χπαξμε εξγαιείσλ απηνκαηνπνηεκέλεο ειεθηξνληθήο ζρεδίαζεο (EDA tools). Ωζηφζν, φπσο έρνπκε αλαθέξεη θαη ζε πξνεγνχκελν ζεκείν, νη ρξφλνη εμνκνίσζεο, κε ηελ πνιππινθφηεηα ησλ ζπζηεκάησλ λα απμάλεηαη ζπλερψο, είλαη κεγάινη. Σηελ πεξίπησζε πνπ ζέινπκε λα ζπκπεξηιάβνπκε θαη ην ελζσκαησκέλν ινγηζκηθφ γίλνληαη απαγνξεπηηθνί. Ο έιεγρνο εγθπξφηεηαο ηνπ ζπζηήκαηνο, κε ηελ ελζσκάησζε θαη ηνπ ινγηζκηθνχ, γίλεηαη ζε πξνρσξεκέλν ζηάδην θαη ελδερφκελα ιάζε ζε απηφ ην ζεκείν θνζηίδνπλ πάξα πνιχ. Τν άλσ θξάγκα είλαη ην αιγνξηζκηθφ κνληέιν ηνπ ζπζηήκαηνο. Τεξάζηην πιενλέθηεκα ζε απηφ ην επίπεδν νη πνιχ κηθξνί ρξφλνη εμνκνίσζεο θαζψο δελ παίδνπλ ξφιν νη ιεπηνκέξεηεο πινπνίεζεο. Παξφια απηά ε αθξίβεηα ηνπ ζπζηήκαηνο έρεη λα θάλεη κφλν κε ηελ νξζή ιεηηνπξγία ηνπ θαη δελ πεξηιακβάλεη θακία έλλνηα ζηνηρείσλ πιηθνχ, ζπγρξνληζκνχ δηεξγαζηψλ, ρξφλνπ, άξα δελ κπνξεί θαη λα ρξεζηκνπνηεζεί γηα ηελ εθηέιεζε ηνπ ελζσκαησκέλνπ ινγηζκηθνχ. Κνηηψληαο ηα δχν άθξα θαηαιαβαίλνπκε φηη ην λέν επίπεδν πξέπεη λα ηθαλνπνηεί θάπνηεο πξνυπνζέζεηο. Απηέο είλαη: ε απιφηεηα ηνπ κνληέινπ, ε ηαρχηεηα εμνκνίσζεο ηνπ, 11

22 ε αθξίβεηά ηνπ Τν πξψην έρεη λα θάλεη κε ηελ ειάρηζηε πξνζπάζεηα πνπ ζα πξέπεη λα θαηαβάιεηε γηα ηελ δεκηνπξγία ηνπ κνληέινπ. Απφ ηε ζηηγκή πνπ ε πινπνίεζε ηνπ ζπζηήκαηνο ζε RTL δελ κπνξεί, αθφκα, λα απνθεπρζεί, θάζε άιιε πινπνίεζε ζα πξέπεη λα δηαηεξείηαη ζε ραιαξφ επίπεδν γηα λα κελ επηβαξχλεη πεξηζζφηεξν ην ρξφλν θαη ην θφζηνο ηνπ έξγνπ. Τν δεχηεξν πξνζθέξεη πξνθαλή θέξδε ζηε δηαδηθαζία ζρεδίαζεο. Τν ηξίην πξνζθέξεη επίζεο πξνθαλείο βειηηψζεηο ζηε ξνή ηνπ ζρεδηαζκνχ, σζηφζν έξρεηαη ζε ζχγθξνπζε κε ηελ ηαρχηεηα. Γηα απηφ ην ιφγν, πξνζπαζνχκε λα δηαηεξήζνπκε ηελ αθξίβεηα ζε ηέηνην επίπεδν ψζηε λα κελ κεηψλεη ηελ ηαρχηεηα εμνκνίσζεο, αιιά ηαπηφρξνλα λα δηαζέηεη επαξθείο ιεπηνκέξεηεο γηα ηελ εθηέιεζε ηνπ ελζσκαησκέλνπ ινγηζκηθνχ. Έηζη ινηπφλ δεκηνπξγήζεθαλ ηα πξψηα κνληέια ηεο λέαο ζρεδίαζεο. Έλα απφ απηά πξνέβιεπε ηελ ηαπηφρξνλε επαιήζεπζε ιεηηνπξγίαο πιηθνχ θαη ινγηζκηθνχ, έλα άιιν ηελ αθξίβεηα ηνπ κνληέινπ ζε θάζε θχθιν ξνινγηνχ. Αο δνχκε απηά ηα κνληέια ιίγν πην αλαιπηηθά. [1] Σαπηόρξνλε επαιήζεπζε πιηθνύ θαη ινγηζκηθνύ Η ηδέα ηεο ηαπηφρξνλεο επαιήζεπζεο πιηθνχ θαη ινγηζκηθνχ έρεη σο ζηφρν λα κεηψζεη ην ρξφλν θαη ην θφζηνο ζε ζρέζε κε ηελ θιαζηθή ξνή ζρεδίαζεο. Γηα λα επηηεπρζεί απηφ, πξέπεη ε επαιήζεπζε ιεηηνπξγίαο ηνπ ζπζηήκαηνο, κε ελζσκαησκέλν ην ινγηζκηθφ, λα γίλεη πνιχ πξηλ δεκηνπξγεζεί ην πξψην νινθιεξσκέλν θχθισκα. Η ινγηθή έρεη σο εμήο: αλαπηχζζνληαη ηα RTL κνληέια ηνπ πιηθνχ, σζηφζν γηα επεμεξγαζηηθή κνλάδα ρξεζηκνπνηείηαη έλα πνιχ γξεγνξφηεξν κνληέιν πνπ νλνκάδεηαη εμνκνησηήο ζπλφινπ εληνιψλ (Instruction Set Simulator, ISS). Απηφ ην κνληέιν είλαη γξεγνξφηεξν θαη αθξηβέο, σο αλαθνξά ηηο εληνιέο πνπ εθηεινχληαη θαη ζην πξαγκαηηθφ ζχζηεκα, θαη είλαη θηηαγκέλν ζε πςειφηεξν επίπεδν αθαηξεηηθφηεηαο, ζε γιψζζα πξνγξακκαηηζκνχ C. Όηαλ έλαο ινγηθφο εμνκνησηήο είλαη ζπλδεδεκέλνο κε ην πιηθφ, έλαο ζπκβνιηθφο εθζθαικαησηήο (debugger) ζπλδέεη ην ινγηζκηθφ κε ηνλ ISS. Έρνπκε δειαδή ηαπηφρξνλε επαιήζεπζε ιεηηνπξγίαο ηνπ πιηθνχ θαη έιεγρν ιαζψλ ηνπ ινγηζκηθνχ. Απηή ε ινγηθή νδεγεί ζε κεγάιε επηηάρπλζε ηεο εμνκνίσζεο θαη ηα ζθάικαηα πνπ εληνπίδνληαη είλαη πνιχ επθνιφηεξν θαη ιηγφηεξν ρξνλνβφξν λα δηνξζσζνχλ απφ φηη ζε κεηέπεηηα ζηάδην. Απφ ηελ άιιε κεξηά φκσο, αθφκα θαη απηή ε βειηίσζε δε θηάλεη γηα λα θαιχςεη ηελ πίεζε πνπ πξνθαιεί ε αλάγθε γηα έγθαηξε είζνδνο ηνπ πξντφληνο ζηελ αγνξά, αθνχ ν ρξφλνο πνπ ρξεηάδεηαη γηα λα ηελ αλάπηπμε ησλ κνληέισλ RTL ηνπ ζπζηήκαηνο, απαξαίηεησλ γηα λα αθνινπζεζεί ε παξαπάλσ δηαδηθαζία, είλαη κεγάινο ζηνλ ρψξν ησλ System-on-Chip. [12] 12

23 2.6.2 Αθξίβεηα ζε θάζε θύθιν ξνινγηνύ Σε απηή ηελ πεξίπησζε φια ηα κέξε ελφο ζπζηήκαηνο, εθηφο απφ ηνλ επεμεξγαζηή, πεξηγξάθνληαη ζε κία γιψζζα πςεινχ επηπέδνπ, φπσο ε C. Γελ έρνπλ ηελ αθξίβεηα ησλ κνληέισλ ζε RTL επίπεδν, σζηφζν ζε θάζε θχθιν ξνινγηνχ δίλνπλ ζσζηά απνηειέζκαηα. Απηφ είλαη ππεξαξθεηφ γηα λα ειέγμνπκε ην ινγηζκηθφ, αιιά απφ ηελ άιιε ππάξρνπλ θαη αξθεηά κεηνλεθηήκαηα. Πξψηνλ, δελ κπνξνχλ λα κεηαηξαπνχλ ζε πιηθφ κε θάπνην απηνκαηνπνηεκέλν ηξφπν κε ηα ήδε ππάξρνληα εξγαιεία. Γεχηεξνλ, ε πξνζπάζεηα θαη ν ρξφλνο πνπ απαηηείηαη γηα ηελ δεκηνπξγία ελφο ηέηνηνπ κνληέινπ πιεζηάδεη αξθεηά ηα αληίζηνηρα ησλ ζπλζέζηκσλ RTL κνληέισλ. Τξίηνλ, ε βειηίσζε ηνπ ρξφλνπ εμνκνίσζεο είλαη ιίγεο ηάμεηο κεγέζνπο γξεγνξφηεξε. Όια απηά δεκηνπξγνχλ ηελ αλάγθε γηα δηαθνξεηηθφ ηξφπν αληηκεηψπηζεο ηνπ πξνβιήκαηνο. [1] 2.7 Μνληέια ζε επίπεδν ζπλαιιαγήο (TLM) Η ηερληθή πνπ αλαπηχρζεθε θαη δείρλεη λα θαιχπηεη ηηο πξνυπνζέζεηο πνπ ηέζεθαλ λσξίηεξα (απιφ κνληέιν, γξήγνξε θαη ζρεηηθά αθξηβήο εμνκνίσζε) αθνχεη ζην φλνκα «Μνληεινπνίεζε ζε επίπεδν ζπλαιιαγήο» (Transaction Level Modeling, TLM). Μνληέια ηνπ ζπζηήκαηνο, εχθνια ζην λα αλαπηπρζνχλ θαη γξήγνξα φηαλ εμνκνηψλνληαη, ηθαλά λα ρξεζηκνπνηεζνχλ σο βάζε γηα ηελ έγθαηξε αλάπηπμε ηνπ ινγηζκηθνχ αιιά θαη ηελ επαιήζεπζε ηεο ιεηηνπξγηθφηεηαο ηνπ ζπζηήκαηνο, είλαη πιένλ δπλαηά. Αξρηθά λα αλαθέξνπκε φηη απηή ε ηερληθή δελ έξρεηαη λα αληηθαηαζηήζεη ηε ζρεδίαζε ζπζηεκάησλ ζε RTL επίπεδν, αιιά λα ηε ζπκπιεξψζεη. Γηα ηελ πινπνίεζε ηνπ ζπζηήκαηνο εμαθνινπζεί λα απαηηείηαη ε χπαξμε κνληέινπ ζε επίπεδν θαηαρσξεηψλ (RTL-to-layout), ηνπιάρηζηνλ κέρξη ζήκεξα. Η ηερληθή απηή αλαθέξεηαη ζηελ πξνζζήθε κίαο επέθηαζεο (System-to-RTL) πνπ βνεζάεη ζηελ θαιχηεξε εμεξεχλεζε ησλ απαηηήζεσλ ηνπ ζπζηήκαηνο, ζηε κείσζε ηεο πνιππινθφηεηάο ηνπ, ζηνλ θαιχηεξν, γεληθά, ζπληνληζκφ ηεο ξνήο ζρεδηαζκνχ. [1] Η επέθηαζε System-to-RTL Η ξνή απφ ην επίπεδν ηνπ ζπζηήκαηνο έσο ηελ πεξηγξαθή ηνπ ζε επίπεδν θαηαρσξεηψλ κπνξνχκε λα πνχκε φηη ζπληζηάηαη απφ ηξία επίπεδα αθαηξεηηθφηεηαο, φπσο θαίλνληαη θαη ζηελ εηθφλα 2.3: ιεηηνπξγηθφηεηαο ζπζηήκαηνο, αξρηηεθηνληθήο ηνπ, κηθξν-αξρηηεθηνληθήο ηνπ 13

24 2.3 Οπηηθέο γσλίεο ηνπ ζπζηήκαηνο Σην πςειφηεξν επίπεδν αληηζηνηρεί απηφ απφ ηελ νπηηθή γσλία ηεο ιεηηνπξγηθόηεηαο. Δίλαη νπζηαζηηθά, έλα κνληέιν ηνπ πσο ιεηηνπξγεί ην ζχζηεκα, γηα θάπνηνλ πνπ ην βιέπεη απφ έμσ, ρσξίο λα μέξεη ηηο ιεπηνκέξεηεο πινπνίεζεο. Σπλήζσο γηα απηφ ην επίπεδν δεκηνπξγείηε θάπνην αιγνξηζκηθφ κνληέιν. Έπεηηα, αθνινπζεί ε νπηηθή γσλία ηεο αξρηηεθηνληθήο ηνπ ζπζηήκαηνο. Σε απηφ ην επίπεδν ζπγθεληξψλνληαη φιεο νη πιεξνθνξίεο πνπ είλαη απαξαίηεηεο γηα ηελ αλάπηπμε ηνπ ελζσκαησκέλνπ ινγηζκηθνχ. Με απηφλ ηνλ ηξφπν ην ινγηζκηθφ πνπ ζα ηξέρεη πάλσ ζην πιηθφ κπνξεί λα αλαπηπρζεί θαη λα ειεγρζεί πνιχ πξηλ ην πξσηφηππν ηνπ ζπζηήκαηνο. Δπίζεο, κε απηφ ην κνληέιν κπνξνχλ νη αξρηηέθηνλεο ηνπ ζπζηήκαηνο λα ζπιιέμνπλ πνζνηηθά ζηνηρεία γηα ην ζχζηεκα θαη λα βειηηψζνπλ ηελ αξρηηεθηνληθή ηνπ. Έλα αθφκα πιενλέθηεκα απηνχ ηνπ επηπέδνπ είλαη φηη δίλεη ζηελ νκάδα πνπ αζρνιείηαη κε ηελ αλάπηπμε ησλ πξνγξακκάησλ δνθηκήο, έλα κνληέιν αλαθνξάο γηα λα εμάγνπλ ηεζη πνπ ζα ειέγρνπλ ηελ ιεηηνπξγία ηνπ ππφ θαηαζθεπή ζπζηήκαηνο. Τν ζχζηεκα ζε απηφ ην επίπεδν πεξηγξάθεηαη κε ηα κνληέια TLM. Τέινο, ε νπηηθή γσλία ηεο κηθξν-αξρηηεθηνληθήο αθνξά ηηο ιεπηνκέξεηεο ηνπ ζπζηήκαηνο πνπ είλαη απαξαίηεηεο γηα ηε δηεμαγσγή ρξνληθψλ θαη ζε αθξίβεηα θχθινπ ξνινγηνχ εμνκνηψζεσλ. Σπλήζσο γηα απηφ ην επίπεδν ρξεζηκνπνηείηαη ν θψδηθαο πνπ έρεη αλαπηπρζεί ζε επίπεδν θαηαρσξεηψλ. [14] Υαξαθηεξηζηηθά «Μνληεινπνίεζεο ζε επίπεδν ζπλαιιαγήο» Η «Μνληεινπνίεζε ζε επίπεδν ζπλαιιαγήο» (TLM) είλαη κία πςεινχ επηπέδνπ πξνζέγγηζε κνληεινπνίεζεο ησλ ςεθηαθψλ ζπζηεκάησλ, ε νπνία δηαρσξίδεη ηηο ιεπηνκέξεηεο ηεο επηθνηλσλίαο ησλ ζπζηαηηθψλ δνκηθψλ ζηνηρείσλ ηνπ ζπζηήκαηνο απφ ηηο ιεπηνκέξεηεο πινπνίεζεο ησλ δνκηθψλ απηψλ ζηνηρείσλ θαη ηελ αξρηηεθηνληθή ηνπ δηθηχνπ επηθνηλσλίαο. Σε απηή ηελ πξνζέγγηζε, θάζε δνκηθφ ζηνηρείν πιηθνχ νλνκάδεηαη ελφηεηα (module) θαη πεξηγξάθεηαη απφ έλα πεπεξαζκέλν ζχλνιν θαηαζηάζεσλ θαζψο θαη απφ κία ζεηξά ζπγρξφλσλ ιεηηνπξγηψλ. Τν ζχλνιν ησλ ελνηήησλ απνηειεί έλα ζχζηεκα. Οη ελφηεηεο επηθνηλσλνχλ κεηαμχ ηνπο κε ηε ρξήζε θαλαιηψλ. Αλάινγα κε ηελ αθξίβεηα πνπ ρξεηαδφκαζηε ζε θάπνηα εμνκνίσζε, ηα θαλάιηα απηά κπνξνχλ λα πάξνπλ ηε κνξθή ελφο απινχ δξνκνινγεηή, ελφο δηαχινπ, ελφο δηθηχνπ. Οη ελφηεηεο 14

25 ζπλδένληαη κε ηα θαλάιηα κέζσ ζπξψλ. Απφ εθεί γίλεηαη θαη ε αληαιιαγή ησλ δεδνκέλσλ. Μία αληαιιαγή δεδνκέλσλ νλνκάδεηαη ζπλαιιαγή (transaction). Οη ζπλαιιαγέο μεθηλνχλ απφ κία ελφηεηα, πνπ παίδεη ην ξφιν ηνπ αθέληε (master) θαη θαηαιήγνπλ ζε ελφηεηεο δνχινπο (slave). Οη ζπλαιιαγέο γίλνληαη κέζσ θιήζεσλ ζπλαξηήζεσλ θαη έρνπλ ραξαθηεξηζηηθά κηαο ζπλαιιαγήο ρακεινχ επηπέδνπ, δειαδή αζρνινχληαη πεξηζζφηεξν κε ην πφζα δεδνκέλα κεηαθέξνληαη, απφ πνχ πξνο πνχ θαη ιηγφηεξν κε ηδηαίηεξα ραξαθηεξηζηηθά ηνπ πξσηνθφιινπ πνπ ρξεζηκνπνηείηαη. Σεκαληηθφ επίζεο ραξαθηεξηζηηθφ απηήο ηεο κνληεινπνίεζεο είλαη ν ζπγρξνληζκφο ηνπ ζπζηήκαηνο, ηνπιάρηζηνλ κεηαμχ δχν ελνηήησλ. Με απηφλ ηνλ ηξφπν επηηπγράλεηαη ε πξνβιεπφκελε ζπκπεξηθνξά ηνπ ζπζηήκαηνο. Η δεκηνπξγία ελφο TLM κνληέινπ, πνπ ζα ηθαλνπνηεί απηά ηα ραξαθηεξηζηηθά, απαηηεί ηε ρξήζε κίαο γιψζζαο πςεινχ επηπέδνπ ε νπνία ζα κπνξεί λα κνληεινπνηεί ηε ζπκπεξηθνξά ηνπ πιηθνχ ρσξίο λα πεξηγξάθεη ηελ αθξηβή πινπνίεζή ηνπ. Η γιψζζα ε νπνία θαιχπηεη απηέο ηηο πξνδηαγξαθέο είλαη ε SystemC. Πην αλαιπηηθά ζηα ραξαθηεξηζηηθά θαη ηελ ιεηηνπξγία ησλ κνληέισλ SystemC TLM ζα αλαθεξζνχκε ζην επφκελν θεθάιαην. [1] Η λέα ξνή ζρεδίαζεο Αο δνχκε ηψξα ηε λέα ξνή ζρεδίαζεο (Δηθφλα 2.4), ζηελ νπνία ζπκκεηέρεη ε ηερληθή TLM. Όπσο θαίλεηαη θαη ζην ζρήκα, ε ζρεδίαζε ελφο λένπ ζπζηήκαηνο μεθηλάεη απφ ηηο πξνδηαγξαθέο πνπ ζέηεη ν πειάηεο. Σηε ζπλέρεηα απηέο νη πξνδηαγξαθέο γίλνληαη ιίγν πην ηερληθέο (paper specification) θαη ρξεζηκνπνηνχληαη απφ ηνπο αξρηηέθηνλεο ηνπ ζπζηήκαηνο γηα λα δηαρσξηζηεί ην θνκκάηη πνπ ζα αλαπηπρζεί ζε ινγηζκηθφ απφ απηφ πνπ ζα αλαπηπρζεί ζε πιηθφ. Κάπνπ εθεί βξίζθεη ηε ζέζε ηνπ ην TLM κνληέιν, δειαδή ζε πξψηκν ζηάδην ηεο ξνήο. Σηε ζπλέρεηα αθνινπζεί, φπσο θαη ζηελ θιαζηθή ξνή, ε αλάπηπμε ηνπ πιηθνχ θαη ηνπ ινγηζκηθνχ φκσο κε κία βαζηθή δηαθνξά, δελ είλαη αλεμάξηεηε ε κία απφ ηελ άιιε. Η πιαηθφξκα TLM απνηειεί ηε κνλαδηθή παξαπνκπή, πνπ ππάξρεη έσο εθείλε ηε ζηηγκή, ζηε κνξθή ηνπ ζπζηήκαηνο. Γίλεηαη έηζη ε δπλαηφηεηα πξψηκεο αλάπηπμεο ηνπ ινγηζκηθνχ πνπ ζα ελζσκαησζεί ζην ζχζηεκα θαζψο θαη δπλαηφηεηα κίαο κε-ιεπηνκεξνχο αξρηηεθηνληθήο αλάιπζήο ηνπ. Γίλεηαη επηπιένλ ε δπλαηφηεηα ζηελ νκάδα πνπ ζα αλαπηχμεη ην πεξηβάιινλ επαιήζεπζεο ηνπ πιηθνχ θαζψο θαη ηα δηάθνξα ηεζη, λα ηα έρεη έηνηκα ηε ζηηγκή πνπ ζα είλαη δηαζέζηκα ηα κνληέια ζε RTL. Ταπηφρξνλα κε ηηο παξαπάλσ δηαδηθαζίεο, αλαπηχζζνληαη θαη ηα κνληέια ζε θάπνηα γιψζζα πεξηγξαθήο πιηθνχ (HDL). Δπηηπγράλεηαη έηζη ε ζχγρξνλε ζρεδίαζε πιηθνχ θαη ινγηζκηθνχ, θαηαξγψληαο θαη ηα πξνβιήκαηα πνπ δεκηνπξγνχζε ην αληίζεην, ηα νπνία έρνπκε αλαθέξεη αξθεηέο θνξέο λσξίηεξα ζην θείκελν. Απφ ηε ζηηγκή πνπ έρνπλ αλαπηπρζεί φια ηα κνληέια πνπ πεξηγξάςακε πξνεγνπκέλσο (πιηθνχ, ινγηζκηθνχ θαη επαιήζεπζεο) αθνινπζνχλ νη δηαδηθαζίεο ηεο επαιήζεπζεο πιηθνχ, ηεο ελζσκάησζεο ηνπ ινγηζκηθνχ ζην ζχζηεκα θαη ηνπ ηειηθνχ 15

26 ειέγρνπ εγθπξφηεηαο ηνπ ζπζηήκαηνο. Μέζα απφ απηή ηελ πνιχ θαιά ζπληνληζκέλε θαη κε πνιιαπινχο ειέγρνπο ξνή ζρεδίαζεο, ε πηζαλφηεηα λα κελ ππάξρνπλ ιάζε απφ ην πξψην θηφιαο νινθιεξσκέλν θχθισκα πνπ ζα παξαρζεί είλαη πνιχ κεγάιε. [1] 2.4 Η λέα ξνή ζρεδίαζεο Πιενλεθηήκαηα ηεο ρξήζεο κνληέισλ TLM Τν κεγαιχηεξν πιενλέθηεκα απηήο ηεο ηερληθήο έρεη λα θάλεη κε ην ρξφλν εμνκνίσζεο. Όπσο κπνξνχκε λα δνχκε θαη ζην παξαθάησ δηάγξακκα, ε ηαρχηεηα εμνκνίσζεο είλαη ηξεηο ηάμεηο κεγέζνπο κεγαιχηεξε απφ ηελ εμνκνίσζε ζε επίπεδν RTL. Απηφ έρεη λα θάλεη θπξίσο κε ηελ αθαίξεζε ιεπηνκεξεηψλ απφ ην κνληέισλ πνπ δελ ρξεηάδνληαη. Γηα παξάδεηγκα, ζε πξαγκαηηθή ιεηηνπξγία κία κεγάιε εθξεθηηθή (burst) κεηαθνξά δεδνκέλσλ παίξλεη πάξα πνιινχο θχθινπο ξνινγηνχ γηα λα νινθιεξσζεί. Τελ πεξηζζφηεξε ψξα ν δίαπινο θάλεη δνπιεηά ξνπηίλαο, ελψ κπνξεί λα πεξηκέλνπλ γηα εμππεξέηεζε θαη άιια δνκηθά ζηνηρεία. Σηελ πεξίπησζε ηεο TLM ηερληθήο απηή ε κεηαθνξά ζεσξείηαη κία δηαδηθαζία. Κεξδίδνληαη έηζη αξθεηφο ρξφλνο εμνκνίσζεο. 16

27 Δπίζεο, πέξα απφ ηελ αχμεζε ηαρχηεηαο ηεο εμνκνίσζεο, βιέπνπκε ζην ζρήκα 2.5 φηη ε πξνζέγγηζε TLM ηθαλνπνηεί θαη ηελ πξνυπφζεζε γηα εχθνιν ζρεδηαζκφ, φπσο είρακε αλαθέξεη λσξίηεξα, γηα ηα κνληέια ηνπ λένπ επηπέδνπ αθαηξεηηθφηεηαο 2.5 Βαζκόο επηηάρπλζεο ηεο εμνκνίσζεο Έλα άιιν πιενλέθηεκα έρεη λα θάλεη κε ηελ κε ρξεζηκνπνίεζε ησλ ιεπηνκεξεηψλ πινπνίεζεο ηεο επηθνηλσλίαο, παξά κφλν ηε ιεηηνπξγία ηεο. Με απηφλ ηνλ ηξφπν κπνξεί εχθνια έλαο κεραληθφο ζρεδηαζκνχ λα ρξεζηκνπνηήζεη νπνηαδήπνηε αξρηηεθηνληθή δηαχινπ ζέιεη ζην κνληέιν ηνπ, άκα φιεο ππνζηεξίδνπλ ηηο ίδηεο ζπλαξηήζεηο γηα ην ρεηξηζκφ ησλ ζπλαιιαγψλ. Τέινο, απφ ηε ζηηγκή πνπ έρνπλ αθαηξεζεί απφ ηελ επηθνηλσλία νη ιεπηνκέξεηεο ηεο αξρηηεθηνληθήο ηεο, δεκηνπξγνχληαη λέεο δπλαηφηεηεο γηα επαλαρξεζηκνπνίεζε IP ζηνηρείσλ ζην κνληέιν ηνπ ζπζηήκαηνο. Έηζη, κνληέια TLM κπνξνχλ εχθνια λα επηθνηλσλήζνπλ κεηαμχ ηνπο. [1][6][14] 17

28 3 Μνληεινπνίεζε ζπζηεκάησλ κε SystemC TLM Δίδακε, ινηπφλ, ζην πξνεγνχκελν θεθάιαην ην λέν επίπεδν αθαηξεηηθφηεηαο απφ ην νπνίν μεθηλάεη ζήκεξα ε ξνή ζρεδίαζεο κεγάισλ πνιχπινθσλ ζπζηεκάησλ, ην επίπεδν ζπζηήκαηνο. Γψζακε, επίζεο, θάπνηα πξψηα ζηνηρεία γηα ηελ επηθξαηνχζα κεζνδνινγία πνπ ρξεζηκνπνηείηαη γηα ηε δεκηνπξγία κνληέισλ πνπ αλήθνπλ ζε απηφ ην επίπεδν, ηε κέζνδν «Μνληεινπνίεζεο ζε επίπεδν ζπλαιιαγήο» TLM. Αλαθέξακε, ηέινο, ηελ γιψζζα πξνγξακκαηηζκνχ πνπ ρξεζηκνπνηείηαη γηα ηελ εθαξκνγή απηήο ηεο κεζφδνπ, ηε SystemC. Θα μεθηλήζνπκε απηφ ην θεθάιαην ξίρλνληαο κηα γξήγνξε καηηά ζηε γιψζζα SystemC θαη ζηε ζπλέρεηα ζα δνχκε αλαιπηηθά ηε κεζνδνινγία TLM. 3.1 Η γιώζζα SystemC Μνληεινπνίεζε ζπζηεκάησλ Γηα λα κπνξέζεη κία γιψζζα λα ζεσξεζεί σο γιψζζα ζρεδίαζεο ζε επίπεδν ζπζηήκαηνο πξέπεη λα κπνξεί λα παξάγεη έλα κεγάιν εχξνο απφ κνληέια, ππνινγηζηηθά θαη επηθνηλσλίαο, λα επεθηείλεηαη ζε αξθεηά επίπεδα αθαηξεηηθφηεηαο θαη λα κπνξεί λα αθνινπζεί ηηο δηάθνξεο κεζνδνινγίεο ζρεδίαζεο ζπζηεκάησλ. Η SystemC ην πεηπραίλεη απηφ ρξεζηκνπνηψληαο κία πξνζέγγηζε κε ρξεζηκνπνίεζε βαζκίδσλ. Πξνζθέξεη, έηζη, επειημία ζηελ εηζαγσγή λέσλ, πςειφηεξνπ επηπέδνπ δνκψλ, νη νπνίεο κνηξάδνληαη έλα πνιχ απνηειεζκαηηθφ κεραληζκφ εμνκνίσζεο. Σηε βαζηθή βαζκίδα πεξηέρεηαη ν ππξήλαο εμνκνίσζεο (simulation kernel) πνπ ιεηηνπξγεί νδεγνχκελνο απφ ηα γεγνλφηα (event-driven). Φξεζηκνπνηεί ηα γεγνλφηα (events) θαη ηηο δηεξγαζίεο (processes) κε έλα ηξφπν γεληθφ. Ξέξεη δειαδή κφλν πψο λα ρεηξηζηεί ηα γεγνλφηα θαη λα αιιάδεη απφ ηε κία δηαδηθαζία ζηελ άιιε, ρσξίο λα μέξεη ηελ πξαγκαηηθή ζεκαζία απηψλ ζην ζχζηεκα. Γηα ηελ αλαπαξάζηαζε ηεο δνκήο ηνπ ζπζηήκαηνο, ε SystemC ρξεζηκνπνηεί ελφηεηεο (modules) θαη ζχξεο (ports), ελψ γηα ηελ κνληεινπνίεζε ηεο επηθνηλσλίαο ρξεζηκνπνηεί δηεπαθέο (interfaces) θαη θαλάιηα (channels). Όια απηά ηα ζηνηρεία καδί κε ηνλ ππξήλα εμνκνίσζεο απνηεινχλ ηνλ ππξήλα ηεο γιψζζαο (core language). Πέξα φκσο απφ ηνλ ππξήλα, ε γιψζζα παξέρεη θάπνηνπο ηχπνπο δεδνκέλσλ, πξνζαλαηνιηζκέλνπο ζηελ πεξηγξαθή πιηθνχ, θαζψο θαη θάπνηα βαζηθά θαλάιηα, φπσο ε δνκή FIFO ή νη ζεκαθφξνη. Τν ζχλνιν απηψλ ησλ βαζηθψλ ζηνηρείσλ ηεο γιψζζαο είλαη αξθεηφ γηα ηελ κνληεινπνίεζε πνιιψλ ζπζηεκάησλ. 18

29 3.1 Γνκή ηεο SystemC Απηφ πνπ θάλεη ηε SystemC πνιχ ηζρπξή είλαη ε δπλαηφηεηα πνπ δίλεη γηα ηελ πξνζζήθε, ζε αλψηεξε βαζκίδα απφ απηέο πνπ πεξηγξάςακε, λέσλ βηβιηνζεθψλ γηα ηελ ρξήζε δηαθνξεηηθψλ θαλαιηψλ θαη κεζνδνινγηψλ κε ηνλ ίδην ππξήλα εμνκνίσζεο. Η ζπλνιηθή δνκή ηεο γιψζζαο, ε νπνία βαζίδεηαη εμνινθιήξνπ ζηελ C++, θαίλεηαη ζηελ εηθφλα 3.1. [3] Τπνζηήξημε ηεο κεζνδνινγίαο TLM Η εθαξκνγή ηεο κεζνδνινγίαο TLM πξνυπνζέηεη ηε ρξήζε θάπνηαο γιψζζαο πνπ λα ηθαλνπνηεί ζπγθεθξηκέλεο απαηηήζεηο. Κάπνηεο απφ απηέο ηηο απαηηήζεηο είλαη: λα κπνξεί λα κνληεινπνηεί ζπζηήκαηα, λα έρεη θαιή απφδνζε ζηηο εμνκνηψζεηο, λα ρξεζηκνπνηεί ηερληθέο επξέσο δηαδεδνκέλεο, λα επεθηείλεηαη ζε πνιιά επίπεδα αθαηξεηηθφηεηαο, λα ππνζηεξίδεη ιεηηνπξγίεο ζπγρξνληζκνχ, λα είλαη αλνηθηνχ θψδηθα, λα ππάξρνπλ δηαζέζηκα εξγαιεία ππνζηήξημεο 19

30 Η SystemC είλαη ε πην επέιηθηε πξνζέγγηζε γηα ηελ κνληεινπνίεζε ηεο επηθνηλσλίαο θαη ηνπ ζπγρξνληζκνχ αλάκεζα ζε δνκηθά ζηνηρεία πιηθνχ. Βαζίδεηαη ζηε C++ νπφηε ρξεζηκνπνηεί ηερληθέο αληηθεηκελνζηξαθή πξνγξακκαηηζκνχ. Δθκεηαιιεχεηαη ηελ ηαρχηεηα πνπ πξνζθέξεη ε γιψζζα C++ γηα ηελ κνληεινπνίεζε ηεο εζσηεξηθήο ζπκπεξηθνξάο ησλ δνκηθψλ ζηνηρείσλ, ζεκείν ζην νπνίν μνδεχνπλ ην κεγαιχηεξν ρξφλν εμνκνίσζεο ηα πξαγκαηηθά ζπζηήκαηα. Δπίζεο, δηαζέηεη έλαλ εμνκνησηή αλνηθηνχ θψδηθα ν νπνίνο κπνξεί λα ελζσκαηψζεη εχθνια ηηο ηερληθέο TLM. Καζψο ζηεξίδεηαη ζηε C++ δηαζέηεη πιεηάδα απφ παξαγσγηθά εξγαιεία. Τέινο, φπσο θαίλεηαη θαη ζηελ εηθφλα 3.2, θαιχπηεη αξθεηά επίπεδα αθαηξεηηθφηεηαο ζην εχξνο πνπ είλαη απαξαίηεην γηα ηελ κνληεινπνίεζε ζε επίπεδν ζπζηήκαηνο. [4] 3.2 ύγθξηζε γισζζώλ σο πξνο ην επίπεδν αθαηξεηηθόηεηαο Υαξαθηεξηζηηθά πξνζαξκνζκέλα ζην πιηθό Όπσο είδακε παξαπάλσ, ε SystemC είλαη έλα ζχλνιν θιάζεσλ ηνπνζεηεκέλσλ πάλσ ζηε C++, είλαη νπζηαζηηθά ε C++ κε θάπνηεο επηπιένλ βηβιηνζήθεο. Παξφηη βξίζθεηαη ζε έλα πεξηβάιινλ αλάπηπμεο ινγηζκηθνχ, δηαζέηεη κεραληζκνχο γηα ηελ κνληεινπνίεζε ηνπ πιηθνχ. Τα βαζηθά ραξαθηεξηζηηθά πνπ ηελ θαζηζηνχλ γιψζζα ζηξακκέλε ζην πιηθφ έρνπλ λα θάλνπλ κε: ρξνληθά κνληέια, ηχπνπο δεδνκέλσλ «πιηθνχ», 20

31 ηεξαξρία ελνηήησλ, δηαρείξηζε επηθνηλσληψλ, ζπγρξνληζκφ. Θα δψζνπκε ιίγν κεγαιχηεξε έκθαζε ζην πσο επηηπγράλεηαη ν ζπγρξνληζκφο. Οπζηαζηηθά, ην φηη ηξέρεη ε εμνκνίσζε ζχγρξνλα είλαη κία ςεπδαίζζεζε, αθνχ ν αξηζκφο ησλ επεμεξγαζηψλ ζε έλα ππνινγηζηή είλαη ηάμεηο κεγέζνπο κηθξφηεξνο απφ ηνλ αξηζκφ ησλ κνλάδσλ πνπ ηξέρνπλ παξάιιεια ζε έλα πξαγκαηηθφ ζχζηεκα. Απηφ πνπ πξαγκαηηθά ζπκβαίλεη είλαη φηη κία δηαδηθαζία ηξέρεη κφλε ηεο έσο φηνπ θηάζεη ζε έλα ζεκείν πνπ πξέπεη, γηα ιφγνπο ζπγρξνληζκνχ, λα επηζηξέςεη ηνλ έιεγρν ηεο εμνκνίσζεο ζηνλ ππξήλα εμνκνίσζεο. Έπεηηα, ν ππξήλαο εμνκνίσζεο επηιέγεη ηελ επφκελε δηαδηθαζία πνπ πξέπεη λα εθηειεζηεί ζε εθείλν ην ζεκείν. [3] [4] Βαζηθά ζπζηαηηθά ηεο γιώζζαο Δλόηεηεο (modules) Οη ελφηεηεο είλαη ηα δνκηθά ζηνηρεία ελφο ζπζηήκαηνο θαη απηά πνπ εμαζθαιίδνπλ ηελ ηεξαξρία. Μέζα ζε κία ελφηεηα κπνξνχλ λα βξίζθνληαη άιιεο ελφηεηεο, ζχξεο, θαλάιηα, δηεξγαζίεο. Γηεξγαζίεο (processes) Οη δηεξγαζίεο είλαη ζπλαξηήζεηο κίαο ελφηεηαο θαη θαινχληαη απφ ηνλ ππξήλα εμνκνίσζεο θαη κφλν. Φσξίδνληαη ζε δχν θαηεγνξίεο, ηελ SC_METHOD θαη ηελ SC_THREAD. Η πξψηε κπνξεί λα θιεζεί πνιιέο θνξέο θαηά ηε δηάξθεηα κίαο εμνκνίσζεο, ελψ ε δεχηεξε κφλν κία θνξά. Απφ ηελ άιιε βέβαηα, ε SC_METHOD εθηειείηαη νιφθιεξε ζε ζπγθεθξηκέλν ρξφλν εμνκνίσζεο, ελψ ε SC_THREAD κπνξεί λα δηαθφςεη ηελ εθηέιεζή ηεο ζε θάπνην ζεκείν θαη λα πεξηκέλεη γηα θάπνην ρξνληθφ δηάζηεκα λα πεξάζεη ή θάπνην γεγνλφο λα ζπκβεί θαη κεηά λα ζπλερίζεη απφ ην ζεκείν πνπ ζηακάηεζε. Γεγνλόηα (events) Τα γεγνλφηα παίδνπλ πνιχ ζεκαληηθφ ξφιν γηα λα επηηεπρζεί ν ζπγρξνληζκφο ησλ δηαδηθαζηψλ. Κάζε δηαδηθαζία κπνξεί λα ελεξγνπνηεζεί απφ γεγνλφηα πνπ έρνπλ δεισζεί είηε ζην ζψκα εθηέιεζήο ηεο, είηε ζην ζεκείν αξρηθνπνίεζήο ηεο κέζσ κηαο ιίζηαο επαηζζεζίαο. Η εηδνπνίεζε θάπνηνπ γεγνλφηνο νδεγεί ζε εθηέιεζε ηηο αληίζηνηρεο δηεξγαζίεο πνπ ην πεξηκέλαλε. 21

32 Σύπνη δεδνκέλσλ Πέξα απφ φινπο ηνπο ηχπνπο πνπ παξέρεη ε «γεγελήο» γιψζζα C++, ππάξρνπλ ηχπνη δεδνκέλσλ πνπ βνεζνχλ ζηελ εθηέιεζε καζεκαηηθψλ πξάμεσλ ζε πιηθφ (sc_fixed, sc_int), άιινη (sc_logic, sc_lv) γηα αλαπαξάζηαζε ινγηθψλ ηηκψλ ηεζζάξσλ θαηαζηάζεσλ (0, 1, X, U) θαη άιινη γηα αλαπαξάζηαζε ηηκψλ δηαχισλ (sc_bv, sc_lv). Θύξεο, Καλάιηα, Γηεπαθέο Απηά ηα ηξία ζηνηρεία ρξεζηκνπνηνχληαη γηα ηελ επηθνηλσλία ησλ ελνηήησλ. Κάζε ελφηεηα έρεη θάπνηα ζχξα επηθνηλσλίαο. Πάλσ ζε απηή ζπλδέεηαη έλα θαλάιη. Τν θαλάιη πινπνηεί θάπνηεο ζπλαξηήζεηο πνπ πεξηγξάθεη ε δηεπαθή. Κάζε δηαδηθαζία κίαο ελφηεηαο θαιεί απηέο ηηο ζπλαξηήζεηο γηα λα γξάςεη ή λα δηαβάζεη δεδνκέλα απφ ην θαλάιη. [3] Ο ππξήλαο εμνκνίσζεο Γηα λα θιείζνπκε ηελ αλαθνξά καο ζηε SystemC πξέπεη νπσζδήπνηε λα κηιήζνπκε γηα ηελ θαξδηά ηεο γιψζζαο, ηνλ ππξήλα εμνκνίσζεο (simulation kernel). Δίλαη απηφο πνπ ειέγρεη ην ρξφλν θαη ηε ζεηξά εθηέιεζεο ησλ δηαθφξσλ δηαδηθαζηψλ, ρεηξίδεηαη ηηο εηδνπνηήζεηο ησλ γεγνλφησλ θαη ελεκεξψλεη ηελ θαηάζηαζε ησλ θαλαιηψλ. Η ζεκαληηθφηεξε ιεηηνπξγία ηνπ έρεη λα θάλεη κε ηελ εμνκνίσζε ησλ ζεσξεηηθά ζπγρξφλσλ δηαδηθαζηψλ. Όπσο θαη ζηηο γιψζζεο πεξηγξαθήο πιηθνχ, έηζη θαη εδψ έρνπκε ηελ έλλνηα ησλ δέιηα-θχθισλ. Έλαο δέιηα-θχθινο δηαξθεί απεηξνειάρηζην ρξφλν θαη ρξεζηκνπνηείηαη γηα λα δψζεη θάπνηα ζεηξά ζηηο ζχγρξνλεο δηεξγαζίεο. Καηά ηε δηάξθεηά ηνπ δελ απμάλεηαη ν ρξφλνο εμνκνίσζεο αιιά εθηεινχληαη πξάμεηο πνπ είλαη πξνγξακκαηηζκέλεο γηα απηφ ην ρξφλν ζε δχν θάζεηο: ηε θάζε εθηίκεζεο (evaluate) θαη ηε θάζε ελεκέξσζεο (update). Αο δνχκε ηψξα ζπλνιηθά ηε ξνή θαηαζηάζεσλ ζηνλ ππξήλα εμνκνίσζεο (Δηθφλα 3.3): 1. Αξρηθνπνίεζε (Initialize). Σηε δηάξθεηα απηήο ηεο θαηάζηαζεο, φιεο νη δηεξγαζίεο εθηεινχληαη κία θνξά (γηα ηηο SC_METHOD) ή κέρξη θάπνην ζεκείν ζπγρξνληζκνχ (γηα ηηο SC_THREAD). Αλ δε ζέινπκε θάπνηα δηεξγαζία λα εθηειεζηεί ζε απηή ηε θάζε ην δειψλνπκε θαιψληαο ηε ζπλάξηεζε dont_initialize(). Η ζεηξά εθηέιεζήο ησλ δηεξγαζηψλ είλαη ηπραία αιιά ληεηεξκηληζηηθή, δειαδή ε ίδηα ζε ζπλερφκελεο εμνκνηψζεηο. 2. Δθηίκεζε (Evaluate). Δθηέιεζε, κε θάπνηα ζεηξά, ησλ δηεξγαζηψλ πνπ είλαη έηνηκεο λα ηξέμνπλ. Δλδερφκελε εηδνπνίεζε θάπνησλ γεγνλφησλ κπνξεί λα νδεγήζεη λέεο (ή ηηο ίδηεο) δηεξγαζίεο λα ηξέμνπλ (μαλά) ζε απηή ηε θάζε. Γηαθνξεηηθά πεξλάκε ζηελ θαηάζηαζε ηεο «Δλεκέξσζεο». 22

33 3. Δλεκέξσζε (Update). Δλεκέξσζε ησλ θαλαιηψλ ζηα νπνία έρνπλ δεηεζεί αιιαγέο. Δλδερφκελε εηδνπνίεζε θάπνησλ γεγνλφησλ κπνξεί λα νδεγήζεη δηεξγαζίεο λα ηξέμνπλ ζε έλα δέιηα-θχθιν, επηζηξέθνληαο έηζη ζηελ θαηάζηαζε ηεο «Δθηίκεζεο». Γηαθνξεηηθά, αλ ππάξρνπλ εηδνπνηήζεηο ζε θάπνην κειινληηθφ ρξφλν εμνκνίσζεο κεηάβαζε ζηελ θαηάζηαζε «Αχμεζε ρξφλνπ». Αλ φρη, νινθιήξσζε ηεο εμνκνίσζεο. 4. Αύμεζε ρξόλνπ (Advance Time). Αχμεζε ηνπ ρξφλνπ εμνκνίσζεο έσο ην ζεκείν πνπ πξέπεη λα γίλεη ε εηδνπνίεζε θάπνηνπ γεγνλφηνο. Αθνινπζεί ε θαηάζηαζε «Δλεκέξσζεο». 3.3 Γηάγξακκα θαηαζηάζεσλ ηνπ ππξήλα εμνκνίσζεο ηεο SystemC Απφ ηε ζηηγκή πνπ μεθηλάεη ηε ιεηηνπξγία ηνπ, ν εμνκνησηήο ηξέρεη αζηακάηεηα έσο φηνπ δελ ππάξρνπλ άιιεο εηδνπνηήζεηο γεγνλφησλ. Βέβαηα ππάξρεη ε δπλαηφηεηα λα ηνλ ζηακαηήζεη κία δηεξγαζία κε ηελ εληνιή sc_stop() ή λα ζηακαηήζεη κεηά απφ ζπγθεθξηκέλν ρξφλν εμνκνίσζεο, ηνλ νπνίν ζα έρνπκε θαζνξίζεη ξεηά ζηελ έλαξμε ηνπ εμνκνησηή. [3] 3.2 Σν πξόηππν SystemC TLM 2.0 Η ηερληθή κνληεινπνίεζεο ζπζηεκάησλ ζε επίπεδν ζπλαιιαγήο απνηειεί κία κέζνδν, θαη φρη γιψζζα πξνγξακκαηηζκνχ. Μπνξεί λα αλαπαξαζηαζεί κε νπνηαδήπνηε γιψζζα ζρεδίαζεο ζε επίπεδν ζπζηήκαηνο. Όπσο είδακε λσξίηεξα, ε SystemC ηαηξηάδεη ηέιεηα ζε απηφ ην ξφιν αθνχ θαιχπηεη επαξθέο εχξνο επηπέδσλ θαη παξέρεη ηα ζηνηρεία εθείλα πνπ επηηξέπνπλ ην δηαρσξηζκφ ηεο ιεηηνπξγίαο απφ ηελ επηθνηλσλία. Η ζρέζε ηεο SystemC κε ηελ TLM έρεη γίλεη πνιχ ηζρπξή ηα ηειεπηαία ρξφληα θαη έρεη νδεγήζεη ζηνλ θαζνξηζκφ ηνπ πξνηχπνπ SystemC TLM απφ ηνλ νξγαληζκφ Open SystemC Initiative (OSCI). Απηή ηε ζηηγκή είλαη δηαζέζηκε ε 2 ε έθδνζε ηνπ πξνηχπνπ, ηελ νπνία θαη ζα παξνπζηάζνπκε ζηε ζπλέρεηα ηνπ θεθαιαίνπ. [2] 23

34 3.2.1 Γεληθά Η TLM 2.0 απνηειείηαη απφ έλα ζχλνιν δηεπαθψλ ππξήλα, ην global quantum, ζχξεο initiator θαη target, ην generic payload, ην βαζηθφ πξσηφθνιιν θαζψο θαη άιια εξγαιεία. Πέξα απφ ηα ππφινηπα εξγαιεία, ε ρξήζε ησλ βαζηθψλ ζηνηρείσλ ζε έλα κνληέιν δηαζθαιίδεη ηε κέγηζηε δηαιεηηνπξγηθφηεηα, θαη θπξίσο ηε κνληεινπνίεζε ζπζηεκάησλ κε δηαχινπο κε δηεπζπλζηνδφηεζε (memory-mapped busses). Φπζηθά δίλεη ηε δπλαηφηεηα επεθηάζεσλ γηα ηελ πεξηγξαθή νπνηνπδήπνηε πξσηνθφιινπ επηθνηλσλίαο, κε κεησκέλε βέβαηα δηαιεηηνπξγηθφηεηα. Γηα λα κνληεινπνηήζεη ηηο δηαθνξεηηθέο πεξηπηψζεηο ρξήζεο, ε TLM ρξεζηκνπνηεί δηαθνξεηηθά είδε πξνγξακκαηηζκνχ ηα νπνία βαζίδνληαη ζε έλα ζχλνιν δηεπαθψλ, φπσο παξνπζηάδεηαη θαη ζηελ εηθφλα 3.4. [2] 3.4 Οξγάλσζε ηεο TLM Πεξηπηώζεηο ρξήζεο (Use cases) Όπσο έρνπκε αλαθέξεη θαη λσξίηεξα, νη πεξηπηψζεηο πνπ ρξεηαδφκαζηε έλα κνληέιν TLM ηνπ ζπζηήκαηνο, λσξίο ζηε ζρεδίαζε, είλαη νη εμήο: 24

35 Αλάπηπμε ινγηζκηθνύ (Software development). Γηα λα γίλεη έγθαηξε αλάπηπμε ηνπ ινγηζκηθνχ, πνιχ πξηλ ηα κνληέια ζε επίπεδν θαηαρσξεηψλ (RTL) είλαη δηαζέζηκα. Απόδνζε ινγηζκηθνύ (Software performance). Γηα λα θξίλεηαη θαηά πφζν νη εθαξκνγέο αληαπνθξίλνληαη ζηηο απαηηήζεηο πξαγκαηηθνχ ρξφλνπ ηνπ ζπζηήκαηνο. Αξρηηεθηνληθή αλάιπζε (Architectural analysis). Γηα λα κπνξεί λα ειέγρεηαη ζε θάζε βήκα ηεο ξνήο ζρεδίαζεο ε ηθαλνπνίεζε ησλ ρξνληθψλ πεξηνξηζκψλ, λα δηνξζψλνληαη ηα νπνηαδήπνηε ιάζε εγθαίξσο θαη λα ππάξρεη κία ζρεδηαζηηθή αιιεινπρία αλάκεζα ζηελ αλάπηπμε πιηθνχ θαη ινγηζκηθνχ. Δπαιήζεπζε πιηθνύ (Hardware verification). Γηα ηελ έγθαηξε αλάπηπμε ησλ ειεγθηηθψλ κνληέισλ, έηζη ψζηε, κφιηο είλαη έηνηκα ηα κνληέια ζε επίπεδν θαηαρσξεηψλ λα κπνξεί λα γίλεη θαη ε επαιήζεπζε ιεηηνπξγίαο ηνπο. [2] Σξόπνη αλάπηπμεο θώδηθα (Coding styles) Με ηε θξάζε «ηξφπνο αλάπηπμεο θψδηθα» ελλννχκε νπζηαζηηθά έλαλ «νδεγφ» γηα ηελ αλάπηπμε ελφο κνληέινπ ρξεζηκνπνηψληαο έλα ζχλνιν απφ ηδηφηεηεο ηεο γιψζζαο, φρη έλα ζπγθεθξηκέλν επίπεδν αθαηξεηηθφηεηαο ή πξνγξακκαηηζηηθφ πεξηβάιινλ. Σην πξφηππν TLM 2.0 νξίδνληαη δχν θαηεπζχλζεηο αλάπηπμεο θψδηθα, νη νπνίεο έρνπλ λα θάλνπλ κε ηελ ρξνληθή αθξίβεηα πνπ ζέινπκε ζηα κνληέια καο. Τν έλα νλνκάδεηαη ραιαξνύ ρξνληζκνύ (loosely timed, LT), ελψ ην άιιν πξνζεγγηζηηθνύ ρξνληζκνύ (approximately timed, AT). Βέβαηα ππάξρεη ε δπλαηφηεηα λα νξηζηνχλ θαη ρξεζηκνπνηεζνχλ θαη δηαθνξεηηθνί ηξφπνη πξνγξακκαηηζκνχ. Υαιαξνύ ρξνληζκνύ (Loosely timed): Τα κνληέια LT πεξηέρνπλ αξθεηέο ιεπηνκέξεηεο φζνλ αθνξά ηελ επηθνηλσλία, αιιά δε δίλνπλ ηδηαίηεξε ζεκαζία ζε ζέκαηα ρξνληζκνχ. Γειαδή ππάξρεη, κφλν γεληθά, κία έλλνηα ρξφλνπ κέζα ζην κνληέιν, γηα λα κπνξνχλ λα ζπγρξνληζηνχλ νη δηεξγαζίεο. Απηφο ν ηξφπνο ζρεδίαζεο είλαη θαηάιιεινο γηα ηελ εμππεξέηεζε ηεο πεξίπησζεο ρξήζεο «Αλάπηπμε ινγηζκηθνχ». Υπνζηεξίδεη ηελ κνληεινπνίεζε ρξνληζηψλ (timers) θαη δηαθνπψλ (interrupts) θαη επηηξέπεη ηελ εθθίλεζε ιεηηνπξγηθψλ ζπζηεκάησλ. Ο κεραληζκφο δηεπαθψλ πνπ ρξεζηκνπνηείηαη ζε απηφ ην είδνο πξνγξακκαηηζκνχ είλαη ε κεηαθνξά κε κπινθάξηζκα (blocking transport interface). Σηε κεηαθνξά κε κπινθάξηζκα, κία δηεξγαζία ζηακαηάεη ηελ εθηέιεζή ηεο (κπινθάξεηαη) έσο φηνπ νινθιεξσζεί ε κεηαθνξά. Κάζε κεηαθνξά ζρεηίδεηαη κε δχν ρξνληθά ζεκεία, ηελ έλαξμε θαη ην ηέινο ηεο κεηαθνξάο. Δπίζεο, ζε απηφ ην κνληέιν αλάπηπμεο θψδηθα επηηξέπεηαη ζε κία δηεξγαζία λα ηξέμεη πέξα ηνπ ηξέρνληνο ρξφλνπ εμνκνίσζεο, κέρξη θάπνην ζεκείν ζπγρξνληζκνχ. 25

36 Πξνζεγγηζηηθνύ ρξνληζκνύ (Approximately timed): Σηα AT κνληέια θάζε δηεξγαζία εθηειείηαη πάληα ζχκθσλα κε ην ρξφλν εμνκνίσζεο. Απηά ηα κνληέια είλαη θαηάιιεια γηα ηηο πεξηπηψζεηο ρξήζεο «Αξρηηεθηνληθήο αλάιπζεο» θαη «Δπαιήζεπζεο πιηθνχ» αθνχ κπνξνχλ λα πεξηγξάςνπλ ηε δήηεζε θαη δηαρείξηζε πφξσλ. Ο κεραληζκφο δηεπαθψλ πνπ ρξεζηκνπνηείηαη ζε απηφ ην είδνο πξνγξακκαηηζκνχ είλαη ε κεηαθνξά ρσξίο κπινθάξηζκα (non-blocking transport interface). Σηε κεηαθνξά ρσξίο κπινθάξηζκα, νη δηεξγαζίεο δε ζηακαηάλε ηελ εθηέιεζή ηνπο. Κάζε κεηαθνξά ρσξίδεηαη ζε πεξηζζφηεξεο θάζεηο (γηα παξάδεηγκα, αξρή απαίηεζεο ηέινο απαίηεζεο - αξρή απάληεζεο ηέινο απάληεζεο). [2] Η δνκή ελόο TLM κνληέινπ Πξηλ πεξάζνπκε λα δνχκε αλαιπηηθά ηνπο κεραληζκνχο πνπ ππνζηεξίδεη απηφ ην πξφηππν, ζα δψζνπκε κία γεληθή εηθφλα ηεο δνκήο ελφο κνληέινπ TLM θαη ηεο ιεηηνπξγίαο ηνπ (Δηθφλα 3.5). 3.5 Γνκή ελόο TLM κνληέινπ Όπσο θαίλεηαη θαη ζην παξαπάλσ ζρήκα, ππάξρνπλ κφλν ηξία δνκηθά ζηνηρεία κέζα ζε έλα κνληέιν, ηνπ «εθθηλεηή» (initiator), ηνπ «ζηφρνπ» (target) θαη ην «ελδηάκεζν ζηνηρείν» (interconnect). Κάζε έλα απφ απηά πεξηγξάθεηαη σο ελφηεηα (module) κε ηε ρξήζε ηεο SystemC. Υπάξρεη βέβαηα ε δπλαηφηεηα ν ξφινο ελφο ζηνηρείνπ λα αιιάδεη δπλακηθά κέζα ζην ίδην κνληέιν, δειαδή θάπνην ζηνηρείν 26

37 κπνξεί λα παίδεη ην ξφιν ηνπ εθθηλεηή γηα κία ζπλαιιαγή θαη ην ξφιν ηνπ ζηφρνπ γηα άιιε. Γεληθά, νη ζπλαιιαγέο μεθηλάλε απφ ηνλ «εθθηλεηή» θαη θαηαιήγνπλ ζηνλ «ζηφρν». Πάκε λα δνχκε ιίγν πην αλαιπηηθά απηά ηα ζηνηρεία. Ο «εθθηλεηήο» είλαη έλα module ην νπνίν δεκηνπξγεί έλα θνξηίν (generic payload). Απηφ ην θνξηίν πεξηγξάθεηαη σο «αληηθείκελν ζπλαιιαγήο» (transaction object), θαη ζηέιλεηαη ζε θάπνην θαλάιη κε ηε ρξήζε κίαο απφ ηηο βαζηθέο ζπλαξηήζεηο δηεπαθήο. Σηελ πξαγκαηηθφηεηα δε ζηέιλεηαη φιν ην θνξηίν αιιά έλαο δείθηεο αλαθνξάο ζε απηφ. Τν αληηθείκελν παξακέλεη ζην module ζην νπνίν δεκηνπξγήζεθε. Παξάδεηγκα ελφο «εθθηλεηή» ζε πξαγκαηηθφ ζχζηεκα είλαη έλαο επεμεξγαζηήο. Ο «ζηφρνο» είλαη ην ζηνηρείν ζην νπνίν θαηαιήγνπλ ηα αληηθείκελα ζπλαιιαγήο, δξα πάλσ ζε απηά αλάινγα κε ηελ εληνιή πνπ ηα ζπλνδεχεη ηππηθά γηα θάπνηα εγγξαθή ή αλάγλσζε απφ κλήκε θαη ηα επηζηξέθεη. Παξάγεηγκα «ζηφρνπ» ζε έλα ζχζηεκα είλαη κία κλήκε. Τν «ελδηάκεζν ζηνηρείν» ιακβάλεη αληηθείκελα ζπλαιιαγήο αιιά δελ δξα πάλσ ζε απηά παξά ηα πξνσζεί ζηνλ ή ζηνπο ζηφρνπο, κε βάζε θάπνηα θξηηήξηα. Παξάδεηγκα «ελδηάκεζν ζηνηρείνπ» είλαη έλαο δξνκνινγεηήο ή κία γέθπξα. Όζνλ αθνξά ην δηπιφ ξφιν πνπ κπνξεί λα έρνπλ θάπνηα ζηνηρεία, αο δνχκε έλα παξάδεηγκα πξαγκαηηθνχ πιηθνχ ζηνηρείνπ πνπ παίδεη θαη ηνπο δχν ξφινπο, ην DMA. Καηά ηε δηάξθεηα ηεο ελεκέξσζήο ηνπ απφ έλαλ επεμεξγαζηή ιεηηνπξγεί σο «ζηφρνο», ελψ φηαλ πξνζπειαχλεη ηε κλήκε ιεηηνπξγεί σο «εθθηλεηήο». Τέινο, ην «αληηθείκελν ζπλαιιαγήο» πεξηιακβάλεη φια ηα απαξαίηεηα ζηνηρεία γηα κηα ζπλαιιαγή. Γεκηνπξγείηε απφ έλαλ «εθθηλεηή» θαη ζηέιλεηαη ζην «ζηφρν», σο παξάκεηξνο κίαο ζπλάξηεζεο δηεπαθήο, αθνινπζψληαο ην «κνλνπάηη πξνο ηα εκπξφο» (forward path). Όηαλ ν «ζηφρνο» ην δερζεί δξα πάλσ ηνπ, φπσο είπακε θαη πξνεγνπκέλσο, θαη απαληάεη ζηέιλνληάο ην πίζσ κέζσ ηνπ «κνλνπαηηνχ πξνο ηα πίζσ» (backward path). [2] Οη δηεπαθέο ππξήλα (core interfaces) Πάκε λα δνχκε ηψξα ηηο δηεπαθέο ππξήλα πνπ πεξηγξάθεη ην πξφηππν θαη πνπ βνεζνχλε ζηε δηαηήξεζε ηεο δηαιεηηνπξγηθφηεηαο ελφο κνληέινπ. Απηέο είλαη ηέζζεξηο (blocking, non-blocking, DMI, debug) θαη πινπνηνχληαη απφ έμη κεζφδνπο, ηέζζεξηο ζην «κνλνπάηη πξνο ηα εκπξφο» θαη δχν ζην «κνλνπάηη πξνο ηα πίζσ». Μπνξνχκε λα ηηο δνχκε ζηελ εηθφλα 3.6. Γηεπαθέο κεηαθνξάο (Transport Interfaces) Σηηο δηεπαθέο κεηαθνξάο αλήθνπλ ε blocking θαη ε non-blocking. Καη νη δχν ππνζηεξίδνπλ ηελ αλαθνξά ζην ρξφλν θαζψο θαη ηελ εθηέιεζε πέξα απφ ην ρξφλν εμνκνίσζεο (temporal decoupling), αλ θαη ζηελ πεξίπησζε ηεο non-blocking κεηαθνξάο ην ηειεπηαίν ράλεη ηελ αμία ηνπ ιφγσ ηεο χπαξμεο πνιιαπιψλ θάζεσλ. Δπίζεο, θαη νη δχν δηεπαθέο έρνπλ ζρεδηαζηεί γηα λα ρξεζηκνπνηνχληαη κε ην 27

38 αληηθείκελν ζπλαιιαγήο generic payload, γηα ηελ θαιχηεξε ζρεδίαζε ησλ δηαχισλ κε αληηζηνίρεζε ζε κλήκε (memory-mapped). Πην ζπγθεθξηκέλα, ε δηεπαθή blocking transport πινπνηείηαη κφλν ζην «κνλνπάηη πξνο ηα εκπξφο» κε ηε ρξήζε ηεο κεζφδνπ b_transport(). Φξεζηκνπνηείηαη ζην ζηπι πξνγξακκαηηζκνχ LT θαη επηιέγεηαη φηαλ ν «εθθηλεηήο» ζέιεη λα νινθιεξψζεη κία ζπλαιιαγή κε κία θιήζε ζπλάξηεζεο κφλν. Τα κφλα ρξνληθά ζεκεία ελδηαθέξνληνο ζα είλαη ε έλαξμε ηεο ζπλαιιαγήο θαη ην ηέινο ηεο. Απφ ηελ άιιε, ε δηεπαθή non-blocking transport πξννξίδεηαη γηα λα ππνζηεξίμεη ην ζηπι πξνγξακκαηηζκνχ AT. Σην «κνλνπάηη πξνο ηα εκπξφο» πινπνηείηαη κε ηε κέζνδν nb_transport_fw(), ελψ ζην «κνλνπάηη πξνο ηα πίζσ» κε ηε ρξήζε ηεο κεζφδνπ nb_transport_bw(). Φξεζηκνπνηείηαη φηαλ ζέινπκε λα κνληεινπνηήζνπκε ιεπηνκεξψο ηελ αιιειεπίδξαζε initiator θαη target θαηά ηε δηάξθεηα κίαο ζπλαιιαγήο. Τα ρξνληθά ζεκεία ελδηαθέξνληνο είλαη νπζηαζηηθά φζεο θαη νη θάζεηο ηεο ζπλαιιαγήο. 3.6 Οη κέζνδνη πνπ αλήθνπλ ζηηο δηεπαθέο ππξήλα Γηεπαθή απεπζείαο κλήκεο (Direct Memory Interface, DMI) Η δηεπαθή DMI πξνζθέξεη έλα ηξφπν γηα λα κπνξεί θάπνηνο initiator λα απνθηά άκεζε πξφζβαζε ζε κία πεξηνρή κλήκεο ε νπνία αλήθεη ζε θάπνην ζηνηρείν target, ρσξίο δειαδή ηελ κεζνιάβεζε ησλ δηεπαθψλ κεηαθνξάο. Απηφ νδεγεί ζε κεγάιε βειηίσζε ηεο ηαρχηεηαο εμνκνίσζεο θαζψο δε ρξεηάδεηαη λα κεζνιαβνχλ θιήζεηο ζπλαξηήζεσλ γηα ηελ πξφζβαζε ζε θάπνην ζεκείν ηεο κλήκεο. Υπάξρνπλ δχν κέζνδνη πνπ ππνζηεξίδεη απηή ε δηεπαθή. Η κία είλαη ε get_direct_mem_ptr() θαη ρξεζηκνπνηείηαη ζην «κνλνπάηη πξνο ηα εκπξφο» κε ζθνπφ λα απνθηήζεη ν initiator πξφζβαζε ζε θάπνηα ζέζε κλήκεο. Τν target ζηνηρείν αλ 28

39 απαληήζεη ζεηηθά ζε απηφ ην αίηεκα, επηζηξέθεη ηελ πεξηνρή κλήκεο φπνπ επηηξέπεηαη ε άκεζε πξφζβαζε θαζψο θαη ηηο ρξνληθέο θαζπζηεξήζεηο πνπ απαηηνχληαη. Η άιιε κέζνδνο είλαη ε invalidate_direct_mem_ptr() θαη ρξεζηκνπνηείηαη απφ ην target ζηνηρείν, ζην «κνλνπάηη πξνο ηα πίζσ», κε ζθνπφ λα αθπξψζεη ηελ άδεηα άκεζεο πξφζβαζεο ηνπ initiator ζηε κλήκε πνπ είρε δψζεη λσξίηεξα. Γηεπαθή κεηαθνξάο γηα εθζθαικάησζε (Debug transfer Interface) Απηή ε δηεπαθή ρξεζηκνπνηείηαη γηα ην γξάςηκν ή ην δηάβαζκα θάπνηαο κλήκεο, ρσξίο φκσο ηηο θαζπζηεξήζεηο πνπ ζα είρε κία θαλνληθή κεηαθνξά. Υινπνηείηαη ζην «κνλνπάηη πξνο ηα εκπξφο» κε ηε ρξήζε ηεο κεζφδνπ transport_dbg(). Φξεζηκνπνηείηαη θαη ζηα δχν είδε πξνγξακκαηηζκνχ (LT - AT). [2] Global quantum Τν global quantum είλαη νπζηαζηηθά έλα ρξνληθφ δηάζηεκα. Φξεζηκνπνηείηαη θπξίσο ζηνλ loosely timed ηξφπν πξνγξακκαηηζκνχ, φηαλ ζέινπκε κία δηεξγαζία λα «ηξέμεη» κπξνζηά απφ ην ρξφλν εμνκνίσζεο. Μφιηο απηή ε δηεξγαζία έρεη θηάζεη ζε ρξφλν εμνκνίσζεο ίζν κε ην global quantum, ζηακαηάεη ηελ εθηέιεζή ηεο γηα λα ζπγρξνληζηεί κε ην ππφινηπν ζχζηεκα. [2] Τπνδνρέο (Sockets) Κάζε δνκηθφ ζηνηρείν ελφο TLM κνληέινπ δηαζέηεη κία ηνπιάρηζηνλ ππνδνρή, γηα λα κπνξεί λα έρεη επηθνηλσλία κε ηνλ έμσ θφζκν. Υπάξρνπλ δχν ηχπνη ππνδνρψλ: ε ππνδνρή ηνπ «εθθηλεηή» θαη ε ππνδνρή ηνπ «ζηφρνπ». Έλα ζηνηρείν πνπ πεξηέρεη ηελ πξψηε, κπνξεί λα θαιέζεη ηηο κεζφδνπο ησλ δηεπαθψλ ππξήλα πνπ αθνινπζνχλ ην «κνλνπάηη πξνο ηα εκπξφο» ελψ αληίζεηα, ην ζηνηρείν πνπ πεξηέρεη ηε δεχηεξε κπνξεί λα θαιέζεη ηηο κεζφδνπο πνπ αθνινπζνχλ ην «κνλνπάηη πξνο ηα πίζσ». [2] Οη δχν απηέο ππνδνρέο πξνζθέξνπλ ηα εμήο πιενλεθηήκαηα: Σπγθεληξψλνπλ φιεο ηηο δηεπαθέο ππξήλα ζε έλα αληηθείκελν, παξέρνπλ κεζφδνπο γηα ηελ έλσζε δχν ππνδνρψλ ζε κία θιήζε, παξέρνπλ δπλαηφ ειεγθηηθφ κεραληζκφ, γηα λα κελ ελψλνληαη ππνδνρέο πνπ εθηεινχλ δηαθνξεηηθφ πξσηφθνιιν θαη ζπκπεξηιακβάλνπλ κία παξάκεηξν κε ην κέγεζνο ηνπ δηαχινπ, ε νπνία κπνξεί λα ρξεζηκνπνηεζεί ζε κία ζπλαιιαγή Generic payload Τν generic payload είλαη ν ηχπνο ηνπ αληηθεηκέλνπ ζπλαιιαγήο (transaction object) θαη είλαη ζηελά ζπλδεδεκέλν κε ηε ρξήζε ηνπ βαζηθνχ πξσηνθφιινπ. Ο 29

40 ζθνπφο ηνπ είλαη λα βειηηψζεη ηε δηαιεηηνπξγηθφηεηα ζε δηαχινπο κε αληηζηνηρία ζε κλήκε. Κάπνηα απφ ηα ραξαθηεξηζηηθά πνπ ππνζηεξίδεη γηα απηφ ην ζθνπφ είλαη ηα πεδία: εληνιήο (δηάβαζκα ή γξάςηκν) δηεχζπλζεο (ηνπ «ζηφρνπ» ζηελ νπνία ζα γίλεη ε εγγξαθή ή ην δηάβαζκα) δεδνκέλσλ (δείθηεο ηνπ «εθθηλεηή» πνπ δείρλεη ηε ζέζε πνπ βξίζθνληαη ηα δεδνκέλα γηα εγγξαθή ή πνπ ζα κεηαθεξζνχλ ηα δεδνκέλα πνπ ζα αλαγλσζζνχλ ) καδηθήο κεηαθνξάο απάληεζεο (άκα έγηλε ζσζηά ε ζπλαιιαγή) Βιέπνπκε φηη ηα πεξηζζφηεξα πεδία είλαη θαη απηά πνπ ζα ρξεηαδφληνπζαλ γηα λα γίλεη κία κεηαθνξά δεδνκέλσλ ζε δίαπιν αληηζηνίρηζεο κλήκεο, σζηφζν ν ίδηνο ηχπνο αληηθεηκέλνπ ζπλαιιαγήο κπνξεί λα ρξεζηκνπνηεζεί θαη γηα ηε κνληεινπνίεζε δηαθνξεηηθψλ δνκψλ επηθνηλσλίαο. Απηφ είλαη δπλαηφλ ιφγν ελφο κεραληζκνχ επεθηαζηκφηεηαο πνπ ππάξρεη θαη δίλεη ηε δπλαηφηεηα πξνζζήθεο λέσλ πεδίσλ. Βέβαηα ζε απηήλ ηελ πεξίπησζε, είλαη πηζαλφλ λα κεησζεί ην επίπεδν δηαιεηηνπξγηθφηεηαο. Γεληθά ππάξρνπλ ηξεηο ελαιιαθηηθέο γηα λα κνληεινπνηήζνπκε έλα πξσηφθνιιν επηθνηλσλίαο κε απμαλφκελεο επηδξάζεηο ζηε δηαιεηηνπξγηθφηεηα (Δηθφλα 3.7). [2][5] 1. Να ρξεζηκνπνηήζνπκε ηνλ ηχπν generic payload κε επεθηάζεηο 2. Να θαζνξίζνπκε έλα λέν πξσηφθνιιν επηθνηλσλίαο, δηαηεξψληαο φκσο ηνλ ηχπν generic payload γηα ην αληηθείκελν ζπλαιιαγήο 3. Να θαζνξίζνπκε έλα λέν πξσηφθνιιν επηθνηλσλίαο, θαζψο θαη έλα λέν ηχπν αληηθεηκέλνπ ζπλαιιαγήο 3.7 Γηαιεηηνπξγηθόηεηα θαη TLM 30

41 3.2.9 Σν βαζηθό πξσηόθνιιν Τν βαζηθφ πξσηφθνιιν είλαη έλα ζχλνιν θαλφλσλ πνπ δηαζθαιίδνπλ ζηα δηάθνξα δνκηθά ζηνηρεία, ζε SystemC TLM, ελφο ζπζηήκαηνο κε δίαπιν αληηζηνίρεζεο κλήκεο, ηε κέγηζηε δηαιεηηνπξγηθφηεηα. Πέξα φκσο απφ ηνπο θαλφλεο, ην βαζηθφ πξσηφθνιιν απαηηεί ηε ρξεζηκνπνίεζε ησλ εμήο θιάζεσλ ηνπ πξνηχπνπ: Τηο δηεπαθέο ππξήλα Τηο ππνδνρέο «εθθηλεηή» θαη «ζηφρνπ» Τνλ ηχπν generic payload γηα ην αληηθείκελν ζπλαιιαγήο Τηο θάζεηο ζπλαιιαγήο Οη θάζεηο ζπλαιιαγήο Γηα ηα ηξία πξψηα έρνπκε κηιήζεη λσξίηεξα, φρη φκσο θαη γηα ηηο θάζεηο ζπλαιιαγήο. Οη θάζεηο ζπλαιιαγήο ρξεζηκνπνηνχληαη καδί κε ηε non-blocking δηεπαθή κεηαθνξάο γηα λα πεξηγξάςνπλ ηε θάζε ζηελ νπνία βξίζθεηαη ε δηαδηθαζία ηεο ζπλαιιαγήο αλάκεζα ζε δχν ζηνηρεία. Οη θάζεηο πνπ θαζνξίδνληαη απφ ην βαζηθφ πξσηφθνιιν είλαη ηέζζεξηο: έλαξμε αηηήκαηνο (BEGIN_REQ), ηέινο αηηήκαηνο (END_REQ), έλαξμε απάληεζεο (BEGIN_RESP), ηέινο απάληεζεο (END_RESP). Βέβαηα, ππάξρεη ην ελδερφκελν, κέζα ζηα πιαίζηα ηνπ βαζηθνχ πξσηνθφιινπ, λα κελ πεξάζεη κία ζπλαιιαγή απφ φιεο ηηο θάζεηο. Γηα κία εληνιή εγγξαθήο, ε θάζε BEGIN_REQ ζεκαηνδνηεί ηε ζηηγκή πνπ αξρίδεη ε κεηαθνξά δεδνκέλσλ θαη ην END_REQ ηε ζηηγκή πνπ γξάθηεθε θαη ην ηειεπηαίν δεδνκέλν. Γηα κηα εληνιή αλάγλσζεο, ε θάζε BEGIN_RESP ζεκαηνδνηεί ηε ζηηγκή πνπ ε πξψηε ιέμε δεδνκέλσλ είλαη δηαζέζηκε θαη ην END_RESP ηελ νινθιήξσζε ηεο αλάγλσζεο. Με ηέζζεξηο θάζεηο είλαη δπλαηφλ λα κνληεινπνηεζεί ε θαζπζηέξεζε λα γίλεη δεθηφ έλα αίηεκα (request accept delay), ν ρξφλνο αλακνλήο (latency) ηνπ ζηφρνπ θαη ε θαζπζηέξεζε λα γίλεη δεθηή ε απάληεζε (response accept delay), φπσο θαίλεηαη θαη ζηελ εηθφλα

42 3.8 πλαιιαγή κε βάζε ην βαζηθό πξσηόθνιιν Γεληθά ην βαζηθφ πξσηφθνιιν επηηξέπεη ηελ επέθηαζε ησλ θάζεσλ, φπσο θαη ζηελ πεξίπησζε ηνπ generic payload, κφλν αλ απηέο νη επεθηάζεηο κπνξνχλ λα αγλνεζνχλ. Με ηελ έλλνηα κπνξνχλ λα αγλνεζνχλ ελλννχκε φηη πέξα απφ ην δνκηθφ ζηνηρείν πνπ ηηο εηζήγαγε, ηα άιια δνκηθά ζηνηρεία κπνξνχλ λα ηηο αγλνήζνπλ. Σε θάζε πεξίπησζε, φια ηα ζηνηρεία ζα πξέπεη λα κπνξνχλ λα εθηειέζνπλ ηε ιεηηνπξγία ηνπο ζαλ λα κελ ππήξραλ απηέο νη επεθηάζεηο. Αλ απηέο νη επεθηάζεηο δελ κπνξνχλ λα αγλνεζνχλ, πξέπεη λα νξηζηεί λέν πξσηφθνιιν. [2] Άιια εξγαιεία Πέξα απφ απηνχο ηνπο βαζηθνχο κεραληζκνχο πνπ ρξεηάδνληαη γηα ηε δεκηνπξγία ελφο κνληέινπ TLM, ην πξφηππν πεξηιακβάλεη θαη θάπνηεο πξφζζεηεο θιάζεηο κε ζηφρν λα δηεπθνιχλνπλ ηε ρξήζε ησλ βαζηθψλ θαη γηα θαιχηεξε ζπλνρή ηνπ θψδηθα. Οη θιάζεηο απηέο είλαη παξάγσγα ησλ βαζηθψλ. Βέβαηα, θαη ρσξίο ηελ ρξεζηκνπνίεζή ηνπο, δελ επεξεάδεηαη ν βαζκφο δηαιεηηνπξγηθφηεηαο ηνπ κνληέινπ. [2] Σπλνπηηθά, νη επηπιένλ θιάζεηο έρνπλ λα θάλνπλ: κε ππνδνρέο, κε ην Quantum κε ην Payload κε επεθηάζεηο 32

43 4 Σν δίθηπν CAN Τν CAN (Controller Area Network) είλαη έλα ζεηξηαθφ δίθηπν ην νπνίν ζπλαληάηαη κέζα ζε ελζσκαησκέλα ζπζηήκαηα θαη πξνζθέξεη γξήγνξε επηθνηλσλία, γηα απαηηήζεηο πξαγκαηηθνχ ρξφλνπ, κεηαμχ κηθξνειεγθηψλ. Η αλάπηπμή ηνπ μεθίλεζε ην 1983 ζηε γεξκαληθή εηαηξία Robert Bosch GmbH κε αξρηθφ ζθνπφ ηε ρξήζε ηνπ ζε εθαξκνγέο απηνθίλεζεο. Τα πιενλεθηήκαηα φκσο πνπ παξνπζηάδεη, έρνπλ δηεπξχλεη ην πεδίν εθαξκνγψλ ηνπ, ην νπνίν πεξηιακβάλεη κεηαμχ άιισλ βηνκεραληθέο, αεξνλαππεγηθέο, δηαζηεκηθέο εθαξκνγέο, αιιά θαη νηθηαθέο. [7] Κάπνηα ζεκεία θιεηδηά ηεο CAN ηερλνινγίαο: Δίλαη έλαο πςειήο αθεξαηφηεηαο δίαπινο ζεηξηαθήο επηθνηλσλίαο γηα εθαξκνγέο πξαγκαηηθνχ ρξφλνπ Έρεη θαιχηεξε αλαινγία θφζηνπο απνηειεζκαηηθφηεηαο ζε ζρέζε κε άιια ζπζηήκαηα ζεηξηαθψλ δηαχισλ, φπσο ην RS232 θαη ην TCP/IP Δίλαη πην εχθνιν ζηε ρξήζε απφ άιια παξφκνηα ζπζηήκαηα Η ηαρχηεηά ηνπ θηάλεη ην 1Mbps Έρεη εμαηξεηηθφ κεραληζκφ γηα ηνλ έιεγρν θαη ηελ αληηκεηψπηζε ζθαικάησλ Λεηηνπξγεί απνηειεζκαηηθά ζε δχζθνια ειεθηξηθά πεξηβάιινληα Φξεζηκνπνηείηαη ζε πνιιέο εθαξκνγέο Απνηειεί δηεζλέο πξφηππν (ISO 11898) 4.1 Αξρηηεθηνληθή ηνπ δηθηύνπ Τα πεξηζζφηεξα επηθνηλσληαθά δίθηπα αθνινπζνχλ έλα ζχζηεκα αλάπηπμεο πνιιψλ βαζκίδσλ. Με απηφ ηνλ ηξφπν επηηπγράλεηαη ε δηαιεηηνπξγηθφηεηα κεηαμχ πξντφλησλ δεκηνπξγεκέλσλ απφ δηαθνξεηηθνχο θαηαζθεπαζηέο. Η αξρηηεθηνληθή δηθηχνπ πνιιψλ βαζκίδσλ, πνπ ρξεζηκνπνηείηαη σο αλαθνξά ζηελ αλάπηπμε νπνηνπδήπνηε δηθηχνπ θαη απνηειεί πξφηππν ISO, νλνκάδεηαη OSI. Τα επηά επίπεδα απφ ηα νπνία απνηειείηαη κπνξνχκε λα ηα δνχκε ζην ζρήκα 4.1. Τν CAN πξσηφθνιιν ρξεζηκνπνηεί ηα δχν βαζηθά επίπεδα (physical, data link). Τα ππφινηπα επίπεδα παξαθάκπηνληαη, κέρξη ην επίπεδν εθαξκνγήο (application), κε ζθνπφ λα ζσζνχλ πφξνη κλήκεο νδεγψληαο έηζη ζε θαιχηεξε απφδνζε, φπσο είλαη θαη ην δεηνχκελν ζε ελζσκαησκέλα ζπζηήκαηα κε πεξηνξηζκέλνπο πφξνπο. Τα επίπεδα πάλσ απφ ην επίπεδν δεδνκέλσλ είλαη δνπιεηά ηνπ ζρεδηαζηή ινγηζκηθνχ. 33

44 4.1 Σα επίπεδα OSI Σν θπζηθό επίπεδν Η ηνπνινγία Έλαο CAN δίαπινο απνηειείηαη κφλν απφ δχν θαιψδηα, ην CAN_H θαη ην CAN_L. Πάλσ ζε απηά είλαη ζπλδεδεκέλνη φινη νη θφκβνη ηνπ δηθηχνπ. Σηηο δχν άθξεο ηνπ δηθηχνπ είλαη ηνπνζεηεκέλεο δχν αληηζηάζεηο κε ηηκή απφ 100Ω έσο 130Ω. Οη ιφγνη ηεο ρξεζηκνπνίεζήο ηνπο είλαη δχν. Ο πξψηνο, είλαη ε απνξξφθεζε ησλ ειεθηξηθψλ αληαλαθιάζεσλ θαη ν δεχηεξνο, ε δηαζθάιηζε ηεο ζσζηήο DC ηηκήο ηνπ δηαχινπ. Σπλήζσο ρξεζηκνπνηνχληαη αληηζηάζεηο ησλ 120Ω, αιιά κπνξνχλ λα ρξεζηκνπνηεζνχλ θαη δηαθνξεηηθέο αλάινγα κε ηελ ηνπνινγία θαη ηνπο ξπζκνχο κεηάδνζεο ησλ bit. Γεληθά, φζν κηθξφηεξε είλαη ε ηηκή ηεο αληίζηαζεο, ηφζν κηθξφηεξνο είλαη ν αξηζκφο ησλ θφκβσλ πνπ κπνξνχλ λα ζπλδεζνχλ ζην δίθηπν. Μία ηππηθή ηνπνινγία κπνξνχκε λα δνχκε ζηελ εηθφλα Σνπνινγία δηθηύνπ CAN Όπσο έρνπκε αλαθέξεη, ην CAN δίθηπν ρξεζηκνπνηείηαη γηα ηελ επηθνηλσλία κηθξν-ειεγθηψλ, ρσξίο ηελ χπαξμε θάπνηαο θεληξηθήο κνλάδαο επεμεξγαζίαο. Έηζη 34

45 ινηπφλ, θάζε θφκβνο απνηειείηαη απφ ηνλ κηθξν-ειεγθηή, πνπ ζέιεη λα ζπλδεζεί ζην δίθηπν, θαη ηνλ ειεγθηή ηνπ δηθηχνπ (CAN controller). Ο ειεγθηήο CAN είλαη νπζηαζηηθά ην κέζνλ γηα λα ζπλδεζεί κία ειεθηξνληθή κνλάδα επεμεξγαζίαο κε ην δίθηπν, αθνχ είλαη απηφο πνπ πινπνηεί ην πξσηφθνιιν επηθνηλσλίαο. Σα ινγηθά επίπεδα Η θσδηθνπνίεζε γξακκήο πνπ ρξεζηκνπνηείηαη είλαη ε NRZ (κε γπξηζκνχ ζην κεδέλ). Απηή έρεη ην πιενλέθηεκα φηη ρξεηάδεηαη ην κηζφ εχξνο δψλεο (bandwidth) ζε ζρέζε κε ηελ θσδηθνπνίεζε Manchester, σζηφζν απαηηείηαη ε χπαξμε ελφο επηπιένλ κεραληζκνχ ζπγρξνληζκνχ. Με βάζε απηήλ ηελ θσδηθνπνίεζε δηαρσξίδνληαη δχν ινγηθά επίπεδα: ην «θπξίαξρν» (ινγηθφ 0 ) θαη ην «ππνιεηπφκελν» (ινγηθφ 1 ). Οη θφκβνη είλαη ζπλδεδεκέλνη πάλσ ζηνλ δίαπιν κε δηάηαμε Wired-AND, δειαδή άκα έλαο θφκβνο νδεγεί ηνλ δίαπιν ζην θπξίαξρν επίπεδν, ηφηε θαη ν δίαπινο βξίζθεηαη ζην θπξίαξρν επίπεδν, αλεμάξηεηα απφ ηελ ηηκή ησλ άιισλ θφκβσλ. Αλ, απφ ηελ άιιε, φινη νη θφκβνη βξίζθνληαη ζε επίπεδν ππνιεηπφκελν, ζε απηφ ην επίπεδν ζα βξίζθεηαη θαη ν δίαπινο. Όζνλ αθνξά ηελ ηάζε πνπ αληηζηνηρεί ζε θάζε ινγηθφ επίπεδν, απηή θαζνξίδεηαη απφ ηελ δηαθνξά ηάζεο αλάκεζα ζηα δχν θαιψδηα, CAN_H θαη CAN_L. Με απηφλ ηνλ ηξφπν, ην CAN δίθηπν απνθηά θαη ην πιενλέθηεκα ηεο αληίζηαζεο ζηελ επίδξαζε ηεο ειεθηξνκαγλεηηθήο αθηηλνβνιίαο (EMI), αθνχ ε νπνηαδήπνηε ειεθηξνκαγλεηηθή αθηηλνβνιία ζα επεξεάζεη εμίζνπ θαη ηα δχν θαιψδηα, αιιά ε δηαθνξά ηάζεο ζα κείλεη ζηαζεξή. Η ηαρύηεηα θαη ην κήθνο ηνπ δηαύινπ Η κέγηζηε ηαρχηεηα ελφο δηαχινπ CAN, ζχκθσλα κε ην πξφηππν, είλαη ην 1 Mbps. Ωζηφζν απηή ε ηαρχηεηα είλαη άξξεθηα ζπλδεδεκέλε κε ην κήθνο ηνπ δηαχινπ. Όπσο θαίλεηαη θαη ζην δηάγξακκα 4.3, ην κήθνο ηνπ δηαχινπ γηα λα έρνπκε ζην δίθηπν ηε κέγηζηε ηαρχηεηα, δελ πξέπεη λα μεπεξλάεη ηα 40 κέηξα. Απηφ νθείιεηαη ζην γεγνλφο φηη γηα λα ιεηηνπξγήζεη ζσζηά ην ζχζηεκα πξέπεη ην ζήκα λα κπνξεί λα ζηαιεί αθφκα θαη ζηνλ πην απνκαθξπζκέλν θφκβν θαη πίζσ, πξηλ γίλεη ε δεηγκαηνιεςία ηνπ ζήκαηνο. Μεγαιχηεξα κήθε δηαχινπ νδεγνχλ ζε κηθξφηεξεο κέγηζηεο ηαρχηεηεο. 35

46 4.3 ρέζε ηαρύηεηαο κε κάθξνο ηνπ CAN δηαύινπ Ο ρξνληζκόο ησλ bit Όπσο αλαθέξακε λσξίηεξα, ε θσδηθνπνίεζε NRZ ρξεηάδεηαη έλα κεραληζκφ ζπγρξνληζκνχ. Απηφο ν κεραληζκφο βξίζθεηαη κέζα ζηνλ ειεγθηή CAN θάζε θφκβνπ θαη ππνινγίδεη πφζν ρξφλν δηαξθεί θάζε bit, ρσξίδνληάο ην ζε ηέζζεξα κέξε: ην θνκκάηη ζπγρξνληζκνχ, ην θνκκάηη κεηάδνζεο θαη δχν θνκκάηηα θάζεο. Η δεηγκαηνιεςία ηεο ηηκήο ηνπ δηαχινπ γίλεηαη ζην ζεκείν πνπ ρσξίδνληαη ηα δχν θνκκάηηα θάζεο. Έηζη, αλ γηα παξάδεηγκα, έρνπκε ζηε ζεηξά bit ινγηθνχ 1, λα κπνξνχκε λα μερσξίζνπκε πφζα είλαη απηά ηα bit. Δπεηδή φκσο, θάζε ειεγθηήο ζην ζχζηεκα έρεη ην δηθφ ηνπ ξνιφη θαη δελ ππάξρεη κεηάδνζε ζήκαηνο ξνινγηνχ ζηνλ δίαπιν, πξέπεη λα ππάξρεη έλαο ηξφπνο λα ζπγρξνληζηνχλ ηα ξνιφγηα ησλ δηαθνξεηηθψλ θφκβσλ. Απηφ επηηπγράλεηαη κε δχν είδε ζπγρξνληζκνχ, ηνλ απζηεξφ ζπγρξνληζκφ θαη ηνλ επαλαζπγρξνληζκφ. Ο απζηεξφο ζπκβαίλεη θάζε θνξά πνπ αξρίδεη ε κεηάδνζε ελφο πιαηζίνπ ελψ ν δεχηεξνο θαηά ηε δηάξθεηα ηεο κεηάδνζεο. Απηφ πνπ παίδεη ξφιν γηα λα επηηεπρζεί έλαο ζπγρξνληζκφο είλαη ε κεηάβαζε ηνπ ινγηθνχ επηπέδνπ ηνπ δηαχινπ απφ ηελ ππνιεηπφκελε ζηελ θπξίαξρε ηηκή, θαζψο θαη ζε πνην θνκκάηη ηνπ bit, κε βάζε ην ρσξηζκφ πνπ αλαθέξακε παξαπάλσ, ζπκβαίλεη απηή. [7] Σν επίπεδν ζύλδεζεο δεδνκέλσλ Τν επίπεδν ζχλδεζεο δεδνκέλσλ έρεη λα θάλεη κε ηα πιαίζηα πνπ κεηαδίδνληαη, πσο δεκηνπξγνχληαη, πσο γίλεηαη ν έιεγρνο ηνπο θαη γεληθά κε ηελ πεξηγξαθή ηνπ πξσηνθφιινπ. Γηεμνδηθή αλαθνξά γηα απηά ζα γίλεη ζηελ ελφηεηα Σν επίπεδν εθαξκνγώλ Γηα λα κπνξέζεη ε ηερλνινγία CAN λα ρξεζηκνπνηεζεί θαη ζε εθαξκνγέο πέξα απφ ηελ απηνθίλεζε, λα κπνξέζεη δειαδή λα ρξεζηκνπνηεζεί ζε κεγαιχηεξα θαη πνιππινθφηεξα ζπζηήκαηα, έπξεπε λα επηηξέπεη ηελ απνζηνιή κελπκάησλ 36

47 κεγαιχηεξσλ ησλ 8 Bytes, πνπ είλαη ην φξην ζην επίπεδν ζχλδεζεο δεδνκέλσλ. Με ιίγα ιφγηα νη αλάγθεο γηα: κελχκαηα κε σθέιηκν θνξηίν κεγαιχηεξν ησλ 8 Bytes, θαζνξηζκφ ηνπ «αθέληε» θαη ηνπ «ζθιάβνπ» ζε έλα ζχζηεκα, δηαρείξηζε ηνπ δηθηχνπ, νδήγεζαλ ζηελ αλάπηπμε πξσηνθφιισλ πςειφηεξνπ επηπέδνπ φπσο ηα CANopen, DeviceNet θαη J1939. [7] 4.2 Σν πξσηόθνιιν CAN Τν πξσηφθνιιν επηθνηλσλίαο CAN είλαη έλα πξσηφθνιιν Carrier Sense Multiple Access/Collision Detection (CSMA/CD). Τν CSMA ζεκαίλεη φηη θάζε θφκβνο πξέπεη λα παξαθνινπζεί ηελ θαηάζηαζε ηνπ δηαχινπ θαη λα πεξηκέλεη γηα έλα δηάζηεκα πνπ δελ ππάξρεη δξαζηεξηφηεηα, πξνηνχ ζηείιεη θάπνην κήλπκα ζην δίαπιν. Δπίζεο, κφιηο ππάξμεη απηφ ην ζπγθεθξηκέλν δηάζηεκα κε-δξαζηεξηφηεηαο, θάζε θφκβνο πνπ ζέιεη λα ζηείιεη κπνξεί λα ην θάλεη. Τν CD ζεκαίλεη φηη άκα δχν θφκβνη αξρίδνπλ λα ζηέιλνπλ ηαπηφρξνλα, ε «ζχγθξνπζε» ζα αληρλεπζεί θαη ζα αθνινπζεζεί ε θαηάιιειε δηαδηθαζία γηα ηελ επίιπζε. Σην CAN πξσηφθνιιν ππάξρεη ε πεξίνδνο δηαηηεζίαο (ζα αλαθεξζνχκε αξγφηεξα), πνπ ιχλεη απηφ ην πξφβιεκα, ρσξίο λα θαηαζηξέθεηαη ην κήλπκα κε ηελ πςειφηεξε πξνηεξαηφηεηα, πνπ ζηέιλεηαη.[9] Πξηλ παξνπζηάζνπκε αλαιπηηθά θάζε ιεπηνκέξεηα ηνπ πξσηνθφιινπ, αο δνχκε ελ ζπληνκία πσο ιεηηνπξγεί έλα ζχζηεκα βαζηζκέλν ζηελ CAN επηθνηλσλία. Όινη νη θφκβνη πνπ είλαη ζπλδεδεκέλνη πάλσ ζηνλ θνηλφ δίαπιν «αθνχλε» φηη γίλεηαη ζηνλ δίαπιν θαη έρνπλ ηε δπλαηφηεηα λα απνζηείινπλ κελχκαηα αιιά φρη ηαπηφρξνλα κε θάπνηνλ άιιν θφκβν. Κάζε θφκβνο απνηειείηαη απφ έλα κηθξν-ειεγθηή (microcontroller) θαη ηνλ ειεγθηή CAN (CAN controller). Όηαλ ν κηθξν-ειεγθηήο έρεη έλα κήλπκα γηα απνζηνιή ζε θάπνηνλ άιιν θφκβν πνπ είλαη ζπλδεδεκέλνο ζηνλ δίαπιν, ην πεξλάεη πξψηα ζηνλ CAN ειεγθηή ηνπ. Ο ειεγθηήο ην ελζσκαηψλεη ζε έλα πιαίζην, πξνζζέηνληαο bit φπσο νξίδεη ην πξσηφθνιιν (π.ρ. bit αξρήο θαη ηέινπο, crc πεδίν θ.α.), θαη πεξηκέλεη έλα δηάζηεκα κε-δξαζηεξηφηεηαο ζηνλ δίαπιν γηα λα ην απνζηείιεη. Αλ ηε ζηηγκή πνπ μεθηλάεη ηελ απνζηνιή, μεθηλήζεη ηαπηφρξνλα θάπνηνο άιινο θφκβνο κε κεγαιχηεξε πξνηεξαηφηεηα, ζηακαηάεη ηελ απνζηνιή θαη «αθνχεη» κφλν. Γηαθνξεηηθά ζπλερίδεη ηελ απνζηνιή. Όινη νη άιινη θφκβνη «αθνχλ» απηφλ πνπ ζηέιλεη. Άκα εληνπίζνπλ ιάζνο, ζηέιλνπλ εηδηθή ζεκαία ζηνλ δίαπιν γηα λα θαηαζηξέςνπλ ην κήλπκα θαη λα ελεκεξψζνπλ φπνηνλ θφκβν δελ ην έρεη αληηιεθζεί. Αλ φρη, επηβεβαηψλνπλ ηελ ζσζηή κεηάδνζε ηνπ κελχκαηνο. Ο θφκβνο γηα ηνλ νπνίν πξννξηδφηαλ ην κήλπκα ην θαηαιαβαίλεη απφ έλα πεδίν κέζα ζην πιαίζην πνπ έιαβε ζψδεη ην κήλπκα θαη ην 37

48 κεηαθέξεη ζηνλ κηθξν-ειεγθηή ηνπ. Οη ππφινηπνη θφκβνη απιά δηαγξάθνπλ ην κήλπκα πνπ ιάβαλε. Όπσο θαίλεηαη απφ ηελ παξαπάλσ πεξηγξαθή, ηνλ ζεκαληηθφηεξν ξφιν ζην δίθηπν απηφ παίδεη ν ειεγθηήο CAN, κέζα ζηνλ νπνίν πινπνηείηαη νπζηαζηηθά ην πξσηφθνιιν Σα είδε ησλ πιαηζίσλ Υπάξρνπλ ηέζζεξα είδε πιαηζίσλ πνπ απνζηέιινληαη ζην δίαπιν θαη ηα νπνία δεκηνπξγνχληαη απφ ηνπο ειεγθηέο CAN. Απηά είλαη: δεδνκέλσλ (data) απνκαθξπζκέλν (remote) ζθάικαηνο (error) ππεξθφξησζεο (overload) Πιαίζην δεδνκέλσλ Απηφ είλαη ην κνλαδηθφ είδνο πιαηζίσλ πνπ ρξεζηκνπνηείηαη γηα ηελ απνζηνιή δεδνκέλσλ. Έρεη δχν κνξθέο: ην θαλνληθφ (standard) θαη ην εθηεηακέλν (extended) (απφ ηελ πξψηε θαη ηε δεχηεξε έθδνζε ησλ πξνδηαγξαθψλ). Η κφλε νπζηαζηηθή δηαθνξά ηνπο έρεη λα θάλεη κε ην κέγεζνο ηνπ αλαγλσξηζηηθνχ ηνπο (11bits ζηελ πξψηε πεξίπησζε, 29bits ζηε δεχηεξε). Σηελ εηθφλα 4.4 βιέπνπκε ηε δνκή ηνπ θαλνληθνχ πιαηζίνπ δεδνκέλσλ. Πάκε λα δνχκε ηη ζεκαίλεη θάζε έλα απφ απηά ηα πεδία. 4.4 Σν πιαίζην δεδνκέλσλ Τν πξψην πεδίν απνηειείηαη απφ 1 bit θαη νλνκάδεηαη SOF (αξρή ηνπ πιαηζίνπ). Έρεη πάληα ηε ινγηθή ηηκή 0 (θπξίαξρν) γηα λα πξνθαιεί ηνλ απζηεξφ ζπγρξνληζκφ ησλ θφκβσλ (κεηάβαζε απφ ππνιεηπφκελε ζε θπξίαξρε ηηκή), φπσο πεξηγξάςακε λσξίηεξα. Μεηά αθνινπζεί ην πεδίν δηαηηεζίαο (arbitration) ην νπνίν απνηειείηαη απφ δχν ππν-πεδία. Τν αλαγλσξηζηηθφ (identifier, 11bits) θαη ην RTR (1 bit). Τν αλαγλσξηζηηθφ ρξεζηκνπνηείηαη απφ ηνπο δέθηεο γηα λα θαηαιάβνπλ άκα ην κήλπκα πνπ έιαβαλ απεπζχλεηαη ζε απηνχο. Τν RTR θαζνξίδεη αλ έλα πιαίζην είλαη δεδνκέλσλ ή απνκαθξπζκέλν. Γηα πιαίζην δεδνκέλσλ πξέπεη λα έρεη ηελ ηηκή 0. 38

49 Δπφκελν πεδίν είλαη απηφ ηνπ ειέγρνπ. Απνηειείηαη απφ 6 bits. Τν πην ζεκαληηθφ νλνκάδεηαη IDE θαη θαζνξίδεη άκα ην πιαίζην δεδνκέλσλ είλαη θαλνληθφ ή εθηεηακέλν. Γηα θαλνληθφ παίξλεη ηελ ηηκή 0. Τν επφκελν bit είλαη πάληα 0. Τα ηέζζεξα ιηγφηεξν ζεκαληηθά θαζνξίδνπλ ηνλ αξηζκφ ησλ Bytes δεδνκέλσλ πνπ αθνινπζνχλ. Ο αξηζκφο απηφο κπνξεί λα είλαη απφ 0 έσο 8 (αλ είλαη πάλσ απφ 8 ζεσξείηαη ίζνο κε 8). Αθνινπζεί ην πεδίν δεδνκέλσλ πνπ φπσο είπακε κπνξεί λα έρεη απφ 0 έσο 8 Bytes (δειαδή έσο 64 bits). Σηε ζπλέρεηα έξρεηαη ην πεδίν CRC. Απνηειείηαη απφ 16 bits (ην ιηγφηεξν ζεκαληηθφ πξέπεη λα είλαη 1 ). Η ηηκή ηνπ θαζνξίδεηαη απφ ηνλ θψδηθα θπθιηθνχ πιενλαζκνχ ησλ πξνεγνχκελσλ πεδίσλ, θαη ρξεζηκνπνηείηαη γηα έιεγρν ζθαικάησλ. Πξνηειεπηαίν είλαη ην πεδίν αλαγλψξηζεο (acknowledgement). Απνηειείηαη απφ 2 bits απφ ηα νπνία ην ιηγφηεξν ζεκαληηθφ πξέπεη λα είλαη 1. Τν πεξηζζφηεξν ζεκαληηθφ ζηέιλεηαη 1 απφ ηνλ απνζηνιέα αιιά ηαπηφρξνλα ζηέιλεηαη 0 απφ ηνπο απνδέθηεο, άκα δελ έρνπλ εληνπίζεη ιάζε ζην πιαίζην σο εθείλε ηε ζηηγκή. Τειεπηαίν είλαη ην πεδίν «Τέινο πιαηζίνπ» (EOF) ην νπνίν απνηειείηαη απφ επηά ζπλερφκελα 1. Σηε ζπλέρεηα βιέπνπκε ηελ εηθφλα ηνπ εθηεηακέλνπ πιαηζίνπ δεδνκέλσλ (Δηθφλα 4.5). Οη δηαθνξέο ηνπ έρνπλ λα θάλνπλ κφλν κε ην πεδίν δηαηηεζίαο σο εμήο: 4.5 Σν πιαίζην extended Σηελ αξρή έρνπκε πάιη ηα 11 bits ηνπ identifier. Αθνινπζεί έλα bit πνπ δελ έρεη θάπνηα ζεκαζία, πξνο ην παξψλ, θαη πξέπεη λα είλαη 1. Έπεηηα αθνινπζεί ην IDE πνπ ζηελ πξνθεηκέλε πεξίπησζε παίξλεη ηελ ηηκή 1. Αθνινπζνχλ 18 bits ηνπ δεχηεξνπ identifier θαη ηέινο αθνινπζεί ην RTR bit. Απνκαθξπζκέλν πιαίζην Υπάξρνπλ πάιη δχν εηδψλ απνκαθξπζκέλα πιαίζηα αλάινγα κε ην κήθνο ηνπ αλαγλσξηζηηθνχ (11 ή 29 bits). Οη δηαθνξέο ηνπο κε ηα πιαίζηα δεδνκέλσλ βξίζθεηαη ζε δχν πξάγκαηα. 1. Τν RTR bit είλαη πάληα 1 2. Άζρεηα κε ηελ ηηκή ηνπ πεδίνπ ειέγρνπ, δελ έρνπλ πεδίν δεδνκέλσλ, δειαδή δελ θνπβαιάλε θαζφινπ δεδνκέλα 39

50 Πιαίζην ζθάικαηνο Αλάινγα κε ηελ εζσηεξηθή θαηάζηαζε ζηελ νπνία βξίζθεηαη θάζε ειεγθηήο CAN (ελεξγή ή παζεηηθή), κπνξεί λα ζηείιεη δχν πιαίζηα ζθάικαηνο, φηαλ εληνπίζεη ζθάικα ζε θάπνην πιαίζην πνπ ιακβάλεη. Έλα πιαίζην ζθάικαηνο ζα απνηειείηαη απφ έμη 0 θαη νθηψ 1 άκα βξίζθεηαη ζε θαηάζηαζε ελεξγή. Άκα βξίζθεηαη ζε παζεηηθή θαηάζηαζε, ζα απνηειείηαη απφ δεθαηέζζεξα ζπλερφκελα 1. Πιαίζην ππεξθόξησζεο Όηαλ ν δίαπινο βξίζθεηαη ζε θαηάζηαζε δηαιείκκαηνο (intermission), έλαο ειεγθηήο κπνξεί λα ζηείιεη πιαίζην ππεξθφξησζεο γηα δχν ιφγνπο. 1. Υπάξρεη ππεξθφξησζε ζην εζσηεξηθφ ηνπ ειεγθηή θαη ρξεηάδεηαη θάπνην ρξφλν πξηλ δερζεί θαηλνχξην πιαίζην (δεδνκέλσλ ή απνκαθξπζκέλν) 2. Δληνπίζεη ηελ ηηκή 0 θαηά ηε δηάξθεηα δηαιείκκαηνο. Τν πιαίζην ππεξθφξησζεο έρεη αθξηβψο ηελ ίδηα κνξθή κε ην πιαίζην ζθάικαηνο ελεξγνχ ειεγθηή. «Κελό» κεηαμύ πιαηζίσλ Κάζε πιαίζην δεδνκέλσλ ή απνκαθξπζκέλν ρσξίδεηαη απφ ην πξνεγνχκελν πιαίζην πνπ ππήξρε ζην δίαπιν κε έλα «θελφ». Απηφ ην θελφ απνηειείηαη απφ δχν πεδία. Τν πξψην, ζην νπνίν αλαθεξζήθακε λσξίηεξα, νλνκάδεηαη δηάιεηκκα θαη απνηειείηαη απφ ηξία ζπλερφκελα 1. Τν δεχηεξν απνηειείηαη απφ ζπλερφκελα 1 έσο φηνπ θάπνηνο θφκβνο ζηείιεη ην SOF. Τν κέγεζφο ηνπ δειαδή θπκαίλεηαη απφ 0 έσο άπεηξν. Άκα έλαο θφκβνο βξίζθεηαη ζε θαηάζηαζε παζεηηθή θαη είρε κφιηο ζηείιεη θάπνην πιαίζην, πξέπεη λα πεξηκέλεη λα δηαβάζεη απφ ην δίαπιν νθηψ επηπιένλ 1 κεηά ην δηάιεηκκα, γηα λα κπνξέζεη λα μαλαζηείιεη ακέζσο. [8] Γηαδηθαζία δηαηηεζίαο Όηαλ δχν ή πεξηζζφηεξνη θφκβνη μεθηλήζνπλ λα απνζηέιινπλ κελχκαηα ηελ ίδηα ρξνληθή ζηηγκή, αθνινπζεί ε δηαδηθαζία δηαηηεζίαο γηα ην πνηνο ζα πάξεη ηνλ έιεγρν ηνπ δηαχινπ. Η δηαδηθαζία βαζίδεηαη ζηνλ εμήο απιφ θαλφλα. Όπνηνο ζηέιλεη «θπξίαξρν» bit θεξδίδεη. Η δηαδηθαζία δηαξθεί φζε ψξα έλα κήλπκα βξίζθεηαη ζηελ απνζηνιή ηνπ πεδίνπ δηαηηεζίαο, φπσο ην πεξηγξάςακε λσξίηεξα. Γηα λα ηελ θαηαιάβνπκε θαιχηεξα πξέπεη λα ζπκεζνχκε δχν ζεκεία. Πξψηνλ, φηη ε επηθνηλσλία είλαη ζεηξηαθή, δειαδή ζε θάζε θχθιν ζηέιλεηαη έλα bit θαη δεχηεξνλ, φηη θάζε θφκβνο, αθφκα θαη απηφο πνπ κεηαδίδεη, δηαβάδεη ηελ ηηκή ηνπ δηαχινπ. Έηζη ινηπφλ, φινη νη 40

51 θφκβνη πνπ ζηέιλνπλ ηαπηφρξνλα, δηαβάδνπλ θαη ηελ ηηκή ηνπ bit πνπ ζηέιλνπλ θάζε θνξά. Σε πεξίπησζε πνπ θάπνηνο θφκβνο, πνπ βξίζθεηαη ζηελ απνζηνιή ηνπ πεδίνπ δηαηηεζίαο, ζηείιεη 1 θαη δηαβάζεη 0, απηνκάησο θαηαιαβαίλεη φηη έραζε ηνλ έιεγρν ηνπ δηαχινπ θαη ιεηηνπξγεί έπεηηα κφλν σο απνδέθηεο, ρσξίο λα θαηαζηξέςεη ην κήλπκα πνπ ζηέιλεηαη. Βέβαηα, άκα ζηείιεη 0 θαη δηαβάζεη 1 ή άκα δε βξίζθεηαη ζην πεδίν ηεο δηαηηεζίαο φηαλ ζπκβεί απηφ, ηφηε θαηαιαβαίλεη φηη ππάξρεη ζθάικα θαη ζηέιλεη πιαίζην ζθάικαηνο. [8] Δίδε ζθαικάησλ Υπάξρνπλ πέληε είδε ζθαικάησλ πνπ κπνξνχλ λα εληνπηζηνχλ θαηά ηελ δηάξθεηα ηεο απνζηνιήο ελφο κελχκαηνο. Απηά είλαη: BIT ERROR Απηφ ην ζθάικα εληνπίδεηαη κφλν απφ ηνλ απνζηνιέα ελφο πιαηζίνπ. Όπσο είπακε, θάζε απνζηνιέαο δηαβάδεη ην bit πνπ ζηέιλεη. Άκα νη δχν ηηκέο δηαθέξνπλ, εληνπίδεηαη ζθάικα θαη ν απνζηνιέαο απφ ην επφκελν bit ζηέιλεη πιαίζην ζθάικαηνο. Δμαηξείηαη ε πεξίπησζε πνπ ν απνζηνιέαο ράλεη ην δίαπιν απφ κήλπκα πςειφηεξεο πξνηεξαηφηεηαο (ζχκθσλα κε ηε δηαδηθαζία πνπ πεξηγξάςακε παξαπάλσ) ή ε πεξίπησζε ηεο αλάγλσζεο 0 ζην bit αλαγλψξηζεο (ελψ ν απνζηνιέαο ζηέιλεη 1 ) STUFF ERROR Κάζε πιαίζην, κέρξη θαη ην ηέινο ηνπ θψδηθα CRC, θσδηθνπνηείηαη κε ηε κέζνδν ηνπ bit stuffing. Σχκθσλα κε απηή, κεηά απφ πέληε ζπλερφκελα bits ηεο ίδηαο ηηκήο πξέπεη λα αθνινπζεί έλα bit αληίζεηεο ηηκήο. Αλ θάηη ηέηνην δε ζπκβεί εληνπίδεηαη ζθάικα θαη απνζηέιιεηαη πιαίζην ζθάικαηνο, απφ ηνλ ή ηνπο θφκβνπο πνπ ην εληφπηζαλ, απφ ην επφκελν bit. CRC ERROR Άκα ε ηηκή ηνπ CRC θψδηθα δελ είλαη ζσζηή εληνπίδεηαη ζθάικα ζηέιλεηαη πιαίζην ζθάικαηνο απφ ην bit πνπ αξρίδεη ην EOF. θαη FORM ERROR Αλ θάπνην απφ ηα πεδία πνπ έρνπλ πξνθαζνξηζκέλε ηηκή, έρεη δηαθνξεηηθή, εληνπίδεηαη ζθάικα θαη ζηέιλεηαη πιαίζην ζθάικαηνο απφ ην bit πνπ αθνινπζεί. ACKNOLEDGEMENT ERROR 41

52 Αλ δε ζηείιεη θαλείο απνδέθηεο 0 θαηά ηε δηάξθεηα ηνπ bit αλαγλψξηζεο, ν απνζηνιέαο εληνπίδεη ζθάικα θαη απφ ην επφκελν bit ζηέιλεη πιαίζην ζθάικαηνο. Τέινο, λα αλαθέξνπκε φηη θάζε ειεγθηήο CAN δηαηεξεί εζσηεξηθνχο κεηξεηέο ζθαικάησλ, έλαλ γηα ηα ζθάικαηα απνζηνιήο θαη έλαλ γηα ηα ζθάικαηα ιήςεο. Οη κεηξεηέο απηνί απμάλνληαη θαηά έλα ή νθηψ, αλάινγα κε ηελ θαηάζηαζε ζθάικαηνο πνπ έρεη ζπκβεί, θαη κεηψλνληαη θαηά έλα κε θάζε ζσζηή απνζηνιή ή ιήςε. Με βάζε απηνχο ηνπο κεηξεηέο έλαο ειεγθηήο κπνξεί λα βξεζεί ζηηο θαηαζηάζεηο: ελεξγή, παζεηηθή, πνπ αλαθέξακε θαη λσξίηεξα, ή «εθηφο ηνπ δηαχινπ». Με απηφλ ηνλ ηξφπν εμαζθαιίδεηαη φηη θάπνηνο ειαηησκαηηθφο θφκβνο δελ ζα θαηαζηξέθεη ηελ θίλεζε ζην δίαπιν. [8] 4.3 Πιενλεθηήκαηα ηνπ CAN δηθηύνπ Απηφ πνπ έρεη θάλεη ην δίθηπν CAN κία απφ ηηο θαιχηεξεο ιχζεηο γηα ρξήζε ζε ελζσκαησκέλα ζπζηήκαηα είλαη ηα πνιιά πιενλεθηήκαηά ηνπ. Αο ηα δνχκε ζηγάζηγά: Μηθξόο αξηζκόο θαισδηώζεσλ Καζψο ην δίθηπν είλαη ζεηξηαθφ, δειαδή ζηέιλεη έλα bit ζε θάζε θχθιν, απαηηνχληαη κφιηο δχν θαιψδηα γηα ηελ πινπνίεζή ηνπ. ύζηεκα πνιιώλ master Γελ ππάξρεη θάπνηνο θεληξηθφο επεμεξγαζηήο λα ειέγρεη ηελ επηθνηλσλία κέζα ζην δίθηπν. Όινη νη θφκβνη κπνξνχλ λα παίμνπλ ην ξφιν ηνπ «αθέληε», φηαλ ζηέιλνπλ έλα κήλπκα, ή ηνπ «ζθιάβνπ», φηαλ ιακβάλνπλ απφ ην δίαπιν. Σαρύηεηα θαη απμεκέλε αμηνπηζηία Η ηαρχηεηα ηνπ δηθηχνπ κπνξεί λα θηάζεη ην 1 Mbps. Απηφ νδεγεί ζε πνιχ κηθξνχο ρξφλνπο δηαηηεζίαο θαη επαλάθακςεο απφ ζθάικα, ηεο ηάμεο ησλ κηθξνsecond. Δπίζεο, ην κέγεζνο ησλ δεδνκέλσλ είλαη κηθξφ, πεξηνξίδεηαη ζηα 8 Bytes. Τέινο, φπσο είδακε ζην θπζηθφ επίπεδν, ε ηηκή ηνπ δηαχινπ δελ επεξεάδεηαη απφ ηελ ειεθηξνκαγλεηηθή αθηηλνβνιία. Όια απηά θάλνπλ ην CAN ζχζηεκα εμφρσο θαηάιιειν γηα εθαξκνγέο πξαγκαηηθνχ ρξφλνπ. Υακειό θόζηνο Καζψο ν αξηζκφο ησλ νινθιεξσκέλσλ θπθισκάησλ CAN πνπ ρξεζηκνπνηείηαη ζηελ απηνθίλεζε είλαη κεγάινο, ην θφζηνο ηνπο είλαη κηθξφ. Δπίζεο, νη κηθξέο απαηηήζεηο κλήκεο θαη επεμεξγαζηηθήο απφδνζεο, ιφγσ ηεο κε χπαξμεο ησλ 42

53 βαζκίδσλ επηθνηλσλίαο πάλσ απφ απηή ηεο ζχλδεζεο δεδνκέλσλ θαη κέρξη ηε βαζκίδα εθαξκνγψλ, νδεγεί ζε κηθξφηεξν θφζηνο πιηθνχ. Δθπιεθηηθό κεραληζκό εύξεζεο ιαζώλ θαη αληηκεηώπηζήο ηνπο Τα πέληε δηαθνξεηηθά είδε ζθάικαηνο θαζψο θαη ν έιεγρνο θάζε κελχκαηνο απφ φινπο ηνπο θφκβνπο εμαζθαιίδεη ηελ αλίρλεπζε ζρεδφλ φισλ ησλ ιαζψλ θαη ηεο άκεζεο αληηκεηψπηζήο ηνπο. Δύθνιν ζηε ρξήζε, θπξίσο γηα ηνπο ζρεδηαζηέο ινγηζκηθνύ Τν γεγνλφο φηη ην CAN πξσηφθνιιν είλαη φιν πινπνηεκέλν ζε πιηθφ απινπνηεί ηε δνπιεηά ησλ ζρεδηαζηψλ ινγηζκηθνχ θαζψο ην κφλν πνπ πξέπεη λα θάλνπλε είλαη λα αλαπηχμνπλ ηελ εθαξκνγή πνπ ζα ηξέρεη πάλσ ζην πιηθφ. Δπξεία απνδνρή Η ηερλνινγία CAN ππνζηεξίδεηαη απφ πνιινχο πξνκεζεπηέο θαη θαηαζθεπαζηέο ζε φιν ηνλ θφζκν νη νπνίνη παξέρνπλ CAN ειεγθηέο, ινγηζκηθφ αλάιπζεο θαη πξσηφθνιια πςεινχ επηπέδνπ. [7] 43

54 5 Σν SystemC TLM κνληέιν ηνπ ειεγθηή CAN Παξνπζηάζακε, ινηπφλ, ζηα πξνεγνχκελα θεθάιαηα ην ζεσξεηηθφ ππφβαζξν πάλσ ζην νπνίν ζηεξίδεηαη ε παξνχζα εξγαζία. Δίδακε ην πέξαζκα απφ ηελ θιαζηθή ξνή ζρεδίαζεο ζηε ζρεδίαζε ζε επίπεδν ζπζηήκαηνο, πσο απηή επηηπγράλεηαη κε ηε ρξήζε ησλ κνληέισλ ζε SystemC TLM. Δπίζεο, πεξηγξάςακε ηε ιεηηνπξγία, ηα ραξαθηεξηζηηθά θαη ηα πιενλεθηήκαηα ελφο δηθηχνπ επηθνηλσλίαο CAN. Σε απηφ ην θεθάιαην ζα παξνπζηάζνπκε ην ζέκα ηεο εξγαζίαο, πνηνη είλαη νη ζηφρνη, πσο αλαπηχρζεθε ην κνληέιν, πνηα πξνβιήκαηα αλέθπςαλ θαη πσο αληηκεησπίζηεθαλ. Γίλεηαη επίζεο πεξηγξαθή ηνπ ειεγθηή CAN ηεο ESA, ν νπνίνο ρξεζηκνπνηήζεθε σο αλαθνξά γηα ηελ αλάπηπμε ηνπ δηθνχ καο κνληέινπ. Τέινο, παξνπζηάδνληαη ηα απνηειέζκαηα απφ ηηο εμνκνηψζεηο πνπ έγηλαλ ζην κνληέιν πνπ αλαπηχμακε θαη ζπγθξίλνληαη απηά ηα απνηειέζκαηα κε ην κνληέιν ηεο ESA. 5.1 Πεξηγξαθή ηεο εξγαζίαο Δίδακε ζηα πξνεγνχκελα θεθάιαηα φηη ε ξνή ζρεδίαζεο ζπζηεκάησλ, θπξίσο Σπζηεκάησλ ζε Οινθιεξσκέλα Κπθιψκαηα, έρεη αιιάμεη. Πιένλ ε ζρεδίαζε μεθηλάεη απφ ην επίπεδν ηνπ ζπζηήκαηνο κε ηε δεκηνπξγία, ζηελ αξρή ηεο ζρεδίαζεο, κνληέισλ ζε γιψζζα SystemC TLM. Τα πιενλεθηήκαηα απηψλ ησλ κνληέισλ είλαη φηη αλαπηχζζνληαη ζε κηθξφ ρξνληθφ δηάζηεκα ζε ζρέζε κε ηα κνληέια ζε επίπεδν θαηαρσξεηψλ (RTL), εθηεινχλ θάπνηεο ηάμεηο κεγέζνπο γξεγνξφηεξα ηηο εμνκνηψζεηο θαη πξνζεγγίδνπλ ηθαλνπνηεηηθά ζε ρξνληθή αθξίβεηα ηα ηειεπηαία. Όζνλ αθνξά ην πξψην πιενλέθηεκα, δειαδή ηε γξήγνξε αλάπηπμε ηνπ κνληέινπ ελφο ζπζηήκαηνο ζε SystemC TLM, ζεκαληηθφ ξφιν παίδεη ε επαλαρξεζηκνπνίεζε ππξήλσλ πλεπκαηηθήο ηδηνθηεζίαο (IP). Αλ θαη ε ρξεζηκνπνίεζε ησλ RTL κνληέισλ, ππαξρφλησλ ππξήλσλ IP, ζε έλα ζχζηεκα κνληεινπνηεκέλν ζε TLM είλαη εθηθηή, απηφ παξνπζηάδεη δχν κεηνλεθηήκαηα. Πξψηνλ, απαηηείηαη ε δεκηνπξγία ελφο κεηαηξνπέα ησλ ζεκάησλ ηνπ RTL κνληέινπ ζε ζπλαξηήζεηο, γηα ρξήζε ζην TLM, θαη αληηζηξφθσο, θαη δεχηεξνλ, ε ηαρχηεηα ηεο εμνκνίσζεο πέθηεη ζηα επίπεδα απηήο ηνπ RTL κνληέινπ. Έηζη, πξνηηκάηε ε κεηάθξαζε ησλ RTL κνληέισλ (ή ε δεκηνπξγία απφ ηελ αξρή) ζε κνληέια γξακκέλα ζε SystemC TLM, γηα ηελ άκεζε ρξήζε ηνπο ζην TLM κνληέιν ηνπ ζπζηήκαηνο. Σε απηή ηε δηαδηθαζία, δειαδή ζηελ επαλαρξεζηκνπνίεζε έηνηκσλ TLM κνληέισλ, βνεζάεη ε αλάπηπμε ησλ κνληέισλ κε βάζε ην πξφηππν SystemC TLM 2.0, ην νπνίν επηθεληξψλεηαη ζηελ δηαιεηηνπξγηθφηεηα. [2][6] Σηα πιαίζηα ηεο ζπγθεθξηκέλεο εξγαζίαο αλαπηχζζνπκε δχν κνληέια ζε επίπεδν ζπλαιιαγήο (TLM) ηνπ ειεγθηή CAN, ρξεζηκνπνηψληαο ηε γιψζζα 44

55 κνληεινπνίεζεο ζπζηεκάησλ SystemC ζε ζπλδπαζκφ κε ηελ κέζνδν TLM, φπσο απηή νξίδεηαη ζην πξφηππν OSCI TLM 2.0. Τα δχν απηά κνληέια δηαθέξνπλ σο πξνο ην ζηπι πξνγξακκαηηζκνχ, δειαδή ηηο κεζφδνπο πνπ ρξεζηκνπνηήζεθαλ θαη ην ζθνπφ πνπ εμππεξεηνχλ. Τν έλα αθνινπζεί ην ζηπι «ραιαξνχ ρξνληζκνχ» (Loosely Timed), ελψ ην άιιν «πξνζεγγηζηηθνχ ρξνληζκνχ» (Approximately Timed), φπσο απηά πεξηγξάθνληαη ζην πξφηππν. Οη άκεζνη ζηφρνη ηεο εξγαζίαο είλαη απηνί πνπ πεξηγξάθνληαη θαη απφ ηα πιενλεθηήκαηα ηεο δεκηνπξγίαο ηέηνησλ κνληέισλ. Γειαδή, ζθνπφο είλαη ε δεκηνπξγία ελφο κνληέινπ πνπ λα έρεη ηελ ίδηα ιεηηνπξγηθφηεηα κε απηή ελφο CAN ειεγθηή, λα εθηειεί ηελ εμνκνίσζε πνιχ γξεγνξφηεξα απφ έλα RTL κνληέιν ηνπ ειεγθηή θαη λα πξνζεγγίδεη κε αξθεηή αθξίβεηα ηε ρξνληθή απφθξηζή ηνπ. Τν κνληέιν RTL πνπ ρξεζηκνπνηήζακε σο αλαθνξά γηα λα ειέγμνπκε θαηά πφζν επηηχρακε ηνπο ζηφρνπο καο είλαη απηφ πνπ έρεη δεκηνπξγεζεί απφ ηελ Δπξσπατθή Υπεξεζία ηνπ Γηαζηήκαηνο (ESA). Απψηεξνο ζθνπφο ηεο εξγαζίαο είλαη ε χπαξμε ελφο κνληέινπ ηνπ ειεγθηή CAN πνπ ζα κπνξεί εχθνια λα ελζσκαησζεί ζε κνληέια TLM ζπζηεκάησλ πνπ βξίζθνληαη ζηε δηαδηθαζία ηεο ζρεδίαζεο. Ιθαλνπνηψληαο έηζη θαη ην άιιν πιενλέθηεκα ησλ κνληέισλ ζε επίπεδν ζπλαιιαγήο, δειαδή ηελ επαλαρξεζηκνπνίεζε ππξήλσλ IP. Τψξα, φζνλ αθνξά ηελ επηινγή ηνπ ειεγθηή CAN θαη φρη θάπνηνπ άιινπ IP, γηα ηε δεκηνπξγία κνληέινπ TLM, απηή έρεη λα θάλεη κε ηα πιενλεθηήκαηα ηνπ πξνζθέξεη έλα CAN δίθηπν θαη ην γεγνλφο φηη απνηειεί ζήκεξα κία απφ ηηο θαιχηεξεο επηινγέο γηα ρξήζε ζε ελζσκαησκέλα ζπζηήκαηα, εηδηθά ζε απηά πνπ έρνπλ απαηηήζεηο πξαγκαηηθνχ ρξφλνπ. Αλαιπηηθά ηα πιενλεθηήκαηα θαη ηηο ρξήζεηο ησλ CAN δηθηχσλ, ηηο έρνπκε πεξηγξάςεη ζην θεθάιαην Ο ειεγθηήο CAN ηεο ESA Η Δπξσπατθή Υπεξεζία Γηαζηήκαηνο (ESA) ζηα πιαίζηα ηνπ πξνγξάκκαηνο κε ηελ νλνκαζία HurriCANe, ζρεδίαζε θαη αλέπηπμε, κεηαμχ άιισλ, έλα ππξήλα ειεγθηή CAN. Η πινπνίεζε έρεη γίλεη ζε γιψζζα πεξηγξαθήο πιηθνχ, ηε VHDL. Δπνκέλσο, ην επίπεδν αθαηξεηηθφηεηαο ηεο ζρεδίαζεο είλαη απηφ ησλ θαηαρσξεηψλ (RTL). Απηήλ ηελ πινπνίεζε ηνπ ειεγθηή CAN επηιέμακε σο κνληέιν αλαθνξάο γηα ηελ αλάπηπμε ηνπ δηθνχ καο ειεγθηή, ζε επίπεδν TLM. Δπίζεο, ρξεζηκνπνηήζακε ηα θξππηνγξαθεκέλα αξρεία εμνκνίσζεο ηνπ ειεγθηή, πνπ παξέρεη ε ESA (νη θψδηθεο ζε VHDL δελ δηαηίζεληαη γηα δξαζηεξηφηεηεο έμσ απφ ηε ρξεκαηνδφηεζε ηνπ νξγαληζκνχ), γηα λα ηξέμνπκε ηα ίδηα δνθηκαζηηθά ηεζη πνπ εθαξκφζακε ζηελ εμνκνίσζε ηνπ δηθνχ καο κνληέινπ θαη λα κπνξέζνπκε έηζη λα ζπγθξίλνπκε ηα απνηειέζκαηα. Σηε ζπλέρεη ηεο ελφηεηαο ζα γίλεη ε πεξηγξαθή ηεο δνκήο θαη ηεο ιεηηνπξγίαο ηνπ ππξήλα ηεο ESA. 45

56 5.2.1 Η δνκή ηνπ ειεγθηή 5.1 Γνκή ειεγθηή CAN ηεο ESA Σηελ εηθφλα 5.1 θαίλεηαη ε εζσηεξηθή δνκή ηνπ ειεγθηή CAN ηεο ESA. Όπσο κπνξνχκε λα δνχκε, απνηειείηαη απφ επηά δνκηθά ζηνηρεία. Απηά είλαη, κε κηα ζχληνκε πεξηγξαθή, ηα εμήο: Μνλάδα ζπγρξνληζκνύ (Synchronizer) Σπγρξνλίδεη ηνλ ειεγθηή κε βάζε ηηο εηζεξρφκελεο ξνέο bit θαη θαζνξίδεη ην εζσηεξηθφ ξνιφη. Τπνινγηζηήο CRC αθνινπζίαο (CRC_CALC) Απνηειεί ηνλ θνηλφ ππνινγηζηή ηεο CRC αθνινπζίαο, ηφζν γηα ηε κνλάδα απνζηνιήο φζν θαη γηα ηε κνλάδα ιήςεο ηνπ ειεγθηή. Γηα ηνλ ππνινγηζκφ ηεο αθνινπζίαο ρξεζηκνπνηείηαη ε εηζεξρφκελε ξνή bit. Η κνλάδα ιήςεο (CAN_RX) Σε απηή ηε κνλάδα γίλεηαη ε ππνδνρή θαη ν έιεγρνο ηνπ κελχκαηνο. Έιεγρνο γίλεηαη γηα φια ηα είδε ζθάικαηνο, εθηφο γηα ην ζθάικα BIT_ERROR, ην νπνίν ειέγρεηαη απφ ηε κνλάδα απνζηνιήο. 46

57 Η κνλάδα απνζηνιήο (CAN_TX) Δίλαη ε κνλάδα απνζηνιήο ηνπ ειεγθηή. Τν κήλπκα πνπ ζηέιλεηαη έξρεηαη θαηεπζείαλ απφ ηνλ κηθξν-ειεγθηή. Γηαηεξεί εζσηεξηθά κεραλή θαηάζηαζεο, γηα λα μέξεη ζε πνην ζεκείν ηεο απνζηνιήο βξίζθεηαη ην κήλπκα. Μνλάδα παξαγσγήο πιαηζίσλ ζθάικαηνο (Error Frame Generator) Παξάγεη πιαίζηα ζθάικαηνο, φηαλ ηνπ δεηεζεί απφ ηηο κνλάδεο απνζηνιήο ή ιήςεο. Διέγρεη επίζεο γηα ηελ εθαξκνγή ησλ πξνδηαγξαθψλ ζε πεξίπησζε ζθάικαηνο. Μνλάδα δηαρείξηζεο ησλ stuff bit (StuffHandler) Δλεκεξψλεη ηηο άιιεο κνλάδεο φηαλ θαη αλ πξέπεη λα ππάξμεη stuff bit ζην κήλπκα πνπ βξίζθεηαη ζην δίαπιν (είηε ζηε ιήςε είηε ζηε κεηάδνζε). Η πξνζζήθε stuff bit ζηε κεηάδνζε πξαγκαηνπνηείηαη, σζηφζν, κέζα ζηε κνλάδα ζπγρξνληζκνχ. Μεηξεηέο ζθαικάησλ (Error_counter) Μεηξάεη ηνλ αξηζκφ ησλ ζθαικάησλ (κε ηνλ ηξφπν πνπ απηφ θαζνξίδεηαη ζην πξφηππν) θαη ζέηεη ηνλ ειεγθηή ζηηο θαηαζηάζεηο: ελεξγή, παζεηηθή, εθηφο δηαχινπ Η ιεηηνπξγία ηνπ Θα πεξηγξάςνπκε ηψξα ελ ζπληνκία ηηο δχν ιεηηνπξγίεο ηνπ ειεγθηή, δειαδή ηε δηαδηθαζία απνζηνιήο θαη ιήςεο ελφο πιαηζίνπ. Όηαλ ν κηθξν-ειεγθηήο, πνπ ειέγρεη ηνλ ειεγθηή CAN, ζέιεη λα ζηείιεη θάηη ζην δίθηπν αθνινπζεί ηελ εμήο δηαδηθαζία. Βάδεη ζην δηάδξνκν tx_msg ην κήλπκα πνπ ζέιεη λα ζηείιεη (ν δηάδξνκνο απνηειείηαη απφ 102 bits γηα λα ρσξάεη αθφκα θαη ην πην κεγάιν κήλπκα, δειαδή extended πιαίζην κε 8 bytes δεδνκέλσλ). Τν κήλπκα ζα απνηειείηαη απφ ην πεδίν δηαηηεζίαο, ην πεδίν ειέγρνπ θαη ην πεδίν δεδνκέλσλ. Έπεηηα, δίλεη έλα παικφ ζηελ αθίδα start γηα λα μεθηλήζεη, φηαλ ν δίαπινο βξίζθεηαη ζε θαηάζηαζε idle, ε ζεηξηαθή απνζηνιή ηνπ πιαηζίνπ. Καηά ηε ζεηξηαθή απνζηνιή, ν ειεγθηήο πξνζζέηεη ζην πιαίζην θαη ηα ππφινηπα πεδία (SOF, EOF, CRC θ.η.ι.) ηα νπνία δελ βξίζθνληαη κέζα ζην αξρηθφ κήλπκα ηνπ κηθξν-ειεγθηή. Τέινο, φηαλ ην κήλπκα έρεη απνζηαιεί επηηπρψο, ν ειεγθηήο ελεκεξψλεη ηνλ κηθξν-ειεγθηή κε έλα παικφ, δηαξθείαο φζν ν ρξφλνο ελφο bit ζηνλ δίαπιν CAN, ζηελ αθίδα tx_completed. Καηά ηε δηαδηθαζία ιήςεσο, ν ειεγθηήο CAN ιακβάλεη έλα κήλπκα πνπ ζηέιλνληαη ζην δίαπιν κέζσ ηεο ζεηξηαθήο ξνήο ησλ δεδνκέλσλ ηνπ δηαχινπ bit_stream. Άκα ε ιήςε έγηλε ρσξίο ζθάικα, ηφηε ελεκεξψλεη ηνλ κηθξν-ειεγθηή κε έλα παικφ, δηαξθείαο φζν ν ρξφλνο ελφο bit ζηνλ δίαπιν CAN, ζηελ αθίδα rx_completed. Ταπηφρξνλα, ην κήλπκα πνπ ιήθζεθε (θξαηνχληαη κφλν ηα πεδία 47

58 δηαηηεζίαο, ειέγρνπ θαη δεδνκέλσλ) εκθαλίδεηαη ζην δηάδξνκν rx_msg (102 bits). [13] 5.3 Η αλάπηπμε ηνπ κνληέινπ Αλαθέξακε λσξίηεξα, ζηελ ππνελφηεηα «πεξηγξαθή ηεο εξγαζίαο», φηη αλαπηχμακε δχν κνληέια ηνπ ειεγθηή, ελψ ζε απηή ηελ ππνελφηεηα κηιάκε γηα έλα κνληέιν. Η αιήζεηα βξίζθεηαη θάπνπ ζηε κέζε. Έρνπκε ελζσκαηψζεη ηα δχν κνληέια ζε έλα, δειαδή ρξεζηκνπνηνχκε ηα ίδηα modules θαη ζηηο δχν πεξηπηψζεηο αιιά εθηεινχκε δηαθνξεηηθέο ζπλαξηήζεηο. Γηα λα επηιέμνπκε κε πνην απφ ηα δχν ζέινπκε λα εθηειέζνπκε κία εμνκνίσζε ελεκεξψλνπκε κία ξπζκηζηηθή παξάκεηξν Η δνκή ηνπ Σηελ εηθφλα 5.2 κπνξνχκε λα δνχκε ηε δνκή ηνπ κνληέινπ. Όπσο βιέπνπκε, ν ειεγθηήο απνηειείηαη απφ ηέζζεξα modules (Memory, TransmitHandler, ReceiveHandler, Transceiver) θαη επηθνηλσλεί εμσηεξηθά κε δχν άιια: ηελ θχξηα κνλάδα (Host Device) θαη ην δίαπιν CAN (CAN BUS). Η επηθνηλσλία κε ηηο εμσηεξηθέο κνλάδεο γίλεηαη κε ηε ρξήζε ησλ κεζφδσλ TLM ελψ εζσηεξηθά κε θιήζεηο ζπλαξηήζεσλ. 5.2 Γνκή κνληέινπ SystemC TLM ειεγθηή CAN Αξρηθά λα πνχκε φηη νη εμσηεξηθέο κνλάδεο δελ απνηεινχλ ηα κνληέια θάπνησλ πξαγκαηηθψλ πιηθψλ κνλάδσλ, αιιά απιά πξνζνκνηψλνπλ ηε ιεηηνπξγία ηνπο ζην θνκκάηη ηεο επηθνηλσλίαο κε ηνλ ειεγθηή. 48

59 Απφ εθεί θαη πέξα, εζσηεξηθά ν ειεγθηήο απνηειείηαη απφ ηέζζεξα δνκηθά ζηνηρεία, φπσο είδακε λσξίηεξα. Θα δψζνπκε κία ζχληνκε πεξηγξαθή γηα ην θάζε έλα: Memory Η κνλάδα απηή απνηειεί ηε κλήκε ηνπ ειεγθηή, φπσο δειψλεη ην φλνκά ηεο. Φσξίδεηαη ζε δχν κέξε, ζην έλα απνζεθεχνληαη ηα κελχκαηα πνπ έξρνληαη απφ ηε κνλάδα host device, κε ζθνπφ ηελ απνζηνιή ηνπο ζην δίαπιν, θαη ζην άιιν απνζεθεχνληαη ηα κελχκαηα πνπ έιαβε ν ειεγθηήο απφ ην δίαπιν, γηα λα ηα δηαβάζεη ε host κνλάδα. Τν κέγεζφο ηεο είλαη παξακεηξηθφ γηα λα κπνξεί λα θαιχςεη θαη ηηο δχν πεξηπηψζεηο ειεγθηψλ CAN (FullCAN, BasicCAN). Σηε δηθή καο πεξίπησζε, ην κέγεζνο ηεο είλαη δχν, δειαδή ππάξρεη κία ζέζε απνζήθεπζεο γηα ηα εμεξρφκελα κελχκαηα θαη κία γηα ηα εηζεξρφκελα. Οπζηαζηηθά κπνξνχκε λα πνχκε φηη ιεηηνπξγεί σο απνκνλσηήο (buffer), έλαο γηα θάζε ιεηηνπξγία (ιήςεο θαη απνζηνιήο). TransmitHandler Η κνλάδα απηή έρεη σο ιεηηνπξγία λα δηαβάδεη ηνλ buffer γηα απνζηνιή απφ ηε κλήκε, λα αθαηξεί απφ ην κήλπκα ηα πεξηηηά bits θάζε κήλπκα πνπ έξρεηαη απφ ηε Host κνλάδα έρεη κέγεζνο 102 bits, γηα λα είλαη ζε ζπκθσλία κε ηνλ ειεγθηή ηεο ESA θαη λα θαιεί ηε ζπλάξηεζε απνζηνιήο πνπ βξίζθεηαη ζηε κνλάδα ηνπ Transceiver. ReceiveHandler Η κνλαδηθή ιεηηνπξγία απηήο ηεο κνλάδαο είλαη λα ζψδεη ζηνλ buffer γηα ιήςε ην κήλπκα πνπ έρεη ιεθζεί απφ ηνλ Transceiver, ζηελ θαηάιιειε κνξθή. Υπνζηεξίδεηαη επίζεο ε ιεηηνπξγία ηνπ θηιηξαξίζκαηνο ησλ κελπκάησλ πνπ ιακβάλνληαη, γηα ην αλ απεπζχλνληαη ζε απηή ηε κνλάδα ηνπ δηαχινπ ή φρη. Ωζηφζν, ηελ ηειεπηαία απηή ιεηηνπξγία δελ ηελ ειέγρνπκε ζηηο δνθηκέο, θαζψο δελ ππνζηεξίδεηαη ζην κνληέιν ηεο ESA. Transceiver Σε απηή ηε κνλάδα βξίζθεηαη ην κεγαιχηεξν κέξνο ηεο ιεηηνπξγηθφηεηαο ηνπ ειεγθηή. Δίλαη ππεχζπλε γηα ηελ απνζηνιή κελπκάησλ ζην δίαπιν, φηαλ ν ηειεπηαίνο είλαη δηαζέζηκνο. Λακβάλεη ηα κελχκαηα πνπ ζηέιλνληαη ζην δίαπιν θαη ειέγρεη ηελ χπαξμε ζθάικαηνο. Δλεκεξψλεη επίζεο ηνπο κεηξεηέο ζθαικάησλ θαζψο θαη ηελ θαηάζηαζε πνπ βξίζθεηαη ν ειεγθηήο (ελεξγφο, παζεηηθφο, εθηφο δηαχινπ). 49

60 5.3.2 Η ιεηηνπξγία Θα ρσξίζνπκε ηε ιεηηνπξγία ηνπ ειεγθηή ζηηο δχν ππνιεηηνπξγίεο πνπ εθηειεί, δειαδή ηελ απνζηνιή ελφο πιαηζίνπ ζην δίαπιν, απφ ηε κία, θαη ηε ιήςε πιαηζίνπ απφ ην δίαπιν, απφ ηελ άιιε. Καηά ηελ έλαξμε κίαο δηαδηθαζίαο απνζηνιήο, ε κνλάδα host έξρεηαη ζε επηθνηλσλία κε ηνλ ειεγθηή. Η επηθνηλσλία ηνπ host κε ηνλ ειεγθηή γίλεηαη κε ηε ρξήζε ησλ κεζφδσλ TLM. Τν ξφιν ηνπ «εθθηλεηή» παίδεη ν host θαη ην ξφιν ηνπ «ζηφρνπ» ν ειεγθηήο. Η επηθνηλσλία είλαη πιήξσο ζπκβαηή κε ηηο κεζφδνπο πνπ πεξηγξάθνληαη ζην πξφηππν OSCI TLM 2.0 γηα κέγηζηε δηαιεηηνπξγηθφηεηα (interoperability), δειαδή αθνινπζείηαη ην βαζηθφ πξσηφθνιιν, ρξεζηκνπνηείηαη ην generic payload, θαζψο θαη νη άιιεο θιάζεηο πνπ απνζθνπνχλ ζε απηφ. Ο ιφγνο πνπ ην ζέινπκε απηφ είλαη γηα λα κπνξεί ην κνληέιν ηνπ ειεγθηή λα ρξεζηκνπνηεζεί εχθνια ζε νπνηνδήπνηε ζχζηεκα κνληεινπνηεκέλν ζε TLM. Δξρφκαζηε ηψξα ζηνλ ειεγθηή θαη ηε κνλάδα ηεο κλήκεο, ε νπνία νπζηαζηηθά πινπνηεί ηελ επηθνηλσλία κε ην host. Μφιηο ιάβεη θάπνην αληηθείκελν ζπλαιιαγήο, ειέγρεη θάπνηνπο πεξηνξηζκνχο αλ ε δηεχζπλζε κλήκεο είλαη έγθπξε, αλ ην κέγεζνο ηνπ κελχκαηνο είλαη 102 bits ππνινγίδεη ην ρξφλν ηεο ζπλαιιαγήο θαη ηέινο εθηειεί ηελ εληνιή εγγξαθήο. Σηε ζπλέρεηα, εηδνπνηεί ηε κνλάδα TransmitHandler φηη ππάξρεη δηαζέζηκν λέν κήλπκα πξνο απνζηνιή ζε αληηζηνηρία κε ην start ηνπ κνληέινπ ηεο ESA. Απφ ηε κεξηά ηεο, ε κνλάδα TransmitHandler, αλ δελ πεξηκέλεη ηελ νινθιήξσζε θάπνηαο πξνεγνπκέλεο δηαδηθαζίαο απνζηνιήο, ιακβάλεη ηελ εηδνπνίεζε θαη δηαβάδεη απφ ηνλ buffer απνζηνιήο ηεο κλήκεο ην κήλπκα ησλ 102 bits. Έπεηηα, θαιεί κία ζπλάξηεζε ε νπνία ειέγρεη ην κήλπκα γηα λα δεη πνην είλαη ην σθέιηκφ ηνπ θνξηίν θαη ζβήλεη ηα ππφινηπα άρξεζηα bits. Τν λέν πιαίζην είλαη πιένλ έηνηκν γηα απνζηνιή ζην δίαπιν. Γηα λα επηηεπρζεί απηφ, απφ ηε κνλάδα TransmitHandler θαιείηαη κία ζπλάξηεζε ηεο κνλάδαο Transceiver θαη πεξληέηαη σο παξάκεηξνο ην λέν πιαίζην πξνο απνζηνιή. Σηε ζπλέρεηα, απηή ε ζπλάξηεζε αλαιακβάλεη λα πινπνηήζεη ηελ επηθνηλσλία κε ην δίαπιν. Η κνλάδα ηνπ Transceiver, ινηπφλ, είλαη ην ηειεπηαίν ζηάδην πξηλ θηάζεη έλα κήλπκα ζην δίαπιν. Απηή ε κνλάδα είλαη πνπ πινπνηεί ηελ επηθνηλσλία ηνπ ειεγθηή κε ην δίαπιν. Γηα ηελ επηθνηλσλία απηή ρξεζηκνπνηνχληαη πάιη (φπσο ζηελ πεξίπησζε host - ειεγθηή) κέζνδνη TLM. Ωο «εθθηλεηήο» ιεηηνπξγεί ν Transceiver ελψ σο «ζηφρνο» ν δίαπινο CAN. Φξεζηκνπνηείηαη πάιη ην generic payload σο αληηθείκελν ζπλαιιαγήο, σζηφζν ηα ρξήζηκα πεδία ηνπ είλαη κφλν ν δείθηεο ζην ζεκείν πνπ βξίζθεηαη ην κήλπκα θαη ην κέγεζνο ηνπ κελχκαηνο. Σε πεξίπησζε πνπ εκθαληζηεί ιάζνο ζε έλα κήλπκα, απηφ ζηέιλεηαη μαλά φηαλ ν δίαπινο βξεζεί ζε θαηάζηαζε αδξάλεηαο. Δπίζεο, ελεκεξψλεηαη θαηάιιεια ν κεηξεηήο ζθαικάησλ απνζηνιήο. Πάκε ηψξα λα δνχκε ηελ πεξίπησζε φπνπ γίλεηαη ιήςε ελφο κελχκαηνο απφ ην δίαπιν. Σπλερίδνπκε φπσο ηειεηψζακε ηελ πξνεγνχκελε παξάγξαθν, δειαδή έρνπκε επηθνηλσλία ηνπ δηαχινπ κε ηνλ ειεγθηή κε ρξήζε κεζφδσλ TLM. Σηελ πξνθεηκέλε 50

61 πεξίπησζε, ην ξφιν ηνπ «εθθηλεηή» παίδεη ν δίαπινο ελψ ην ξφιν ηνπ «ζηφρνπ» ν Transceiver ηνπ ειεγθηή. Άκα δελ εληνπηζηεί ζθάικα ζην εηζεξρφκελν κήλπκα, θαιείηαη απφ ην Transceiver ε ζπλάξηεζε ηνπ ReceiveHandler πνπ είλαη ππεχζπλε γηα απνζήθεπζε κελπκάησλ. Αλ εληνπηζηεί ιάζνο, ν Transceiver ελεκεξψλεη ην δίαπιν θαη ην κήλπκα μαλαζηέιλεηαη ζε θαηάιιειε (φηαλ ν δίαπινο βξεζεί ζε θαηάζηαζε αδξαλείαο) κεηαγελέζηεξε ρξνληθή ζηηγκή. Δπίζεο, ελεκεξψλεηαη ν κεηξεηήο ζθαικάησλ ιήςεο. Τψξα, ε κνλάδα ReceiveHandler ελεξγνπνηείηαη φηαλ θιεζεί ε ζπλάξηεζή ηεο πνπ είλαη ππεχζπλε γηα ηελ απνζήθεπζε ελφο εηζεξρνκέλνπ κελχκαηνο ζηνλ ειεγθηή. Η κφλε ιεηηνπξγία πνπ εθηειείηαη είλαη ε απνζήθεπζε ζηνλ buffer ιήςεο ηεο κλήκεο ηνπ λένπ κελχκαηνο. Τέινο, γηα λα δηαβαζηεί θάπνην κήλπκα απφ ηε κλήκε πξέπεη λα ην δεηήζεη ν ίδηνο ν host. Απηφ γίλεηαη κε ηε ρξήζε πάιη κεζφδσλ TLM γηα λα δηαζθαιηζηεί θαη ε δηαιεηηνπξγηθφηεηα. Παξαηεξήζεηο: Απφ ηελ πεξηγξαθή πνπ θάλακε παξαπάλσ βγαίλεη ην ζπκπέξαζκα φηη ην λέν πιαίζην δελ αληηζηνηρεί ζε έλα πξαγκαηηθφ πιαίζην, φπσο απηφ πεξηγξάθεηαη ζην πξσηφθνιιν ηνπ CAN (δειαδή δελ πεξηιακβάλεη πεδίν έλαξμεο, αθνινπζία CRC, stuff bits, πεδίν αλαγλψξηζεο, EOF). Απηφ έρεη λα θάλεη κε ην επίπεδν αθαηξεηηθφηεηαο απφ ην νπνίν βιέπνπκε ηε ζρεδίαζε. Τα πεδία πνπ παξαιείςακε πξνζζέηνπλ ιεπηνκέξεηεο ζηε ζρεδίαζε, νη νπνίεο δελ είλαη απαξαίηεηεο θαη ην κφλν πνπ πεηπραίλνπλ είλαη λα κεηψλνπλ ηελ απφδνζε ηνπ κνληέινπ. Τα πεδία απηά έρνπλ λα θάλνπλ είηε κε ηνλ εληνπηζκφ ζθαικάησλ πνπ ζπλέβεζαλ ζηε γξακκή επηθνηλσλίαο είηε κε ην ζπγρξνληζκφ ηνπ ειεγθηή κε ην εζσηεξηθφ ηνπ ξνιφη. Όκσο, ην κνληέιν καο δελ ιεηηνπξγεί κε βάζε αθξίβεηα ξνινγηνχ (cycleaccurate) αιιά νχηε ηα δεδνκέλα καο ζηέιλνληαη bit bit, γηα λα εληνπηζηεί θάπνην ζθάικα. Η κφλε επίδξαζε πνπ έρνπλ ηα παξαπάλσ πεδία ζην κνληέιν καο είλαη ρξνληθή. Γηα απηφ ην ιφγν έρνπκε πξνζζέζεη θαζπζηεξήζεηο ζηηο δηαδηθαζίεο απνζηνιήο θαη ιήςεο ελφο πιαηζίνπ, γηα λα αλαπαξαζηήζνπκε απηά ηα πεδία θαη λα κε ράζεη ρξνληθή αθξίβεηα ην κνληέιν καο. Αλαθέξακε ζηελ πξνεγνχκελε παξαηήξεζε φηη δελ κπνξνχκε λα εληνπίζνπκε ηα ζθάικαηα ζε απηφ ην επίπεδν αθαηξεηηθφηεηαο, σζηφζν πξέπεη κε θάπνην ηξφπν λα κπνξνχκε λα ειέγμνπκε ηε ιεηηνπξγία ηνπ ζπζηήκαηνο κε ζθάικα.. Γηα απηφ ην ιφγν δεκηνπξγήζακε έλα κεραληζκφ εηζαγσγήο ηνπο. Σε θάζε αληηθείκελν ζπλαιιαγήο κεηαμχ ειεγθηή θαη δηαχινπ εηζάγακε κία επέθηαζε κε έλα ζπγθεθξηκέλν ξφιν. Να ελεκεξψλεη ηνλ απνδέθηε άκα ην κήλπκα πνπ έιαβε πεξηέρεη ζθάικα, κε ζθνπφ λα ην απνξξίπηεη. Βέβαηα, ην CAN πξσηφθνιιν απνηειείηαη απφ έλα ζχλνιν πεξίπινθσλ θαλφλσλ εληνπηζκνχ θαη αληηκεηψπηζεο ζθαικάησλ θάπνην ζθάικα κπνξεί λα εληνπηζηεί ηαπηφρξνλα απφ φινπο ηνπο ειεγθηέο θαη λα αληηκεησπηζηεί άκεζα (απιή πεξίπησζε) αιιά κπνξεί θαη λα δηαξθέζεη πνιχ πεξηζζφηεξν αλ π.ρ. κία γξακκή έρεη θνιιήζεη ζε θάπνηα ηηκή ή θάπνηνο ειεγθηήο έρεη εκθαλίζεη ειάηησκα θαη απνξξίπηεη φια ηα πιαίζηα (δχζθνιεο πεξηπηψζεηο) ηα νπνία είλαη δχζθνιν λα κνληεινπνηεζνχλ ζε απηφ ην 51

62 επίπεδν. Σην κνληέιν καο θάζε ζθάικα ζεσξνχκε φηη αληηζηνηρεί ζηελ απιή πεξίπησζε LT κνληέιν. Σε απηφ ην είδνο πξνγξακκαηηζκνχ, αξρηθά λα πνχκε φηη ρξεζηκνπνηνχκε blocking κεηαθνξέο, φπσο πξνβιέπεηε απφ ην πξφηππν. Τα ρξνληθά ζεκεία πνπ ζρεηίδνληαη κε θάζε κεηαθνξά ζην δίαπιν είλαη δχν: ε ζηηγκή πνπ αξρίδεη ε κεηαθνξά θαη ε ζηηγκή πνπ νινθιεξψλεηαη. Όζν γηα ην βαζκφ πεξηγξαθήο ησλ δεδνκέλσλ (data granularity), ζε απηή ηελ πεξίπησζε θάζε πιαίζην ζηέιλεηαη νιφθιεξν ζε κία κεηαθνξά. Απηφ ην ζέινπκε γηα ηελ φζν πην γξήγνξε εμνκνίσζε ηνπ κνληέινπ. AT κνληέιν. Σε απηφ ην είδνο πξνγξακκαηηζκνχ, ρξεζηκνπνηνχκε non-blocking κεηαθνξέο. Τα ρξνληθά ζεκεία πνπ ζρεηίδνληαη κε θάζε κεηαθνξά ζην δίαπιν είλαη ηέζζεξα: ε ζηηγκή πνπ μεθηλάεη ε κεηαθνξά (1 ν bit), ε ζηηγκή πνπ ηειεηψλεη (ηειεπηαίν bit), ε ζηηγκή πνπ γίλεηαη ε δεηγκαηνιεςία ηνπ ηειεπηαίνπ bit, ε ζηηγκή πνπ νινθιεξψλεηαη ε ζπλαιιαγή. Όζνλ αθνξά ηε κεηαθνξά ησλ δεδνκέλσλ, ε απνζηνιή ελφο πιαηζίνπ ρσξίδεηαη ζε πεξηζζφηεξεο ζπλαιιαγέο αλάινγα κε ηα πεδία ελφο πιαηζίνπ. Απηφ ην θάλνπκε, δηφηη ζε απηφλ ηνλ ηξφπν πξνγξακκαηηζκνχ ζέινπκε κεγαιχηεξε αθξίβεηα απφ φηη πξηλ Η κνλάδα ηνπ Transceiver Σε απηφ ην ζεκείν, θαιφ είλαη λα παξνπζηάζνπκε ιίγν αλαιπηηθφηεξα ηελ βαζηθή ιεηηνπξγηθή κνλάδα ηνπ κνληέινπ καο, ηε κνλάδα ηνπ Transceiver. Γνκή επηθνηλσλίαο Σηελ εηθφλα 5.3 βιέπνπκε ηε δνκή ηεο επηθνηλσλίαο ηνπ Transceiver κε ηα άιια δνκηθά ζηνηρεία ηνπ controller, ην ζηνηρείν Transmit Handler θαη ην ζηνηρείν Receive Handler, αιιά θαη κε ην δίαπιν CAN. Όπσο κπνξνχκε λα δνχκε, ε εζσηεξηθή επηθνηλσλία επηηπγράλεηαη κε θιήζεηο ζπλαξηήζεσλ ζε C++ (δε ρξεζηκνπνηνχληαη εδψ νη ηερληθέο TLM γηαηί δελ καο ελδηαθέξνπλ νη ιεπηνκέξεηεο ηεο εζσηεξηθήο επηθνηλσλίαο, ζέινπκε λα εθηεινχληαη φζν ην δπλαηφλ πην γξήγνξα θαη απιά). Ο Transceiver δελ κπνξεί λα επηθνηλσλήζεη απεπζείαο κε ην δίαπιν, θαζψο ιφγσ ηεο ηεξαξρηθήο κνξθήο ηνπ κνληέινπ, βξίζθεηαη ζε ρακειφηεξν επίπεδν. Έηζη ινηπφλ, ζπλδένπκε πξψηα ηηο ζχξεο ηνπ Transceiver κε απηέο ηνπ ειεγθηή θαη απφ εθεί κπνξεί πιένλ λα ππάξμεη επηθνηλσλία κε ην δίαπιν. Οη ζχξεο πνπ ελζσκαηψλεη ε κνλάδα Transceiver είλαη νη simple_initiator_socket θαη simple_target_socket γηα ηελ απνζηνιή θαη ηε ιήςε ηνπ αληηθεηκέλνπ ζπλαιιαγήο αληίζηνηρα. Ο ιφγνο πνπ ρξεζηκνπνηήζακε απηφ ην είδνο ησλ ππνδνρψλ έρεη λα θάλεη κε ηελ επθνιία πνπ καο παξέρνπλ ζηελ ελεξγνπνίεζε ησλ εηζεξρνκέλσλ θιήζεσλ ζπλαξηήζεσλ δηεπαθήο. 52

63 5.3 Η δνκή ηεο επηθνηλσλίαο ηνπ Transceiver Οη ζχξεο πνπ πεξηιακβάλεη ν ειεγθηήο είλαη νη βαζηθέο πνπ παξέρεη ε TLM ηερληθή. Τηο ρξεζηκνπνηνχκε ζε απηήλ ηελ πεξίπησζε γηα λα είλαη δπλαηή ε ζχλδεζε κε ηηο ζχξεο ηνπ «παηδηνχ», δειαδή ηνπ Transceiver, δηφηη κφλν απηφο ν ηξφπνο ζχλδεζεο «παηέξα»-«παηδηνχ» επηηξέπεηαη. Τέινο, ν δίαπινο πινπνηεί ηηο ζχξεο multi_passthrough_sockets γηα ηελ επηθνηλσλία κε ηνλ «έμσ θφζκν». Ο ιφγνο πνπ ρξεζηκνπνηήζακε απηφ ην είδνο ησλ ππνδνρψλ έρεη λα θάλεη κε ην γεγνλφο φηη πάλσ ζην δίαπιν ζπλδένληαη πεξηζζφηεξνη ηνπ ελφο ειεγθηή. Αλ θαη ε ιεηηνπξγία απηή δελ ρξεζηκνπνηείηαη ζηα πιαίζηα απηήο ηεο εξγαζίαο, ζέιακε ην κνληέιν λα παξέρεη απηή ηε δπλαηφηεηα. Δζσηεξηθή ιεηηνπξγία Σηελ εηθφλα 5.4 θαίλεηαη ε εζσηεξηθή δνκή ησλ ιεηηνπξγηψλ ηνπ Transceiver. Με ηα βέιε παξνπζηάδνληαη νη θιήζεηο ζπλαξηήζεσλ (απφ πνχ έξρνληαη θαη πξνο ηα πνχ θαηεπζχλνληαη) ελψ κε ηα νξζνγψληα νη δηάθνξεο ζπλαξηήζεηο πνπ εθηεινχληαη. 53

64 5.4 Η εζσηεξηθή ιεηηνπξγία ηνπ Transceiver Η ζπλάξηεζε TransmitOnBus Όηαλ ν ειεγθηήο βξίζθεηαη ζε ιεηηνπξγία απνζηνιήο, ε κνλάδα Transmit Handler θαιεί ηε ζπλάξηεζε ηνπ Transceiver, ηελ TransmitOnBus. Με ηελ θιήζε κεηαθέξεη κέζσ παξακέηξσλ ην κήλπκα πνπ πξέπεη λα απνζηαιεί, ην νπνίν είλαη ζσκέλν ζηνλ ηχπν ηεο C++, string, γηα λα κπνξεί λα γίλεη εχθνια ν ρεηξηζκφο ηνπ, θαζψο θαη πιεξνθνξίεο γηα ην κέγεζνο ηνπ πεδίνπ δηαηηεζίαο θαη πεδίνπ δεδνκέλσλ ηνπ κελχκαηνο. Οη ηειεπηαίεο δχν πιεξνθνξίεο ρξεζηκνπνηνχληαη ζην AT κνληέιν, ζηε δηαδηθαζία απνζηνιήο, γηα ην ρσξηζκφ ελφο κελχκαηνο ζηα επηκέξνπο πεδία πνπ ζα ζπκκεηάζρνπλ ζηηο ζπλαιιαγέο. Έπεηηα, ε ζπλάξηεζε TransmitOnBus δεκηνπξγεί ην αληηθείκελν ζπλαιιαγήο (Δηθφλα 5.5). Τν αληηθείκελν ζπλαιιαγήο πεξηιακβάλεη φιεο ηηο πιεξνθνξίεο πνπ είλαη απαξαίηεηεο γηα κία ζπλαιιαγή. Πεξηζζφηεξεο ιεπηνκέξεηεο γηα απηφ ην αληηθείκελν ζα δψζνπκε ζηε ζπλέρεηα ηνπ θεθαιαίνπ. 54

65 5.5 Αληηθείκελν ζπλαιιαγήο Αθνχ δεκηνπξγεζεί, ινηπφλ, ην αληηθείκελν ζπλαιιαγήο, θαιείηαη ε ζπλάξηεζε κεηαθνξάο, ε νπνία ζα αλαιάβεη ηελ απνζηνιή ηνπ αληηθεηκέλνπ απηνχ ζην δίαπιν. Σηελ πεξίπησζε ηνπ LT κνληέινπ θαιείηαη ε ζπλάξηεζε b_transport ε νπνία κεηαθέξεη ηε δηεχζπλζε ηνπ αληηθεηκέλνπ ζπλαιιαγήο καδί κε κία κεηαβιεηή ρξφλνπ. Η κεηαβιεηή απηή πξνζδηνξίδεη ηε ρξνληθή θαζπζηέξεζε πνπ ζα πξέπεη λα πξνζηεζεί ζηνλ ηξέρνληα ρξφλν εμνκνίσζεο γηα λα αληηζηνηρεί ζηε ζηηγκή πνπ εκθαλίδεηαη ην πξψην bit ηνπ κελχκαηνο ζην δίαπιν. Σε απηφ ην ζεκείν ε ζπλάξηεζε κπινθάξεηαη κέρξη λα επηζηξέςεη απφ ην δίαπιν. Η επηζηξνθή γίλεηαη ηε ρξνληθή ζηηγκή πνπ έρεη νινθιεξσζεί ε απνζηνιή ηνπ πιαηζίνπ θαη έρεη πεξάζεη θαη ν ρξφλνο ηνπ δηαιείκκαηνο ηνπ δηαχινπ. Τν αληηθείκελν ζπλαιιαγήο επηζηξέθεη πιεξνθνξίεο ζρεηηθά κε ηελ θαηάζηαζε ηεο ζπλαιιαγήο (αλ απηή νινθιεξψζεθε επηηπρψο ή φρη). Με βάζε απηήλ ηελ θαηάζηαζε, ελεκεξψλνληαη νη κεηξεηέο ζθαικάησλ θαη ζηε ζπλέρεηα θαιείηαη ε ζπλάξηεζε UpdateControllerState (ζα ηελ εμεγήζνπκε αξγφηεξα). Σηελ πεξίπησζε ηνπ AT κνληέινπ θαιείηαη ε ζπλάξηεζε κεηαθνξάο nb_transport_fw. Απηή ε ζπλάξηεζε, πέξα απφ ην αληηθείκελν ζπλαιιαγήο, κεηαθέξεη κία κεηαβιεηή θάζεο θαη κία κεηαβιεηή ρξφλνπ. Η κφλε ηηκή πνπ κπνξεί λα πάξεη ε κεηαβιεηή θάζεο είλαη ε BEGIN_REQ, ε νπνία ζεκαηνδνηεί ηελ αξρή κίαο ζπλαιιαγήο. Η κεηαβιεηή ρξφλνπ απνηειεί πάιη κία ρξνληθή θαζπζηέξεζε ε νπνία καδί κε ηνλ ηξέρνληα ρξφλν εμνκνίσζεο δείρλνπλ ηνλ πξαγκαηηθφ ρξφλν πνπ ζπκβαίλεη απηφ ην γεγνλφο. Δπίζεο, πξέπεη λα πξνζζέζνπκε φηη ζε απηφ ην κνληέιν, κία ζπλαιιαγή δελ ζηέιλεη φιν ην κήλπκα άιια κφλν έλα κέξνο ηνπ. Τα κέξε ζηα νπνία ρσξίδεηαη ην κήλπκα είλαη: Τν πεδίν δηαηηεζίαο, Τν πεδίν ειέγρνπ, Τν πεδίν δεδνκέλσλ (θάζε Byte κία ζπλαιιαγή) Τα ππφινηπα πεδία ελφο πιαηζίνπ (CRC, ACK, EOF) Γηα ηα ππφινηπα πεδία πξέπεη λα πνχκε φηη δε κεηαθέξνληαη πξαγκαηηθά δεδνκέλα αιιά κφλν πεξηγξάθνληαη ηα ρξνληθά ζεκεία ηεο ζπλαιιαγήο. Η ζπλάξηεζε ζε απηφ ην κνληέιν δελ κπινθάξεηαη παξά επηζηξέθεη απφ ην δίαπιν ζηνλ ίδην ρξφλν εμνκνίσζεο, αιιά κε δηαθνξεηηθή θάζε θαη ρξνληθή 55

66 θαζπζηέξεζε. Η θάζε επηζηξνθήο πξέπεη λα είλαη ε END_REQ θαη αληηζηνηρεί ζηε ρξνληθή ζηηγκή πνπ έρεη απνζηαιεί φιν ην κήλπκα πνπ βξίζθεηαη κέζα ζηε ζπλαιιαγή. Τνλ πξαγκαηηθφ ρξφλν πνπ ζπκβαίλεη απηφ ηνλ βξίζθνπκε πάιη πξνζζέηνληαο ζηνλ ηξέρνληα ρξφλν εμνκνίσζεο ηελ θαζπζηέξεζε. Η ζπλάξηεζε nb_transport_bw Σηελ πεξίπησζε ηνπ AT κνληέινπ, νη θάζεηο κίαο ζπλαιιαγήο είλαη ηέζζεξηο. Τηο δχν πξψηεο ηηο είδακε παξαπάλσ. Οη επφκελεο δχν έρνπλ ζρέζε κε απηή ηε ζπλάξηεζε. Η ζπλάξηεζε απηή πινπνηεί ηε ζπλάξηεζε δηεπαθήο nb_transport_bw, ε νπνία θαιείηαη απφ ην δίαπιν σο απάληεζε ζηελ πξνεγνχκελε θιήζε nb_transport_fw. Μεηαθέξεη πίζσ ην αληηθείκελν ζπλαιιαγήο πνπ έιαβε καδί κε ηε θάζε ζηελ νπνία βξίζθεηαη ηψξα ε ζπλαιιαγή θαη ηε ρξνληθή θαζπζηέξεζε. Η κφλε θάζε πνπ γίλεηαη απνδεθηή ζε απηφ ην ζεκείν είλαη ε BEGIN_RESP. Σεκαηνδνηεί ηε ζηηγκή πνπ δεηγκαηνιεπηείηαη θαη ην ηειεπηαίν bit ηνπ κελχκαηνο πνπ κεηαθέξεηαη. Τν αληηθείκελν ζπλαιιαγήο επηζηξέθεη πιεξνθνξίεο ζρεηηθά κε ηελ θαηάζηαζε ηεο ζπλαιιαγήο (αλ απηή νινθιεξψζεθε επηηπρψο ή φρη). Με βάζε απηήλ ηελ θαηάζηαζε, ελεκεξψλνληαη νη κεηξεηέο ζθαικάησλ θαη ζηε ζπλέρεηα θαιείηαη ε ζπλάξηεζε UpdateControllerState. Η ζπλάξηεζε επηζηξέθεη ζην ζεκείν πνπ θιήζεθε απφ ην δίαπιν καδί κε ηε θάζε END_RESP, ε νπνία αλαπαξηζηά ηε ζηηγκή πνπ ε ζπλαιιαγή νινθιεξψλεηαη. Η ζπλάξηεζε nb_transport_fw Η ζπλάξηεζε απηή πινπνηεί ηε ζπλάξηεζε δηεπαθήο nb_transport_fw, ε νπνία θαιείηαη απφ ην δίαπιν γηα λα γίλεη ε ιήςε θάπνηνπ κελχκαηνο (ζην ΑΤ κνληέιν). Η θάζε ε νπνία γίλεηαη απνδεθηή ζε απηφ ην ζεκείν είλαη ε BEGIN_REQ. Τν κήλπκα πνπ ιακβάλεηαη ειέγρεηαη γηα ζθάικαηα θαη ππνινγίδεηαη ν πξαγκαηηθφο ρξφλνο πνπ ζα ρξεηαδφηαλ γηα λα απνζηαιεί θαζψο θαη ν ρξφλνο πνπ ζα γίλεη δεηγκαηνιεςία. Γηα ηνλ ππνινγηζκφ απηψλ ησλ δχν ρξφλσλ ρξεζηκνπνηνχκε ζπλαξηήζεηο ηπραηφηεηαο (rand) γηα ηελ πξφβιεςε ησλ stuff bit πνπ ππάξρνπλ κέζα ζε έλα πιαίζην.πξνγξακκαηίδεη ηε ζπλάξηεζε ReceiveHandling φηαλ ν ρξφλνο εμνκνίσζεο θηάζεη ζην ηειεπηαίν απηφ ρξνληθφ ζεκείν Δπίζεο, ελεκεξψλνληαη νη κεηξεηέο ζθαικάησλ θαη θαιείηαη ε ζπλάξηεζε UpdateControllerState. Τέινο, αιιάδεη ηελ ηηκή ηεο κεηαβιεηήο θάζεο ζε END_REQ θαη επηζηξέθεη. Η ζπλάξηεζε ReceiveHandling Η ζπλάξηεζε απηή ελεξγνπνηείηαη ηε ρξνληθή ζηηγκή πνπ πξέπεη λα γίλεη ε δεηγκαηνιεςία ηνπ δηαχινπ (ζην ΑΤ κνληέιν). Η ηηκή ηεο θάζεο γίλεηαη BEGIN_RESP. Σε πεξίπησζε πνπ ην ηειεπηαίν κήλπκα πνπ ιήθζεθε ήηαλ ην ηειεπηαίν ηνπ πιαηζίνπ, θαιείηαη ε ζπλάξηεζε ηνπ ReceiveHandler πνπ είλαη ππεχζπλε γηα ηελ απνζήθεπζε ηνπ κελχκαηνο ζηνλ ειεγθηή. Σηε ζπλέρεηα θαιείηαη ε ζπλάξηεζε δηεπαθήο nb_transport_bw γηα λα ελεκεξσζεί ν απνζηνιέαο γηα ηε λέα θάζε. 56

67 Η ζπλάξηεζε b_transport Η ζπλάξηεζε b_trasport ελεξγνπνηείηαη φηαλ έλα κήλπκα ιακβάλεηε απφ ην δίαπιν (ζην LT κνληέιν). Τν πιαίζην πνπ πεξηέρεηαη ζην αληηθείκελν ζπλαιιαγήο ειέγρεηαη γηα ζθάικαηα θαη ππνινγίδεηαη ν πξαγκαηηθφο ρξφλνο πνπ ρξεηάδεηαη απηφ ην πιαίζην γηα λα απνζηαιεί. Γηα ηνλ ππνινγηζκφ απηνχ ηνπ ρξφλνπ ρξεζηκνπνηνχκε ζπλαξηήζεηο ηπραηφηεηαο (rand) γηα ηελ πξφβιεςε ησλ stuff bit πνπ ππάξρνπλ κέζα ζε έλα πιαίζην. Η ζπλάξηεζε απνβάιιεηαη γηα απηφ ην ρξνληθφ δηάζηεκα, γηα λα ζπγρξνληζηεί κε ηνλ ηξέρνληα ρξφλν εμνκνίσζεο. Έπεηηα, ελεκεξψλνληαη νη κεηξεηέο ζθαικάησλ θαη θαιείηαη ε ζπλάξηεζε UpdateControllerState. Τέινο, θαιείηαη ε ζπλάξηεζε ηνπ ReceiveHandler πνπ είλαη ππεχζπλε γηα ηελ απνζήθεπζε ηνπ κελχκαηνο ζηνλ ειεγθηή πξηλ επηζηξέςεη ζην ζεκείν ηεο δηεξγζίαο πνπ ηελ θάιεζε. Η ζπλάξηεζε UpdateControllerState Όηαλ θιεζεί, ειέγρεη ηηο ηηκέο πνπ έρνπλ νη κεηξεηέο ζθαικάησλ θαη θαζνξίδεη ηελ θαηάζηαζε ζηελ νπνία ζα βξεζεί ν ειεγθηήο, κε βάζε απηά πνπ πξνβιέπνληαη απφ ην πξσηφθνιιν CAN Σν αληηθείκελν ζπλαιιαγήο Τν αληηθείκελν ζπλαιιαγήο πνπ ρξεζηκνπνηείηαη γηα ηελ επηθνηλσλία ειεγθηήδηαχινπ έρεη ηε κνξθή πνπ θαίλεηαη ζηελ εηθφλα 5.5, πνπ είδακε λσξίηεξα. Ο ηχπνο απηνχ ηνπ αληηθεηκέλνπ είλαη ν generic payload, πνπ πξνηείλεηαη ζην πξφηππν OSCI TLM 2.0. Ωζηφζν, επεηδή ε επηθνηλσλία πνπ ζέινπκε λα κνληεινπνηήζνπκε δελ είλαη απηή ελφο δηαχινπ αληηζηνίρηζεο κλήκεο, γηα ηνλ νπνίν είλαη θαηάιιεινο απηφο ν ηχπνο αληηθεηκέλνπ, αιιά έλαο ζεηξηαθφο δίαπινο επξείαο εθπνκπήο, δε ρξεζηκνπνηνχκε φια ηα πεδία ηα νπνία πξνβιέπνληαη αιιά κφιηο ηέζζεξα καδί κε δχν επεθηάζεηο. Πάκε λα ηα δνχκε έλα-έλα: Πεδίν εληνιήο: Ωο πεδίν εληνιήο ρξεζηκνπνηείηαη ην TLM_IGNORE_COMMAND. Πεδίν δεδνκέλσλ: Σην πεδίν δεδνκέλσλ ηνπνζεηνχκε ηε δηεχζπλζε ηνπ string ζην νπνίν είλαη απνζεθεπκέλν ην κήλπκα πνπ ζέινπκε λα ζηείινπκε. Πεδίν κεγέζνπο: Σε απηφ ην πεδίν δίλεηαη ην κέγεζνο ηνπ κελχκαηνο πνπ κεηαθέξεηαη ζε κία ζπλαιιαγή. Πεδίν απάληεζεο: Τν πεδίν απηφ ρξεζηκνπνηείηαη γηα λα ζηακαηήζνπλ νη ειεγθηέο ηελ απνζηνιή ζε πεξίπησζε πνπ ππάξρεη άιιν κήλπκα ζην δίαπιν (TLM_GENERIC_ERROR_RESPONSE). Γηαθνξεηηθά ιακβάλνπλ ηελ ηηκή TLM_OK_RESPONSE. Πεδίν θαηάζηαζεο ζθάικαηνο: Απηφ ην πεδίν ρξεζηκνπνηείηαη γηα λα κπνξνχκε λα ελεξγνπνηήζνπκε θάπνην ζθάικα ζην πιαίζην πνπ κεηαδίδεηαη. Ο ηχπνο απηνχ ηνπ πεδίνπ είλαη απαξίζκεζε θαηαζηάζεσλ. Οη πηζαλέο ηηκέο πνπ κπνξεί λα πάξεη κία κεηαβιεηή απηνχ ηνπ ηχπνπ είλαη νη: o ERROR_FREE, o BIT_ERROR, o STUFF_ERROR, 57

68 o FORM_ERROR, o ACK_ERROR, o CRC_ERROR, o MSG_ACK, o ERROR_DETECTED Οη πξψηεο έμη ρξεζηκνπνηνχληαη απφ ηνλ απνζηνιέα ελφο κελχκαηνο, γηα λα ελεκεξψζεη ηνλ παξαιήπηε αλ πξέπεη λα ζεσξήζεη φηη πεξηιακβάλεη θάπνην ζθάικα (νπνηνδήπνηε είδνο πξνβιέπεηαη απφ ην πξσηφθνιιν CAN) ή φρη (ERROR_FREE). Οη ηειεπηαίεο δχν θαηαζηάζεηο ρξεζηκνπνηνχληαη απφ ηνλ παξαιήπηε γηα λα ελεκεξψζνπλ ηνλ απνζηνιέα αλ εληφπηζαλ θάπνην ζθάικα (ERROR_DETECTED) ή φρη (MSG_ACK). Πεδίν θαηάζηαζεο ηνπ πιαηζίνπ ζπλαιιαγήο: Τν πεδίν απηφ ρξεζηκνπνηείηαη κφλν ζηελ πεξίπησζε ηνπ AT κνληέινπ. Ο ιφγνο πνπ ρξεζηκνπνηνχκε απηφ ην πεδίν είλαη γηα λα ελεκεξψζεη ν απνζηνιέαο ζηνλ παξαιήπηε ζε πνην ζεκείν ηεο απνζηνιήο ηνπ πιαηζίνπ βξίζθεηαη. Ο ηχπνο ηνπ είλαη απαξίζκεζε θαηαζηάζεσλ. Οη πηζαλέο ηηκέο πνπ κπνξεί λα πάξεη κία κεηαβιεηή απηνχ ηνπ ηχπνπ είλαη νη: o SOF_INNER, o EOFrame, Η πξψηε δείρλεη φηη βξηζθφκαζηε ζηε θάζε πνπ ζηέιλεηαη θάπνην απφ ηα πεδία ελφο πιαηζίνπ πξηλ ηελ έλαξμε ηνπ CRC πεδίνπ. Η δεχηεξε θαηάζηαζε ελεκεξψλεη φηη βξηζθφκαζηε ζηελ απνζηνιή ησλ ηειεπηαίσλ ηξηψλ πεδίσλ (CRC, ACK, EOF) Σα ρξνληθά ζεκεία κηαο ζπλαιιαγήο Σηα παξαθάησ δηαγξάκκαηα (5.6, 5.7) παξνπζηάδεηαη φιν ην ρξνληθφ κίαο ζπλαιιαγήο γηα θάζε ζηπι πξνγξακκαηηζκνχ (LT, AT). Τα δηαγξάκκαηα ρξνληζκνχ αλήθνπλ ζην κνληέιν ηεο ESA θαη πάλσ ζε απηά έρνπκε ζεκεηψζεη ηηο ρξνληθέο ζηηγκέο πνπ αληηζηνηρνχλ ζηα κνληέια καο. Πάκε λα δνχκε θάζε κνληέιν μερσξηζηά. Υξνληθά ζεκεία ζπλαιιαγήο ζην LT κνληέιν Τν δηάγξακκα 5.6 αληηζηνηρεί ζηε δηαδηθαζία απνζηνιήο ελφο πιαηζίνπ ζην δίαπιν CAN. Η δηαδηθαζία νινθιεξψλεηαη κεηά ην πέξαο θαη ηνπ ρξφλνπ δηαιείκκαηνο (intermission time). Γηα ην LT κνληέιν, ην πξψην ρξνληθφ ζεκείν αληηζηνηρεί ζηελ απνζηνιή ηνπ SOF bit. Σην δηάγξακκα απηφ ην ζεκείν θαίλεηαη κε ηε δηαθεθνκκέλε θφθθηλε γξακκή ε νπνία βξίζθεηαη αθξηβψο ζην ζεκείν φπνπ ην ζήκα tx_bit (ή bit_stream, αθνχ θαηά ηε δηάξθεηα ηεο απνζηνιήο tx_bit = bit_stream ζε φια ηα bit, εθηφο απφ ην ack_bit) πεγαίλνπλ ζηελ ηηκή 0. Τν δεχηεξν ρξνληθφ ζεκείν εληνπίδεηαη ζην δηάγξακκα κε ηελ έληνλε θφθθηλε γξακκή. Δθείλν ην ζεκείν αληηζηνηρεί ζην ηέινο κηαο δηαδηθαζίαο απνζηνιήο πιαηζίνπ θαη ζεκαηνδνηείηαη ζην κνληέιν ηεο ESA κε παικφ δηάξθεηαο ελφο ρξφλνπ bit ζην ζήκα tx_completed. 58

69 5.6 Γηάγξακκα ρξνληζκνύ LT κνληέινπ Υξνληθά ζεκεία ζπλαιιαγήο ζην ΑT κνληέιν Σε απηφ ην δηάγξακκα (5.7) ρξνληζκνχ θαίλεηαη ην θνκκάηη ηεο απνζηνιήο ηνπ Identifier A ελφο πιαηζίνπ. Καζψο ην AT κνληέιν ην ρσξίδνπκε ζε πεξηζζφηεξεο ζπλαιιαγέο, ε απνζηνιή ηνπ Identifier A αληηζηνηρεί ζε κία απφ απηέο. Η ζπλαιιαγή απηή είλαη αξθεηή γηα λα δείμνπκε ηα ρξνληθά ζεκεία απφ ηα νπνία απηή απαξηίδεηαη. Κάζε ζπλαιιαγή απνηειείηαη απφ ηέζζεξηο θάζεηο, φπσο απηέο πεξηγξάθνληαη απφ ην βαζηθφ πξσηφθνιιν ηνπ πξνηχπνπ OSCI TLM 2.0. Η ηηκή ηνπ Identifier πνπ ζηέιλεηαη είλαη ε: « ». Η θάζε BEGIN_REQ μεθηλάεη κε ηελ απνζηνιή ηνπ πξψηνπ bit ηνπ Identifier (έρεη ηηκή 1 ). Η θάζε END_REQ ζπκβαίλεη ηε ρξνληθή ζηηγκή πνπ ζηέιλεηαη ην ηειεπηαίν bit ηνπ Identifier (κε ηηκή 0 ). Η θάζε BEGIN_RESP μεθηλάεη φηαλ γίλεη ε δεηγκαηνιεςία ηνπ ηειεπηαίνπ bit πνπ ζηάιζεθε. Τέινο, πεξλάκε ζηε θάζε END_RESP φηαλ έρεη νινθιεξσζεί απηή ε ζπλαιιαγή θαη είλαη δπλαηφλ λα ιάβεη ρψξα ε επφκελε. 59

70 5.7 Γηάγξακκα ρξνληζκνύ AT κνληέινπ 60

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

Διαβάστε περισσότερα

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger Κεθάλαιο 1 Ενόηηηα 2 Πλάνο Μάρκεηινγκ Εξγαιεία Μάξθεηηλγθ Dr. Andrea Grimm Dr. Astin Malschinger ΠΕΡΙΕΧΟΜΕΝΑ ΕΝΟΤΗΤΑ 2 ΠΛΑΝΟ ΜΑΡΚΕΤΙΝΓΚ Κεθάιαην 1: Εξγαιεία Μάξθεηηλγθ Σπγγξαθείο: Δξ. Andrea Grimm, Δξ.

Διαβάστε περισσότερα

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

Διαβάστε περισσότερα

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

Διαβάστε περισσότερα

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

Διαβάστε περισσότερα

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

Διαβάστε περισσότερα

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1 Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε

Διαβάστε περισσότερα

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

Διαβάστε περισσότερα

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

Διαβάστε περισσότερα

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

Διαβάστε περισσότερα

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή

Διαβάστε περισσότερα

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Μονοψϊνιο Ολιγοψώνιο Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Οπιακή αξία Δπηπξόζζεηα νθέιε από ηελ ρξήζε/θαηαλάισζε κηαο επηπξόζζεηε

Διαβάστε περισσότερα

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD Γηα ηε δηεπθόιπλζή ζαο θαηά ην switch-off ηεο πεξηνρήο ηεο Πεινπνλλήζνπ έρνπκε πξνζζέζεη ζηνπο ςεθηαθνύο καο δέθηεο κία λέα,

Διαβάστε περισσότερα

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2 ΛΙΜΝΗ ΤΣΑΝΤ Τν Σρήκα 1 δείρλεη ηελ αιιαγή ηεο ζηάζκεο ηεο Λίκλεο Τζαλη, ζηε Σαράξα ηεο Βόξεηαο Αθξηθήο. Η Λίκλε Τζαλη εμαθαλίζηεθε ηειείσο γύξσ ζην 20.000 π.χ., θαηά ηε δηάξθεηα ηεο ηειεπηαίαο επνρήο ησλ

Διαβάστε περισσότερα

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά: ΑΝΤΗΛΙΑΚΑ Η Μηκή θαη ν Νηίλνο αλαξσηήζεθαλ πνην αληειηαθό πξντόλ παξέρεη ηελ θαιύηεξε πξνζηαζία ζην δέξκα ηνπο. Τα αληειηαθά πξντόληα έρνπλ έλα δείθηε αληειηαθήο πξνζηαζίαο (SPF), ν νπνίνο δείρλεη πόζν

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΘΔΜΑ Α Α1. α. Σ β. Σ γ. Λ δ. Λ ε. Λ ζη. Σ Α2. Γ Α3. 1. γ 2. ε 3. δ 4. α Β1. ΘΔΜΑ Β Οη ηειηθνί ππνινγηζηέο παίξλνπλ απνθάζεηο δξνκνιόγεζεο κόλν γηα ηα δηθά ηνπο απηνδύλακα

Διαβάστε περισσότερα

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67)

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Γηα λα επαλαθέξεηε ην FritzBox Fon WLAN 7140 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο

Διαβάστε περισσότερα

Η αξρή ζύλδεζεο Client-Server

Η αξρή ζύλδεζεο Client-Server Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο

Διαβάστε περισσότερα

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ Είμαζηε ηυχεροί που είμαζηε δάζκαλοι Ον/μο:.. A Λσκείοσ Ύλη: Εσθύγραμμη Κίνηζη 8-11-2015 Θέμα 1 ο : 1. Η εμίζωζε θίλεζεο ελόο θηλεηνύ πνπ θηλείηαη επζύγξακκα είλαη ε x = 5t. Πνηα

Διαβάστε περισσότερα

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000. ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0

Διαβάστε περισσότερα

Οργάνωση και Δομή Παρουσιάσεων

Οργάνωση και Δομή Παρουσιάσεων Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα

Διαβάστε περισσότερα

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη 5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη Σηα πιαίζηα ηεο πέκπηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

Διαβάστε περισσότερα

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2 TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε

Διαβάστε περισσότερα

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ 6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ Σηα πιαίζηα ηεο έθηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

Διαβάστε περισσότερα

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Δξγαζηεξηαθή άζθεζε 03 Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Ζιίαο Χαηδεζενδσξίδεο Οθηώβξηνο / Ννέκβξηνο 2004 Τη είλαη ην δίθηπν Wulf Δπίπεδν ζην νπνίν κπνξνύκε λα αλαπαξαζηήζνπκε ηξηζδηάζηαηα ζρήκαηα,

Διαβάστε περισσότερα

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Ειζαγωγή ζηη Φωηογραθία Χριζηάκης Σαζεΐδης EFIAP 1 ΜΑΘΗΜΑ 6 ο Προγράμμαηα θωηογραθικών μηχανών Επιλογέας προγραμμάηων Μαο δίλεη ηε δπλαηόηεηα λα ειέγμνπκε ην άλνηγκα δηαθξάγκαηνο θαη

Διαβάστε περισσότερα

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

Διαβάστε περισσότερα

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ ηαηηθή ηωλ ξεπζηώλ (Τδξνζηαηηθή) Ση είλαη ηα ξεπζηά - Γεληθά Ππθλόηεηα Πίεζε Μεηαβνιή ηεο πίεζεο ζπλαξηήζεη ηνπ βάζνπο Αξρή ηνπ Pascal Τδξνζηαηηθή πίεζε Αηκνζθαηξηθή πίεζε Απόιπηε &

Διαβάστε περισσότερα

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1.1 Εγκαηάζηαζη ηυν οδηγών ηηρ έξςπνηρ κάπηαρ ζηο λογιζμικό Mozilla Thunderbird

Διαβάστε περισσότερα

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο : ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ Ον/μο:.. Γ Λσκείοσ Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη. 11-1-11 Εήηημα 1 ο : Α. Γηα ηελ ζπλάξηεζε f, λα βξείηε ην δηάζηεκα ζην νπνίν είλαη παξαγσγίζηκε θαζώο θαη

Διαβάστε περισσότερα

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Φςζική Πποζαναηολιζμού Γ Λςκείος Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο Επιμέλεια: Αγκανάκηρ Α. Παναγιώηηρ Επωηήζειρ Σωζηό- Λάθορ Να χαπακηηπίζεηε ηιρ παπακάηω πποηάζειρ ωρ ζωζηέρ ή λάθορ: 1. Η ηαιάλησζε είλαη

Διαβάστε περισσότερα

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα. Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Φαθόο κε ζσιήλα Γηαθξάγκαηα Δξγαιεία Καηαζθεπέο 2 Η θαηαζθεπή πεξηγξάθεηαη ζηελ αληίζηνηρε ελόηεηα

Διαβάστε περισσότερα

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Απλό ηλεκτπικό κύκλυμα Η δηδαζθαιία ηνπ απινύ ειεθηξηθνύ θπθιώκαηνο ππάξρεη ζην κάζεκα «Φπζηθά» ηεο Ε ηάμεο ηνπ δεκνηηθνύ θαη επαλαιακβάλεηαη ζην κάζεκα ηεο Φπζηθήο ζηε Γ ηάμε ηνπ Γπκλαζίνπ.

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 Γενικά Η έθδνζε 8.0.0 ηνπ ελόηεηεο: Business ERP, πεξηιακβάλεη λέεο ιεηηνπξγίεο πνπ αλαιύνληαη ζηηο παξαθάησ Γεληθόηεξε ιεηηνπξγία ηεο εθαξκνγήο Εκπνξηθή Δηαρείξηζε 7/2/2013 SingularLogic

Διαβάστε περισσότερα

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

Διαβάστε περισσότερα

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

Διαβάστε περισσότερα

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ ΦΤΛΛΟ ΕΡΓΑΙΑ (Θεοδώρα Γιώηη, Νικόλας Καραηάζιος- Τπεύθσνη εκ/κος Λ. Παπαηζίμπα) ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΤΜΗΜΑ:.., ΗΜΕΡΟΜΗΝΙΑ:.// Σε ακαμίδην πνπ κπνξεί λα θηλείηαη ρσξίο ηξηβέο πάλσ

Διαβάστε περισσότερα

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Case Study Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Βήκα 1 ο : Login ζηο Turnitin. Κάλεηε είζνδν ζην Turnitin κε

Διαβάστε περισσότερα

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κεθάιαην 20. Ελαχιστοποίηση του κόστους Κεθάιαην 0 Ελαχιστοποίηση του κόστους Ειαρηζηνπνίεζε ηνπ θόζηνπο Μηα επηρείξεζε ειαρηζηνπνηεί ην θόζηνο ηεο αλ παξάγεη νπνηνδήπνηε δεδνκέλν επίπεδν πξντόληνο y 0 ζην κηθξόηεξν δπλαηό ζπλνιηθό θόζηνο. Τν

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

Διαβάστε περισσότερα

Άσκηση 1 - Μοπυοποίηση Κειμένου

Άσκηση 1 - Μοπυοποίηση Κειμένου Άσκηση 1 - Μοπυοποίηση Κειμένου Σηηο παξαθάησ γξακκέο εθαξκόζηε ηε κνξθνπνίεζε πνπ πεξηγξάθνπλ Γξακκή κε έληνλε γξαθή Γξακκή κε πιάγηα γξαθή Γξακκή κε ππνγξακκηζκέλε γξαθή Γξακκή κε Arial Font κεγέζνπο

Διαβάστε περισσότερα

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ. Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,

Διαβάστε περισσότερα

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1 MENU ΜΗΤΡΩΑ Προμηθεστές Σε απηό ην ζεκείν ηεο εθαξκνγήο επεμεξγαδόκαζηε ηo κεηξών Πξνκεζεπηώλ. Κάλνληαο θιηθ κε ην πνληίθη πάλσ ζην Πξνζζήθε (βειάθη 1) ζα βγεη ε θόξκα γηα ηελ εηζαγσγή λέαο εγγξαθήο (Σρήκα

Διαβάστε περισσότερα

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε. ΑΝΟΙΓΜΑ ΝΔΑ ΥΡΗΗ 1. Γεκηνπξγείηε ηε λέα ρξήζε από ηελ επηινγή «Παξάκεηξνη/Παξάκεηξνη Δηαηξίαο/Γηαρείξηζε Δηαηξηώλ». Πιεθηξνινγείηε ηνλ θσδηθό ηεο εηαηξίαο ζαο θαη παηάηε Enter. Σηελ έλδεημε «Υξήζεηο» παηάηε

Διαβάστε περισσότερα

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο. 7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Ση είλαη έλαο θαηαρσξεηήο; O θαηαρσξεηήο είλαη κηα νκάδα από flip-flop πνπ κπνξεί λα απνζεθεύζεη πξνζσξηλά ςεθηαθή πιεξνθνξία. Μπνξεί λα δηαηεξήζεη ηα δεδνκέλα ηνπ

Διαβάστε περισσότερα

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX Σηότοι εργαζηηρίοσ Σην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ, νη θνηηεηέο ζα εμνηθεησζνύλ κε βαζηθέο εληνιέο δηθηπαθώλ πξσηνθόιισλ νη νπνίεο βξίζθνπλ εθαξκνγή ζε πεξηβάιινληα Windows

Διαβάστε περισσότερα

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Οη Διαηιμήζεις για Αιολικά Πάρκα εθαξκόδνληαη γηα ηελ απνξξνθνύκελε ελέξγεηα από Αηνιηθά Πάξθα πνπ είλαη ζπλδεδεκέλα ζην

Διαβάστε περισσότερα

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x) ΓΙΑΓΩΝΙΣΜΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ 54 Υλη: Παράγωγοι Γ Λσκείοσ Ον/μο:.. 6--4 Θεη-Τετν. ΘΔΜΑ Α.. Αλ f, g, h ηξεηο παξαγωγίζηκεο ζπλαξηήζεηο ζην λα απνδείμεηε όηη : f () g() h() ' f '()g()h() g'()f ()h() h'() f ()g()

Διαβάστε περισσότερα

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική Δίζηε μησανικόρ διοίκηζηρ μεγάληρ καηαζκεςαζηικήρ εηαιπείαρ και καλείζηε να ςλοποιήζεηε ηο έπγο πος πεπιγπάθεηαι από ηον Πίνακα 1. Κωδ.

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ

ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ Η ζεκεξηλή ξαγδαία εμέιημε ηεο ηερλνινγίαο ηεο κηθξνειεθηξνληθήο επέηξεςε ηελ θαηαζθεπή εηδηθώλ νινθιεξσκέλσλ θπθισκάησλ απνζήθεπζεο δεδνκέλσλ θαη πιεξνθνξηώλ θαηαιακβάλνπλ

Διαβάστε περισσότερα

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ Κεθάλαιο 7 Πξνζθνξά ηνπ θιάδνπ 1 Προζθορά ανηαγωνιζηικού κλάδοσ Πώο πξέπεη λα ζπλδπαζηνύλ νη απνθάζεηο πξνζθνξάο ησλ πνιιώλ επηκέξνπο επηρεηξήζεσλ ελόο αληαγσληζηηθνύ θιάδνπ γηα λα βξνύκε ηελ θακπύιε πξνζθνξάο

Διαβάστε περισσότερα

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training Dipl.Biol.cand.med. Stylianos Kalaitzis Stylianos Kalaitzis Μνλνϋβξηδηζκνο 1 Γπν γνλείο, εηεξόδπγνη γηα ηνλ αιθηζκό θάλνπλ παηδηά. Πνία ε πηζαλόηεηα

Διαβάστε περισσότερα

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη ΔΠΑΝΑΛΗΠΣΙΚΑ ΘΔΜΑΣΑ ΣΟ ΓΙΑΦΟΡΙΚΟ ΛΟΓΙΜΟ Μάρτιος 0 ΘΔΜΑ Να ππνινγίζεηε ηα όξηα: i ii lim 0 0 lim iii iv lim e 0 lim e 0 ΘΔΜΑ Γίλεηαη ε άξηηα ζπλάξηεζε '( ) ( ) γηα θάζε 0 * : R R γηα ηελ νπνία ηζρύνπλ:

Διαβάστε περισσότερα

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο Γελάξεο 2011 ΗΛΔΚΣΡΟΝΙΚΑ Ι (Ύιε Γπκλαζίνπ) Διδάσκων: Σαββίδης Σάββας Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com

Διαβάστε περισσότερα

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Ογθνκεηξηθό δνρείν Καηαζθεπάδνπκε έλα νγθνκεηξηθό δνρείν από πιαζηηθό κπνπθάιη λεξνύ

Διαβάστε περισσότερα

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ ΜΑΘΗΜΑ : ΑΡΧΑΙΑ ΕΛΛΗΝΙΚΑ ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ Α/Α : 0_1382/153 1. Καη όηαλ έγηλε ε ππνρώξεζε αξγά ην απόγεπκα, επεηδή θνβήζεθαλ νη νιηγαξρηθνί κήπσο νη δεκνθξαηηθνί, αθνύ θάλνπλ επίζεζε, θαηαιάβνπλ

Διαβάστε περισσότερα

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Page 1 Υποπλοίαρτος Ν. Πεηράκος ΠΝ Αηδένηα Γνύξεηνη Ίππνη (Trojan Horses) Ινί (Viruses) Worms Root-kit Page 2 Γνύξεηνο Ίππνο (Trojan Horse) Οξηζκόο: Πξόγξακκα

Διαβάστε περισσότερα

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη Μάθημα 11 Τμήμα Μάπκεηινγκ και Διοίκηζηρ Λειηοςπγιών Τα δηαγξάκκαηα θαηάζηαζεο (state diagrams) ρξεζηκνπνηνύληαη γηα λα βνεζήζνπλ ηνλ πξνγξακκαηηζηή λα θαηαιάβεη

Διαβάστε περισσότερα

Αντισταθμιστική ανάλυση

Αντισταθμιστική ανάλυση Θεσξήζηε έλαλ αιγόξηζκν Α πνπ ρξεζηκνπνηεί κηα δνκή δεδνκέλσλ Γ : Καηά ηε δηάξθεηα εθηέιεζεο ηνπ Α ε Γ πξαγκαηνπνηεί κία αθνινπζία από πξάμεηο. Παξάδεηγκα: Θπκεζείηε ην πξόβιεκα ηεο εύξεζεο-έλσζεο Δίρακε

Διαβάστε περισσότερα

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ 1.Απηόο πνπ ζα αλαγλσξηζηεί απνπζηάδεη γηα πνιύ θαηξό. 2.Δπηζηξέθεη κε πιαζηή ηαπηόηεηα ή κεηακνξθσκέλνο. 3.Απνκνλώλνληαη ηα δύν πξόζσπα 4.Άξζε κεηακόξθσζεο 5.Απνθάιπςε 6.Ακθηβνιίεο-απνδεηθηηθά

Διαβάστε περισσότερα

ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ

ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ α. Η ΕΚΚΛΗΙΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ β. ΣΟ ΠΝΕΤΜΑΣΙΚΟ ΜΑ ΚΕΝΣΡΟ γ. Η ΠΑΝΟΡΑΜΙΚΗ ΘΕΗ ΣΟΤ ΥΩΡΙΟΤ ΜΑ α. Η ΕΚΚΛΗΙΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ. Η Εθθιεζία ηνπ ρσξηνύ καο, ε Αγία Άλλα, είλαη θηηζκέλε πξηλ πνιιά

Διαβάστε περισσότερα

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΘΔΜΑ 1 ο Μονάδες 5,10,10 ΟΝΟΜΑΣΔΠΩΝΤΜΟ ΗΜΔΡΟΜΗΝΙΑ ΘΔΜΑ 1 ο Μονάδες 5,1,1 ΓΙΑΓΩΝΙΜΑ 1 ου ΜΔΡΟΤ ΣΗ ΑΝΑΛΤΗ Α Γώζηε ηνλ νξηζκό ηεο αληίζηξνθεο ζπλάξηεζεο Β Γείμηε όηη αλ κηα ζπλάξηεζε είλαη αληηζηξέςηκε ηόηε νη γξαθηθέο παξαζηάζεηο

Διαβάστε περισσότερα

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H ) Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

Διαβάστε περισσότερα

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ 1) Υξηζηνπγελληάηηθα ειαηάθηα θάξηα ή θαδξάθη θάξηα ή θαδξάθη Τιηθά πνπ ζα ρξεηαζηνύκε: Υαξηί θάλζνλ καύξν γηα ην θόλην, πξάζηλν γηα ηα ειαηάθηα, θόθθηλν γηα ηα αζηεξάθηα Απιό

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ Α ΛΤΚΔΙΟΤ Ζμεπομηνία: 18/12/10 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΕΙΝΟΜΕΝΕ ΛΤ ΕΙ 1. Δίλεηαη ην πνιπώλπκν Αλ θαη., λα βξείηε ην ηειεπηαίν ςεθίν ηνπ αξηζκνύ έρνπκε:

Διαβάστε περισσότερα

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ Διαφάνεια 1 η ΕΚΚΙΝΗΣΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΕΙΣΟΔΟΣ ΣΤΟ BIOS UITILITY Τν ζπλεζέζηεξν πιήθηξν γηα ηελ είζνδν ζην BIOS Utility είλαη ην πιήθηξν Del. Παξόια απηά δηαθνξεηηθνί θαηαζθεπαζηέο, ρξεζηκνπνηνύλ δηαθνξεηηθά

Διαβάστε περισσότερα

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30

Διαβάστε περισσότερα

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο Έξγν ελέξγεηα 3 (Λύζε) Σώκα κάδαο m = 4Kg εξεκεί ζηε βάζε θεθιηκέλνπ επηπέδνπ γσλίαο θιίζεο ζ κε εκζ = 0,6 θαη ζπλζ = 0,8. Τν ζώκα αξρίδεη λα δέρεηαη νξηδόληηα δύλακε θαη μεθηλά λα αλεβαίλεη ζην θεθιηκέλν

Διαβάστε περισσότερα

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ Συστήματα Αρίθμησης Υποπλοίαρχος Ν. Πετράκος ΠΝ 1 Ειζαγωγή Τν bit είλαη ε πην βαζηθή κνλάδα κέηξεζεο. Είλαη κία θαηάζηαζε on ή off ζε έλα ςεθηαθό θύθισκα. Άιιεο θνξέο είλαη κία θαηάζηαζε high ή low voltage

Διαβάστε περισσότερα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Κοιμωμικά δίκτυα (multiplex network) Έρεηε ινγαξηαζκό ζην Facebook? Έρεηε ινγαξηαζκό ζην LinkedIn? Έρεηε ινγαξηαζκό ζην Twitter? Αεροπορικές γραμμές της Ευρώπης(multiplex

Διαβάστε περισσότερα

ΑΙΟΛΙΚΑ ΠΑΡΚΑ. Δρώτηση 1

ΑΙΟΛΙΚΑ ΠΑΡΚΑ. Δρώτηση 1 ΑΙΟΛΙΚΑ ΠΑΡΚΑ Πνιινί άλζξσπνη πηζηεύνπλ όηη ν άλεκνο ζα έπξεπε λα αληηθαηαζηήζεη ην πεηξέιαην θαη ην θάξβνπλν σο πεγή ελέξγεηαο γηα ηελ παξαγσγή ειεθηξηζκνύ. Οη θαηαζθεπέο πνπ θαίλνληαη ζηελ εηθόλα είλαη

Διαβάστε περισσότερα

Γιπθόδε + Ομπγόλν Δηνμείδην ηνπ άλζξαθα + Νεξό + Ελέξγεηα

Γιπθόδε + Ομπγόλν Δηνμείδην ηνπ άλζξαθα + Νεξό + Ελέξγεηα 4. ΑΝΑΠΝΟΗ Η δηάζπαζε ηεο γιπθόδεο γίλεηαη κέζα ζηα θύηηαξα, νλνκάδεηαη θπηηαξηθή αλαπλνή θαη εμαζθαιίδεη ηελ ελέξγεηα πνπ είλαη απαξαίηεηε ζην θύηηαξν. Η δηάζπαζε γίλεηαη κε ηελ παξνπζία νμπγόλνπ θαη

Διαβάστε περισσότερα

Ηλεκηπονικά Απσεία και Διεπαθέρ

Ηλεκηπονικά Απσεία και Διεπαθέρ MENU ΑΝΑΦΟΡΕΣ Ηλεκηπονικά Απσεία και Διεπαθέρ Σε απηό ην ζεκείν ηεο εθαξκνγήο δεκηνπξγνύκε ηα δηάθνξα Ηιεθηξνληθά Αξρεία έηζη ώζηε λα ηα ππνβάινπκε ζηνπο δηάθνξνπο θνξείο. Γηα λα επηιέμνπκε έλα είδνο αξρείνπ

Διαβάστε περισσότερα

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο Πξαθηηθή Άζθεζε (επίπεδν 2): ηόρνο ηεο άζθεζεο είλαη ε πεξαηηέξω εμνηθείωζε

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΠΡΟΒΛΗΜΑ Σε έλα ηνπξλνπά βόιετ δήισζαλ ζπκκεηνρή νκάδεο Γπκλαζίσλ ηεο Κύπξνπ.

Διαβάστε περισσότερα

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία

Διαβάστε περισσότερα

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ (Δλδεηθηηθέο Απαληήζεηο) ΘΔΜΑ Α Α1. α. Σωζηό β. Λάζνο

Διαβάστε περισσότερα

EL Eνωμένη στην πολυμορυία EL A8-0046/92. Τροπολογία. Sylvie Goddyn εμ νλόκαηνο ηεο νκάδαο ENF

EL Eνωμένη στην πολυμορυία EL A8-0046/92. Τροπολογία. Sylvie Goddyn εμ νλόκαηνο ηεο νκάδαο ENF 21.10.2015 A8-0046/92 92 Σημείο 8 (8) Οη βηηακίλεο, ηα αλόξγαλα ζπζηαηηθά θαη άιιεο νπζίεο πνπ πξννξίδνληαη γηα ρξήζε ζε ζπκπιεξώκαηα δηαηξνθήο ή γηα πξνζζήθε ζε ηξόθηκα φπσο ηα παξαζθεπάζκαηα γηα βξέθε

Διαβάστε περισσότερα

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ Εδώ ζα ππνινγίζνπκε ην κεηαζρεκαηηζκό Fourier κεξηθώλ αθόκα ζεκάησλ, πξνζπαζώληαο λα μεθηλήζνπκε από ην κεηαζρεκαηηζκό Fourier γλσζηώλ ζεκάησλ

Διαβάστε περισσότερα

Ανάπτυξη Ελληνικής τεχνολογίας μηχανών ηλεκτροπαραγωγής ORC

Ανάπτυξη Ελληνικής τεχνολογίας μηχανών ηλεκτροπαραγωγής ORC Εθνικό Συνέδριο «Γεωθερμική Ηλεκτροπαραγωγή» Ξενοδοχείο Divani Caravel Αθήνα 20 Νοεμβρίου 2013 Ανάπτυξη Ελληνικής τεχνολογίας μηχανών ηλεκτροπαραγωγής ORC Α.Μπένου, Ι. Χωροπανίτης Τμήμα Γεωθερμικής Ενέργειας

Διαβάστε περισσότερα

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Σύνθεζη ηαλανηώζεων Α. Σύλζεζε δύν α.α.η ηεο ίδιας ζστνόηηηας Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Η απνκάθξπλζε

Διαβάστε περισσότερα

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Cpyright 2013 Λόγος & Επικοινωνία // All rights Reserved Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Αυηό ηο παιχνίδι έχει ζηόχους: 1. ηελ εθγύκλαζε ηεο αθνπζηηθήο κλήκεο ησλ παηδηώλ 2. ηελ εμάζθεζε ζηελ

Διαβάστε περισσότερα

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα

Διαβάστε περισσότερα

x x x x tan(2 x) x 2 2x x 1

x x x x tan(2 x) x 2 2x x 1 ΘΕΡΙΝΟ ΣΜΗΜΑ ΜΑΘΗΜΑΣΙΚΑ Ι ΕΠΑΝΑΛΗΠΣΙΚΕ ΑΚΗΕΙ ΜΕΡΟ Ι 1. Να γίλνπλ νη γξαθηθέο παξαζηάζεηο ησλ παξαθάησ ζπλαξηήζεσλ. t ( i) e ( ii) ln( ) ( iii). Να βξεζεί ην Π.Ο., ν ηύπνο ηεο αλίζηξνθεο θαη ην Π.Τ. ησλ

Διαβάστε περισσότερα

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ 1 Σ. Δ. Ι. ΓΤ Σ Ι Κ Η Μ Α Κ Δ Γ Ο Ν Ι Α ΥΟΛΗ ΣΔΥΝΟΛΟΓΙΚΩΝ ΔΦΑΡΜΟΓΩΝ Σ Μ Η Μ Α Μ Η Υ Α Ν ΟΛΟ Γ Ι Α Δξγαζηήξην Μεραλνπξγηθώλ Καηεξγαζηώλ & CAD ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ ΜΑΘΗΜΑ 2: Πνηόηεηα Δπηθάλεηαο Γξ. Βαξύηεο

Διαβάστε περισσότερα

Πως να δημιουργήσετε ένα Cross-Over καλώδιο

Πως να δημιουργήσετε ένα Cross-Over καλώδιο Πως να δημιουργήσετε ένα Cross-Over καλώδιο Τν crossover καλώδιο ρξεζηκνπνηείηαη γηα λα ζπλδεζνύλ δπν ππνινγηζηέο κεηαμύ ηνπο θαη αλ θηηάμνπλ έλα κηθξό ηνπηθό δίθηπν(lan). Έλα LAN κπνξεί λα είλαη ηόζν

Διαβάστε περισσότερα

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W. ΚΒΑΝΤΙΚΗ ΦΥΣΙΚΗ Ι Τειηθή Εμέηαζε: 5 Σεπηέκβξε 6 (Δηδάζθσλ: ΑΦ Τεξδήο) ΘΕΜΑ Θεσξνύκε θβαληηθό ζύζηεκα πνπ πεξηγξάθεηαη από Φακηιηνληαλή Η, ε νπνία ζε κνξθή πίλαθα ρξεζηκνπνηώληαο ηηο ηδηνζπλαξηήζεηο, θαη

Διαβάστε περισσότερα

Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και. εκτέλεση ππογπάμματορ

Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και. εκτέλεση ππογπάμματορ 1 Δπαστηπιότητα 1 - ανάπτςξη, μεταγλώττιση, αποσυαλμάτωση και εκτέλεση ππογπάμματορ Κάζε πξσί ν Karel μππλάεη ζην θξεβάηη ηνπ όηαλ έλα ξνκπόη-εθεκεξηδνπώιεο ηνπ πεηάεη ηελ εθεκεξίδα, πνπ αλαπαξηζηάλεηαη

Διαβάστε περισσότερα

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ ΤΕΙ Δσηικής Μακεδονίας Τμήμα Βιομητανικού Στεδιαζμού Εργαζηήριο C 3 www.c3.teiwm.gr C 3 LAB www.c3.teiwm.gr 1 Εηζαγσγή Πεπιεσόμενα ύκβνια

Διαβάστε περισσότερα

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις Έκδοζη 2.89.31 08/10/2014 Η έκδοζη 2.89.31, περιλαμβάνει : Βεληιώζεις Καηάζηαζη Υπερφριών (Ε8) Αναγγελία πρόζληυης (Ε3) 08/10/2014 1 Βεληιώζεις Καηάζηαζη Υπερφριών (Ε8) Επεηδή ζηελ ειεθηξνληθή ππνβνιή

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ. Καξθηά 3 θηιά πεξίπνπ κε κήθνο ηξηπιάζην από ην πάρνο ηνπ μύινπ θπξί κεγάιν θαη ππνκνλή

Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ. Καξθηά 3 θηιά πεξίπνπ κε κήθνο ηξηπιάζην από ην πάρνο ηνπ μύινπ θπξί κεγάιν θαη ππνκνλή Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΙΩΝ ΠΡΩΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ ΔΝΟΣΗΣΑ 10 ε : ΜΗΥΑΝΙΚΗ ΜΔΡΟ Β ΠΙΔΗ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Καξέθια θαθίξε Όξγαλα Τιηθά Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ.

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία 8.3.2016 A8-0046/319 319 Άρθρο 34 παράγραθος 1 ζηοιχείο δ (δ) 14 έηε γηα θηεληαηξηθά θάξκαθα πνπ πξννξίδνληαη γηα άιια είδε δώωλ από απηά πνπ αλαθέξνληαη ζηελ παξάγξαθν 1 ζηνηρεία α) θαη γ). (δ) 10 έηε

Διαβάστε περισσότερα

ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ

ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ Σν ζύγρξνλν πξόηππν αληηκεηώπηζεο ηεο ηεξεδόλαο ελειίθσλ δελ εζηηάδεηαη κόλν ζηελ απνθαηάζηαζε ησλ ηεξεδνληθώλ βιαβώλ πνπ έρνπλ εθδεισζεί, αιιά έρεη

Διαβάστε περισσότερα

ΙΣΤΟΡΙΑ ΤΟΥ ΑΡΧΑΙΟΥ ΚΟΣΜΟΥ

ΙΣΤΟΡΙΑ ΤΟΥ ΑΡΧΑΙΟΥ ΚΟΣΜΟΥ ΙΣΤΟΡΙΑ ΤΟΥ ΑΡΧΑΙΟΥ ΚΟΣΜΟΥ Α ΛΤΚΕΙΟΤ ΓΕΝΙΚΗ ΠΑΙΔΕΙΑ Σχολικό έτος: 2011-2012 Καθηγήτριες: Κεφαλληνού Λουκία- Καλλία Αθηνά ΙΙ. ΟΙ ΑΧΑΙΟΙ ΕΛΛΗΝΕΣ ΑΠΟ ΣΟΤ ΠΡΟΙΣΟΡΙΚΟΤ ΥΡΟΝΟΤ ΕΩ ΚΑΙ ΣΟ Μ. ΑΛΕΞΑΝΔΡΟ 1. ΕΛΛΗΝΙΚΗ

Διαβάστε περισσότερα

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ ΣΟΜΟ Α Mάθημα 5: To παραγωγής σναρηήζεις κόζηοσς Η ζπλάξηεζε ζπλνιηθνύ θόζηνπο C FC VC Όπνπ FC= ην ζηαζεξό θόζηνο (ην θόζηνο γηα ηνλ ζηαζεξό παξαγσγηθό ζπληειεζηή) θαη VC= ην κεηαβιεηό

Διαβάστε περισσότερα

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ Α/Α : 0_1379/50 1. Όηαλ ινηπόλ ήξζαλ [νη πξέζβεηο ζηελ Αζήλα], αθνύ ζπλέιαβαλ νη Αζελαίνη θαη ηνπο πξέζβεηο σο ππνθηλεηέο ζηάζεο θαη όζνπο έπεηζαλ [νη πξέζβεηο], ηνπο ζπγθέληξσζαλ γηα αζθάιεηα ζηελ Αίγηλα.

Διαβάστε περισσότερα