Δηδηθή Δπηζηεκνληθή Δξγαζία Οινθιεξσκέλν ύζηεκα κε DSP γηα Λήςε, Κσδηθνπνίεζε θαηά JPEG θαη Απνζηνιή Εηθόλαο κέζσ TCP/IP Σζφιαθαο Αλδξέαο Α.Μ.

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

Download "Δηδηθή Δπηζηεκνληθή Δξγαζία Οινθιεξσκέλν ύζηεκα κε DSP γηα Λήςε, Κσδηθνπνίεζε θαηά JPEG θαη Απνζηνιή Εηθόλαο κέζσ TCP/IP Σζφιαθαο Αλδξέαο Α.Μ."

Transcript

1 Δηδηθή Δπηζηεκνληθή Δξγαζία Οινθιεξσκέλν ύζηεκα κε DSP γηα Λήςε, Κσδηθνπνίεζε θαηά JPEG θαη Απνζηνιή Εηθόλαο κέζσ TCP/IP Σζφιαθαο Αλδξέαο Α.Μ. 270 Δπηβιέπσλ: Δ. Επγνχξεο Αλαπιεξσηήο Καζεγεηήο

2

3 i Πρόλογοσ Ζ παξνχζα εηδηθή επηζηεκνληθή εξγαζία εθπνλήζεθε ζηα πιαίζηα ηνπ Μεηαπηπρηαθνχ Πξνγξάκκαηνο πνπδψλ Δηδίθεπζεο Ζιεθηξνληθή θαη Τπνινγηζηέο πνπ αλήθεη ζην Σκήκα Φπζηθήο ηνπ Παλεπηζηεκίνπ Παηξψλ. Αληηθείκελν ηεο εξγαζίαο είλαη ε δεκηνπξγία ελφο νινθιεξσκέλνπ ζπζηήκαηνο κε DSP γηα ιήςε, θσδηθνπνίεζε ζχκθσλα κε ην πξφηππν JPEG θαη απνζηνιή εηθφλαο κε ηε βνήζεηα ηνπ πξσηνθφιινπ TCP/IP. Ζ αλάπηπμε ηεο εθαξκνγήο έγηλε ζε γιψζζα πξνγξακκαηηζκνχ c, ελψ ν έιεγρνο ηνπ ζπζηήκαηνο γίλεηαη κέζσ ελφο γξαθηθνχ πεξηβάιινληνο αιιειεπίδξαζεο κε ην ρξήζηε. ην πξψην θεθάιαην πεξηγξάθεηαη ε αλαπηπμηαθή πιαηθφξκα DSK C6416T. Γίλεηαη αλαθνξά ζηελ αξρηηεθηνληθή ηνπ επεμεξγαζηή ςεθηαθνχ ζήκαηνο TMSC T ηεο εηαηξείαο Texas Instruments θαζψο θαη ζηηο ππφινηπεο πεξηθεξεηαθέο ζπζθεπέο. ην δεχηεξν θεθάιαην πεξηγξάθεηαη ε αξρηηεθηνληθή ηεο ζπγαηξηθήο θάξηαο DSKeye Gigabit ηεο εηαηξείαο Bitec, πνπ ζπλδέεηαη ζην DSK. Ζ θάξηα απηή δηαρεηξίδεηαη ηα δεδνκέλα γηα ηελ απνζηνιή ηνπο κέζσ TCP/IP, θαζψο θαη ηελ έγρξσκε θάκεξα OV5610 ηεο εηαηξείαο Omnivision, ε νπνία είλαη απαξαίηεηε γηα ηε ιήςε ησλ εηθφλσλ. Πεξηγξάθεηαη επίζεο ν ηξφπνο δηαζχλδεζεο φισλ ησλ ζπζθεπψλ απφ άπνςε πιηθνχ, ελψ ζηε ζπλέρεηα πεξηγξάθεηαη θαη ε δηαζχλδεζε ινγηζκηθνχ. ην ηξίην θεθάιαην γίλεηαη αλαιπηηθή πεξηγξαθή ηνπ πξνηχπνπ JPEG, ηδηαίηεξα ηνπ ηκήκαηνο πνπ αλαθέξεηαη ζην Baseline DCT. Αθνινπζεί παξάδεηγκα κε ην νπνίν γίλεηαη θαηαλνεηή ε δηαδηθαζία θσδηθνπνίεζεο ζχκθσλα κε ην JPEG πξφηππν. ην ηέηαξην θεθάιαην πεξηγξάθεηαη ε πινπνίεζε ηνπ ζπζηήκαηνο, ην δηάγξακκα ξνήο ηνπ βαζηθνχ πξνγξάκκαηνο ελψ παξνπζηάδνληαη ηα απνηειέζκαηα κε ηε βνήζεηα ηνπ γξαθηθνχ πεξηβάιινληνο. Σέινο ζην παξάξηεκα αλαθέξνληαη ηα είδε EDMA κεηαθνξψλ θαη ηξφπνη πξνγξακκαηηζκνχ. Θα ήζεια λα επραξηζηήζσ ηνλ επηβιέπνληα θαζεγεηή ηεο εξγαζίαο απηήο, θ.δπάγγειν Επγνχξε, ε θαζνδήγεζε ηνπ νπνίνπ ππήξμε θαζνξηζηηθήο ζεκαζίαο, θαζψο επίζεο θαη ηνπο θαζεγεηέο ηνπ Δξγαζηεξίνπ Ζιεθηξνληθήο ηνπ Σκήκαηνο Φπζηθήο ηνπ Παλεπηζηεκίνπ Παηξψλ. Θα πξέπεη επίζεο λα αλαθεξζψ ζηνπο ππνςήθηνπο δηδάθηνξεο θαη ηνπο ζπκθνηηεηέο κνπ γηα ηηο ακέηξεηεο ζπδεηήζεηο θαη ηηο πνιχηηκεο ζπκβνπιέο. Σέινο ζέισ λα επραξηζηήζσ ηνπο γνλείο κνπ, ηνλ αδεξθφ κνπ Κψζηα γηα ηηο ζθέςεηο θαη ηα ζρφιηα πάλσ ζηελ εξγαζία απηή θαη ηελ αδεξθή κνπ Κξίζηε, γηα ηε ζπκπαξάζηαζε θαη ηελ ελζάξξπλζε πνπ κνπ έδσζαλ θαηά ηε δηάξθεηα ησλ ζπνπδψλ κνπ. Σζφιαθαο Αλδξέαο Πάηξα 2009

4 ii

5 iii Πίνακασ Περιεχομζνων Πξφινγνο... i Πίλαθαο Πεξηερνκέλσλ... iii Κεθάιαην Πεξηγξαθή ηνπ DSK C6416T Δηζαγσγή DSK C6416T Υάξηεο Μλήκεο C6416T DSK Αξρηηεθηνληθή TMS320C6416T Λεηηνπξγηθέο Μνλάδεο VCP θαη TCP Δζσηεξηθή Μλήκε Διεγθηήο EDMA AIC23 Stereo Codec χγρξνλε DRAM Μλήκε Flash LEDs θαη DIP δηαθφπηεο CPLD Τπνδνρέο επέθηαζεο γηα ζπγαηξηθέο θάξηεο JTAG Κεθάιαην Hardware Καη Software Γηαζχλδεζε DSKeye θαη OV Δηζαγσγή Πεξηγξαθή Hardware DSKeye Gigabit Ethernet Cyclone II FPGA... 16

6 iv Γηεπαθή Santa Cruz OV Πεξηγξαθή Γηαζπλδέζεσλ Καη Software DSKeye Gigabit Ethernet TCP/IP lwip API (Light-Weight Internet Protocol Application Programming Interface) BSD API (Berkeley Software Distribution Application Programming Interface) Γηαζχλδεζε Cyclone II FPGA Γηαζχλδεζε OV OV5610 API DSKeye API Κεθάιαην Πξφηππν JPEG Δηζαγσγή Καηεγνξίεο JPEG Δηθφλσλ Baseline DCT Μεηαζρεκαηηζκφο Tσλ Δηθνλνζηνηρείσλ Τπνδεηγκαηνιεςία Γηαθξηηφο ζπλεκηηνληθφο κεηαζρεκαηηζκφο, DCT Zig-Zag Κβάληηζε Κσδηθνπνίεζε εληξνπίαο JFIF Γνκή ζπκπηεζκέλσλ δεδνκέλσλ Γεληθέο πξνδηαγξαθέο ζήκαλζεο δεδνκέλσλ... 57

7 v App0 Segment Frame θαη DQT Segment Scan θαη DHT Segment ECS (Entropy Coded Segment) Κεθάιαην Τινπνίεζε ηνπ ζπζηήκαηνο, απνηειέζκαηα, πξνηάζεηο Δηζαγσγή Παξνπζίαζε ζπζηήκαηνο Γηάγξακκα ξνήο Τινπνίεζε ηνπ GUI κε ην Labview Απνηειέζκαηα πκπεξάζκαηα - πξνηάζεηο Παξάξηεκα Α EDMA θαη QDMA κεηαθνξά Βηβιηνγξαθία Γηαδηθηπαθνί χλδεζκνη

8

9 Κεφϊλαιο 1 Περιγραφό του DSK C6416T 1.1 Ειςαγωγό Ο επεμεξγαζηήο ςεθηαθνχ ζήκαηνο (DSP), είλαη έλαο εμεηδηθεπκέλνο κηθξνεπεμεξγαζηήο κε βειηηζηνπνηεκέλε αξρηηεθηνληθή, πνπ έρεη σο ζθνπφ λα εθηειεί γξήγνξα ηηο πξάμεηο πνπ απαηηνχληαη ζηελ επεμεξγαζία ησλ ςεθηαθψλ ζεκάησλ. Οη αιγφξηζκνη πνπ απαηηνχληαη γηα ηελ ςεθηαθή επεμεξγαζία ζήκαηνο, απνηεινχληαη ζπλήζσο απφ πξάμεηο πξφζζεζεο θαη πνιιαπιαζηαζκνχ. Ζ αξρηηεθηνληθή ησλ DSP s είλαη θαηάιιειε ψζηε λα εθηεινχληαη νη πξάμεηο απηέο ζε φζν ην δπλαηφλ ιηγφηεξνπο θχθινπο. Οη ςεθηαθνί επεμεξγαζηέο ζήκαηνο TMS320C6x αλήθνπλ ζε κία νηθνγέλεηα επεμεξγαζηψλ ηεο Texas Instruments πνπ πξσηνεκθαλίζηεθαλ ηνλ Απξίιην ηνπ Οη επεμεξγαζηέο απηνί ρσξίδνληαη ζε δχν βαζηθέο θαηεγνξίεο, ζηνπο επεμεξγαζηέο ζηαζεξήο ππνδηαζηνιήο (fixed point) θαη ζηνπο επεμεξγαζηέο θηλεηήο ππνδηαζηνιήο (floating point). Ζ αξρηηεθηνληθή ηεο νηθνγέλεηαο επεμεξγαζηψλ ηεο Texas Instruments (TI) TMS320C6000 βαζίδεηαη ζηελ πςειήο επίδνζεο, δεχηεξεο γεληάο αξρηηεθηνληθήο VelociTI.2 πνπ αλαπηχρζεθε απφ ηελ Texas Instruments. Βαζίδεηαη ζε πνιχ κεγάιεο ιέμεηο εληνιήο (Very Long Instruction Word), ην νπνίν πξαθηηθά ζεκαίλεη φηη θαηά ηε δηάξθεηα ηεο ζπκβνινκεηάθξαζεο, ν ζπκβνινκεηαθξαζηήο ειέγρνληαο ηηο εληνιέο πνπ πξφθεηηαη λα εθηειεζζνχλ, εληνπίδεη ηηο επί κέξνπο εληνιέο πνπ κπνξνχλ λα εθηειεζζνχλ παξάιιεια θαη ηηο ρεηξίδεηαη ζαλ κία κεγάιε εληνιή. Με ηνλ ηξφπν απηφ επηηπγράλεηαη παξαιιειηζκφο ζε κεγάιν βαζκφ κε απνηέιεζκα νη εθαξκνγέο λα εθηεινχληαη ζε ιηγφηεξν ρξφλν.

10 2 Οη DSPs ρξεζηκνπνηνχληαη γηα έλα επξχ θάζκα εθαξκνγψλ, φπσο είλαη νη ηειεπηθνηλσλίεο θαη ε επεμεξγαζία ήρνπ θαη εηθφλαο. Σέηνηνπο επεμεξγαζηέο κπνξνχκε λα βξνχκε ζε κεγάιν αξηζκφ εκπνξηθψλ πξντφλησλ. Μεξηθά απφ απηά είλαη ηα θηλεηά ηειέθσλα, ξαδηφθσλα, εθηππσηέο, ζπζηήκαηα αλαπαξαγσγήο ήρνπ MP3, fax/modem, ςεθηαθέο θάκεξεο, δέθηεο πςειήο επθξίλεηαο. Ζ ρξήζε ηνπο έρεη γίλεη ηδηαίηεξα δεκνθηιήο θαη απηφ νθείιεηαη ζην φηη ε ηηκέο ηνπο είλαη πξνζηηέο, ελψ έρνπκε ηε δπλαηφηεηα επαλαπξνγξακκαηίδνληαο ηνλ επεμεξγαζηή λα ηνλ ρξεζηκνπνηήζνπκε γηα άιιεο εθαξκνγέο. Δπίζεο ηα επίπεδα θαηαλάισζεο είλαη αξθεηά ρακειά, επνκέλσο κπνξνχλ λα ρξεζηκνπνηεζνχλ ζε θνξεηέο ζπζθεπέο. Ζ θχξηα ρξήζε ησλ ςεθηαθψλ επεμεξγαζηψλ ζήκαηνο, ζρεηίδεηαη κε επεμεξγαζία ζεκάησλ ζε πξαγκαηηθφ ρξφλν. Ζ επεμεξγαζία ηέηνησλ ζεκάησλ καο επηβάιιεη έλαλ πεξηνξηζκφ. Έηζη ην αλαινγηθφ ζήκα πνπ ζέινπκε λα επεμεξγαζηνχκε, ζα πξέπεη λα κεηαηξαπεί ζε ςεθηαθφ ζήκα, ζηε ζπλέρεηα λα ην επεμεξγαζηνχκε θαηάιιεια ελψ ηέινο ίζσο ρξεηαζηεί λα κεηαηξαπεί μαλά ζε αλαινγηθφ, ελψ ν ρξφλνο πνπ ζα δηαξθέζεη απηή ε δηαδηθαζία ζα πξέπεη λα είλαη ζχληνκνο (εηθφλα 1.1). Μεηαμχ ηεο εηζφδνπ θαη ηεο εμφδνπ παξεκβάιιεηαη έλα εηδηθφ βαζππεξαηφ θίιηξν, ζηελ είζνδν γηα λα απνθχγνπκε θαηλφκελα αλαδίπισζεο (anti-aliasing) θαη ζηελ έμνδν γηα λα ιεηάλεη ην αλαζθεπαζκέλν αλαινγηθφ ζήκα (smoothing). Υξεζηκνπνηψληαο έλα αληίζηνηρν αλαινγηθφ ζχζηεκα, έρνπκε ην κεηνλέθηεκα φηη ηα δηαθξηηά ζηνηρεία πνπ ην απνηεινχλ φπσο αληηζηάζεηο, πελία ή ππθλσηέο, είλαη επάισηα ζε κεηαβνιέο ηεο ζεξκνθξαζίαο, ελψ ηα επίπεδα ζνξχβνπ πνπ εηζέξρνληαη ζην ζχζηεκα ηα θαζηζηνχλ ζρεδφλ απνηξεπηηθά. ε αληίζεζε έλα ςεθηαθφ ζχζηεκα είλαη ιηγφηεξν επάισην ζε πεξηβαιινληηθέο ζπλζήθεο, ελψ έρεη ην πξνηέξεκα φηη είλαη επέιηθην, απνδνηηθφ, εχθνιν ζηε ρξήζε θαη νηθνλνκηθφ. Εηθόλα 1.1 Έλα απιό ζύζηεκα ςεθηαθήο επεμεξγαζίαο 1.2 DSK C6416T ηελ εξγαζία απηή ρξεζηκνπνηήζεθε ην DSK (DSP Starter Kit) C6416T. Απνηειείηαη απφ έλαλ αξηζκφ ζπζθεπψλ πνπ είλαη ηνπνζεηεκέλα ζην board, κεξηθέο απφ ηηο νπνίεο θαίλνληαη ζηελ εηθφλα 1.2.

11 Περιγραφό του DSK C6416T 3 Εηθόλα 1.2 Δηάγξακκα C6416T DSK Σα βαζηθφηεξα ραξαθηεξηζηηθά πνπ απνηεινχλ ηελ θάξηα ζπλνςίδνληαη παξαθάησ: Δπεμεξγαζηή ηεο Texas Instruments TMS320C6416T DSP πνπ ιεηηνπξγεί ζηα 1Gigahertz AIC23 stereo codec 16 Mbytes ζχγρξνλε DRAM 512 Kbytes κλήκεο Flash 4 LEDs θαη DIP δηαθφπηεο Έιεγρν κέζσ software θαηαρσξεηψλ πνπ έρνπλ πινπνηεζεί ζε έλα CPLD Ρχζκηζε παξακέηξσλ boot θαζψο θαη εηζφδσλ ξνινγηνχ Τπνδνρέο επέθηαζεο γηα ρξήζε ζπγαηξηθψλ θαξηψλ (daughter card) JTAG εμνκνίσζε ρξεζηκνπνηψληαο έλα USB host interface ή εμσηεξηθφ εμνκνησηή Σξνθνδνζία (+5V) Ο επεμεξγαζηήο ηνπ DSK δηαζπλδέεηαη κε ηα πεξηθεξεηαθά κέζσ δχν δηαχισλ, ηνλ 64- bit EMIFA θαη ηνλ 16-bit EMIFB. Ζ εμσηεξηθή κλήκε SDRAM θαζψο θαη νη ππνδνρείο επέθηαζεο γηα ρξήζε εμσηεξηθψλ δηαζπλδέζεσλ, δηαζπλδένληαη ζην δίαπιν EMIFA, ελψ ε Flash θαη ην CPLD δηαζπλδένληαη ζην δίαπιν EMIFB. Ο AIC23 codec επηηξέπεη ζηνλ επεμεξγαζηή λα ιακβάλεη αιιά θαη λα κεηαδίδεη αλαινγηθά ζήκαηα. Ζ είζνδνο θαη έμνδνο ηνπ αλαινγηθνχ ζήκαηνο γίλεηαη κέζσ ηεζζάξσλ

12 4 ππνδνρψλ ήρνπ ησλ 3.5mm πνπ αληηζηνηρνχλ ζε είζνδν κηθξνθψλνπ (MIC IN), line in, line out θαη έμνδνο αθνπζηηθψλ (HP OUT). Ζ ζπζθεπή πξνγξακκαηηδφκελεο ινγηθήο (CPLD) ρξεζηκνπνηείηαη γηα ηε δηαζχλδεζε ησλ ζηνηρείσλ πνπ απνηεινχλ ην board. Πεξηέρεη επίζεο έλα πιήζνο θαηαρσξεηψλ πνπ καο επηηξέπνπλ λα ξπζκίδνπκε ηηο παξακέηξνπο ησλ ζηνηρείσλ απηψλ. Σν DSK ζπκπεξηιακβάλεη 4 LEDs θαη 4 δηαθφπηεο DIP ζαλ έλαο απιφο ηξφπνο γηα λα έρνπκε έιεγρν ηεο ιεηηνπξγίαο ηεο ζπζθεπήο καο. Μπνξνχκε λα ηα ειέγμνπκε ηξνπνπνηψληαο ηνπο αλάινγνπο θαηαρσξεηέο πνπ βξίζθνληαη ζην CPLD. Ζ εμσηεξηθή ηξνθνδνζία ησλ 5V ηξνθνδνηεί ην board. Καηάιιεινο ξπζκηζηήο (Voltage Reg) ηξνθνδνηεί κε 1.2V ηνλ επεμεξγαζηή θαη 3.3V ηηο ζπζθεπέο εηζφδνπ θαη εμφδνπ. Έλαο επηπιένλ ξπζκηζηήο παξέρεη 3.3V γηα λα ηξνθνδνηήζεη ζπζθεπέο επέθηαζεο (Peripheral Exp). Σα ραξαθηεξηζηηθά ηνπ C6416T επεμεξγαζηή ζπλνςίδνληαη ζηνλ παξαθάησ πίλαθα. Πίλαθαο 1.1 Υαξαθηεξηζηηθά C6416T DSK

13 Περιγραφό του DSK C6416T Χϊρτησ Μνόμησ C6416T DSK Γηα λα κπνξέζνπκε λα δηεπζπλζηνδνηήζνπκε θάπνην ζπγθεθξηκέλν ηκήκα ηεο κλήκεο ζα πξέπεη λα γλσξίδνπκε πσο είλαη ραξηνγξαθεκέλε ε κλήκε. ηoλ παξαθάησ πίλαθα ζπλνςίδεηαη ν ράξηεο κλήκεο ηνπ DSK. Πίλαθαο 1.2 Υάξηεο Μλήκεο C6416T DSK

14 6 1.3 Αρχιτεκτονικό TMS320C6416T Σν DSK C6416T ζπκπεξηιακβάλεη ηνλ επεμεξγαζηή ζηαζεξήο ππνδηαζηνιήο TMS320C6416T ηεο Texas Instruments. Πξφθεηηαη γηα ηνλ επεμεξγαζηή ςεθηαθνχ ζήκαηνο κε ηελ πςειφηεξε απφδνζε ζηελ νηθνγέλεηα C6000. Έρεη κέγηζηε απφδνζε 8000 εθαηνκκπξίσλ εληνιψλ αλά δεπηεξφιεπην (Million Instructions Per Second) κε ηαρχηεηα ξνινγηνχ 1GHz. Ο επεμεξγαζηήο πεξηέρεη bit θαηαρσξεηέο γεληθνχ ζθνπνχ θαζψο θαη 8 αλεμάξηεηεο ιεηηνπξγηθέο κνλάδεο. Γχν εμ απηψλ εθηεινχλ πξάμεηο πνιιαπιαζηαζκνχ θαη νη ππφινηπεο 6 ιεηηνπξγνχλ ζαλ αξηζκεηηθέο ινγηθέο κνλάδεο (ALU). Εηθόλα 1.3 Ππξήλαο C6416T DSP Ο επεμεξγαζηήο θάλεη fetch πνιχ κεγάιεο ιέμεηο εληνιήο (VLIWs) πνπ έρνπλ εχξνο 256 bit. Έηζη δχλαηαη λα ηξνθνδνηήζεη ηηο ιεηηνπξγηθέο κνλάδεο κε 8 εληνιέο εχξνπο 32 bit ζηε δηάξθεηα ηνπ θάζε θχθινπ θαη ζηε ινγηθή απηή βαζίδεηαη ε αξρηηεθηνληθή VelociTI Λειτουργικϋσ Μονϊδεσ Οη ιεηηνπξγηθέο κνλάδεο ρσξίδνληαη ζε 2 ηκήκαηα. Σν θάζε ηκήκα πεξηιακβάλεη απφ 4 ιεηηνπξγηθέο κνλάδεο θαη έλα register file. Σν πξψην ηκήκα πεξηιακβάλεη ηηο ιεηηνπξγηθέο κνλάδεο.l1,.s1,.m1 θαη.d1. Αληίζηνηρα ην δεχηεξν ηκήκα πεξηιακβάλεη ηηο ιεηηνπξγηθέο κνλάδεο.l2,.s2,.m2 θαη.d2. Σα register files πεξηιακβάλνπλ bit θαηαρσξεηέο ην θαζέλα (A0-A31 θαη Β0-Β31).

15 Περιγραφό του DSK C6416T 7 Οη ιεηηνπξγηθέο κνλάδεο δηεπζπλζηνδφηεζεο δεδνκέλσλ (.D1 θαη.d2) είλαη ππεχζπλεο γηα φιεο ηηο κεηαθνξέο δεδνκέλσλ απφ ηνπο θαηαρσξεηέο πξνο ηε κλήκε. Δπηηξέπεηε επίζεο ε κεηαθνξά ή απνζήθεπζε δεδνκέλσλ κεηαμχ δχν θαηαρσξεηψλ. Οη.D κνλάδεο κπνξνχλ λα θνξηψζνπλ ιε λα απνζεθεχζνπλ δεδνκέλα εχξνπο 8bit, 16bit, 32bit ή 64bit κε κία εληνιή. Οη.Μ ιεηηνπξγηθέο κνλάδεο εθηεινχλ φιεο ηηο πξάμεηο πνιιαπιαζηαζκνχ. Μπνξνχλ λα εθηειέζνπλ δχν 16x16bit πνιιαπιαζηαζκνχο ζε θάζε θχθιν. Μπνξνχλ επίζεο λα εθηειεζηνχλ πνιιαπιαζηαζκνί 16x32bit, δχν 16x16bit πνιιαπιαζηαζκνί ή ηέζζεξηο 8x8bit πνιιαπιαζηαζκνί. Δπίζεο εθηεινχλ rotates θαη shifts πξνο ηηο δχν πιεπξέο. Οη ππφινηπεο 2.S θαη 2.L ιεηηνπξγηθέο κνλάδεο εθηεινχλ αξηζκεηηθέο θαη ινγηθέο πξάμεηο κε απνηέιεζκα αλά θάζε θχθιν ξνινγηνχ. Οη πξάμεηο ζπκπεξηιακβάλνπλ 32 bit δεδνκέλα, δχν ηαπηφρξνλεο πξάμεηο κεηαμχ 16bit δεδνκέλσλ ή ηέζζεξηο ηαπηφρξνλεο πξάμεηο κεηαμχ 8bit δεδνκέλσλ VCP και TCP Ο 6416 έρεη ελζσκαησκέλνπο 2 πςειήο απφδνζεο επεμεξγαζηέο κε ηελ νλνκαζία Viterbi Decoder Coprocessor (VCP) θαη Turbo Decoder Coprocessor (TCP). Υξεζηκεχνπλ ζηελ επίζπεπζε ηεο δηαδηθαζίαο απνθσδηθνπνίεζεο θαλαιηνχ. Ο TCP κπνξεί λα απνθσδηθνπνηήζεη 60 θαλάιηα κε θσδηθνπνίεζε turbo ησλ 384kbps ή 10 θαλάιηα ησλ 2 Mbps. Έρεη επνκέλσο ηε δπλαηφηεηα λα θαιχςεη ηαρχηεηεο απνθσδηθνπνίεζεο θαλαιηνχ πνπ απαηηεί ην 3GPP ή 3GPP2 θαη πνπ ρξεζηκνπνηείηαη ζηελ θηλεηή ηειεθσλία Εςωτερικό Μνόμη Ζ ζεηξά 64x ρξεζηκνπνηεί θξπθή κλήκε 2 επηπέδσλ (2-level cache). Παξέρεη 16Kbytes θξπθήο κλήκεο πξνγξάκκαηνο θαζψο θαη επηπιένλ 16Kbytes θξπθήο κλήκεο δεδνκέλσλ κε ηελ νλνκαζία L1P θαη L1D αληίζηνηρα. Παξέρεη επηπιένλ 1024Kbytes κλήκεο L2 θηάλνληαο ζπλνιηθά ηα 1056Kbytes εζσηεξηθήο κλήκεο. ηα πεξηθεξεηαθά ζπκπεξηιακβάλνληαη ηξεηο πνιπθαλαιηθέο ζεηξηαθέο ζχξεο McBSPs (MultiChannel Buffered Serial Port), κία ζχξα UTOPIA slave, ηξεηο 32bit timers γεληθήο ρξήζεο, έλα 16bit ή 32bit host port interface (HPI), έλα peripheral component interconnect (PCI), κηα ζχξα εηζφδνπ/εμφδνπ γεληθήο ρξήζεο General Purpose Input/Output port (GPIO) κε 16 pins, θαη ηέινο δχν εμσηεξηθέο δηεπαθέο κε ηελ εμσηεξηθή κλήκε, ηελ EMIFA κε εχξνο δηαχινπ 64bit θαη ηελ EMIFB κε εχξνο δηαχινπ 16bit. ηηο δηεπαθέο απηέο κπνξνχκε λα δηαζπλδέζνπκε επηπιένλ εμσηεξηθή κλήκε ή αθφκα θαη επηπιένλ πεξηθεξεηαθά Ελεγκτόσ EDMA Έλα ρξήζηκν ηκήκα ηνπ επεμεξγαζηή είλαη ν ειεγθηήο EDMA (Enhanced Direct Memory Access). Πξφθεηηαη γηα κηα βειηηζηνπνηεκέλε κεραλή κεηαθνξάο δεδνκέλσλ κε δπλαηφηεηα ρεηξηζκνχ έσο 8 bytes αλά θάζε EDMA θχθινπ. Πξαθηηθά γηα ζπρλφηεηα ξνινγηνχ 1GHz

16 8 επηηπγράλεηαη ηαρχηεηα κεηαθνξάο 4GB αλά δεπηεξφιεπην. Γηα ηνλ ππνινγηζκφ απηφ πξέπεη λα ιάβνπκε ππφςε καο φηη ε ζπρλφηεηα ιεηηνπξγίαο ηεο EDMA κεηαθνξάο ηζνχηαη κε ην κηζή ζπρλφηεηα ιεηηνπξγίαο ηνπ επεμεξγαζηή. Ζ EDMA εθηειεί φιεο ηηο κεηαθνξέο δεδνκέλσλ κεηαμχ ηεο L2 κλήκεο, ηεο εμσηεξηθήο κλήκεο θαζψο θαη ησλ πεξηθεξεηαθψλ. Ζ κεηαθνξά απηή είλαη έλα πνιχ ηζρπξφ εξγαιείν γηα ηνλ πξνγξακκαηηζηή θαζψο βαζηθφ πξνηέξεκα είλαη ε κεγάιε ηαρχηεηα κεηαθνξάο θαζψο θαη ε δπλαηφηεηα λα επηιέμνπκε κεηαμχ δηαθνξεηηθψλ ηξφπσλ κεηαθνξάο (γηα παξάδεηγκα κεηαθνξά 2D ή κεηαθνξά 1D). Σν ιεηηνπξγηθφ block δηάγξακκα πνπ πεξηγξάθεθε ζηα πξνεγνχκελα θεθάιαηα θαίλεηαη ζηελ επφκελε εηθφλα Εηθόλα 1.4 Λεηηνπξγηθό block δηάγξακκα επεμεξγαζηή

17 Περιγραφό του DSK C6416T AIC23 Stereo Codec Σν DSK C6416 ρξεζηκνπνηεί ηνλ ζηεξενθσληθφ codec AIC23 ηεο Texas Instuments γηα είζνδν θαη έμνδν ζεκάησλ ήρνπ. Ο codec δεηγκαηνιεπηεί αλαινγηθά ζήκαηα ζην κηθξφθσλν ή ζηε γξακκή εηζφδνπ, ηα κεηαηξέπεη ζε ςεθηαθά ζήκαηα ηα νπνία ζηε ζπλέρεηα κπνξνχλ λα επεμεξγαζηνχλ απφ ην DSP. Όηαλ νινθιεξσζεί ε επεμεξγαζία ν codec κεηαηξέπεη ην ςεθηαθφ ζήκα ζε αλαινγηθφ ζηε γξακκή εμφδνπ ή ζηελ έμνδν αθνπζηηθψλ γηα λα κπνξέζεη ν ρξήζηεο λα αθνχζεη ηνλ ήρν. Ο codec επηθνηλσλεί ρξεζηκνπνηψληαο δχν ζεηξηαθά θαλάιηα, ζην έλα θαλάιη ειέγρνληαη νη θαηάιιεινη θαηαρσξεηέο ελψ ζην άιιν κεηαθέξνληαη ηα ςεθηαθά δείγκαηα ηνπ ήρνπ. Ζ ζχξα McBSP1 ρξεζηκνπνηείηαη γηα ηνλ έιεγρν ηνπ θαλαιηνχ. Δλψ ε ζχξα McBSP2 ρξεζηκνπνηείηαη γηα ηε κεηαθνξά ησλ δεδνκέλσλ ηνπ ήρνπ. Υξεζηκνπνηεί επίζεο έλα ξνιφη ζπζηήκαηνο κε ζπρλφηεηα 12MHz. Ζ ζπρλφηεηα απηή αληαπνθξίλεηαη ζηε ζπρλφηεηα πνπ απαηηεί ε ζχξα USB θαη κε ηνλ ηξφπν απηφ κπνξεί λα ρξεζηκνπνηεζεί ην ίδην ξνιφη γηα ηνλ USB ειεγθηή θαζψο θαη γηα ηνλ codec. Ο εζσηεξηθφο ξπζκφο δεηγκαηνιεςίαο κπνξεί λα παξάγεη ζπρλφηεηεο πνπ ρξεζηκνπνηνχληαη ζηε δεηγκαηνιεςία ήρνπ φπσο ηα 48kHz, 44.1kHz θαη 8kHz. Ο ξπζκφο δεηγκαηνιεςίαο ειέγρεηαη απφ ηνλ θαηαρσξεηή κε ηελ νλνκαζία SAMPLERATE. Εηθόλα 1.4 Block δηάγξακκα AIC23 Stereo Codec

18 Σύγχρονη DRAM Σν DSK ρξεζηκνπνηεί δχν 64 megabits SDRAMS. Κνηηάδνληαο ην ράξηε κλήκεο ζα ηηο εληνπίζνπκε ζηελ πεξηνρή κλήκεο CE0 ηεο EMIFA. Οη δχν κλήκεο είλαη παξάιιεια ζπλδεκέλεο θαη ζρεκαηίδνπλ κηα δηεπαθή εχξνπο 64bits. Ζ ζπλνιηθά δηαζέζηκε εμσηεξηθή κλήκε αλέξρεηαη ζηα 16Mbytes. Ο δίαπινο EMIFA ρξεζηκνπνηεί έλα ξνιφη ζηα 125MHz. 1.6 Μνόμη Flash Γηα λα κπνξέζεη λα αξρηθνπνηεζεί ν επεμεξγαζηήο ρξεζηκνπνηείηαη κηα εμσηεξηθή κλήκε ηχπνπ Flash κε κέγεζνο 512Kbytes. Γηαζπλδέεηαη ζηελ πεξηνρή CE1 κέζσ ηνπ 8bit δηαχινπ EMIFB. Ζ κλήκε ηχπνπ Flash έρεη ην ραξαθηεξηζηηθφ φηη ηα δεδνκέλα δε ράλνληαη θαηά ηε δηάξθεηα πνπ ε κλήκε είλαη απελεξγνπνηεκέλε. Μπνξεί λα δηαγξαθεί ή λα εγγξαθεί θαηά ηκήκαηα θαη έηζη κπνξνχκε αξθεηά γξήγνξα λα δηαγξάςνπκε ή λα εγγξάςνπκε δεδνκέλα ζηε κλήκε. Γηα θάζε αλάγλσζε θαη εγγξαθή απαηηείηαη έλαο ρξφλνο ηεο ηάμεο ησλ 70ns. 1.7 LEDs και DIP διακόπτεσ Σν DSK δηαζέηεη 4 LED θαη 4 DIP δηαθφπηεο. Παξέρνπλ κηα απιή κνξθή εηζφδνπ θαη εμφδνπ. Ο πξνγξακκαηηζηήο έρεη πξφζβαζε ζε απηνχο ρξεζηκνπνηψληαο κέζσ ηνπ ινγηζκηθνχ. Σξνπνπνηψληαο θαηάιιεινπο θαηαρσξεηέο πνπ βξίζθνληαη ζην CPLD έρνπκε έλα είδνπο απινχ νπηηθνχ ειέγρνπ κέζσ ησλ LEDs. 1.8 CPLD Ζ θάξηα πνπ ρξεζηκνπνηήζακε δηαζέηεη έλα CPLD (Complex Programmable Logic Device) ηεο Altera. Πξφθεηηαη γηα ην EPM3128TC θαη ρξεζηκνπνηψληαο θαηάιιειε γιψζζα πξνγξακκαηηζκνχ πιηθνχ, φπσο γηα παξάδεηγκα είλαη ε VHDL, κπνξνχκε λα πινπνηήζνπκε ηε δηθή καο ινγηθή. ε ζπλδπαζκφ κε ηελ πςειή απφδνζε πνπ καο παξέρεη ν DSP, είλαη έλα ηζρπξφ εξγαιείν γηα ηνλ εθάζηνηε ζρεδηαζηή. Σν EPM3128TC ιεηηνπξγεί κε ηξνθνδνζία 3.3V, δηαζέηεη 100 pins θαη καο παξέρεη 128 macrocells, ελψ δηαζέηεη 80 pins εηζφδνπ θαη εμφδνπ. Οη θαηαρσξεηέο πνπ έρνπλ πινπνηεζεί ζην CPLD, ρξεζηκεχνπλ θπξίσο γηα λα έρνπκε πξφζβαζε ζηα LEDs, ζηνπο DIP δηαθφπηεο θαζψο θαη γηα λα ειέγμνπκε ηε ζπγαηξηθή θάξηα (Daughter Card). Έρνπλ ραξηνγξαθεζεί ζηελ πεξηνρή CE0 κέζσ ηνπ δηαχινπ EMIFB ζηε δηεχζπλζε 0x Πξφθεηηαη γηα αζχγρξνλνπο θαηαρσξεηέο κε εχξνο 8bit. Δθηφο απφ ηνπο πξναλαθεξζέληεο, θάπνηνη θαηαρσξεηέο ππνδειψλνπλ ηελ έθδνζε ηνπ board θαη ηνπ CPLD, ελψ θάπνηνη άιινη ειέγρνπλ ην PLL πνπ βξίζθεηαη ζην board θαη κε ην νπνίν κπνξνχκε λα ειέγμνπκε ηε ζπρλφηεηα ιεηηνπξγίαο ηνπ επεμεξγαζηή.

19 Περιγραφό του DSK C6416T Υποδοχϋσ επϋκταςησ για θυγατρικϋσ κϊρτεσ Σν DSK πεξηιακβάλεη ηξεηο ππνδνρέο επέθηαζεο γηα ζπγαηξηθέο θάξηεο. Οη ζπγαηξηθέο θάξηεο επηηξέπνπλ ζην ρξήζηε λα ζρεδηάζεη ηε δηθή ηνπ πιαηθφξκα, λα επεθηείλεη ηηο δπλαηφηεηεο ηνπ ζπζηήκαηνο θαζψο θαη λα παξέρεη εθαξκνγέο αλάινγα κε ηελ επηζπκία ηνπ. Οη επεθηάζεηο αθνξνχλ ηε κλήκε, ηα πεξηθεξεηαθά θαη ην Host Port Interface (HPI). Ζ δηεπαθή HPI επηηξέπεη ηε δηαζχλδεζε πεξηζζνηέξσλ απφ ελφο DSP, ε νπνία επηηξέπεη ηελ επηθνηλσλία κεηαμχ ηνπο κε δπλαηφηεηα επεμεξγαζίαο ηνπ θαηάιιεινπ ζήκαηνο ζε ιηγφηεξν ρξφλν. Οη ππνδνρέο είλαη απνκνλσκέλεο ψζηε λα κελ επεξεάδεη ε δηαζχλδεζε ηνπ ελφο πεξηθεξεηαθνχ ην άιιν θαη αληίζηξνθα JTAG Σν JTAG (Joint Test Action Group) απνηειεί έλα πξφηππν πνπ δεκηνπξγήζεθε ην Έρεη σο ζθνπφ ηε δνθηκή ηεο ζσζηήο ιεηηνπξγίαο ηνπ ζπζηήκαηνο πνπ αλαπηχζζνπκε. Σν DSK δηαζέηεη έλαλ JTAG εμνκνησηή κέζσ USB, θαη κε ηε βνήζεηα ηνπ εξγαιείνπ Code Composer Studio πνπ παξέρεη ε Texas Instruments κπνξνχκε λα ειέγμνπκε ηε ιεηηνπξγία ηνπ ζπζηήκαηνο. Έρνπκε επίζεο ηε δπλαηφηεηα λα θάλνπκε ηνλ έιεγρν κέζσ ελφο εμσηεξηθνχ JTAG εμνκνησηή.

20 12

21 Κεφϊλαιο 2 Hardware Και Software Διαςύνδεςη DSKeye και OV Ειςαγωγό ην θεθάιαην απηφ γίλεηαη αλαθνξά ζηα ραξαθηεξηζηηθά ηεο θάξηαο DSKeye gigabit ηεο Bitec θαζψο θαη ζηελ έγρξσκε θάκεξα OV5610 ηεο Omnivision. Με ηε βνήζεηα ηεο παξαπάλσ θάξηαο ε νπνία ηνπνζεηείηαη ζηε δηεπαθή ησλ ζπγαηξηθψλ θαξηψλ ηνπ DSK C6416, ην ζχζηεκα πνπ πινπνηήζακε έρεη πιένλ ηε δπλαηφηεηα απνζηνιήο θαη ιήςεο δεδνκέλσλ, θαζψο θαη ηε δπλαηφηεηα ιήςεο εηθφλσλ πςειήο αλάιπζεο. ε ζπλδπαζκφ κε ηνλ ηζρπξφ επεμεξγαζηή ςεθηαθνχ ζήκαηνο, ην ζχζηεκά καο είλαη πιένλ ζε ζέζε λα ιεηηνπξγήζεη ζαλ κηα απηφλνκε κνλάδα ιήςεο εηθφλσλ, επεμεξγαζίαο απηψλ κε φπνηνλ ηξφπν επηζπκνχκε θαη ζηε ζπλέρεηα απνζηνιήο ησλ ζπκπηεζκέλσλ δεδνκέλσλ ή απνζήθεπζεο απηψλ ζηε κλήκε. Ο έιεγρνο ηνπ ζπζηήκαηνο ζα γίλεηαη κέζσ ελφο γξαθηθνχ πεξηβάιινληνο (Graphical User Interface, GUI) πνπ ζα βξίζθεηαη ζε έλαλ ππνινγηζηή.

22 14 Εηθόλα 2.1 Η θάξηα DSKeye κε ηελ θάκεξα OV5610 Σα βαζηθά ραξαθηεξηζηηθά ηεο θάξηαο DSKeye είλαη ηα εμήο Μηα πςειήο απφδνζεο gigabit Ethernet δηεπαθήο Έλα Cyclone II FPGA ηεο Altera Γηαζχλδεζε κέζσ ηεο ζχξαο Santa Cruz 5.2 Mpixel έγρξσκε θάκεξα OV Περιγραφό Hardware DSKeye Gigabit Ethernet Ζ θάξηα DSKeye παξέρεη κηα γξήγνξε gigabit Ethernet δηεπαθή πνπ βαζίδεηαη ζηνλ 32bit ειεγθηή ASIX MAC (Media Access Control). Ζ ζπζθεπή απηή επηηξέπεη ηνλ έιεγρν ηεο πξφζβαζεο ζηα κέζα επηθνηλσλίαο. Πξφθεηηαη γηα κηα ηερλνινγία πνπ δίλεη έιεγρν πξφζβαζεο ζε έλα δίθηπν IP (Internet Protocol). Λεηηνπξγεί ζην θαηψηαην ππφζηξσκα Layer 2 ηνπ κνληέινπ OSI (Open Systems Interconnection).

23 Hardware και software διαςύνδεςη DSKeye OV Εηθόλα 2.2 Block δηάγξακκα DSKeye Gigabit Ethernet Γηαζέηεη έλαλ RISC επεμεξγαζηή, πνπ απνηειεί κηα θηελή αιιά αμηφπηζηε ιχζε πνπ καο δηεπθνιχλεη ζηελ εχθνιε δηθηχσζε ηνπ ζπζηήκαηφο καο. Τπνζηεξίδεη ηαρχηεηεο 10/100/1000 Mbps θαζψο θαη full-duplex ή half-duplex επηθνηλσλία. Γηαζέηεη επίζεο δχν κλήκεο SRAM γηα πξνζσξηλή απνζήθεπζε δεδνκέλσλ. Ζ κία έρεη κέγεζνο 32Kbytes θαη ρξεζηκνπνηείηαη γηα ηε ιήςε δεδνκέλσλ απφ ην θαηψηαην ππφζηξσκα Layer 1 ηνπ κνληέινπ OSI πνπ απνηειεί ην θπζηθφ επίπεδν (PHY). Ζ δεχηεξε έρεη κέγεζνο 8Kbytes θαη ρξεζηκνπνηείηαη γηα ηελ απνζηνιή δεδνκέλσλ πξνο ην θπζηθφ επίπεδν. Ο ειεγθηήο ASIX MAC πεξηέρεη θαηαρσξεηέο γηα ηνλ έιεγρν ηεο ζπζθεπήο. Οη θαηαρσξεηέο απηνί κπνξνχλ λα πξνγξακκαηηζηνχλ κέζσ ινγηζκηθνχ. Δπίζεο επεηδή ν ειεγθηήο είλαη ηχπνπ SRAM, δίλεηαη ε δπλαηφηεηα λα ρξεζηκνπνηεζνχλ DMA (Direct Memory Access) θχθινη κε απνηέιεζκα λα πεηπραίλνπκε κεγαιχηεξεο απνδφζεηο. Εηθόλα 2.3 Block δηάγξακκα ειεγθηή ASIX MAC

24 16 Γηα λα κεησζεί ν θφξηνο εξγαζίαο ζηνλ επεμεξγαζηή ππάξρεη έλαο κεραληζκφο checksum. Ο κεραληζκφο απηφο απνηειεί έλα είδνο ππνγξαθήο θαη ελεκεξψλεη ηνλ ειεγθηή φηη ηα δεδνκέλα δελ έρνπλ αιινησζεί. Έηζη κπνξεί λα γίλεη έιεγρνο αλ ηα παθέηα πνπ ιακβάλνληαη είλαη IP/TCP ή UDP παθέηα. Σα δεδνκέλα κε ηα νπνία κπνξεί λα επηθνηλσλήζεη ν ειεγθηήο κπνξεί λα έρνπλ είηε big είηε little endianness. Γηαηίζεηαη θαηάιιειν πιηθφ ην νπνίν κπνξεί λα κεηαηξέςεη ηα δεδνκέλα απφ ηε κία κνξθή ζηελ άιιε. Ζ πξνεπηιεγκέλε ιεηηνπξγία είλαη little-endian. Εηθόλα 2.4 Αλαπαξάζηαζε Little θαη Big Endian Σέινο δηαζέηεη ππνζηήξημε γηα WOL (Wake On Lan), δειαδή ππάξρεη δπλαηφηεηα εθθίλεζεο ηνπ ζπζηήκαηνο ελψ απηφ βξίζθεηαη ζε θαηάζηαζε κε ιεηηνπξγίαο. Απηφ ζπκβαίλεη φηαλ ιεθζεί ζηε ζχξα Ethernet έλα θαηάιιειν καγηθφ, φπσο είλαη γλσζηφ, παθέην Cyclone II FPGA Σν Cyclone II FPGA ηεο Altera πνπ δηαζέηεη ε θάξηα DSKeye επηηξέπεη ζηνλ πξνγξακκαηηζηή λα πινπνηήζεη ηνπο δηθνχο ηνπ αιγφξηζκνπο. Σα FPGAs (field-programmable gate array) έρνπλ γίλεη ηδηαίηεξα δεκνθηιή ιφγσ ηνπ φηη απνηεινχλ κηα νηθνλνκηθή θαη κε πςειέο απνδφζεηο ιχζε. Ζ δπλαηφηεηα επαλαπξνγξακκαηηζκνχ πνπ πξνζθέξεη ην θαζηζηά επέιηθην. Πξφθεηηαη γηα ην Cyclone II EP2C8 FPGA, ηα ραξαθηεξηζηηθά ηνπ νπνίνπ ζπλνςίδνληαη ζηε ζπλέρεηα. 8,256 Le s (Logic Elements) 36 M4K RAM blocks 18 πνιιαπιαζηαζηέο 2 PLLs (Phased Locked Loops) 182 pins εηζφδνπ εμφδνπ

25 Hardware και software διαςύνδεςη DSKeye OV Οη Cyclone II ζπζθεπέο πεξηέρνπλ κηα αξρηηεθηνληθή δχν δηαζηάζεσλ, βαζηζκέλε ζε γξακκέο θαη ζηήιεο, κε ηελ νπνία πινπνηείηαη ε ινγηθή ζπλάξηεζε. Οη γξακκέο θαη νη ζηήιεο παξέρνπλ ηε δηαζχλδεζε κεηαμχ ησλ LABs (Logic Array Blocks), ηεο ελζσκαησκέλεο κλήκεο θαη ησλ ελζσκαησκέλσλ πνιιαπιαζηαζηψλ. Σα 2 PLL s πνπ δηαζέηεη, δειαδή νη βξφρνη θιεηδψκαηνο θάζεο, ρξεζηκνπνηνχληαη γηα λα ξπζκίδεηαη απηφκαηα ε ζπρλφηεηα ιεηηνπξγίαο ελφο ζήκαηνο ζε ζχγθξηζε κε έλα ζήκα αλαθνξάο. Σν θάζε LAB απνηειείηαη απφ 16 LEs (Logic Elements). Γηαζέηεη επνκέλσο 516 LABs. Σν θάζε LE απνηειεί κία μερσξηζηή κνλάδα ινγηθήο. Ζ ρξήζε ησλ LE s καο επηηξέπεη ηελ πινπνίεζε ηεο ινγηθήο. Σα Μ4Κ memory blocks είλαη ηκήκαηα κλήκεο κε κέγεζνο 4608 bits. Δίλαη δειαδή 4Κbits κλήκεο ζπκπεξηιακβαλνκέλσλ θαη 512 bit ηζνηηκίαο (parity bits). Έρνπκε επνκέλσο ζπλνιηθά δηαζέζηκε κλήκε bits. Μπνξεί λα ιεηηνπξγήζεη είηε σο κνλφζπξν ή δίζπξν, κε εχξνο 36bit θαη ζπρλφηεηα ιεηηνπξγίαο 260MHz. Σα ηκήκαηα απηά ηεο κλήκεο είλαη ηνπνζεηεκέλα ζε ζηήιεο θαηά κήθνο ηεο ζπζθεπήο θαη κεηαμχ ζπγθεθξηκέλσλ LAB s. Με ηνπο ελζσκαησκέλνπο πνιιαπιαζηαζηέο κπνξνχκε λα πινπνηήζνπκε έσο δχν 9x9 πνιιαπιαζηαζκνχο, ή έλαλ 18x18 πνιιαπιαζηαζκφ. Ζ ζπρλφηεηα ιεηηνπξγίαο θηάλεη έσο ηα 250MHz. Ο θάζε πνιιαπιαζηαζηήο είλαη ηνπνζεηεκέλνο ζε ζηήιεο θαηά κήθνο ηεο ζπζθεπήο. Εηθόλα 2.5 Block δηάγξακκα Cyclone II

26 Διεπαφό Santa Cruz Ζ θάξηα DSKeye έρεη ηε δπλαηφηεηα επέθηαζεο κέζσ ηεο δηεπαθήο Santa Cruz. Πξφθεηηαη γηα έλα πξφηππν πνπ έρεη αλαπηχμεη ε ALTERA θαη επηηξέπεη ηε δηαζχλδεζε ηεο ππάξρνπζαο θάξηαο, κε άιιεο πνπ δηαζέηνπλ ηε δηεπαθή Santa Cruz. Υξεζηκνπνηείηαη ζπλήζσο γηα λα επηηξέπεη είζνδν θαη έμνδν ζχκθσλα κε ην πξφηππν USB, γηα ζεηξηαθή επηθνηλσλία RS232, παξάιιειε επηθνηλσλία, θαη γεληθφηεξα θάζε είδνπο εηζφδνπ εμφδνπ OV5610 ηελ εηθφλα 2.6 βιέπνπκε ην block δηάγξακκα ηνπ αηζζεηήξα εηθφλαο OV5610. Σα βαζηθά ηκήκαηα πνπ ηελ απνηεινχλ είλαη: Αηζζεηήξαο εηθφλαο OV5610 Αλαινγηθφο εληζρπηήο Έιεγρνο Κέξδνπο (Gain Control) Ηζνζηάζκηζε θαλαιηνχ (Channel Balance) 10bit Μεηαηξνπέαο Αλαινγηθνχ ήκαηνο ζε Φεθηαθφ Γηφξζσζε Μαχξνπ Υξψκαηνο (Black Level Compensation) Γελλήηξηα ρξνληζκνχ θαη ειέγρνπ ινγηθήο Γηεπαθή SCCB (Serial Camera Control Bus Slave Interface) Εηθόλα 2.6 Βlock δηάγξακκα ηνπ αηζζεηήξα εηθόλαο OV5610 Αηζζεηήξαο εηθόλαο OV5610 Ο αηζζεηήξαο εηθφλαο ηεο Omnivision, OV5610, πεξηέρεη 2640x1960= εηθνλνζηνηρεία (pixels). Απφ απηά ηα pixels κφλν ηα είλαη ελεξγά. Σα ππφινηπα pixels

27 Hardware και software διαςύνδεςη DSKeye OV ρξεζηκνπνηνχληαη γηα δηφξζσζε θαη παξεκβνιή ηεο ηηκήο ηνπ νπηηθνχ καχξνπ. Ζ εηθφλα πνπ ιακβάλεη ν αηζζεηήξαο έρεη κνξθή Bayern. Οη πεξηηηέο γξακκέο πεξηέρνπλ pixels ρξψκαηνο κπιε θαη πξάζηλνπ, ελψ νη δπγέο πξάζηλνπ θαη θφθθηλνπ. Εηθόλα 2.7 Bayern εηθόλα αηζζεηήξα Αλαινγηθόο εληζρπηήο Αθνχ γίλεη δεηγκαηνιεςία θαη θξάηεζε (sample and hold) κηαο γξακκήο απφ εηθνλνζηνηρεία, ζηε ζπλέρεηα ηα εηθνλνζηνηρεία απηά εηζέξρνληαη έλα έλα ζε έλαλ αλαινγηθφ εληζρπηή. Έιεγρνο Κέξδνπο (Gain Control) Σν θέξδνο ηνπ αλαινγηθνχ εληζρπηή κπνξεί λα ειεγρζεί είηε πξνγξακκαηηζηηθά απφ ην ρξήζηε, ή απηφκαηα κέζσ ελφο θπθιψκαηνο απηφκαηνπ θέξδνπο. Σν θέξδνο κπνξεί λα ιάβεη ηηκέο απφ 0 έσο 42dB. Ιζνζηάζκηζε θαλαιηνύ (Channel Balance) Σα εληζρπκέλα ζήκαηα ηζνζηαζκίδνληαη κε ηε βνήζεηα ελφο block ηζνζηάζκηζεο θαλαιηνχ. ην ηκήκα απηφ ην θέξδνο ηνπ θφθθηλνπ/κπιε θαλαιηνχ κεηψλεηαη ή απμάλεηαη ψζηε λα ηαηξηάμεη ην επίπεδν θσηεηλφηεηαο ηνπ πξάζηλνπ θαλαιηνχ. Ο έιεγρνο γίλεηαη κε απηφκαηε ζχγθξηζε θαηάιιεισλ θαηαρσξεηψλ. Σν εχξνο ηεο δηφξζσζεο θπκαίλεηαη κεηαμχ -9.5 θαη +9.5 db. Ζ ηζνζηάζκηζε θαλαιηνχ κπνξεί λα γίλεη είηε πξνγξακκαηηζηηθά ή απηφκαηα.

28 20 10bit Μεηαηξνπέαο Αλαινγηθνύ ήκαηνο ζε Φεθηαθό Ζ ηζνζηαζκηζκέλε πιένλ εηθφλα κεηαηξέπεηαη ζηε ζπλέρεηα ζε ςεθηαθφ ζήκα κε ηε βνήζεηα ελφο 10bit κεηαηξνπέα αλαινγηθνχ ζήκαηνο ζε ςεθηαθφ. Μπνξεί λα ιεηηνπξγήζεη ζε ζπρλφηεηεο έσο 12MHz ελψ ν ξπζκφο κεηαηξνπήο εμαξηάηαη απφ ηελ αλάιπζε ηεο εηθφλαο. Δηόξζσζε Μαύξνπ Υξώκαηνο (Black Level Compensation) Σα ςεθηνπνηεκέλα εηθνλνζηνηρεία δηνξζψλνληαη σο πξνο ηελ απφρξσζε ηνπ καχξνπ. Ζ δηφξζσζε γίλεηαη αθαηξψληαο ηε κέζε ηηκή ησλ καχξσλ εηθνλνζηνηρείσλ. Ζ δηφξζσζε απηή κπνξεί λα απελεξγνπνηεζεί απφ ηνλ ρξήζηε. Γελλήηξηα ρξνληζκνύ θαη ειέγρνπ ινγηθήο Ζ θάκεξα OV5610 δηαζέηεη πιηθφ γηα ηελ παξαγσγή ησλ ζσζηψλ ζεκάησλ ρξνληζκνχ. Ο ρξήζηεο κπνξεί λα ειέγμεη ηνλ ρξφλν έθζεζεο (Exposure Time) ξπζκίδνληαο ηνπο θαηάιιεινπο θαηαρσξεηέο. Ζ εθαξκνγή απηή είλαη ρξήζηκε φηαλ ην πεξηβάιινλ είλαη ζθνηεηλφ. Δπίζεο είλαη δπλαηφλ λα ειέγμνπκε ηελ αλάιπζε ηεο εηθφλαο πνπ ζα ιεθζεί. Αλάινγα κε ην κέγεζνο ηεο εηθφλαο, παξάγνληαη θαη αληίζηνηρα ζήκαηα ρξνληζκνχ. Δηεπαθή SCCB (Serial Camera Control Bus Slave Interface) Ζ θάκεξα δηαζέηεη έλαλ ειεγθηή ζεηξηαθήο επηθνηλσλίαο φπνπ κπνξεί ν ρξήζηεο λα έρεη πξφζβαζε ζηνπο εζσηεξηθνχο θαηαρσξεηέο ηεο θάκεξαο. Γηαζέηεη ζπλνιηθά 81 8bit θαηαρσξεηέο κε ηνπο νπνίνπο κπνξνχκε λα ειέγρνπκε δηάθνξεο παξακέηξνπο πνπ αθνξνχλ ηε ιήςε ησλ εηθφλσλ θαη φρη κφλν. 2.3 Περιγραφό Διαςυνδϋςεων Και Software DSKeye Gigabit Ethernet Ζ επηθνηλσλία κέζσ ηεο ζχξαο Ethernet γίλεηαη κε ηε βνήζεηα ηνπ lwip (Light Weight Internet Protocol). Πξφθεηηαη γηα κηα ειαθξηά έθδνζε ηνπ πιήξνπο TCP/IP πξσηνθφιινπ. ηφρνο είλαη λα κπνξεί λα επηηξέπεη πιήξε TCP/IP επηθνηλσλία ρσξίο λα είλαη απαξαίηεηε ε ρξήζε ιεηηνπξγηθνχ. Δίλαη επνκέλσο ηδαληθφ γηα embedded ζπζηήκαηα κε πεξηνξηζκέλε κλήκε, πνπ απαηηνχλ ην ζπγθεθξηκέλν είδνο επηθνηλσλίαο TCP/IP Ζ TCP/IP ζηνίβα φπσο θαη παξφκνηα ινγηζκηθά δηθηχσζεο, απνηειείηαη απφ δηαθνξεηηθά επίπεδα (layers). Πην ζπγθεθξηκέλα απνηειείηαη απφ ηέζζεξα επίπεδα.

29 Hardware και software διαςύνδεςη DSKeye OV Εηθόλα 2.8 Επίπεδα TCP/IP ζηνίβαο Δηεπαθή Δηθηύνπ (Network Interface) Σν ρακειφηεξν επίπεδν απνηειεί ηε δηεπαθή κε ην πιηθφ δηθηχσζεο. Ζ δηεπαθή απηή δελ εμαζθαιίδεη ηε ζσζηή κεηαθνξά ησλ δεδνκέλσλ, αθνχ ηελ εξγαζία απηή αλαιακβάλνπλ πξσηφθνιια πνπ βξίζθνληαη ζε πςειφηεξα επίπεδα ηνπ κνληέινπ. Δπίζεο δελ νξίδεη αλ ηα δεδνκέλα ζα ηκεκαηνπνηεζνχλ ζε παθέηα ή ζα έρνπκε ζπλερή ξνή δεδνκέλσλ (streaming). Επίπεδν Δηαδηθηύσζεο (Internetwork Layer) Σν επίπεδν απηφ απνηειεί κηα εηθνληθή αλαπαξάζηαζε ηνπ δηθηχνπ. Σν πξσηφθνιιν IP (Internet Protocol) απνηειεί κέξνο ηνπ επηπέδνπ απηνχ θαη πξνζθέξεη ηε ζσζηή δξνκνιφγεζε ησλ παθέησλ κεηαμχ ησλ ρξεζηψλ ηνπ δηθηχνπ. Απηφ γίλεηαη κέζσ κηαο κνλαδηθήο δηεχζπλζεο πνπ έρεη ν θάζε ρξήζηεο. Σν πξσηφθνιιν απηφ δελ πξνζθέξεη κεραληζκνχο ειέγρνπ ξνήο ή αμηνπηζηίαο ησλ δεδνκέλσλ. Σν επίπεδν απηφ πξνζθέξεη επίζεο ην πξσηφθνιιν ICMP (Internet Control Message Protocol). Υξεζηκνπνηείηαη γηα ιφγνπο ζπληήξεζεο θαη εληνπηζκνχ ζθαικάησλ, κε εληνιέο φπσο είλαη ε ping ή traceroute. Επίπεδν Μεηαθνξάο (Transport Layer) Σν επίπεδν απηφ επζχλεηαη γηα ηε κεηαθνξά δεδνκέλσλ κεηαμχ ρξεζηψλ. Σν πην δεκνθηιέο πξσηφθνιιν ζην επίπεδν απηφ είλαη ην TCP (Transmission Control Protocol). Παξέρεη έιεγρν ξνή θαη δηαζθαιίδεη ηε ζσζηή κεηαθνξά ησλ δεδνκέλσλ. Δπίζεο γλσζηφ είλαη θαη ην πξσηφθνιιν UDP (User Datagram Protocol). Σν πξσηφθνιιν απηφ δελ εμαζθαιίδεη ηε ζσζηή κεηαθνξά ησλ δεδνκέλσλ, ρξεζηκνπνηείηαη φκσο ζε αμηφπηζηεο ζπλδέζεηο φπνπ είηε ε κεηαθνξά ησλ δεδνκέλσλ έρεη ειάρηζηα ζθάικαηα, ή ε απψιεηα κεξηθψλ δεδνκέλσλ δελ είλαη

30 22 θαη ηφζν ζεκαληηθή. Έλα άιιν πιενλέθηεκα ηνπ πξσηνθφιινπ UDP είλαη φηη ην overhead είλαη κηθξφ. Επίπεδν Εθαξκνγώλ (Application Layer) Απνηειεί ην ςειφηεξν επίπεδν ηεο TCP/IP ζηνίβαο θαη παξέρεηαη απφ ηελ εθάζηνηε εθαξκνγή πνπ ρξεζηκνπνηνχκε. Ζ επηθνηλσλία νξίδεηαη κέζσ ζπξψλ (ports) θαη (ππνδνρψλ) sockets. Επηθνηλσλία Δηαθνκηζηή Πειάηε Γηα λα κπνξέζνπλ λα επηθνηλσλήζνπλ δχν εθαξκνγέο, πξέπεη λα απνθαηαζηαζεί κία ζχλδεζε κεηαμχ ησλ δχν πιεπξψλ. Ζ κία εθαξκνγή ε νπνία ζα παίδεη ην ξφιν ηνπ δηαθνκηζηή, βξίζθεηαη ζε αλακνλή έσο φηνπ ιάβεη θαηάιιειν κήλπκα γηα λα απνθαηαζηαζεί επηθνηλσλία κε ηε δεχηεξε, ε νπνία νλνκάδεηαη πειάηεο. Αθνχ εδξαησζεί ε επηθνηλσλία, ν πειάηεο απνζηέιιεη κία αίηεζε ζηελ νπνία δεηάεη θάπνηα δεδνκέλα θαη ν δηαθνκηζηήο απαληάεη κε ηα δεδνκέλα πνπ ηνπ δεηήζεθαλ. Μφιηο ιεθζνχλ ηα δεδνκέλα ν πειάηεο θιείλεη ηε ζχλδεζε θαη ην ίδην θάλεη ν δηαθνκηζηήο. Ζ απιή κνξθή απηή επηθνηλσλίαο δείρλεηαη ζην ζρήκα 2.9. Εηθόλα 2.9 Απιή κνξθή επηθνηλσλίαο κεηαμύ δηαθνκηζηή θαη πειάηε

31 Hardware και software διαςύνδεςη DSKeye OV lwip API (Light-Weight Internet Protocol Application Programming Interface) Οη βαζηθέο ζπλαξηήζεηο κε ηηο νπνίεο επηηπγράλεηαη ε TCP/IP επηθνηλσλία πεξηγξάθνληαη ζηε ζπλέρεηα. void sys_init(void); Ορίςματα Τιμή Επιςτροφήσ Περιγραφή Κανζνα Καμία Αρχικοποιείται το ςφςτθμα void mem_init(void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Αρχικοποιεί τθ δυναμικι μνιμθ void pbuf_init (void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Αρχικοποιεί τθ μνιμθ που κα καταλαμβάνουν τα πακζτα (packet buffer) void netif_init() (void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Αρχικοποιεί τθ διεπαφι του δικτφου (network interface) void tcp_init() (void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Αρχικοποιεί τθ λίςτα τθσ δομισ TCP_PCB που περιζχει ςτοιχεία όπωσ θ διεφκυνςθ επικοινωνίασ, θ κφρα επικοινωνίασ, τον αρικμό των ACK s που ζχει λάβει και γενικότερα τα ςτοιχεία που αποτελοφν τθν επικεφαλίδα ενόσ TCP πακζτου. void lwip_netstart (void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Αρχικοποιεί τθ ςτοίβα καλϊντασ τισ ανάλογεσ ςυναρτιςεισ και

32 24 είναι απαραίτθτθ να εκτελεςτεί προτοφ καλεςτοφν άλλεσ ςυναρτιςεισ int lwip_close(int socket); Ορίςματα socket Ορίηει τθν υποδοχι ςτθν οποία κα διακοποφν οι ςυνδζςεισ Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικά τθν τιμι -1 Περιγραφή Διακόπτει τθν επικοινωνία που ζχει δθμιουργθκεί ςε μία υποδοχι BSD API (Berkeley Software Distribution Application Programming Interface) ηελ παξάγξαθν απηή πεξηγξάθνληαη κεξηθέο απφ ηηο βαζηθέο ζπλαξηήζεηο πνπ νξίζηεθαλ ζηε βηβιηνζήθε ηνπ παλεπηζηεκίνπ ηνπ Berkley γηα ηελ πινπνίεζε ηνπ πξσηνθφιινπ θαη ε νπνία δελ είρε πεξηνξηζκνχο ζηελ άδεηα ρξήζεο. Μεξηθέο απφ ηηο ζπλαξηήζεηο απηέο ρξεζηκνπνηνχληαη θαη ζην lwip. int socket(int domain, int type, int protocol); Ορίςματα Domain Ορίηει τον τομζα για τον οποίο ορίςτθκε θ υποδοχι Type Ορίηει το είδοσ τθσ υποδοχισ που κα δθμιουργθκεί Protocol Ορίηει το πρωτόκολλο που κα χρθςιμοποιθκεί Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει ζναν μθ αρνθτικό αρικμό, διαφορετικά επιςτρζφει τθν τιμι -1 Περιγραφή Δθμιουργεί μια BSD υποδοχι int bind(int socket, struct sockaddr *name, int namelen); Ορίςματα socket Ορίηει τθν υποδοχι ςτθν οποία δεςμεφεται sockaddr *name Δείχνει ςε μια δομι τφπου sockaddr που περιζχει τθ διεφκυνςθ ςτθν οποία κα δεςμευτεί namelen Ορίηει το μζγεκοσ τθσ δομισ που δεικνφεται από τθ μεταβλθτι name Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικά τθν τιμι -1

33 Hardware και software διαςύνδεςη DSKeye OV Περιγραφή Δεςμεφει μια διεφκυνςθ για τθν υποδοχι int listen(int socket, int backlog); Ορίςματα socket Ορίηει τθν υποδοχι ςτθν οποία ακοφει backlog Ορίηει ζνα δείγμα ςυνδζςεων που κα περιμζνει να δεχκεί. Η μεταβλθτι αυτι δεν ζχει υλοποιθκεί ςτο lwip Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικά τθν τιμι -1 Περιγραφή Περιμζνει να δεχκεί ςυνδζςεισ που ορίηονται από τθν υποδοχι int accept(int socket, struct sockaddr *addr, int *addrlen); Ορίςματα socket Ορίηει τθν υποδοχι ςτθν οποία δζχεται ςυνδζςεισ sockaddr *name Δείχνει ςε μια δομι τφπου sockaddr που περιζχει τθ διεφκυνςθ ςτθν οποία κα δεχκεί ςυνδζςεισ *addrlen Δείχνει ςε ζναν ακζραιο που ιςοφται με το μζγεκοσ τθσ διεφκυνςθσ Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει ζναν μθ αρνθτικό αρικμό, διαφορετικά τθν τιμι -1 Περιγραφή Δζχεται ςυνδζςεισ που ορίηονται από τθν υποδοχι int recv(int socket, void *mem, int len, unsigned int flags); Ορίςματα socket Ορίηει τθν υποδοχι ςτθν οποία λαμβάνει δεδομζνα *mem Δείχνει ςτθ μνιμθ ςτθν οποία κα αποκθκευκοφν τα δεδομζνα που λαμβάνει len Δείχνει το μζγεκοσ των δεδομζνων που λαμβάνει Flags Δείχνει τον τρόπο με τον οποίο λαμβάνει δεδομζνα. Η μεταβλθτι αυτι δεν ζχει υλοποιθκεί ςτο lwip Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει το μζγεκοσ των δεδομζνων ςε bytes που ζλαβε, διαφορετικά τθν τιμι -1 Περιγραφή Λαμβάνει δεδομζνα από μία υποδοχι

34 26 int send(int socket, void *data, int size, unsigned int flags); Ορίςματα socket Ορίηει τθν υποδοχι ςτθν οποία αποςτζλλει δεδομζνα *data Δείχνει ςτα δεδομζνα τα οποία αποςτζλλει size Δείχνει το μζγεκοσ των δεδομζνων που αποςτζλλει Flags Δείχνει τον τρόπο με τον οποίο αποςτζλλει δεδομζνα. Η μεταβλθτι αυτι δεν ζχει υλοποιθκεί ςτο lwip Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει το μζγεκοσ των δεδομζνων ςε bytes που ςτάλκθκαν, διαφορετικά τθν τιμι -1 Περιγραφή Αποςτζλλει δεδομζνα ςε μία υποδοχι Διαςύνδεςη Cyclone II FPGA Ζ ινγηθή πνπ έρεη πινπνηεζεί ζην FPGA ζρεηίδεηαη θπξίσο κε ηελ επηθνηλσλία κεηαμχ ηνπ αηζζεηήξα εηθφλαο, κε ηνπο θαηαρσξεηέο ηνπ θαη κε ην DSK C6416. Ζ πξφζβαζε ζηα εηθνλνζηνηρεία ηεο θάκεξαο αιιά θαη ζηνπο θαηαρσξεηέο γίλεηαη κε ζεηξηαθή επηθνηλσλία. πγθεθξηκέλα έρεη πινπνηεζεί ην i2c πξσηφθνιιν γηα ηε δηεπαθή κε ην FPGA, φπνπ ζηε ζπλέρεηα είλαη δπλαηφλ κε κία ή πνιιαπιέο EDMA (Enhanced Direct Memory Access) κεηαθνξέο κέζσ ηεο δηαζχλδεζεο EMIFΑ, λα κεηαθεξζνχλ ηα επηζπκεηά δεδνκέλα ζηε κλήκε ηνπ DSK.

35 Hardware και software διαςύνδεςη DSKeye OV Εηθόλα 2.10 Block δηάγξακκα δηαζύλδεζεο ησλ ζηνηρείσλ

36 28 Εηθόλα 2.11 Block δηάγξακκα δηαζύλδεζεο ηνπ FPGA Διαςύνδεςη OV5610 Γηα λα γίλεη ζσζηή κεηαθνξά ησλ δεδνκέλσλ απφ ηνλ αηζζεηήξα ζηελ θάξηα κε ηνλ επεμεξγαζηή ςεθηαθνχ ζήκαηνο, έρεη πινπνηεζεί ζην FPGA επηπιένλ ινγηθή. Γηα ην ιφγσ απηφ ρξεζηκνπνηείηαη κία κλήκε FIFO (First In First Out). Ζ κλήκε απηή κπνξεί λα ζεαζεί ζαλ κία κε κέγεζνο 32x256bits ή αθφκα πην ζσζηά φπσο πινπνηείηαη ζην FPGA ζαλ δχν κλήκεο κε κέγεζνο 32x128=4096bits, πινπνηείηαη δειαδή απφ δχν M4K RAM blocks.

37 Hardware και software διαςύνδεςη DSKeye OV Εηθόλα 2.12 Block δηάγξακκα ιήςεο εηθόλσλ Αθνχ εθηειεζηεί ε θαηάιιειε ζπλάξηεζε, γίλεηαη ιήςε ηεο εηθφλαο. Όπσο έρεη ήδε αλαθεξζεί ηα δεδνκέλα έρνπλ κέγεζνο 10bit. Απφ απηά θξαηάκε ηα 8 ζεκαληηθφηεξα bit έηζη ψζηε ηα εηθνλνζηνηρεία λα έρνπλ κέγεζνο έλα byte. Σα δεδνκέλα απηά παθεηάξνληαη ζε ςεθηνιέμεηο εχξνπο 32bit θαη ζηε ζπλέρεηα εηζέξρνληαη ζεηξηαθά ζηε FIFO. Όηαλ εηζέιζνπλ 160 ςεθηνιέμεηο ζηε FIFO, δειαδή 160x4bytes=640bytes (ε ηηκή απηή ηζνχηαη κε ην κέγεζνο κηαο γξακκήο VGA, δειαδή αλάιπζε 640x480), ηφηε ελεξγνπνηείηαη κία εμσηεξηθή δηαθνπή θαη ζπγθεθξηκέλα ε εμσηεξηθή δηαθνπή 4 (EXT_INT4) ε νπνία κε ηε ζεηξά ηεο ελεξγνπνηεί κηα EDMA κεηαθνξά απφ ηε κλήκε FIFO ηνπ FPGA, ζηελ εμσηεξηθή SDRAM ηνπ DSK. πγθεθξηκέλα κέζσ δχν θαλαιηψλ κεηαθέξνληαη ζην κελ πξψην θαλάιη ηα πξάζηλα εηθνλνζηνηρεία (G pixels) ελψ ζην δεχηεξν θαλάιη ηα θφθθηλα θαη κπιε (Rg/Bg). Οη φξνη Rg/Bg αλαθέξνληαη ζηα θφθθηλα εηθνλνζηνηρεία ηεο Green Red θαη Blue Green γξακκήο αληίζηνηρα, πνπ ζα απνηειέζνπλ ηα εηθνλνζηνηρεία ηεο Bayern εηθφλαο. ηε ζπλέρεηα θαη αθνχ ηα δεδνκέλα βξίζθνληαη ήδε ζηελ εμσηεξηθή κλήκε ηνπ DSK, αθνινπζεί κία ινγηθή double buffering, φπνπ ηα δεδνκέλα κεηαθέξνληαη κε κία δεχηεξε EDMA κεηαθνξά ζε δηαθνξεηηθφ ηκήκα ηεο κλήκεο. Με ηνλ ηξφπν απηφ εθκεηαιιεπφκαζηε θαιχηεξα ηηο δπλαηφηεηεο ηνπ DSK, αθνχ ζην πξψην ηκήκα ηεο κλήκεο κπνξνχκε λα κεηαθέξνπκε κέζσ EDMA κεηαθνξψλ δεδνκέλα απφ ηελ θάκεξα, ελψ ηαπηφρξνλα ζην δεχηεξν ηκήκα ηεο κλήκεο λα ιακβάλνπκε ηα δεδνκέλα θαη λα ηα επεμεξγαδφκαζηε ζηνλ επεμεξγαζηή ςεθηαθνχ ζήκαηνο.

38 OV5610 API ηελ παξάγξαθν απηή πεξηγξάθνληαη νη βαζηθέο ζπλαξηήζεηο δηαρείξηζεο ηεο θάκεξαο. Οη ζπλαξηήζεηο απηέο έρνπλ αλαπηπρζεί απφ ηελ εηαηξεία πνπ θαηαζθεχαζε ηελ θάκεξα. int OV5610_open(void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει 0, διαφορετικά επιςτρζφει τθν τιμι 1 Περιγραφή Αρχικοποιεί τθν i2c επικοινωνία και κζτει ςτουσ καταχωρθτζσ προεπιλεγμζνεσ τιμζσ void OV5610_close(void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Επαναφζρει τθν κάμερα ςτισ εργοςταςιακζσ ρυκμίςεισ, κζτοντασ τθν τιμι 0 ςτον καταχωρθτι COMH void OV5610_RegWrite(int add, char reg); Ορίςματα Add Ορίηει τθ διεφκυνςθ του καταχωρθτι που κζλουμε να εγγράψουμε Reg Ορίηει τθν τιμι που κζλουμε να πάρει ο καταχωρθτισ με διεφκυνςθ reg Τιμή Επιςτροφήσ Καμία Περιγραφή Εγγράφει μζςω i2c τθν τιμι ενόσ καταχωρθτι τθσ κάμερασ unsigned char OV5610_RegRead(unsigned char reg); Ορίςματα Reg Ορίηει τθ διεφκυνςθ του καταχωρθτι Τιμή Επιςτροφήσ Επιςτρζφει τθν τιμι του καταχωρθτι Περιγραφή Διαβάηει μζςω i2c τθν τιμι ενόσ καταχωρθτι τθσ κάμερασ void OV5610_ResolutionHF(); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Θζτει HF ανάλυςθ (320x200) τροποποιϊντασ κατάλλθλουσ καταχωρθτζσ

39 Hardware και software διαςύνδεςη DSKeye OV void OV5610_ResolutionVGA(); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Θζτει VGA ανάλυςθ (640x480) τροποποιϊντασ κατάλλθλουσ καταχωρθτζσ void OV5610_ResolutionSXGA(); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Καμία Περιγραφή Θζτει SXGA ανάλυςθ (1280x960) τροποποιϊντασ κατάλλθλουσ καταχωρθτζσ DSKeye API ηελ παξάγξαθν απηή πεξηγξάθνληαη νη βαζηθέο ζπλαξηήζεηο δηαρείξηζεο ηεο θάξηαο DSKeye. Σν αξρηθφ API έρεη ηξνπνπνηεζεί γηα ηηο αλάγθεο ηηο εξγαζίαο. Οη ζπλαξηήζεηο ζηηο νπνίεο έρεη γίλεη επέκβαζε είλαη νη DSK-EYE_open, DSK-EYE_close θαη ε DSKeye_getFrame. Δλψ νη ζπλαξηήζεηο απηέο έρνπλ δεκηνπξγεζεί γηα κηα ινγηθή triple buffering, γηα λα γίλεη εμνηθνλφκεζε κλήκεο ηνπ DSK ηξνπνπνηήζεθαλ ψζηε λα ππάξρεη κηα ινγηθή double buffering. Δπίζεο ε κέγηζηε αλάιπζε ηεο εηθφλαο θηάλεη ηα 1280x960 εηθνλνζηνηρεία, δειαδή αλάιπζε SXGA. Θα κπνξνχζε νη ζπλαξηήζεηο απηέο λα κε ρξεζηκνπνηνχλ νχηε ινγηθή double buffering, φκσο ν ρψξνο εμνηθνλφκεζεο ζηε κλήκε δελ ζα ήηαλ αξθεηφο ψζηε λα απμεζεί ε κέγηζηε αλάιπζε ιήςεο εηθφλσλ. Αληίζεηα ην θέξδνο απφ ηε ινγηθή double buffering νθείιεηαη ζην φηη ζηνλ έλαλ buffer κπνξνχλ λα εηζέξρνληαη δεδνκέλα απφ ηελ θάκεξα, ελψ ηαπηφρξνλα επί ησλ δεδνκέλσλ ζην δεχηεξν buffer κπνξεί λα γίλεη επεμεξγαζία απηψλ απφ ηνλ DSP. int DSK-EYE_open(DSK-EYE_params *params); Ορίςματα *params Δείχνει μια δομι params τφπου DSK-EYE_params ςτθν οποία ορίηονται, θ μνιμθ ςτθν οποία κα γίνει το double buffering κακϊσ και το μζγεκοσ τθσ εικόνασ Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικά τισ τιμζσ 1 ζωσ 6 που ορίηουν το είδοσ του ςφάλματοσ που αντιμετϊπιςε Περιγραφή Θζτει τθν ανάλυςθ και το τμιμα τθσ μνιμθσ ςτθν οποία κα αποκθκευτεί θ εικόνα int DSK-EYE_close(DSK-EYE_params *params); Ορίςματα *params Δείχνει μια δομι params τφπου DSK-EYE_params ςτθν οποία

40 32 ορίηονται, θ μνιμθ ςτθν οποία κα γίνει το double buffering κακϊσ και το μζγεκοσ τθσ εικόνασ Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικά τισ τιμζσ 1 ζωσ 6 που ορίηουν το είδοσ του ςφάλματοσ που αντιμετϊπιςε Περιγραφή Επιςτρζφει ςτο ςφςτθμα τθ μνιμθ που δεςμεφτθκε για τθν αποκικευςθ τθσ εικόνασ με τθν τεχνικι του double buffering και απενεργοποιεί τθν EDMA μεταφορά unsigned char *DSK-EYE_getFrame(void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Η διεφκυνςθ που είναι αποκθκευμζνθ θ εικόνα Περιγραφή Επιςτρζφει τθ διεφκυνςθ που είναι αποκθκευμζνθ θ εικόνα int OV5610_startCap(void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικι μια τιμι που ςχετίηεται με το ςφάλμα που παρουςιάςτθκε Περιγραφή Ενεργοποιεί τθν EDMA μεταφορά και τθν εξωτερικι διακοπι int OV5610_stopCap(void); Ορίςματα Κανζνα Τιμή Επιςτροφήσ Σε περίπτωςθ επιτυχοφσ εκτζλεςθσ επιςτρζφει τθν τιμι 0, διαφορετικι μια τιμι που ςχετίηεται με το ςφάλμα που παρουςιάςτθκε Περιγραφή Απενεργοποιεί τθν EDMA μεταφορά και αποδεςμεφει το κανάλι

41 Κεφϊλαιο 3 Πρότυπο JPEG 3.1 Ειςαγωγό Με ηνλ φξν JPEG (Joint Photographic Experts Group) αλαθεξφκαζηε ζε έλα είδνο ζπκπίεζεο αθίλεησλ εηθφλσλ. Ζ νλνκαζία πξνήιζε απφ ηελ επηηξνπή ε νπνία δεκηνχξγεζε ην πξφηππν. Οη εξγαζίεο μεθίλεζαλ ην 1986 θαη νινθιεξψζεθαλ έμη ρξφληα αξγφηεξα ελψ εγθξίζεθε κε ηελ νλνκαζία ITU-T Recommendation T.81 θαη ην 1994 σο ISO/IEC Γεκηνπξγήζεθε γηα λα ζπκπηέδνπκε έγρξσκεο ή καπξφαζπξεο εηθφλεο, ελψ κπνξεί λα πεηχρεη κεγάιν βαζκφ ζπκπίεζεο, εηδηθά φηαλ ρεηξίδεηαη θπζηθέο εηθφλεο θαη φρη ηφζν φηαλ ε εηθφλα πεξηέρεη πνιιέο κηθξέο ιεπηνκέξεηεο. Ζ αλάγθε ζπκπίεζεο πξνήιζε απφ ην γεγνλφο φηη γηα λα κπνξέζνπκε λα απνζεθεχζνπκε ή λα κεηαδψζνπκε κία εηθφλα, απαηηείηαη κεγάιε ρσξεηηθφηεηα θαη εχξνο δψλεο.

42 Κατηγορύεσ JPEG Εικόνων Αλάινγα κε ηελ ηερληθή ζπκπίεζεο, κπνξνχκε λα δηαθξίλνπκε ηέζζεξηο βαζηθέο θαηεγνξίεο εηθφλσλ ζπκπηεζκέλσλ θαηά ην JPEG πξφηππν. Αθνινπζηαθή κε βάζε ην δηαθξηηφ ζπλεκηηνληθφ κεηαζρεκαηηζκφ (Sequential DCTbased) Πξννδεπηηθή κε βάζε ην δηαθξηηφ ζπλεκηηνληθφ κεηαζρεκαηηζκφ (Progressive DCTbased) Υσξίο απψιεηεο (Lossless) Ηεξαξρηθή (Hierarchical) Οη θαηεγνξίεο πνπ ρξεζηκνπνηνχλ ην δηαθξηηφ ζπλεκηηνληθφ κεηαζρεκαηηζκφ αλήθνπλ ζε απηφ πνπ νλνκάδνπκε lossy ζπκπίεζε, φπνπ κέξνο ηεο πιεξνθνξίαο ράλεηαη, ρσξίο φκσο λα είλαη εκθαλήο θάπνηα παξακφξθσζε ζηελ εηθφλα. ηε lossy ηερληθή ζπκπίεζεο πεηπραίλνπκε κεγάιν βαζκφ ζπκπίεζεο πνπ θπκαίλεηαη απφ 10:1 ελψ κπνξεί λα μεπεξάζεη αθφκα θαη ην 100:1 θαη είλαη ε βαζηθή κνξθή JPEG εηθφλσλ πνπ ζπλαληνχκε ηε lossless ζπκπίεζε ε αξρηθή εηθφλα κπνξεί λα αλαθηεζεί ζην αθέξαην. Υξεζηκνπνηψληαο ηε lossless ηερληθή θαηαθέξλνπκε λα πεηχρνπκε κηθξφηεξν βαζκφ ζπκπίεζεο. Δθαξκνγέο ηεο lossless ηερληθήο ζπλαληνχκε ζπλήζσο ζε ηαηξηθέο εθαξκνγέο φπνπ δελ πξέπεη λα ραζεί θαλέλα κέξνο ηεο πιεξνθνξίαο. Ζ θαηεγνξία ηεξαξρηθή ραξαθηεξίδεηαη απφ lossy αιιά θαη lossless ηερληθέο. Αθνινπζηαθή κε βάζε ην δηαθξηηό ζπλεκηηνληθό κεηαζρεκαηηζκό (Sequential DCT-based) ε απηφλ ηνλ ηξφπν ιεηηνπξγίαο ρξεζηκνπνηείηαη ν DCT, ελψ ηα εηθνλνζηνηρεία (pixels) εκθαλίδνληαη κε ηξφπν αθνινπζηαθφ απφ ην πάλσ αξηζηεξφ κέξνο ηεο εηθφλαο, ζαξψλνληαο πξνο ηα δεμηά αλά θάζε γξακκή θαη πξνο ηα θάησ. Εηθόλα 3.1 Αθνινπζηαθή ιεηηνπξγία απεηθόληζεο

43 Πρότυπο JPEG 35 Πξννδεπηηθή κε βάζε ην δηαθξηηό ζπλεκηηνληθό κεηαζρεκαηηζκό (Progressive DCT-based) ε απηφλ ηνλ ηξφπν ιεηηνπξγίαο, ηκήκαηα ηεο εηθφλαο ηνπνζεηνχληαη ζε κηα πξνζσξηλή κλήκε θαη θσδηθνπνηνχληαη. Καηά ηελ απνθσδηθνπνίεζε ηα ηκήκαηα απηά πνπ απνηεινχλ ηελ εηθφλα αλαζπλζέηνπλ ηελ αξρηθή. Εηθόλα 3.2 Πξννδεπηηθή ιεηηνπξγία απεηθόληζεο Υσξίο απώιεηεο (Lossless) ηε lossless ηερληθή ρξεζηκνπνηνχληαη κέζνδνη πξφβιεςεο ηεο ηηκήο ησλ ζπζηαηηθψλ ησλ εηθνλνζηνηρείσλ απφ ηα γεηηνληθά. Εηθόλα 3.3 Πξόβιεςε εηθνλνζηνηρείσλ από ηα γεηηνληθά ηε ζπλέρεηα αθνινπζνχλ δηαδηθαζίεο πνπ δελ έρνπκε απψιεηεο δεδνκέλσλ, φπσο είλαη ε θσδηθνπνίεζε θαηά Huffman. ηηο lossless ηερληθέο δε ζπλαληάκε ηνλ δηαθξηηφ ζπλεκηηνληθφ

44 36 κεηαζρεκαηηζκφ. Δπίζεο ην πξφηππν επηηξέπεη ηε ρξήζε αξηζκεηηθήο θσδηθνπνίεζεο (arithmetic coding) αληί ηεο θσδηθνπνίεζεο θαηά Huffman. Ιεξαξρηθή (Hierarchical) ηελ ηεξαξρηθή ηερληθή ε εηθφλα θσδηθνπνηείηαη ζα κηα αθνινπζία απφ θαξέ. Σα θαξέ απηά απνηεινχλ ζεκείν αλαθνξάο γηα ηελ αλαζθεπαζκέλε εηθφλα θαη είλαη απαξαίηεηα γηα λα γίλεη ε πξφβιεςε γηα ηα κειινληηθά θαξέ. Ζ καζεκαηηθή δηαθνξά θσδηθνπνηείηαη είηε ρξεζηκνπνηψληαο ην δηαθξηηφ ζπλεκηηνληθφ κεηαζρεκαηηζκφ, είηε ρξεζηκνπνηψληαο κφλν lossless ηερληθέο. Υξεζηκνπνηψληαο επίζεο θίιηξα κεηψλνπλ ή απμάλνπλ ηελ αλάιπζε, δεκηνπξγψληαο έλα είδνο ππξακίδαο φπνπ έρνπκε θαξέ ζε δηαθνξεηηθέο αλαιχζεηο. Εηθόλα 3.4 Ιεξαξρηθή ιεηηνπξγία απεηθόληζεο

45 Πρότυπο JPEG Baseline DCT Απφ ηηο δηαθνξεηηθέο ηερληθέο ζπκπίεζεο, ζηελ εξγαζία απηή ζα αλαθεξζνχκε κφλν ζηελ αθνινπζηαθή κε βάζε ην δηαθξηηφ ζπλεκηηνληθφ κεηαζρεκαηηζκφ ε νπνία νλνκάδεηαη θαη baseline DCT θαη απηφ γηαηί ην είδνο απηφ είλαη ην πην δηαδεδνκέλν. Γηα λα κπνξέζνπκε λα πεηχρνπκε ζπκπίεζε πξέπεη λα αθνινπζήζνπκε δηάθνξα βήκαηα. Σα βήκαηα απηά απνηεινχλ απηφ πνπ νλνκάδνπκε έλαλ JPEG θσδηθνπνηεηή. πλνςίδνληαο ηα βήκαηα απηά έρνπκε: Μεηαζρεκαηηζκφο ησλ εηθνλνζηνηρείσλ ζε θαηάιιειν ρξσκαηηθφ ρψξν Τπνδεηγκαηνιεςία Σκεκαηνπνίεζε ηεο εηθφλαο ζε blocks ησλ 8x8 φπνπ ζα αθνινπζήζεη ν δηαθξηηφο ζπλεκηηνληθφο κεηαζρεκαηηζκφο, DCT Δπαλαηνπνζέηεζε ησλ εηθνλνζηνηρείσλ θαηά zig-zag Κβάληηζε Κσδηθνπνίεζε εληξνπίαο Εηθόλα 3.5 Δηάγξακκα θσδηθνπνηεηή κε βάζε ην DCT ηε ζπλέρεηα ηα ζπκπηεζκέλα πιένλ δεδνκέλα κπνξνχλ λα απνζεθεπζνχλ ε λα κεηαδνζνχλ κέζσ ελφο θαλαιηνχ. Γηα λα κπνξέζνπκε λα αλαζπλζέζνπκε ηελ αξρηθή εηθφλα ζα πξέπεη λα αθνινπζήζνπκε ηελ αληίζεηε δηαδηθαζία ηνπ θσδηθνπνηεηή. Ζ δηαδηθαζία απηή απνηειεί ηνλ απνθσδηθνπνηεηή.

46 38 Εηθόλα 3.6 Δηάγξακκα απνθσδηθνπνηεηή κε βάζε ην DCT Μεταςχηματιςμόσ Tων Εικονοςτοιχεύων Μία εηθφλα απνηειείηαη απφ εηθνλνζηνηρεία (pixels). ε κία έγρξσκε εηθφλα ην θάζε pixel απνηειείηαη απφ ηξείο ρξσκαηηθέο ζπληζηψζεο, ηελ θφθθηλε (Red), πξάζηλε (Green) θαη κπιε (Blue). Ο ζπλδπαζκφο ησλ ηξηψλ απηψλ ρξσκάησλ (RGB) έρεη σο απνηέιεζκα ηε ζχλζεζε φισλ ησλ ρξσκάησλ. Εηθόλα 3.7 πλδπαζκνί RGB ζπληζησζώλ ηνλ ςεθηαθφ θφζκν ην θάζε ρξψκα πξέπεη λα αλαπαξαζηαζεί απφ έλαλ αξηζκφ bits. Έηζη ζην sequential DCT ην θάζε ζηνηρείν αλαπαξίζηαηαη απφ έλαλ 8bit αξηζκφ. Να ζεκεηψζνπκε φηη ην πξφηππν επηηξέπεη ζε άιιεο κνξθέο JPEG ζπκπίεζεο δεδνκέλα κε κέγεζνο έσο 16 bit αλά ζηνηρείν. ην αξρηθφ ζηάδην ην πξφηππν πξνζπαζεί λα εθκεηαιιεπηεί ηηο ηδηαηηεξφηεηεο ηεο αλζξψπηλεο φξαζεο. Ο ακθηβιεζηξνεηδήο ηνπ καηηνχ απνηειείηαη απφ δχν εηδψλ θσηνυπνδνρείο, ηα ξαβδία θαη ηα θνλία. Σα ξαβδία ζεσξείηαη φηη είλαη επαίζζεηα ζην ακπδξφ θσο θαη ηελ λχρηα. Σα θνλία είλαη πην επκεγέζε απφ ηα ξαβδία θαη πεξηέρνπλ θσηνρξσζηηθέο νπζίεο, ε θαζεκία επαίζζεηε ζε δηαθνξεηηθφ ρξψκα: Σν θφθθηλν ην πξάζηλν θαη ην κπιε. Γηα λα κπνξέζνπκε επνκέλσο λα εθκεηαιιεπηνχκε ηηο δχν απηέο βαζηθέο ιεηηνπξγίεο,

47 Πρότυπο JPEG 39 κεηαζρεκαηίδνπκε ηελ αξρηθή RGB εηθφλα ζε έλα δηαθνξεηηθφ ρξσκαηηθφ ρψξν ν νπνίνο είλαη ζπλάξηεζε ηεο θσηεηλφηεηαο αιιά θαη ησλ ρξσκάησλ. Ο ρψξνο απηφο νλνκάδεηαη YCbCr. Ο φξνο Y παξηζηάλεη ηε θσηεηλφηεηα (luminance) ελψ νη ππφινηπνη δχν, Cb θαη Cr παξηζηάλνπλ ρξσκαηηθέο δηαθνξέο ηνπ κπιε απφ ηε θσηεηλφηεηα ε πξψηε θαη ηνπ θφθθηλνπ απφ ηε θσηεηλφηεηα ε δεχηεξε (chrominance). Έηζη απφ ηελ αξρηθή RGB εηθφλα, κεηαηξέπνληαο ην θάζε pixel θαηαιήγνπκε ζηελ ηζνδχλακε YCbCr. Εηθόλα 3.8 Αξρηθή Εηθόλα Εηθόλα 3.9 πληζηώζα θσηεηλόηεηαο Y αξρηθήο εηθόλαο Εηθόλα 3.10 πληζηώζα ρξσκαηηθήο δηαθνξάο Cb αξρηθήο εηθόλαο

48 40 Εηθόλα 3.11 πληζηώζα ρξσκαηηθήο δηαθνξάο Cr αξρηθήο εηθόλαο Παξαηεξνχκε φηη ε Y ζπληζηψζα απνηειεί ηελ αληίζηνηρε αζπξφκαπξε εθδνρή ηεο αξρηθήο εηθφλαο, ελψ νη ππφινηπεο δχν ηηο ρξσκαηηθέο δηαθνξέο απφ ηε θσηεηλφηεηα. Ζ καζεκαηηθή ζρέζε πνπ νξίδεη ην κεηαζρεκαηηζκφ απηφ, πξνηάζεθε απφ ηε δηεζλή έλσζε ηειεπηθνηλσληψλ κε ηελ νλνκαζία CCIR 601-1, κε ηηο ρξσκαηηθέο δηαθνξέο Cb θαη Cr σζηφζν λα είλαη θαλνληθνπνηεκέλεο ζην εχξνο ηηκψλ, απφ 0 έσο ηε κέγηζηε ηηκή ησλ pixel, πνπ ηζνχηαη κε 256 γηα 8bit αλαπαξάζηαζε. Y = * R * G * B Cb = * R * G * B + CENTERJSAMPLE Cr = * R * G * B + CENTERJSAMPLE ηελ πεξίπησζή καο ε ζηαζεξά CENTERJSAMPLE ηζνχηαη κε ηελ ηηκή Υποδειγματοληψύα Σν επφκελν βήκα αθνξά ηελ ππνδεηγκαηνιεςία. Σε ρξεζηκνπνηνχκε γηα λα εθκεηαιιεπηνχκε ην γεγνλφο φηη ην αλζξψπηλν κάηη αληηιακβάλεηαη θαιχηεξα κεηαβνιέο ζηε θσηεηλφηεηα παξά δηαθνξέο ζηα ρξψκαηα. Δθκεηαιιεπφκελνη ην κεηαζρεκαηηζκφ ηνπ πξνεγνχκελνπ βήκαηνο θαη αθνχ ε θσηεηλφηεηα θαη νη ρξσκαηηθέο δηαθνξέο είλαη αλεμάξηεηεο πιένλ ζπληζηψζεο, κπνξνχκε λα κεηψζνπκε ηελ αλάιπζε ζηηο ρξσκαηηθέο δηαθνξέο. Ζ ππνδεηγκαηνιεςία νξίδεηαη σο 4:n:n φπνπ n ε αλαινγία ησλ ρξσκαηηθψλ δηαθνξψλ. Γηα παξάδεηγκα ζην JPEG ζπλαληνχκε ηξεηο κνξθέο ηνπ νξηζκνχ απηφ, ηελ 4:4:4, ηελ 4:2:2, ηελ 4:1:1 θαη ηελ 4:2:0. Με ηνλ νξηζκφ 4:4:4 ελλννχκε φηη νη δηαζηάζεηο ησλ ηξηψλ ζπληζησζψλ παξακέλνπλ αλέπαθεο, κε ηνλ νξηζκφ 4:2:2 φηη ε δηάζηαζε ηεο θσηεηλφηεηαο παξακέλεη αλέπαθε ελψ ε δηάζηαζε ησλ ρξσκαηηθψλ δηαθνξψλ Cb θαη Cr είλαη νη κηζέο θαηά ηνλ νξηδφληην άμνλα, κε ηνλ

49 Πρότυπο JPEG 41 νξηζκφ 4:1:1 φηη ε δηάζηαζε ησλ Cb θαη Cr είλαη ην έλα ηέηαξην ηεο θσηεηλφηεηαο θαηά ηνλ νξηδφληην άμνλα θαη ηέινο κε ηνλ νξηζκφ 4:2:0 κεηψλεηαη ε νξηδφληηα θαη ε θαηαθφξπθε δηάζηαζε ζην κηζφ, δειαδή ε ζπλνιηθή ζπληζηψζα απνηειείηαη απφ ην έλα ηέηαξην ησλ ζηνηρείσλ ηεο θσηεηλφηεηαο. Εηθόλα 3.12 Τπνδεηγκαηνιεςία 4:4:4 Εηθόλα 3.13 Τπνδεηγκαηνιεςία 4:2:2 θαηά ηελ νξηδόληηα δηεύζπλζε Εηθόλα 3.14 Τπνδεηγκαηνιεςία 4:1:1 θαηά ηελ νξηδόληηα δηεύζπλζε

50 42 Εηθόλα 3.15 Τπνδεηγκαηνιεςία 4:2:0 θαηά ηελ νξηδόληηα θαη θαηαθόξπθε δηεύζπλζε Υξεζηκνπνηψληαο ππνδεηγκαηνιεςία 4:2:2 ζην αξρηθφ παξάδεηγκα, ε θσηεηλφηεηα θαη νη ρξσκαηηθέο δηαθνξέο ζα θαίλνληαλ σο εμήο. Εηθόλα 3.16 πληζηώζα θσηεηλόηεηαο αξρηθήο εηθόλαο κε ππνδεηγκαηνιεςία 4:2:2 Εηθόλα 3.17 πληζηώζεο ρξσκαηηθώλ δηαθνξώλ Cb θαη Cr αληίζηνηρα, κε ππνδεηγκαηνιεςία 4:2:2

51 Πρότυπο JPEG Διακριτόσ ςυνημιτονικόσ μεταςχηματιςμόσ, DCT Ο δηαθξηηφο κεηαζρεκαηηζκφο ζπλεκίηνλνπ είλαη έλαο νξζνγψληνο κεηαζρεκαηηζκφο. Απνηειεί ην πξαγκαηηθφ κέξνο ηνπ κεηαζρεκαηηζκνχ Fourier. Ζ εηθφλα ζα πξέπεη λα ηκεκαηνπνηεζεί ζε blocks ησλ 8x8, ελψ ζηε ζπλέρεηα εθαξκφδεηαη ν κεηαζρεκαηηζκφο πάλσ ζηα 3x64 ζηνηρεία ηνπ block απηνχ. Σν block απηφ νλνκάδεηαη MCU (Minimum Coded Unit) ην νπνίν ζεκαίλεη ε κηθξφηεξε κνλάδα πνπ κπνξεί λα θσδηθνπνηεζεί. Σν θάζε MCU απνηειείηαη απφ ηξείο ζπληζηψζεο ζην παξάδεηγκά καο, πνπ νλνκάδνληαη κνλάδεο δεδνκέλσλ Data Unit (DU). Σν θάζε DU δελ είλαη απαξαίηεην λα έρεη ηηο ζπγθεθξηκέλεο δηαζηάζεηο, γηα ην sequential baseline jpeg φκσο ην block πξέπεη λα ηζνχηαη κε 8x8. χκθσλα κε ην πξφηππν νη δηαζηάζεηο ηεο εηθφλαο ζα πξέπεη λα είλαη πνιιαπιάζην ηνπ 8 θαη πξνο ηηο δχν δηεπζχλζεηο. ε δηαθνξεηηθή πεξίπησζε ηα pixels πνπ ιείπνπλ ζπκπιεξψλνληαη κε απηά ηεο ακέζσο πξνεγνχκελεο γξακκήο ή ζηήιεο έηζη ψζηε λα γίλεη πνιιαπιάζην ηνπ 8. Απηφ πνπ πεηπραίλεη ν κεηαζρεκαηηζκφο απηφο είλαη λα κεηαζρεκαηίζνπκε ηα ζηνηρεία ζην πεδίν ησλ ζπρλνηήησλ. Με ηνλ ηξφπν απηφ πεξηκέλνπκε ε πιεξνθνξία λα ζπγθεληξσζεί ζηηο ρακειφηεξεο ζπρλφηεηεο, ηδηαίηεξα φηαλ ε εηθφλα καο δελ πεξηέρεη πνιιέο ιεπηνκέξεηεο. Εηθόλα 3.18 Απεηθόληζε ζπρλνηηθνύ πεξηερνκέλνπ δηζδηάζηαηνπ κεηαζρεκαηηζκνύ DCT Ζ εηθφλα 3.16 δείρλεη ην ζπρλνηηθφ πεξηερφκελν ηνπ κεηαζρεκαηηζκνχ, κε ην πάλσ αξηζηεξά ηκήκα λα απνηειεί ηε ρακειφηεξε ζπρλφηεηα. Καζψο θηλνχκαζηε ζηηο δχν δηαζηάζεηο, ην ζπρλνηηθφ πεξηερφκελν απμάλεη πξνο ηα δεμηά θαη πξνο ηα θάησ, ελψ ην κεγαιχηεξν πεξηερφκελν βξίζθεηαη ζην θάησ δεμηά ηκήκα. Μία εηθφλα πνπ ζα απνηειείηαη απφ έλα κνλαδηθφ ρξψκα, κεηά ην κεηαζρεκαηηζκφ ζα πεξηέρεη κία κνλαδηθή ζπρλφηεηα.

52 44 Ζ καζεκαηηθή ζρέζε πνπ ηνλ πεξηγξάθεη έρεη ηελ νλνκαζία 2D DCT αθνχ εθαξκφδεηαη ζε δχν δηαζηάζεηο θαη δίλεηαη απφ ηελ παξαθάησ ζρέζε: y kl c k) c( l) 4 ( 7 i 0 7 j 0 x ij (2i 1) k cos( 16 (2 ) cos( j 1) l 16 ) φπνπ k,l=0,1,,7 1 c(k)= γηα k=0 2 θαη c(k)=1 ζε φιεο ηηο άιιεο πεξηπηψζεηο Δπηιέγνληαο έλα 8x8 ηκήκα ηεο Y ζπληζηψζαο ηεο εηθφλαο κπνξνχκε λα εθαξκφζνπκε ην κεηαζρεκαηηζκφ. Εηθόλα 3.19 MCU ηεο θσηεηλόηεηαο Τ ηεο αξρηθήο εηθόλαο Οη ηηκέο ηνπ θάζε pixel γηα ηε ζπγθεθξηκέλε πεξηνρή δίλνληαη απφ ηνλ παξαθάησ πίλαθα. X

53 Πρότυπο JPEG 45 Τπνινγίδνληαο ζηε ζπλέρεηα ην DCT κεηαζρεκαηηζκφ θαηαιήγνπκε ζηνλ πίλαθα Y Μέρξη ζηηγκήο δελ έρεη επηηεπρζεί ζπκπίεζε, αθνχ έρνπκε κεηαβεί απιά ζε δηαθνξεηηθφ ρψξν. Παξαηεξνχκε φηη νη κεγάιεο ηηκέο ζπλσζηίδνληαη ζην πάλσ αξηζηεξά άθξν, ζηελ ηηκή Y 00, ε νπνία ηηκή νλνκάδεηαη θαη DC ζηαζεξά. Γεληθά ζε ηκήκαηα φπνπ δε κεηαβάιινληαη θαηά κεγάιν βαζκφ νη ηηκέο ησλ pixels, νη κεηαζρεκαηηζκέλεο ηηκέο ζα βξίζθνληαη θνληά ζηελ DC ηηκή. Οη ππφινηπεο 63 ηηκέο απνηεινχλ ηηο AC κεηαβιεηέο Zig-Zag ην επφκελν βήκα επαλαηνπνζεηνχκε ηηο ηηκέο ηνπ πίλαθα. Απηφ γίλεηαη γηαηί παξαηεξνχκε φηη νη πεξηζζφηεξεο ηηκέο ζπλσζηίδνληαη ζηελ DC ηηκή. Γηαηξέρνληαο ηηο ηηκέο θαηά zig zag θαηαθέξλνπκε λα ηνπνζεηήζνπκε ηηο ηηκέο θαηά αχμνληα ηηκή ηνπ ζπρλνηηθνχ ηνπο πεξηερνκέλνπ. Να ζεκεηψζνπκε φηη κέρξη ην βήκα απηφ δελ έρεη ραζεί θαζφινπ πιεξνθνξία, αλ ζεσξήζνπκε θπζηθά φηη νη πξάμεηο πνπ εθηειεί ν θσδηθνπνηεηήο καο έρεη άπεηξε αθξίβεηα. ε πξαθηηθά ζπζηήκαηα νη απψιεηεο ιφγσ ζηξνγγπινπνίεζεο είλαη αξθεηά κηθξέο, νη απψιεηεο φκσο απηέο είλαη απνηξεπηηθέο γηα lossless ζπζηήκαηα.

54 46 Εηθόλα 3.20 εηξά κε ηελ νπνία γίλεηαη ε επαλαηνπνζέηεζε zig-zag Ο αξρηθφο πίλαθαο κεηά θαη απφ ην zig zag έρεη δηακνξθσζεί σο εμήο: Y Κβϊντιςη ε απηφ ην ζηάδην, ηα ζηνηρεία ηνπ ηκήκαηνο ηεο Y ζπληζηψζαο ηεο εηθφλαο καο θβαληίδνληαη. Ζ πξάμε απηή είλαη κηα δηαίξεζε φπνπ ην πειίθν ζηξνγγπινπνηείηαη ζηνλ πιεζηέζηεξν αξηζκφ. Σν πξφηππν παξέρεη ηνπο δηθνχο ηνπ πίλαθεο θβάληηζεο, νη νπνίνη

55 Πρότυπο JPEG 47 πξνήιζαλ απφ νπηηθά πεηξάκαηα ζε κεγάιν αξηζκφ απφ εηθφλεο. Οη πξνηηκψκελεο ηηκέο δελ ζεσξνχληαη ηδαληθέο, σζηφζν ν θαζέλαο κπνξεί λα επηιέμεη ηνπο δηθνχο ηνπ πίλαθεο. Ζ δηαδηθαζία ηεο θβάληηζεο εθθξάδεηαη καζεκαηηθά απφ ηε ζρέζε z kl ί y q kl kl y kl qkl ( ) 2 q kl κε k,l=0,1,,7 Ζ ηηκή q kl αλαθέξεηαη ζην kl ζηνηρείν ηνπ πίλαθα θβάληηζεο Q. Ο πίλαθαο θβάληηζεο πνπ αληηζηνηρεί ζηα ζηνηρεία ηεο εηθφλαο θσηεηλφηεηαο είλαη Q Δθηειψληαο ηε δηαίξεζε ζην παξάδεηγκά καο θαηαιήγνπκε ζηνλ επφκελν πίλαθα. Z

56 Κωδικοπούηςη εντροπύασ Μέρξη ζηηγκήο έρνπκε αλαθεξζεί ζηνλ DCT κεηαζρεκαηηζκφ κίαο κφλν ζπληζηψζαο απφ ηηο ηξεηο ηεο εηθφλαο, απηήο ηεο θσηεηλφηεηαο, ελψ έρνπκε θβαληίζεη ηα δεδνκέλα καο κε ηνλ αληίζηνηρν πίλαθα θβάληηζεο ηεο θσηεηλφηεηαο. Απφ ηε δηαδηθαζία απηή πξνέθπςε κία DC ζηαζεξά (ν αξηζκφο 13 ζην παξάδεηγκά καο) θαη 63 AC ζηαζεξέο. ηε ζπλέρεηα ην πξφηππν θσδηθνπνηεί ηηο DC θαη ηηο AC ζηαζεξέο. Ζ δηαδηθαζία απηή ρσξίδεηαη ζε δχν κέξε. Κσδηθνπνίεζε DC ζηαζεξώλ Όπσο πξνέβιεςαλ νη δεκηνπξγνί ηνπ πξνηχπνπ, ην θάζε MCU δελ είλαη αλεμάξηεην απφ ην δηπιαλφ ηνπ. ε ηππηθέο εηθφλεο ε πηζαλφηεηα ε DC ζηαζεξά ηνπ MCU λα έρεη παξφκνηα ηηκή κε απηή ηνπ δηπιαλνχ, είλαη πνιχ κεγάιε. Γηα ην ιφγν απηφ ζα θσδηθνπνηεζνχλ νη δηαθνξέο κεηαμχ ησλ DC ζηαζεξψλ. Εηθόλα 3.21 Κσδηθνπνίεζε δηαθνξώλ DC ζηαζεξώλ Όηαλ μεθηλά γηα πξψηε θνξά ν θσδηθνπνηεηήο ζέηνπκε ηελ πξνεγνχκελε ηηκή ηεο DC ζηαζεξάο ίζε κε 0. ην παξάδεηγκά καο φπνπ έρνπκε DC i =13, αλ ζεσξήζνπκε φηη ην πξνεγνχκελν block είρε DC i-1 =0, ηφηε ε δηαθνξά DIFF=13-0=13. Ζ δηαθνξά απηή ζηε ζπλέρεηα ζα θσδηθνπνηεζεί θαηά Huffman. Μία βαζηθή αξρή ηνπ πξνηχπνπ είλαη φηη δελ απνζεθεχεηαη πνηέ ε ηηκή θαζεαπηή, αιιά απνζεθεχνπκε ηνλ ειάρηζην αξηζκφ ησλ bits πνπ απαηηνχληαη γηα λα αλαπαξαζηαζεί έλαο αξηζκφο, αθνινπζνχκελνο απφ ηελ αλαπαξάζηαζε ηνπ αξηζκνχ. Με SSSS ζπκβνιίδεηαη ε θαηεγνξία πνπ αλήθεη ν αξηζκφο.

57 Πίλαθαο 3.1 Πίλαθαο θαηεγνξηώλ δηαθνξώλ Πρότυπο JPEG 49

58 50 SSSS Γπαδηθή Αλαπαξάζηαζε Diff Values ,1-1,1 2 00,01,10,11-3,-2,2, ,001,010,011,100,101,110, , ,0001,...,1110, , ,00001,...,11110, , ,000001,...,111110, , , ,..., , , ,..., , , ,..., , , ,..., , , ,..., , Πίλαθαο 3.2 Δπαδηθή αλαπαξάζηαζε δηαθνξώλ Έηζη ν αξηζκφο 13 αλήθεη ζηελ θαηεγνξία SSSS ηέζζεξα θαη αλαπαξίζηαηαη απφ ην δπαδηθφ αξηζκφ =(4,1101) ηε ζπλέρεηα βξίζθνπκε ηνλ Huffman θψδηθα απφ ηνπο πίλαθεο ηνπ JPEG ηεο θαηεγνξίαο SSSS. Πίλαθαο 3.3 Πίλαθαο Huffman θσηεηλόηεηαο γηα δηαθνξέο DC ζηαζεξώλ

59 Πρότυπο JPEG 51 Αλαιφγσο ππάξρεη δηαθνξεηηθφο πίλαθαο Huffman ρξσκαηηθψλ δηαθνξψλ, γηα ηηο δηαθνξέο ησλ DC ζηαζεξψλ. Πίλαθαο 3.4 Πίλαθαο Huffman ρξσκαηηθώλ δηαθνξώλ Cb θαη Cr, γηα δηαθνξέο DC ζηαζεξώλ Παξαηεξνχκε φηη ν Huffman θψδηθαο ηεο θαηεγνξίαο 4 ηζνχηαη κε 101. Σειηθά ν αξηζκφο 13 πνπ αληηζηνηρεί ζηελ DC ζηαζεξά ηνπ MCU ηεο θσηεηλφηεηαο, θσδηθνπνηείηαη κε ηα δπαδηθά ςεθία Κσδηθνπνίεζε AC ζηαζεξώλ Ζ θσδηθνπνίεζε ησλ AC ζηαζεξψλ αθνινπζεί κηα ιίγν δηαθνξεηηθή δηαδηθαζία απ φηη ε πξνεγνχκελε πνπ αλαιχζακε. Απφ ηηο 63 ζηαζεξέο πνπ έρνπλ απνκείλεη λα θσδηθνπνηεζνχλ, ππάξρεη κεγάιε πηζαλφηεηα κε ηε δηαδηθαζία πνπ αθνινπζήζακε λα ζπλαληήζνπκε έλαλ κεγάιν αξηζκφ απφ κεδεληθά. Γηα ην ιφγν απηφ νη AC ζηαζεξέο θσδηθνπνηνχληαη ζε πξψηε θάζε ζαλ έλα δεχγνο (αξηζκφο εκθάληζεο κεδεληθψλ, κε κεδεληθφο αξηζκφο πνπ αθνινπζεί). Αλ θηάζνπκε ζε ζεκείν φπνπ ηα ππφινηπα ζηνηρεία ηνπ πίλαθα είλαη κεδεληθά, ηφηε εγγξάθνπκε κηα εηδηθή ζεηξά απφ bits πνπ νλνκάδεηαη End Of Block (EOB).

60 52 Z Απφ ηνλ πίλαθα Ε ζπλερίδνπκε σο εμήο: Σα ελαπνκείλαληα 63 ςεθία 4,3,0,-2,0,1,1,... θσδηθνπνηνχληαη ζαλ ηα δεχγε ( 0, 4 ), ( 0, 3 ), ( 1, -2 ), ( 1, 1 ), ( 0, 1 ), ( 1, 1 ), ( 0, -1), ( 0, -1 ), ( 0, 1 ), ( 0, 1 ), ΔΟΒ. Θπκίδνπκε φηη ην πξψην ςεθίν αληηζηνηρεί ζηνλ αξηζκφ εκθάληζεο κεδεληθψλ αθνινπζνχκελνο απφ ηε δεχηεξε ηηκή ηεο παξέλζεζεο πνπ ηζνδπλακεί κε ηνλ κε κεδεληθφ αξηζκφ πνπ αθνινπζεί. ηε ζπλέρεηα ν κε κεδεληθφο αξηζκφο, δειαδή κφλν ν αξηζκφο δεμηά ζηελ παξέλζεζε, θσδηθνπνηείηαη θαηά θαηεγνξία θαη δπαδηθή ηηκή. Έηζη ν αξηζκφο 4 αλήθεη ζηελ θαηεγνξία 3 θαη ε δπαδηθή αλαπαξάζηαζε ηζνχηαη κε 100. Σν δεχγνο ( 0, 4 ) κεηαηξάπεθε πιένλ ζε ( 0 / 3, 100 ). Αθνινχζσο ν αξηζκφο 3 αλήθεη ζηελ θαηεγνξία 2 κε δπαδηθή αλαπαξάζηαζε 11. Έηζη ην δεχγνο ( 0, 3 ) κεηαηξάπεθε ζε ( 0 / 2, 11 ). πλερίδνληαο ην δεχγνο ( 1, -2 ) ( 1 / 2, 01 ) ( 1, 1 ) ( 1 / 1, 1 ) ( 0, 1 ) ( 0 / 1, 1 ) ( 1, 1 ) ( 1 / 1, 1 ) ( 0, -1) ( 0 / 1, 0 ) ( 0, -1 ) ( 0 / 1, 0 ) ( 0, 1 ) ( 0 / 1, 1 ) ( 0, 1 ) ( 0 / 1, 1 )

61 Πρότυπο JPEG 53 ΔΟΒ ( 0 / 0, ) Σειηθψο αληηθαζηζηνχκε ην δεχγνο ( αξηζκφο εκθάληζεο κεδεληθψλ / θαηεγνξία, ) κε ηνλ αληίζηνηρν θψδηθα Huffman, ηνλ νπνίν βξίζθνπκε απφ έηνηκνπο πίλαθεο. Σν δεχγνο ( 0 / 3 ) έρεη θψδηθα 100 επνκέλσο ε αξρηθή γξαθή ( 0, 4 ) κεηαηξάπεθε ζε Ο θψδηθαο Huffman γηα ην δεχγνο ( 0 / 2 ) ηζνχηαη κε 01 άξα ηειηθά έρνπκε πλερίδνληαο ην δεχγνο ( 1, 2 ) ( 1 / 2, 01 ) ( 1, 1 ) ( 1 / 1, 1 ) ( 0, 1 ) ( 0 / 1, 1 ) 00 1 ( 1, 1 ) ( 1 / 1, 1 ) ( 0, -1) ( 0 / 1, 0 ) 00 0 ( 0, -1 ) ( 0 / 1, 0 ) 00 0 ( 0, 1 ) ( 0 / 1, 1 ) 00 1 ( 0, 1 ) ( 0 / 1, 1 ) 00 1 Σν EOB έρεη ην δηθφ ηνπ κνλαδηθφ ζπκβνιηζκφ θαη απφ ηνπο πίλαθεο Huffman θσηεηλφηεηαο γηα ηα AC δεδνκέλα ηζνχηαη κε ηε δπαδηθή ηηκή ΔΟΒ ( 0 / 0, ) 1010 Σειηθά νη AC ηηκέο κεηαηξάπεθαλ ζε δπαδηθή κνξθή Οινθιεξψλνληαο ην παξάδεηγκα, ε ηειηθή θσδηθνπνηεκέλε κνξθή ηνπ ζπγθεθξηκέλνπ MCU είλαη Παξαηεξνχκε φηη ηειηθά απαηνχληαη 53 κφλν bits γηα ηελ αλαπαξάζηαζε ηνπ block, ελψ ρσξίο ζπκπίεζε ζα απαηηνχζε 64*8=512bits. Πεηχρακε δειαδή ζπκπίεζε 9.7:1 Σα αλσηέξσ βήκαηα πξέπεη λα γίλνπλ θαη γηα ηα ππφινηπα 2 ζπζηαηηθά ρξσκαηηθψλ δηαθνξψλ, φπνπ νη πίλαθεο θβάληηζεο Huffman, γηα ηηο DC θαη ηηο AC ζηαζεξέο αιιάδνπλ ζε ζρέζε κε απηέο ηεο θσηεηλφηεηαο. Δπίζεο πξέπεη λα ζαξσζνχλ φια ηα MCUs κε θνξά απφ πάλσ αξηζηεξά ηεο εηθφλαο έσο θάησ δεμηά, κε ηα MCUs ηεο θσηεηλφηεηαο λα αθνινπζνχληαη απφ ηα MCUs ησλ δχν ρξσκαηηθψλ δηαθνξψλ.

62 54 Εηθόλα 3.22 εηξά θσδηθνπνίεζεο MCU 3.4 JFIF Σν JPEG File Interchange Format, ην νπνίν ζεκαίλεη κνξθνπνίεζε αληαιιαγήο JPEG αξρείσλ, είλαη έλα πξφηππν πνπ δίλεη ηε δπλαηφηεηα ηεο αληαιιαγήο ησλ θσδηθνπνηεκέλσλ θαηά JPEG εηθφλσλ απφ κία πιαηθφξκα ζε κία άιιε. Γείρλεη δειαδή πσο ζα πξέπεη λα κνξθνπνηεζνχλ ηα δεδνκέλα έηζη ψζηε λα κπνξνχλ λα απεηθνληζζνχλ απφ φινπο ηνπο JPEG απνθσδηθνπνηεηέο.

63 Πρότυπο JPEG 55 Εηθόλα 3.23 Δηάγξακκα κνξθνπνίεζεο δεδνκέλσλ Πξαθηηθά δείρλεη πσο θαηαζθεπάδεηαη ε επηθεθαιίδα (header) κηαο JPEG εηθφλαο, θαζψο θαη κηα ζεηξά απφ ζεκάδηα (markers) πνπ ζα πξέπεη λα εηζαρζνχλ ζηε ζεηξά ησλ bits θαηά ηε δηαδηθαζία ηεο θσδηθνπνίεζεο. Σα markers απηά δείρλνπλ γηα παξάδεηγκα πνπ αξρίδεη κηα εηθφλα, πνπ ηειεηψλεη, ην είδνο ηεο εηθφλαο πνπ θσδηθνπνηνχκε (Baseline DCT, extended sequential DCT, Lossless, Hierarchical), ζε πνηφ ζεκείν νξίδνληαη νη πίλαθεο θβάληηζεο γηα ηα ζηνηρεία θσηεηλφηεηαο θαη ρξσκαηηθψλ δηαθνξψλ, νη θψδηθεο Huffman γηα ηα AC θαη ηα DC δεδνκέλα γηα ηε θσηεηλφηεηα αιιά θαη ηηο ρξσκαηηθέο δηαθνξέο. 3.5 Δομό ςυμπιεςμϋνων δεδομϋνων Σα ζπκπηεζκέλα δεδνκέλα πεξηγξάθνληαη απφ κία εληαία δνκή θαη έλα ζχλνιν παξακέηξσλ, πνπ πεξηγξάθνπλ αλ ε δηαδηθαζία πνπ αθνινπζεί είλαη lossy ή lossless, φπσο θαη ζε πνηα θαηεγνξία ζπκπίεζεο αλήθνπλ (αθνινπζηαθή, πξννδεπηηθή, ρσξίο απψιεηεο ή ηεξαξρηθή). Σα δηαθνξεηηθά ηκήκαηα ηεο εηθφλαο πξνζδηνξίδνληαη απφ εηδηθά ζεκάδηα markers ηα νπνία έρνπλ κέγεζνο 2bytes. Κάπνηα markers αθνινπζνχληαη απφ κηα ζεηξά δεδνκέλσλ πνπ πεξηέρνπλ παξακέηξνπο, φπσο είλαη γηα παξάδεηγκα νη πίλαθεο θβάληηζεο, ελψ θάπνηα άιια markers ρξεζηκνπνηνχληαη απιά γηα λα δείμνπλ πνπ είλαη ε αξρή ηεο εηθφλαο ή ην ηέινο ηεο. Σα markers καδί κε ηηο παξακέηξνπο πνπ αθνινπζνχλ νλνκάδνληαη ηκήκαηα ζήκαλζεο (marker segments).

64 56 Σα δεδνκέλα πνπ πξφθεηηαη λα ζπκπηεζηνχλ αλήθνπλ ζε κία κνλαδηθή εηθφλα. ην baseline DCT ε εηθφλα απνηειείηαη απφ έλα κφλν θαξέ (frame) ζε αληίζεζε κε ηελ ηεξαξρηθή κνξθή φπνπ ππάξρνπλ πνιιά θαξέ κε δηαθνξεηηθέο αλαιχζεηο. Σν θάζε θαξέ κπνξεί λα πεξηέρεη κία ζάξσζε (scan) ή πνιιαπιέο. Ζ θάζε ζάξσζε πεξηέρεη ηνπιάρηζηνλ έλα απφ ηα ηξία ζπζηαηηθά (θσηεηλφηεηα ή ρξσκαηηθέο δηαθνξέο) ή θαη ηα ηξία. Σα δεδνκέλα κπνξνχλ λα θσδηθνπνηεζνχλ κε παξεκβνιή. Με ηνλ φξν απηφ ελλννχκε ηε ζεηξά ησλ DU κε ηελ νπνία ζα θσδηθνπνηεζνχλ ηα δεδνκέλα. Εηθόλα 3.24 εηξά εκθάληζεο ησλ ζπζηαηηθώλ ζηε ζάξσζε ηελ πεξίπησζε παξεκβνιήο ε ζάξσζε απνηειείηαη απφ έλα DU θσηεηλφηεηαο, αθνινπζνχκελν απφ έλα DU ρξσκαηηθήο δηαθνξάο Cb, ην νπνίν κε ηε ζεηξά ηνπ αθνινπζείηαη απφ έλα DU ρξσκαηηθήο δηαθνξάο Cr. Ζ κία θαη κνλαδηθή απηή ζάξσζε πεξηέρεη φια ηα δεδνκέλα ηεο εηθφλαο. η πεξίπησζε πνπ ρξεζηκνπνηείηαη ππνδεηγκαηνιεςία ε ζεηξά ησλ DU ζηε ζάξσζε είλαη δηαθνξεηηθή. Γηα παξάδεηγκα ζε πεξίπησζε ππνδεηγκαηνιεςίαο 4:2:2, ηα δεδνκέλα ηεο ζάξσζεο είλαη φπσο θαίλεηαη ζηελ επφκελε εηθφλα.

65 Πρότυπο JPEG 57 Εηθόλα 3.25 εηξά εκθάληζεο ησλ ζπζηαηηθώλ ζηε ζάξσζε κε ππνδεηγκαηνιεςία Παξαηεξνχκε φηη ζηελ πεξίπησζε απηή ε ζάξσζε απνηειείηαη απφ δχν DU θσηεηλφηεηαο αθνινπζνχκελε απφ έλα DU ρξσκαηηθήο δηαθνξάο Cb, αθνινπζνχκελε απφ έλα DU ρξσκαηηθήο δηαθνξάο Cr. Ζ ινγηθή ζε άιιεο πεξηπηψζεηο ππνδεηγκαηνιεςίαο είλαη παξφκνηα Γενικϋσ προδιαγραφϋσ ςόμανςησ δεδομϋνων Σα δεδνκέλα πνπ απνηεινχλ ηε ζπκπηεζκέλε εηθφλα, απνηεινχληαη απφ ζπγθεθξηκέλε δνκή, ε νπνία πεξηέρεη markers, παξακέηξνπο θαη θσδηθνπνηεκέλα δεδνκέλα εηθφλαο. Σα δεδνκέλα απηά πξέπεη λα είλαη πνιιαπιάζηα ηνπ byte. Οη παξάκεηξνη είλαη αθέξαηνη αξηζκνί κε ηηκέο πνπ ραξαθηεξίδνπλ ην είδνο θαη ηα ραξαθηεξηζηηθά ζπκπίεζεο. Πεξηέρνπλ θξίζηκεο πιεξνθνξίεο πνπ είλαη απαξαίηεηεο γηα ηε ζσζηή απνθσδηθνπνίεζε θαη αλαθαηαζθεπή ηεο αξρηθήο εηθφλαο, εθ κέξνπο ηνπ απνθσδηθνπνηεηή. Οη παξάκεηξνη πνπ έρνπλ κέγεζνο κεγαιχηεξν ηνπ ελφο byte ζα πξέπεη λα εηζέιζνπλ ζηε δνκή κε ην MSB (Most Significant Byte) λα εηζέξρεηαη πξψην, αθνινπζνχκελν απφ ηα ππφινηπα bytes, έσο ην LSB (Least Significant Byte).

66 58 Σα markers πξνζδηνξίδνπλ ηα δνκηθά ηκήκαηα ηεο ζπκπηεζκέλεο ζεηξάο δεδνκέλσλ. Όια ηα markers απνηεινχληαη απφ δχν bytes ηεο κνξθήο 0xFF αθνινπζνχκελν απφ έλα δεχηεξν byte ην νπνίν ΓΔΝ πξέπεη λα έρεη ηε κνξθή 0x0 ή 0xFF. Μεξηθά markers πνπ δείρλνπλ ην είδνο ηεο εηθφλαο θαίλνληαη ζηνλ επφκελν πίλαθα. Πίλαθαο 3.5 SOF markers Παξαηεξνχκε φηη γηα baseline DCT ρξεζηκνπνηείηαη ην marker 0xFFC0. Πίλαθαο 3.6 Δηάθνξα markers

67 Πρότυπο JPEG 59 Πίλαθαο 3.7 DHT markers Ζ δνκή κηαο ζπκπηεζκέλεο θαηά JPEG εηθφλαο έρεη ηελ παξαθάησ κνξθή. Εηθόλα 3.26 Δνκή ζπκπηεζκέλεο JPEG εηθόλαο Σα πξψηα δχν byte κηαο JPEG εηθφλαο δείρλνπλ ηελ έλαξμε ηεο εηθφλαο (SOI, Start Of Image) θαη ε ηηκή ηζνχηαη κε 0xFFD8. Σα δχν ηειεπηαία δεδνκέλα απνηεινχλ ην EOI (End Of Image) marker θαη ηζνχηαη κε 0xFFD App0 Segment Σα ππφινηπα δεδνκέλα απνηεινχλ ην θαξέ (frame). ηελ αξρή ηνπ frame αθνινπζεί ην APP0 marker (Application Segment 0) ην νπνίν πεξηέρεη πιεξνθνξίεο ηηο νπνίεο ρξεηάδεηαη ε εθαξκνγή πνπ ζα ρεηξηζηεί ηελ εηθφλα. Εηθόλα 3.27 Δνκή application data segment

68 60 Εηθόλα 3.28 Παξάκεηξνη application data segment Ζ παξάκεηξνο APPn έρεη κέγεζνο δχν byte θαη ιακβάλεη ηηο ηηκέο 0xFFΔ0 έσο 0xFFEF. Ζ παξάκεηξνο Lp δείρλεη ην κέγεζνο ζε bytes ησλ δεδνκέλσλ πνπ απνηεινχλ ην Application Data Segment, κε ζπκπεξηιακβαλνκέλνπ ηνπ APPn marker. Ζ ηηκή πνπ ιακβάλεη ηζνχηαη κε 16dec = 0x10hex. Αθνινπζνχλ 12 bytes (ηα 16 ζπλνιηθά bytes κείνλ 2 ηνπ marker, κείνλ 2 ηεο παξακέηξνπ Lp) πνπ είλαη νη παξάκεηξνη Ap i. Σα πξψηα 5 bytes πεξηέρνπλ ηελ ASCII αλαπαξάζηαζε ηεο ιέμεο JFIF αθνινπζνχκελε απφ έλαλ ηεξκαηηθφ ραξαθηήξα \0. Σα επφκελα δχν bytes δείρλνπλ ηελ έθδνζε ηνπ πξνηχπνπ JFIF θαη ιακβάλεη ζπλήζσο ηηο ηηκέο 0x0101 ή 0x0102. Ζ αλαπαξάζηαζε απηή ζεκαίλεη έθδνζε 1.01 ή έθδνζε 1.02 αληίζηνηρα. Σν επφκελν byte δείρλεη ηελ ππθλφηεηα ησλ pixels θαη ιακβάλεη ζπλήζσο ηελ ηηκή 0x00. Αθνινπζνχλ δχν bytes πνπ αλαπαξηζηνχλ ηελ ππθλφηεηα ησλ pixels θαηά ηελ νξηδφληηα δηεχζπλζε, άιια δχν πνπ αλαπαξηζηνχλ ηελ ππθλφηεηα ησλ pixels θαηά ηελ θαηαθφξπθε δηεχζπλζε, ελψ ζην ηέινο αθνινπζεί έλα byte πνπ δείρλεη πφζα pixels θαηά ηελ νξηδφληηα δηεχζπλζε είλαη ην thumbnail, αθνινπζνχκελν απφ άιιν έλα byte πφζα pixels θαηά ηελ θαηαθφξπθε δηεχζπλζε είλαη ην thumbnail. Με ηνλ φξν thumbnail ελλννχκε κία πεξηνξηζκέλε θαηά κέγεζνο εθδνρή ηεο εηθφλαο, ε νπνία ρξεζηκνπνηείηαη θπξίσο ζε πεξηεγεηέο ηζηνχ (internet browsers) Frame και DQT Segment ηε ζπλέρεηα αθνινπζεί ε πεξηγξαθή ηνπ frame. Εηθόλα 3.29 Γεληθεπκέλε δνκή frame segment

69 Πρότυπο JPEG 61 ηελ αξρή ηνπ frame είλαη ηνπνζεηεκέλνη νη πίλαθεο θβάληηζεο γηα ηα ζηνηρεία. Δπνκέλσο πξνεγείηαη ην marker DQT (Define Quanitisation Tables) 0xFFDB. Εηθόλα 3.30 Δνκή DQT segment Ζ παξάκεηξνο Lq δείρλεη ην κέγεζνο ηνπ DQT segment. Ζ Pq δείρλεη ηελ αθξίβεηα ησλ ζηνηρείσλ ηνπ πίλαθα θβάληηζεο. Μπνξεί λα ιάβεη δχν δπλαηέο ηηκέο 0x0 ή 0x1, κε ηελ πξψηε λα αληηπξνζσπεχεη αθξίβεηα 8bit θαη ηε δεχηεξε 16bit. Γηα ην baseline DCT ιακβάλεη ηελ ηηκή 0x0. Αθνινπζεί ή Tq ε νπνία ιακβάλεη 4 δπλαηέο ηηκέο 0x0, 0x1, 0x2 ή 0x3. Ζ θάζε ηηκή αληηπξνζσπεχεη έλαλ πίλαθα θβάληηζεο. Γηα ην baseline DCT νξίδνληαη δχν κφλν πίλαθεο θβάληηζεο, έλαο γηα ηε θσηεηλφηεηα θαη έλαο γηα ηηο ρξσκαηηθέο δηαθνξέο. Έηζη ακέζσο κεηά ην δείθηε Tq αθνινπζνχλ ηα 64 δεδνκέλα ηνπ πίλαθα. ην ζεκείν απηφ πξέπεη λα ηνλίζνπκε φηη νη πίλαθεο θβάληηζεο είλαη ηνπνζεηεκέλνη ζηε δνκή θαηά zig zag. Εηθόλα 3.31 Παξάκεηξνη DQT segment Με δεδνκέλν ην γεγνλφο φηη ην baseline DCT νξίδεη δχν κφλν πίλαθεο θβάληηζεο θαη ζπκπεξηιακβαλνκέλσλ ησλ παξακέηξσλ, ην κέγεζνο Lq ηζνχηαη κε 132 bytes. Οη πξνεπηιεγκέλνη πίλαθεο θβάληηζεο γηα ηε θσηεηλφηεηα θαη ηηο ρξσκαηηθέο δηαθνξέο βξίζθνληαη ζην παξάξηεκα K ηνπ πξνηχπνπ.

70 62 Πίλαθαο 3.8 Πίλαθαο θβάληηζεο ζπζηαηηθώλ θσηεηλόηεηαο Πίλαθαο 3.9 Πίλαθαο θβάληηζεο ζπζηαηηθώλ ρξσκαηηθώλ δηαθνξώλ

71 Πρότυπο JPEG 63 Ακέζσο κεηά ηνπο πίλαθεο θβάληηζεο αθνινπζεί ην SOF (Start Of Frame) marker. Γείρλεη πνην απφ ηα 16 δπλαηά είδε JPEG εηθφλαο έρνπκε. Γηα ην baseline DCT ε ηηκή πνπ ιακβάλεη ηζνχηαη κε 0xFFC0. Εηθόλα 3.32 Δνκή frame segment Ζ παξάκεηξνο Lf ηζνχηαη κε ην κέγεζνο ηνπ frame header segment θαη ιακβάλεη ηελ ηηκή 17. Αθνινπζεί ε παξάκεηξνο P πνπ νξίδεη ηελ αθξίβεηα ησλ bits ησλ δεδνκέλσλ. Γηα baseline DCT ε ηηκή απηή ηζνχηαη κε 8. Ζ παξάκεηξνο Y δείρλεη ηνλ αξηζκφ ησλ γξακκψλ ηεο εηθφλαο, δείρλεη επνκέλσο ηελ θαηαθφξπθε δηάζηαζε ηεο εηθφλαο, ελψ ε παξάκεηξνο Υ δείρλεη ηνλ αξηζκφ ησλ ζηειψλ ηεο εηθφλαο, δείρλεη επνκέλσο ηελ νξηδφληηα δηάζηαζε ηεο εηθφλαο. Ζ δηάζηαζε απηή πξέπεη λα ηζνχηαη κε ηε κεγαιχηεξε δηάζηαζε ησλ ζπζηαηηθψλ πνπ απνηεινχλ ηελ εηθφλα θαη πξέπεη λα ιακβάλεηαη ππφςε ζε πεξηπηψζεηο ππνδεηγκαηνιεςίαο. ηνλ πίλαθα πνπ αθνινπζεί παξαηεξνχκε φηη νη ηηκέο απηέο έρνπλ κέγηζην ηελ ηηκή 65535, επνκέλσο ε κέγηζηε αλάιπζε πνπ ππνζηεξίδεη ην JPEG πξφηππν ηζνχηαη κε 65535x Ζ επφκελε παξάκεηξνο πνπ αθνινπζεί Nf, δείρλεη ηνλ αξηζκφ ησλ ζπζηαηηθψλ πνπ απνηεινχλ ηελ εηθφλα. Γηα έγρξσκεο εηθφλεο πξέπεη λα ιακβάλεη ηελ ηηκή 3. Ζ παξάκεηξνο C i απνηειεί δείθηε ηνπ ζπζηαηηθνχ πνπ ζέινπκε λα πεξηγξάςνπκε. Παίξλεη ηελ ηηκή 1 γηα λα δείμεη ηα ζηνηρεία θσηεηλφηεηαο, ηελ ηηκή 2 γηα ηα ζηνηρεία ρξσκαηηθήο δηαθνξάο Cb θαη ηελ ηηκή 3 γηα ηα ζηνηρεία ρξσκαηηθήο δηαθνξάο Cr. Αθνινπζεί έλα nibble, ε παξάκεηξνο Ζ i πνπ παξηζηάλεη ηνλ νξηδφληην παξάγνληα δεηγκαηνιεςίαο γηα ην ζπζηαηηθφ i, κε ηελ παξάκεηξν V i λα παξηζηάλεη ηνλ παξάγνληα δεηγκαηνιεςίαο γηα ηελ θαηαθφξπθε δηεχζπλζε ηνπ i ζπζηαηηθνχ. Ζ παξάκεηξνο Tq i επηιέγεη ηνλ θαηάιιειν πίλαθα θβάληηζεο γηα ην i ζπζηαηηθφ. Αλ ζπκεζνχκε φηη ν πίλαθαο θβάληηζεο θσηεηλφηεηαο έρεη ηελ έλδεημε 0, κε ηνλ πίλαθα ρξσκαηηθψλ δηαθνξψλ λα έρεη ηελ έλδεημε 1, κπνξνχκε εχθνια λα θαηαιάβνπκε φηη ε ηηκή Tq 1 πνπ αληηζηνηρεί ζην πξψην ζηνηρείν πξέπεη λα ηζνχηαη κε 0, ελψ νη ηηκέο Tq 2 Tq 3 πξέπεη λα είλαη ίζεο κε 1.

72 64 Εηθόλα 3.33 Παξάκεηξνη frame segment Scan και DHT Segment Εηθόλα 3.34 Γεληθεπκέλε δνκή scan segment πλερίδνληαο ηελ πεξηγξαθή ηνπ ηκήκαηνο ζάξσζεο (Scan Segment) παξαηεξνχκε φηη ζηελ αξρή έρνπκε ηε δπλαηφηεηα λα εηζάγνπκε επηπιένλ πίλαθεο. ην ζεκείν απηφ ζα εηζαρζνχλ νη πίλαθεο γηα ηελ θσδηθνπνίεζε εληξνπίαο (Πίλαθεο Huffman).

73 Πρότυπο JPEG Δνκή DHT segment Εηθόλα Πξνεγείηαη ην DHT (Define Huffman Tables) marker, ην νπνίν ιακβάλεη ηελ ηηκή 0xFFC4. Αθνινπζεί ε παξάκεηξνο Lh πνπ νξίδεη ην κέγεζνο ηνπ DHT segment. Ζ παξάκεηξνο Tc νξίδεη ηελ θαηεγνξία ηνπ πίλαθα θαη ιακβάλεη ηελ ηηκή 0 αλ πξφθεηηαη γηα DC πίλαθα θαη ηελ ηηκή 1 αλ πξφθεηηαη γηα AC πίλαθα. Ζ παξάκεηξνο Th νξίδεη αλ πξφθεηηαη γηα πίλαθα Huffman θσηεηλφηεηαο ή πίλαθα Huffman ρξσκαηηθψλ δηαθνξψλ. Έρνπκε επνκέλσο ηέζζεξηο δπλαηνχο ζπλδπαζκφο γηα ην byte TcTh πνπ ιακβάλεη ηηο ηηκέο 0x00 γηα πίλαθα Huffman γηα DC ζηαζεξέο θσηεηλφηεηαο, ηελ ηηκή 0x10 γηα πίλαθα Huffman γηα ΑC ζηαζεξέο θσηεηλφηεηαο, ηελ ηηκή 0x01 γηα πίλαθα Huffman γηα DC ζηαζεξέο ρξσκαηηθψλ δηαθνξψλ θαη ηελ ηηκή 0x11 γηα πίλαθα Huffman γηα ΑC ζηαζεξέο ρξσκαηηθψλ δηαθνξψλ. Αθνινπζεί ε παξάκεηξνο Li πνπ δείρλεη ηνλ αξηζκφ ησλ θσδηθψλ κε κέγεζνο i πνπ αθνινπζνχλ. Ζ παξάκεηξνο Vi,j παξνπζηάδεη ηηο ηηκέο ηνπ πίλαθα Huffman πνπ αληηζηνηρνχλ ζηνπο θψδηθεο κε κέγεζνο i. Πξνζνρή πξέπεη λα δνζεί ζην φηη νη πίλαθεο απηνί ηνπνζεηνχληαη αθνχ έρνπλ κεηαζρεκαηηζηεί θαηά zig zag. Εηθόλα 3.36 Παξάκεηξνη DHT segment

74 66 Οη πξνεπηιεγκέλνη πίλαθεο Huffman γηα ηηο DC θαη AC ζηαζεξέο θσηεηλφηεηαο θαη ρξσκαηηθψλ δηαθνξψλ ζπλνςίδνληαη ζηνπο παξαθάησ πίλαθεο. Πίλαθαο 3.10 Πίλαθαο Huffman θσηεηλόηεηαο DC ζηαζεξώλ

75 Πίλαθαο 3.11 Πίλαθαο Huffman ρξσκαηηθώλ δηαθνξώλ DC ζηαζεξώλ Πρότυπο JPEG 67

76 68 Πίλαθαο 3.12 Πίλαθαο Huffman θσηεηλόηεηαο AC ζηαζεξώλ (1 ζηα 4)

77 Πίλαθαο 3.13 Πίλαθαο Huffman θσηεηλόηεηαο AC ζηαζεξώλ (2 ζηα 4) Πρότυπο JPEG 69

78 70 Πίλαθαο 3.14 Πίλαθαο Huffman θσηεηλόηεηαο AC ζηαζεξώλ (3 ζηα 4)

79 Πίλαθαο 3.15 Πίλαθαο Huffman θσηεηλόηεηαο AC ζηαζεξώλ (4 ζηα 4) Πρότυπο JPEG 71

80 72 Πίλαθαο 3.16 Πίλαθαο Huffman ρξσκαηηθώλ δηαθνξώλ AC ζηαζεξώλ (1 ζηα 4)

81 Πίλαθαο 3.17 Πίλαθαο Huffman ρξσκαηηθώλ δηαθνξώλ AC ζηαζεξώλ (2 ζηα 4) Πρότυπο JPEG 73

82 74 Πίλαθαο 3.18 Πίλαθαο Huffman ρξσκαηηθώλ δηαθνξώλ AC ζηαζεξώλ (3 ζηα 4)

83 Πίλαθαο 3.19 Πίλαθαο Huffman ρξσκαηηθώλ δηαθνξώλ AC ζηαζεξώλ (4 ζηα 4) Πρότυπο JPEG 75

84 76 ην επφκελν βήκα πεξηγξάθεηαη ην scan segment. Πξνεγείηαη ην SOS (Start Of Scan) marker, ην νπνίν ιακβάλεη ηελ ηηκή 0xFFDA. Εηθόλα 3.37 Δνκή scan segment Αθνινπζεί ε παξάκεηξνο Ls πνπ δείρλεη ην κέγεζνο ηνπ scan segment. Λακβάλεη ηελ ηηκή 12. Ζ παξάκεηξνο Ns δείρλεη ηνλ αξηζκφ ησλ ζπζηαηηθψλ πνπ απνηεινχλ ηε ζάξσζε θαη ε νπνία γηα interleaved δεδνκέλα ρσξίο ππνδεηγκαηνιεςία, φπσο εμεγήζεθε ζε πξνεγνχκελε παξάγξαθν, ηζνχηαη κε 3. Ζ παξάκεηξνο Csi δείρλεη ην ζπζηαηηθφ ηεο ζάξσζεο πνπ αθνινπζεί. Γηα ηελ πεξίπησζε ηνπ baseline DCT ιακβάλεη ηελ ηηκή 1 γηα ηα ζηνηρεία θσηεηλφηεηαο, ηελ ηηκή 2 γηα ηα ζηνηρεία ρξσκαηηθήο δηαθνξάο Cb θαη ηελ ηηκή 3 γηα ηα ζηνηρεία ρξσκαηηθήο δηαθνξάο Cr. ε πεξίπησζε πνπ ρξεζηκνπνηνχκε ππνδεηγκαηνιεςία ε ηηκή απηή κπνξεί λα ππνινγηζηεί απφ ηε ζρέζε Εηθόλα 3.38 ρέζε ππνινγηζκνύ παξακέηξνπ Csi Οη παξάκεηξνη Tdj θαη Taj δείρλνπλ πνηφο πίλαθαο Huffman ζα ρξεζηκνπνηεζεί κε ην αληίζηνηρν ζπζηαηηθφ, γηα ηηο DC θαη AC ζηαζεξέο. Έηζη γηα ην ζπζηαηηθφ κε Cs1=1, δειαδή ην ζπζηαηηθφ θσηεηλφηεηαο, πξέπεη λα ρξεζηκνπνηεζνχλ νη πίλαθεο Huffman κε έλδεημε 0 γηα ηηο DC ζηαζεξέο θαη κε έλδεημε 0 γηα ηηο AC ζηαζεξέο. Αληίζηνηρα γηα Cs2=2 θαη Cs3=3 πξέπεη λα ρξεζηκνπνηεζνχλ νη πίλαθεο Huffman κε έλδεημε 1 γηα ηηο DC ζηαζεξέο θαη κε έλδεημε 1 γηα ηηο AC ζηαζεξέο. Σέινο νη παξάκεηξνη Ss, Se, Ah θαη Al δελ αθνξνχλ ην baseline DCT θαη πξέπεη λα ιάβνπλ ηηκή Se=0, Ss=63 θαη AhAl=0 αληίζηνηρα.

85 Πρότυπο JPEG 77 Εηθόλα 3.39 Παξάκεηξνη scan segment ECS (Entropy Coded Segment) ηελ ηειηθή δηαδηθαζία θσδηθνπνηνχληαη νη DC θαη AC ζηαζεξέο, ηνπνζεηψληαο ην θαηάιιειν EOB (End Of Block) κήλπκα. Γελ ππάξρεη θάπνην ECS marker πνπ πξέπεη λα ηνπνζεηεζεί ζηα θσδηθνπνηεκέλα δεδνκέλα. Εηθόλα 3.40 Δνκή ECS (Entropy Coded Segment) ηε δηαδηθαζία ηεο θσδηθνπνίεζε ησλ AC κεηαβιεηψλ πξέπεη λα ιάβνπκε ππφςε ηνλ εμήο πεξηνξηζκφ. ε πεξίπησζε πνπ νη AC ζηαζεξέο πεξηέρνπλ αξηζκφ κεδεληθψλ κεγαιχηεξν

86 78 ηνπ 16 πξηλ ζπλαληήζνπκε φκσο ην κήλπκα EOB, ζα πξέπεη λα πξνζέμνπκε πσο ζα θσδηθνπνηήζνπκε ην δεχγνο (αξηζκφο εκθάληζεο κεδεληθψλ, κε κεδεληθφο αξηζκφο πνπ αθνινπζεί). Γηα παξάδεηγκα αο ππνζέζνπκε φηη νη AC ζηαζεξέο είλαη ν αξηζκφο 13, αθνινπζνχκελνο απφ 18 κεδεληθά, κε ηνλ αξηζκφ 1 λα αθνινπζεί θαη ηα ππφινηπα ζηνηρεία λα είλαη κεδεληθά, ηφηε ηα δεδνκέλα απηά, αλ ζεσξήζνπκε φηη απνηεινχλ ζηνηρεία θσηεηλφηεηαο, θσδηθνπνηνχληαη σο εμήο: Αληί λα θσδηθνπνηεζνχλ κε ηα δεχγε ( 0, 13 ), ( 18, 1 ), EOB, πξέπεη λα θσδηθνπνηεζνχλε κε ηα δεχγε ( 0, 13 ), ( 15, 0 ), ( 2, 1 ), EOB. Απηφ ζπκβαίλεη δηφηη ν αξηζκφο 18 φηαλ θσδηθνπνηνείηαη θαηά Huffman απνηειεί έλα nibble θαη επνκέλσο δελ κπνξεί λα ιάβεη ηηκή κεγαιχηεξε ηνπ 15=0xF. Σν δεχγνο ( 15, 0 ) παξηζηάλεη 15 κεδεληθά αθνινπζνχκελα απφ ηνλ αξηζκφ κεδέλ, πξφθεηηαη επνκέλσο γηα 16 κεδεληθά. Κσδηθνπνηείηαη κε ην ζχκβνιν ZRL ιακβάλεη ηηκή αλάινγα αλ αλαθέξεηαη ζε ζπζηαηηθά θσηεηλφηεηαο ή ζπζηαηηθά ρξσκαηηθψλ δηαθνξψλ.

87 Κεφϊλαιο 4 Υλοπούηςη του ςυςτόματοσ, αποτελϋςματα, προτϊςεισ 4.1 Ειςαγωγό ην θεθάιαην απηφ γίλεηαη αλαθνξά ζην ζχζηεκα πνπ πινπνηήζεθε. Πξφθεηηαη δειαδή γηα ην DSK πνπ ιεηηνπξγεί ζαλ έλαο δηαθνκηζηήο (server), ν νπνίνο αλακέλεη θαηάιιειν κήλπκα απφ θάπνηνλ πειάηε (client) κέζσ TCP/IP. Όηαλ ιάβεη ην κήλπκα απηφ, αλάινγα κε ην κήλπκα πνπ έιαβε θάλεη ιήςε εηθφλαο κε ηε βνήζεηα ηεο θάκεξαο, γηα ζπγθεθξηκέλε αλάιπζε εηθφλαο θαη κε δπλαηφηεηα ξχζκηζεο παξακέηξσλ ησλ θαηαρσξεηψλ ηεο θάκεξαο. ηε ζπλέρεηα επεμεξγάδεηαη ηα δεδνκέλα πνπ έιαβε απφ ηελ θάκεξα, θσδηθνπνηψληαο ηα ζχκθσλα κε ην πξφηππν JPEG, ελψ ηειηθά ζηέιλεη ηα δεδνκέλα ζηνλ απνκαθξπζκέλν πειάηε. Σν ξφιν ηνπ πειάηε ζα αλαιάβεη έλα GUI ην νπνίν αλαπηχρζεθε κε ηε βνήζεηα ηνπ πξνγξακκαηηζηηθνχ εξγαιείνπ ηεο National Instruments Labview. Θα αλαιάβεη ην ξφιν δηαρείξηζεο ηεο ζσζηήο εληνιήο πνπ πξέπεη λα απνζηαιεί ζην δηαθνκηζηή, ζηε ζπλέρεηα ζα ιάβεη ηα δεδνκέλα ηεο θσδηθνπνηεκέλεο εηθφλαο ηα νπνία ζα απνζεθεχζεη ζε έλα κέξνο ηνπ ζθιεξνχ δίζθνπ ηνπ ππνινγηζηή ζην νπνίν εθηειείηαη, ελψ ηέινο ζα απνθσδηθνπνηήζεη ηελ εηθφλα ηελ νπνία θαη ζα απεηθνλίζεη.

88 Παρουςύαςη ςυςτόματοσ Ζ επηινγή ηνπ DSKC6416T έγηλε κε βάζε ηελ ηαρχηεηα επεμεξγαζίαο αιιά θαη γηα ην κέγεζνο ηεο εζσηεξηθήο θαη εμσηεξηθήο κλήκεο πνπ είλαη δηαζέζηκν. Πξφθεηηαη θπζηθά γηα επεμεξγαζηή ζηαζεξήο ππνδηαζηνιήο ην νπνία θαιείηαη λα εθηειέζεη πξάμεηο θηλεηήο ππνδηαζηνιήο, φπσο είλαη ν κεηαζρεκαηηζκφο ησλ εηθνλνζηνηρείσλ ζην ρψξν YCbCr αιιά θπξίσο ην κεηαζρεκαηηζκφ DCT. Ζ εθηέιεζε πξάμεσλ θηλεηήο ππνδηαζηνιήο επηθέξεη αχμεζε ζηνλ αξηζκφ εθηέιεζεο ησλ θχθισλ. Σελ αχμεζε απηή κπνξνχκε λα ηελ απνθχγνπκε ζηελ πεξίπησζε ηνπ κεηαζρεκαηηζκνχ ησλ εηθνλνζηνηρείσλ ζην πεδίν YCbCr κεηαηξέπνληαο ηα δεδνκέλα ζε κνξθή Q-15. Με ηνλ ηξφπν απηφ θαηαιήγνπκε λα εθηεινχκε πξάμεηο ζηαζεξήο ππνδηαζηνιήο. Γηα ηελ πεξίπησζε ηνπ DCT είλαη δπλαηφλ λα πινπνηεζνχλ αιγφξηζκνη ζηαζεξήο ππνδηαζηνιήο, νη νπνίνη φκσο ηειηθά δελ απνδίδνπλ ηφζν θαιά φζν κε απηνχο ηεο θηλεηήο ππνδηαζηνιήο. Σν απνηέιεζκα ηεο θσδηθνπνηεκέλεο εηθφλαο κε ηε ρξήζε DCT θηλεηήο ππνδηαζηνιήο είλαη νπηηθά αλψηεξν θαη ρσξίο θακία εκθαλή δηαθνξά κε ηελ αξρηθή αζπκπίεζηε εηθφλα, ζε ζχγθξηζε κε απηήλ φπνπ ρξεζηκνπνηείηαη DCT ζηαζεξήο ππνδηαζηνιήο. Ο επηπιένλ ρξφλνο επνκέλσο πνπ απαηηείηαη αμίδεη λα ζπαηαιεζεί ζε φθεινο ηεο πνηφηεηαο εηθφλαο. Δπίζεο ηα δηαζέζηκα DSK boards ηνπ Δξγαζηεξίνπ Ζιεθηξνληθψλ ηνπ Σκήκαηνο Φπζηθήο ηνπ Παλεπηζηεκίνπ Παηξψλ, δελ είραλ ηελ επηζπκεηή κλήκε ψζηε λα γίλεηαη ιήςε ζηηο επηζπκεηέο αλαιχζεηο. Ζ ζπγγξαθή ηνπ θψδηθα ζε γιψζζα πξνγξακκαηηζκνχ c, βαζίζηεθε ζηνλ open source θψδηθα πνπ αλαπηχρζεθε απφ ην Independent JPEG Group [26]. Δπηπιένλ ηδέεο πάξζεθαλ απφ ηνλ επίζεο open source θψδηθα πνπ αλαπηχρζεθε απφ ην παλεπηζηήκην ηνπ Stanford [27]. Σν πεξηβάιινλ πνπ ρξεζηκνπνηήζεθε ήηαλ ην Code Composer Studio v3.1 ελψ γηα ηελ πινπνίεζε ηνπ GUI ην Labview 8.0. ε πξψηε θάζε ε αλάπηπμε ηνπ θψδηθα ζε c γηα ηνλ JPEG απνθσδηθνπνηεηή έγηλε κε ηε ρξήζε ηνπ Microsoft Visual Studio Express Edition Αθνχ ειέγρζεθε ε ζσζηή ιεηηνπξγία ηνπ, κεηαθέξζεθε ζηε ζπλέρεηα ζην DSP κε ηε βνήζεηα ηνπ CCS. Γηα λα βεβαησζνχκε φηη κεηαθέξνληαη ηα ζσζηά δεδνκέλα κέζσ TCP/IP ρξεζηκνπνηήζεθε ην εξγαιείν εληνπηζκνχ θαη αλάιπζεο παθέησλ Wireshark Ζ εξγαζία απηή απνηειεί εμέιημε ηνπ πξνγξάκκαηνο webview πνπ αλαπηχρζεθε απφ ηελ Bitec. Σν πξφγξακκα απηφ ιακβάλεη εηθφλεο ζε Bayer format, ηηο νπνίεο κεηαηξέπεη ζε true colour bitmap αξρεία θαη ηηο νπνίεο ζηέιλεη κέζσ TCP/IP ζε έλα browser. Σν πξφγξακκα απηφ έρεη δπλαηφηεηα ιήςεο εηθφλσλ ζε δηάθνξεο αλαιχζεηο, ελψ ν έιεγρνο ηεο ιήςεο γίλεηαη απνθιεηζηηθά κέζσ ελφο browser. Γηα ηελ πινπνίεζε ηνπ πξνγξάκκαηνο απηνχ είλαη απαξαίηεηε ε ρξήζε ηνπ DSK_eye API θαζψο θαη ηνπ Lwip API. Βαζηδφκελνη ζε απηφ ην πξφγξακκα, νη ηξνπνπνηήζεηο πνπ απνθαζίζηεθαλ αθνξνχζαλ ηνλ έιεγρν ηεο θάκεξαο κέζσ ελφο GUI αληί γηα έλα browser, ε κεηαηξνπή ηεο εηθφλαο ζε θαηάιιειε κνξθή ψζηε λα γίλεη ε jpeg επεμεξγαζία αληί γηα κηα Bayer εηθφλα θαη ηέινο ε

89 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 81 δπλαηφηεηα ειέγρνπ ησλ θαηαρσξεηψλ ηεο θάκεξαο νη νπνίνη ζην αξρηθφ πξφγξακκα έκελαλ αλεθκεηάιιεπηνη. Γηα ηηο αλάγθεο πινπνίεζεο ηνπ πξνγξάκκαηνο ην Lwip API ρξεζηκνπνηήζεθε ρσξίο θακία κεηαηξνπή, ζε αληίζεζε κε ην DSKeye API ην νπνίν έπξεπε λα ηξνπνπνηεζεί. Γηα ηελ ηαρχηεξε εθηέιεζε ηνπ πξνγξάκκαηνο ηεο εξγαζίαο απηήο, έπξεπε λα γίλεη θαηαλνκή ησλ δεδνκέλσλ θαζψο θαη ησλ ζπλαξηήζεσλ ζε θαηάιιειεο ζέζεηο ηεο κλήκεο. Όπσο είλαη θαηαλνεηφ ηδαληθά ζα ζέιακε φια ηα δεδνκέλα καο λα βξίζθνληαη ζηελ εζσηεξηθή κλήκε ηνπ DSP. Ο πεξηνξηζκέλνο φκσο ρψξνο θαζψο θαη ε κεγάιε έθηαζε ηνπ πξνγξάκκαηνο δελ επέηξεπε ηελ επηινγή απηή. Γηα λα γίλεη ε επεμεξγαζία ηεο εηθφλαο πξέπεη πξψηα ηα αζπκπίεζηα δεδνκέλα λα κεηαθεξζνχλ ζηελ εμσηεξηθή κλήκε, λα κεηαηξαπνχλ ζε RGB απφ Bayer θαη ζηε ζπλέρεηα λα γίλεη ε επεμεξγαζία. Σα ζπκπηεζκέλα δεδνκέλα ηνπνζεηήζεθαλ ζε έλαλ buffer αξθεηά κεγάιν ψζηε λα ρσξέζεη κηα εηθφλα, ε κέγηζηε αλάιπζε ηεο νπνίαο θηάλεη ηα 1280x960. Σν κέγεζνο απηνχ ηνπ buffer νξίζηεθε ζηα 500,000 bytes θαη ηνπνζεηήζεθε ζηελ εζσηεξηθή κλήκε γηα γξεγνξφηεξε πξνζπέιαζε. Δπίζεο νη ζπλαξηήζεηο νη νπνίεο είραλ ην κεγαιχηεξν θφξην εξγαζίαο φπσο ην DCT θαη ε θσδηθνπνίεζε θαηά Huffman ηνπνζεηήζεθαλ επίζεο ζηελ εζσηεξηθή κλήκε. Οη ππφινηπεο ζπλαξηήζεηο ηνπνζεηήζεθαλ απηφκαηα απφ ηνλ compiler ζηελ εζσηεξηθή θαη ηελ εμσηεξηθή κλήκε αληίζηνηρα. ηηο παξαθάησ εηθφλεο ζπλνςίδνληαη νπηηθά ηα ζεκεία πνπ είλαη ηνπνζεηεκέλα ηα δεδνκέλα θαη νη ζπλαξηήζεηο ζην ζπγθεθξηκέλν πιηθφ πνπ παξνπζηάζηεθε ζηα πξνεγνχκελα θεθάιαηα.

90 82 Εηθόλα 4.1 C6416T DSK software Εηθόλα 4.2 DSKeye software

91 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ Διϊγραμμα ροόσ Εηθόλα 4.3 πλνιηθό ζύζηεκα ηε ζπλέρεηα πεξηγξάθεηαη ην δηάγξακκα ξνήο ηνπ πξνγξάκκαηνο πνπ έρεη πινπνηεζεί ζην DSK. Δμεγνχληαη νη βαζηθέο ζπλαξηήζεηο πινπνίεζεο ηνπ ζπζηήκαηνο.

92 84 Initialise JPEG header Create Task Set Task Priority lwip_netstart Create Socket Bind? No Error Message DSKeye Open? Yes No Error Message Yes Infinite While Loop Code Δηάγξακκα 4.1 Αξρηθή θάζε πξνγξάκκαηνο

93 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 85 void main() { TSK_Handle tsk_cam; init_all(); printf("init all...\n");fflush(stdout); tsk_cam=tsk_create( (Fxn)TSK_webview, NULL); TSK_setpri(tsk_cam, 8); } lwip_netstart(); /************************************************************** * Main loop. **************************************************************/ s = socket( AF_INET, SOCK_STREAM, 0 ); addr.sin_port = htons(80); addr.sin_addr.s_addr = 0; memset(&(addr.sin_zero), 0, sizeof(addr.sin_zero)); if( bind(s, (struct sockaddr*)&addr, sizeof(struct sockaddr))) { printf("error binding to port\n"); return ; } if(dskeye_open(&cam_params)) SYS_abort("DSKcam_CAMopen"); while(1==1) { : : Κώδηθαο 4.1 Αξρή main ζπλάξηεζεο ηελ πξψηε θάζε ηνπ πξνγξάκκαηνο αξρηθνπνηείηαη ε θεθαιίδα ησλ JPEG δεδνκέλσλ. ηε ζπλέρεηα δεκηνπξγείηαη έλα task ην νπνίν έρεη ζπγθεθξηκέλε πξνηεξαηφηεηα. Ζ ηηκή ηεο πξνηεξαηφηεηαο πνπ ιακβάλεη ηζνχηαη κε 8.

94 86 Εηθόλα 4.4 Πξνηεξαηόηεηεο δηαθνπώλ Ζ ρξήζε ηνπ task ζα θαλεί ζηε ζπλέρεηα φηαλ θιεζεί ε ζπλάξηεζε DSKeyeGetframe, θαζψο κε ηε βνήζεηα ελφο semaphore πεηπραίλνπκε ζπγρξνληζκέλε κεηαθνξά δεδνκέλσλ κέζσ ησλ EDMA θαλαιηψλ, κε δεδνκέλα απφ ηε FIFO ηνπ FPGA πνπ θαηεπζχλνληαη ζηελ εμσηεξηθή κλήκε ηνπ DSK. ηε ζπλέρεηα θαιείηαη ε ζπλάξηεζε lwip_netstart, φπνπ αξρηθνπνηνχληαη νη παξάκεηξνη γηα ην lwip. Οξίδνληαη παξάκεηξνη φπσο ην είδνο ηεο επηθνηλσλίαο, ε δηεχζπλζε ipv4 ηνπ δηαθνκηζηή θαζψο θαη ε κάζθα ππνδηθηχνπ, ην πξσηφθνιιν επηθνηλσλίαο, αθφκα θαη ε δηεχζπλζε MAC πνπ απαηηεί ην πξσηφθνιιν IP. Αθνινπζεί ε δεκηνπξγία ελφο socket ην νπνίν θαζνξίδεη ην είδνο ηεο ππνδνρήο, κε ηε ζχξα επηθνηλσλίαο, ζχκθσλα πάληα κε ην BSD API. Ζ ζχξα επηθνηλσλίαο πνπ επηιέρζεθε ήηαλ ε ζχξα 80. ε πεξίπησζε πνπ δεζκεπζεί (bind) επηηπρψο ε ππνδνρή θαιείηαη ε ζπλάξηεζε DSKeyeOpen, κε ηελ νπνία γίλεηαη αξρηθνπνίεζεο ηεο αλάιπζεο ηεο θάκεξαο θαζψο θαη ην ηκήκα ηεο κλήκεο πνπ ζα απνζεθεπζεί ε εηθφλα. ε πεξίπησζε πνπ δε δεζκεπζεί επηηπρψο ε ππνδνρή ή ε ζπλάξηεζε DSKeyeOpen δελ νινθιεξσζεί επηηπρψο, ηεξκαηίδεηαη ε ιεηηνπξγία ηνπ πξνγξάκκαηνο κε ηελ εκθάληζε ηνπ θαηάιιεινπ κελχκαηνο ζθάικαηνο ζην STDOUT. Γηαθνξεηηθά αθνινπζεί έλα αηέξκνλν while loop, ζην νπνίν εθηειείηε ν βαζηθφο θψδηθαο πνπ έρεη πινπνηεζεί. Ο βαζηθφο θψδηθαο θαίλεηαη ζην δηάγξακκα πνπ αθνινπζεί.

95 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 87 Listen Accept Receive No buffer[0:4] = ELLAB? Yes buffer[6] = A? No Gain = buffer[7:9] Yes Exposure = buffer[11] Get Resolution Set Width, Height DSKeye getframe Interpolate Jpeg Lwip_close Δηάγξακκα 4.2 Κπξίσο πξόγξακκα αηέξκνλνπ βξόρνπ

96 88 while(1==1) { listen(s, 10); cs = accept(s, &client_addr, &sock_len); recv(cs, (unsigned char*)buffer, 20, 0); if (!strncmp(buffer, "ELLAB", 5)) { switch (*(buffer+6)) { case 'A' : printf("auto Gain Detected\n");fflush(stdout); OV5610_RegWrite(OV5610_COMI, 0xc7);//set OV5610_COMI[2] break; default: printf("brightness Value: %d\n", atoi(buffer+7)); printf("exposure Value: %d\n",atoi(buffer+11)); OV5610_RegWrite(OV5610_COMI, 0xc2);//reset OV5610_COMI[2] OV5610_RegWrite(OV5610_GAIN, atoi(buffer+7)); OV5610_RegWrite(OV5610_AECH, atoi(buffer+11)*8); break; } switch (*(buffer+5)) { case 's' : if (CAM_params.frame_size!= SXGA) { if(dskeye_close(&cam_params)) SYS_abort("DSKcam_CAMclose SXGA"); CAM_params.frame_size = SXGA; x = DSKeye_SXGA_WIDTH; y = DSKeye_SXGA_HEIGHT; if(dskeye_open(&cam_params)) SYS_abort("DSKcam_CAMopen SXGA"); } break; case 'v' : if (CAM_params.frame_size!= VGA) { if(dskeye_close(&cam_params)) SYS_abort("DSKcam_CAMclose VGA"); CAM_params.frame_size = VGA; x = DSKeye_VGA_WIDTH; y = DSKeye_VGA_HEIGHT; if(dskeye_open(&cam_params)) SYS_abort("DSKcam_CAMopen VGA"); } break; case 'h' : if (CAM_params.frame_size!= HF){ if(dskeye_close(&cam_params)) SYS_abort("DSKcam_CAMclose HF");

97 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 89 CAM_params.frame_size = HF; x = DSKeye_HF_WIDTH; y = DSKeye_HF_HEIGHT; if(dskeye_open(&cam_params)) SYS_abort("DSKcam_CAMopen HF"); } break; default : printf("no Resolution Detected, Applying Default VGA (%dx%d)\n",dskeye_vga_width,dskeye_vga_height); fflush(stdout); if (CAM_params.frame_size!= VGA) { if(dskeye_close(&cam_params)) SYS_abort("DSKcam_CAMclose VGA"); CAM_params.frame_size = VGA; x = DSKeye_VGA_WIDTH; y = DSKeye_VGA_HEIGHT; if(dskeye_open(&cam_params)) SYS_abort("DSKcam_CAMopen VGA"); } break; } width=x; height=y; for(i=0;i<1;i++) // Allow AEC etc to settle SrcFrame=DSKeye_getFrame(); } } interpolate(srcframe, x, y); printf("interpolate complete...\n");fflush(stdout); jpeg(cs); lwip_close(cs); } Κώδηθαο 4.2 main ζπλάξηεζε Σν DSK πνπ ππνδχεηαη ην ξφιν ην δηαθνκηζηή, βξίζθεηαη ζε θαηάζηαζε αλακνλήο έσο φηνπ αθνχζεη έλα κήλπκα πνπ ηνπ απεπζχλεηαη. Όηαλ ιάβεη θάπνην κήλπκα, απφ ηελ θαηάζηαζε listen ζα βξεζεί ζηελ θαηάζηαζε accept connection, φπνπ ε ζχλδεζε κε ηνλ απνκαθξπζκέλν πειάηε έρεη πιένλ απνθαηαζηαζεί. ηε ζπλέρεηα εηζέξρεηαη ζε θαηάζηαζε ιήςεο (receive) φπνπ δέρεηαη δεδνκέλα απφ ηνλ απνκαθξπζκέλν πειάηε. Σα δεδνκέλα απηά ηνπνζεηνχληαη ζε έλαλ buffer. Αθνινπζεί ν έιεγρνο θαη ε αλάιπζε ησλ δεδνκέλσλ πνπ έιαβε. Σν κήλπκα πνπ αλακέλεη ψζηε λα ζπλερηζηεί ε δηαδηθαζία πξέπεη λα αξρίδεη κε ηε ιέμε ELLAB. Διέγρνληαη επνκέλσο ηα 5 πξψηα bytes ηνπ buffer. Αλ ηα δεδνκέλα δελ είλαη ηα ζσζηά, ηφηε επηζηξέθεη ζε θαηάζηαζε αλακνλήο ιήςεο θαηλνχξησλ δεδνκέλσλ. ε πεξίπησζε επηηπρνχο κελχκαηνο, ειέγρεηαη ην έβδνκν byte buffer[6] ηνπ κελχκαηνο. Ζ ηηκή απηή νξίδεη αλ ζα γίλεη απηφκαηε ξχζκηζε ηνπ θέξδνπο θαη ηεο ηηκήο έθζεζεο.

98 90 ην ζεκείν απηφ πξέπεη λα πεξηγξαθεί ν ηξφπνο απηφκαηεο θαη ρεηξνθίλεηεο ιεηηνπξγίαο ηνπ θέξδνπο θαη ηεο έθζεζεο. Ρπζκίδνληαο θαηάιιεινπο θαηαρσξεηέο ηεο θάκεξαο, κπνξνχκε λα νξίζνπκε ην νιηθφ θέξδνο (Global Gain) θαη ηνλ ρξφλν έθζεζεο (Exposure Time). Μπνξνχκε λα έρνπκε απηφκαηε ιεηηνπξγία φπνπ ε θάκεξα ζα επηιέμεη ηελ ηηκή ησλ δχν απηψλ παξακέηξσλ, ή ρεηξνθίλεηε ιεηηνπξγία, φπνπ νξίδνπκε φπσο εκείο επηζπκνχκε ηηο ηηκέο απηέο. Ο έιεγρνο ρεηξνθίλεηεο ή απηφκαηεο ιεηηνπξγίαο, γίλεηαη απφ ηνλ θαηαρσξεηή COMI[7:0] (Common Control I) κε δηεχζπλζε 0x13. Όζνλ αθνξά ην ρξφλν έθζεζεο έρνπκε γηα COMI[0]=0, ρεηξνθίλεηε ιεηηνπξγία, ελψ γηα COMI[0]=1 απηφκαηε. Δπίζεο γηα ην θέξδνο έρνπκε γηα ηελ ηηκή ηνπ θαηαρσξεηή COMI[2]=0 ρεηξνθίλεηε ιεηηνπξγία, ελψ γηα COMI[2]=1 απηφκαηε. ηελ απηφκαηε ιεηηνπξγία ειέγρεηαη ε κέζε ηηκή ηεο θσηεηλφηεηαο, ε ηηκή ηεο νπνίαο βξίζθεηαη ζηνλ θαηαρσξεηή YAVG κε δηεχζπλζε 0x2F. Ζ κέζε ηηκή ηνπ YAVG ππνινγίδεηαη απφ ηε κέζε ηηκή ησλ ρξσκαηηθψλ ζπληζησζψλ ζηνπο αληίζηνηρνπο θαηαρσξεηέο, κε ηε βνήζεηα ηεο ζρέζεο (BAVG[7:0] + GbAVG[7:0] + GrAVG[7:0] +RAVG[7:0]) x Αλ ε ηηκή ηνπ YAVG θπκαίλεηαη κεηαμχ κηαο κέγηζηεο θαη ειάρηζηεο ηηκήο, ε ηηκή απηή παξακέλεη σο έρεη. Ζ κέγηζηε θαη ειάρηζηε ηηκή νξίδεηαη ζηνπο θαηαρσξεηέο AEW κε δηεχζπλζε 0x24 θαη ΑΔΒ αληίζηνηρα κε δηεχζπλζε 0x25. ε πεξίπησζε πνπ δελ βξίζθεηαη κεηαμχ ηεο κέγηζηεο θαη ειάρηζηεο ηηκήο, ζα κεηψζεη ή ζα απμήζεη αληίζηνηρα, κε ζπγθεθξηκέλν βήκα θαη ξπζκφ, ηελ ηηκή ηνπ θαηαρσξεηή θέξδνπο GAIN (δηεχζπλζε 0x00) θαη ηελ ηηκή ηεο έθζεζεο έηζη ψζηε λα βξεζεί μαλά ε θσηεηλφηεηα εληφο ησλ νξίσλ. Ζ ηηκή ηεο έθζεζεο βξίζθεηαη ζε ηξεηο θαηαρσξεηέο. Έηζη ηα 6 πην ζεκαληηθά bits (AEC[16:11]) βξίζθνληαη ζηνλ θαηαρσξεηή AECH[5:0], ηα 8 ελδηάκεζα bits ζηνλ θαηαρσξεηή AEC θαη ηα 3 ιηγφηεξα ζεκαληηθά bits (AEC[2:0])ζηνλ θαηαρσξεηή COMB[2:0]. Σν βήκα θαη ν ξπζκφο κπνξνχλ επίζεο λα κεηαβιεζνχλ απφ ηνλ θαηαρσξεηή COMB (Common Control B). ηε ρεηξνθίλεηε ιεηηνπξγία, καο κέλεη κφλν λα ηξνπνπνηήζνπκε απεπζείαο ηνπο θαηαρσξεηέο GAIN[7:0] θαη AEC[16:0]. Σν θέξδνο κπνξεί εχθνια λα ππνινγηζηεί απφ ηε ζρέζε Gain = (GAIN [7]+1) x (GAIN [6]+1) x (GAIN [5]+1) x (GAIN [4]+1) x (1+ GAIN [3:0]/16). Γηα λα ηεζνχλ νη επηζπκεηέο ηηκέο ζηνπο θαηάιιεινπο θαηαρσξεηέο, εθηειείηε ε ζπλάξηεζε OV5610_RegWrite ε νπνία έρεη πεξηγξαθεί ζην API ηεο θάκεξαο. Δπηζηξέθνληαο ζην δηάγξακκα ξνήο, αλ ε ηηκή ηνπ buffer[6] ηζνχηαη κε Α, ηφηε ζεσξεί φηη ηα Global Gain θαη Exposure ξπζκίδνληαη απηφκαηα. ε δηαθνξεηηθή πεξίπησζε αθνινπζεί έλαο ηξηςήθηνο αξηζκφο ε ηηκή ηνπ νπνίνπ αληηζηνηρεί ζηελ ηηκή ηνπ θαηαρσξεηή Global Gain (θαηαρσξεηήο GAIN 0x00). Ζ ηηκή απηή βξίζθεηαη ζηηο ζέζεηο buffer[7:9]. Ο 8bit θαηαρσξεηήο ιακβάλεη ηηκέο απφ Αθνινπζεί ν έιεγρνο ηεο ηηκήο ηνπ ρξφλνπ έθζεζεο. Ο κνλνςήθηνο αξηζκφο πνπ νξίδεη ηελ ηηκή ηνπ αληίζηνηρνπ θαηαρσξεηή βξίζθεηαη ζηε ζέζε buffer[11]. Ζ ηηκή απηή επηιέρζεθε λα παίξλεη 5 ηππηθέο ηηκέο. Οη ηηκέο απηέο θαίλνληαη ζηνλ επφκελν πίλαθα.

99 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 91 Σηκή Exposure Σηκή AECH[5:0] Πίλαθαο 4.1 Σηκέο θαηαρσξεηή AECH Δλ ζπλερεία γίλεηαη αλάιπζε ηνπ κελχκαηνο φζνλ αθνξά ηελ επηζπκεηή αλάιπζε ιήςεο ηεο εηθφλαο. Ζ δηαδηθαζία απηή εμεγείηαη ζην επφκελν δηάγξακκα ξνήο.

100 92 buffer[5] = v? Yes OV5610_ResolutionVGA buffer[5] = h? No Yes OV5610_ResolutionHF No buffer[5] = s? Yes OV5610_ResolutionSXGA No Default OV5610_ResolutionVGA Δηάγξακκα 4.3 Εληνπηζκόο αλάιπζεο ιήςεο ηεο εηθόλαο Γηα ηνλ εληνπηζκφ ηεο επηζπκεηήο αλάιπζεο ιήςεο ηεο εηθφλαο, ειέγρεηαη ε ηηκή buffer[5]. Αλ ε ηηκή απηή ηζνχηαη κε ην ζχκβνιν v ηφηε θαιείηαη ε ζπλάξηεζε OV5610_ResolutionVGA, ε νπνία ζέηνληαο θαηάιιεινπο θαηαρσξεηέο ηεο θάκεξαο νξίδεη ζαλ αλάιπζε ιήςεο ηελ VGA (640x480). Αλ ε ζπλζήθε δελ είλαη αιεζήο, ηφηε ειέγρεηαη αλ ε ηηκή ηζνχηαη κε ην ζχκβνιν h. ε πεξίπησζε πνπ ε ζπλζήθε απηή είλαη αιεζήο, ηφηε ηίζεηαη σο αλάιπζε ε HF (320x200) θαιψληαο ηε ζπλάξηεζε OV5610_ResolutionHF. Με παξφκνηα ινγηθή γίλεηαη έιεγρνο γηα ην ζχκβνιν s ην νπνίν αληηζηνηρεί ζε αλάιπζε SXGA (1280x960) ελψ ζε πεξίπησζε πνπ δε ιάβεη θάπνην απφ ηα αλσηέξσ ζχκβνια, ηφηε πξνεπηιέγεηαη ε αλάιπζε VGA.

101 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 93 Δπηζηξέθνληαο ζην θπξίσο δηάγξακκα ξνήο θαη αθνχ αλαγλσξίζηεθε ε επηζπκεηή αλάιπζε ιήςεο, ηίζεληαη νη κεηαβιεηέο width θαη height ζηηο ζσζηέο ηηκέο. Οη ηηκέο απηέο είλαη απαξαίηεηεο γηα ηε δεκηνπξγία ηνπ SOF0 segment θαη είλαη απαξαίηεην λα είλαη γλσζηέο πξηλ αξρίζεη ε δηαδηθαζία θσδηθνπνίεζεο ζχκθσλα κε ην JPEG πξφηππν. πλερίδνληαο θαιείηαη ε ζπλάξηεζε DSKeye getframe. Όηαλ θαιείηαη ε ζπλάξηεζε απηή, θαιείηαη έλα semaphore κε ζθνπφ λα ζπγρξνληζηεί ε δηαδηθαζία ιήςεο ησλ δεδνκέλσλ απφ ηελ FIFO ηνπ FPGA. ην επφκελν βήκα αθνινπζεί ε δηαδηθαζία ηνπ interpolation. Οη ηηκέο ησλ εηθνλνζηνηρείσλ βξίζθνληαη πιένλ ζηε κλήκε ηνπ DSP ζε κνξθή Bayern. Θα πξέπεη ζην ζεκείν απηφ λα θαηαζθεπαζηνχλ νη ππφινηπεο ρξσκαηηθέο ζπληζηψζεο πνπ ιείπνπλ απφ θάζε εηθνλνζηνηρείν. ηε Bayern αλαπαξάζηαζε δηαζέηνπκε κφλν ην έλα απφ ηα ηξία εηθνλνζηνηρεία ηα νπνία αλήθνπλ ζην ρψξν RGB. Ζ δεκηνπξγία ησλ ππφινηπσλ ρξσκαηηθψλ ζπληζησζψλ ζα γίλεη παξεκβάιινληαο ηηο θαηάιιειεο ηηκέο ησλ γεηηνληθψλ εηθνλνζηνηρείσλ. Οη πεξηπηψζεηο παξεκβνιήο εμεγνχληαη κε ηε βνήζεηα ηνπ ζρήκαηνο πνπ αθνινπζεί. Εηθόλα 4.5 Παξεκβνιή RGB ζπληζησζώλ ηηο πεξηπηψζεηο (a) θαη (β), ζα ππνινγίζνπκε ηηο ζπληζηψζεο πνπ αληηζηνηρνχλ ζην θεληξηθφ πξάζηλν εηθνλνζηνηρείν. Έρνληαο ηελ πξάζηλε ζπληζηψζα, απνκέλεη λα ππνινγίζνπκε ηελ θφθθηλε θαη ηελ κπιε. Ζ ηηκή ηεο θφθθηλεο ζπληζηψζαο ππνινγίδεηαη απφ ηε κέζε ηηκή ησλ δχν γεηηνληθψλ θφθθηλσλ εηθνλνζηνηρείσλ θαη ε ηηκή ηεο κπιε ζπληζηψζαο, απφ ηε κέζε ηηκή

102 94 ησλ δχν γεηηνληθψλ κπιε εηθνλνζηνηρείσλ. ηελ πεξίπησζε (c) αλαθεξφκελνη ζην θεληξηθφ θφθθηλν εηθνλνζηνηρείν, ε ηηκή ηνπ πξάζηλνπ ππνινγίδεηαη απφ ηε κέζε ηηκή ησλ ηεζζάξσλ γεηηνληθψλ πξάζηλσλ εηθνλνζηνηρείσλ θαη ε ηηκή ηνπ κπιε απφ ηε κέζε ηηκή ησλ ηεζζάξσλ κπιε εηθνλνζηνηρείσλ. Αλάινγε ινγηθή αθνινπζνχκε ζηελ πεξίπησζε (d). void interpolate(unsigned char *img,int xs, int ys) { int i,y; unsigned int RBuff_ptr = 0; unsigned int GBuff_ptr = 0; unsigned int BBuff_ptr = 0; for (y=ys; y!=0; y--) { for (i=xs; i!=0; i--) { if( y & 1 ) { // Odd line BGBGBG... BG if( i & 1 ) {// R Bbuffer[BBuff_ptr++] = (*(img + i-1 + xs*(y-1))+(*(img + i+1 + xs*(y-1)))+(*(img + i-1 + xs*(y+1)))+(*(img + i+1 + xs*(y+1))))>>2; //B=0 blue[x-1][y-1]+blue[x+1][y-1]+blue[x-1][y+1]+blue[x+1][y+1] Gbuffer[GBuff_ptr++] = (*(img + i + xs*(y-1) )+(*(img + i-1 + xs*y ))+(*(img + i+1 + xs*y ))+(*(img + i + xs*(y+1))))>>2; // G Rbuffer[RBuff_ptr++] = (*(img + i + xs*y )); // R } else { // G Bbuffer[BBuff_ptr++] = (*(img + i + (y-1)*xs)+(*(img + i + (y+1)*xs)))>>1; // B Gbuffer[GBuff_ptr++] = (*(img + i + y*xs)); // G=0 Rbuffer[RBuff_ptr++] = (*(img + i-1 + y*xs)+(*(img + i+1 + y*xs)))>>1; // R=0 } } else {//Even line GRGRGRGR...GR if( i & 1 ) // G { Bbuffer[BBuff_ptr++] = (*(img + i-1 + y*xs)+(*(img + i+1 + y*xs)))>>1; // B=0 Gbuffer[GBuff_ptr++] = (*(img + i + y*xs)); // G Rbuffer[RBuff_ptr++] = (*(img + i + (y-1)*xs)+(*(img + i + (y+1)*xs)))>>1; // R=0 } else { // B

103 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 95 Bbuffer[BBuff_ptr++] = (*(img + i + xs*y)); // B Gbuffer[GBuff_ptr++] = (*(img + i + xs*(y-1))+(*(img + i-1 + xs*y))+(*(img + i+1 + xs*y))+(*(img + i + xs*(y+1))))>>2; // G=0 Rbuffer[RBuff_ptr++] = (*(img + i-1 + xs*(y-1))+(*(img + i+1 + xs*(y-1)))+(*(img + i-1 + xs*(y+1)))+(*(img + i+1 + xs*(y+1))))>>2; // R=0 } } } } } Κώδηθαο 4.3 πλάξηεζε interpolate() Αθνχ νινθιεξσζεί ε δηαδηθαζία παξεκβνιήο ησλ εηθνλνζηνηρείσλ, αθνινπζεί ε δηαδηθαζία θσδηθνπνίεζεο θαηά JPEG, ελψ ηέινο θαιείηαη ε ζπλάξηεζε lwip_close ε νπνία δηαθφπηεη ηελ TCP/IP ζχλδεζε πνπ είρε απνθαηαζηαζεί ζε πξνεγνχκελν βήκα. ηε ζπλέρεηα πεξηγξάθεηαη ε δηαδηθαζία θσδηθνπνίεζεο, ζχκθσλα κε πξφηππν JPEG. Ζ δηαδηθαζία πνπ αθνινπζεί αθνξά baseline DCT, φπνπ δελ έρεη γίλεη ππνδεηγκαηνιεςία γηα ιφγνπο απιφηεηαο ή γηα λα είκαζηε πην αθξηβείο ρξεζηκνπνηείηαη ππνδεηγκαηνιεςία 4:4:4 θαη κε ηα δεδνκέλα λα είλαη interleaved.

104 96 Set pointer Write SOI, APP0, DQT, SOF0, DHT, SOS Height < max height? No Byte Align Yes Write EOI Width < max width? Send Image Size Yes Send Image Data Fetch Convert MCU YCbCr No Reset pointer Process Y DU, Cb DU, CrDU Width+8 Height+8 Δηάγξακκα 4.4 Εθηέιεζε ζπλάξηεζεο JPEG

105

106 98 location = ypos * width + xpos; for (yp=0; yp<8; yp++) { for (xp=0; xp<8; xp++) { // convert to YCbCr YDU[pos] = (unsigned char)( ((YRtab[(Rbuffer[location])] + YGtab[(Gbuffer[location])] + YBtab[(Bbuffer[location])])>>16 ) - 128); CbDU[pos] = (unsigned char)( (CbRtab[(Rbuffer[location])] + CbGtab[(Gbuffer[location])] + CbBtab[(Bbuffer[location])])>>16 ) ; CrDU[pos] = (unsigned char)( (CrRtab[(Rbuffer[location])] + CrGtab[(Gbuffer[location])] + CrBtab[(Bbuffer[location])])>>16 ) ; location++; pos++; } location += width - 8; } } Κώδηθαο 4.5 πλάξηεζε fetch_convert_ycbcr_mcu () Σν επφκελν βήκα πνπ πεξηγξάθεηαη κε ηνλ ηίηιν Process Y,Cb,Cr DU πεξηγξάθεηαη ζην δηάγξακκα ξνήο πνπ αθνινπζεί. 2D DCT Quantize Zig Zag Encode DC Encode AC Write EOB Δηάγξακκα 4.5 Δηαδηθαζία θσδηθνπνίεζεο θάζε DU

107 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 99 Γηα ην θάζε DU αθνινπζνχληαη ηα βήκαηα ηνπ δηζδηάζηαηνπ δηαθξηηνχ κεηαζρεκαηηζκνχ ηνπ ζπλεκίηνλνπ, ηεο θβάληηζεο κε ηνλ θαηάιιειν πίλαθα αλάινγα κε ην είδνο ηεο ζπληζηψζαο πνπ θβαληίδνπκε, ηνπ κεηαζρεκαηηζκνχ θαηά zig zag, ηεο θσδηθνπνίεζεο εληξνπίαο ησλ DC θαη AC ζηαζεξψλ θαη ηέινο ηεο εηζαγσγήο ηνπ θαηάιιεινπ EOB κελχκαηνο. Αθνχ ζαξσζεί, ηκεκαηνπνηεζεί θαη θσδηθνπνηεζεί νιφθιεξε ε εηθφλα, θαιείηαη ε ζπλάξηεζε byte align. Σα δεδνκέλα ηεο θσδηθνπνηεκέλεο εηθφλαο πξέπεη λα είλαη πνιιαπιάζηα ηνπ ελφο byte. Ζ επηθεθαιίδα εμαζθαιίδεη ηε ζπλζήθε απηή, θάηη πνπ δε ζπκβαίλεη απαξαίηεηα θαη κε ηα δεδνκέλα πνπ έρνπλ θσδηθνπνηεζεί κε ηνπο θψδηθεο Huffman, αθνχ απηνί είλαη κεηαβιεηνχ κήθνπο. ε πεξίπησζε πνπ δελ ηθαλνπνηείηαη ε ζπλζήθε απηή ζπκπιεξψλνπκε κε 1 ηνλ απαξαίηεην αξηζκφ απφ bits (stuffing). Αθνινπζεί ε εγγξαθή ηνπ marker ηεξκαηηζκνχ ηεο εηθφλαο (ΔΟΗ, End Of Image). Να ζεκεηψζνπκε φηη ην marker EOI είλαη κνλαδηθφ θαη δελ εκθαλίδεηαη ζηελ θσδηθνπνηεκέλε ζεηξά ησλ bits. size=stop-start; //image size size=swap_bytes(size); //change endianness send(cs, (unsigned char*) &size, 4,0 ); //Send image size for(i=0;i<(stop-start)>>13;i++) //2^13=8192 { send(cs, (unsigned char*) &Image[i*8192], 8192,0 ); } send(cs, (unsigned char*) &Image[i*8192], (stop-start)%8192,0 ); printf("end...\n\n");fflush(stdout); pimage = &Image[0]; //reset image pointer Κώδηθαο 4.6 Απνζηνιή κεγέζνπο θαη ζπκπηεζκέλεο εηθόλαο Οη ηειηθέο δηαδηθαζίεο απφ ηελ πιεπξά ηνπ δηαθνκηζηή αθνξνχλ ηελ απνζηνιή ηνπ κεγέζνπο ηεο εηθφλαο. Ζ ηηκή απηή βξίζθεηαη κέζσ ηνπ αξρηθνχ pointer πνπ νξίζακε θαη ν νπνίνο ζε θάζε εγγξαθή ηεο θσδηθνπνηεκέλεο ζεηξάο ησλ bits απμάλεηαη θαηάιιεια, ψζηε λα δείρλεη ηελ επφκελε ζέζε ζηελ νπνία ζα γίλεη εγγξαθή. ηε ζπλέρεηα απνζηαινχκε θαη ηα ππφινηπα δεδνκέλα ηεο ζπκπηεζκέλεο πιένλ εηθφλαο. Ζ δηαδηθαζία πνπ εθηειείηαη θαηά ηε δηάξθεηα ηνπ αηέξκνλνπ βξφρνπ νινθιεξψλεηαη κε ην θιείζηκν ηεο TCP/IP ζχλδεζεο απφ ηε κεξηά ηνπ DSK, ελψ ν pointer πνπ νξίζακε ζηελ αξρή αξρηθνπνηείηαη έηζη λα δείρλεη θαη πάιη ηελ αξρή ηεο δεζκεπκέλεο κλήκεο ζηελ νπνία ηνπνζεηνχκε ηελ θσδηθνπνηεκέλε εηθφλα. Έλα πξάγκα πνπ πξέπεη λα ζεκεησζεί, είλαη ην γεγνλφο φηη ε απνζηνιή ησλ δεδνκέλσλ κέζσ ηεο θάξηαο DSKeye Gigabit, παξνπζηάδεη έλαλ πεξηνξηζκφ φζνλ αθνξά ην κέγεζνο ησλ δεδνκέλσλ πνπ δχλαηαη λα απνζηείιεη. Απηφ ζπκβαίλεη δηφηη ν Tx buffer (buffer απνζηνιήο δεδνκέλσλ) πνπ δηαζέηεη, φπσο ζεκεηψζεθε ζην 2 ν θεθάιαην έρεη κέγεζνο κφιηο 8Kbytes. Ο πεξηνξηζκφο απηφο αληηκεησπίδεηαη κε πνιιαπιέο εθηειέζεηο ηεο ζπλάξηεζεο ηνπ BSD API send().

108 Υλοπούηςη του GUI με το Labview Γηα ηνλ έιεγρν ηνπ ζπζηήκαηνο έρεη δεκηνπξγεζεί έλα GUI ην νπνίν ζα ειέγρεη κεξηθέο παξακέηξνπο φζνλ αθνξά ηε ιήςε ησλ εηθφλσλ. Οη παξάκεηξνη απηνί αθνξνχλ ηελ αλάιπζε ηεο εηθφλαο θαζψο θαη ηελ απηφκαηε ή ρεηξνθίλεηε ξχζκηζεο ηνπ νιηθνχ θέξδνπο θαη ηνπ ρξφλνπ έθζεζεο. Σν front panel ηνπ GUI θαίλεηαη ζην επφκελν ζρήκα. Εηθόλα 4.6 GUI Labview Ο ειεγθηήο IMAGE RESOLUTION επηηξέπεη ηελ επηινγή ηξηψλ δπλαηψλ αλαιχζεσλ, HF (320x200), VGA (640x480) θαη SXGA (1280x960). Σν Radio Button AUTO ON/OFF, επηηξέπεη απηφκαηε ή ρεηξνθίλεηε επηινγή ησλ ηηκψλ ηνπ νιηθνχ θέξδνπο θαη ηνπ ρξφλνπ έθζεζεο. Όηαλ επηιέγεηαη ην Radio Button, ηα δχν slider κπνξνχκε πιένλ λα ηα κεηαθηλήζνπκε. Ζ ηηκή ηνπ ρξφλνπ έθζεζεο ιακβάλεη ηέζζεξηο δηαθξηηέο ηηκέο ζχκθσλα κε ηνλ πίλαθα 4.1, ελψ καο επηηξέπεηαη λα επηιέμνπκε ηελ 8bit ηηκή ηνπ θαηαρσξεηή ηνπ νιηθνχ θέξδνπο. Παηψληαο ην θνπκπί GET IMAGE, απνζηέιιεηαη ην θαηάιιειν κήλπκα ζην DSK θαη ηέινο ε εηθφλα απνθσδηθνπνηείηαη απφ ην Labview θαη απεηθνλίδεηαη ζην δεμί κέξνπο ηνπ GUI, ελψ ην κέγεζνο ηεο εηθφλαο θαίλεηαη ζην αληίζηνηρν παξάζπξν Image Size ζην αξηζηεξφ θάησ κέξνο. Σν κέγεζνο απηφ ηεο εηθφλαο, πξνέξρεηαη απφ ηελ ηηκή ηνπ pointer ηελ νπνία απνζηέιινπκε πξηλ ζηείινπκε ηα θσδηθνπνηεκέλα δεδνκέλα. Σν block δηάγξακκα κπνξνχκε λα ην ρσξίζνπκε ζε ηξία επηκέξνπο ηκήκαηα. Σν πξψην ηκήκα αθνξά ην πάηεκα ηνπ θνπκπηνχ γηα ηε ιήςε ηεο εηθφλαο, θαζψο θαη ηελ ελεξγνπνίεζε ή κε ησλ δχν sliders πνπ ξπζκίδνπλ ην Global Gain θαη Exposure. Σν δεχηεξν ηκήκα αθνξά ηελ απνθαηάζηαζε ηεο επηθνηλσλίαο κεηαμχ GUI θαη DSP. ην ηκήκα απηφ πξέπεη λα απνζηαιεί ην

109 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 101 ζσζηφ κήλπκα ζην DSΚ θαζψο θαη λα ιάβεη ηε ζσζηή απάληεζε. ηε ζπλέρεηα απνζεθεχεη ηελ JPΔG εηθφλα ζην ζθιεξφ δίζθν. Σν ηξίην βήκα αλαιακβάλεη ηελ αλάγλσζε ηεο JPEG εηθφλαο απφ ην δίζθν, ηελ απνθσδηθνπνίεζή ηεο θαη ηελ απεηθφληζή ηεο ζην GUI. Εηθόλα 4.7 Πξώην ηκήκα GUI Αξρηθά βξηζθφκαζηε ζε έλα αηέξκνλν while loop, ην νπνίν ειέγρεη έλα case, πνπ κε ηε ζεηξά ηνπ ζα πάξεη ηελ ηηκή true φηαλ παηεζεί ην ΟΚ Button. Σν θνπκπί απηφ αληηζηνηρεί ζην θνπκπί κε ην νπνίν ιακβάλνπκε εηθφλεο.

110 102 Εηθόλα 4.8 Ok button Εηθόλα 4.9 Σκήκα ηνπ GUI πνπ ειέγρεη ην ok button Αλάινγα κε ην αλ είλαη επηιεγκέλν ή φρη ην Radio Button, ελεξγνπνηνχληαη ή φρη ηα δχν sliders. ε πεξίπησζε πνπ ην radio button δελ είλαη επηιεγκέλν, βξηζθφκαζηε ζε ιεηηνπξγία auto gain θαη auto exposure. Εηθόλα 4.10 Radio Button Εηθόλα 4.11 Σκήκα ηνπ GUI πνπ ειέγρεη ην radio button Με ην πάηεκα ηνπ OK Button, νη case ζπλζήθεο είλαη θαη νη δχν false, επνκέλσο ζηελ έμνδν ζα πεξάζεη ν ραξαθηήξαο A, ελψ ηα δχν sliders ζα είλαη απελεξγνπνηεκέλα θαη γθξίδα.

111 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 103 Εηθόλα 4.12 Με αιεζείο case ζπλζήθεο ε αληίζεηε πεξίπησζε ζηελ έμνδν ζα πεξάζεη απφ ηε κία case πεξίπησζε ν ραξαθηήξαο G αθνινπζνχκελνο απφ έλαλ ηξηςήθην αξηζκφ πνπ αληηζηνηρεί ζηελ ηηκή ηνπ GAIN CONTROL slider, Εηθόλα 4.13 Αιεζήο case ζπλζήθε Gain Control ελψ ε δεχηεξε case ζα βγάιεη ζηελ έμνδν ην ραξαθηήξα E αθνινπζνχκελν απφ ηελ ηηκή ηνπ EXPOSURE CONTROL slider.

112 104 Εηθόλα 4.14 Αιεζήο case ζπλζήθε Exposure ην δεχηεξν ηκήκα αλαιακβάλεηαη ε επηθνηλσλία κε ην DSK θαη ε απνζήθεπζε ηεο εηθφλαο ζην ζθιεξφ δίζθν. Εηθόλα 4.15 Δεύηεξν ηκήκα GUI

113 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 105 Ο ειεγθηήο IMAGE RESOLUTION ειέγρεη ηελ case ζπλζήθε κε ηελ νπνία επηιέγεηαη ε αλάιπζε ηεο εηθφλαο. Εηθόλα 4.16 Ειεγθηήο Image resolution Εηθόλα 4.17 Σκήκα ηνπ GUI πνπ ειέγρεη ηνλ ειεγθηή image resolution Οη case ζπλζήθεο αλαιακβάλνπλ λα απνζηείινπλ ην κήλπκα ELLAB αθνινπζνχκελν απφ ηνλ ραξαθηήξα h,v ή s, θαζψο θαη ηε ζσζηή αλάιπζε, ηελ νπνία ζα ρεηξηζηεί ην ηξίην ηκήκα γηα ηελ απεηθφληζε ηεο αλάινγεο αλάιπζεο. Εηθόλα 4.18 Case ζπλζήθε γηα αλάιπζε HF Εηθόλα 4.19 Case ζπλζήθε γηα αλάιπζε VGA

114 106 Εηθόλα 4.20 Case ζπλζήθε γηα αλάιπζε SXGA Όζνλ αθνξά ηελ απνθαηάζηαζε ηεο TCP/IP eεπηθνηλσλίαο, αξρηθά ρξεζηκνπνηείηαη ην block TCP OPEN. Γέρεηαη δχν νξίζκαηα, ην έλα είλαη ε δηεχζπλζε ηνπ δηαθνκηζηή, δειαδή ηεο DSKeye θάξηαο κε ηελ νπνία ζπλδέεηαη ην GUI, θαζψο θαη ηε ζχξα 80 ζηελ νπνία επηθνηλσλνχκε. Εηθόλα 4.21 Απνθαηάζηαζε TCP/IP επηθνηλσλίαο θαη εγγξαθή δεδνκέλσλ ηε ζπλέρεηα ηξνθνδνηείηαη ην block TCP WRITE ην νπνίν ζηέιλεη ζην DSK ην θαηαιιήισο δηακνξθσκέλν κήλπκα. Γηα ηε ζσζηή δηακφξθσζε ηνπ κελχκαηνο ρξεζηκνπνηείηαη ην block Concatenate Strings.

115 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 107 Εηθόλα 4.22 ρεκαηηζκόο κελύκαηνο ειέγρνπ Αθνινχζσο, αλακέλνπκε ηα δεδνκέλα απφ ην DSK ρξεζηκνπνηψληαο ην block TCP READ. Σα πξψηα ηέζζεξα bytes απνηεινχλ ην κέγεζνο ηεο εηθφλαο. Ζ ηηκή απηή ζα ηξνθνδνηεζεί ζε έλα δεχηεξν TCP READ block θαζψο θαη ζηνλ ειεγθηή Image Size. Σα δεδνκέλα ηεο εηθφλαο απνζεθεχνληαη κε ην φλνκα capture.jpg ζηνλ ζθιεξφ δίζθν ηνπ ππνινγηζηή φπνπ εθηειείηαη ην GUI. Σν ηξίην θαη ηειεπηαίν ηκήκα αλαιακβάλεη ην ζρεκαηηζκφ ηεο πεξηνρήο φπνπ ζα απεηθνληζζεί ε εηθφλα, ελψ δηαβάδεη ην αξρείν capture.jpg ην νπνίν απνθσδηθνπνηεί θαη απεηθνλίδεη. Υξεζηκνπνηνχληαη ηα vi s Read Jpeg File θαη Draw Flattened Pixmap.

116 108 Εηθόλα 4.23 Σξίην ηκήκα GUI 4.5 Αποτελϋςματα ηε ζπλέρεηα παξαηίζεληαη ηα απνηειέζκαηα ηνπ ζπζηήκαηνο. ηελ πξψηε εηθφλα γίλεηαη ιήςε κε απηφκαηεο παξακέηξνπο νιηθνχ θέξδνπο θαη ρξφλνπ έθζεζεο.

117 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 109 Εηθόλα 4.24 Λήςε κε απηόκαηεο παξακέηξνπο Καηά ηε δηαδηθαζία ηεο ιήςεο έγηλε αλίρλεπζε ησλ παθέησλ πνπ ζηάιζεθαλ κέζσ TCP/IP κε ηε βνήζεηα ηνπ πξνγξάκκαηνο Wireshark. Καηά ηελ απνζηνιή ηνπ κελχκαηνο απφ ην γξαθηθφ πεξηβάιινλ ζην DSK, παξαηεξνχκε ζε ASCII αλαπαξάζηαζε ην κήλπκα ELLABvA ην νπνίν αληηζηνηρεί ζε ιήςε εηθφλαο ζε αλάιπζε VGA (640x480) κε απηφκαηεο ηηο παξακέηξνπο νιηθνχ θέξδνπο θαη ρξφλνπ έθζεζεο. Εηθόλα 4.25 Έιεγρνο απεζηαικέλσλ παθέησλ από ην δηαθνκηζηή (GUI) Σν DSK αληαπνθξίλεηαη κε ην κέγεζνο ηεο εηθφλαο αθνινπζνχκελν απφ ηα θσδηθνπνηεκέλα δεδνκέλα.

118 110 Εηθόλα 4.26 Έιεγρνο αξρήο απεζηαικέλσλ παθέησλ από ηνλ πειάηε (DSK) Δίλαη εκθαλήο ε 32bit ιέμε (0x000066FD=26365dec) ε νπνία αληηζηνηρεί ζην κέγεζνο ηεο εηθφλαο. ηε ζπλέρεηα παξαηεξνχκε ην SOI marker 0xFFD8 αθνινπζνχκελν απφ ην APP0 marker 0xFFE0. Αλ αθνινπζήζνπκε ηε ζεηξά ησλ bits ζα παξαηεξήζνπκε ηε ζσζηή δνκή ηεο θεθαιίδαο ηνπ JPEG αξρείνπ. Εηθόλα 4.27 Έιεγρνο ηέινπο απεζηαικέλσλ παθέησλ από ηνλ πειάηε (DSK) ην ηέινο ηεο εηθφλαο παξαηεξνχκε ην EOI marker 0xFFD9 ην νπνίν θαζνξίδεη ην ζεκείν ζην νπνίν νινθιεξψλεηαη ε θσδηθνπνίεζε. Αθνινπζεί ιήςε εηθφλαο ζε αλάιπζε VGA, φπνπ έρνπλ κεηαβιεζεί νη ηηκέο πνπ ζα ηνπνζεηεζνχλ ζηνπο θαηαρσξεηέο, νιηθνχ θέξδνπο θαη ρξφλνπ έθζεζεο, ηεο θάκεξαο.

119 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 111 Εηθόλα 4.28 Λήςε κε απμεκέλν νιηθό θέξδνο θαη ρξόλν έθζεζεο Εηθόλα 4.29 Λήςε κε κεησκέλν νιηθό θέξδνο θαη ρξόλν έθζεζεο

120 Συμπερϊςματα - προτϊςεισ ηελ εξγαζία απηή θάλεθαλ νη δπλαηφηεηεο ελφο ζπζηήκαηνο κε DSP γηα ιήςε θσδηθνπνίεζε θαη απνζηνιή εηθφλαο. Ζ επηηπρήο νινθιήξσζε ηνπ ζπζηήκαηνο απαηηνχζε ηε δηεξεχλεζε ησλ δπλαηνηήησλ ησλ θάζε ζπζθεπψλ φζνλ αθνξά ηηο δπλαηφηεηεο ζρεηηθά κε ηελ ππνινγηζηηθή ηζρχ θαη ηε δηαζέζηκε κλήκε. Απαηηνχζε επίζεο πνιχ θαιή γλψζε ηεο αξρηηεθηνληθήο ησλ ζπζθεπψλ πνπ ην απνηεινχλ, ε νπνία κε ηε ζεηξά ηεο έδσζε ηε δπλαηφηεηα ζσζηήο δηαρείξηζεο ησλ δεδνκέλσλ. Ζ θαηαλφεζε ησλ ιεπηνκεξεηψλ ηνπ πξνηχπνπ ζπκπίεζεο βνήζεζε ζηελ αλάπηπμε ηεο εθαξκνγήο. Ο ηξφπνο κε ηνλ νπνίν επηηπγράλεηαη ε επηθνηλσλία ππήξμε θαζνξηζηηθήο ζεκαζίαο γηα ηελ αλάπηπμε ηνπ γξαθηθνχ πεξηβάιινληνο. Ζ εξγαζία απηή κπνξεί λα απνηειέζεη βάζε γηα ηελ νινθιήξσζε ελφο πην εμειηγκέλνπ ζπζηήκαηνο ιήςεο εηθφλσλ, ην νπνίν ζα ζπκπεξηιακβάλεη θσδηθνπνίεζε ζχκθσλα κε πξφηππα πνπ βαζίδνληαη ζε παξφκνηεο δηαδηθαζίεο ζπκπίεζεο κε ην JPEG. Ζ επηινγή ελφο DSP θαζηζηά επθνιφηεξε ηελ πινπνίεζε ηνπ ζπζηήκαηνο, αθνχ ε ζπγγξαθή ηνπ θψδηθα γίλεηαη ζε γιψζζα πςεινχ επηπέδνπ φπσο είλαη ε c. Παξφια απηά ην επφκελν βήκα φζνλ αθνξά ηελ εμέιημε απηήο ηεο εξγαζίαο, ζα ήηαλ ε ζπγγξαθή θψδηθα ζε γιψζζα assembly γηα ηνλ tms320c6416t ή παξφκνην επεμεξγαζηή. Μία αθφκα ελαιιαθηηθή ιχζε είλαη ε απνζχλδεζε ηεο δηαδηθαζίαο θσδηθνπνίεζεο απφ ηνλ DSP, κε ηνλ JPEG αιγφξηζκν λα πινπνηείηαη εμνινθιήξνπ ζε έλα FPGA κε ζπγγξαθή ηνπ αιγνξίζκνπ ζε γιψζζα VHDL. Με ηνλ ηξφπν απηφ ζα βειηησζεί ν ρξφλνο εθηέιεζεο ηνπ αιγνξίζκνπ δίλνληαο επηπιένλ δπλαηφηεηεο γηα ζρεδίαζε ζπζηήκαηνο γηα ιήςε θηλνχκελσλ πιένλ εηθφλσλ. Να ζεκεηψζνπκε φηη ην FPGA πνπ δηαζέηεη ε πξφζζεηε θάξηα DSKeye δελ είλαη αξθεηφ γηα λα ρσξέζεη έλαλ JPEG θσδηθνπνηεηή. Ζ ινγηθή πνπ έρεη ήδε πινπνηεζεί ζην FPGA (DSKeye_base design) θαζψο θαη νη πφξνη πνπ απαηηνχληαη γηα έλαλ GNU LGPL JPEG θσδηθνπνηεηή γξακκέλν ζε vhdl [28], θαίλνληαη ζηνλ πίλαθα πνπ αθνινπζεί. FPGA EP2C8Q208C7 Resource Usage DSKeye_base design JPEG encoder Total logic elements 573 / 8,256 ( 7 % ) 16,911 / 8,256 ( 205 % ) Total registers 339 / 8,646 ( 4 % ) 7,947 / 8,646 ( 92 % ) Total block memory bits 13,824 / 165,888 ( 8 % ) 944,640 / 165,888 ( 569 % ) M4Ks 3 / 36 ( 8 % ) 205 / 36 ( 569 % ) Embedded Multiplier 9-bit 0 / 36 ( 0 % ) 4 / 36 ( 11 % ) elements Πίλαθαο 4.2 Υξήζε πόξσλ EP2C8Q208C7 FPGA (Ο JPEG κωδικοποιηηής αναθέρεηαι ζε baseline JPEG με κεθαλίδα JFIF, σποδειγμαηοληψία 4:2:2, 50% ποιόηηηα, μέγιζηη ανάλσζη εικόνας 640x480 και με 24bit RGB είζοδο) Παξαηεξνχκε δειαδή φηη ρξεζηκνπνηείηαη κφλν έλα κηθξφ κέξνο ησλ δηαζέζηκσλ πφξσλ ηνπ FPGA, ελψ ηαπηφρξνλα δελ είλαη αξθεηφ γηα λα ππνζηεξίμεη πιήξσο έλαλ JPEG θσδηθνπνηεηή.

121 Υλοπούηςη του ςυςτόματοσ, Αποτελϋςματα, Προτϊςεισ 113 Μεξηθά απφ ηα πξφηππα πνπ αθνξνχλ θσδηθνπνίεζε θηλνχκελσλ εηθφλσλ θαη πνπ αθνινπζνχλ παξφκνηεο δηαδηθαζίεο θσδηθνπνίεζεο κε απηέο πνπ πεξηγξάςακε, είλαη ην motion- JPEG (M-JPEG) ή ην MPEG. Ζ ελαιιαθηηθή απηή πξνηείλεηαη κφλν εθφζνλ βειηησζνχλ νη ρξφλνη εθηέιεζεο ζε ηέηνην βαζκφ, ψζηε λα είλαη δπλαηή ε ιήςε πνιιαπιψλ εηθφλσλ ζε ρξφλνπο κηθξφηεξνπο απφ έλα δεπηεξφιεπην. Σέινο έλαο DSP καο δίλεη ηε δπλαηφηεηα λα πινπνηήζνπκε πιεζψξα απφ αιγνξίζκνπο, είηε απηνί αθνξνχλ θσδηθνπνίεζε αθίλεησλ εηθφλσλ, video ή αθφκα θαη ήρνπ.

122 114

123 Παρϊρτημα Α EDMA και QDMA μεταφορϊ Ειςαγωγή ηελ παξάγξαθν απηή πεξηγξάθεηαη ε θνηλή ιεηηνπξγία ηνπ ειεγθηή EDMACC (Enhanced Direct Memory Access Channel Controller) ζηνλ ςεθηαθφ επεμεξγαζηή TMS320C6416T. Πεξηγξάθεηαη επίζεο θαη ε γξήγνξε DMA κεηαθνξά (Quick DMA), πνπ ρξεζηκνπνηείηαη γηα απεπζείαο αηηήζεηο δεδνκέλσλ απφ ηελ θεληξηθή επεμεξγαζηηθή κνλάδα. Ο ειεγθηήο EDMA ειέγρεη φιεο ηηο κεηαθνξέο δεδνκέλσλ κεηαμχ ηνπ ειεγθηή ηεο L2 cache/κλήκεο θαη ησλ πεξηθεξεηαθψλ πνπ ζπλδένληαη ζην DSP. Παξέρεη ζεκαληηθέο βειηηψζεηο ζε ζχγθξηζε κε ηνλ DMA ειεγθηή πνπ ρξεζηκνπνηείηαη ζε άιινπο επεμεξγαζηέο ηεο νηθνγέλεηαο C6000, φπσο ρξήζε 64 θαλαιηψλ γηα ηηο κεηαθνξέο, κε πξνηεξαηφηεηεο πνπ κπνξνχλ λα ειεγρζνχλ πξνγξακκαηηζηηθά θαη ηε δπλαηφηεηα γηα ζχλδεζε θαη αιπζηδσηή κεηαθνξά δεδνκέλσλ. Ο ειεγθηήο επηηξέπεη κεηαθνξέο απφ θαη πξνο νπνηαδήπνηε δηεπζπλζηνδνηεκέλε πεξηνρή, ζπκπεξηιακβαλνκέλσλ ηεο L2 εζσηεξηθήο κλήκεο, ησλ πεξηθεξεηαθψλ θαη ηεο εμσηεξηθήο κλήκεο.

124 116 Ο EDMA ειεγθηήο απνηειείηαη απφ δχν πξσηεχνληα ζπζηαηηθά. Σνλ ειεγθηή κεηαθνξψλ (EDMATC, Enhanced Direct Memory Transfer Controller) θαη ηνλ ειεγθηή θαλιηνχ (EDMACC, Enhanced Direct Memory Access Channel Controller). Ο EDMATC ρεηξίδεηαη φιεο ηηο κεηαθνξέο πνπ αθνξνχλ ηνλ ειεγθηή ηεο L2 cache/κλήκεο, νηηδήπνηε είλαη δηαζπλδεκέλν ζηε δηεπαθή EMIF θαζψο θαη ηα πεξηθεξεηαθά. Ο EDMACC απνηειεί ην πξνγξακκαηηδφκελν ηκήκα ηνπ EDMA θαη ππνζηεξίδεη έλα επέιηθην θαη ηζρπξφ ζχλνιν κεηαθνξψλ. Μεξηθά παξαδείγκαηα είλαη ε κνλνδηάζηαηε κεηαθνξά, ε δηζδηάζηαηε κεηαθνξά, ελψ ππνζηεξίδνληαη επέιηθηεο ππξνδνηήζεηο δεπηεξεπνπζψλ κεηαθνξψλ ε αιπζηδσηψλ κεηαθνξψλ. Εηθόλα Α.1 Block δηάγξακκα TMS320C6416T επεμεξγαζηή Σν block δηάγξακκα ηνπ ειεγθηή EDMA θαίλεηαη ζηελ επφκελε εηθφλα.

125 EDMA και QDMA μεταφορϊ 117 Εηθόλα Α.2 Block δηάγξακκα ηνπ EDMA ειεγθηή Σα βαζηθά ηκήκαηα πνπ ηνλ απνηεινχλ είλαη κία κλήκε ζηελ νπνία απνζεθεχνληαη νη παξάκεηξνη ηεο κεηαθνξάο θαη νλνκάδεηαη PaRAM (Parameter Ram). Πεξηέρεη πιεξνθνξίεο πνπ αθνξνχλ ην είδνο ηεο κεηαθνξάο, ην θαλάιη πνπ ρξεζηκνπνηείηαη θαη κεηαμχ άιισλ αλ ε κεηαθνξά ππξνδνηείηαη απφ κία άιιε κεηαθνξά. Πεξηέρεη επίζεο θαηαρσξεηέο ζπκβάλησλ θαη δηαθνπψλ (event and interrupt registers). Ο έιεγρνο απηψλ επηηξέπεη ηελ ππξνδφηεζε κηαο κεηαθνξάο, κηαο δηαθνπήο ή αθφκα εθθαζάξηζε δηαθνπψλ θαηά ηελ νινθιήξσζε κηαο άκεζεο πξνζπέιαζεο ηεο κλήκεο (DMA). Σν ηξίην βαζηθφ ηκήκα απνηειεί ηελ αλίρλεπζε νινθιήξσζεο ηεο κεηαθνξάο (Completion Detect). Ζ αλίρλεπζε ηεο νινθιήξσζεο κπνξεί λα ρξεζηκνπνηεζεί γηα λα πξνθαιέζεη λέεο κεηαθνξέο ή λα ελεξγνπνηήζεη δηαθνπέο ζηνλ επεμεξγαζηή. Ο ζπρλφηεηα ηνπ ξνινγηνχ γηα ηελ EDMA κεηαθνξά ζηνλ TMS320C6416T ηζνχηαη κε ηε κηζή ζπρλφηεηα ιεηηνπξγίαο ηνπ επεμεξγαζηή, δειαδή θηάλεη ηα 500MHz. Ο ειεγθηήο EDMACC βαζίδεηαη ζε αξρηηεθηνληθή ηχπνπ RAM. Ζ PaRAM απνηειείηαη απφ κηα ζεηξά παξακέηξσλ πνπ ζρεηίδνληαη κε ην είδνο ηεο ζπζθεπήο. Οη παξάκεηξνη ηνπ θαλαιηνχ κπνξνχλ λα ελεξγνπνηεζνχλ κε δηάθνξεο κεζφδνπο φπσο απφ έλα ζπκβάλ, κηα αιπζηδσηή κεηαθνξά ή απφ ηε CPU. Οη παξάκεηξνη ζχλδεζεο πνπ ζρεηίδνληαη κε αιπζηδσηέο κεηαθνξέο, κπνξνχλ λα ηεζνχλ θαηά ηελ νινθιήξσζε κηαο κεηαθνξάο θαη απηφ κπνξεί λα γίλεη απηνκαηνπνηεκέλα. Ζ απηφκαηε δηαρείξηζε επηηξέπεη ζηελ θεληξηθή κνλάδα επεμεξγαζίαο λα

126 118 θαζνξίζεη άιιεο παξακέηξνπο πνπ είλαη απαξαίηεηεο γηα ηε κεηαθνξά, θεξδίδνληαο κε απηφλ ηνλ ηξφπν ηαρχηεηα. Οη παξάκεηξνη γηα έλα EDMA ζπκβάλ νξγαλψλνληαη ζε έμη ιέμεηο εχξνπο 32bit. Εηθόλα Α.3 Παξάκεηξνη κλήκεο EDMA κεηαθνξάο Ζ πξψηε ιέμε πεξηέρεη παξακέηξνπο ηνπ θαλαιηνχ θαη ηηηινθνξείηαη OPT (channel options). Ζ δεχηεξε ιέμε πεξηέρεη ηε δηεχζπλζε ηνπ θαλαιηνχ πεγήο SRC (EDMA channel source address). Πεξηέρεη πιεξνθνξίεο πνπ αθνξνχλ ηε δηεχζπλζε ησλ δεδνκέλσλ πνπ πξφθεηηαη λα κεηαθεξζνχλ. Ζ επφκελε ιέμε απνηειείηαη απφ έλαλ κεηξεηή πίλαθα ή θαξέ FRMCNT (array/frame count), θαζψο θαη έλαλ κεηξεηή ζηνηρείσλ ELECNT (element count). Ο κεηξεηήο πίλαθα ζρεηίδεηαη κε ηε δηζδηάζηαηε κεηαθνξά ελψ ν κεηξεηήο θαξέ κε ηε κνλνδηάζηαηε κεηαθνξά. Ζ ηέηαξηε ιέμε πεξηέρεη ηε δηεχζπλζε ηνπ θαλαιηνχ πξννξηζκνχ DST (EDMA channel destination address). Πεξηέρεη πιεξνθνξίεο φζνλ αθνξά ηε δηεχζπλζε ζηελ νπνία ζα ηνπνζεηεζνχλ ηα δεδνκέλα αθνχ γίλεη ε κεηαθνξά. Ζ πέκπηε ιέμε πεξηέρεη ηνλ δείθηε πίλαθα ή θαξέ FRMIDX (array/frame index), θαζψο θαη ηνλ δείθηε ζηνηρείσλ ELEIDX (element index). Ζ έθηε θαη ηειεπηαία ιέμε πεξηέρεη ηελ επαλαθφξησζε ηνπ κεηξεηή ζηνηρείσλ ELERLD (element reload) θαζψο θαη ηε δηεχζπλζε ζχλδεζεο LINK (link address). Είδη EDMA μεταφορών Δίλαη δπλαηφλ λα ππάξμνπλ δχν εηδψλ κεηαθνξέο. Πξφθεηηαη γηα ηε κνλνδηάζηαηε 1D θαη ηε δηζδηάζηαηε 2D. Καηάιιειν πεδίν ζηελ παξάκεηξν θαλαιηνχ OPT νξίδεη ην είδνο ηεο κεηαθνξάο. Ο αξηζκφο ηεο δηάζηαζεο θαζνξίδεη πσο ζα κεηαθεξζνχλ ηα δεδνκέλα. ηε κνλνδηάζηαηε κεηαθνξά έλαο αξηζκφο απφ ζηνηρεία απνηεινχλ ην θαξέ (frame) ελψ ζηε δηζδηάζηαηε κεηαθνξά block ζηνηρείσλ απνηεινχλ ηνλ πίλαθα. Μονοδιάςτατη μεταφορά 1D ηε κνλνδηάζηαηε κεηαθνξά έλαο αξηζκφο ζηνηρείσλ, πνπ ηζνχηαη κε ηελ παξάκεηξν ηνπ κεηξεηή ζηνηρείσλ element count, απαξηίδνπλ ην θαξέ. Κάζε θαξέ πνπ απνηειείηαη απφ ηα

127 EDMA και QDMA μεταφορϊ 119 δεδνκέλα πνπ πξφθεηηαη λα κεηαθεξζνχλ ζρεηίδεηαη κε κία δηάζηαζε πνπ ππνδεηθλχεη ηνλ αξηζκφ ησλ ζηνηρείσλ ελφο θαξέ. Σα EDMA θαλάιηα κπνξνχλ λα παξακεηξνπνηεζνχλ γηα λα κεηαθέξνπλ πνιιαπιά θαξέ ή blocks απφ θαξέ, αιιά γηα ην θάζε θαξέ ππάξρεη κνλαδηθφο ρεηξηζκφο. Ζ παξάκεηξνο frame count δείρλεη ηνλ αξηζκφ ησλ θαξέ ζε κία κνλνδηάζηαηε κεηαθνξά. Μία κνλνδηάζηαηε κεηαθνξά κπνξεί λα ζεσξεζεί ζαλ δηζδηάζηαηε αλ ε δεχηεξε δηάζηαζε ηζνχηαη κε 1. ηελ επφκελε εηθφλα θαίλεηαη έλα δείγκα θαξέ κίαο δηάζηαζεο κε element count=m. Εηθόλα Α.4 Μνλνδηάζηαηε κεηαθνξά δεδνκέλσλ Σα ζηνηρεία πνπ πεξηέρνληαη ζε έλα block κπνξεί λα βξίζθνληαη ζηελ ίδηα δηεχζπλζε, ζε ζπλερφκελεο δηεπζχλζεηο ή ζε έλα offset ζε ζρέζε κε θάπνηα άιιε δηεχζπλζε. Σν offset απηφ κπνξεί λα θαζνξηζηεί. Οη δηεπζχλζεηο ησλ ζηνηρείσλ κπνξεί λα απέρνπλ κεηαμχ ηνπο ζπγθεθξηκέλε απφζηαζε ε νπνία θαζνξίδεηαη απφ ηελ παξάκεηξν element index (ELEIDX), ελψ νη δηεπζχλζεηο ηνπ πξψηνπ ζηνηρείνπ ηνπ θάζε θαξέ έρεη ζπγθεθξηκέλε απφζηαζε απφ έλα ζηνηρείν ηνπ πξνεγνχκελνπ θαξέ ην νπνίν θαζνξίδεηαη απφ ηελ παξάκεηξν frame index (FRMIDX). Αθνχ κεηαθεξζεί έλα πιήξεο θαξέ ν κεηξεηήο ζηνηρείσλ element count κεδελίδεηαη. Δπνκέλσο φηαλ έρνπκε πνιιαπιή κεηαθνξά θαξέ, ε παξάκεηξνο element count πξέπεη λα επαλαθνξηψλεηαη απφ ην πεδίν element reload. Οη κεηαθνξέο δηελεξγνχληαη κε έλα ζηνηρείν ηε θνξά φηαλ έρνπκε ζπγρξνληζκφ ζηνηρείσλ ή έλα θαξέ ηε θνξά φηαλ έρνπκε ζπγρξνληζκφ θαξέ. Ζ ιεηηνπξγία απηή ηίζεηαη απφ θαηάιιειε παξάκεηξν. Μονοδιάςτατη μεταφορά με ςυγχρονιςμό ςτοιχείων (Element Synchronised 1D Transfer) ην είδνο απηφ κεηαθνξάο, έρνπκε κεηαθνξά ελφο κφλν ζηνηρείνπ φηαλ ζπκβεί ην θαηάιιειν γεγνλφο ζπγρξνληζκνχ. Όηαλ ην θαλάιη ιάβεη ην γεγνλφο απηφ, απνζηέιιεη κηα αίηεζε κεηαθνξάο ζηνλ εμππεξεηεηή DMA. Ο EDMA ειεγθηήο θαλαιηνχ κεηψλεη ηελ παξάκεηξν element count θαηά 1 ζηελ Ram παξακέηξσλ. Όηαλ ε ηηκή ELECNT ιάβεη ηελ ηηκή 1 (ην νπνίν ππνδεηθλχεη φηη βξηζθφκαζηε ζην ηειεπηαίν ζηνηρείν ηνπ θαξέ), ν EDMA ειεγθηήο αληαπνθξίλεηαη ζηελ αίηεζε κεηαθνξάο. ηε ζπλέρεηα γίλεηαη επαλαθφξησζε ηνπ element count κε ηελ 16bit ηηκή ηνπ element reload, ελψ ηαπηφρξνλα κεηψλεηαη ε ηηκή ηνπ κεηξεηή θαξέ (FRMCNT) θαηά 1. Ζ παξάκεηξνο ηνπ δείθηε ζηνηρείσλ (element index) ρξεζηκνπνηείηαη γηα λα

128 120 ππνινγηζηεί ε δηεχζπλζε ηνπ επφκελνπ ζηνηρείνπ ηνπ θαξέ. Παξνκνίσο ν δείθηεο θαξέ (frame index) πξνζηίζεηαη ζηε δηεχζπλζε ηνπ ηειεπηαίνπ ζηνηρείνπ ηνπ θαξέ γηα λα παξαρζεί ε δηεχζπλζε ηεο αξρήο ηνπ λένπ θαξέ. Οη κεηαβνιέο ζηε δηεχζπλζε αιιά θαη ζηνπο κεηξεηέο εμαξηάηαη απφ ην είδνο ηεο κεηαθνξάο. Εηθόλα Α.5 Μνλνδηάζηαηε κεηαθνξά κε ζπγρξνληζκό ζηνηρείσλ Μονοδιάςτατη μεταφορά με ςυγχρονιςμό καρζ (Frame Synchronised 1D Transfer) ην είδνο απηφ κεηαθνξάο, έρνπκε κεηαθνξά ελφο κφλν θαξέ φηαλ ζπκβεί ην θαηάιιειν γεγνλφο ζπγρξνληζκνχ. Ο δείθηεο θαξέ δελ δείρλεη πιένλ ηε δηαθνξά κεηαμχ ησλ δηεπζχλζεσλ ηνπ ηειεπηαίνπ ζηνηρείνπ ηνπ ελφο θαξέ, κε ην πξψην ζηνηρείν ηνπ επφκελνπ. Γείρλεη ηε δηαθνξά ησλ δηεπζχλζεσλ κεηαμχ ηεο αξρήο ηνπ θάζε θαξέ. Ο ζπγρξνληζκφο ηεο κεηαθνξάο ηνπ θάζε θαξέ γίλεηαη απφ ην θαλάιη. Ο δείθηεο θαξέ (frame index) πξνζηίζεηαη ζηε δηεχζπλζε ηνπ πξψηνπ ζηνηρείνπ γηα λα δείμεη ηε δηεχζπλζε ηνπ επφκελνπ θαξέ. Ζ επαλαθφξησζε κεηξεηή ζηνηρείνπ δε ρξεζηκνπνηείηαη ζε απηφ ην είδνο ηεο κεηαθνξάο.

129 EDMA και QDMA μεταφορϊ 121 Εηθόλα Α.6 Μνλνδηάζηαηε κεηαθνξά κε ζπγρξνληζκό θαξέ Διςδιάςτατη μεταφορά 2D Σν είδνο απηφ ηεο κεηαθνξάο είλαη ρξήζηκν ζε εθαξκνγέο επεμεξγαζίαο εηθφλαο, φπνπ έλαο ζπλερφκελνο αξηζκφο ζηνηρείσλ πξέπεη λα κεηαθεξζνχλ. Απηφ ζεκαίλεη φηη ηα ζηνηρεία δελ έρνπλ θάπνηα απφζηαζε κεηαμχ ηνπο επνκέλσο ν δείθηεο ζηνηρείσλ δε ρξεζηκνπνηείηαη ζηηο κεηαθνξέο απηέο. Ο αξηζκφο ησλ ζηνηρείσλ ηνπ πίλαθα απνηειεί ηελ πξψηε δηάζηαζε ηεο κεηαθνξάο. Έλα ζχλνιν πηλάθσλ απνηειεί ηε δεχηεξε δηάζηαζε θαη θαιείηαη block. Οη πίλαθεο κπνξεί λα απέρνπλ κεηαμχ ηνπο ζηαζεξή απφζηαζε. ηελ επφκελε εηθφλα θαίλεηαη έλα δηζδηάζηαην θαξέ κε κεηξεηή πίλαθα n θαη κεηξεηή ζηνηρείσλ m.

130 122 Εηθόλα Α.7 Δηζδηάζηαηε κεηαθνξά δεδνκέλσλ Διςδιάςτατη μεταφορά με ςυγχρονιςμό πινάκων (Array Synchronised 2D Transfer) ην είδνο απηφ κεηαθνξάο, έρνπκε κεηαθνξά ελφο πίλαθα πνπ απνηειείηαη απφ ζπλερφκελα ζηνηρεία, φηαλ ζπκβεί ην θαηάιιειν γεγνλφο ζπγρξνληζκνχ. Σν θαλάιη ην νπνίν έρεη ξπζκηζηεί ψζηε λα εθηειέζεη ηε δηζδηάζηαηε κεηαθνξά, αλαλεψλεη ηνπο θαηαρσξεηέο πεγήο θαη πξννξηζκνχ έπεηηα απφ θάζε αίηεζε κεηαθνξάο. Ο δείθηεο πίλαθα δείρλεη ηε δηαθνξά κεηαμχ ηεο αξρήο ησλ δηεπζχλζεσλ ηνπ θάζε πίλαθα ηνπ block. Καηά ηε ιήςε ηνπ θαηάιιεινπ γεγνλφηνο ζπγρξνληζκνχ, έλαο ζπλερφκελνο αξηζκφο απφ ζηνηρεία πνπ απνηεινχλ ηνλ πίλαθα κεηαθέξεηαη. Ο κεηξεηήο θαξέ κεηψλεηαη θαηά ηελ νινθιήξσζε κεηαθνξάο ελφο θαξέ. Ο δείθηεο θαξέ πξνζηίζεηαη ζηελ δηεχζπλζε ηεο αξρήο ηνπ πίλαθα ψζηε λα δείμεη ηε δηεχζπλζε ηεο αξρήο ηνπ επφκελνπ πίλαθα.

131 EDMA και QDMA μεταφορϊ 123 Εηθόλα Α.8 Δηζδηάζηαηε κεηαθνξά κε ζπγρξνληζκό πηλάθσλ Διςδιάςτατη μεταφορά με ςυγχρονιςμό block (Block Synchronised 2D Transfer) ην είδνο απηφ κεηαθνξάο, έρνπκε κεηαθνξά ελφο block πηλάθσλ, νη νπνίνη πίλαθεο απνηεινχληαη απφ ζπλερφκελα ζηνηρεία, φηαλ ζπκβεί ην θαηάιιειν γεγνλφο ζπγρξνληζκνχ. Ζ ινγηθή εχξεζεο ηεο δηεχζπλζεο ησλ ζηνηρείσλ γίλεηαη κε ηε βνήζεηα θαηάιιεισλ παξακέηξσλ. Εηθόλα Α.9 Δηζδηάζηαηε κεηαθνξά κε ζπγρξνληζκό block

132 124 Παράμετροι μνήμησ EDMA μεταφοράσ (PaRAM) Όπσο αλαθέξζεθε ζε πξνεγνχκελν θεθάιαην νη παξάκεηξνη απνηεινχληαη απφ 6 ιέμεηο ησλ 32 bit. Ζ πξψηε ιέμε πνπ πεξηέρεη παξακέηξνπο ηνπ θαλαιηνχ αλαιχεηαη σο εμήο. Εηθόλα Α.10 Παξάκεηξνη EDMA κεηαθνξάο OPT Σα ηξία πην ζεκαληηθά bit ραξαθηεξίδνπλ ην πεδίν PRI (priority levels). Ζ ηηκή ηνπ πεδίνπ απηνχ πξνζδηνξίδεη ην επίπεδν πξνηεξαηφηεηαο ηνπ EDMA γεγνλφηνο. Ζ πξνεπηιεγκέλε ηηκή ηζνχηαη κε 0h θαη ηζνδπλακεί κε θαηεπείγνπζα πξνηεξαηφηεηα. Ζ ηηκή 1h δείρλεη πςειή πξνηεξαηφηεηα, ε ηηκή 2h κεζαία θαη ε ηηκή 3h ρακειή πξνηεξαηφηεηα. Οη ππφινηπεο 4 ηηκέο (5h-7h) είλαη θαηεηιεκκέλεο. Σα επφκελα δχν bit απνηεινχλ ην πεδίν ESIZE (element size). Γείρλεη ην κέγεζνο ην ζηνηρείσλ θαη κπνξεί λα ιάβεη ηξεηο δπλαηέο ηηκέο. Ζ πξνεπηιεγκέλε ηηκή 0h δείρλεη ζηνηρεία κε εχξνο 32bit, ε ηηκή 1h ζηνηρεία κε εχξνο 16bit, ε ηηκή 2h ζηνηρεία κε εχξνο 8bit ελψ ηέινο ε ηηκή 3h είλαη θαηεηιεκκέλε. Αθνινπζεί ην πεδίν 2DS (2 dimension source) ην νπνίν δείρλεη ηε δηάζηαζε ηεο πεγήο κεηαθνξάο. Ζ ηηκή 0h αληηζηνηρεί ζε κνλνδηάζηαηε κεηαθνξά ελψ ε ηηκή 1h αληηζηνηρεί ζε δηζδηάζηαηε κεηαθνξά. Σα επφκελα 2 bit αληηζηνηρνχλ ζην πεδίν SUM (source address update mode). Ζ πξνεπηιεγκέλε ηηκή 0h δείρλεη φηη ε ηηκή ηεο δηεχζπλζεο πεγήο δελ πξέπεη λα αλαλεσζεί. Ζ ηηκή 1h δείρλεη φηη ε δηεχζπλζε ηεο πεγήο πξέπεη λα απμεζεί αλάινγα κε ηηο ηηκέο ησλ πεδίσλ 2DS θαη FS. Αλαιφγσο ε ηηκή 2h αληηζηνηρεί ζε κείσζε ηεο δηεχζπλζεο αλάινγα κε ηα πεδία 2DS θαη FS. Σέινο ε ηηκή 3h δείρλεη φηη ε δηεχζπλζε ηεο πεγήο κεηαβάιιεηαη αλάινγα κε ηελ ηηκή ηνπ δείθηε ζηνηρείσλ θαη θαξέ (element index, frame index) ζε ζπλάξηεζε πάληα κε ηηο ηηκέο ησλ πεδίσλ 2DS θαη FS. Αθνινπζεί ην πεδίν 2DD (2 dimension destination) πνπ αληηζηνηρεί ζηε δηάζηαζε ηνπ πξννξηζκνχ ησλ δεδνκέλσλ. Ζ πξνεπηιεγκέλε ηηκή 0h αληηζηνηρεί ζε κία δηαζηαηή ελψ ε ηηκή 1h αληηζηνηρεί ζε δχν δηαζηάζεηο. Σα επφκελα 2bit αληηζηνηρνχλ ζην πεδίν DUM (destination address update mode) θαη ιακβάλεη ηηκέο φπσο θαη ην πεδία SUM, κε ηε δηαθνξά φηη αλαθεξφκαζηε ζηελ αλαλέσζε ηεο δηεχζπλζεο πξννξηζκνχ. Σν επφκελν πεδίν είλαη ην TCINT (transfer complete interrupt). Ζ ηηκή 0h δείρλεη φηη ε έλδεημε νινθιήξσζεο ηεο κεηαθνξάο είλαη απελεξγνπνηεκέλε. Ζ ηηκή 1h δείρλεη φηη ε έλδεημε νινθιήξσζεο ηεο κεηαθνξάο είλαη

133 EDMA και QDMA μεταφορϊ 125 ελεξγνπνηεκέλε θαη κπνξεί λα ρξεζηκνπνηεζεί ζε ιεηηνπξγίεο αιπζηδσηψλ κεηαθνξψλ. Αλάινγα κε ηελ ηηκή πνπ ιακβάλεη ηξνπνπνηνχληαη θαηάιιεινη θαηαρσξεηέο. Σα ηέζζεξα bit πνπ αθνινπζνχλ απνηεινχλ ην πεδίν TCC (transfer complete code). Υξεζηκνπνηείηαη ζε ζπλδπαζκφ κε θαηάιιειν θαηαρσξεηή θαη ην πεδίν TCCM γηα λα δεκηνπξγεζεί ν θαηάιιεινο θψδηθαο νινθιήξσζεο ηεο κεηαθνξάο. Υξεζηκνπνηείηαη ζε ιεηηνπξγίεο ζπλδεκέλσλ θαη αιπζηδσηψλ κεηαθνξψλ. Σν επφκελν bit είλαη θαηεηιεκκέλν ελψ αθνινπζεί ην πεδίν TCCM (transfer complete mode most significant bits). Υξεζηκνπνηείηαη ζε ζπλδπαζκφ κε ην πεδίν TCC γηα λα δεκηνπξγεζεί ν θαηάιιεινο θψδηθαο νινθιήξσζεο ηεο κεηαθνξάο ψζηε λα ζέζεη ηελ απαξαίηεηε ηηκή ζε θαηαρσξεηέο δηαθνπψλ. ηε ζπλέρεηα αθνινπζεί ην πεδίν ATCINT (alternate transfer complete interrupt). Λεηηνπξγεί κε παξφκνην ηξφπν φπσο θαη ην πεδίν TCINT κε θχξηα δηαθνξά ηνλ ηξφπν κε ηνλ νπνίν ηίζεληαη νη θαηάιιεινη θαηαρσξεηέο. Σν επφκελν bit είλαη θαηεηιεκκέλν ελψ ηα έμη bits πνπ αθνινπζνχλ απνηεινχλ ην πεδίν ATCC (alternate transfer complete code). Λεηηνπξγεί κε παξφκνην ηξφπν φπσο θαη ην πεδίν TCC. πλερίδνληαο ζπλαληνχκε άιιν έλα θαηεηιεκκέλν bit, κε ην επφκελν πεδίν λα απνηειεί ην PDTS (peripheral device transfer mode for source). Ζ ηηκή 0 αληηζηνηρεί ζε απελεξγνπνηεκέλε αλάγλσζε πεξηθεξεηαθψλ. Με ηνλ φξν αλάγλσζε αλαθεξφκαζηε ζηε κεηαθνξά δεδνκέλσλ απφ ηελ εμσηεξηθή κλήκε πνπ είλαη ζπλδεκέλε ζηε δηεπαθή EMIF, πξνο θάπνην πεξηθεξεηαθφ (αθνχ γίλεηαη αλάγλσζε ηεο κλήκεο). Ζ ηηκή 1 αληηζηνηρεί ζε ελεξγνπνηεκέλε αλάγλσζε πεξηθεξεηαθψλ, επνκέλσο είλαη δπλαηή ε κεηαθνξά δεδνκέλσλ απφ ηελ εμσηεξηθή κλήκε πξνο θάπνην εμσηεξηθφ πεξηθεξεηαθφ. Αληίζηνηρε ιεηηνπξγία έρεη θαη ην επφκελν πεδίν PDTD (peripheral device transfer mode for destination). Ζ δηαθνξά είλαη φηη αλαθέξεηαη ζε κεηαθνξά δεδνκέλσλ απφ ηα πεξηθεξεηαθά ζηε κλήκε, γίλεηαη επνκέλσο εγγξαθή ηεο κλήκεο. Ζ ηηκή 0 ζεκαίλεη φηη ε εγγξαθή είλαη απελεξγνπνηεκέλε ελψ ε ηηκή 1 φηη ε εγγξαθή είλαη ελεξγνπνηεκέλε. Σν επφκελν πεδίν είλαη ην LINK θαη ζρεηίδεηαη κε ζπλδεκέλεο κεηαθνξέο. Ζ ηηκή 0 αληηζηνηρεί ζε κε ιεηηνπξγία ζχλδεζεο κεηαθνξψλ, ελψ ε ηηκή 1 ην αληίζεην. Σέινο ην ιηγφηεξν ζεκαληηθφ bit απνηειεί ην πεδίν FS (frame synchronisation). Ζ ηηκή 0 δείρλεη φηη ην θαλάιη βξίζθεηαη ζε ζπγρξνληζκφ ζηνηρείσλ/πηλάθσλ, ελψ ε ηηκή 1 φηη ην θαλάιη βξίζθεηαη ζε ζπγρξνληζκφ θαξέ. Ζ επφκελε ιέμε ησλ παξακέηξσλ κλήκεο γηα ηελ EDMA κεηαθνξά απνηειεί ηε δηεχζπλζε ηεο πεγήο. Εηθόλα Α.11 Παξάκεηξνη EDMA κεηαθνξάο SRC

134 126 Γείρλεη ηνλ 32bit αξηζκφ πνπ αληηζηνηρεί ζηε δηεχζπλζε ηνπ αξρηθνχ byte ηεο πεγήο. Ζ ηηκή απηή δχλαηαη λα ηξνπνπνηεζεί αλάινγα κε ηηο ηηκέο ηνπ πεδίνπ SUM. Ζ ηξίηε ιέμε απνηειεί ηνπο κεηξεηέο πηλάθσλ/θαξέ θαη ζηνηρείσλ. Εηθόλα Α.12 Παξάκεηξνη EDMA κεηαθνξάο CNT Σα 16 πην ζεκαληηθά bit απνηεινχλ ην κεηξεηή πηλάθσλ/θαξέ (array/frame count). Πξφθεηηαη γηα έλαλ κε πξνζεκαζκέλν αξηζκφ πνπ δείρλεη πφζα θαξέ ππάξρνπλ ζε έλα κνλνδηάζηαην block ή πφζνη πίλαθεο ππάξρνπλ ζε έλα δηζδηάζηαην block. Οη ηηκέο πνπ ιακβάλεη είλαη απφ 1 έσο Σα 16 ιηγφηεξα ζεκαληηθά bit απνηεινχλ ην κεηξεηή ζηνηρείσλ ζε έλα θαξέ αλ πξφθεηηαη γηα κνλνδηάζηαηε κεηαθνξά, ή ηνλ αξηζκφ ησλ ζηνηρείσλ ηνπ πίλαθα αλ πξφθεηηαη γηα δηζδηάζηαηε. Αλ ηα δχν πεδία ιάβνπλ ηελ ηηκή 0, ηφηε γηα ην πεδίν FRMCNT ζεκαίλεη φηη έρνπκε 1 θαξέ γηα κνλνδηάζηαηε κεηαθνξά, ή έλαλ πίλαθα γηα δηζδηάζηαηε κεηαθνξά, ελψ ν κεδεληζκφο ηνπ πεδίνπ ELECNT ζεκαίλεη φηη δελ έρνπκε κεηαθνξά. Ζ επφκελε ιέμε δείρλεη ηελ αξρή ηεο δηεχζπλζεο πξννξηζκνχ ησλ δεδνκέλσλ. Εηθόλα Α.13 Παξάκεηξνη EDMA κεηαθνξάο DST Γείρλεη ηνλ 32bit αξηζκφ πνπ αληηζηνηρεί ζηε δηεχζπλζε ηνπ αξρηθνχ byte ηνπ πξννξηζκνχ. Ζ ηηκή απηή δχλαηαη λα ηξνπνπνηεζεί αλάινγα κε ηηο ηηκέο ηνπ πεδίνπ DUM. Ζ πέκπηε ιέμε απνηειεί ηηο παξακέηξνπο δεηθηψλ ηνπ θαλαιηνχ κεηαθνξάο.

135 EDMA και QDMA μεταφορϊ 127 Εηθόλα Α.14 Παξάκεηξνη EDMA κεηαθνξάο IDX Σα 16 πην ζεκαληηθά bit FRMIDX (frame index) δείρλνπλ ην offset ηεο δηεχζπλζεο ηνπ επφκελνπ θαξέ. Πξφθεηηαη γηα έλαλ πξνζεκαζκέλν αξηζκφ επνκέλσο δχλαηαη λα ιάβεη ηηο ηηκέο έσο Αλ ην επφκελν θαξέ πνπ πξφθεηηαη λα κεηαθεξζεί είλαη γεηηνληθφ κε ην πξψην ηφηε ιακβάλεη ηελ ηηκή 0. Σα 16 ιηγφηεξν ζεκαληηθά ςεθία ELEIDX (element index) δείρλνπλ ην offset ηεο δηεχζπλζεο ηνπ επφκελνπ ζηνηρείνπ. Πξφθεηηαη γηα έλαλ πξνζεκαζκέλν αξηζκφ επνκέλσο δχλαηαη λα ιάβεη ηηο ηηκέο έσο Αλ πξφθεηηαη γηα δηαδνρηθά ζηνηρεία ηφηε ιακβάλεη ηελ ηηκή 0. Ζ ηειεπηαία ιέμε ησλ παξακέηξσλ κλήκεο ηεο EDMA κεηαθνξάο, πεξηέρεη ηελ παξάκεηξν επαλαθφξησζεο ηνπ κεηξεηή ζηνηρείσλ θαζψο θαη ηε δηεχζπλζε ζχλδεζεο. Εηθόλα Α.15 Παξάκεηξνη EDMA κεηαθνξάο RLD Ζ παξάκεηξνο ELERLD (element reload) είλαη έλαο 16bit κε πξνζεκαζκέλνο αξηζκφο πνπ ρξεζηκνπνηείηαη γηα λα επαλαθνξηψζεη ηελ ηηκή ηνπ πεδίνπ CNT. Υξεζηκνπνηείηαη ζε ζπλδπαζκφ κε ην πεδίν FS. Σν πεδίν LINK δείρλεη ηα 16 ιηγφηεξα ζεκαληηθά ςεθία ηεο δηεχζπλζεο ζηε κλήκε παξακέηξσλ PaRAM απφ ηελ νπνία ν EDMA ειεγθηήο θνξηψλεη ή επαλαθνξηψλεη ηηο παξακέηξνπο γηα ην επφκελν γεγνλφο ζηελ αιπζίδα. Ζ δηεχζπλζε 0x01A00000 ρξεζηκνπνηείηαη γηα λα θνξησζνχλ ή λα επαλαθνξησζνχλ νη παξάκεηξνη ηνπ επφκελνπ γεγνλφηνο ζηελ αιπζίδα. QDMA (Quick Direct Memory Access) Δθηφο απφ ηελ βειηησκέλε DMA κεηαθνξά (EDMA) ππάξρεη θαη ε γξήγνξε DMA κεηαθνξά (QDMA). Πξφθεηηαη γηα κηα ελαιιαθηηθή κεηαθνξά φπνπ ν ειεγθηήο θαλαιηνχ δε ρξεηάδεηαη λα ρξεζηκνπνηεζεί. Ζ CPU αλαιακβάλεη ηελ απεπζείαο αίηεζε κηο κεηαθνξάο.

136 128 Απνηειεί έλα ζχλνιν ησλ ιεηηνπξγηψλ ηεο EDMA κεηαθνξάο, ελψ νη απαξαίηεηνη θαηαρσξεηέο γηα λα γίλεη ε κεηαθνξά απηή βξίζθνληαη ηνπηθά ζηνλ επεμεξγαζηή. Γηα ην ιφγν απηφ ν ρξφλνο πνπ απαηηείηαη γηα λα παξακεηξνπνηεζεί ε κεηαθνξά απηή είλαη πνιχ κηθξφο. Απαηηνχληαη κφιηο έλαο έσο πέληε θχθινη ξνινγηνχ γηα λα γίλεη ε αίηεζε κεηαθνξάο. Όιεο νη QDMA αηηήζεηο κεηαθέξνληαη ζηε ζπλέρεηα ζηνλ EDMA ειεγθηή κεηαθνξάο. Υξεζηκνπνηείηαη ζπλήζσο ζε εθαξκνγέο φπνπ ε δηαρείξηζε ηεο κεηαθνξάο ησλ δεδνκέλσλ πξέπεη λα γίλεη απεπζείαο απφ ηελ θεληξηθή κνλάδα επεμεξγαζίαο. Όπσο θαη κε ηελ EDMA κεηαθνξά έηζη θαη ζε απηή ηελ πεξίπησζε πξέπεη λα ηξνπνπνηεζνχλ θαηάιιεινη θαηαρσξεηέο, ελψ ζηελ QDMA κεηαθνξά εηζέξρνληαη θαη ςεπδνθαηαρσξεηέο ζηελ παξακεηξνπνίεζε. Εηθόλα Α.16 Παξάκεηξνη κλήκεο QDMA ην ζεκείν απηφ πξέπεη λα αλαθέξνπκε φηη φιεο νη παξάκεηξνη πνπ αλαθέξζεθαλ κπνξνχλ λα ηξνπνπνηεζνχλ πξνγξακκαηηζηηθά, ρξεζηκνπνηψληαο ηηο θαηάιιειεο ζπλαξηήζεηο νη νπνίεο πεξηγξάθνληαη ζην Chip Support Library API [6] πνπ αλαθέξεηαη ηελ νηθνγέλεηα επεμεξγαζηψλ TMS320C6000. Προγραμματιςμόσ EDMA Τπάξρνπλ ηξεηο ηξφπνη κε ηνπο νπνίνπο κπνξνχκε λα πξνγξακκαηίζνπκε κία EDMA κεηαθνξά. Ο πξψηνο ηξφπνο αθνξά ηελ απεπζείαο εγγξαθή ησλ θαηάιιεισλ EDMA θαηαρσξεηψλ, ν δεχηεξνο ρξεζηκνπνηψληαο ην API ηεο CSL (Chip Support Library) θαη ηέινο κέζσ ηνπ DSP/BIOS. Ο πξψηνο ηξφπνο πξνυπνζέηεη πνιχ θαιή γλψζε ηεο EDMA κεηαθνξάο θαζψο θαη ην ράξηε κλήκεο ηνπ DSP. Ζ εγγξαθή ησλ θαηάιιεισλ θαηαρσξεηψλ γίλεηαη απεπζείαο ρξεζηκνπνηψληαο θαηάιιειεο ζπλαξηήζεηο θαη ζπκπεξηιακβάλνληαο ηα θαηάιιεια header αξρεία.. #include <intr.h>

137 EDMA και QDMA μεταφορϊ 129 #include <regs.h> #include <c6211dsk.h> void EDMA_setup (void) { } *(unsigned volatile int *) ECR = 0xffff; *(unsigned volatile int *) EER = 0xffff; *(unsigned volatile int *) CIPR = 0xffff; *(unsigned volatile int *) CIER = 0xffff;... Κώδηθαο Α.1 Εγγξαθή EDMA θαηαρσξεηώλ Ο δεχηεξνο ηξφπνο ν νπνίνο ρξεζηκνπνηήζεθε ζε απηήλ ηελ εξγαζία, αθνξά ηε ρξήζε ζπλαξηήζεσλ κέζσ ηεο Chip Support Library. Ζ αλαιπηηθή πεξηγξαθή ησλ ζπλαξηήζεσλ πνπ ππνζηεξίδεη, πεξηγξάθνληαη ζην Chip Support Library API [6]. Γηα λα κπνξέζνπκε λα ρξεζηκνπνηήζνπκε έλα EDMA θαλάιη ζα πξέπεη ζε πξψηε θάζε λα ην αλνίμνπκε ψζηε λα απνθηήζνπκε έλαλ EDMA ρεηξηζηή (handle). Απηφ γίλεηαη θαιψληαο ηε ζπλάξηεζε EDMA_open. Μέζσ απηήο ηεο ζπλάξηεζεο πεξλάκε ηηο παξακέηξνπο ηεο EDMA κεηαθνξάο. Οη παξάκεηξνη απηνί είλαη δχν, κε ηελ πξψηε λα αθνξά ην θαλάιη ην νπνίν ζα αλνηρζεί, πνπ ζηελ πεξίπησζή καο είλαη ην EDMA_CHA_EXTINT4, ελψ ε δεχηεξε παξάκεηξνο είλαη ε EDMA_OPEN_RESET φπνπ ε εμσηεξηθή δηαθνπή απελεξγνπνηείηαη θαη εθθαζαξίδεηαη. Με ηνλ ηξφπν απηφ έρνπκε πιένλ δεζκεχζεη ην θαλάιη κε ηελ αληίζηνηρε εμσηεξηθή δηαθνπή, INT4 ζηελ πεξίπησζή καο. Σν είδνο ηεο κεηαθνξάο θαη γεληθφηεξα νη παξάκεηξνη ηεο EDMA κεηαθνξάο, πξαθηηθά νη ηηκέο πνπ ζα ιάβεη ε PaRam, νξίδνληαη κέζσ ηεο δνκήο EDMA_Config. Θα πξέπεη επνκέλσο λα νξίζνπκε κία κεηαβιεηή ε νπνία αλήθεη ζηε ζπγθεθξηκέλε δνκή θαη λα ηελ αξρηθνπνηήζνπκε κε ηηο ζσζηέο παξακέηξνπο. Οη παξάκεηξνη απηνί έρνπλ αλαιπζεί ζε πξνεγνχκελε παξάγξαθν θαη θαίλνληαη ζπλνπηηθά ζηελ παξαθάησ εηθφλα.

138 130 Εηθόλα Α.17 Παξάκεηξνη κλήκεο EDMA κεηαθνξάο Ζ θάζε κία απφ ηηο έμη παξακέηξνπο αξρηθνπνηνχληαη είηε αλαζέηνληαο απεπζείαο ηελ θαηάιιειε 32bit ιέμε, είηε θαιψληαο θαηάιιεια macors. Παξαθάησ παξαηεξνχκε πψο γίλεηαη ε απεπζείαο αλάζεζε ησλ θαηάιιεισλ 32bit ιέμεσλ. EDMA_Config EdmaΜyConfig = { 0x , /* opt */ 0x , /* src */ 0x , /* cnt */ 0x , /* dst */ 0x , /* idx */ 0x /* rld */ }; Κώδηθαο Α.2 Εγγξαθή EDMA παξακέηξσλ Έλα δεχηεξν παξάδεηγκα, ην νπνίν πξνέξρεηαη απφ ηελ εξγαζία απηή, θαίλεηαη ζηε ζπλέρεηα. Παξαηεξνχκε φηη ε κεηαβιεηή cfgedmaframe αξρηθνπνηείηαη κε έμη παξακέηξνπο. EDMA_Config cfgedmaframe = { EDMA_OPT_RMK( EDMA_OPT_PRI_HIGH, EDMA_OPT_ESIZE_32BIT, EDMA_OPT_2DS_YES, EDMA_OPT_SUM_NONE, EDMA_OPT_2DD_NO, EDMA_OPT_DUM_INC, EDMA_OPT_TCINT_YES, EDMA_OPT_TCC_OF(FRAME_EDMA_TCCINTNUM), EDMA_OPT_TCCM_OF(0), EDMA_OPT_ATCINT_NO, EDMA_OPT_ATCC_OF(0), EDMA_OPT_PDTS_DISABLE, EDMA_OPT_PDTD_DISABLE,

139 EDMA και QDMA μεταφορϊ 131 EDMA_OPT_LINK_YES, EDMA_OPT_FS_NO ), EDMA_SRC_OF(DSKeye_FifoReg), EDMA_CNT_RMK(0x0000,0x0000), /* set at init */ EDMA_DST_OF(NULL), EDMA_IDX_RMK(LINE_XFER*4,0x0000), /* frmidx,eleidx */ EDMA_RLD_RMK(EDMA_RLD_ELERLD_DEFAULT,EDMA_RLD_LINK_DEFAULT) }; Κώδηθαο Α.3 Αξρηθνπνίεζε EDMA_config δνκήο Ζ παξάκεηξνο OPT γηα παξάδεηγκα αξρηθνπνηείηαη θαιψληαο ην macro EDMA_OPT_RMK. Καιψληαο ην αλάινγν macro καο δίλεηαη ε δπλαηφηεηα λα αλαγλψζνπκε ή λα εγγξάςνπκε θαηάιιεινπο θαηαρσξεηέο. Αληίζηνηρα αξρηθνπνηείηαη θαη ε ιέμε SRC φπνπ ζηε ζπγθεθξηκέλε πεξίπησζε σο δηεχζπλζε ηεο πεγήο έρεη νξηζζεί ε παξάκεηξνο DSKeye_FifoReg. Οη ηηκέο πνπ αληηζηνηρνχλ ζην array/frame count θαζψο θαη ζην element count κεδελίδνληαη αξρηθά ζην ζπγθεθξηκέλν παξάδεηγκα. Σν ίδην θαη ε δηεχζπλζε πξννξηζκνχ ησλ δεδνκέλσλ. Οη ηηκέο απηέο ζα πξέπεη λα ιάβνπλ ηηο θαηάιιειεο ηηκέο θαηά ηελ εθηέιεζε ηνπ πξνγξάκκαηνο. ηελ πεξίπησζή καο νη ηηκέο απηέο ιακβάλνπλ αξρηθά ηελ ηηκή κεδέλ δηφηη ζα ρξεζηκνπνηεηζεί ζπλδπαζκφο double buffering. Ζ εηθφλα πνπ ιακβάλεηαη κεηαθέξεηαη ζηελ εμσηεξηθή κλήκε ηνπ DSP ζε έλαλ buffer. ηε ζπλέρεηα κεηαθέξεηαη ζε έλα δεχηεξν buffer ηεο εμσηεξηθήο κλήκεο, επηηξέπνληαο κε απηφλ ηνλ ηξφπν ηα δεδνκέλα πνπ βξίζθνληαη ζην δεχηεξν buffer λα ηα επεμεξγαζηνχκε, ελψ ηαπηφρξνλα ν πξψηνο buffer ζπκπιεξψληεαη κε ζηνηρεία απφ κία δεχηεξε κεηαθνξά. Σέινο αξρηθνπνηνχληαη θαη νη δχν ηειεπηαίεο ιέμεηο θαιψληαο αληίζηνηρα ηα macros EDMA_IDX_RMK θαη EDMA_RLD_RMK. Αθνχ ξπζκηζηνχλ φιεο νη παξάκεηξνη κε ηηο θαηάιιειεο ηηκέο, θαιψληαο ηε ζπλάξηεζε EDMA_config() πεξλάκε ηηο παξακέηξνπο απηέο ζηελ PaRam. Ζ ζπλάξηεζε απηή ιακβάλεη σο νξίζκαηα ηνλ ρεηξηζηή πνπ απνθηήζεθε ζε πξνεγνχκελν βήκα θαζψο θαη έλαλ δείθηε ζηε δνκή κε ηηο επηζπκεηέο παξακέηξνπο. ε πεξίπησζε πνπ επηζπκνχκε λα ζπλδέζνπκε EDMA κεηαθνξέο ζα πξέπεη λα θιεζεί ε θαηάιιειε ζπλάξηεζε. ηελ εξγαζία απηή ήηαλ απαξαίηεηε ε ρξήζε δχν EDMA κεηαθνξψλ γηα λα εμππεξεηεζεί ε αλάγθε γηα ην double buffering. Δπνκέλσο ζα πξέπεη κηα μερσξηζηή EDMA κεηαθνξά κε δηαθνξεηηθέο παξακέηξνπο λα αξρίζεη ακέζσο κεηά ηνλ ηεξκαηηζκφ ηεο πξψηεο. Καιψληαο ηε ζπλάξηεζε EDMA_link πεηπραίλνπκε ηα αλσηέξσ. Ζ ζπλάξηεζε απηή δέρεηαη σο νξίζκαηα ηνπο ρεηξηζηέο (handles) ησλ EDMA κεηαθνξψλ, κε ην πξψην φξηζκα λα αληηζηνηρεί ζηoλ ρεηξηζηή ηεο πξψηεο ζε ζεηξά κεηαθνξάο θαη ην δεχηεξν φξηζκα ζηνλ ρεηξηζηή ηεο κεηαθνξάο πνπ ζα αθνινπζήζεη. ηε ζπλέρεηα θαινχκε ηε ζπλάξηεζε EDMA_intClear φπνπ γίλεηαη εθθαζάξηζε ηεο ζεκαίαο δηαθνπήο (interrupt flag) πνπ ζρεηίδεηαη κε ηελ νινθιήξσζε ηεο κεηαθνξάο (Transfer Completion). Ζ ηηκή ηεο ζεκαίαο θαζνξίδεηαη απφ ην αλ έρεη νινθιεξσζεί ε κεηαθνξά.

140 132 Αθνινπζεί ε θιήζε ηεο ζπλάξηεζεο EDMA_intHook() κε ηελ νπνία κπνξνχκε λα ζπλδέζνπκε ηελ αιιαγή κηαο ζεκαίαο κε ηελ θιήζε κηαο ζπλάξηεζεο. Γέρεηαη επνκέλσο δχν νξίζκαηα, ην πξψην αθνξά ηελ ζεκαία θαη ην δεχηεξν ηε ζπλάξηεζε πνπ επηζπκνχκε λα θιεζεί φηαλ ηεζεί ε ζεκαία. Ζ ζπλάξηεζε απηή παίδεη ζεκαληηθφ ξφιν ζην double buffering αθνχ ζα αλαιάβεη ην ξφιν λα αλαλψζεη ηε δηεχζπλζε πξννξηζκνχ ησλ δεδνκέλσλ θάζε θνξά πνπ έρνπκε έλα linked γεγνλφο. Αλαιακβάλεη δειαδή λα νξίζεη σο δηεχζπλζε πξννξηζκνχ ηελ αξρή ηνπ θαηάιιεινπ buffer. Αθνινπζεί ε θιήζε ηεο ζπλάξηεζεο EDMA_intEnable(), φπνπ ελεξγνπνηνχκε ηε δηαθνπή πνπ ζρεηίδεηαη κε ηελ νινθιήξσζε ηεο κεηαθνξάο. (Όπσο είλαη θπζηθφ αλαθεξφκαζηε ζηελ ίδηα δηαθνπή πνπ εθθαζαξίζακε θαη ζπλδέζακε κε ηελ θαηάιιειε ζπλάξηεζε). ηε ζπλέρεηα θαινχληαη δηαδνρηθά νη ζπλαξηήζεηο EDMA_disableChannel(), EDMA_clearChannel(), EDMA_enableChannel() νη νπνίεο δέρνληαη σο φξηζκα ην ρεηξηζηή ηεο EDMA κεηαθνξάο πνπ απνθηήζακε ζην πξψην βήκα απηήο ηεο πεξηγξαθήο θαη φπνπ θαζνξίδεηαη ην θαλάιη κεηαθνξάο. Ζ πξψηε ζπλάξηεζε απελεξγνπνηεί ην θαλάιη, ζηε ζπλέρεηα εθθαζαξίδεηαη κέζσ ηεο δεχηεξεο θιήζεο θαη ηέινο ελεξγνπνηείηαη θαιψληαο ηελ ηξίηε ζπλάξηεζε. Ο ηξίηνο θαη ηειεπηαίνο ηξφπνο κε ηνλ νπνίν κπνξνχκε λα πξνγξακκαηίζνπκε κηα EDMA κεηαθνξά αθνξά ηε ρξήζε ηνπ DSP/BIOS. Με ηε βνήζεηα ηνπ γξαθηθνχ πεξηβάιινληνο πνπ είλαη δηαζέζηκν ζην Code Composer Studio κπνξνχκε λα ξπζκίζνπκε ηηο θαηάιιειεο επηινγέο. Με ηελ νινθιήξσζε ησλ ξπζκίζεσλ κέζσ ηνπ γξαθηθνχ πεξηβάιινληνο, δεκηνπξγείηαη απηφκαηα ν θψδηθαο κε ηηο απαξαίηεηεο θιήζεηο ζηηο ζπλαξηήζεηο πνπ ζα ξπζκίζνπλ ηελ EDMA κεηαθνξά. Αξρηθά δεκηνπξγνχκε έλα configuration ρξεζηκνπνψληαο ην EDMA Configuration Manager.

141 EDMA και QDMA μεταφορϊ 133 Εηθόλα Α.18 Δεκηνπξγία EDMA configuration Κάλνληαο δεμί θιηθ θαη επηιέγνληαο Properties ζα παξαηεξήζνπκε ηελ εηθφλα πνπ αθνινπζεί. Δπηιέγνληαο ην Advanced tab, ζπκπιεξψλνπκε ηηο επηινγέο ζχκθσλα κε ηηο απαηηήζεηο καο.

142 134 Εηθόλα Α.19 Επηινγέο EDMA κεηαθνξάο ε πεξίπησζε πνπ ρξεζηκνπνηεζνχλ ζπκβνιηθνί παξάκεηξνη φπσο είλαη ην in_data ζην ζπγθεθξηκέλν παξάδεηγκα, ζα πξέπεη λα δεισζεί ζην πεδίν CSLExtern Declaration, φπσο θαίλεηαη ζηελ εηθφλα πνπ αθνινπζεί.

143 EDMA και QDMA μεταφορϊ 135 Εηθόλα Α.20 Παξάκεηξνη CSLExtern Declaration Αθνχ νινθιεξσζεί ε δηαδηθαζία, δεκηνπξγείηαη ν παξαθάησ θψδηθαο. /* Do *not* directly modify this file. It was */ /* generated by the Configuration Tool; any */ /* changes risk being overwritten. */ /* INPUT edma_inout_csl.cdb */ /* Include Header File */ #include "edma_inout_cslcfg.h" extern far Uint16 McBSP0_DRR; extern far Uint16 in_data[]; extern far Uint16 BUFF_SZ; /* Config Structures */ EDMA_Config cfgedmaping = { 0x , /* Option */ 0x018C0000, /* Source Address - Numeric */ 0x , /* Transfer Counter */ (Uint32) in_data, /* Destination Address - Symbolic */ 0x , /* Transfer Index */

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

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

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

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

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

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

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

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

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

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

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

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

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

Ειδική Επιστημονική Εργασία. Σχεδίαση και υλοποίηση Θέσεως Εργασίας ενός Εργαστηρίου DSPs από Απόσταση για Λήψη και Επεξεργασία Εικόνας 1 Ειδική Επιστημονική Εργασία Σχεδίαση και υλοποίηση Θέσεως Εργασίας ενός Εργαστηρίου DSPs από Απόσταση για Λήψη και Επεξεργασία Εικόνας Μαρκόνης Δημήτριος Α.Μ. 72 Επιβλέπων: Ε. Ζυγούρης Αναπληρωτής Καθηγητής

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

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

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

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

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

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

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

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

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

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

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο

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

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

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

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

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

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

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

Κεθάλαιο 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, Δξ.

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

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

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

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

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

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

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

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

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

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

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) 1.1 Σςνοπτική Πεπιγπαυή Hot Spots Σα ζεκεία αζύξκαηεο πξόζβαζεο πνπ επηιέρζεθαλ αλαθέξνληαη ζηνλ επόκελν πίλαθα θαη παξνπζηάδνληαη αλαιπηηθά ζηηο επόκελεο παξαγξάθνπο.

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

1 η Εργαζηηριακή Άζκηζη Ειζαγωγή

1 η Εργαζηηριακή Άζκηζη Ειζαγωγή 1 η Εργαζηηριακή Άζκηζη Ειζαγωγή A. Σσζκεσές Εργαζηηρίοσ Ηλεκηρονικής Ο πιηθόο εμνπιηζκόο ηνπ εξγαζηεξίνπ ειεθηξνληθήο πεξηιακβάλεη ηηο αθόινπζεο ζπζθεπέο: 1. Παικνγξάθνπο: Protec 6502 θαη Peak Tech 2020N

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Constructors and Destructors in C++

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

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

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: 10.101.1.64/27 Υπνδίθηπν Β: 10.101.1.

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: 10.101.1.64/27 Υπνδίθηπν Β: 10.101.1. Άσκηση 1 ΠΛΗ36 1. Η κόλε πεξίπησζε λα έρνπκε ζύγθξνπζε κεηαμύ παθέησλ ησλ δύν θόκβσλ είλαη λα ζηείιεη ν δεύηεξνο πξηλ πξνιάβεη λα πιεξνθνξεζεί γηα ηελ θαηάιεςε ηνπ δηάπινπ από ηνλ άιιν. Από ηε ζηηγκή πνπ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων (https://weeman.inf.ethz.ch/particletracker/) Τν Plugin particle tracker κπνξεί λα αληρλεύζεη απηόκαηα ηα ζσκαηίδηα πνπ θηλνύληαη,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KRNUGH Γηα λα θάλνπκε απινπνίεζε κηαο ινγηθήο ζπλάξηεζεο κε πίλαθα (ή ράξηε) Karnaugh αθνινπζνύκε ηα παξαθάησ βήκαηα:. Η ινγηθή ζπλάξηεζε ζα πξέπεη λα είλαη ζε πιήξε

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

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 γηα ηελ νπνία ηζρύνπλ:

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

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

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

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

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

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

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

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

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

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

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

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

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

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α Σει.1 Σο ζςγκεκπιμένο εγσειπίδιο δημιοςπγήθηκε για να βοηθήζει ηην καηανόηζη ηηρ διαδικαζίαρ μεηαθοπάρ δεδομένων ηηρ

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

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

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

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

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

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

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

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 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τηλζφωνο: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο

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

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()

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

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

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

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

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

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

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

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε Κβαντικοί Υπολογισμοί Πέκπηε Γηάιεμε Kπθισκαηηθό Mνληέιν Έλαο θιαζηθόο ππνινγηζηήο απνηειείηαη από αγσγνύο θαη ινγηθέο πύιεο πνπ απνηεινύλ ηνπο επεμεξγαζηέο. Σηνπο θβαληηθνύο ε πιεξνθνξία βξίζθεηαη κέζα

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

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

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

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

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

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

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

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ Πεξηερόκελα Σερληθά Υαξαθηεξηζηηθά Καηαγξαθή Ώξαο πγρξνληζκόο πζηήκαηνο Παξνπζίαζε πζηήκαηνο Πηζαλά ελάξηα Υξήζεο 2 Σερληθά Υαξαθηεξηζηηθά

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplac Δηεπξύλεη ηε θιάζε ηωλ ζεκάηωλ γηα ηα νπνία κπνξεί λα επηηεπρζεί ε κεηάβαζε από ην πεδίν ηνπ ρξόλνπ ζην πεδίν ηεο ζπρλόηεηαο. Παξέρεη ηε

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

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ ΚΔΦ.. ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ Οξηζκόο ηεηξαγσληθήο ξίδαο: Αλ 0 ηόηε νλνκάδνπκε ηεηξαγσληθή ξίδα ηνπ ηελ κε αξλεηηθή ιύζε ηεο εμίζσζεο:. Γειαδή ηεηξαγσληθή ξίδα ηνπ 0 ιέγεηαη ν αξηζκόο 0 πνπ όηαλ πςσζεί

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

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

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

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

Αζθήζεηο 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 Γπν γνλείο, εηεξόδπγνη γηα ηνλ αιθηζκό θάλνπλ παηδηά. Πνία ε πηζαλόηεηα

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

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( 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/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

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

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

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

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

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό.

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό. ΤΠΟΤΡΓΔΙΟ ΠΑΙΓΔΙΑ ΚΑΙ ΠΟΛΙΣΙΜΟΤ ΛΔΤΚΩΙΑ ΦΤΛΛΟ ΔΡΓΑΙΑ Μειέηε ηωλ παξαγόληωλ από ηνπο νπνίνπο εμαξηάηαη ε ειεθηξνκαγλεηηθή δύλακε. Τιηθά - πζθεπέο: Ηιεθηξνληθή δπγαξηά, ηξνθνδνηηθό ηάζεο, ξννζηάηεο, ακπεξόκεηξν,

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

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

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

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

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην  ζαο Δίζνδνο ζηελ Υπεξεζία Αλ είζηε ήδε εγγεγξακκέλνο ρξήζηεο ζηελ ππεξεζία, γηα ηελ είζνδν ζαο (login) ζηελ ππεξεζία e-bill, εηζάγεηαη ην Όλνκα Φξήζηε (username) θαη ηνλ Κωδηθό Πξόζβαζεο (password) πνπ είραηε

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

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 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο

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

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

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

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ Πρόβλημα 1: α) Να δείμεηε όηη αλ ζεηηθνί πξαγκαηηθνί αξηζκνί ηζρύεη: β) Αλ είλαη

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

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

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

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

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). Να βξεζεί ην Π.Ο., ν ηύπνο ηεο αλίζηξνθεο θαη ην Π.Τ. ησλ

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

Διιεληθά Σειρά Moov Δγτειρίδιο τρήζηη Δνημέρφζης ταρηών Web Αλαζεώξεζε: R00 (2010/05) Πώς να ενημερώζφ ηοσς τάρηες; Υπάξρνπλ ηέζζεξα βήκαηα γηα ηελ ελεκέξσζε ηνπ ράξηε. Βήκα

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

ΣΔΥΝΟΛΟΓΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΚΤΠΡΟΤ ΥΟΛΗ ΓΔΩΣΔΥΝΙΚΩΝ ΔΠΙΣΗΜΩΝ ΚΑΙ ΓΙΑΥΔΙΡΙΗ ΠΔΡΙΒΑΛΟΝΣΟ. Πτυχιακή διατριβή ΟΛΟΚΛΗΡΩΜΔΝΗ ΑΠΟΡΡΤΠΑΝΗ ΚΑΤΑΔΡΙΩΝ ΠΛΟΙΩΝ

ΣΔΥΝΟΛΟΓΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΚΤΠΡΟΤ ΥΟΛΗ ΓΔΩΣΔΥΝΙΚΩΝ ΔΠΙΣΗΜΩΝ ΚΑΙ ΓΙΑΥΔΙΡΙΗ ΠΔΡΙΒΑΛΟΝΣΟ. Πτυχιακή διατριβή ΟΛΟΚΛΗΡΩΜΔΝΗ ΑΠΟΡΡΤΠΑΝΗ ΚΑΤΑΔΡΙΩΝ ΠΛΟΙΩΝ ΣΔΥΝΟΛΟΓΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΚΤΠΡΟΤ ΥΟΛΗ ΓΔΩΣΔΥΝΙΚΩΝ ΔΠΙΣΗΜΩΝ ΚΑΙ ΓΙΑΥΔΙΡΙΗ ΠΔΡΙΒΑΛΟΝΣΟ Πτυχιακή διατριβή ΟΛΟΚΛΗΡΩΜΔΝΗ ΑΠΟΡΡΤΠΑΝΗ ΚΑΤΑΔΡΙΩΝ ΠΛΟΙΩΝ Αργσρώ Ιωάννοσ Λεμεσός 2012 ΣΔΥΝΟΛΟΓΙΚΟ ΠΑΝΔΠΙΣΗΜΙΟ ΚΤΠΡΟΤ

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

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

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

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

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

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Εισαγωγή στη Φωτογραυία Χριζηάκης Σαζεΐδης - EFIAP 1 ΜΑΘΗΜΑ 3 ο ΚΛΕΙΣΡΟ ΣΑΥΤΣΗΣΑ ΚΛΕΙΣΡΟΤ-ΕΠΙΛΟΓΗ ΚΑΣΑΛΛΗΛΗ ΣΑΥΤΣΗΣΑ Σι είναι υωτογραυική μητανή; Από πνηα κέξε απνηειείηαη: 1. Φαθό

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

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις ΔΛΛΗΝΙΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ Παλεπηζηεκίνπ (Διεπζεξίνπ Βεληδέινπ) 34 06 79 ΑΘΖΝΑ Τει. 36653-367784 - Fax: 36405 e-mail : info@hms.gr www.hms.gr GREEK MATHEMATICAL SOCIETY 34, Panepistimiou (Δleftheriou

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

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ (ΟΜΑΓΑ Β ) ΣΔΣΑΡΣΖ 18 ΜΑΪΟΤ 16 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (ΝΔΟ ΤΣΖΜΑ) ΚΑΣΔΤΘΤΝΖ (ΠΑΛΑΗΟ ΤΣΖΜΑ) (Ενδεικηικές Απανηήζεις) ΘΔΜΑ

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΠΟΥΔΕΣ ΣΤΙΣ ΦΥΣΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΓΕΝΙΚΑ ΜΑΘΗΜΑΤΙΚΑ ΙΙ - ΦΥΕ 0 7 Ινπλίνπ 009 Απαντήσειρ στιρ ασκήσειρ τηρ τελικήρ εξέτασηρ στιρ Σςνήθειρ Διαυοπικέρ Εξισώσειρ Αγαπηηέ θοιηηηή/ηπια,

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

Ασκήσεις Οπτική και Κύματα

Ασκήσεις Οπτική και Κύματα Παλεπηζηήκην Κξήηεο Τκήκα Επηζηήκεο θαη Τερλνινγίαο Υιηθώλ Ασκήσεις Οπτική και Κύματα Δηδάζθσλ: Δεκήηξεο Παπάδνγινπ Email: dpapa@materials.uc.gr Άλυτες Ασκήσεις: 1. Να πξνζδηνξίζεηε αλ νη αθόινπζεο ζπλαξηήζεηο

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

όπνπ Κ Ρ u(t) u(t) Pe(t) e(t) 2015 Κ. Παξίζεο, Καζεγεηήο 1

όπνπ Κ Ρ u(t) u(t) Pe(t) e(t) 2015 Κ. Παξίζεο, Καζεγεηήο 1 Αλαινγηθόο ειεγθηήο Ρ (Proportional controller) Είλαη ν ειεγθηήο ν νπνίνο δίλεη ζηελ έμνδν ηνπ, ζήκα αλάινγν ηνπ ζθάικαηνο πνπ δέρεηαη ζηελ είζνδν. Η ζρέζε πνπ πξνζδηνξίδεη ηελ ζπκπεξηθνξά ηνπ ειεγθηή

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

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

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

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

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

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

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