THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => AVR Εποχή => Topic started by: gfloros on September 20, 2004, 13:17:52 pm



Title: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: gfloros on September 20, 2004, 13:17:52 pm
Για το φίλο μου τον Διονύση...
Θέματα Ιούνιος 2004
Προσεχώς και άλλα
Flo
 :P

[attachment deleted by admin]


Title: Απ: Θέματα Εξετάσεων
Post by: Cyberkat on June 23, 2005, 10:39:01 am
Παιδια αν εχει κανεις παλια θεματα, αν ειναι ευκολο ανεβαστε τα θεματα της θεωριας, γιατι η υλη ειναι αχανης. :-\
Ευχαριστω


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 23, 2005, 12:25:20 pm
Κάθε φορά το στανταρ θέμα είναι σχεδίαση χάρτη μνήμης.
Γράφω σκόρπιες ερωτήσεις που μπήκαν κατά καιρούς, και σε όποιες τις έχω βρει γράφω και τη σελίδα στο τέλος.
Ας βοηθήσει και κάποιος άλλος  για όσες σελ δεν βρήκα

1. Σε ένα υπολογιστικό σύστημα συνδέονται 8 περιφερειακές συσκευές ίσης προτεραιότητας. Επιλέξτε τον κατάλληλο τρόπο επικοινωνίας.
2. Σχολιάστε τα βήματα εκτέλεσης της εντολής LDA PDRA όταν χρησιμοποιείται η μέθοδος της χειραψίας 107
3. Πλεονεκτήματα και μειονεκτήματα της χρήσης ειδικών εντολών IN/OUT στο σετ εντολών ενός Μ/Ε.
4.Αιτιολογήστε την επιλογή ανάμεσα σε διακοπές ή σημαίες για γεγονότα σύγχρονα όπου η περιφερειακή συσκευή είναι ήδη έτοιμη για επικοινωνία 19
5.Αιτιολογήστε την αναγκαιότητα του σήματος RESET
6.Πώς ένας ΜΕ των 8βιτς μπορεί να διαβάσει μια 32 βιτς πληροφορία εισόδου; Σχεδιάστε το κύκλωμα. Πώς θα απλοποιειθεί για ΜΕ των 16 ή 32 βιτς; 16
7.

Θα επανλέθω με νέες


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 23, 2005, 14:53:25 pm
8. Σε ένα Υπολογ Σύστημα συνδέονται 8 ΠΣ ίσης προτεραιότητας. Επιλέξτε κατάλληλο τρόπο επικοινωνίας ?
9. Στον 1ο κύκλο μηχανης μιας εντολης του 6502 ενεργοποιείται η IRQ ενώ στον δέυτερο η ΝΜΙ. Πώς θα εξελιχθεί η εκτέλεση της εντολής 59-60
10. Σημασία του σήματος RESET 63
11.Διαδικασία αρχικοποίησης με την πρώτη παροχή ισχύος 62
12. Επίσραση του σήματος ΡΕΣΕΤ στη ram rom pia ΚΜΕ. 63
13. Ποιος είναι ο ρόλος του σήματος ΙΝΤΑ και πώς υλοποιείται στον 6502; ?
14. Πότε χρησιμοποιείται η SEI: Απανεργοποιηση των IRQ
15. Παράγοντες που εξαρτάται ο χρόνος απόκρισης σε διακοπη 59
16. Περιγραφή της daisy-chain,ειδικότερα περίπτωση σύνδεσης 16 συσκευών 40,43,55
17. Σύγκριση polling-priority encoder 20
18. Στον 6502 συνδέονται 2 ΠΣ στη ΝΜΙ και 3 ΠΣ στη IRQ. Περιγράψτε τη διαδικασία εξυπηρέτησης διακοπών: ΕΞΑΡΤΑΤΑΙ
19. Γιατί η σημαία διακοπων της ΡΙΑ πρέπει να μηδενιστεί πριν την επιστροφή στο κυρίως πρόγραμμα; ??
20. Πόσες συσκευές μπορούμε να συνδέσουμε στις εισόδους IRQ, NMI: ΕΞΑΡΤΑΤΑΙ
21. Ρόλος του bit απόκρυψης 106
22. Ρόλος του bit IRQ του καταχωρητή καταστάσεων; ??


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 23, 2005, 14:59:38 pm
Διορθώστε όποια λάθη στις απαντήσεις
και βοηθήστε στις υπόλοιπες που δεν βρεθηκε απάντηση


Title: Απ: Θέματα Εξετάσεων
Post by: Cyberkat on June 23, 2005, 18:53:02 pm
D.Σχεδιάστε τον χάρτη μνήμης και το σύστημα αποκωδικοποίησης για ένα 16bit μικροεπεξεργαστή, ο οποίος διαθέτει 64Mwords RAM, η οποία αρχίζει από τη θέση μηδέν. Οι RAM είναι ψηφίδες των 16Mbit.   (1 μονάδα)

Είναι σωστή η παρακάτω λύση? 64Mwords = 64Μ *16 bits = 64 *16Μbits
Σύμφωνα με το παραπάνω θα χρειαστούμε 64 ολοκληρωμένα και διάδρομο διευθύνσεων τουλάχιστον 20 bits. Είναι έτσι ή κάνω κάποιο λάθος? Λίγο παράλογο μου φαίνεται.
Αν έχει κανείς καμιά ιδέα, ας απαντήσει.

Θα προσπαθήσω να βοηθήσω με τις σελίδες των απαντήσεων στις παραπάνω ερωτήσεις μέσα στις επόμενες μέρες.


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 24, 2005, 01:11:14 am
+ Σε ένα ΜΥ σύστημα συνδέονται ένας μετρητής ροής, μετρητής πίεσης, αισθητήριο υψηλήσς στάθμης υγρού
και πληκτρολόγιο εισαγωγής δεδομένων. Τρόπος επικοινωνία με τον ΜΕ και η σχετική προτεραιότητα
                                                   :???:


Title: Απ: Θέματα Εξετάσεων
Post by: Cyberkat on June 24, 2005, 14:11:58 pm
Ignore this.
It was only made to lift this message to the recent ones.
Αν κάποιος ξέρει την μονολεκτική απάντηση στο παραπάνω ερώτημα θεωρίας.......μπας και γράψουμε τίποτε


Title: Απ: Θέματα Εξετάσεων
Post by: Netgull on June 25, 2005, 16:02:11 pm
Quote
13. Ποιος είναι ο ρόλος του σήματος ΙΝΤΑ και πώς υλοποιείται στον 6502; ?
Με το σήμα Interrupt Acknowledge ειδοποιείται η ΠΣ για την αναγνώριση της διακοπής από τον ΜΥ. Έτσι μπορεί να γίνεται μηδενισμός κάποιων FF κατάστασης με hardware. Χρησιμοποείται επίσης σε διανυσματικές τεχνικές αναγνώρισης διακοπών, όπως σε daisy-chain, με χρήση priority encoder, ή για την εκπομπή ενός διανύσματος διακοπής στον DB από την ΠΣ (πχ στον 68000). Στον 6502 υλοποιείται με χρήση της γραμμής CA2 της ΡΙΑ (σελ. 55).
Quote
19. Γιατί η σημαία διακοπων της ΡΙΑ πρέπει να μηδενιστεί πριν την επιστροφή στο κυρίως πρόγραμμα; ??
Η σημαία διακοπών πρέπει να μηδενιστεί (συνήθως με μια LDA PDRA) για να μη γίνει λανθασμένα ξανά δεκτή η ίδια διακοπή μόλις επιστρέψουμε στο κυρίως πρόγραμμα (πχ αν έχουμε διακοπές αυτό μεταφράζεται στο να επανέλθει η IRQ/ στο 1 και να μην παραμείνει στο 0).
Quote
22. Ρόλος του bit IRQ του καταχωρητή καταστάσεων; ??
Φαντάζομαι εννόει τον SR του 6502. Τότε ο ρόλος του είναι η καθολική ενεργοποίηση/απενεργοποίηση του συστήματος διακοπών.

Τώρα...τα παρακάτω παρέχονται χωρίς καμία εγγύηση για όποιες απώλειες μπορεί να προέλθουν από τη χρήση τους  ;D

Quote
Σε ένα ΜΥ σύστημα συνδέονται ένας μετρητής ροής, μετρητής πίεσης, αισθητήριο υψηλήσς στάθμης υγρού
και πληκτρολόγιο εισαγωγής δεδομένων. Τρόπος επικοινωνία με τον ΜΕ και η σχετική προτεραιότητα
Το πληκτρολόγιο είναι ασύγχρονη είσοδος οπότε συνδέεται σίγουρα με διακοπές. Τώρα τα υπόλοιπα είναι γενικά είσοδοι που παρουσιάζουν αργές μεταβολές και συνεπώς δεν υπάρχει λόγος να ελέγχουμε συνεχόμενα την είσοδό τους με σημαίες. Άποψή μου είναι ότι πρέπει και αυτά να συνδεθούν με διακοπές (είχες δίκιο τελικά fugi). Εναλλακτικά θα μπορούσαν να συνδεθούν με σημαίες και κάποιον εξωτερικό timer έτσι ώστε να ελέγχεται περιοδικά η τιμή τους. Τώρα για τις προτεραιότητες εξαρτάται από πολλούς παράγοντες... Αν έχουμε μια δεξαμενή με υγρό δίπλα στα ηλεκτρονικά μας πχ τότε θα έχει μεγαλύτερη προτεραιότητα η μετρητής στάθμης υγρού. Πάντως στα pc γενικά οι συσκευές επικοινωνίας με το χρήστη, όπως το πληκτρολόγιο έχουν γενικά υψηλή προτεραιότητα (αλλιώς θα πατούσαμε ένα κουμπί και θα περιμέναμε να εξυπηρετηθούν όλες οι υπόλοιπες συσκευές πριν εμφανιστεί το γράμμα στην οθόνη!). Το ξέρω δεν βοηθάω και πολύ, αλλά εδώ που φτάσαμε πετάτε ιδέες μπας και βγάλουμε τίποτα!  ::)

edit:
Quote
D.Σχεδιάστε τον χάρτη μνήμης και το σύστημα αποκωδικοποίησης για ένα 16bit μικροεπεξεργαστή, ο οποίος διαθέτει 64Mwords RAM, η οποία αρχίζει από τη θέση μηδέν. Οι RAM είναι ψηφίδες των 16Mbit.   (1 μονάδα)

Είναι σωστή η παρακάτω λύση? 64Mwords = 64Μ *16 bits = 64 *16Μbits
Σύμφωνα με το παραπάνω θα χρειαστούμε 64 ολοκληρωμένα και διάδρομο διευθύνσεων τουλάχιστον 20 bits. Είναι έτσι ή κάνω κάποιο λάθος? Λίγο παράλογο μου φαίνεται.
Κατερίνα από ποια θέματα είναι; Και μένα μου φαίνονται πολλά τα ολοκληρωμένα, αλλά η λύση σου είναι σωστή. Άλλωστε 64 Μwords => 2^26 words => 26 bits διάδρομο διευθύνσεων αναγκαστικά!


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 25, 2005, 20:23:00 pm
Όταν λέει
Χρησιμοποιείται μετατροπέας Α/Δ των 12 bits. Η συχνότητα δειγματοληψίας (ΣΔ) είναι 8 δείγματα / περίοδο.
Λαμβάνονται τα δείγματα των 6 σημάτων για 5 πειόδους και αποθηκεύονται σε πίνακες.

Πώς υλοποιείται στο πρόγραμμα αυτό με τη ΣΔ;
Και με την ευκαιρεία ποια είναι η ταχύτητα λειτουργίας του 6502;


Title: Απ: Θέματα Εξετάσεων
Post by: Cyberkat on June 25, 2005, 23:24:21 pm
Quote
Κατερίνα από ποια θέματα είναι; Και μένα μου φαίνονται πολλά τα ολοκληρωμένα, αλλά η λύση σου είναι σωστή. Άλλωστε 64 Μwords => 2^26 words => 26 bits διάδρομο διευθύνσεων αναγκαστικά!

Είναι από τον Ιούνιο 2004, ακριβώς αυτά που έχει αναρτήσει ο flo λίγο πιο πάνω.

Τεσπα, τις περισσότερες ερωτήσεις θεωρίας είναι αδύνατον να τις απαντήσω ακόμη και με ανοιχτό βιβλίο. Για παράδειγμα "Να αναλυθεί σε κύκλους μηχανής η εντολή LDA PDRA" . Με βάση την ύλη των Μικρο Ι ή ΙΙ? Στα ΙΙ δεν βρήκα κάτι αρκετά σχετικό. Οι περισσότερες είνει τρέχα γύρευε......


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 26, 2005, 10:13:41 am
ΝΟμίζω εννοείς την ερώτηση  "Να αναλυθεί σε κύκλους μηχανής η εντολή LDA PDRA με τη μέθοδο της χειραψίας"
Αυτό που κατάλαβα είναι περιγραφή της μεθόδου της χειραψίας


Title: Απ: Θέματα Εξετάσεων
Post by: Cyberkat on June 26, 2005, 12:12:36 pm
Quote
4.Αιτιολογήστε την επιλογή ανάμεσα σε διακοπές ή σημαίες για γεγονότα σύγχρονα όπου η περιφερειακή συσκευή είναι ήδη έτοιμη για επικοινωνία 19

Θα χρησιμοποιηθεί η μέθοδος των σημαιών. Είναι σύγχρονη μέθοδος και εφόσον η περιφερειακή συσκευή είναι έτοιμη για επικοινωνία, η εξυπηρέτησή της θα γίνει πολύ πιο γρήγορα από ότι με την ασύγχρονη μέθοδο των διακοπών. Υπάρχει, βέβαια, το μειονέκτημα ότι όσο ο μικροεπεξεργαστής είναι σε αναμονή, δεν θα εκμεταλλεύεται σωστά την υπολογιστική του δύναμη, αλλά αφού έχουμε μόνο μια περιφερειακή συσκευή και αυτή είναι σε ετοιότητα, ο χρόνος αυτός θα είναι ασήμαντος.

Quote
9. Στον 1ο κύκλο μηχανης μιας εντολης του 6502 ενεργοποιείται η IRQ ενώ στον δέυτερο η ΝΜΙ. Πώς θα εξελιχθεί η εκτέλεση της εντολής 59-60

Και οι δυο διακοπές θα γίνουν αντιληπτές στην αρχή του τελευταίου κύκλου μηχανής της εκτελούμενης εντολής. Άρα θα τελειώσει η εκτέλεση της εντολής, θα αποθηκευτεί η κατάσταση του μικροεπεξεργαστή και στην συνέχεια θε ενεργοποιηθεί πρώτα η ρουτίνα εξυπηρέτησης της ΝΜΙ κα όταν αυτή τελειώσει θα εξυπηρετηθεί η IRQ.

Quote
5.Αιτιολογήστε την αναγκαιότητα του σήματος RESET

σελ.62

Quote
3. Πλεονεκτήματα και μειονεκτήματα της χρήσης ειδικών εντολών IN/OUT στο σετ εντολών ενός Μ/Ε.

σελ.7

Quote
ΝΟμίζω εννοείς την ερώτηση  "Να αναλυθεί σε κύκλους μηχανής η εντολή LDA PDRA με τη μέθοδο της χειραψίας"
Αυτό που κατάλαβα είναι περιγραφή της μεθόδου της χειραψίας

Στα θέματα Ιουνίου 2004 υπάρχει ακριβώς η ερώτηση που ανέφερα χωρίς να γίνεται καμιά αναφορά στην μέθοδο χειραψίας.

Τίποτε από τα παραπάνω δεν είναι σίγουρο. Αν κάποιος διαφωνεί, πιθανότατα θα έχει δίκιο οπότε ας απαντήσει.


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on June 26, 2005, 22:45:50 pm
Quote
Σε ένα ΜΥ σύστημα συνδέονται ένας μετρητής ροής, μετρητής πίεσης, αισθητήριο υψηλήσς στάθμης υγρού
και πληκτρολόγιο εισαγωγής δεδομένων. Τρόπος επικοινωνία με τον ΜΕ και η σχετική προτεραιότητα

Θα συμφωνήσω με τον netgull στο ότι το πληκτρολόγιο είναι σίγουρα είσοδος υψηλής προτεραιότητας άρα χρειάζεται σίγουρα διακοπές. Όσο για τα υπόλοιπα, στη σελίδα 266 του βιβλίου λέει ότι μεγέθη όπως ροή, πίεση, στάθμη υγρού χρείαζονται διαστήματα δειγματοληψίας της τάξης του 0.5-1sec (επειδή μεταβάλλονται αργά). Συνεπώς, αφού χρειαζόμαστε μια επαναληπτική διαδιικασία όσον αφορά την πίεση και τη ροή, μάλλον θα πρέπει να χρησιμοποιήσουμε τη μέθοδο των σημαιών (αφού τα δεδομένα θα είναι έτοιμα κλπ, όπως έχουμε δει και σε άλλες ερωτήσεις). Για τη στάθμη υγρού, παρόλο που εντάσσεται στην ίδια κατηγορία, η ερώτηση μιλάει για αισθητήριο υψηλής στάθμης υγρού, πράγμα που σημαίνει ότι δρα σαν συναγερμός και όχι ως μετρητής μιας κατάστασης σε τακτά διαστήματα. Άρα νομίζω ότι θα πρέπει να συνδεθεί και αυτός με διακοπή (αν όχι με ΝΜΙ, με IRQ). Τέλος η προτεραιότητα νομίζω ότι πρέπει να είναι
1. Αισθητήριο υψηλής στάθμης υγρού
2. Πληκτρολόγιο
3. Τα άλλα δύο.


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on June 26, 2005, 23:04:14 pm
1. Σε ένα υπολογιστικό σύστημα συνδέονται 8 περιφερειακές συσκευές ίσης προτεραιότητας. Επιλέξτε τον κατάλληλο τρόπο επικοινωνίας.

Αν και εγώ ο ίδιος έθεσα την ερώτηση σε άλλο topic (sorry) μη γνωρίζοντας τι εννοεί ως τρόπους επικοινωνίας, αν τελικά ώς τρόπυς επικοινωνίας εννοεί τις διακοπές ή τις σημαίες παραθέτω την απάντηση (ελπίζω να είναι σωστή και να μη σας κρεμάσω)

Επειδή οι 8 περιφερειακές συσκευές είναι πολλές, επάρχει το ενδεχόμενο αν χρησιμοποιήσουμε τη μέθοδο των σημαιών κάποια  ΠΣ συσκευή να περιμένει για ένα σημαντικό χρονικό διιάστημα μέχρι να εξυπηρετηθεί (σελ 21, μειονεκτήματα μεθόδου σημαιών). Συνεπώς, καταλληλότερη μέθοδος είναι αυτή των διακοπών.


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on June 26, 2005, 23:23:27 pm
Η μέθοδος daisy-chain, δεν εμπεριέχει από μόνη της την προτεραιότητα λόγω της συνδεσμολογίας και μόνο; Επομένως τι χρειάζεται ο κωδικοποιητής προτεραιότητας (σχημα σελ 57); Γιατί δε συνδέουμε κατευθείαν τις 8 γραμμές στην ΡΙΑ ελέγχου;

Ακόιμη, η μέθοδος polling επίσης δεν εμπεριέχει την προτεραιότητα, αφού εξυπηρετείται η ρουτίνα της διακοπής που ανιχνεύεται πρώτη; Συνεπώς, ανάλογα με τη σειρά που θα επιλέξουμε να κάνουμε τον έλεγχο νομίζω ότι παραχωρούμε την αντίστοιχη προτεραιότητα.

Μπορεί κάποιος να επιβεβαιώσει ή να αντικρούσει τα παραπάνω;


Title: Απ: Re: Θέματα Εξετάσεων
Post by: Netgull on June 26, 2005, 23:52:37 pm
1. Σε ένα υπολογιστικό σύστημα συνδέονται 8 περιφερειακές συσκευές ίσης προτεραιότητας. Επιλέξτε τον κατάλληλο τρόπο επικοινωνίας.
Επειδή οι 8 περιφερειακές συσκευές είναι πολλές, επάρχει το ενδεχόμενο αν χρησιμοποιήσουμε τη μέθοδο των σημαιών κάποια  ΠΣ συσκευή να περιμένει για ένα σημαντικό χρονικό διιάστημα μέχρι να εξυπηρετηθεί (σελ 21, μειονεκτήματα μεθόδου σημαιών). Συνεπώς, καταλληλότερη μέθοδος είναι αυτή των διακοπών.
Οπωσδήποτε διακοπές. Η μέθοδος σημαιών εμπεριέχει προτεραιότητα. Οπότε προτείνω διακοπές και σύνδεση όλων με πύλη OR (ή απ ευθείας αν η IRQ/ υποστηρίζει wired-OR) στην IRQ/. Τώρα το θέμα που προκύπτει είναι στο πως αναγνωρίζεις την πηγή της διακοπής και πως πχ θα επιλέξεις μια συσκευή αν ζητήσουν και οι δύο διακοπή ταυτόχρονα. Για την αναγνώριση της διακοπής τουλάχιστον στον 6502 χρησιμοποιείς ρουτίνα polling ή εξωτερικό hardware (daisy chain, priority encoder) που αναγκαστικά και τα δύο εισάγουν προτεραιότητες (αν έχει κάποιος κάποια υλοποίηση στο μυαλό του με εξωτερικό hardware που δεν εισάγει να την πει). Το μόνο που μπορώ να σκεφτώ για να έχουμε ίση προτεραιότητα είναι να εναλάσσουμε την σειρά ελέγχου των συσκευών πχ με κάποιον αλγόριθμο Round Robin (τον RR τον είχε αναφέρει και ο Πέτρου στην τάξη, μόνο ονομαστικά όμως). Θα μπορούσαμε να έχουμε πχ όλους τους καταχωρητές ελέγχου των ΠΣ σε διαδοχικές θέσεις μνήμης και να έχουμε ένα δείκτη που θα δείχνει κάθε φορά από ποια ξεκινάμε να ελέγχουμε και ο οποίος μετά από κάθε αίτηση διακοπής θα αυξάνεται κάνοντας ανακύκλωση μετά το τέλος του πίνακα. Σαν μία κυκλική λίστα (δεν ξέρω πως τα λέγατε και στις Δομές...). Πολύπλοκο, αλλά νομίζω εξασφαλίζει κατά μέσο όρο ίση προτεραιότητα σε όλες. Ξαναλέω ότι αυτά είναι η προσωπική μου απάντηση.

Quote
Η μέθοδος daisy-chain, δεν εμπεριέχει από μόνη της την προτεραιότητα λόγω της συνδεσμολογίας και μόνο; Επομένως τι χρειάζεται ο κωδικοποιητής προτεραιότητας (σχημα σελ 57); Γιατί δε συνδέουμε κατευθείαν τις 8 γραμμές στην ΡΙΑ ελέγχου;
H daisy chain εμπεριέχει προτεραιότητα. Πρόσεξε όμως ότι στην PIA ελέγχου εισάγεται ως τρίμπιτος κώδικας ο αριθμός της PIA που ζητάει διακοπή. Συνεπώς χρειάζεσαι τουλάχιστον έναν κωδικοποιητή. Το προτεραιότητας δεν είναι απαραίτητο.

Quote
Ακόιμη, η μέθοδος polling επίσης δεν εμπεριέχει την προτεραιότητα, αφού εξυπηρετείται η ρουτίνα της διακοπής που ανιχνεύεται πρώτη; Συνεπώς, ανάλογα με τη σειρά που θα επιλέξουμε να κάνουμε τον έλεγχο νομίζω ότι παραχωρούμε την αντίστοιχη προτεραιότητα.
Ναι η μέθοδος polling εμπεριέχει προτεραιότητα.

edit:
Quote
Θα συμφωνήσω με τον netgull στο ότι το πληκτρολόγιο είναι σίγουρα είσοδος υψηλής προτεραιότητας άρα χρειάζεται σίγουρα διακοπές. Όσο για τα υπόλοιπα, στη σελίδα 266 του βιβλίου λέει ότι μεγέθη όπως ροή, πίεση, στάθμη υγρού χρείαζονται διαστήματα δειγματοληψίας της τάξης του 0.5-1sec (επειδή μεταβάλλονται αργά). Συνεπώς, αφού χρειαζόμαστε μια επαναληπτική διαδιικασία όσον αφορά την πίεση και τη ροή, μάλλον θα πρέπει να χρησιμοποιήσουμε τη μέθοδο των σημαιών (αφού τα δεδομένα θα είναι έτοιμα κλπ, όπως έχουμε δει και σε άλλες ερωτήσεις)
Έχεις δίκιο. Διορθώνω-συμπληρώνω την προηγούμενη απάντησή μου λοιπόν. Εάν ο Μ/Ε δεν έχει να κάνει άλλες εργασίες εκτός από το διάβασμα των μετρήσεων τότε οι αισθητήρες πίεσης και θερμοκρασίας συνδέονται με σημαίες. Αν έχει να κάνει και άλλες εργασίες εγώ θα επιμείνω στις διακοπές  (1 sec ο με να κάθεται;). Για το υψηλής στάθμης υγρού είναι με σημαίες ή με διακοπές ή ΝΜΙ ανάλογα με το πως ερμηνεύεις το "υψηλής". Πάντως στις ασκήσεις που έκανε στο τελευταίο μάθημα υπάρχει άσκηση με αισθητήρια πίεσης, θερμοκρασίας και στάθμης υγρού και τα συνδέσαμε με σημαίες, αλλά ο με έκανε μόνο αποθήκευση των μετρήσεων και πρόσθεσή τους. Τέλος να πω ότι και η δικιά μου ανάμνηση από τα μαθήματα ήταν ότι τέτοιους αργούς αισθητήρες τους συνδέουμε με σημαίες. Δεν θυμάμαι γιατί και δεν το έχω σημειωμένο. Απλά έχω αυτή την εντύπωση ( και γι αυτό είχα πει έτσι στον fugi προχτες), αλλά μπορεί να θυμάμαι και λάθος. Αυτά από μένα, ας κρίνει ο καθένας για τον εαυτό του.


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on June 27, 2005, 10:54:47 am

Quote
Η μέθοδος daisy-chain, δεν εμπεριέχει από μόνη της την προτεραιότητα λόγω της συνδεσμολογίας και μόνο; Επομένως τι χρειάζεται ο κωδικοποιητής προτεραιότητας (σχημα σελ 57); Γιατί δε συνδέουμε κατευθείαν τις 8 γραμμές στην ΡΙΑ ελέγχου;
H daisy chain εμπεριέχει προτεραιότητα. Πρόσεξε όμως ότι στην PIA ελέγχου εισάγεται ως τρίμπιτος κώδικας ο αριθμός της PIA που ζητάει διακοπή. Συνεπώς χρειάζεσαι τουλάχιστον έναν κωδικοποιητή. Το προτεραιότητας δεν είναι απαραίτητο.

Πρόσεξα ότι εισάγεται ως τρίμπιτος κώδικας ο αριθμός της PIA που ζητάει διακοπή. Αλλά, εφόσον οι γραμμές των διακοπών (αριθμός συσκευών) είναι ίσος με τον αριθμό των εισόδων της PIA γιατί είναι απαραίτητη η κωδικοποίηση; Δε θα μπορούσε να αναγνωριστεί η συσκευή από τον μΕ από την ανάγνωση του PDR αν οι γραμμές διακοπών συνδέονταν κατ'ευθείαν στην PIA.


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 11:32:11 am
Από ότι κατάλαβα είναι γιατην δημιουργία ενός ψευδοσήματος interrupt ack


Υπάρχει αναθεώρηση δυο μηνύματα πιο κάτω


Title: Re: Θέματα Εξετάσεων
Post by: Atzakas on June 27, 2005, 12:17:08 pm
Έχω σε κάτι σημειώσεις τον εξής κώδικα για delay στον 6502

DELAY  LDY #...         : 2 cycles
LOOP0  LDX #...         : 2 cycles
LOOP1  DEX               : 2 cycles
           BNE LOOP1     ; 2-3cycles
           DEY               ; 2 cycles
           BNE LOOP0     ; 2-3 cycles
           RTS               ; 6 cycles

Μπορεί να μου πει κάποιος πως μπορώ να υλοποιήσω μια καθυστέρηση όταν μου δίνεται ότι η καθυστέρερηση είναι πχ 20sec? Πόσο είναι το ρολόι του 6502?


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 12:43:00 pm
Από ασκήσεις:

Μια καθυστέρηση των 200msecs γίνεται ως
LDY #253
LDX #157
DEX
BNE LOOP1
DEY
BNE LOOP2
(39721)

ενώ των 300msec
ldy 233
ldx 256
(=59648)

Η σχέση τους είναι 3/2 οπότε αναλογικα μπορούμε να πούμε οτι 1msec είναι
(39721/200~=199) οπότε κάτι του στυλ
LDY 100
LDX 99
λογικά θα ήταν σωστό


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 13:50:48 pm

Η μέθοδος daisy-chain, δεν εμπεριέχει από μόνη της την προτεραιότητα λόγω της συνδεσμολογίας και μόνο; Επομένως τι χρειάζεται ο κωδικοποιητής προτεραιότητας (σχημα σελ 57); Γιατί δε συνδέουμε κατευθείαν τις 8 γραμμές στην ΡΙΑ ελέγχου;

H daisy chain εμπεριέχει προτεραιότητα. Πρόσεξε όμως ότι στην PIA ελέγχου εισάγεται ως τρίμπιτος κώδικας ο αριθμός της PIA που ζητάει διακοπή. Συνεπώς χρειάζεσαι τουλάχιστον έναν κωδικοποιητή. Το προτεραιότητας δεν είναι απαραίτητο.

Πρόσεξα ότι εισάγεται ως τρίμπιτος κώδικας ο αριθμός της PIA που ζητάει διακοπή. Αλλά, εφόσον οι γραμμές των διακοπών (αριθμός συσκευών) είναι ίσος με τον αριθμό των εισόδων της PIA γιατί είναι απαραίτητη η κωδικοποίηση; Δε θα μπορούσε να αναγνωριστεί η συσκευή από τον μΕ από την ανάγνωση του PDR αν οι γραμμές διακοπών συνδέονταν κατ'ευθείαν στην PIA.

Από ότι κατάλαβα είναι γιατην δημιουργία ενός ψευδοσήματος interrupt ack

Αναθεωρώ. Αυτός ο κωδικοποιητής χρειάζεται για τη μείωση του αριθμού εισόδων στη ΡΙΑ. Εδώ βέβαια μας φτάνουν οι 8 αλλά σκεφτείτε να είχαμε 16 ΠΣ! Υπήρχε ανάλογη ερώτηση κάποια χρονιά. Τώρα που την είδα μου ήρθε η απάντηση. Να'σαι καλά Χρυσόστομε (GoldenMouth)


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 14:08:35 pm
Σελ.61-2η παράγρ.
εκεί που αναφέρεται στην ΝΜΙ και 2 ΠΣ.
Τελικά εάν έχουμε 2 ΠΣ στην ΝΜΙ θα λειτουργήσει ποτέ η δεύτερη ή θα είναι συνέχεια αποκομμένη;
 :???: :???: :???:


Title: Απ: Θέματα Εξετάσεων
Post by: Netgull on June 27, 2005, 14:22:20 pm
Quote
Έχω σε κάτι σημειώσεις τον εξής κώδικα για delay στον 6502

DELAY  LDY #...         : 2 cycles
LOOP0  LDX #...         : 2 cycles
LOOP1  DEX               : 2 cycles
           BNE LOOP1     ; 2-3cycles
           DEY               ; 2 cycles
           BNE LOOP0     ; 2-3 cycles
           RTS               ; 6 cycles

Μπορεί να μου πει κάποιος πως μπορώ να υλοποιήσω μια καθυστέρηση όταν μου δίνεται ότι η καθυστέρερηση είναι πχ 20sec? Πόσο είναι το ρολόι του 6502?
Σημειώσεις Μίκρο Ι σελ. 212. Θεωρούμε το ρολόι του 6502 1 Mhz. Aν Ν0 είναι το περιεχόμενο του εξωτερικού μετρητή και Ν1 του εσωτερικού μετρητή στην παραπάνω ρουτίνα, τότε η συνολική καθυστέρηση είναι 6*Ν0+5*Ν0*Ν1+51 (μαζί με τους κύκλους για αποθήκευση καταχωρητών και επιστροφή κλπ). Στο βιβλίο έχει επιπλέον και μια εντολή TAX στην αρχή οπότε με την παραπάνω ρουτίνα αφαιρούνται 2 κύκλοι (αλλά τώρα για 2 κύκλους ποιος νοιάζεται...).

Quote
Σελ.61-2η παράγρ.
εκεί που αναφέρεται στην ΝΜΙ και 2 ΠΣ.
Τελικά εάν έχουμε 2 ΠΣ στην ΝΜΙ θα λειτουργήσει ποτέ η δεύτερη ή θα είναι συνέχεια αποκομμένη;
Δεν θα λειτουργήσει ποτέ, εκτός αν αναιρεθεί η διακοπή από την ΠΣ (επανέλθει στο 1) και ξαναζητηθεί. Η διαφορά των IRQ/, NMI/ στον 6502 είναι ότι η πρώτη είναι level-triggered, δηλαδή ενεργοποιείται εφόσον η είσοδος είναι 0, ενώ η δεύτερη είναι edge-triggered δηλαδή ενεργοποιείται μόνο κατά τη ΜΕΤΑΒΑΣΗ από το 1 στο 0.

Για την ερώτηση του GoldenMouth συμφωνώ με τον fugitive. Αν έχεις μόνο 8 μπορείς να τις συνδέσεις, για παραπάνω χρειάζεσαι κωδικοποιητή.


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 15:08:56 pm
Ποιος είναι ο ακριβής τρόπος λειτουργίας (τι ακριβώς κάνει) της εντολής
BIT?

EDIT: Κι άλλη ερώτηση

Ερωτώ:
Ποια είναι τα βασικά modules μιας υπορουτίνας διακοπής;

Απαντώ και διορθώνετε:
PHA
-----
Body
------
LDA PDRA/B (Reset b7)
PLA
RTI


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 20:17:52 pm
memory map:
Αμέσως μετά την RAM τοποθετούνται σε συνεχόμενες θέσεις μνήμης 8 ΡΙΑ κια ένας FDC (Floppy Disk Controller) ο οποίος διαθέτει 16 καταχωρητές. Να σχεδιασθεί ο χάρτης μνήμης και η διαταξη ψηφίδων.
 ???


Title: Re: Απ: Θέματα Εξετάσεων
Post by: GoldenMouth on June 27, 2005, 20:22:51 pm
Ποιος είναι ο ακριβής τρόπος λειτουργίας (τι ακριβώς κάνει) της εντολής
BIT?

Σε ένα φυλλάδιο που μας είχαν δώσει στα Μικρο 1 με τις εντολές του 6502 η ΒΙΤ s έχει ώς αποτέλεσμα Α&s (λογικό AND του Acc με τον τελεστή s που σεν αποθηκεύεται πουθενά - όχι όπως η AND s). Βασικά αυτό όμως δε σε ενδιαφέρει.

Στα Μίκρο 1, σελ 42 λέει ότι η σημαία V ( 6o bit του SR) παίρνει την τιμή του bit6 του s όταν εκτελεστεί η εντολή BIT s.
Ακόμη, η σημαία Ν (7o bit του SR) πείρνει την τιμή του bit7 του s όταν εκτελεστεί η εντολή BIT s.
Συνεπώς μπορείς ελέγχοντας τον SR, να ελγέγξεις τα bit 6, 7 του s και χρησιμοποιώντας αντίστοιχη εντολή διακλάδωσης (πχ BMI, BPL, BVC, BVS) να μεταβείς (υπό συνθήκη) σε άλλο σημείο του προγράμματος.

Όσο για τον κωδικοποιητή, εκ των υστέρων το κατάλαβα κι εγώ. Απλά άμα έχεις 16 ΠΣ θα χρειαστείς κωδικοποιητή 16 σε 4 .


Title: Re: Απ: Θέματα Εξετάσεων
Post by: GoldenMouth on June 27, 2005, 20:31:58 pm
memory map:
Αμέσως μετά την RAM τοποθετούνται σε συνεχόμενες θέσεις μνήμης 8 ΡΙΑ κια ένας FDC (Floppy Disk Controller) ο οποίος διαθέτει 16 καταχωρητές. Να σχεδιασθεί ο χάρτης μνήμης και η διαταξη ψηφίδων.
 ???

Νομίζω (δεν είμαι απόλυτα βέβαιος) ότι ο χάρτης μνήμης για τις PIA θα είναι κλασικά, όπως στο παράδειγμα του βιβλίου (από δεξιά προς τα αριστερά με 2 Χ) και όλα τα υπόλοιπα bit του AB με την κλασική κωδικοποίηση. Υπόψιν ότι για να κωδικοποιήσεις ένα chip ΡΙΑ χρειάζεσαι 3 bits του AB για τα CS0, CS1, CS2.
Όσο για τον FDC, τα στοιχεία Α0-Α3 θα είναι Χ, αφού έχει 16 καταχωρητές και χρειάζεσαι προφανώς 4 bit για να τον ελέγξεις) και τα υπόλοιπα από Α4-Α... θα έχουν επίσης την κλασική κωδικοποίηση. Βέβαια δεν ξέρω πόσα CS χρειάζεται ο FDC για να  επιλεχθεί.
Σε κάθε περίπτωση, η κωδικοποίηση που πρέπει να βγαίνει θα πρέπει να είναι μοναδική για το κάθε chip, είτε αυτό είναι ROM, RAM, PIA, FDC κλπ.


Title: Re: Απ: Θέματα Εξετάσεων
Post by: Atzakas on June 27, 2005, 20:37:14 pm
Ποιος είναι ο ακριβής τρόπος λειτουργίας (τι ακριβώς κάνει) της εντολής
BIT?


H εντολή ΒΙΤ εκτελεί τη λογική πράξη AND ανάμεσα στο περιεχόμενο του Α και το περιεχόμενο μιας θέσης μνήμης M, χωρίς να αλλοιώνει το περιεχόμενο του Α ή της θέσης μνήμης. Επηρεάζει, ανάλογα με το αποτέλεσμα της πράξης AND, τον ενδείκτη  Ζ ,ενώι μεταφέρει τα δυαδικά ψηφία b7 και b6 της θέσης μνήμης στους ενδείκτες N και V αντίστοιχα.

Με την εντολή BIT μπορούμε να εξετάσουμε είτε τα 2 περισσότερο σημαντικά bits (b7, b6) του περιεχομένου μιας θέσης μνήμης, είτε φορτώνοντας τον κατάλληλο αριθμό στο συσσωρευτή Α, την τιμή οποιουδήποτε δυαδικού ψηφίου της θέσης μνήμης:

Παράδειγμα:

Υποθέτουμε ότι πριν την εκτέλεση των παρακάτω εντολών, στη θέση μνήμης (M)  $0030 είναι αποθηκευμένος ο αριθμός $ΑΑ= %10101010 )

$5000  LDA #$55  ; Load Acc with $55 = %01010101

$5002  BIT $30  Εξέτασε τα δυαδικά ψηφία της θέσης $0030

Θέση μνήμης  Μ  : 10101010
Καταχωρητής  Α :  01010101

Mετά την εκτέλεση της εντολής ΒΙΤ το περιεχόμενο του ACC και τηε θέσης μνήμης $0030 ΔΕ θα αλλάξουν.
- Ο ενδείκτης Ν θα γίνει 1, ότι δηλαδή και το b7 της θέσης μνήμης Μ
- Ι ενδείκτης V θα πάρει την τιμή του b6 της θέσης μνήμης Μ και θα γίνει 0
- Η λογική πράξη AND ανάμεσα στο περιεχόμενο του συσσωρευτή Α και της θέσης μνήμης θα δώσει αποτέλεσμα 0 και άρα Z = 1


Title: Απ: Θέματα Εξετάσεων
Post by: Netgull on June 27, 2005, 21:33:29 pm
Quote
Ποια είναι τα βασικά modules μιας υπορουτίνας διακοπής;

Απαντώ και διορθώνετε:
PHA
-----
Body
------
LDA PDRA/B (Reset b7)
PLA
RTI
Σωστά τα παραπάνω. Θα απαντήσω λίγο πιο γενικά:
1) Αποθήκευση καταχωρητών
2) Πιθανή αναγνώριση της πηγής της διακοπής (πχ μια ρουτίνα polling όταν έχω πολλές συσκευές που συνδέονται με IRQ στον 6502)
3) Πιθανή αλλαγή μάσκας προτεραιοτήτων (πχ μπορεί να πρέπει να μηδενίσει κάποια masking bit στην PIA- ενδεχόμενo CLI)
3) Εξυπηρέτηση διακοπής
4) Μηδενισμός σημαίας διακοπής (LDA PDRA)
5) Επαναφορά μάσκας και καταχωρητών, RTI

Quote
Υπόψιν ότι για να κωδικοποιήσεις ένα chip ΡΙΑ χρειάζεσαι 3 bits του AB για τα CS0, CS1, CS2.
Όχι κατ ανάγκη όλες από τον ΑΒ. Κάποιες μπορούν να πάνε και στη γη ή στο Vcc.

Μπορεί να μου εξηγήσει κάποιος γιατί δίνει σε 8-bit και 16-bit μ/ε ψηφίδες RAM A Kbytesx1; Αν έχουμε 16 bit μ/ε δεν θα πρέπει τότε να ενεργοποιούμε τις RAM κατα δεκαεξάδες; Μπορεί κάτι τόσο απλό να το βλέπω λάθος; Αλλά ρε παιδιά και να σχεδιάζεις διατάξεις με 8x8 ψηφίδες RAM δε είναι και πολύ λογικό, είναι;

Επίσης: Να δημιουργηθεί στην έξοδο CB2 παλμός διάρκειας ενός κύκλου μηχανής. ?? Είναι από άσκηση (Σεπτ 99).

Επισυνάπτω το χάρτη μνήμης που ζήτησε ο fugitive. Mια ερώτηση θα ήταν τι συμπληρώνουμε στα κενά, αλλά πιστεύω αδιαφορίες (είναι μη δυνατές καταστάσεις). Σημειώνω ότι πολλές φορές (όχι σε αυτή) στις διατάξεις αποκωδικοποίησης διευθύνσεων χρησιμοποιούνται αποκωδικοποιητές (δεν θυμάμαι αν έχει τέτοια διάταξη το βιβλίο).


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 21:46:51 pm


Μπορεί να μου εξηγήσει κάποιος γιατί δίνει σε 8-bit και 16-bit μ/ε ψηφίδες RAM A Kbytesx1; Αν έχουμε 16 bit μ/ε δεν θα πρέπει τότε να ενεργοποιούμε τις RAM κατα δεκαεξάδες; Μπορεί κάτι τόσο απλό να το βλέπω λάθος; Αλλά ρε παιδιά και να σχεδιάζεις διατάξεις με 8x8 ψηφίδες RAM δε είναι και πολύ λογικό, είναι;
Εγώ για τη λύση αυτού του προβληματος εφαρμόζω τη μέθοδο... fugitive! (Δεν υποδηλώνει έπαρση προφανώς,αλλά καθαρά προσωπική γνώμη)

Επεξεγαστής 8bit σημαίνει 8bit DataBus
Ομαδοποιώ τις RAM-1bit σε ένα "πακέτο" που περιλαμβάνει μια οχτάδα. Τώρα έχουμε ένα "chip" που έχει λέξη όση και ο ΜΕ.
Η διευθυνσιοδότηση γίνεται κατά τα γνωστά.

-------------------------------------
| 1b 1b 1b 1b 1b 1b 1b 1b |    = 1RAM N x 8bits
-------------------------------------

όπου Ν=Kilo,Mega κτλ
Quote
Επίσης: Να δημιουργηθεί στην έξοδο CB2 παλμός διάρκειας ενός κύκλου μηχανής. ?? Είναι από άσκηση (Σεπτ 99).
Πιθανές απαντήσεις:
1. NOP
2. Με μικροεντολη
3.Εϊναι παγίδα (trap) :P δεν υπάρχει τέτοια εντολή


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 21:48:36 pm
Νομίζω (δεν είμαι απόλυτα βέβαιος) ότι ο χάρτης μνήμης για τις PIA θα είναι κλασικά, όπως στο παράδειγμα του βιβλίου (από δεξιά προς τα αριστερά με 2 Χ) και όλα τα υπόλοιπα bit του AB με την κλασική κωδικοποίηση. Υπόψιν ότι για να κωδικοποιήσεις ένα chip ΡΙΑ χρειάζεσαι 3 bits του AB για τα CS0, CS1, CS2.
Και οι γραμμές RS0,RS1?


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 27, 2005, 21:54:40 pm
Επίσης: Να δημιουργηθεί στην έξοδο CB2 παλμός διάρκειας ενός κύκλου μηχανής. ?? Είναι από άσκηση (Σεπτ 99).

Βασικά δεν υλοποιείται με εντολές καθώς θα χρειαστεί σίγουρα πάνω από 4 κύκλους.
Για αυτό πάμε σελ.111 3η σειρά (Μέθοδος του παλμού)
"...και παραμένει σε αυτήν την κατάσταση για έναν κύκλο του ρολογιού"


Title: Απ: Θέματα Εξετάσεων
Post by: Netgull on June 27, 2005, 21:59:51 pm
Quote
Και οι γραμμές RS0,RS1?
Στα Α0,Α1.
Quote
Βασικά δεν υλοποιείται με εντολές καθώς θα χρειαστεί σίγουρα πάνω από 4 κύκλους.
Για αυτό πάμε σελ.111 3η σειρά (Μέθοδος του παλμού)
"...και παραμένει σε αυτήν την κατάσταση για έναν κύκλο του ρολογιού"
Το είχα σκεφτεί αλλά κάπου είχα κολλήσει. Πρόσεξε ότι θες παλμό στη CB2. Η απάντηση λοιπόν είναι με τη CB2 σε μέθοδο παλμού και με την εντολή STA PDRB.


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on June 28, 2005, 11:43:34 am
Quote
Και οι γραμμές RS0,RS1?
Στα Α0,Α1.

Ακριβώς, αυτά εξάλλου είναι και τα Χ που βάζεις στα Α0, Α1 για να επιλέγεις τις 4 διαφορετικές διευθύνσεις καταχωρητών της ΡΙΑ.

Quote
Υπόψιν ότι για να κωδικοποιήσεις ένα chip ΡΙΑ χρειάζεσαι 3 bits του AB για τα CS0, CS1, CS2.
Όχι κατ ανάγκη όλες από τον ΑΒ. Κάποιες μπορούν να πάνε και στη γη ή στο Vcc.

Έχεις δίκιιο. Ακόμα μπορεί να είναι και περισσότερες γραμμές από τον ΑΒ που να τις συνδέσεις μέσω πυλών ή κωδικοποιητών στα CSi.


Title: Απ: Θέματα Εξετάσεων
Post by: Cyberkat on June 28, 2005, 11:56:36 am
Θέματα Ιουνίου 2004 (θεωρία)
C.Η ρουτίνα αρχικών συνθηκών (ΡΑΣ) περιλαμβάνει 10 εντολές. Όταν εκτελείται η 3η εντολή της ΡΑΣ ενεργοποιείται η IRQ (η ρουτίνα διακοπής αποτελείται από 20 εντολές), ενώ όταν εκτελείται η εντολή που χρονικά αντιστοιχεί στην 6η εντολή της ΡΑΣ, ενεργοποιείται η ΝΜΙ. Να περιγράψετε τη σειρά εκτέλεσης των εντολών.

Λογικά η ΡΑΣ τελειώνει με την εντολή CLI. Αν δεν συμβαίνει αυτό, δεν ξέρω τι μπορούμε να υποθέσουμε. Με αυτή την παραδοχή όλες οι διακοπές όποτε και να έχουν εμφανιστεί, γίνονται αντιληπτές μετά την ΡΑΣ. Επομένως λογικά, όταν φτάσουμε στην έκτη εντολή, ενεργοποιείται η NMI, εξυπηρετείται, τελειώνει η ΡΑΣ και μετά εξυπηρετείται η IRQ. Συμφωνείτε?

Θέματα Ιουνίου 2004(ασκήσεις)
 Σ’ ένα ρομπότ υπάρχει ένας αισθητήρας μέτρησης απόστασης τύπου υπερύθρων. Ο αισθητήρας παράγει αναλογική έξοδο η οποία τροφοδοτεί έναν ADC των 8 bit. Η χαρακτηριστική του αισθητήρα δίνεται στο παρακάτω σχήμα. Να συνταχθεί η ρουτίνα επικοινωνίας με τον αισθητήρα και το πρόγραμμα το οποίο από την αναλογική τάση υπολογίζει την εκάστοτε απόσταση σε μορφή ακεραίου αριθμού. Στις πράξεις να μη χρησιμοποιηθεί η ρουτίνα πολλαπλασιασμού. Να σχεδιασθεί το αντίστοιχο κύκλωμα επικοινωνίας με τον αισθητήρα και το μικροϋπολογιστή.

Ακολουθεί σχήμα (υπάρχει στα θέματα που έχει αναρτήσει ο flo στο πρώτο μήνυμα του thread). Πως ακριβώς θα καταφέρουμε να υπολογίσουμε το αποτέλεσμα χωρίς ρουτίνα πολλαπλασιασμόυ? Το μόνο που μπορώ να σκεφτώ, είναι πίνακας με ζεύγη τιμών (x-y). Αν είναι έτσι, μιλάμε για πολλές τιμές....


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 28, 2005, 12:08:30 pm
C.Η ρουτίνα αρχικών συνθηκών (ΡΑΣ) περιλαμβάνει 10 εντολές. Όταν εκτελείται η 3η εντολή της ΡΑΣ ενεργοποιείται η IRQ (η ρουτίνα διακοπής αποτελείται από 20 εντολές), ενώ όταν εκτελείται η εντολή που χρονικά αντιστοιχεί στην 6η εντολή της ΡΑΣ, ενεργοποιείται η ΝΜΙ. Να περιγράψετε τη σειρά εκτέλεσης των εντολών.

Λογικά η ΡΑΣ τελειώνει με την εντολή CLI. Αν δεν συμβαίνει αυτό, δεν ξέρω τι μπορούμε να υποθέσουμε. Με αυτή την παραδοχή όλες οι διακοπές όποτε και να έχουν εμφανιστεί, γίνονται αντιληπτές μετά την ΡΑΣ. Επομένως λογικά, όταν φτάσουμε στην έκτη εντολή, ενεργοποιείται η NMI, εξυπηρετείται, τελειώνει η ΡΑΣ και μετά εξυπηρετείται η IRQ. Συμφωνείτε?
Εγώ συμφωνώ απόλυτα. Η ΡΑΣ δεν έχει νόημα να διακόπτεται.

Μια ερώτηση που μου ήρθε απο τα παραπάνω.
Η ΝΜΙ είναι non-maskable όσον αφορά στην ΡΙΑ. Με άλλα λόγια η ΡΙΑ ΔΕΝ μπορεί να μπλοκάρει αυτήν την διακοπή η οποία φτάνει πάντα στον ΜΕ.
Όμως το η καθολική απενεργοποίηση των διακοπών από τον SR του ΜΕ τι αποτέλεσμα θα είχε;
Δηλαδή εάν ο 6502 τεθεί να μην δέχεται διακοπές, η ΝΜΙ θα περάσει;


Title: Απ: Θέματα Εξετάσεων
Post by: Netgull on June 28, 2005, 12:20:03 pm
Quote
Λογικά η ΡΑΣ τελειώνει με την εντολή CLI. Αν δεν συμβαίνει αυτό, δεν ξέρω τι μπορούμε να υποθέσουμε. Με αυτή την παραδοχή όλες οι διακοπές όποτε και να έχουν εμφανιστεί, γίνονται αντιληπτές μετά την ΡΑΣ. Επομένως λογικά, όταν φτάσουμε στην έκτη εντολή, ενεργοποιείται η NMI, εξυπηρετείται, τελειώνει η ΡΑΣ και μετά εξυπηρετείται η IRQ. Συμφωνείτε?
Έτσι είναι. Όταν γίνεται RESET o υπολογιστής, οπότε και εκτελείται η ΡΑΣ, το Ι bit γίνεται 0. Γι αυτό προσοχή να τελειώνει η ΡΑΣ με CLI αν χρησιμοποιούμε διακοπές.

Quote
Ακολουθεί σχήμα (υπάρχει στα θέματα που έχει αναρτήσει ο flo στο πρώτο μήνυμα του thread). Πως ακριβώς θα καταφέρουμε να υπολογίσουμε το αποτέλεσμα χωρίς ρουτίνα πολλαπλασιασμόυ? Το μόνο που μπορώ να σκεφτώ, είναι πίνακας με ζεύγη τιμών (x-y). Αν είναι έτσι, μιλάμε για πολλές τιμές....
Κλασσικές εξυπνάδες. Κατερίνα άμα κάτσεις να βγάλεις τις εξισώσεις των ευθειών θα δεις ότι οι πολλαπλασιασμοί που χρειάζονται βγαίνουν δυνάμεις του 2 (-0.25=2^(-2) και -2.25=(2+2^(-2)) αν θυμάμαι καλά) οπότε μπορείς να τους υλοποιήσεις με ολισθήσεις.

Quote
Δηλαδή εάν ο 6502 τεθεί να μην δέχεται διακοπές, η ΝΜΙ θα περάσει;
Σελ. 60: " Η είσοδος αυτή (ΝΜΙ) ενεργοποείται ανεξάρτητα από την κατάσταση του Ι bit, με το μέτωπο του παλμού"

Και μια ερώτηση εγώ για αυτούς που ξέρουν Μίκρο Ι: Αν έχω καταλάνει καλά ο 6502 αποθηκεύει γενικά τις διευθύνσεις με τη σύμβαση LSB-MSB. Για να αποθηκεύσουμε μια λέξη με αυτή τη σύμβαση χρησιμοποιούμε την ψευδοεντολή .WORD σωστά; Μόλις παρατήρησα ότι τις διευθύνσεις για τις διακοπές (στα FFFE,FFFF κλπ) τις αποθηκεύει με τη σύμβαση MSB-LSB. Παρ όλα αυτά έχω σημειώσεις από τον Πέτρου όπου αρχικοποιεί τις διευθύνσεις αυτές με την ψευδοεντολή .WORD. Που κάνω (ή κάνει) λάθος;

edit: Και ναι! Στα διαγράμματα ροής για τις NMI,RESET έχει ανάποδα τα MSB,LSB! Επίσης αλλάζει άποψη για το αν είναι μεγαλύτερης προτεραιότητας η RESET ή η ΝΜΙ! Εγώ λέω να ρίξουμε κέρμα!


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 28, 2005, 12:30:25 pm
Η απάντηση στην ερώτηση
Να αναλυθεί σε κύκλους μηχανής η εντολή LDA PDRB   (0.5 μονάδα)
είναι σελ.49 ΜίκροΙ
με μια μικρή προσορμογή επειδή μιλάμε για ΠΣ.
ΣΚέψου το PDRA σαν μια έμμεση διευθυνσιοδότηση


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 28, 2005, 13:07:34 pm
Να συνταχθεί η ρουτίνα επικοινωνίας με τον αισθητήρα και το πρόγραμμα το οποίο από την αναλογική τάση υπολογίζει την εκάστοτε απόσταση σε μορφή ακεραίου αριθμού.

Μάλλον θέλει να πει από τα ψηφιακά δεδομένα που στέλνει ο A/D, τα οποία προέρχονται από την αναλογική έξοδο του αισθητήρα να υπολογίζεται η απόσταση.
Η ΡΙΑ δεν νοιάζεται για αναλογικούς αισθητήρες κτλ, λαμβάνει μόνο ψηφιακά δεδομένα.


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 28, 2005, 15:57:03 pm
memory map confusion!

Στα Μίκρο Ι σελ.79-83 θεωρεί ότι στα CS μπαίνουν οποιεσδήποτε γραμμές διευθύνσεων μας βολεύουν Α10 Α11 κτλ
Μίκρο ΙΙ  memory maped το CS συνδέεται με τα Α14 Α15
Μίκρο ΙΙ independent I/O to CS των RAM/ROM συνδέεται μόνο με το Α15

Τελικά;


Title: Re: Απ: Θέματα Εξετάσεων
Post by: Atzakas on June 28, 2005, 21:19:20 pm
edit: Και ναι! Στα διαγράμματα ροής για τις NMI,RESET έχει ανάποδα τα MSB,LSB! Επίσης αλλάζει άποψη για το αν είναι μεγαλύτερης προτεραιότητας η RESET ή η ΝΜΙ! Εγώ λέω να ρίξουμε κέρμα!

Ουσιαστικά, στον πίνακα 7 της σελ. 51 εκεί που λέει MS και LS, έπρεπε να λέει LS και MS αντίστοιχα

Όσο για το θέμα της προτεραιότητας NMI/RESET,  στη σελίδα 61  ( απο τη σελίδα που ξεκινά η παράγραφος "Επανεκκίνηση(RESet) είναι η αμέσως επόμενη σελίδα) λέει ότι
"Όταν ενεργοποιούνται ταυτόχρονα και οι 3 είσοδοι, η σειρά προτεραιότητας είναι RES, NMI, IRQ. Άλλωστε, για την RES λέει ότι "απαιτείται να τελειώνει η τρέχουσα εντολή" (στην ίδια παράγραφο) ενώ στις άλλες πρώτα ολοκληρώνεται η τρέχουσα εντολή.

Τώρα, αν κατά τη διάρκεια της ρουτίνας επανεκκίνησης ενεργοποιηθεί η /NMI, εγώ νομίζω ότι θα γίνει διακοπή, καθώς η NMI δεν εξαρτάται από την τιμή του bit I - το οποίο η RES είχε θέσει ίσο με "1" -. Συνεπώς, η ΝΜΙ θα εκτελεστεί μόλις ολοκληρωθεί η εντολή που εκτελούνταν εκείνη την ώρα. Λέει και κάπου ότι το σήμα NMI μπορεί να προκληθεί και από πτώση τάσης, κάτι που σίγουρα απαιτεί άμεση προσοχή.

btw : αυτό το topic μου έκανε πολύ καλό :) thx!


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 28, 2005, 21:34:32 pm
Όσο για το θέμα της προτεραιότητας NMI/RESET, στη σελίδα 61 ( απο τη σελίδα που ξεκινά η παράγραφος "Επανεκκίνηση(RESet) είναι η αμέσως επόμενη σελίδα) λέει ότι
"Όταν ενεργοποιούνται ταυτόχρονα και οι 3 είσοδοι, η σειρά προτεραιότητας είναι RES, NMI, IRQ. Άλλωστε, για την RES λέει ότι "απαιτείται να τελειώνει η τρέχουσα εντολή" (στην ίδια παράγραφο) ενώ στις άλλες πρώτα ολοκληρώνεται η τρέχουσα εντολή.

σελ,52
Στον 6502, η διακοπή χωρίς μάσκα έχει την υψηλότερη προτεραιότητα. Ακολουθεί η επανεκίνηση του συστήματος (RES)...
Το κέρμα δεν το γλυτώνουμε


Title: Απ: Θέματα Εξετάσεων
Post by: Netgull on June 28, 2005, 21:48:28 pm
Προσέξτε! Δεν συζητάμε την περίπτωση να είμαστε ήδη στη ρουτίνα RESET και να ενεργοποιηθεί η ΝΜΙ. Τότε θα εκτελεστεί η ΝΜΙ αυτό είναι σαφές. Αυτό που χρειάζεται κέρμα είναι τι γίνεται στην περίπτωση που και οι δύο συμβούν ταυτόχρονα. Εγώ πάντως σε τέτοια ερώτηση θα τον παραπέμψω στις σημειώσεις του  ;D!

Καλή επιτυχία σε όλους αύριο!


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 28, 2005, 21:52:52 pm
Καλή επιτυχία και απο μένα παιδιά.
Ελπίζω να μας βγει σε καλό όλη αυτή η επικοινωνία


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on June 29, 2005, 15:11:52 pm
Θέματα Ιουνίου 2005


Title: Απ: Θέματα Εξετάσεων
Post by: fugiFOX on June 29, 2005, 17:15:51 pm
Παρακαλείσε να τα ανεβάσεις στα Downloads


Title: Re: Θέματα Εξετάσεων
Post by: GoldenMouth on August 04, 2005, 11:46:41 am
Παρακαλείσε να τα ανεβάσεις στα Downloads

Τα έχω ανεβάσει και στο downloads. Απλά τότε που τα ανέβασα, νομίζω είχα δει μια ανακοίνωση να βάζουμε και ένα link στο αντίστοιχο μάθημα για τα θέματα που έχουμε ανεβάσει, και θεώρησα καλύτερο αντί για link να τα ανεβάσω κατευθείαν και στο μάθημα όπου ήδη υπήρχε το topic.

Πάντως συμφωνώ στο να μεταφερθούν όλα τα παλιά θέματα σε ξεχωριστή ενάτητα (ίσως θα ήταν καλύτερο να υπάρχει ενότητα "Παλιά θέματα" και όχι στο "Downloads") οπότε την απόμενη φορά που θα ανεβάσω θέματα, δε βάζω link πουθενά. Όποιος θέλει θα τα βρει στο downloads.


Title: Re: Θέματα Εξετάσεων
Post by: kostas578 on September 26, 2005, 14:15:35 pm
Από παλιό θέμα:

Για τον 6502 να σχεδιαστεί ο χάρτης μνήμης και η διάταξη των ψηφίδων. Οι πρώτες 4Κ θέσεις είναι RAM και μετά ακολουθούν δύο ΡΙΑ. Οι τελευταίες 32Κ θέσεις είναι ROM. Πριν από τις ROM τοποθετείται μία ACIA. Οι RAM είναι 1Κχ4 και οι ROM 16Κχ8.

Επισυνάπτω τον χάρτη μνήμης, όποιος μπορεί ας επιβεβαιώσει ή ας τον διορθώσει.

Memory Map (save me as) (http://www.thelab.gr/attachment.php?s=&postid=287828)

BTW γιατί τόσοι περιορισμοί στα attached files?


Title: Re: Θέματα Εξετάσεων
Post by: oti_nanai on September 26, 2005, 18:51:16 pm
Για τις RAM και ROM συμφωνώ με το χάρτη μνήμης. Διαφωνώ όμως με τις PIA και ACIA. Στο βιβλίο (σελ. 123-124) λέει ότι για την επιλογή των κυκλωμάτων ΡΙΑ χρησιμοποιούνται οι διευθύνσεις Α15 και Α14 σε συνδυασμό με την μία από τις διευθύνσεις Α2-Α13.
Για την ACIA υπέθεσα ότι ισχύει η ίδια μεθοδολογία. Υποθέτω ότι ισχύει και για αυτήν με τη διαφορά ότι στις γραμμές διευθύνσεων Α0 και Α1 συνδέουμε τους ακροδέκτες RS και R/W αντίστοιχα (αντί για τους ακροδέκτες RS0 και RS1 που είχαμε την ΡΙΑ).
Τέλος πάντων, δεν είμαι απόλυτα σίγουρος για τα παραπάνω, οπότε αν βρείτε κανένα λάθος ενημερώστε. Στέλνω και τον χάρτη μνήμης.


Title: Re: Θέματα Εξετάσεων
Post by: bjork on September 01, 2006, 09:24:27 am
Όποιος πάει στις εξετάσεις σήμερα για να δει τα θέματα, ας τα στείλει κι εδώ παρακαλώ! Ή όποιος πάει για να γράψει και τα θυμάται !!!


Title: Απ: Θέματα Εξετάσεων
Post by: JAs0n-X on September 01, 2006, 22:54:01 pm
ΘΕΜΑΤΑ ΣΕΠΤΕΜΒΡΙΟΥ (Α εξεταστικη) 2006 AVR (http://www.thmmy.gr/smf/index.php?action=tpmod;dl=get560)

Τα θεματα βρισκονται στον τομεα downloads (παραπανω λινκ). Θα βρειτε κ αλλα!


Title: Re: Θέματα Εξετάσεων
Post by: bjork on September 01, 2006, 23:14:15 pm
 ^hello^  ^peace^
Τα άλλα δεν είναι του AVR  :(


Title: Απ: Θέματα Εξετάσεων
Post by: JAs0n-X on September 01, 2006, 23:22:06 pm
 ::) ::) ::) ::)

Παντως υπαρχουν!  ;D


Title: Απ: Θέματα Εξετάσεων
Post by: tsiris on September 02, 2006, 10:11:00 am
Για τους παλιους (6502):
Τα θέματα 2 και 3 είναι ίδια με τα αντίστοιχα του AVR, όπως επίσης και οι ερωτήσεις Α),Β) του 1ου θέματος (θεωρία). Οι υπόλοιπες τρεις ερωτήσεις θεωρίας ήταν οι εξής:
Γ) Περιγράψτε το διάγραμμα ροής του ΝΜΙ για τον 6502
Δ) Να αναλυθουν οι λειτουργίες της εντολής LDA PDRA σε κύκλους μηχανής
Ε) Αναφέρατε τις κύριες πηγές εξαιρέσεων του 68000.

Υ.Γ.: Αναφέρομαι στην πρώτη εξεταστική του Σεπτεμβρίου 2006.


Title: Re: Θέματα Εξετάσεων
Post by: nad on September 30, 2006, 20:20:10 pm
 Μήπως μπορεί κάποιος να πει τις λύσεις για τα θεωρητικά ζητήματα του AVR;
 Ευχαριστώ εκ των προτέρων...


Title: Απ: Θέματα Εξετάσεων
Post by: JAs0n-X on October 01, 2006, 17:01:31 pm
Ε γινε πιο συγκεκριμενη γιατι δεν νομιζω να περιμενεις κανεις να κατσει αλλη μιση ωρα να ξαναλυσει τα θεματα!

Που εχεις προβλημα?


Title: Re: Θέματα Εξετάσεων
Post by: nad on October 01, 2006, 17:36:02 pm
Ε γινε πιο συγκεκριμενη γιατι δεν νομιζω να περιμενεις κανεις να κατσει αλλη μιση ωρα να ξαναλυσει τα θεματα!

Που εχεις προβλημα?
Να, βασικά ήθελα μια απάντηση για όλα τα θέματα...για να δω αν είμαι σε καλό δρόμο... Καταλαβαίνω ότι βαριέστε. Μπορεί να επανέλθω με πιο συγκεκριμένες απορίες.
 


Title: Re: Θέματα Εξετάσεων
Post by: lambros on October 01, 2006, 18:02:18 pm
Τo B θέμα της θεωρίας (υπολογισμός ρυθμού μετάδοσης ) πως λύνεται ?


Title: Απ: Θέματα Εξετάσεων
Post by: poumpa on October 01, 2006, 20:15:19 pm
Τo B θέμα της θεωρίας (υπολογισμός ρυθμού μετάδοσης ) πως λύνεται ?

Γενικά για baud rate κτλ εγώ δεν μπόρεσα ακόμα να βρω κάτι στα datasheets ή στο βιβλίο.
Αυτό που ξέρω για τα baud είναι ότι πρόκειται για μονάδα μέτρησης ίση με χαρακτήρα/sec.
Γι αυτό και με μπέρδεψε το ερώτημα, αφού ζητάει την ταχύτητα εκπομπής χαρακτήρων.
Αν εννοεί bps τότε η μετατροπή πρέπει να είναι bps=baud*(αριθμός bits σε κάθε χαρακτήρα) δλδ 4800*(7+1) στο ερώτημα.

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


Title: Re: Θέματα Εξετάσεων
Post by: lambros on October 02, 2006, 19:21:36 pm
Μηπώς παίζει κάποιο ρόλο η ισοτιμία ? Γιατί μιλάει το ερώτημα για χαρακτήρες 7 bits στους οποίους προσθέτουμε ένα bit ισοτιμίας.οπότε το baud rate αναφέρεται σε 7bit χαρακτήρες ενώ με ισοτιμία οι χαρακτήρες είναι 8bit.
Άρα 4600Baud=4600 χαρακτήρες/sec=4600 * 7 bits/sec =4600*7/8 χαρακτήρες(των 8 bit μαζί με το ψηφίο της ισοτιμίας ) . Καμια άλλη ιδέα ?????


Title: Re: Θέματα Εξετάσεων
Post by: nad on October 02, 2006, 19:30:09 pm
 Στο βιβλίο αναφέρει το baud στη σελίδα 225 και λέει ότι αντιστοιχεί στο χρόνο κατά τον οποίον ένα μπιτ της πληροφορίας εμφανίζεται στη γραμμή εξόδου. Άρα, λογικά είναι (7+1)/4800  sec.
 Συμφωνείτε;;;; :-\


Title: Απ: Θέματα Εξετάσεων
Post by: poumpa on October 02, 2006, 20:29:32 pm
Στο βιβλίο αναφέρει το baud στη σελίδα 225 και λέει ότι αντιστοιχεί στο χρόνο κατά τον οποίον ένα μπιτ της πληροφορίας εμφανίζεται στη γραμμή εξόδου. Άρα, λογικά είναι (7+1)/4800  sec.
 Συμφωνείτε;;;; :-\

Διάβασα όλη τη σελίδα και δε βρήκα κάτι για baud... (δεν βλέπω ρε γμτ;) :(
Βρήκα απλώς να αναφέρει το bit rate όπως το ξέρουμε δλδ σε bps (bits per second).
Το baud rate είναι άλλο μέτρο του ρυθμού μετάδοσης.

Για να γίνω πιο συγκεκριμένος αυτό που βρήκα το είδα στο βιβλίο Δίκτυα Υπολογιστών του Tanenbaum (για όσους τουλάχιστον πήραν Δίκτυα ΙΙ) στη σελ. 163 όπου κάνει κάτι ανάλογο αλλά χωρίς bit ισοτιμίας.

Για το θέμα η πρώτη μου απορία είναι αν όντως ζητάει τα bps του και η δεύτερη πως επηρεάζει το bit ισοτιμίας τον υπολογισμό.
Γενίκα πάντως μπορώ να πω με σιγουριά ότι ο ρυθμός σε bps θα είναι μεγαλύτερος από ότι σε baud άρα μάλλον δεν θα χρειαστεί κάποια δίαιρεση που να δίνει μικρότερο αποτέλεσμα.
Αυτά...

Μήπως το έχει πει στο μάθημα; Εγώ πάντως δεν έχω σημειώσεις... :-[


Title: Απ: Θέματα Εξετάσεων
Post by: JAs0n-X on October 03, 2006, 00:15:45 am
To baud στην ουσια ειναι ρυθμος!

Εν προκειμενω BitsPerSecond.

Αρα για να βρεις χαρακτηρες ανα δευτερολεπτο λες...

καθε χαρακτηρας εχει τοσα μπιτς (εναρξη,ληξη,φορτιο,ισοτιμια κλπ)
ο ρυθμος μου ειναι τοσος και κανω μια διαιρεση!


Title: Re: Θέματα Εξετάσεων
Post by: lambros on October 03, 2006, 13:19:47 pm
Ναι, σωστό .Απο τη στιγμή που έχουμε σειριακή μετάδοση μεταδίδονται μονό 0 και 1 οπότε ο baud rate ταυτίζεται με το bps.


Από Wikipedia :
Baud should not be confused with data rate in "bits per second" (or bytes per second, etc.). Each symbol transmitted can carry one or more bits (for example, 8 bits in 256-QAM modulation) of information. When each symbol is binary it carries just one bit, so baud and bit rate are equal. This is a cheap, simple encoding. However, it's common to make better use of channel bandwidth by encoding multiple bits per symbol. This reduces the time required to send a given quantity of data, and it's exactly how good modems, FDDI and 100/1000 Mbit/s Ethernet LANs, and so on, achieve high data rates. Thus, a 2400 bit/s modem actually transmits at 600 baud (600 symbol/s), where each quadrature amplitude modulation symbol carries four bits of information. And further, 1000 Mbit/s Ethernet LAN cables use multiple wire pairs and multiple bits per symbol to encode their data payloads


Title: Απ: Θέματα Εξετάσεων
Post by: poumpa on October 03, 2006, 13:41:28 pm
good modems, FDDI and 100/1000 Mbit/s Ethernet LANs, and so on, achieve high data rates. Thus, a 2400 bit/s modem actually transmits at 600 baud (600 symbol/s), where each quadrature amplitude modulation symbol carries four bits of information. And further, 1000 Mbit/s Ethernet LAN cables use multiple wire pairs and

Διαφωνώ...
Αυτό που εννοεί όταν λέει ότι κάθε σύμβολο είναι δυαδικό είναι ότι αποτελείται από 1 bit μόνο για αυτό κ οι δύο ρυθμοί ταυτίζονται.
Μετά (εκεί που έχω bold) περιγράφει πως όταν έχεις σύμβολα 4 bits και ρυθμό σε bps 2400 τότε σε baud έχεις 600 δλδ baud=bps/(αριθμός bits)

Πως θα βγάλουμε άκρη; :-\


Title: Re: Θέματα Εξετάσεων
Post by: lambros on October 03, 2006, 13:55:47 pm
Όχι, τα σύμβολα που αναφέρει ο ορίσμος δεν εχούν σχεση με τους χαρακτήρες που στέλνουμε(που είναι 7bit) αλλά με τα σύμβολα που χρησιμοποιούμε για τη μετάδοση(δηλαδη 0 ή 1 που για την κωδικοποίηση τους χρειάζεται 1 bit). Αν στέλναμε πχ τάσεις 0,1,2, και 3 Volt για να αναπαραστήσουμε την πληροφορία θα μιλούσαμε για τέσσερα σύμβολα(δηλαδή για την κωδικοποίηση θα χρειάζονταν 2 bits για κάθε σύμβολο). Τότε ο baud rate που είναι συμβολά/sec θα ήταν ίσος με 2*k bits/sec όπου k o ρυθμός μετάδοσης σε bps.


Title: deleted
Post by: BOBoMASTORAS on October 03, 2006, 14:42:03 pm
deleted


Title: Απ: Θέματα Εξετάσεων
Post by: poumpa on October 03, 2006, 15:02:02 pm
Όχι, τα σύμβολα που αναφέρει ο ορίσμος δεν εχούν σχεση με τους χαρακτήρες που στέλνουμε(που είναι 7bit) αλλά με τα σύμβολα που χρησιμοποιούμε για τη μετάδοση(δηλαδη 0 ή 1 που για την κωδικοποίηση τους χρειάζεται 1 bit).

Έχεις δίκιο αυτό δεν το είχα προσέξει.
Δλδ απλώς θεωρούμε ότι στην σειριακή επικοινωνία τα baud ταυτίζονται με τα bps.
Επίσης υποθέτουμε 1 bit έναρξης κ 1 λήξης εκτός των άλλων;


Title: Re: Θέματα Εξετάσεων
Post by: lambros on October 03, 2006, 15:07:47 pm
Ναι,φαντάζομαι πως θα πρέπει να συμπεριλάβουμε τα bits λήξης και αρχής αφού η επικοινωνία είναι ασύγχρονη.


Title: deleted
Post by: BOBoMASTORAS on October 03, 2006, 15:17:12 pm
deleted


Title: Re: Θέματα Εξετάσεων
Post by: snake5 on October 03, 2006, 16:53:08 pm
παδες δώστε και σώστε.Δίνω το μάθημα με μιάμιση μέρα διάβασμα.Ξέρω ότι πάω με -23% πιθανότητα για πέρασμα,αλλά δε βαριέσαι,give it a shot.

Μπορεί να μου πεί κάποιος τα απολύτως απαραίτητα που πρέπει να ξέρω?Απ όσο θυμάμαι η ύλη είναι υπερσκόρπια.Απ όλα αυτά που προτείνει για διάβασμα ο Πέτρου,ποια είναι τα υπερΣΟΣ?

Όποιος απαντήσει άμεσα έχει φρεντοτσίνο και ένα κρουασάν από μένα...

Άντε,γιατί σε λίγο θ αρχίσει να βγαίνει αίμα μ αυτή την εξεταστική!


Title: Re: Θέματα Εξετάσεων
Post by: lambros on October 03, 2006, 16:57:18 pm
Το Baud Rate  καραSOS :D :D :D ;D ;D ;D


Title: Re: Θέματα Εξετάσεων
Post by: bjork on October 04, 2006, 17:26:55 pm
Σεπτ. 06!
Θεωρία θέμα Α: Σε ποιες μεθόδους διαχείρισης των αισθητηρίων αναφέρεται?
1η άσκηση: Ποιος τρόπος έχει το μικρότερο αριθμό εντολών?  :???: Άντε για τα πολλαπλάσια του 4 όλα τελείωνουν σε 00 αλλά τ' άλλα??


Title: Απ: Θέματα Εξετάσεων
Post by: miss_elec on October 04, 2006, 17:27:57 pm

Ρε παιδιά, κάθε φορά που βλέπω το τόπικ στα recent, διαβάζω "Θυματα εξετάσεων"! :D


Title: Απ: Θέματα Εξετάσεων
Post by: poumpa on October 04, 2006, 17:44:41 pm
Σεπτ. 06!
Θεωρία θέμα Α: Σε ποιες μεθόδους διαχείρισης των αισθητηρίων αναφέρεται?
1η άσκηση: Ποιος τρόπος έχει το μικρότερο αριθμό εντολών?  :???: Άντε για τα πολλαπλάσια του 4 όλα τελείωνουν σε 00 αλλά τ' άλλα??

Για τη θεωρία νομίζω περιμένει να διαλέξουμε μεταξύ polling κ διακοπών.

Για την άσκηση δεν ξέρω αν έχει πει κάτι σχετικό στο μάθημα ή αν το έβαλε για να δει ποιος θα κάνει το πιο μικρό πορόγραμμα (δλδ αν δεν έχει κάτι το απολύτως συγκεκριμένο που περιμένει να γράψεις).
Πάντως υπάρχουν αρκετοί τρόποι να λυθεί.


Title: Απ: Θέματα Εξετάσεων
Post by: JAs0n-X on October 04, 2006, 18:16:05 pm
Σεπτ. 06!
Θεωρία θέμα Α: Σε ποιες μεθόδους διαχείρισης των αισθητηρίων αναφέρεται?
1η άσκηση: Ποιος τρόπος έχει το μικρότερο αριθμό εντολών?  :???: Άντε για τα πολλαπλάσια του 4 όλα τελείωνουν σε 00 αλλά τ' άλλα??

Θα σου πω για το δευτερο που ρωτας γιατι το πρωτο δεν το θυμαμαι και βαριεμαι να ψαχνω τα θεματα! Ποσταρε το να το δουμε ντε! :P

Στην ασκηση λοιπον: Ετρωγα αρκετη ωρα να βρω εναν εξυπνο τροπο και ηρθε σε καποια φαση ο κ.Πετρου και του λεω οτι δεν μπορω να βρω καμμια πατεντα!
Μου λεει φυσικα κανε το προφανες!

Το προφανες ειναι να κανεις 3 πινακες με την εντολη .db (που θα τους αποθηκευσεις ειτε στην SRAM ειτε στην PM).
Καθε πινακας θα εχει τα πολλαπλασια του 4 , του 9 κλπ δεν θυμαμαι τι αλλο ηθελε.
Επισης στην πρωτη θεση του καθε πινακα θα βαλεις εναν αριθμο που θα ειναι το πληθος των πολλαπλασιων.
Ολα αυτα γινονται πολυ απλα.
πχ
.dseg
.org $100
POL_4: .db 10 , 4, 8, 12 , 16 ,20  Κλπ κλπ δεν χρειαζεται να τα βρισκεισ  στο δυαδικο!!

ετσι με ενα κοινο κομματι κωδικα και για τις 3 περιπτωσεις μπορεις να κανεις τον ελεγχο!

πχ ldi zl, low(POL_4)
    ldi zh, high(POL_4)
    ld count, Z
    loop elegxou edo...


Αυτο το loop Θα ειναι κοινο και για τις 3 περιπτωσεις.
νομιζω ειναι ο πιο συντομος τροπος.

φυσικα υπαρχουν λεπτομερειες που πρεπει να προσεξεις αλλα δυστυχως δεν τις θυμαμαι τωρα.


Title: Re: Θέματα Εξετάσεων
Post by: bjork on October 04, 2006, 23:27:52 pm
Ευχαριστώ!!!
Τα θέματα είναι εδώ http://www.thmmy.gr/smf/index.php?action=tpmod;dl=item560
Τώρα όσον αφορά τη 2η άσκηση, θέλει να χρησιμοποιήσουμε ADC, αλλά για να κάνουμε τη σύγκριση με τις τάσεις, δε χρειάζεται Analog Comparator?
Η τάση αναφοράς του ADC καθορίζεται από εμάς?
Τα 3 mins επιτυγχάνονται με delay subroutine ή με timer/counter?
Και τέλος το εξωτερικό ρολόι πώς συνδέεται στον επεξεργαστή (λογικά είναι μόνο για τη λυχνία)?
(ΒΟΗΘΕΙΑ!!!!!!!!!  :o :o :o :-[ )


Title: Απ: Θέματα Εξετάσεων
Post by: poumpa on October 05, 2006, 00:06:27 am
Νομίζω ότι αυτά είναι σχετικά. Δεν υπάρχει μια λύση. Σχεδιάζεις ότι θεωρείς καλύτερο.
Πάντως πιστεύω ότι στην άσκηση χρησιμοποιούμε τον ADC για να διαβάσουμε την κάθε τάση σε δυαδική μορφή.
Επίσης μου φαίνεται λογικότερο να χρησιμοποιήσεις Timer/Counter για τα 3 mins ενώ η σύνδεση του εξωτερικού clock μπορεί να γίνει απλά σε ένα pin εισόδου του μικροελεγκτή.


Title: Re: Θέματα Εξετάσεων
Post by: abc on October 05, 2006, 00:36:11 am
Ευχαριστώ!!!
Τα θέματα είναι εδώ http://www.thmmy.gr/smf/index.php?action=tpmod;dl=item560
Τώρα όσον αφορά τη 2η άσκηση, θέλει να χρησιμοποιήσουμε ADC, αλλά για να κάνουμε τη σύγκριση με τις τάσεις, δε χρειάζεται Analog Comparator?
Η τάση αναφοράς του ADC καθορίζεται από εμάς?
Τα 3 mins επιτυγχάνονται με delay subroutine ή με timer/counter?
Και τέλος το εξωτερικό ρολόι πώς συνδέεται στον επεξεργαστή (λογικά είναι μόνο για τη λυχνία)?
(ΒΟΗΘΕΙΑ!!!!!!!!!  :o :o :o :-[ )

Ηρεμα καλε. Μη κανεις ετσι... :P

Το Θεμα 1, και να μη το κανες με τον ελαχιστο αριθμο εντολων, δε χανεται ο κοσμος. Σιγουρα compact κωδικας θα κανει εντυπωση αλλα μη σπας το κεφαλι σου για το βελτιστο.

Τη ταση αναφορας, μπορεις να την ορισεις και με εξωτερικη πηγη τασης. Αν διαβασεις προσεκτικα τα πινακακια του datasheet, θα καταλαβεις.
Εγω την ορισα με δικο μου εξωτερικο τροφοδοτικο, ιση με τη μεγιστη τιμη της εισοδου, για μεγιστη ακριβεια. Τωρα, οταν φτασεις στο σημειο να διαβασεις τα δεδομενα που εκανε δειγματοληψια ο ADC, θα τα αποθηκευσεις σε καποιον καταχωρητη και απο κει και περα μπορεις να τα επεξεργαστεις ως binary δεδομενα. Για παραδειγμα μπορεις να κανεις compare (cpi ή cp). Επομενως δε σε χρειαζεται ο αναλογικος συγκριτης.

Εξωτερικο clock στον TMR/CNT2 οριζεις στο TCCR2 στα πεδια CS20,CS21,CS22. Σελ. 158
Μπορεις, επισης να ορισεις τον OCR2 στην αντιστοιχη δυαδικη τιμη (60x3=180 sec) ώστε οταν περνουν 3 λεπτα, να ενεργοποιει τη διακοπη. H διακοπη ενεργοποιειται όταν το bit OCIE2 του καταχωρητη TIMSK ειναι 1 και το Ι bit του SR. Δες Σελ 158.
Μη ξεχασεις πως οταν περασουν τα 3 λεπτα, ο απαριθμητης πρεπει να μηδενιζει και οχι να συνεχιζει...


Title: Re: Θέματα Εξετάσεων
Post by: bjork on October 05, 2006, 00:55:20 am
η σύνδεση του εξωτερικού clock μπορεί να γίνει απλά σε ένα pin εισόδου του μικροελεγκτή.

Δλδ στέλνει παλμό κάθε 1 sec που τον βγάζουμε σε μια έξοδο?

Για παραδειγμα μπορεις να κανεις compare (cpi ή cp).

Οι τιμές 4,25 και 4,8 αντιστοιχούν σε κάποια τιμή από τις 5096 σωστά?

Μη ξεχασεις πως οταν περασουν τα 3 λεπτα, ο απαριθμητης πρεπει να μηδενιζει και οχι να συνεχιζει...

CTC mode?


Title: Απ: Θέματα Εξετάσεων
Post by: JAs0n-X on October 05, 2006, 11:24:27 am
Θα χρησιμοποιησεις 2 timers.
και οι 2 θα περνουν εξωτερικο ρολοι (αυτο του 1sec).

Ο ενας οταν θα φτασει το 180 (3λεπτα) θα εχεις ρυθμισει εσυ να κανει Clear on Compare Match.

Ο αλλος θα εχει τιμη στον καταχωρητη OutputCompareR=1.
Θα τον ρυθμισεις να κανει TOGGLE το OUTPUT COMPARE PIN!
ετσι σε καθε toggle θα αναβοσβηνει το ledακι που θα εχεις συνδεσει εκει!

Οσο για την δειγματοληψια οπως τα λεει ο Τασος.
Δεν χρειαζεται analog comparator.
δινεις μια εξωτερικη ταση αναφορας (πχ 5,12) και λες οτι τα 4.25V αντιστοιχουν σε αυτο τον αριθμο (δυαδικο).
Ετσι θα ελεγχεις απλα αν το αποτελεσμα της δειγματοληψιας ειναι μεγαλυτερο απο αυτον τον αριθμο!


Title: Re: Θέματα Εξετάσεων
Post by: bjork on October 05, 2006, 11:34:01 am
Ευχαριστώ παιδιά!  :)
και μια τελευταία απορία: Την αλλαγή καναλιού στον ADC (στον ADMUX) την κάνουμε στην conversion complete interrupt?
Καλή επιτυχία σε όσους γράφουν.
τα λέμε το απόγευμα!


Title: Re: Θέματα Εξετάσεων
Post by: aika on June 11, 2007, 16:30:40 pm

Πάλι εγώ! Γράφω σε όλα τα θέματα για ποικιλία  :P

Λοιπόν, έχουμε πει ότι αν θέλουμε να ενεργοποιείται μια διακοπή πχ στα 60sec, θα πρέπει να φορτώσουμε στον ΟCR το 59 διότι η διακοπή θα ενεργοποιείται στον επόμενο κύκλο από τότε που θα γίνει το compare match, σωστά;

Έχουμε τώρα το θεματάκι με ένα εξωτερικό κλοκ του 1sec και θέλουμε με αυτό να κάνουμε μια λυχνία να αναβοσβύνει κάθε δευτερόλεπτο. Θα πάρουμε τον Timer/counter μας και θα πούμε το OC pin να κάνει toggle on compare match κλπ. Τι τιμή όμως θα φορτώσουμε στον OCR? Το μηδέν??


Title: deleted
Post by: BOBoMASTORAS on June 11, 2007, 16:49:55 pm
deleted


Title: Re: Θέματα Εξετάσεων
Post by: aika on June 11, 2007, 17:14:25 pm

Εχμ, αυτή τη στιγμή δε μου βρίσκεται το avr studio...


Title: Re: Θέματα Εξετάσεων
Post by: Καμένος on June 11, 2007, 19:15:04 pm
Και πώς διαβάζεις το μάθημα?


Title: Re: Θέματα Εξετάσεων
Post by: aika on June 11, 2007, 19:43:03 pm

Όταν ξεχνάω το cd στη Θεσσαλονίκη κάνω νοητική προσομοίωση  :P


Title: deleted
Post by: BOBoMASTORAS on June 12, 2007, 01:18:32 am
deleted


Title: Re: Θέματα Εξετάσεων
Post by: aika on June 12, 2007, 09:37:02 am
(Τα λέτε με καλή πρόθεση και δεν θυμώνω για το χώσιμο..!)


Title: Re: Θέματα Εξετάσεων
Post by: aika on June 12, 2007, 14:56:58 pm
SOS απορία σχετικά με το πώς χειριζόμαστε τα αποτελέσματα του ADC. Συνάδελφοι δείξτε ανοχή στις τυχόν κοτσάνες και βοηθήστε τον συνάνθρωπο! Επισυνάπτω το σχετικό θέμα από πέρσι.

Έχει ADC των 12 bits, τάση εισόδου 0-5V και θέλει να γίνει σύγκριση της εξόδου του ADC με τις τιμές 4,25 και 4,8. Βάζω εξωτερική τάση αναφοράς ίση με 5V. Τα αποτελέσματα στον ADCH και ADCL μου λένε σε ποιο επίπεδο κβάντισης είμαι. Πώς θα συγκρίνω αυτό το αποτέλεσμα με τις τιμές που είναι σε volt? Πρέπει να πολλαπλασιάσω την έξοδο του ΑDC με τα volts στα οποία αντιστοιχεί ένα LSB και μετά να τα συγκρίνω με τις τιμές 4,25 και 4,8; Χελπ!



Title: Re: Θέματα Εξετάσεων
Post by: Καμένος on June 13, 2007, 11:46:26 am
Γιατί δεν μετατρέπεις τα 4.25 και 4.8 σε δυαδικό, ανάλογα με τα επίπεδα κβάντισης  για να τα συγκρίνεις κατευθείαν με την έξοδο?


Title: Re: Θέματα Εξετάσεων
Post by: pada on September 22, 2007, 21:46:27 pm
παιδιά ξέρει κανείς ποιες είναι οι πιο standard ερωτήσεις θεωρίας που πέφτουν στην εξέταση???


Title: Re: Θέματα Εξετάσεων
Post by: nicktgr15 on September 23, 2007, 17:41:54 pm
Στην άσκηση με τις βάνες, λέει οτι ο ADC είναι των 12 bit. Ο ADC όμως του at128mega είναι των 10bit. Υποθέτουμε οτι είναι των 12bit και προχωράμε ή κάνουμε κάτι άλλο;  :)


Title: Re: Θέματα Εξετάσεων
Post by: zlatalex on September 23, 2007, 18:14:38 pm
τελικά ρε παιδιά είναι μέσα οι ασκήσεις με ADC?


Title: Re: Θέματα Εξετάσεων
Post by: golden on September 23, 2007, 18:57:15 pm
Απ'ότι ειπώθηκε στο άλλο τόπικ με την ύλη, όχι!


Title: Re: Θέματα Εξετάσεων
Post by: aika on September 23, 2007, 20:58:57 pm

Παιδιά δεν ξέρω αν έχει αλλάξει κάτι στην ύλη ή αν δίνετε με το παλιό επεξεργαστή, πάντως εμείς που δώσαμε τον Ιούνη στην πτυχιακή ο ADC ήταν μέσα και είναι καρα-σοσ :Ρ

@nicktgr15, σε αυτήν περίπτωση προχωράς με τον ίδιο τρόπο, με τον ADCH να έχει δύο bit παραπάνω


Title: Re: Θέματα Εξετάσεων
Post by: Megawatt on September 23, 2007, 21:11:50 pm
Απ'ότι ειπώθηκε στο άλλο τόπικ με την ύλη, όχι!
ΚΑι αυτο που γραφει στο αρχειο m2ili.doc τι ειναι? Μας δουλευετε? :o

ΣΤ) ΜΕΤΑΤΡΟΠΕΙΣ ΑΝΑΛΟΓΙΚΟΥ ΣΗΜΑΤΟΣ ΣΕ ΨΗΦΙΑΚΟ

Στο αρχείο “ADC”
Μετατροπείς ψηφιακού σήματος σε αναλογικό
Συγκρατητές  / Δειγματολήπτες
Αναλογικοί πολυπλέκτες
Μετατροπείς αναλογικού σήματος σε ψηφιακό
Ο μετατροπέας αναλογικού σήματος σε ψηφιακό του ATmega128
Προγραμματισμός του ADC
Παραδείγματα προγραμματισμού δίνονται στις διαφάνειες : 101- 104.

ΕΠΙΠΡΟΣΘΕΤΑ

Α) Για το αντικείμενο του ΑDC

1) Κεφάλαια βιβλίου : 6.7, 6.7.1, 6.8 – 6.8.2, 6.15

2) ATmega128 Datasheet

Αντικείμενο          Σελίδες
Analog to Digital Converter   231 – 247

3)   Application Notes


Title: Re: Θέματα Εξετάσεων
Post by: lars on September 24, 2007, 00:36:11 am
Γράφτηκε σε άλλο thread ότι τλκ δεν πρόλαβε να κάνει ασκήσεις σε ADC κ ότι είπε πως δε θα βάλει άσκηση από εκεί. Ισχύει τλκ αυτό ή όχι?


Title: Re: Θέματα Εξετάσεων
Post by: aika on September 24, 2007, 08:32:45 am

Για DAC λέει στο άλλο τόπικ ρε παιδιά, όχι για ADC :P Εμείς θα σας τα λέμε που δεν δίνουμε? :Ρ


Title: Re: Θέματα Εξετάσεων
Post by: lars on September 24, 2007, 12:54:18 pm
Λοιπόν, για να τα ξεκαθαρίσουμε, γιατί έχουμε μπλέξει τα μπούτια μας, πάνω σε PWM (DAC δλδ. γιατί εγώ δεν έχω βρει άλλο DAC στις σημειώσεις) δεν πρόλαβε να κάνει ασκήσεις ή πάνω σε ADC??

Στο διπλανό thread γράφει κ αυτό:
Καμία άσκηση δεν έγινε από το ΣΤ, παρά μόνο η θεωρία του.


@Spacetraveler: Αν το διαβάσεις, απάντησε plz, μην ψαχνόμαστε άδικα! :)


Title: Re: Θέματα Εξετάσεων
Post by: marauber on September 24, 2007, 13:17:12 pm
Εγώ πάντως ρώτησα τον κ.Πέτρου σήμερα και μου είπε πως οι ασκήσεις με ADC είναι κανονικά μέσα στην ύλη. Από ότι φαίνεται το ότι δεν έγινε στην τάξη δεν έχει σημασία, μάλλον δεν πρόλαβε να κάνει ασκήσεις με ADC. Ασκήσεις με DAC δεν τις αναφέρει καν στην ύλη, οπότε ούτως ή άλλως θα είναι εκτός.


Title: Re: Θέματα Εξετάσεων
Post by: Megawatt on September 24, 2007, 13:56:26 pm
Ε ναι ρε σεις! Μικρο 2 χωρις ADC δεν νοοείται!


Title: Re: Θέματα Εξετάσεων
Post by: Petrakeas on September 24, 2007, 17:35:05 pm
Ασκήσεις  με ADC πού έχει? Στις 9 ασκήσεις υπάρχει?


Title: Re: Θέματα Εξετάσεων
Post by: Spacetraveler on September 24, 2007, 20:07:42 pm
Λοιπόν, για να τα ξεκαθαρίσουμε, γιατί έχουμε μπλέξει τα μπούτια μας, πάνω σε PWM (DAC δλδ. γιατί εγώ δεν έχω βρει άλλο DAC στις σημειώσεις) δεν πρόλαβε να κάνει ασκήσεις ή πάνω σε ADC??

Στο διπλανό thread γράφει κ αυτό:
Καμία άσκηση δεν έγινε από το ΣΤ, παρά μόνο η θεωρία του.


@Spacetraveler: Αν το διαβάσεις, απάντησε plz, μην ψαχνόμαστε άδικα! :)

Όπως το θέτεις, PWM-DAC κάναμε.Δηλαδή παραγωγή π.χ ημιτόνου μέσω PWM όπως στο application note 314
Αλλά όχι ADC.
Ωστόσο, είχαμε πει μόνο πολύ απλά παραδείγματα για την κατανόηση της λειτουργίας του ADC.
Βέβαια, έχει περάσει αρκετός καιρός από τότε, οπότε ας επιβεβαιώσει κάποιος..

Να επαναλάβω ότι ο κ.Πέτρου στο τελευταίο μάθημα θυμάμαι που μας είπε ότι δεν θα βάλει ADC διότι
δεν προλάβαμε να κάνουμε ασκήσεις. Τώρα, αν το κάνει(μπορεί να ξέχασε τι μας είχε πει) , λογικά θα
είναι κάτι πολύ απλό.

 


Title: Re: Θέματα Εξετάσεων
Post by: lars on September 24, 2007, 20:45:24 pm
Να'σαι καλά. Μας κάλυψες όλους πιστεύω


Title: Re: Θέματα Εξετάσεων
Post by: vagia on September 25, 2007, 10:08:52 am
Καλημέρα,έχει κοιτάξει κανείς το 2  θέμα   5-10-2006;
Βασικά δεν έχω καταλάβει τι ακριβώς γίνεται ...Μέσω του εξωτερικού ρολογιού παίρνουμε τις μετρήσεις για τα 8 πρώτα λεπτά;Βρίσκουμε το  Paverage  και το  P. Στη συνέχεια ελέγχουμε αν το  Paverage είναι πάνω από το Limit;Τέλος με έναν άλλο timer μετράμε μέχρι το 14 λεπτό και τότε κάνουμε τις ενέργειες που λέει;
Αν κάποιος έχει καταλάβει ας εξηγήσει....please!!!


Title: Re: Θέματα Εξετάσεων
Post by: golden on September 25, 2007, 12:10:45 pm
Να τι θα έκανα εγώ.. Χωρίς φυσικά να πιστεύω ότι είμαι ολόσωστος!
Αρχικά, αφου λέει να υλοποιηθεί με σημαίες, θα συνέδεα το εξωτερικό ρολόι
με το PortA0 πχ ώστε να ειδοποιείται ο ADC για κάθε αλλαγή λεπτού.
Τότε ενεργοποιώ την σημαία ADSC και παίρνω την τιμή για το λεπτό αυτό.
Την αποθηκεύω σε κπ reg και συνεχίζω για την επόμενη τιμή, εώς το 8ο λεπτό.
Τότε υπολογίζω το Pave και το προβλεπόμενο P. Για το δεύτερο σκέλος τώρα(στην
πίσω σελίδα) κάνω τις συγκρίσεις και αναλόγως με rjmp πάω στο κατάλληλο μέρος
του προγράμματος. Βασικά, η απορία μου είναι αν είναι ανάγκη να ενεργοποιήσω
έναν timer του AVR και να μην κάνω χρήση ενός reg count που να αυξάνω και μηδενίζω
ανάλογα σε κάθε παλμό του εξωτερικού ρολογιού?


Title: Re: Θέματα Εξετάσεων
Post by: Axel on September 25, 2007, 22:19:44 pm
Παιδια αν εχει λυσει κανεις καποιο παλιο θεμα ας το ανεβασει αν μπορει... :(


Title: Re: Θέματα Εξετάσεων
Post by: liago13 on September 26, 2007, 13:35:08 pm
Ναι εστω και μια προχειρη λυση απο τα θεματα του 2006 θα βοηθουσε παρα πολυ,ετσι να δουμε μερικες εντολες μηπως βγαλουμε καμια ακρη!



Title: Re: Θέματα Εξετάσεων
Post by: zlatalex on September 26, 2007, 14:53:44 pm
Ρώτησα τον Πέτρου και λέει πως ο ΑDC είναι μέσα κανονικά


Title: Re: Θέματα Εξετάσεων
Post by: Axel on September 26, 2007, 19:54:31 pm
Στην άσκηση με τις βάνες, λέει οτι ο ADC είναι των 12 bit. Ο ADC όμως του at128mega είναι των 10bit. Υποθέτουμε οτι είναι των 12bit και προχωράμε ή κάνουμε κάτι άλλο;  :)

Καμια ιδεα γι'αυτο?


Title: Re: Θέματα Εξετάσεων
Post by: marauber on September 26, 2007, 19:59:50 pm
Θα έλεγα πως υποθέτουμε πως είναι των 12-bit και προχωράμε. Σε κάθε περίπτωση, νομίζω θα μας το διευκρινήσει στην τάξη.


Title: Re: Θέματα Εξετάσεων
Post by: chronus on September 26, 2007, 22:56:23 pm
Να ρωτήσω και εγώ κάποιες διευκρινιστικές απορίες για το Θέμα 3 Σεπτ. 2006 (αυτό με τις βάνες)..

1) Έχω βάλει Vref = 5.12. Οπότε για να δω αν ξεπερνάει την τιμή 4.25 για παράδειγμα, το μετατρέπω σύμφωνα με τον τύπο (Vin * 1024)/Vref = (4.25 * 1024)/5.12 = 850 και αυτό το μετατρέπω σε δυαδικό και το συγκρίνω με την δυαδική τιμή των ADCL-ADCH ;

2) Έχω απενεργοποιήσει το interrupt όταν τελειώνει η μετατροπή στον ADC. Για να καθαρίσω το flag ADIF, πρέπει να το θέσω με sbi σε 1 ;;; ενώ είναι ήδη 1;

3) Ο prescaler του ADC τι ρόλο παίζει στην μετατροπή; Έχει σχέση με τη δειγματοληψία κάθε 3 λεπτά ή είναι εντελώς άσχετη με αυτό; εγώ τον έθεσα αυθαίρετα σε /128

4) για να κάνω τη λυχνία να αναβοσβήνει με περίοδο 1 sec πρέπει να βάλω τον timer σε CTC mode , το OC2 σε toggle mode και στο OCR την τιμή 1;;
Αν θέλω μπορώ να το κάνω και με delay routine χωρίς τη χρήση του timer έτσι ;

Ουφ! Ευχαριστώ εκ των προτέρων παιδιά..


Title: Re: Θέματα Εξετάσεων
Post by: zlatalex on September 26, 2007, 23:04:14 pm
1)Ναι έτσι νομίζω. Τη Vref γιατί την διάλεξες 5,12; Μπορούμε να την διαλέξουμε όπως θέλουμε ή υπάρχει κάποιος μπούσουλας;

2)ναι ναι. Είναι τραγικό αλλά τα φλάγκς για να τα κάνεις μηδέν γράφεις 1. Αίσχος

3)Ο prescaler μάλλον είναι άσχετος. Σχετίζεται με την free-running λειτουργία και την παρακολούθηση κυματομορφών ορισμένου bandwidth. Εγώ δεν έχω καταλάβει γιατί στο δατασηεετ έχει δύο φορές την τιμή 2;

4)Με delay routine είναι μπακάλικος τρόπος, σου τρώει προσσέσινγκ τάημ και πρέπει να υπολογίσεις ακριβώς τον χρόνο με βάση τη συχνότητα του ρολογιού. Μαλακία δεν είναι;

Όλα τα παραπάνω αποτελούν ταπεινές μου απόψεις. Με χαρά θα ακούσω καλύτερες


Title: Re: Θέματα Εξετάσεων
Post by: zlatalex on September 26, 2007, 23:33:20 pm
όλοι πέσατε για ύπνο ε;

εμ,αν δίνεις στις 8:30 τι να κάνεις

άντε καλή επιτυχία ρε

και κυρίως σε μένα

είναι το τελευταίο μου


Title: Re: Θέματα Εξετάσεων
Post by: zlatalex on September 26, 2007, 23:34:39 pm
χαχα και τώρα μόλις είδα πως είστε όλοι ξύπνιοι!


Title: Re: Θέματα Εξετάσεων
Post by: hulk on September 26, 2007, 23:35:22 pm
3) Ο prescaler του ADC τι ρόλο παίζει στην μετατροπή; Έχει σχέση με τη δειγματοληψία κάθε 3 λεπτά ή είναι εντελώς άσχετη με αυτό; εγώ τον έθεσα αυθαίρετα σε /128

 

Τον prescaler τον χρησιμοποιείς για εχεις μια συχνοτητα μεταξυ 50-200kHz, γιατι στο datasheet λεει οτι ετσι λετουργεί κανονικά ο ADC.Οποτε με 4ΜHZ ρολοι και 32 prescaler νομιζω οτι εισαι καλά.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: marauber on September 27, 2007, 00:31:58 am
Η Vref επιλέγεται αυθαίρετα, αλλά το 5,12 είναι καλή τιμή επειδή είναι δύναμη του 2 και έτσι ο τύπος δίνει ακέραιο νούμερο.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: marauber on September 27, 2007, 01:30:09 am
Αν είναι κανείς ξύπνιος ακόμη: Τελικά ρε παιδιά το ΟC2 τι ακριβώς είναι; 1 pin που δεν υπάρχει σε καταχωρητή και απλά καθορίζεται hardware-ικά; Θεωρείται πάντα output;


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: lars on September 27, 2007, 03:35:10 am
To OC2 είναι το pin 7 της PortB που μέσω των COM21-COM20 του TCCR2 μπορείς να το συνδέσεις με τον Timer/Counter2 και κάθε φορά που γίνεται compare match, να το κάνεις 1, 0 ή toggle.

Μια απορία σχετικά με το θέμα με τις βάνες για όσους ξενυχτάνε..
Στην ερώτηση λέει ότι η λυχνία αναβοσβήνει με περίοδο 1 sec. Δε θα έπρεπε επομένως το OC2 να είναι 1 για 0.5 sec και 0 για το υπόλοιπο 0.5 sec? Από τα παραπάνω μου φαίνεται ότι γίνεται toggle κάθε 1 second.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: zlatalex on September 27, 2007, 06:38:05 am
(δεν ξέρω αν θα προλάβεις να το δεις)

ναι δίκιο έχεις

σίγουρα σχεδόν εννοεί ΗΜΙπερίοδο 1 sec

γιατί με ρολόι ενός σεκ σίγουρα δεν μετριέται μισό σεκ

και επίσης τα θέματα αυτά πρέπει να έπρεπε να λυθούν χωρίς τους timers/counters (ήταν εκτος)

έβαζες το σήμα απ το ρολό σε κάποιο pin INTn και σε κάθε διακοπή αύξανες τον r16 ας πούμε

ότι να ναι

εμείς άμα θέλουμε το κάνουμε αυτό άραγε; Να φτιάξουμε με αυτόν τον τρόπο δικό μας ρολόι;;


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: liago13 on September 27, 2007, 13:42:26 pm
Πως τα ειδατε σημερα, βγαιναν ευκολα οι ασκησεις?

Η πρωτη ασκηση πρεπει να ειχε αρκετη δουλεια αλλα δεν ηταν κατι ακατανοητο,απλως ηταν σαν 4 ασκησεις σε μια!

Η δευτερη πρεπει να ηταν απλη αλλα δεν εβγαινε και για πλακα,ο αυτοσχεδιαμος δεν βοηθουσε και πολυ!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: marauber on September 27, 2007, 13:52:44 pm
Εντάξει βασικά όλα γράφονταν, απλά ως συνήθως στα Μίκρο υπήρχε πρόβλημα με το χρόνο. Εγώ τέλειωσα την 1η άσκηση και μου έμειναν μόλις 20 λεπτά για τη 2η, η οποία ναι μεν ήταν εύκολη, αλλά από τη βιασύνη μου έκανα μια αβλεψία και μπέρδεψα ένα C με ένα Ε ^kremala^. Στην 1η βασικά είχες επιλογές πως θα τη λύσεις, εγώ διάλεξα μέθοδο διακοπών και για τον ADC, και για τον Timer και για το σήμα ACK. Μόνο που θεώρησα τη συχνότητα του AVR 1ΜΗz για να βγουν εύκολα οι πράξεις, ενώ ο Mega128 δε βγαίνει τέτοια συχνότητα.

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


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: lars on September 27, 2007, 14:46:15 pm
(δεν ξέρω αν θα προλάβεις να το δεις)

ναι δίκιο έχεις

σίγουρα σχεδόν εννοεί ΗΜΙπερίοδο 1 sec

γιατί με ρολόι ενός σεκ σίγουρα δεν μετριέται μισό σεκ

και επίσης τα θέματα αυτά πρέπει να έπρεπε να λυθούν χωρίς τους timers/counters (ήταν εκτος)

έβαζες το σήμα απ το ρολό σε κάποιο pin INTn και σε κάθε διακοπή αύξανες τον r16 ας πούμε

ότι να ναι

εμείς άμα θέλουμε το κάνουμε αυτό άραγε; Να φτιάξουμε με αυτόν τον τρόπο δικό μας ρολόι;;

Όντως δεν πρόλαβα να το δω αλλά ευχαριστώ για την απάντηση. Και να που το έβαλε και σήμερα. Τελικά, αποφάσισα να χρησιμοποιήσω τον T/C1 σε CTC mode για να κάνω το ρολόι.
Θεώρησα ότι έχω 8MHz συχνότητα την οποία με prescaler 256 την κατεβάζω στα 31250Hz. Αυτό σημαίνει ότι ο counter μπορεί να μετρήσει έως το 31250 σε 1 sec, σωστά? Με αυτή τη λογική έβαλα στον OCR1A το 31250/2=15625, έτσι ώστε να γίνεται το output compare interrupt κάθε 0.5sec και μέσα στο interrupt έκανα τα υπόλοιπα ώστε να αναβοσβήνει η ένδειξη. Γενικά έφαγα την περισσότερη ώρα με αυτό.
Πώς αλλιώς μπορούσαμε να το κάνουμε? Ο Πέτρου είπε ότι είχε γίνει κάτι παρόμοιο στην τάξη.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: zlatalex on September 27, 2007, 16:14:45 pm
Ρε παιδιά εγώ έκανα πατεντάρα

Και εγώ με Output compare και CTC το έκανα

αλλά δεν έκανα διακοπή!

έκανα toggle στο OC1A και είπα: Το κύκλωμα μας είναι τέτοιο που όταν το OC1A είναι στο 0 τα Leds είναι σβηστά, ενώ για OC1A ίσο με 1 τα Leds δείχνουν κανονικά αυτό που θα πρεπε να δείχνουν

τώρα δεν ξέρω αν θα εκτιμήσει την πατέντα μου

του έγραψα ΤΕΛΕΥΤΑΙΟ ΜΑΘΗΜΑ με τεράστια ευανάγνωστα γράμματα στην πρώτη σελίδα κάθε κόλλας

ελπίζω να δείξει κατανόηση

Βασικά τα έγραψα όλα (χωρίς ανάσα και χωρίς δεύτερη ματιά)

αντε να δούμε, ένα άθροισμα 5 δεν θα προκύψει από όλα αυτά;;;;

Στην τρίτη ρε παιδιά κάτι άκουσα για μάσκες εγώ τα έκανα εξαντλητικά

βοηθούσε και ότι και στις τρεις παραστάσεις έβγαινε κοινός παράγοντας

αλλά έλεος πάρα πολύ λίγος χρόνος


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: marauber on September 27, 2007, 16:24:05 pm
Ρε παιδιά εγώ έκανα πατεντάρα

Και εγώ με Output compare και CTC το έκανα

αλλά δεν έκανα διακοπή!

έκανα toggle στο OC1A και είπα: Το κύκλωμα μας είναι τέτοιο που όταν το OC1A είναι στο 0 τα Leds είναι σβηστά, ενώ για OC1A ίσο με 1 τα Leds δείχνουν κανονικά αυτό που θα πρεπε να δείχνουν

τώρα δεν ξέρω αν θα εκτιμήσει την πατέντα μου

του έγραψα ΤΕΛΕΥΤΑΙΟ ΜΑΘΗΜΑ με τεράστια ευανάγνωστα γράμματα στην πρώτη σελίδα κάθε κόλλας

ελπίζω να δείξει κατανόηση

Βασικά τα έγραψα όλα (χωρίς ανάσα και χωρίς δεύτερη ματιά)


Βασικά ήθελε να συνδέσεις τα LEDs με τα ports και να δείξεις ποια ports έπρεπε να γίνουν 1 ώστε να εμφανιστεί η λέξη HIGH. Έτσι όπως το λες, θα ήθελες ολόκληρο ψηφιακό κύκλωμα που να κάνει αυτή τη μετατροπή ανάλογα με το bit του OC1A


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: lars on September 27, 2007, 17:35:59 pm
@alexzlat:Υπάρχουν κ χειρότερα, ίσα ίσα που ακούμπησα το δεύτερο θέμα. Ήθελε και αυτό που έγραψε ο marauber αλλά σίγουρα θα πιάσεις 3/4 μ'αυτό μόνο.
Αντε κ καλό πτυχίο!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: ioannisnirvana on September 24, 2008, 20:31:04 pm
Λοιπόν έχω δύο απορίες πάνω στα περσινά θέματα (Ιούνη 2008)...και θέλω τη βοήθειά σας..
Αρχικά σχετικά με τη συχνότητα δειγματοληψίας και το prescaling που θα πρέπει να χρησιμοποιήσουμε. Η συχνότητα δειγματοληψίας του ADC δίνεται 5Ksamples/sec δλδ 5KHZ, σωστά? Επίσης η συχνότητα του AVR δίνεται 8 ΜΗΖ. Άρα εγώ θέλω τέτοιο prescaling ώστε να πάρω 8000000/χ = 5000, ε?
Όμως από τον Πίνακα 99 στη σελίδα 246 του datasheet έχω μέγιστο division factor 128 που στην περίπτωση που θα δώσει 62500HZ αποτέλεσμα ενώ εγώ θέλω να πάρω 5000HZ.....τι δεν καταλαβαίνω?
Δεύτερη απορία..Όσον αφορά το περί ποιού mode of conversion θα χρησιμοποιήσουμε εγώ αυτά που βρήκα είναι στη σελίδα 237 του datasheet. Και πάλι όμως ξεκάθαρη απάντηση δεν μπορώ να δώσω γιατί όπως καταλαβαίνω μπορούμε να χρησιμοποιήσουμε και τους 2 αν και φαίνεται να συμφέρει ο free running mode καθότι έχουμε πολλές μετατροπές. Στην περίπτωση αυτή όμως πως γίνεται να καταγράφουμε τα αποτελέσματα που προκύπτουν συνέχεια απο τον ΑDC?
Οποιαδήποτε συνεισφορά δεκτή :)


Title: deleted
Post by: BOBoMASTORAS on September 25, 2008, 09:15:40 am
deleted


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: ioannisnirvana on September 25, 2008, 11:48:08 am

ξαναδιάβασε το datasheet. Η τιμή που βάζεις στο prescaller δεν ισούται με το division factor. Υπάρχει ήδη μία διαίρεση της συχνότητας με μία σταθερά και μετά μπαίνει μέσα ο prescaller.

Thanx. Όσον αφορά τη δεύτερη απορία με βοήθησες και έβγαλα άκρη.
Σχετικά με την πρώτη, αυτό που κατάλαβα είναι ότι παίρνεις την συχνότητα του AVR, την διαιρείς με την σταθερά που λες και μετά υπεισέρχεται ο Prescaller και ο division factor. Στην σελίδα 246 του datasheet ονομάζει XTAL  frequency την δεύτερη αυτή συχνότητα η οποία και μετά θα διαιρεθεί με τον division factor. Που όμως λέει ποια είναι αυτή? Αυτό που βρήκα μόνο αφορά στους Timers (σελ 96-97) όπου παίρνει διαφορετικούς τύπους για την foc για  τα διάφορα Modes of operation των Timers...αλλά στην περίπτωση του ADC αυτο δεν με βοηθάει να καταλάβω....ποια είναι αυτή η σταθερά λοιπόν που ανέφερες?


Title: Απ: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Tonia on March 24, 2009, 22:21:46 pm
Επισυνάπτω απαντήσεις σε μερικές ερωτήσεις θεωρίας από παλιότερα θέματα. οι απαντήσεις είναι δικές μου, δεν είναι απαραίτητα σωστές ή ολοκληρωμένες.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: liago13 on March 26, 2009, 01:12:12 am
Επισυνάπτω απαντήσεις σε μερικές ερωτήσεις θεωρίας από παλιότερα θέματα. οι απαντήσεις είναι δικές μου, δεν είναι απαραίτητα σωστές ή ολοκληρωμένες.

Ευχαριστουμε πολυ. Οτιδηποτε τετοιο ειναι χρησιμο!


Title: Re: Απ: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: cyb3rb0ss on March 29, 2009, 22:32:49 pm
Επισυνάπτω απαντήσεις σε μερικές ερωτήσεις θεωρίας από παλιότερα θέματα. οι απαντήσεις είναι δικές μου, δεν είναι απαραίτητα σωστές ή ολοκληρωμένες.

Ευχαριστούμε!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 21, 2009, 19:06:57 pm
Στο θεμα 2  1/9/2006 οταν λεει ενεργοποιει 3 εξοδους,ζηταει να εχουμε 111 η να εχουμε 000 ωστε π.χ αν συνδεσουμε εκει ledakia να αναψουν;
 


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: dim on June 21, 2009, 21:31:44 pm
Στο θεμα 2  1/9/2006 οταν λεει ενεργοποιει 3 εξοδους,ζηταει να εχουμε 111 η να εχουμε 000 ωστε π.χ αν συνδεσουμε εκει ledakia να αναψουν;
 

Νομίζω ότι δουλεύουμε με 1 σε αυτό το μάθημα..

Σε κάθε περίπτωση μπορείς να πεις στην αρχή θεωρώ ενεργή έξοδο το 1, και είσαι οκ


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 22, 2009, 00:28:57 am
Για το θεμα αυτο εκανα 2 υλοποιησεις αλλα μου φαινονται τεραστιες
Πρωτη υλοποιηση:
include "m128def.inc"
.def temp=R16
.def inp=R17
.def count=R18
.cseg
.org 0
   jmp reset
.org $0100
pol_4: .DB 4, 8, 12, 16, 20, 24, 28
pol_6: .DB 6, 12, 18, 24, 30
pol_9: .DB 9, 18, 27

reset:
 ldi temp,LOW(RAMEND)
 out SPL,temp
 ldi temp,HIGH(RAMEND)
 out SPH,temp
 clr temp
 out DDRA,temp
 ldi temp,0b00000111
 out DDRB,temp
 clr temp
 out PORTB,temp
 in inp,PINA
 clr count
 ldi ZL,LOW(2*pol_4)
 ldi ZH,HIGH(2*pol_4)
comp1:
 inc count
 cpi count,8                                     ;το βαζω να μετραει οσο τα στοιχεια το pol_4 
 breq load2
 lpm temp,Z+
 cp temp,inp
 brne comp1
 ldi temp,0b00000001 
 out PORTB,temp
load2:
 ldi ZL,LOW(2*pol_6)
 ldi ZH,HIGH(2*pol_6)
comp2:
 inc count
 cpi count,14                  ;συνεχιζει να μετραει απο πριν μεχρι να φτασει τα 8 πριν+5 τωρα του pol_6
 breq load3
 lpm temp,Z+
 cp temp,inp
 brne comp2
 sbi PORTB,1       
load3:
 ldi ZL,LOW(2*pol_9)
 ldi ZH,HIGH(2*pol_9)
comp3:
 inc count
 cpi count,18                  ;και εδω συνεχιζει 8 απο το pol_4, 5 απο το pol_6 και 3 απο το pol_9
 breq next
 lpm temp,Z+
 cp temp,inp
 brne comp3
 sbi PORTB,2

next:
 rjmp reset

.undef temp
.undef inp
.undef count


Υποτιθεται οτι αν ειναι πολλαπλασιο του 4 γινετε set το 0 bit του PORTB, πολλαπλασιο του 6 το 1 bit του PORTB και πολλαπλασιο του 9 το 2 bit του PORTB. Σε περιπτωση οπως π.χ το 24 που ειναι πολλαπλασιο του 4 και του 6, γινετε set το 0 bit του PORTB και μετα οταν το συγκρινει με τα στοιχεια του pol_6 γινετε set και το 1 bit του PORTB(γι'αυτο και εβαλα και εντολη SBI)

Δευτερη Υλοποιηση:

include "m128def.inc"
.def temp=R16
.def inp=R17
.def count=R18
.cseg
.org 0
   jmp reset
.org $0100
pollaplasia: .DB 4,8,16,20,28,12,24,6,30,18,9,27

reset:
 ldi temp,LOW(RAMEND)
 out SPL,temp
 ldi temp,HIGH(RAMEND)
 out SPH,temp
 clr temp
 clr count
 out DDRA,temp
 ldi temp,0b00000111
 out DDRB,temp
 clr temp
 out PORTB,temp
 ldi ZL,LOW(2*pollaplasia)
 ldi ZH,HIGH(2*pollaplasia)
compare:
 lpm temp,Z+
 in inp,PINA
 inc count
 cpi count,13      ;12 ειναι ολα τα στοιχεια του pollaplasia,αρα στη 13η μετρηση θα ξαναρχισει απο την αρχη
 breq next
 cp temp,inp
 brne compare
 cpi count,6
 brlo pol4
 cpi count,6
 brne pol46
 cpi count,7
 brne pol46
 cpi count,10
 brlo pol6
 cpi count,10
 breq pol69
 ldi temp,0b00000100
 out PORTB,temp
 rjmp next
pol4:
 ldi temp,0b00000001
 out PORTB,temp
 rjmp next
pol46:
 ldi temp,0b00000011
 out PORTB,temp
 rjmp next
pol6:
 ldi temp,0b00000010
 out PORTB,temp
 rjmp next
pol69:
 ldi temp,0b00000110
 out PORTB,temp
next:
 rjmp reset

.undef temp
.undef inp
.undef count

Στο pollaplasia βαζω πρωτα τα πολλαπλασια του 4 μετα τα κοινα του με το 6,δλδ το 12 και το 24,ακολουθουν τα πολλαπλασια του 6,μετα τα κοινα πολλαπλασια του 6 και του 9 (δλδ το 18)και τελος τα πολλαπλασια του 9.
Επειτα εχω βαλει στο προγραμμα να μετραει ο count σε ποια θεση του pollaplasia εγινε match.Αν ειναι κατω απο τη θεση 6(δλδ ενα απο τα 4,8,16,20,28)τοτε αναβει το 0 bit του portb.Αν ειναι στη θεση 6 η 7 τοτε αναβει το 0 και 1 bit του portb (αφου τα 12,24 ειναι κοινα για το 4 και το 6) κ.ο.κ

Λειτουργουν σωστα αλλα δεν ξερω αμα ειναι προγραμματα με ελαχιστες εντολες.Ειδικα το δευτερο εχει πολλα branches.Δε μπορω να σκεφτω κατι πιο απλο

Κατι ακομα στο pollaplasia το βαλα μεχρι και τα 30,γιατι εχουμε εισοδο 5 bits αρα ο μεγιστος αριθμος που θα συγκριθει με τα στοιχεια του pollaplasia ειναι το 31


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 22, 2009, 13:47:06 pm
Για τον ADC λεει:

ADSC (ADC Start Conversion) bit : In Free Running Mode, you must set this bit to start the first conversion. The following conversions will be started automatically. In Single Conversion Mode, you must set it to start each conversion. This bit will be cleared by hardware when a normal conversion is completed. Remember that the first conversion after the ADC is enabled is an extended conversion. An extended conversion will not clear this bit after completion ??????
Δλδ μετα το πρωτο πρωτο conversion πρεπει να κανουμε clear εμεις το ADSC bit;Και αν ναι πως;Με 1 η 0;



Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: dim on June 22, 2009, 13:56:35 pm
Η πρώτη conversion έχω την εντύπωση ότι απορρίπτεται ως άκυρη γιατί δεν είναι ακριβής,
οπότε ακολουθεί και η 2η η οποία είναι έγκυρη..

Άρα θα έλεγα ότι δεν υπάρχει ανάγκη να κάνεις εσύ clear..
Οι έγκυρες μετατροπές γίνονται clear από hardware

Μπορεί να κάνω λάθος όμως..ας ακουστούν  και άλλοι..


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 22, 2009, 15:31:45 pm
και κατι ακομα σορρυ :P οταν λεει κλεινουμε τις βανες τι εξοδο θα εχουμε στο port?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 22, 2009, 17:18:40 pm
Στο θεμα με τις βανες.Τo ledaki θα αναβοσβηνει συνεχεια αν ενεργοποιηθει; δλδ μπορουμε απλα να κανουμε in temp,PIND7(οπου συνδεεται και το εξωτερικο clock) και μετα out PORTA,temp (ας πουμε οτι το led ειναι εκει συνδεδεμενο) και loop μετα;δλδ θα αναβοσβηνει συμφωνα με το ρολοι το εξωτερικο του 1sec;γινεται αυτο;
Ποοοοο καζανι εχει γινει το κεφαλι μου


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Ianna on June 22, 2009, 17:57:15 pm
Amanita για να μην νιώθεις μόνη, κι εγώ μίκρο διαβάζω τώρα απλά ακόμη δεν έχω δει το θέμα που έλυσες...μόλις το δω θα επανέλθω για συζήτηση..


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 22, 2009, 19:41:43 pm
Ευχαριστω :) οτι αποριες εχω τις λεω τωρα για να μην τις ξεχασω


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 22, 2009, 21:20:39 pm
Τωρα που το σκεφτομαι για το ledaki αν το βαλω να τραβαει απο το ext clock θα πρεπει να το συγχρονισω.Δλδ να μετρησω ολους τους κυκλους μεχρι να ολοκληρωθει η διαδικασια κ να βαλω ενα delay..Η μαλλον καλυτερα αφου θα σταματησει η μετρηση μιας και το m1 και το m2 εχουν ξεπερασει τις τασεις τους,θα χρησιμοποιησω τον timer και το OC2


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: ederlezi on June 23, 2009, 10:41:21 am
Καλημέρα σε ολους!! Μια χαρη θα ήθελα,αν μπορει καποιος να γραψει κανα θεμα στο forum-πχ αυτο με τις βανες-μπας και παρουμε μπρος κι εμεις οι ασχετοι  :P
Ευχαριστω πολυ εκ των προτερων!!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 23, 2009, 12:24:43 pm
Θα προσπαθησω να το ανεβασω οπως το ελυσα χωρις να ειμαι σιγουρη καθολου,απλα αμα μπορει καποιος να μου διευκρινισει καποια πραγματα.
1ον. O ADC ειναι 12 bit.Αυτο τι σημαινει; το αποτελεσμα που θα μας δινει θα ειναι Vin*4096/Vref ;
2ον. Τα conversion θα ξεκινησουν μεσα στο Τ2_CMP (interrupt handling routine οταν μετρησει ο counter 3 λεπτα);
3ον. Εναν counter αν θελουμε να το ξαναρυθμισουμε απο την αρχη στη μεση ενος προγραμματος,τι κανουμε; ξαναφορτωνουμε τις registers του counter;η αυτο θα προκαλεσει κανα προβλημα;

Θα το ανεβασω σε λιγο αν ειναι.Αλλα να ξερετε ουτε που ξερω αν ειναι σωστο


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: ederlezi on June 23, 2009, 13:26:11 pm
Θα προσπαθησω να το ανεβασω οπως το ελυσα χωρις να ειμαι σιγουρη καθολου,απλα αμα μπορει καποιος να μου διευκρινισει καποια πραγματα.
1ον. O ADC ειναι 12 bit.Αυτο τι σημαινει; το αποτελεσμα που θα μας δινει θα ειναι Vin*4096/Vref ;
2ον. Τα conversion θα ξεκινησουν μεσα στο Τ2_CMP (interrupt handling routine οταν μετρησει ο counter 3 λεπτα);
3ον. Εναν counter αν θελουμε να το ξαναρυθμισουμε απο την αρχη στη μεση ενος προγραμματος,τι κανουμε; ξαναφορτωνουμε τις registers του counter;η αυτο θα προκαλεσει κανα προβλημα;

Θα το ανεβασω σε λιγο αν ειναι.Αλλα να ξερετε ουτε που ξερω αν ειναι σωστο
Σ'ευχαριστω πολύ και μην αγχεσαι για το αν ειναι σωστο!! Μας κανει και με λαθακια  ;)


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 23, 2009, 15:07:07 pm
Δε θελω να σας παρω στο λαιμο μου,το κανα τωρα ετσι και ο θεος βοηθος.Φαινεται να λειτουργει στο avrstudio.Πρεπει να ναι πολυ μπακαλικος ο τροπος γενικα.Αλλα μια ιδεα ριχνω

Ο ADC λεει οτι ειναι 12μπιτος.Εγω πηρα με 2 εισ την 12,αλλα δεν ξερω αμα ισχυει.

Vref = 5.12    Aρα ο ΑDC για ταση 4.25 θα δειχνει 4.25*4096/5.12=3400 (110101001000 σε 12μπιτο - αρα ο ADCH πρεπει να ειναι 00001101 και ο ADCL 001001000).Για ταση 4.8 8α εχουμε 3840 (111100000000 αρα ADCH=00001111 και
ADCL=00000000).Συνεπως στην πρωτη περιπτωση,δλδ οταν κανουμε conversion to M1 συγκρινουμε το ΑDCH με το 00001101,αν ειναι μικροτερο ολα οκ και προχωραμε στο δευτερο conversion,αν ειναι μεγαλυτερο τοτε κλεινει η Βανα1, αν ειναι ισο συγκρινουμε το ADCL με το 001001000.Εδω αν το ΑDCL ειναι μικροτερο ολα οκ και προχωραμε στο δευτερο conversion, αν ειναι μεγαλυτερο τοτε κλεινει η Βανα1
Στην περιπτωση του 4.8V αρκει να συγκρινουμε μονο το ΑDCH με το 00001111
Αυτα ολα γινονται στο AD_RESULT

.include "m128def.inc"
.def temp=R16
.def adc1=R17
.def adc2=R18
.def count=R19
.cseg
.org 0
  jmp reset
  jmp EXT_INT0  ;edw erxetai otan to PIND0 ginei 1(gia na ksanaru8misoume ton counter k na anavosvhnei to lampaki
.org $012
  jmp T2_CMP   ;edw erxetai otan o counter exei metrhsei 3mins
.org $002A
  jmp AD_CMP  ;edw erxetai otan exei teleiwsei to conversion sto adc
.org $0100
reset:
 ldi temp,LOW(RAMEND)
 out SPL,temp
 ldi temp,HIGH(RAMEND)
 out SPH,temp
 clr temp
 sts DDRF,temp      ; 8etoume input ta pin tou PORTF,edw exoume ta adcn inputs tou adc (!prosoxh sts kai oxi out!)
 out DDRD,temp       ; PIND7 timer2 input (dld edw syndeetai to ekswteriko roloi tou timer)
 out DDRB,temp       ; PΟRΤB7 OC2 (dld sto portb7 8a syndesoyme to ledaki)
 ldi temp,0b00000011
 out DDRA,temp       ; ta ports gia tis banes einai ouptus,xrhsimopoioume to bit 0 kai to bit 1
 ldi temp,0b00001111 ;arxika o timer einai oc2 disconnected,ctc,external clock on rising edge
 out TCCR2,temp
 ldi temp,179             ;8eloume na metraei 3 lepta=180sec
 out OCR2,temp
 clr temp
 out TCNT2,temp
 ldi temp,0b10000000  ;energopoioume to compare match interrupt
 out TIMSK,temp
 clr temp
 out ADMUX,temp    ;Aref,internal Vref turned off(vazoumeemeis tash anaforas 5.12V,adlar=0,travaei apo to adc0)
 ldi temp,0b10011101
 out ADCSRA,temp  ;energopoioume ton adc,to adc interrupt kai prescaler sta 32
 ldi temp,0b00000011
 sts EICRA,temp    ;the rising edge of int0(pou einai sundedemeno sto Pind0 generates an interrupt
                              request.Auto to interrupt to xrhsimopoiw otan ta m1 kai m2 exoun kseperasei tis taseis tous
                              etsi wste na ru8misw ton counter apo thn arxh me compare match sto 1 sec,kai na exoyme
                              to OC2 tou na anavosvhnei to ledaki
 ldi temp,0b00000001  ; to Int0 gia external interrupt
 out EIMSK,temp
 clr count                  ;ton count ton xrhsimopoiv gia diafora loops
 sei
 rjmp AD_RESULT
 nop
 rjmp reset


--------------------------------------------------------------------------------------------------------------------------
 AD_RESULT:                  
 set                                  ;8etoume T=1 wste na blockarei to programma kai na perimenei interrupt.To 1o interrupt
                                         8a proel8ei apo ton counter,otan ftasei ta 3mins(T2_CMP)
loop1:                              
 brts loop1
 ldi temp,0b00001101       ;edw 8a proxwrhsei otan epistrepsei apo to T2_CMP,opou exoume valei clt(T=0)
 cp adc2,temp
 brlo conversion2
 ldi temp,0b01001000
 cp adc1,temp
 brlo conversion2
 ldi temp,0b00000001
 out PORTA,temp
conversion2:
 ldi temp,0b00000001
 out ADMUX,temp                ;pame sto deutero conversion,travame apo to adc1
 sbi ADCSRA,6                   ;start of conversion
 clr count
 ldi count,14                        ;edv twra den kserw ama ekana kala,alla epeidh 8elei 13 kuklous gia na teleiwsei
                                           to conversion,evala ena delay.Otan teleiwsei to conversion,to                                        
loop2:                                 ADIF ginete 1,kai afou to I=1,phdaei sto AD_CMP
 dec count
 brne loop2
 ldi temp,0b00001111
 cp adc2,temp
 brlo AD_RESULT
 ldi temp,0b00000011
 out PORTA,temp  
 sbi DDRD,0                        ;epeidh 8elw na uparksei external interrupt molis kleisoun kai oi 2 banes,prokalw ena rising
 sbi PORTD,0                       edge ston PIND0,gia na pame sto EXT_INTO kai na valoume to counter na kanei compare
 sbi DDRB,7                         an 1 sec.To OC2 vgainei apo to PortB7 ara gia na fainetai prepei na to kanoume output
loop3:
 rjmp loop3                        ;den kserw poshn wra 8elei na anavosvhnei ara to afhnw na looparei :P
 ret

-----------------------------------------------------------------------------------------------------------------------------------------------
T2_CMP:                              ;edw erxetai otan o counter ftasei sta 3mins k exoume compare match
 sei                                       ;energopoiw to I gia na mporesw na exw interrupt apo ton ADC
 sbi ADCSRA,6                      ;start of conversion
 ldi count,26                           ;pali ena delay mexri na teleiwsei to conversion
loop4:
 dec count
 brne loop4
 clt                                      ;ka8arizw to T etsi wste otan epistrepsei sto AD_RESULT,na mporesei na proxwrhsei
 reti                                      parakatw kai na kanei tous upologismous pou 8elei me ta adch kai adcl
 

AD_CMP:                      ;molis teleiwsei to conversion fortwnontai stis registers adc1 kai adc2 ta apotelesmata tou adc
 in adc1,ADCL                  
 in adc2,ADCH
 reti

EXT_INT0:                          ;otan kleisoun kai oi 2 banes,prokaloume ena rising edge sto PIND0 kai erxetai edw
 ldi temp,0b00011111           ru8mizoume to counter wste na kanei compare ana 1 sec,me OC2 connected,kai xwris
 out TCCR2,temp                  interrupt enable
 ldi temp,1
 out OCR2,temp
 clr temp
 out TCNT2,temp
 ldi temp,0b00000000
 out TIMSK,temp
 reti




.undef temp
.undef adc1
.undef adc2
.undef count




Αυτα,τωρα τι να πω δεν ξερω.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 23, 2009, 15:14:39 pm
Τεραστια μου φαινεται.Καποια ****** εχω κανει μαλλον


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 24, 2009, 12:42:34 pm
Τον timer/counter0 με external clock 32khz αφου μπορουμε να τον κανουμε prescale μπορουμε να τον χρησιμοποιησουμε για να αναβοσβηνει ενα ledaki σε 1 sec σωστα?που αλλου τον χρησιμοποιουμε;


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Sylvester on June 24, 2009, 17:42:50 pm
Παίδες βρήκα μια άκρη με τo prescaling για την άσκηση με το ADC.
Από ότι κατάλαβα πέρνουμε 1 δείγμα απο κάθε κανάλι για 16 φορες(??),αν όχι διορθώστε με.:).
Θέλουμε 5000(δείγματα/δευτ).Επειδή κάθε μετατροπή χρειάζεται 13 "κύκλους" συνεπάγεται ότι για κάθε κανάλι θέλουμε 65 kHZ. Επειδή πρέπει να δειγματολειτήσουμε με αυτήν την συχνότητα 8 κανάλια θα χρειαστούμε 8*65kHz=520 kHz.Άρα πέρνουμε Prescaling 8Mhz/520kHz =15.38 άρα παίρνεις 16 με καποι σφάλμα.
Την λύση την βρήκα στο AVRfreaks.net(Using the Built-in ADC in AVR)
Ελπίζω να βοήθησα(ή να μην έκανα λάθος)

Παιδιά αύτο ισχύει σίγουρα???? Είναι για το Θέμα 2 Ιούνιος 2008


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 24, 2009, 18:05:24 pm
μπορεις να κανεις ενα copy paste το θεμα τι λεει;


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Sylvester on June 24, 2009, 18:19:57 pm
Sorry δεν το έχω...  :-[


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 24, 2009, 18:55:51 pm
το ρολοι του adc του δικου μας ποσο ειναι 1Mhz?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 24, 2009, 20:36:01 pm
βασικα αμα καταλαβα σωστα λεει οτι 1 δειγμα θελει 13 κυκλους(1 conversion τοσο θελει).αμα ζηταει 5000δειγματα/δευτερολεπτο θα χρειαστει 65000 κυκλους--->65kHz συχνοτητα του adc
παραθετω:
When considering the sampling rate one should
also consider that one conversion takes 13/14 ADC cycles. If running the AVR on 8 MHz
one wants to sample at around 10 kSPS, a prescaling factor of 64 would be appropriate
(making the sampling rate 9.6 kSPS).


πιο κατω λεει:
Case: You are running an AT90S8535 at 8 MHz and require AD conversion in five channels
at approximately 10 ksps per channel. How can the ADC be set up and used to
support this operation?
With 10 kSPS the ADC needs approximately 130 kHz ADC clock (13 ADC clock cycles
per conversion). For five channels the ADC have to work five times faster than with a
single channel. The closest possible value to 650 kHz is 500 kHz which is obtained with
a prescaling factor at 16.
An ADC clock at 500 kHz violates the limit in ADC clocking for full 10 bit resolution (ADC
clock 200 kHz for 10-bit resolution). Considering the table regarding “ADC characteristics”
section “Analog to Digital Converter” in the data sheet, the absolute accuracy would
probably be 2 - 3 LSB. This means that the ADC can be considered to be a 9-bit ADC
since the LSB is not reliable


Τωρα δεν ξερω τι ζητουσε το θεμα ακριβως


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: tiger on June 24, 2009, 21:19:24 pm
    :-*  Am@NiTa


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 24, 2009, 21:24:20 pm
noobaki ειμαι μην νομιζεις αλλα ευχαριστω :P


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφε&
Post by: dim on June 25, 2009, 02:33:35 am
Για το θεμα αυτο εκανα 2 υλοποιησεις αλλα μου φαινονται τεραστιες
Πρωτη υλοποιηση:
include "m128def.inc"
.def temp=R16
.def inp=R17
.def count=R18
.cseg
.org 0...
...
...
...

Δευτερη Υλοποιηση:

include "m128def.inc"
.def temp=R16
.def inp=R17
.def count=R18...
...
...



Βασικά όταν το έκανα στο avr studio to öekana me ton 1o τρόπο, δλδ 3 κομμάτια κώδικα μοιάζουν..

δες κι εδώ..http://www.thmmy.gr/smf/index.php?topic=7663.msg304641#msg304641


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: dim on June 25, 2009, 02:40:16 am
Θα προσπαθησω να το ανεβασω οπως το ελυσα χωρις να ειμαι σιγουρη καθολου,απλα αμα μπορει καποιος να μου διευκρινισει καποια πραγματα.
1ον. O ADC ειναι 12 bit.Αυτο τι σημαινει; το αποτελεσμα που θα μας δινει θα ειναι Vin*4096/Vref ;
2ον. Τα conversion θα ξεκινησουν μεσα στο Τ2_CMP (interrupt handling routine οταν μετρησει ο counter 3 λεπτα);
3ον. Εναν counter αν θελουμε να το ξαναρυθμισουμε απο την αρχη στη μεση ενος προγραμματος,τι κανουμε; ξαναφορτωνουμε τις registers του counter;η αυτο θα προκαλεσει κανα προβλημα;

Θα το ανεβασω σε λιγο αν ειναι.Αλλα να ξερετε ουτε που ξερω αν ειναι σωστο

1 - έτσι νομίζω..
2 - επίσης έτσι νομίζω..
3 - είναι λίγο μπέρδεμα, το αναφέρει αναλυτικά στο ντάτασιτ κ δεν το θυμάμαι τώρα για να το γράψω, θα έλεγα όμως ότι δεν ενδείκνυται κάτι τέτοιο για τις εξετάσεις!
Ρυθμίζεις το ταίμερ απτην αρχή, και  το πολύ πολύ δεν το βάζεις να ξεκινάει μέτρημα απτην αρχή, αλλά το ξεκινάς σε κάποιο άλλο σημείο..


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: dim on June 25, 2009, 02:40:34 am
Στο θεμα με τις βανες.Τo ledaki θα αναβοσβηνει συνεχεια αν ενεργοποιηθει; δλδ μπορουμε απλα να κανουμε in temp,PIND7(οπου συνδεεται και το εξωτερικο clock) και μετα out PORTA,temp (ας πουμε οτι το led ειναι εκει συνδεδεμενο) και loop μετα;δλδ θα αναβοσβηνει συμφωνα με το ρολοι το εξωτερικο του 1sec;γινεται αυτο;
Ποοοοο καζανι εχει γινει το κεφαλι μου

Βάλε ό,τι σε βολεύει, απλά δήλωσέ το στην αρχή..

Όταν δεν έχουμε καμία υπέρβαση κ οι 2 βάνες είναι ανοιχτές..
Εγώ θα έλεγα θεωρώ ότι οι βάνες ειναι ανοιχτές για 0
άρα κλειστές για 1
βολεύει πιο πολύ στον κώδικα, μιας κ η αρχική τιμή είναι 0 στο ρεσετ


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Am@NiTa on June 25, 2009, 08:33:10 am
Ευχαριστω!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: OtiNaNAi on September 22, 2009, 17:15:41 pm
στα φετινα θεματα του ιουνιου, στο θεμα με το ADC ποσο παίρνουμε το prescaling??

ρολοι 2ΜΗΖ

8Ksamples/sec


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: dim on September 22, 2009, 17:35:18 pm
στα φετινα θεματα του ιουνιου, στο θεμα με το ADC ποσο παίρνουμε το prescaling??

ρολοι 2ΜΗΖ

8Ksamples/sec

Θα σε διαφωτίσει το παρακάτω ποστ σε κάποιο άλλο τόπικ.. ;)

Παίδες βρήκα μια άκρη με τo prescaling για την άσκηση με το ADC.
Από ότι κατάλαβα πέρνουμε 1 δείγμα απο κάθε κανάλι για 16 φορες(??),αν όχι διορθώστε με.:).
Θέλουμε 5000(δείγματα/δευτ).Επειδή κάθε μετατροπή χρειάζεται 13 "κύκλους" συνεπάγεται ότι για κάθε κανάλι θέλουμε 65 kHZ. Επειδή πρέπει να δειγματολειτήσουμε με αυτήν την συχνότητα 8 κανάλια θα χρειαστούμε 8*65kHz=520 kHz.Άρα πέρνουμε Prescaling 8Mhz/520kHz =15.38 άρα παίρνεις 16 με καποι σφάλμα.
Την λύση την βρήκα στο AVRfreaks.net(Using the Built-in ADC in AVR)
Ελπίζω να βοήθησα(ή να μην έκανα λάθος)


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: OtiNaNAi on September 22, 2009, 18:08:42 pm
κατι αλλο , οταν στα θεματα αναφερει την ενεργοποιηση "σειρηνας",προκειται για καποια ειδική διασυνδεση (οπως πχ τα leds 7 τμηματων)?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφε&
Post by: dim on September 22, 2009, 18:33:02 pm
κατι αλλο , οταν στα θεματα αναφερει την ενεργοποιηση "σειρηνας",προκειται για καποια ειδική διασυνδεση (οπως πχ τα leds 7 τμηματων)?

Όχι όχι, νομίζω με μία απλή σύμβαση στην αρχή της επίλυσης και είσαι ΟΚ..

Του στυλ..η σειρήνα ενεργοποιείται με είσοδο 1, απενεργοποιείται με είσοδο 0..


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: OtiNaNAi on September 24, 2009, 14:42:34 pm
κ αλλη απορια

αν ενω "τρεχει" ο τιμερ2, μηδενισω το TCNT2, o τιμερ2 ξεκινα κανονικα απο την αρχη??

οταν εχω διαφορικη ενισχυση στον αδσ (πχ 3 - 2), θεωρω οτι πρεπει να κανω δειγματοληψια απο 2 καναλια (αντι για ενα)??

δλδ τα Ksamples/sec που μου δίνει τα διπλασιαζω?


thanks am@nita για την βοηθεια


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Θάνος on May 14, 2010, 14:54:29 pm
Παιδιά επειδή μόλις άρχισα να κοιτάω θέματα και δε βγάζω.. άκρη, ας πω κάποιες βασικές απορίες που μου ήρθαν με το θέμα του ADC, ιούνιος 2008.

1) 8 αναλογικά σήματα = 8 κανάλια;
2) για τους prescalers λογικά δεν ισχύει
   αφού για 10Κsmpls/sec και f(adc) = 4MHz ----> N=32
   τότε για 5Ksmpls/sec και f(adc) = 8MHz ----> N=128??
   διάβασα μια εξήγηση για κύκλους κλπ αλλά δεν πολυκατάλαβα τι παίζει..αυτό μου βγαίνει και μαθηματικά :P!
3) λογικά αφήνω χώρο στην SRAM για πίνακα 256 bytes (16*16*8 bits / 8 = 256 bytes)
   Η τιμή των conversions αποθηκεύεται μέσα στη ρουτίνα διακοπής του timer ή έξω από αυτήν? Εννοώ μπορούμε να
   προσπελάσουμε την SRAM μέσα απ'τη διακοπή του ADC ή πρέπει να σώσω το αποτέλεσμα σε μεταβλητές και να
   τις αποθηκεύσω στην SRAM εκτός της ρουτίνας διακοπής;
4) Ουσιαστικά για να σαρώσω και τα 8 κανάλια, κάνω loop και κάθε φορά μόλις τελειώσει ένα κανάλι τις μετρήσεις
    αλλάζω τον ADΜUX για να δείχνει στο επόμενο κανάλι? Έχω δηλαδή 8 φορές μέσα στον κώδικά μου ορισμό του
    ADMUX?
5) Σε κάτι παλιές λύσεις που είδα, χρησιμοποιεί και timers, εγώ απ'τη δεδομένη εκφώνηση δε βρίσκω το λόγο να
    γίνει κάτι τέτοιο. Τι λέτε εσείς?!

Αυτά για αρχή και... θα δούμε στη συνέχεια!
Thanx σε όποιον το δει!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: foulis on June 08, 2010, 20:51:38 pm
έχει κανένας θέματα 2008 η σεπτέμβριος 2009?????


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Kargas on June 09, 2010, 20:42:24 pm
re paidia poios einai o tupos metatrophs twn kiloSamples se fADC?



Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: ntekes on June 09, 2010, 21:52:14 pm
fadc se khz=13*ksps=fcpu/N


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Laza G on June 11, 2011, 13:00:40 pm
Θέμα 2 από 2010 τι κάνουμε ???  :D


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφε&
Post by: Faros on June 11, 2011, 13:47:02 pm
2010 Ιουνιου εννοεις φανταζομε.Ρυθμιζεις καταλληλα το TNCT για να εχεις παλμους καθε 1 msec,και εκπεμπεις καθε φορα το πρωτο bit του  PortA.Συνολικα μεταδιδονται 11 bit για καθε χαρακτηρα.To start bit βρισκεται σε λογικο 0 και το stop bit σε λογικο 1.Αν και δε το αναφερει,η μεταδοση  μαλλον ειναι συνεχης.

Για το bit αρτιας ισοτημιας ξερει κανεις τι πεζει?

edit: νομιζα πως δεχεσε τον χαρακτηρα και οχι πως τον εκπεμπεις εσυ


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Godhatesusall on June 11, 2011, 13:57:01 pm
Θέμα 2 από 2010 τι κάνουμε ???  :D
Αφού σετάρεις το portA για να λειτουργήσει ως έξοδο,

Timer με Τ= 1ms και μετα υπολογίζεις το Parity bit(parity bit=1 αν ο αριθμός των 1 στο byte σου είναι 0,2,4,6, ή 8 και 1 αλλιώς). Εκπέμπεις αρχικά το start bit( ένα bit με τιμή 1) και μετά κάνεις σε ένα loop 8 φορές το εξής :rol (ώστε κάθε φορά που θα πρέπει να εκπέμψεις ένα bit, αυτό να είναι στο MSB).Έτσι,σε κάθε χτύπο του timer εκπέμπεις 1 bit, και με το που τελειώσεις την εκπομπή στο R0 θα μείνει ανέπαφη η λέξη που έστειλες. Μετά εκπέμπεις και το stop bit(0) και τέλειωσες.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Laza G on June 11, 2011, 15:30:14 pm
δεν χρειάζεται να μπλέξουμε με UART ?

Για το parity bit μπορείς να κάνεις eor όλα τα bit μεταξύ τους και αν το αποτέλεσμα είναι 1 τότε είναι άρτια, αλλιώς περιττή.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: portinos on February 27, 2012, 16:37:04 pm
Μια ερωτηση.  Διαβαζω τα θεματατου Ιουνιου του 2011 και δεν μπορω να καταλαβω καθολου τι θελει να κανουμε στο τριτο θεμα. Μπορει καποιος να μου εξηγησει; Ευχαριστω!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Καμένος on February 27, 2012, 20:24:43 pm
Πόσταρε το θέμα


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: portinos on February 27, 2012, 20:41:22 pm
Να το θέμα:
Στο κανάλι 4 του ADC συνδέεται (single ended) ένας αισθητήρας θερμοκρασίας. Ο AVR λειτουργεί στα 4ΜHz, με τάση τροφοδοσίας 5V. Η συχνότητα δειγματοληψίας είναι περίπου 5KSPS. Η ανάγνωση της θερμοκρασίας γίνεται με την μέθοδο των σημαιών. Η ελάχιστη τιμή θερμοκρασίας είναι 0 βαθμοί Κελσίου και αντιστοιχεί στα 0V, ενώ η μέγιστη 175.75 βαθμοί και αντιστοιχεί στα 5V. Χρησιμοποιούνται και τα 10bit του ADC. Επειδή η χαρακτηριστική του αισθητήρα είναι μη γραμμική, γίνεται γραμμικοποίηση λαμβάνοντας υπόψη ότι τα σημεία καμπής είναι:
Ψηφιακή ένδειξη                 C
0                                                   0
100                                              25
260                                              45
580                                              65
1023                                            175.75
Η κλίση των ευθειών με τις οποίες προσεγγίζεται η χαρακτηριστική καμπύλη του αισθητήρα να γίνει χωρίς την χρησιμοποίηση των εντολών πολλαπλασιασμό. Ο υπολογισμός των θερμοκρασιών να γίνει με πλήρη ακρίβεια.


Title: deleted
Post by: BOBoMASTORAS on February 27, 2012, 20:41:49 pm
deleted


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφε&
Post by: TeeKay on February 27, 2012, 20:49:51 pm
Να το θέμα:
Στο κανάλι 4 του ADC συνδέεται (single ended) ένας αισθητήρας θερμοκρασίας. Ο AVR λειτουργεί στα 4ΜHz, με τάση τροφοδοσίας 5V. Η συχνότητα δειγματοληψίας είναι περίπου 5KSPS. Η ανάγνωση της θερμοκρασίας γίνεται με την μέθοδο των σημαιών. Η ελάχιστη τιμή θερμοκρασίας είναι 0 βαθμοί Κελσίου και αντιστοιχεί στα 0V, ενώ η μέγιστη 175.75 βαθμοί και αντιστοιχεί στα 5V. Χρησιμοποιούνται και τα 10bit του ADC. Επειδή η χαρακτηριστική του αισθητήρα είναι μη γραμμική, γίνεται γραμμικοποίηση λαμβάνοντας υπόψη ότι τα σημεία καμπής είναι:
Ψηφιακή ένδειξη                 C
0                                                   0
100                                              25
260                                              45
580                                              65
1023                                            175.75
Η κλίση των ευθειών με τις οποίες προσεγγίζεται η χαρακτηριστική καμπύλη του αισθητήρα να γίνει χωρίς την χρησιμοποίηση των εντολών πολλαπλασιασμό. Ο υπολογισμός των θερμοκρασιών να γίνει με πλήρη ακρίβεια.

Βασικά εγώ έτσι όπως το καταλαβαίνω, έχουμε την έξοδο του 10μπιτου ADC και θέλουμε να απεικονίσουμε ( ;;; ) καπου τις θερμοκρασίες, η να τις αποθηκέυσουμε κάπου.
Ανάλογα με την έξοδο του ADC θεωρούμε το αντιστοιχο κομματι της ευθείας, π.χ για χ=[0,100], το y θα δίνεται από τη σχέση y=0,25x, οποτε θα πρεπει αντιστοιχα να κανουμε lsr για να επιτυχουμε τη διαιρεση
κι επισης σε καποια σημεια μαλλον θα αναγκαστουμε να χρησιμοποιησουμε δεκαδικα μερη, οποτε πχ θα πρεπει να δηλωσουμε καπου ότι πχ. παίρνουμε 10 bits ακεραιο και 4 σημεια μετα την υποδιαστολή...

Καπως ετσι το σκεφτομαι γενικα...


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφε&
Post by: stefos on February 27, 2012, 21:11:36 pm

Ανάλογα με την έξοδο του ADC θεωρούμε το αντιστοιχο κομματι της ευθείας, π.χ για χ=[0,100], το y θα δίνεται από τη σχέση y=0,25x, οποτε θα πρεπει αντιστοιχα να κανουμε lsr για να επιτυχουμε τη διαιρεση
κι επισης σε καποια σημεια μαλλον θα αναγκαστουμε να χρησιμοποιησουμε δεκαδικα μερη, οποτε πχ θα πρεπει να δηλωσουμε καπου ότι πχ. παίρνουμε 10 bits ακεραιο και 4 σημεια μετα την υποδιαστολή...

Καπως ετσι το σκεφτομαι γενικα...
Ναι, έτσι γίνεται.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: portinos on February 27, 2012, 21:17:26 pm
Οκ ευχαριστώ θα το προσπαθήσω έτσι, αλλά με πέντε ευθείες που έχει δεν νομίζω να το καταφέρω μέχρι το τέλος. Κάπου θα το κάνω το λάθος  ;D


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφε&
Post by: AgentCain on February 27, 2012, 21:35:47 pm
Ερώτηση για τον ADC, βασικά πως τον δουλεύουμε

Ορίζοντας μεγάλο prescaler, αυξάνουμε το χρόνο μετατροπής, ο οποίος είναι κατα ΜΟ 13 κυκλοι ADC, αλλά αυξάνουμε και την ακρίβεια μετατροπής στα 10bit. Μπορούμε να πούμε ότι πετάμε τη 1η μετατροπή που θελει 25 κύκλους ώστε οι υπόλοιπες να είναι εντός προδιαγραφών; (αν μας δίνονται προδιαγραφές ως προς το χρόνο μετατροπής ή τη συχνότητα) Πχ στο παραπάνω θέμα λέει συχνότητα δειγματοληψίας "περίπου" 5KSPS. Με prescaler 64 η μέση συχνότητα δειγματοληψίας βγαίνει περίπου 4808SPS.

Αν βάλουμε τον ADC σε free run τότε λογικά δε μπορούμε να έχουμε ακριβή προσδιορισμό της συχνότητας δειγματοληψίας. Ξέρουμε στο περίπου πόσο είναι, 13*το ρολόι του ADC. Αν θέλουμε μεγάλη ακρίβεια στη ταχύτητα δειγματοληψίας (αλλά όχι στην ακρίβεια bit) θεωρούμε ότι ο ADC τρέχει συνεχώς στην μέγιστη ταχύτητα (μικρος prescaler) και μέσω timer κοιτάμε πότε θα διαβάζουμε τις τιμές από τον ADCL και ADCH;

Οκ ευχαριστώ θα το προσπαθήσω έτσι, αλλά με πέντε ευθείες που έχει δεν νομίζω να το καταφέρω μέχρι το τέλος. Κάπου θα το κάνω το λάθος  ;D
Η τύχη σου χαμογέλασε, οι ευθείες είναι τεσσερις :P


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: antonios on June 30, 2012, 14:00:27 pm
Έχει βγάλει κανείς άκρη με τα θέματα του 2011??? στο θεμα 2 τι ακριβώς θέλει??


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: AgentCain on June 30, 2012, 15:46:20 pm
Αν ρωτας για του Ιουνιου με τις σχεσεις, εχεις 3 διακόπτες πες A B και C
Όταν στο δυαδικό δίνουν τιμές 1 ή 3 ή 5 (δλδ 001 ή 011 ή 101) τοτε ξεκινας να μετρας χρόνο
Οταν δίνουν 2 ή 4 ή 7 τοτε σταματας.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: bakeneko on July 01, 2012, 09:51:24 am
Στα 5 λεπτά με ποιο τρόπο φτάνουμε...; Μπορούμε να βάλουμε και εξωτερικό ρολόι έτσι "αυθαίρετα";


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: AgentCain on July 01, 2012, 10:04:18 am
χρησιμοποιείς εξτρα register
πχ βαζεις τον timer να μετραει δευτερολεπτο, ενας reg κραταει τα δευτερολεπτα και ενας αλλος τα λεπτά
και αντίστοιχα ορίζεις έλεγχο, overflow κτλ


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: paulosgk on July 01, 2012, 12:39:26 pm
να ρωτησω κατι, στο ιδιο θεμα ποια ειναι η πιο απλη μορφη που μπορουμε να κανουμε τον ελεγχο απο -40 εως 0 για να δωσουμε την εξοδο στο πορτ 2;


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: bakeneko on July 01, 2012, 16:54:50 pm
φχαριστώ πράκτορα!

υποθέτω ότι έχεις "signed" αριθμό, οπότε σου κάνουν οι εντολές BRGE και BRLT.

Επίσης έχω μια άλλη απορία πιο περίεργη. Το bit ADIF του register ADSCRA γίνεται 1 όταν ολοκληρωθεί η μετατροπή. Αν θέλεις να το κάνεις 0 με "το χέρι" λέει στη σελίδα 244 του datasheet να το βάλεις σε λογικό 1.. με λίγα λόγια αν θέλεις να γίνει 0 πρέπει να κάνεις π.χ. "SBI ADSCRA,ADIF" και όχι CBI. Αυτό τώρα είναι σωστό; Μου φαίνεται λίγο κουλό και λέω μήπως κάτι δεν κατάλαβα καλά... :P


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Time_Tripper on July 01, 2012, 16:59:28 pm
ναι και γω ετσι το καταλαβαινω, για να το κανεις clear βαζεις 1 οποτε sbi


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: paulosgk on July 01, 2012, 17:48:19 pm
thx, για τις BRGE και
BRLT ο αριθμος με τον οποίο θα συγκρίνουμε, γραφεται απευθειας με το προσημο; μπορει βεβαια να θελει μετατροπη.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: diutinus on July 02, 2012, 02:14:36 am
φχαριστώ πράκτορα!

υποθέτω ότι έχεις "signed" αριθμό, οπότε σου κάνουν οι εντολές BRGE και BRLT.

Επίσης έχω μια άλλη απορία πιο περίεργη. Το bit ADIF του register ADSCRA γίνεται 1 όταν ολοκληρωθεί η μετατροπή. Αν θέλεις να το κάνεις 0 με "το χέρι" λέει στη σελίδα 244 του datasheet να το βάλεις σε λογικό 1.. με λίγα λόγια αν θέλεις να γίνει 0 πρέπει να κάνεις π.χ. "SBI ADSCRA,ADIF" και όχι CBI. Αυτό τώρα είναι σωστό; Μου φαίνεται λίγο κουλό και λέω μήπως κάτι δεν κατάλαβα καλά... :P

Εγώ μάλλον για typo το κόβω. Bit cleared by writing one = Bottle emptied by filling it to the top... = mindfuck.


Title: deleted
Post by: BOBoMASTORAS on July 02, 2012, 05:24:10 am
deleted


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: sok on September 25, 2012, 18:53:33 pm
Παιδιά έχει κανείς λυμένα θέματα να μοιραστεί γιατί τα πράματα είναι πολύ σκούρα με τα Μίκρο,επίσης απαντημένες ερωτήσεις θεωρίας θα εξοικονομουσαν απειρο χρόνο.Εννοείτε αν υπάρχουν ιδιόχειρα με ενα πμ είμαι όπου θέλετε τα φωτοτυπώ και επιστροφή στον ιδιοκτήτη.Ευχαριστώ.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Utrion on September 30, 2012, 11:54:10 am
1)Για να ρωτήσω το duty cucle και περίοδος αλλάζουν απο το ΤΟP (OCRn) ?θέλει πιο λεπτομερη απάντηση πάνω σε αυτό το θέμα και αν ναι ποια ειναι ακριβως?:)

2)Για μέτρηση 5m αν δεν κάνω λάθος δεν γίνεται άμεσα με έναν Timer μπορούμε απλά να τον βάλουμε να κάνει OVF κάθε 1sec kai μετα να μετράμε σε ενα reg ως το 300 και να γίνεται flag?ή υπάρχει και υλοποίηση με δυο timer πιο ¨σωστη" αλλα και πιο πολύπλοκη?

EDIT: ok kai ta δυο απαντηθηκαν :)
1)TO OCR όσο μεγαλύτερο ειναι τόσο πιο πολύ μένουμε στο 1 και το Duty Cycle αυξάνει.Ενώ με την αλλαγή του ΤΟΡ και του prescaler αλλαζουμε την συχνοτητα


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: antonios on September 30, 2012, 15:20:17 pm
1)Για να ρωτήσω το duty cucle και περίοδος αλλάζουν απο το ΤΟP (OCRn) ?θέλει πιο λεπτομερη απάντηση πάνω σε αυτό το θέμα και αν ναι ποια ειναι ακριβως?:)

2)Για μέτρηση 5m αν δεν κάνω λάθος δεν γίνεται άμεσα με έναν Timer μπορούμε απλά να τον βάλουμε να κάνει OVF κάθε 1sec kai μετα να μετράμε σε ενα reg ως το 300 και να γίνεται flag?ή υπάρχει και υλοποίηση με δυο timer πιο ¨σωστη" αλλα και πιο πολύπλοκη?

EDIT: ok kai ta δυο απαντηθηκαν :)
1)TO OCR όσο μεγαλύτερο ειναι τόσο πιο πολύ μένουμε στο 1 και το Duty Cycle αυξάνει.Ενώ με την αλλαγή του ΤΟΡ και του prescaler αλλαζουμε την συχνοτητα


μιας και απαντήθηκαν, θέλεις να μας δώσεις κι εμάς τα φώτα σου??? :D :D


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Utrion on September 30, 2012, 15:49:12 pm
Για το πρώτο η απάντηση είναι όπως την αναφέρω στο EDIT
για το δευτερο εγω θα εφάρμοζα τον τρόπο να μετράει πιχι ο tιμερ1 1sec και κάθε φορα που γίνεται overflow να καλω ρουτίνα που να μετράει ως το 300( εννοω καθε φορα που καλείται η ρουτίνα να μειωνει ασπουμε απο το 300 κατα ενα εως οτου καλεστει 300 φορες)(αν επιθυμω 5 λεπτα ) ή για μετρηση και λιγότερο απο δευτερόλεταΙγια ακρίβεια) θα τον βαζαμε να μεταει 0.01 sec και στο ISR θα υπηρχαν 2xbit reg που θα μετρουσαν ως το 300x100=30000 .Δεν ξέρω αν είναι η πιο σωστή μέθοδος αλλα λειτουργει νομίζω:)


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: antonios on September 30, 2012, 15:56:37 pm
ναι, όντως, λογικό μου φαίνεται....
θενκς!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: Utrion on September 30, 2012, 21:03:32 pm
Στο θέμα 3ο του 2010 ιουνη η συναρητηση αληθείας για τα σήματα ουσιαατικά γίνεται με απομόνωση των 2bit pou αντιστοιχούν στο PORTA0 και PORTA1 και σύγκριση τους με τον οb00000001 και αν ειναι το ιδιο τοτε γίνεται η μετρηση όπως και μετα σύγκριση του PORT2 bit (που ξανα απομονώνουμε) με τον ob00000100 και αν ισχύει η ισότητα πάλι θέτουμε ADSC=1?
Ελπίζω να είναι σωστή η λογικη!!για την εκτέλεση δεν ξερω:)
Αντίστοιχη λογική μάλλον έχει και το θεμα 3 του 2007.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: vamos_89 on February 07, 2013, 22:16:13 pm
εχει κανεις λυσει τα θεματα του 2012???


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 11:07:24 am
Βλέπω τώρα τα θέματα 1/10/2012. Το 2ο οκ, αλλά στο 1ο? Αυτό με τις διάφορες τιμές της συχνότητας του ήχου πως το κάνεις?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: antonios on February 18, 2013, 11:20:07 am
Βλέπω τώρα τα θέματα 1/10/2012. Το 2ο οκ, αλλά στο 1ο? Αυτό με τις διάφορες τιμές της συχνότητας του ήχου πως το κάνεις?

Δεν θυμάμαι ακριβώς, απλά τα πάντα μπορείς να τα βρεις άνετα μέσα από τα 2 βιβλία.... μόνο φαντασία χρειάζεται.. 8))


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 12:53:55 pm
Σε κάτι θέματα παλιά, ζητείται η ορθή λειτουργία του ΟΚ7485. Τι ακριβως εννοεί κ βασικά τι είναι το ΟΚ7485?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: vamos_89 on February 18, 2013, 15:03:10 pm
ελα σ αυτο με τον ηχο εγω σκεφτηκα πως αφου μας δινει τ συχνοτητα πχ f=8 ουσιαστικα μας δινει τ χρονο τ=1/8 που θελω να ειναι αναμενη η σειρηνα...αρα μεσα το βροχο αναμονης για τ flag bit  του timer κανω sbi portb,0 ωστε να μενει ενεργοποιημενη η σειρηνα μεχρι το tifr να γινει 1 δλδ να εχει γινει η διακοπη δλδ ο χρονος π θελω
στη θεωρια αυτο με τ αυτοκινητο που λεει γ προτεραιοτητες κ τετοια το εκανε κανεις?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 17:22:20 pm
Συμφωνώ με τον τρόπο σκέψης για τις συχνότητες. Απλά, αυτό που σκέφτηκα εγώ είναι: Πχ θέλω ήχο συχνότητας 8Hz, ο οποίος παράγεται από τον χρονιστή από το OC1. Αλλά, το ΟC1, έχει διπλάσια περίοδο από τον TCNT. Άρα, για έξοδο 1/8, ο timer πρέπει να ορίζεται για την μισή περίοδο, δλδ 1/16.
Αυτό ισχύει σίγουρα.

Τώρα για την ερώτηση με το αυτοκίνητο το ψάχνω κ εγώ. Αν γνωρίζει κάποιος άλλος, ας βοηθήσει.
Επίσης,  ποια η απάντηση για
"Ποια τα χαρακτηριστικά του ΜΕ που θα επιλέγατε για κατασκευή ασύρματου κόμβου μέτρησης θερμοκρασίας και υγρασιας?"


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: vamos_89 on February 18, 2013, 17:27:02 pm
κοιτα εγω δεν χρησιμοποιησα το oc1 δλδ δεν εβγαλα κατι στην εξοδο του timer1... δλδ εγραψα:
loop_timer:
sbi portb,0
sbic tifr,ocf1a
rjmp καπου
rjmp loop_timer

για ποιο λογο να χρησιμοποιησω to oc?? δλδ αφου ετσι δεν ενεργοποιω για χρονο 1/8  την σειρηνα?? οσο αυτο για την υγρασια αυτο ψαχνω


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 17:42:15 pm
χμμμ, επειδή λέει ότι τα ηχητικά σήματα παράγονται από τον TCNT1 και τροφοδοτούν ένα μεγάφωνο. Νομίζω εννοεί ότι θέλεις να παράγεις παλμό με τον TCNT1, άρα πρέπει να χρησιμοποιήσεις και το OC1 για την έξοδο, και αυτό ακριβώς είναι το σήμα που στέλνεις στο μεγάφωνο.


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: vamos_89 on February 18, 2013, 17:58:12 pm
λες?? δεν ξερω... εγω το εκανα ετσι...δλδ παλι με αυτον τον τροπο ενεργοποιω την σειρηνα για το χρονο π θελει...


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: CuZ on February 18, 2013, 18:30:47 pm
παιδια.
1. αμα μπορει καποιος να μ απαντησει στην ερωτηση που εχω κανει στο απο κατω thread
2. εχει κανεις επισυναψει τις ερωτησεις θεωριας που εχουν πεσει μεχρι τωρα?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 18:47:47 pm
πιο thread εννοείς?
Για θεωρεία μπορείς να δεις εδώ

https://www.thmmy.gr/smf/index.php?topic=616.msg589048#msg589048 (https://www.thmmy.gr/smf/index.php?topic=616.msg589048#msg589048)

ή από παλιά θέματα που ψάχνεις τις απαντήσεις στις διαφάνειες κ όπου αλλού μπορείς  :D


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: CuZ on February 18, 2013, 19:28:04 pm
οκ τηνχ! μου εγραψε ο vamos στο αλλο!


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: vamos_89 on February 18, 2013, 21:13:50 pm
βρηκε κανεις τις απαντησεις στις θεωρητικες ερωτησεις με το αυτοκινητο και τον ασυρματο κομβο??


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: CuZ on February 18, 2013, 21:34:26 pm
εγω δεν βρηκα κατι!

εχω κολλησει στους ΑDC και σε ασκησεις τις μορφης
για 1-3 να γινεται Α
3-5 να γινεται Β
5-7 να γινεται Γ

πως δουλευω σ αυτες?
περνω το σημα το δειγματοληπτω και μετα τραβαω την τιμη απο τα ΑDCH και ADCL και την συγκρινω?


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 23:24:08 pm
Ερώτηση αυτοκινήτου:

Προφανώς εννοεί αν θα χρησιμοποιήσουμε μέθοδο διακοπών ή σημαιών. Οπότε λέμε ότι για τα μεγέθη που μεταβάλλονται γρήγορα ή είναι κρίσημα για τον έλεγχο της λειτουργίας του αυτοκινήτου, σε αυτά χρησιμοποιούνται διακοπές.
Στα μεγέθη που δεν αλλάζουν γρήγορα ή είναι γενικά δευτερεύουσας σημασίας, αυτα με σημαίες.
Τελικά.
Διακοπές: 1.Λάδια 2. ταχύτητα
Σημαίες: 1.φώτα και 2 θερμοκρασία
με προτεραιότητα όπως τα έβαλα στη σειρά

Ερώτηση  με αύρματο κόμβο:

Ουσιαστικά θέλει όλα εκείνα τα χαρακτηριστικά, του μικροελεγκτή για την ασύρματη συσκευή. ¨οτι έρχετε στην φαντασία σας.

Σίγουρα ως ασύρματη συσκευή, θα απαιτεί λειτουργία με μπαταρία και άρα χαμηλή κατανάλωση. Κατι τέτοιο σημαίνει ότι ο ΜΕ πρέπει να μπορεί να μπει σε sleep mode, για να εξοικονομεί. Επίσης, αυτό σημαίνει ότι τυχόν external events, timers κλπ να μπορούν να κάνουν wake sleep mode αν χρειαστούν να εκτελέσουν κάτι.
Άλλο, ως αισθητήρας θερμοκρασίας, αν δίνει στην έξοδο τάση χρειαζόμαστε και ADC για την μετατροπή κλπ
Και ότι άλλο μπορείτε να σκεφτείτε!





Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 18, 2013, 23:26:48 pm
εγω δεν βρηκα κατι!

εχω κολλησει στους ΑDC και σε ασκησεις τις μορφης
για 1-3 να γινεται Α
3-5 να γινεται Β
5-7 να γινεται Γ

πως δουλευω σ αυτες?
περνω το σημα το δειγματοληπτω και μετα τραβαω την τιμη απο τα ΑDCH και ADCL και την συγκρινω?


Ναι, ακριβώς. Μόλις τελειώνει την μετατροπή ο ADC, αποθηκεύεις σε tempL και tempH τις τιμές του, και ανάλογα τις συγκρίσεις που θέλεις να κάνεις, κάνεις cpi και αντίστοιχη διακλάδωση.
Τις συγκρίσεις μπορείς να τις κάνεις είτε μέσα στο ADC_interupt, είτε έξω στο κυρίως πρόγραμμα. Εγώ γενικά, προτιμάω τον 1ο τρόπο


Title: Re: Θέματα Εξετάσεων-Μικροεπεξεργαστές και Περιφερειακά
Post by: kafeini on February 19, 2013, 00:38:18 am
Στον AVR  εκτός από χρονόμετρα γενικής χρήσης υπάρχουν κ χρονόμετρα με συγκεκριμένη λειτουργία. Ποια είναι αυτά και ποιες οι βασικές του λειτουργίες?

Ξέρει κανείς την απάντηση?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: pap-x on June 16, 2013, 21:11:03 pm
Το watchdog ξέρω δεν θυμάμαι άλλο.

Πολλές φορές βλέπω σε παλιά θέματα ότι δίνει 4 ή 8 ή και 12 αναλογικές εισόδους και λέει σχεδιάστε την διασύνδεση με τον AVR. Πώς το σχεδιάζουμε? Εκτός από τις 8 εισόδους ADC του AVR βάζουμε κάτι άλλο?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Me on September 28, 2013, 16:00:02 pm
Kαμια ιδέα για το pwm του ιουνη?? Η' γενικά για pwm?? :D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MARIOS on January 10, 2014, 20:58:19 pm
Να ρωτήσω κάτι... μέχρι στιγμής σε όλα τα παλιά θέματα που έχω κοιτάξει τις λύσεις δεν έχω καταλάβει πως επιλέγετε ο prescaler


Θα εκτιμούσα αν μου εξηγούσε κάποιος... και αν μου το έδινε και με κάποιο παράδειγμα ακόμη καλύτερα... ευχαριστώ


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: soso on February 04, 2014, 16:19:34 pm
Kαμια ιδέα για το pwm του ιουνη?? Η' γενικά για pwm?? :D

και γω εχω την ιδια απορία. Επίσης, η μέθοδος σημαιών εννοεί τη μέθοδο που χρησιμοποιείτε στα παραδείγματα των ασκήσεων?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: 4Dcube on February 04, 2014, 19:14:48 pm
Ο prescaler είναι ένα ρολόι που τρέχει ενώ τρέχει ένας timer/counter.
Αυτό το ρολόι το σετάρεις ώστε να μεγαλώσει ο timer/counter. Και μόλις το σετάρεις, αρχίζει να δουλεύει και ο timer.
Π.χ. αν σετάρω έναν 8μπιτο timer να τρέχει ως το 255 (το μέγιστο), θα φτάσει στο τέρμα (το 255) σε δέκατα του ms.
Οπότε, αν θέλω μεγαλύτερο χρόνο, π.χ. 50 ms, βάζω τον prescaler του timer στο π.χ. 256 ή και μεγαλύτερο. Άρα τώρα έχω timer που θα χρονομετρεί (δέκατα του ms)*256 το οποίο μπορεί να είναι αρκετά ms.
Για να πετύχεις ακριβώς τους χρόνους, γράφει λεπτομέρειες στο datasheet του εκάστοτε avr.




edit: μέθοδος σημαιών=polling περίπου. Αλλά για avr είναι το ίδιο.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: soso on February 05, 2014, 09:10:12 am
Ευχαριστώ φίλε αλλά , αυτά είναι γενικά για timers. Το θέμα λέει "Η βάνα παροχής νερού ενεργοποιείται από ρελε. Η αντίσταση θέρμανσης τροφοδοτείται από σήμα PWM που παράγεται από τον TCNT1. Στο πρώτο sec λειτουργείας τους duty cycle είναι 50%, στο 2ο 30% και στη συνέχεια παραμένει σταθερό στο 15%. Η περίοδος παλμού PWM είναι 20ms" (θέμα 2, Ιουνίου 2013).

Και η απορία μου είναι πως θα βάλω σε χ% το PWM.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Neal on February 05, 2014, 09:30:18 am
Δες στο βιβλίο που παίρνουμε για τα μίκρο 2 τις σελίδες 106-107 για να καταλάβεις τι είναι το duty cycle (T1/T). Από κει και πέρα σύμφωνα με τον πίνακα για τα WGM1x μπορείς να επιλέξεις (WGM13,WGM12,WGM11,WGM10) = (1,0,0,1) (Phase and Frequency correct PWM) και να θέσεις το TOP του counter (δηλαδή το M που αναφέρει στο βιβλίο) μέσω το OCR1A. Έπειτα υπολογίζεις τους χρόνους και θέτεις ανάλογα το OCR1B.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: soso on February 05, 2014, 14:30:31 pm
Ποιο βιβλίο παίρνετε για τα μίκρο 2?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Neal on February 05, 2014, 16:19:37 pm
http://i.imgur.com/mTOGNEl.jpg
http://i.imgur.com/2d5TBwI.jpg


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: TTL on June 20, 2014, 14:08:22 pm
σχετικα με τα θεματα οκτωμβρη 2012 αλλα και γενικοτερα με την παραγωγη PWM...
Μας ζητειται υπο καποιες προυποθεσεις να στειλουμε σε ενα μεγαφωνο σημα συχνοτητας 8khz, 4khz κτλπ.
Με το PWM μπορουμε να βγαλουμε ομως μονο τετραγωνικους παλμους και οχι ημιτονα. Θεωρειται σωστη λυση να οδηγεις μεγαφωνο με παλμους στην επιθυμητη συχνοτητα;
Επισης οκ η συχνοτητα να ειναι τα δε hz, αλλα το duty cycle τι ρολο βαραει; Αφου η περιοδος και αρα η συχνοτητα θα ειναι η ιδια ειτε παρω duty cycle 1/10 ειτε 5/10 κ.ο.κ...

Επισης πανω στο συγκεκριμενο θεμα δεν καταλαβαινω τι εννοει οτι χρησιμοποιουμε μεθοδο σημαιων... Προσωπικα θεωρησα οτι αντι ο ADC να κανει διακοπη οταν τελειωνει το conversion εμεις θα απενεργοποιησουμε τη διακοπη του και απλα θα διαβαζουμε σε ατερμων βροχο το Bit που δειχνει οτι εγινε η μετατροπη ( του καταχωρητη adcsra ). Αλλα δεν ειμαι πεισμενος οτι οντως αυτο εννοει....καμια ιδεα;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Nerevar on June 20, 2014, 14:16:28 pm
σχετικα με τα θεματα οκτωμβρη 2012 αλλα και γενικοτερα με την παραγωγη PWM...
Μας ζητειται υπο καποιες προυποθεσεις να στειλουμε σε ενα μεγαφωνο σημα συχνοτητας 8khz, 4khz κτλπ.
Με το PWM μπορουμε να βγαλουμε ομως μονο τετραγωνικους παλμους και οχι ημιτονα. Θεωρειται σωστη λυση να οδηγεις μεγαφωνο με παλμους στην επιθυμητη συχνοτητα;
Επισης οκ η συχνοτητα να ειναι τα δε hz, αλλα το duty cycle τι ρολο βαραει; Αφου η περιοδος και αρα η συχνοτητα θα ειναι η ιδια ειτε παρω duty cycle 1/10 ειτε 5/10 κ.ο.κ...

Επισης πανω στο συγκεκριμενο θεμα δεν καταλαβαινω τι εννοει οτι χρησιμοποιουμε μεθοδο σημαιων... Προσωπικα θεωρησα οτι αντι ο ADC να κανει διακοπη οταν τελειωνει το conversion εμεις θα απενεργοποιησουμε τη διακοπη του και απλα θα διαβαζουμε σε ατερμων βροχο το Bit που δειχνει οτι εγινε η μετατροπη ( του καταχωρητη adcsra ). Αλλα δεν ειμαι πεισμενος οτι οντως αυτο εννοει....καμια ιδεα;

Στο powerpoint αρχείο για τους timers δες το slide 86.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: TTL on June 20, 2014, 15:08:49 pm
χμμ ωραια  ευχαριστω! Εν ολιγοις αρκει να βγαλουμε τετραγωνικο παλμο στη σωστη συχνοτητα απο κει και περα δεν μας αφορα ( στα πλαισια της ασκησης ).


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Cr0ne on June 20, 2014, 23:48:29 pm
Guys Ιούνιος 2010, 3ο θέμα: i.imgur.com/KdT3h5f.png (http://i.imgur.com/KdT3h5f.png)

Λέει: Όπου στα PORTA0, PORTA1, PORTA2 συνδέονται διακόπτες με το ένα άκρο τους γειωμένο...

Αυτή την πληροφορία την χρησιμοποιούμε κάπου?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Grecs on June 21, 2014, 00:51:00 am
Δες απο τα I/O ports απο το ethmmy και σελιδα 44 εχει την θεωρια.

Χονδρικα σημαινει ανοιχτος διακοπτης 1
κλειστος διακοπτης 0.

Αλλα δες την θεωρια μηπως πρεπει να το ρυθμισεις για να δουλευει ετσι γιατι δεν θυμαμαι παει καιρος που το περασα.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nohponex on June 21, 2014, 01:09:26 am
Guys Ιούνιος 2010, 3ο θέμα: i.imgur.com/KdT3h5f.png (http://i.imgur.com/KdT3h5f.png)

Λέει: Όπου στα PORTA0, PORTA1, PORTA2 συνδέονται διακόπτες με το ένα άκρο τους γειωμένο...

Αυτή την πληροφορία την χρησιμοποιούμε κάπου?

Πρέπει να είναι το ίδιο με αυτό εδώ :
https://www.thmmy.gr/smf/index.php?topic=54630.msg1033338#msg1033338

Δουλεύει δλδ με τη λογική που λεει ο  Grecs.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Cr0ne on June 21, 2014, 01:13:50 am
Δες απο τα I/O ports απο το ethmmy και σελιδα 44 εχει την θεωρια.

Χονδρικα σημαινει ανοιχτος διακοπτης 1
κλειστος διακοπτης 0.

Αλλα δες την θεωρια μηπως πρεπει να το ρυθμισεις για να δουλευει ετσι γιατι δεν θυμαμαι παει καιρος που το περασα.

Ναι δηλαδή, απλώς ότι δίνουν ένα σήμα 0 ή 1 το οποίο λόγο ανάστροφης λογικής πάει όπως είπες. Δεν σημαίνει ότι πρέπει να κάνουμε κάποιο setup σε register (π.x το pull-up resistor bit που δεν έχω ιδέα τι ρόλο βαράει) right?

Edit:

Πρέπει να είναι το ίδιο με αυτό εδώ :
https://www.thmmy.gr/smf/index.php?topic=54630.msg1033338#msg1033338

Δουλεύει δλδ με τη λογική που λεει ο  Grecs.

Edit: Α δηλαδή είναι το pull-up pin, οκ θα το δω.
Edit2: Βασικά μάλλον είναι μόνο το γεγονός ότι έχεις αρνητική λογική και τπτ άλλο.

thx guys


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Παναγιώτης on June 21, 2014, 15:38:07 pm
Για θεωρία, διαβάζουμε παλιά θέματα (ερωτήσεις θεωρίας) ελπίζοντας να πέσει κάτι κατανοητό/παρόμοιο, ή διαβάζουμε όλη τη θεωρία με αίμα και ιδρώτα??


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Nerevar on June 21, 2014, 16:17:39 pm
Για θεωρία, διαβάζουμε παλιά θέματα (ερωτήσεις θεωρίας) ελπίζοντας να πέσει κάτι κατανοητό/παρόμοιο, ή διαβάζουμε όλη τη θεωρία με αίμα και ιδρώτα??

Επειδή έχουν μείνει μόνο 2 ημέρες μέχρι την εξέταση,θα πρότεινα παλιά θεμάτα και όποια απάντηση δεν ξέρεις να την ψάχνεις στα pdfs.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nivakos on June 21, 2014, 19:10:11 pm
Στο δευτερο θέμα του Ιουνίου 13 με ποιον τύπο υπολογίζουμε το επιθυμητό prescale αν χρησιμοποιήσουμε fast pwm? Τον foc=fclk/N*256 όπου Ν το prescale?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Silvo the Beautiful on June 21, 2014, 22:19:50 pm
Γιατί χρησιμοποιήσες fast PWM? Αν πάρουμε Fast PWM βρήκαμε ότι χωρίς prescaler φτάνουμε έχουμε περίοδο 16ms το οποίο εισάγει μεγάλο σφάλμα!
Το υπολογίσαμε βρίσκοντας ότι ένας κύκλος μηχανής γίνεται σε 0.25μs. Άρα πολλαπλασιάσαμε το 0.25 με την τιμή 65535 ( για 16bit καταχωρητή) και διαιρέσαμε με 1.000.000 για να βγάλουμε sec!! Μετά δοκιμάσαμε με prescaler και χωρίς να δούμε που είνια πιο κοντά η τιμή των 20ms. Βρήκαμε οτι με 2 είναι 32 και με καθόλου 16 :/

Αν βάλουμε Phase correct μπορεί να βρούμε άλλη τιμή;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Silvo the Beautiful on June 22, 2014, 13:06:34 pm
Στο PWM θέλουμε να έχουμε ενεργοποιημένα τα interrupts?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: TTL on June 22, 2014, 13:48:36 pm
στο θέμα του 13 με τις μετρησεις απο τα 8 καναλια τι παιζει;...πως μπορουμε να βγαλουμε μεση τιμη απο τη στιγμη που δεν υπαρχει εντολη διαιρεσης; ( τουλαχιστον εγω δε βρηκα καμια στο Instruction set του βιβλιου ). Επισης, αμα παιρνουμ 2.5k δειγματα ανα sec τοτε σε καθε 15 sec που πρεπει να βγαλουμε μεση τιμη θα προστεθουν 37500 δειγματα που ειναι πιθανο να κανουν overflow ακομα και αν πεταω το αθροισμα σε 16 bit ( 2 καταχωρητες ). Αρα μηπως θελω 3;
Και ενα τελευταιο...μας ζητειται ουσιαστικα ο adc να κανει διακοπη στην οποια πεταει παλμο (καπου;) και αυτος ο παλμος καλει αλλη διακοπη; γιατι να μην κανουμε απλα Overflow καθε 15 sec;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: vasl12 on June 22, 2014, 14:08:03 pm
Δεν υπάρχει στον πίνακα με τα pwm,  fast pwm με top 65535.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: vasl12 on June 22, 2014, 14:10:58 pm
Στο PWM θέλουμε να έχουμε ενεργοποιημένα τα interrupts?

Δε νομίζω να χρειάζεται στην περίπτωσή μας να είναι ενεργοποιημένα.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Silvo the Beautiful on June 22, 2014, 14:14:13 pm
Τελικά καταλήξαμε ότι μάλλον δεν είναι ενεργοποιημένα

στο mode 14,15 έχει fast PWM με καταχωρητές ICRn ή OCRnA για TOP. Όποτε το ΤOP μου μπορεί να φτάσει το 65535 αφού ειναι 16bit καταχωρητές.
(Datasheet  σελ135)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: epi on June 22, 2014, 16:12:03 pm
Στα θέματα του Φεβρουαρίου 2013 σε αυτό με τον ADC έχει νιώσει κανεις τι ακριβώς εννοεί?

Ο ADC παιρνει μετρήσεις απο 8 σημεία συνέχεια? Και θα τις αποθηκεύει στη Ραμ πχ? Και όταν έρθει η διακοπή τι κανει σταματάει τον ADC.? (Δεν πολύ καταλαβαίνω έτσι το οτι τα σημεία είναι 8 πως επηρεάζει.)

  Και μετα που ζητάει μέση ισχύ λεπτού θέλει να ξέρουμε ποιοες μετρήσεις έγιναν στο τελευταιο λεπτο και απο αυτές να βγάζουμε μέσο ορο?

 :(


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: vasl12 on June 22, 2014, 16:30:00 pm
Τελικά καταλήξαμε ότι μάλλον δεν είναι ενεργοποιημένα

στο mode 14,15 έχει fast PWM με καταχωρητές ICRn ή OCRnA για TOP. Όποτε το ΤOP μου μπορεί να φτάσει το 65535 αφού ειναι 16bit καταχωρητές.
(Datasheet  σελ135)

και με το duty cycle τι κανεις? δεν ειναι OCR/TOP αρα στην περιπτωση σου 1?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 22, 2014, 16:48:10 pm
Τελικά καταλήξαμε ότι μάλλον δεν είναι ενεργοποιημένα

στο mode 14,15 έχει fast PWM με καταχωρητές ICRn ή OCRnA για TOP. Όποτε το ΤOP μου μπορεί να φτάσει το 65535 αφού ειναι 16bit καταχωρητές.
(Datasheet  σελ135)

και με το duty cycle τι κανεις? δεν ειναι OCR/TOP αρα στην περιπτωση σου 1?

Στο mode 14 το ICR1 δηλώνει το TOP σου, οπότε το OCR1A είναι ελεύθερο να χρησιμοποιηθεί σαν CMP. Έτσι το TCNT1 θα ξεκινήσει να απαριθμεί από bottom(0) μέχρι το TOP(την τιμή του ICR1A). Το OC1 είναι 1 από bottom μέχρι το cmp και 0 από cmp μέχρι top. To OC1 είναι η τιμή του παλμού μας.

Συγκεκριμένα:
θέλουμε Τ=20 ms => f=1/(20 ms)
από τον τύπο του fast PWM για συχνότητα έχουμε :
f = fclk/(N*(1+top)) =>πραξεις=> N*(1+TOP) = 80000 (για 20 ms περίοδο και 4 MHZ proc)

Γενικά όσο μικρότερο prescaler τόσο καλύτερα. Για N=1 δεν μου φτάνουν τα bit(2^16=65535). Οπότε παίρνω Ν=8.

Για Ν=8 το TOP μας είναι 9999
=>
βάζω το 9999 στον καταχωρητή ICR1

Τώρα για να έχω duty cycle στο 50% θέλω να αλλάζει το OC1 στην τιμή 9999/2 ~= 4999
άρα βάζω την 4999 στον OC1A. Παρόμοια, για το 2ο sec θέλω 30% duty cycle => 9999*0.3 κλπ κλπ.

Αυτός ήταν ο συλλογισμός μας. Ο μόνος προβληματισμός μας είναι ότι στο βιβλίο λέει ότι ο ICR1 μπορεί μόνο να διαβαστεί. Το βιβλίο βέβαια αναφέρεται σε διαφορετική έκδοση AVR, αλλά ακόμη και να ισχύει αυτό είναι πιθανόν να μπορούμε να το ξεπεράσουμε εννόνωντας τα pin του ICR1 με κάποια Pin εξόδου και να εξάγουμε εκεί τιμές?
 


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 22, 2014, 17:22:30 pm
Στα θέματα του Φεβρουαρίου 2013 σε αυτό με τον ADC έχει νιώσει κανεις τι ακριβώς εννοεί?

Ο ADC παιρνει μετρήσεις απο 8 σημεία συνέχεια? Και θα τις αποθηκεύει στη Ραμ πχ? Και όταν έρθει η διακοπή τι κανει σταματάει τον ADC.? (Δεν πολύ καταλαβαίνω έτσι το οτι τα σημεία είναι 8 πως επηρεάζει.)

  Και μετα που ζητάει μέση ισχύ λεπτού θέλει να ξέρουμε ποιοες μετρήσεις έγιναν στο τελευταιο λεπτο και απο αυτές να βγάζουμε μέσο ορο?

 :(


Καλημέρα,
στο συγκεκριμένο θέμα αυτό που σκεφτήκαμε είναι ότι ο ADC μετράει τιμές συνέχεια (2.5 ksample/sec).

Στην αρχή μετράει τιμές από την τοποθεσία 1, σε 15 sec έχουμε ένα Interrupt από τον timer 1 και αλλάζουμε την τοποθεσία στην τοποθεσία 2 κλπ κλπ. Η τοποθεσίες 1,2 .... είναι τα αντίστοιχα mux για pinakia 0-7.

Κάθε φορά που ο adc μετατρέπει μία τιμή στέλνει 1 adc interrupt μέσω του οποίου εμείς προσθέτουμε όλες τις τιμές για κάθε τοποθεσία . Το συνολικό άθροισμα θα μας δίνει την τιμή της κατανάλωσης ισχύος κάθε τοποθεσίας ανά 15 sec(Έστω Μ.Τ.x/15 όπου x=1,2,....)

Έτσι στο τέλος θα έχουμε 8 μέσες τιμές ανά 15 sec για κάθε τοποθεσία. Για να πάρουμε την συνολική μέση τιμή ανά 1 λεπτό προσθέτουμε όλα τα M.T.x, διαιρούμε με 8(8 τοποθεσίες) και πολλαπλασιάζουμε με 4(για να γίνει κατανάλωση ισχύος ανά λεπτό). Ουσιαστικά προσθέτουμε όλες τις τιμές και διαιρούμε με 2.

Πως σου φαίνεται? Είναι το μόνο λογικό που σκεφτήκαμε.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 22, 2014, 17:24:27 pm
Γενικά είμαστε βιβλιοθήκη ηλεκτρολόγων και λύνουμε θέματα οπότε όποιος θέλει ας έρθει να βοηθηθούμε όλοι μαζί  ;) :D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Sage on June 22, 2014, 18:15:32 pm
Όπως τα λύνετε δεν ανεβάζετε και καμιά καθαρή λύση με φωτό;;  ::)
(ειδικά για του 2013)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Silvo the Beautiful on June 22, 2014, 18:43:53 pm
το θέμα είναι να μην ανεβάζουμε βλακείες όμως.. Και τώρα είδαμε ότι παλιότερα για το θέμα του PWM ο neal είχε γράψει οτι χρησιμοποιεί το mode 9 κάνοντας compare με τον OCR1B στην άνοδο και στην πτώση.

Τότε ίσως το πιο σωστό είναι να πάρουμε το mode 15 για να κάνουμε μία σύγκριση στο OCR1B! Το θέμα είναι μετά πως μετράμε πόσοι πέρασαν για να αλλάζουμε το duty cycle

Και έτσι ίσως δεν χρειάζεται να βάζουμε ιντεραπτ στο ICR και τιμή! :/


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: epi on June 22, 2014, 19:05:00 pm

Πως σου φαίνεται? Είναι το μόνο λογικό που σκεφτήκαμε.

Ναι όντως έτσι όπως τα λες βγάζει νόημα. Ευχαριστω για την αναλυτική εξήγηση. Θα πιασω να το λύσω αργότερα. Όταν φτάσεις στο λεπτό μηδενιζεις τους μεσους όρους και παλι απο την αρχή? Επίσης λεπτομέρεια αλλά νμζ υπάρχει η πιθανότητα να μην φτάνουν 16 bit για τα αθροίσματα.

Ρε όμως τώρα σοβαρά είναι θέμα αυτό που λύνεται σε 1+ ωρα που θα εχεις στην εξέταση?? Μήπως έχουμε ξεφυγει λίγο?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: vasl12 on June 22, 2014, 19:09:09 pm
Όπως τα λύνετε δεν ανεβάζετε και καμιά καθαρή λύση με φωτό;;  ::)
(ειδικά για του 2013)

ανεβαστε μια του 2013 τσακαλια 8))


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 22, 2014, 19:23:30 pm
Όταν φτάσεις στο λεπτό μηδενιζεις τους μεσους όρους και παλι απο την αρχή?
Όχι, θέλεις τον μέσο όρο όλων των τοποθεσιών. Σε 1 λεπτό έχεις μετρήσει μόνο τις τοποθεσίες 1-4.

Επίσης λεπτομέρεια αλλά νμζ υπάρχει η πιθανότητα να μην φτάνουν 16 bit για τα αθροίσματα.
Αυτό είναι και η ανησυχία μας, για την ακρίβεια θέλει 4 registers=32 bit για το άθροισμα κάθε τοποθεσίας αν θεωρήσουμε το worst case scenario ότι η τιμές κάθε μέτρησης είναι 1023(2^10-1)

Ρε όμως τώρα σοβαρά είναι θέμα αυτό που λύνεται σε 1+ ωρα που θα εχεις στην εξέταση?? Μήπως έχουμε ξεφυγει λίγο?
Αν δεν είχες δει ποτέ κάποιο παρόμοιο θέμα θα ήθελες τουλάχιστον 2-3 ώρες για το συγκεκριμένο. Τώρα άμα έχεις λύσει 2-3 παρόμοια και ο Πέτρου διευκρίνιζε στην τάξη αυτά στα οποία εμείς με μπόλικη φαντασία καταλήξαμε θα μπορούσε να λυθεί σε 1 ώρα αλλά πολύ τσίμα τσίμα.
Δεν νιώθεις περήφανος ηλεκτρολόγος?!?!?!
Εγώ πάντως όχι :P 


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: TTL on June 22, 2014, 19:51:43 pm
1ον θα είστε και αύριο πρωι βιβλιοθήκη ηλεκτρολόγων για θέματα;
2ον κάπου αναφέρθηκε ότι παίρνουμε μετρήσεις και διαιρούμε με το 15 για μέση τιμή. Με ποια εντολή θα γίνει αυτή τη διαίρεση;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: vasl12 on June 22, 2014, 19:56:59 pm
Mήπως ξέρετε τι ακριβώς πρέπει να κάνουμε όταν ζητάει να σχεδιάσουμε το κύκλωμα διασύνδεσης?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nohponex on June 22, 2014, 20:14:48 pm
Mήπως ξέρετε τι ακριβώς πρέπει να κάνουμε όταν ζητάει να σχεδιάσουμε το κύκλωμα διασύνδεσης?

Να κανεις ενα ορθογώνιο για το AVR και να γράψεις τα port και τα pin που έχεις,
τα συνδέσεις με τα εξωτερικά στοιχειά που χρειάζονται πχ διακόπτες, τα led ή άλλα κυκλώματα,  γράφοντας στο κάθε στοιχείο το όνομα του.  


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: vasl12 on June 22, 2014, 20:17:58 pm
Mήπως ξέρετε τι ακριβώς πρέπει να κάνουμε όταν ζητάει να σχεδιάσουμε το κύκλωμα διασύνδεσης?

Να κανεις ενα ορθογώνιο για το AVR και να γράψεις τα port και τα pin που έχεις,
τα συνδέσεις με τα εξωτερικά στοιχειά που χρειάζονται πχ διακόπτες, τα led ή άλλα κυκλώματα,  γράφοντας στο κάθε στοιχείο το όνομα του.  

να σαι καλα:)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 22, 2014, 20:43:12 pm
1ον θα είστε και αύριο πρωι βιβλιοθήκη ηλεκτρολόγων για θέματα;
Nai.

2ον κάπου αναφέρθηκε ότι παίρνουμε μετρήσεις και διαιρούμε με το 15 για μέση τιμή. Με ποια εντολή θα γίνει αυτή τη διαίρεση;
Πολλαπλασιάζεις δεν διαιρείς.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 22, 2014, 20:51:11 pm
2ο Ιουνίου 2013

tirourirou

https://www.dropbox.com/s/akrkzjnko3e1dds/Camera.rar


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nohponex on June 22, 2014, 21:42:23 pm
Φεβρουάριος 2013, Θέμα 3 :
https://gist.github.com/NohponeX/6dc412858b9006e14ed2#file-thema3-asm





2ο Ιουνίου 2013

tirourirou

https://www.dropbox.com/s/akrkzjnko3e1dds/Camera.rar
Μου το βγάζει damaged το αρχείο :-[ :-[


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Silvo the Beautiful on June 22, 2014, 21:53:30 pm
περιεργο εμενα ανοιγει κανονικα... και δεν ειμαι και στην ιδια συνδεση αν φταιει τιποτα τετοιο


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nohponex on June 22, 2014, 23:56:05 pm
[..]

Καλημέρα,
στο συγκεκριμένο θέμα αυτό που σκεφτήκαμε είναι ότι ο ADC μετράει τιμές συνέχεια (2.5 ksample/sec).

Στην αρχή μετράει τιμές από την τοποθεσία 1, σε 15 sec έχουμε ένα Interrupt από τον timer 1 και αλλάζουμε την τοποθεσία στην τοποθεσία 2 κλπ κλπ. Η τοποθεσίες 1,2 .... είναι τα αντίστοιχα mux για pinakia 0-7.

Κάθε φορά που ο adc μετατρέπει μία τιμή στέλνει 1 adc interrupt μέσω του οποίου εμείς προσθέτουμε όλες τις τιμές για κάθε τοποθεσία . Το συνολικό άθροισμα θα μας δίνει την τιμή της κατανάλωσης ισχύος κάθε τοποθεσίας ανά 15 sec(Έστω Μ.Τ.x/15 όπου x=1,2,....)

Έτσι στο τέλος θα έχουμε 8 μέσες τιμές ανά 15 sec για κάθε τοποθεσία. Για να πάρουμε την συνολική μέση τιμή ανά 1 λεπτό προσθέτουμε όλα τα M.T.x, διαιρούμε με 8(8 τοποθεσίες) και πολλαπλασιάζουμε με 4(για να γίνει κατανάλωση ισχύος ανά λεπτό). Ουσιαστικά προσθέτουμε όλες τις τιμές και διαιρούμε με 2.

Πως σου φαίνεται? Είναι το μόνο λογικό που σκεφτήκαμε.

Αφού έχουμε 2.5k δείγματα ανα sec

σε 15 sec έχουμε 15*2.5k δείγματα συνολικά
ο μέσος όρος ανά 15 1sec του ενός καναλιού είναι => sum/( 15 * 2500 * 8 )

όπου sum το άθροισμα που έχουμε από όλα τα δείγματα που μετρήσαμε σε αυτά τα 15sec.

ανά 1 λεπτό  => (sum*60)/( 15 * 2500 * 8 ) => sum/5000

Δεν νομίζω να κάνα κάνα λάθος τώρα ( αν κάνω φταίει η κούραση :P )

[edit μαλλον καλα λες ειναι ανα sec όχι ανα 15 sec οποτε *60]


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 23, 2014, 00:10:57 am
[..]

Καλημέρα,
στο συγκεκριμένο θέμα αυτό που σκεφτήκαμε είναι ότι ο ADC μετράει τιμές συνέχεια (2.5 ksample/sec).

Στην αρχή μετράει τιμές από την τοποθεσία 1, σε 15 sec έχουμε ένα Interrupt από τον timer 1 και αλλάζουμε την τοποθεσία στην τοποθεσία 2 κλπ κλπ. Η τοποθεσίες 1,2 .... είναι τα αντίστοιχα mux για pinakia 0-7.

Κάθε φορά που ο adc μετατρέπει μία τιμή στέλνει 1 adc interrupt μέσω του οποίου εμείς προσθέτουμε όλες τις τιμές για κάθε τοποθεσία . Το συνολικό άθροισμα θα μας δίνει την τιμή της κατανάλωσης ισχύος κάθε τοποθεσίας ανά 15 sec(Έστω Μ.Τ.x/15 όπου x=1,2,....)

Έτσι στο τέλος θα έχουμε 8 μέσες τιμές ανά 15 sec για κάθε τοποθεσία. Για να πάρουμε την συνολική μέση τιμή ανά 1 λεπτό προσθέτουμε όλα τα M.T.x, διαιρούμε με 8(8 τοποθεσίες) και πολλαπλασιάζουμε με 4(για να γίνει κατανάλωση ισχύος ανά λεπτό). Ουσιαστικά προσθέτουμε όλες τις τιμές και διαιρούμε με 2.

Πως σου φαίνεται? Είναι το μόνο λογικό που σκεφτήκαμε.

Αφού έχουμε 2.5k δείγματα ανα sec

σε 15 sec έχουμε 15*2.5k δείγματα συνολικά
ο μέσος όρος ανά 15 sec του ενός καναλιού είναι => sum/( 15 * 2500 * 8 )

όπου sum το άθροισμα που έχουμε από όλα τα δείγματα που μετρήσαμε σε αυτά τα 15sec.

ανά 1 λεπτό  => (sum*4)/( 15 * 2500 * 8 ) => sum/75000

Δεν νομίζω να κάνα κάνα λάθος τώρα ( αν κάνω φταίει η κούραση :P ) 

Ζητάει την μέση τιμή κατανάλωσης ισχύος λεπτού. Σε 15 δευτερόλεπτα έχουμε 15*2500 δείγματα. Αυτά τα δείγματα καταναλώνουν συνολικά σε 15 δευτερόλεπτα sum(όπου sum to άθροισμα των δειγμάτων 1 τοποθεσίας) wat. Άρα σε 1 λεπτό θα καταναλώνουν 4*sum wat.

Έτσι όπως το λες εσύ είναι σαν να μετράς τον μέσο όρο των μετρήσεων ισχύων σε 15 sec , και μετά το πολλαπλασιάζεις αυτό επί 4 (δηλαδή 4πλασιάζεις τον μέσο όρο της ισχύς που βρήκες που δεν έχει πολύ νόημα).

Αν θες 'έλα αύριο από βιβλιοθήκη να το συζητήσουμε μετά από εναν δυνατό καφέ και έναν καλό ύπνο.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nohponex on June 23, 2014, 03:08:09 am
Νομίζω είναι οκ τώρα  ::)

Φεβρουάριος 2013, Θέμα 2 :
https://gist.github.com/NohponeX/6dc412858b9006e14ed2#file-thema2-asm


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 23, 2014, 09:28:53 am
Νομίζω είναι οκ τώρα  ::)

Φεβρουάριος 2013, Θέμα 2 :
https://gist.github.com/NohponeX/6dc412858b9006e14ed2#file-thema2-asm

 ldi temp, 0b11001111; ADEN => 1, ADCS => 1, ADATE => 0, ADIF => 0, ADIE => 1, ADSP => 111 ( ADC prescaler : 128 )

Θέλουμε free running mode άρα το 3ο bit 1, ΠΡΟΣΟΧΗ στο βιβλίο είναι ADATE αλλά στον AVR που χρησιμοποιούμε είναι ADFR (free running mode).


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Ex_Mechanus on June 23, 2014, 15:03:03 pm
2ο Ιουνίου 2013

tirourirou

https://www.dropbox.com/s/akrkzjnko3e1dds/Camera.rar

mallon einai corrupt to rar, den anoigei

μάλλον είναι corrupt το rar,δεν ανοίγει.

Oχι greeklish.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Tius on June 23, 2014, 15:52:33 pm
2ο Ιουνίου 2013

tirourirou

https://www.dropbox.com/s/akrkzjnko3e1dds/Camera.rar

mallon einai corrupt to rar, den anoigei

μάλλον είναι corrupt το rar,δεν ανοίγει.

Oχι greeklish.

Έχεις δίκιο, δεν ξέρω τι φταίει ¨(


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 18, 2014, 18:48:15 pm
Υπάρχει περίπτωση να έχει κάποιος μαζεμένες ερωτήσεις/απαντήσεις θεωρίας και να θέλει να τις μοιραστεί;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: adianohtos on September 23, 2014, 12:54:16 pm
Υπάρχει περίπτωση να έχει κάποιος μαζεμένες ερωτήσεις/απαντήσεις θεωρίας και να θέλει να τις μοιραστεί;

Καποιος;;;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Earendil on September 08, 2015, 20:41:37 pm
Στα θεματα Ιουνιου '15 εχει κανεις ιδέα πως δουλευουμε στο Θεμα 2? Γιατι μας δινει αποστασεις και ταχυτητα?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: TrueForce on September 08, 2015, 20:56:25 pm
Υπάρχει περίπτωση να έχει κάποιος μαζεμένες ερωτήσεις/απαντήσεις θεωρίας και να θέλει να τις μοιραστεί;

Καποιος;;;
https://www.thmmy.gr/smf/index.php?topic=62899.30

υπαρχουν και στα downloads


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 18, 2016, 18:26:19 pm
Για τον ADC  έστω ότι έχουμε συχνότητα ADC = 125KHz.

Τότε η συχνότητα μετατροπής πώς προκύπτει 9600 δείγματα/sec  ;  (βιβλίο σελίδα 136)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 18, 2016, 20:30:24 pm
Για τον ADC  έστω ότι έχουμε συχνότητα ADC = 125KHz.

Τότε η συχνότητα μετατροπής πώς προκύπτει 9600 δείγματα/sec  ;  (βιβλίο σελίδα 136)
O ADC θέλει 13 κύκλους να κάνει μία μετατροπή οπότε 125*103/13≈9600
Πιο αναλυτικά στο slide 89 στο adc.ppt


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 18, 2016, 21:51:43 pm
O ADC θέλει 13 κύκλους να κάνει μία μετατροπή οπότε 125*103/13≈9600
Πιο αναλυτικά στο slide 89 στο adc.ppt

Μπερδευομουν γιατί έλεγε πως η πρώτη μετατροπή θέλει 25κμ. Και νόμιζα πως την έπαιρνε και αυτή υπόψιν.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 18, 2016, 21:54:11 pm
Noobικη ερώτηση:
Πολλές φορές βάζει θέμα με "τόσα σήματα A-D (τύπου ON - OFF)". Τι ακριβώς σήματα είναι αυτά;
Είναι αναλογικά που άμα είναι κάτω από μία στάθμη είναι 0 αλλιώς 1; Δηλαδή πως τα διαβάζουμε;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 18, 2016, 21:58:43 pm
Μπερδευομουν γιατί έλεγε πως η πρώτη μετατροπή θέλει 25κμ. Και νόμιζα πως την έπαιρνε και αυτή υπόψιν.

Είναι πιο σωστό να την λάβεις υπόψιν αλλά έτσι και αλλιώς κάνει μικρή διαφορά.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 19, 2016, 10:39:28 am
Είναι πιο σωστό να την λάβεις υπόψιν αλλά έτσι και αλλιώς κάνει μικρή διαφορά.

Ευχαριστώ φίλε μου!

Επίσης σε ερώτηση του τύπου: "Σχεδιάστε το  σύστημα διασύνδεσης του AVR με έναν DAC των 12bit." Τι ακριβώς πρέπει να σχεδιάσουμε; Στις διαφάνειες έχει 100 σχήματα!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 19, 2016, 15:42:35 pm
Στα θεματα Ιουνιου '15 εχει κανεις ιδέα πως δουλευουμε στο Θεμα 2? Γιατι μας δινει αποστασεις και ταχυτητα?

Λογικά την ταχύτητα μας την δίνει για να ρυθμίσουμε τον timer από τη στιγμή που θα ενεργοποιηθεί το φωτοκύταρρο. Αν το αντικείμενο είναι μεγαλύτερο απο 0.25m τότε θα κάνει πάνω απο 1 sec. Oπότε αν θε΄λουμε να είναι κάτω απο 0.20m πρέπει να κάνει κάτω απο 0.2/0.25 =0.8 sec.

Αλλά δεν μπορώ να καταλάβω γιατί μας δίνει την απόσταση του ρελαί από το φωτοκύταρρο...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 20, 2016, 18:24:20 pm
Θέμα 2ο Φεβρουάριος του 13:
Ζητάει να υπολογιστεί με πλήρη ακρίβεια η μέση τιμή κατανάλωσης ηλεκτρικής ισχύος λεπτού.
Με prescaling στον ADC=128 έχουμε 36057 samples στα 15 sec το οποίο σημαίνει 4507 samples ανά channel (με την εξαίρεση του 1ου channel που έχει 4508 samples - #υπερβολικό).
Επίσης επειδή το λεπτό ισούται με 4*15 sec τελικά πρέπει να κάνουμε την πράξη 4*sum/36057.
Πως γίνεται αυτή η διαίρεση με πλήρη ακρίβεια;  :-\

edit: Solved :P http://www.tofla.iconbar.com/tofla/arm/arm02/index.htm


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nvog1993 on June 20, 2016, 18:48:15 pm
Θέμα 2ο Φεβρουάριος του 13:
Ζητάει να υπολογιστεί με πλήρη ακρίβεια η μέση τιμή κατανάλωσης ηλεκτρικής ισχύος λεπτού.
Με prescaling στον ADC=128 έχουμε 36057 samples στα 15 sec το οποίο σημαίνει 4507 samples ανά channel (με την εξαίρεση του 1ου channel που έχει 4508 samples - #υπερβολικό).
Επίσης επειδή το λεπτό ισούται με 4*15 sec τελικά πρέπει να κάνουμε την πράξη 4*sum/36057.
Πως γίνεται αυτή η διαίρεση με πλήρη ακρίβεια;  :-\

edit: Solved :P http://www.tofla.iconbar.com/tofla/arm/arm02/index.htm
Τα samples δεν παίζουν κάποιο ρόλο πέρα από την επιλογή του κατάλληλου prescaler. Από κει και ύστερα, αν κατάλαβα καλά, αυτό που σου ζητάει είναι να αθροίσεις τα 8 σήματα που παίρνεις για κάθε 15s και έπειτα να τα διαιρέσεις με το 4.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: DarkPassenger on June 20, 2016, 19:16:31 pm
όταν στα θέματα λέει "η επικοινωνία γίνεται με τη μέθοδο των σημαιων" εννοεί τη χρήση handshake??


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Nerevar on June 20, 2016, 19:29:59 pm
όταν στα θέματα λέει "η επικοινωνία γίνεται με τη μέθοδο των σημαιων" εννοεί τη χρήση handshake??

Mέθοδος interrupts->interrupt routines στην αρχή της μνήμης,δε χρειάζεται να περιμένει το πρόγραμμα σε loop μέχρι να κληθεί η interrupt routine.
Mέθοδος flags->Είσαι σε infinite loop μέχρι το flag του τάδε control register να γίνει '1' οπότε και κάνεις ό,τι χρειάζεται.

(με μια πολύ πολύ μικρή πιθανότητα να κάνω λάθος,πέρασαν 2 χρόνια από τότε που το πέρασα)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: DarkPassenger on June 20, 2016, 19:31:56 pm
Mέθοδος interrupts->interrupt routines στην αρχή της μνήμης,δε χρειάζεται να περιμένει το πρόγραμμα σε loop μέχρι να κληθεί η interrupt routine.
Mέθοδος flags->Είσαι σε infinite loop μέχρι το flag του τάδε control register να γίνει '1' οπότε και κάνεις ό,τι χρειάζεται.

(με μια πολύ πολύ μικρή πιθανότητα να κάνω λάθος,πέρασαν 2 χρόνια από τότε που το πέρασα)
thanks λογικά μου ακούγονται


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 20, 2016, 20:41:38 pm
Λογικά την ταχύτητα μας την δίνει για να ρυθμίσουμε τον timer από τη στιγμή που θα ενεργοποιηθεί το φωτοκύταρρο. Αν το αντικείμενο είναι μεγαλύτερο απο 0.25m τότε θα κάνει πάνω απο 1 sec. Oπότε αν θε΄λουμε να είναι κάτω απο 0.20m πρέπει να κάνει κάτω απο 0.2/0.25 =0.8 sec.

Αλλά δεν μπορώ να καταλάβω γιατί μας δίνει την απόσταση του ρελαί από το φωτοκύταρρο...

Μάλλον για να υπολογίσεις πόση ώρα μετά το πέρασμα του αντικειμένου από το φωτοκύτταρο πρέπει να αλλάξεις την θέση του ρελαί


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Sf(x)dx on June 21, 2016, 00:14:36 am
Guys, ξέρει κανείς γιατί ειδικά για τον καταχωρητή EICRA πρέπει να χρησιμοποιηθεί η εντολή sts για να γράψουμε δεδομένα, ενώ πχ για τον EICRB και για αρκετούς υπόλοιπους (όπως SPL και SPH ) μπορούμε να χρησιμοποιήσουμε και την out ?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 21, 2016, 00:49:43 am
Guys, ξέρει κανείς γιατί ειδικά για τον καταχωρητή EICRA πρέπει να χρησιμοποιηθεί η εντολή sts για να γράψουμε δεδομένα, ενώ πχ για τον EICRB και για αρκετούς υπόλοιπους (όπως SPL και SPH ) μπορούμε να χρησιμοποιήσουμε και την out ?
και σε αυτόν μπορούμε όμως δεν μπορούμε να χρησιμοποιησουμε την cbi sbi

σελίδα 366 manual atmega128
2. Some of the status flags are cleared by writing a logical one to them. Note that the CBI and SBI instructions will operate on
all bits in the I/O register, writing a one back into any flag read as set, thus clearing the flag. The CBI and SBI instructions
work with registers $00 to $1F only.
Μετά λειτουργούν σαν την sram οπότε και χρησιμοποιεί την sts ...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Sf(x)dx on June 21, 2016, 00:55:42 am


thx man :)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: antoniat on June 21, 2016, 09:32:02 am
Ευχαριστώ φίλε μου!

Επίσης σε ερώτηση του τύπου: "Σχεδιάστε το  σύστημα διασύνδεσης του AVR με έναν DAC των 12bit." Τι ακριβώς πρέπει να σχεδιάσουμε; Στις διαφάνειες έχει 100 σχήματα!
Νομίζω είναι το σχήμα από το powerpoint που έχει στο ethmmy για τους adc, διαφάνεια 12..


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 21, 2016, 13:15:43 pm
Μάλλον για να υπολογίσεις πόση ώρα μετά το πέρασμα του αντικειμένου από το φωτοκύτταρο πρέπει να αλλάξεις την θέση του ρελαί

Α τώρα μάλιστα !
Αλλά έχω μια απορία.

Το ρελε απέχει 60cm από το φωτοκυτταρο.  Άρα το κουμπί(ρελε) πρέπει να ενεργοποηθει 60/25 = 2,4 sec μετά την ενεργοποίηση του κυττάρου.
Οκ ένας timer να μετρά 2.4.

Αλλά τι γίνεται στην περίπτωση που ένα δεύτερο αντικείμενο περάσει απτό φωτοκυτταρο πριν ο timer φτάσει τα 2,4 sec? Ξεκινάει άλλος timer? Και αν έρθει και τριτο ή και τέταρτο κλπ...;

Οπότε μήπως υπάρχει κάποιος περιορισμός στην απόσταση που πρέπει να έχουν τα αντικείμενα μεταξύ τους ? πχ τουλαχιστο 60cm μακριά ?

Η το σκέφτομαι λάθος ;

Νομίζω είναι το σχήμα από το powerpoint που έχει στο ethmmy για τους adc, διαφάνεια 12..

Αα οκ thanx


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 21, 2016, 16:08:04 pm
Α τώρα μάλιστα !
Αλλά έχω μια απορία.

Το ρελε απέχει 60cm από το φωτοκυτταρο.  Άρα το κουμπί(ρελε) πρέπει να ενεργοποηθει 60/25 = 2,4 sec μετά την ενεργοποίηση του κυττάρου.
Οκ ένας timer να μετρά 2.4.

Αλλά τι γίνεται στην περίπτωση που ένα δεύτερο αντικείμενο περάσει απτό φωτοκυτταρο πριν ο timer φτάσει τα 2,4 sec? Ξεκινάει άλλος timer? Και αν έρθει και τριτο ή και τέταρτο κλπ...;

Οπότε μήπως υπάρχει κάποιος περιορισμός στην απόσταση που πρέπει να έχουν τα αντικείμενα μεταξύ τους ? πχ τουλαχιστο 60cm μακριά ?

Η το σκέφτομαι λάθος ;

Εγώ έτσι θα το έλυνα. Αλλιώς ίσως να γίνεται αν έχεις μεγάλο timer (μεγάλο prescale) και θέτεις κάθε φορά τους OCRnA, OCRnB στην main με την έλευση του αντικειμένου ώστε να μπορείς να χειρίζεσαι δύο αντικείμενα στη σειρά και να τον ξεκινάς κάθε φορά που το φωτοκύτταρο ανιχνεύει αντικείμενο αλλά δεν υπάρχει αντικείμενο που περιμένουμε για να αλλάξουμε την θέση του ρελαί


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 21, 2016, 16:19:32 pm
Εγώ έτσι θα το έλυνα. Αλλιώς ίσως να γίνεται αν έχεις μεγάλο timer (μεγάλο prescale) και θέτεις κάθε φορά τους OCRnA, OCRnB στην main με την έλευση του αντικειμένου ώστε να μπορείς να χειρίζεσαι δύο αντικείμενα στη σειρά και να τον ξεκινάς κάθε φορά που το φωτοκύτταρο ανιχνεύει αντικείμενο αλλά δεν υπάρχει αντικείμενο που περιμένουμε για να αλλάξουμε την θέση του ρελαί

ναι όντως το θέμα ήταν λίγο ασαφές. Και επίσης το ρελέ πόση ώρα θα βρίσκεται στην δεξιά θέση; Δηλαδή οκ ενεργοποιείται 2.4 δευτερόλεπτα μετά την ενεργοποιήση του φωτοκυτάρρου, και στρίβει πχ δεξιά. Το σπρώχνει δηλαδή δεξιά και μετά ξαναπάει στο κέντρο, ή μένει δεξιά μέχρι να περάσει όλο το αντικείμενο :P :P .

Ωραίο θέμα  ;D ;D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nvog1993 on June 21, 2016, 16:58:19 pm
Για το 2ο του φεβρ του 13 νομίζω πρέπει να κάνουμε έναν υπολογισμό ανάλογο του με εκείνον του 2ου θέματος του Σεπτ του 06. Γιατί δεν έχει νόημα να υπολογίζουμε 2500 τιμές το δευτερόλεπτο (που δεν θα είναι 2500 γιατί βάζουμε prescaler) και μετά να βγάζουμε σ αυτές μέση τιμή. Το άθροισμα τους δεν θα χωράει καν σε 16bitους καταχωρητές. Άρα ίσως πρέπει να ενεργοποιούμε τον adc πάνω στα 15 sec μέσω του INT0, να παίρνουμε 8 μετρήσεις σε ένα sum και είτε να παίρνουμε πάνω σε κάθε ένα μέσο όρο (SUM+=sum/8) και μετά συνολικά μέσο όρο λεπτού (SUMολ/4) είτε να πάρουμε τα αθροίσματα ως έχουν και να κάνουμε στο τέλος διαίρεση με το 32.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 21, 2016, 18:06:07 pm
Μπορει καποιος να μου εξηγησει τη λογική που επιλέγουμε τα bit που θα χρησιμοποιησουμε για handshake?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nvog1993 on June 21, 2016, 18:16:02 pm
Μπορει καποιος να μου εξηγησει τη λογική που επιλέγουμε τα bit που θα χρησιμοποιησουμε για handshake?
Απ' ότι έχω καταλάβει, επιλέγεις random ένα pin για να είναι έξοδος και ένα pin σαν είσοδο, συνήθως αυτό που triggαρει και ένα Interrupt, τύπου INT0.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 21, 2016, 22:09:36 pm
Οκ αυτό..αρα random οποιο γουσταρω αν δν λεει κατι η εκφώνηση ..θενξ


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: lady_of_winter on June 21, 2016, 22:13:10 pm
να ρωτησω κατι κ εγω
σε ορισμένα θεματα με Α-D και εναλλαγή καναλιων ρωτάει ποια μέθοδο μετατροπής προτιμάμε?
free running mode ή single conversion?

μπορεί κάποιος να μου δωσει τα φωτα του, γιατι δεν μπορώ να καταλάβω με ποιο κριτήριο επιλέγουμε


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: pentium4 on June 21, 2016, 22:19:57 pm
να ρωτησω κατι κ εγω
σε ορισμένα θεματα με Α-D και εναλλαγή καναλιων ρωτάει ποια μέθοδο μετατροπής προτιμάμε?
free running mode ή single conversion?

μπορεί κάποιος να μου δωσει τα φωτα του, γιατι δεν μπορώ να καταλάβω με ποιο κριτήριο επιλέγουμε

επειδή το ένα συνεχίζει ξανά μόνο του , ανάλογα με το αν θες να αλλάξεις κανάλι και να πειράξεις τις ρυθμίσεις πριν ξεκινήσεις πάλι


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: lady_of_winter on June 21, 2016, 22:29:46 pm
επειδή το ένα συνεχίζει ξανά μόνο του , ανάλογα με το αν θες να αλλάξεις κανάλι και να πειράξεις τις ρυθμίσεις πριν ξεκινήσεις πάλι

ναι αλλα στις διαφανειες λεει αυτο
If a different data channel is selected while a conversion is in progress, the ADC will finish the current conversion before performing the channel change για το single 

Always select the channel before starting the first conversion.The channel selection may be changed one ADC clock cycle after writing one to ADSC.


οπότε και στα 2 δεν πρέπει να ρυθμίσεις από την αρχή το κανάλι??
ή κατι δεν νιωθω?

πεντιουμ μην σπαμαρεις


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 21, 2016, 23:07:09 pm


ναι και στις 2 νομιζω θελει, δεν θυμαμαι καλα τωρα χωρις σημειωσεις μπροστα μου, αλλα νομιζω ειχα καταληξει στο συμπερασμα οτι στον
ADCSRA ειτε πρεπει να ενεργοποιήσεις το free run ειτε το το αλλο που ειναι κανα 2 bit κατω... :P
σε υποχρεωσα ξερω.. σορρυ  :D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 22, 2016, 15:49:40 pm
Για να ξεκαθαρισθεί κάτι:

Όταν λέει πχ: σήματα τύπου ΟN/OFF συνδέονται με χρήση των εσωτερικών αντιστάσεων πρόσδεσης σημαίνει ότι:
Αν σήμα == 1 τότε είναι OFF αλλιώς ON?  Δηλαδή αρνητική λογική;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: billios on June 22, 2016, 17:08:33 pm
Ποια είναι η χρησιμότητα του handshake ? γιατί δεν βλέπω να κάνει κάτι ουσιαστικό μέσα στο πρόγραμμα. Και αν μας πει με τη μέθοδο των σημαιών πρέπει να χρησιμοποιήσουμε handshake ή παίζουμε απλά όπως θέλουμε με τιςσημαίες?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 22, 2016, 17:10:36 pm
Ξέρει κανείς που υπάρχει ο καταχωρητής GIMSK? Ή μήπως GIMSK=EIMSK?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: billios on June 22, 2016, 17:13:03 pm
Ξέρει κανείς που υπάρχει ο καταχωρητής GIMSK? Ή μήπως GIMSK=EIMSK?
στον Atmega 128 που εξεταζόμαστε ειναι ο ΕΙΜSK


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 22, 2016, 17:18:06 pm
Ποια είναι η χρησιμότητα του handshake ? γιατί δεν βλέπω να κάνει κάτι ουσιαστικό μέσα στο πρόγραμμα. Και αν μας πει με τη μέθοδο των σημαιών πρέπει να χρησιμοποιήσουμε handshake ή παίζουμε απλά όπως θέλουμε με τιςσημαίες?

Δεν νομίζω να είμαστε υποχρεωμένοι να κάνουμε handshake εαν δεν μας το λέει η άσκηση ρητά.
Πιο πολύ το handshake είναι χρήσιμο σε μεταφορά δεδομένων αλλά από ότι βλέπω τα τελευταία χρόνια πιο πολύ timer πέφτει και ADC αλλαγή καναλιών κλπ.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 22, 2016, 17:42:59 pm
στον Atmega 128 που εξεταζόμαστε ειναι ο ΕΙΜSK
Thank you


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Mumm-ra ο παντοντινός on June 22, 2016, 18:05:01 pm
Διαβάζοντας το pdf της Βάσως, δεν έχω καταλάβει ακόμα το εξής:
1) Μέθοδος σημαιών στα interrupts=flag T? Εκεί δηλαδή παίζεις με set,sei και όποτε γίνει interrupt γίνεται Τ=0? Οπότε χρησιμοποιείς τις εντολές sbis-sbic?

2)Handshake. Έχει σχέση με τα flags? Επίσης, η Βάσω χρησιμοποιεί αν θυμάμαι καλά 3 διαφορετικές εκδοχές τους αλλά κάπου στις διαφάνειες γράφει μόνο για το Bit 7...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 22, 2016, 18:28:13 pm
Διαβάζοντας το pdf της Βάσως, δεν έχω καταλάβει ακόμα το εξής:
1) Μέθοδος σημαιών στα interrupts=flag T? Εκεί δηλαδή παίζεις με set,sei και όποτε γίνει interrupt γίνεται Τ=0? Οπότε χρησιμοποιείς τις εντολές sbis-sbic?

2)Handshake. Έχει σχέση με τα flags? Επίσης, η Βάσω χρησιμοποιεί αν θυμάμαι καλά 3 διαφορετικές εκδοχές τους αλλά κάπου στις διαφάνειες γράφει μόνο για το Bit 7...

1) Ουσιαστικά την μέθοδο των σημαιών την κανουμε με polling . Δηλαδή είσαι σε ένα ατέρμων βρόχο και τσεκάρεις κάποιες σημαίες σε κάποιους καταχωρητές. Όταν η σημαία γίνει 1 τότε σημαίνει ότι έγινε κάποιο γεγονός (πχ Adc Conversion Complete, ή πατήθηκε κάποιο κουμπί) και απο εκεί και έπειτα ενεργείς αναλόγως.

Τώρα την σημαία Τ την κάνεις εσύ ότι θές.
Δηλαδή αν γράψεις στην main:
clt
wait:
brtc wait

και σε μια ISR γράψεις
set
reti

Τότε ουσιαστικά θα συνεχίσει το πρόγραμμα σου μόνο αν γίνει το Interrupt.

2)Έστω ότι μου στέλνεις κάτι.
Εγώ αντιλαμβάνομαι ότι μου στέλνεις κάτι και ενεργοποιώ ένα συγκεκριμένο pin σε ένα port.
sbi porta,7 (πχ)
μετά επεξεργάζομαι αυτά που μου έστειλες και όταν είμαι έτοιμος να μου ξαναστείλεις κάτι άλλο κάνω
cbi porta,7
ώστε να το αντιληφθείς και εσύ και να συνεχίσουμε.

Αυτό τώρα από ότι βλέπω δεν το έχει ζητήσει ποτέ ο Πέτρου τα τελευταία χρόνια...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Mumm-ra ο παντοντινός on June 22, 2016, 18:47:10 pm
Ωραίος ρε grekoo ευχαριστώ πολύ! Δεν τα λέει πουθενά αυτά ξεκάθαρα,όσον αφορά τον κώδικα δηλαδή... Μόνο περιγραφικά (και όχι με καλό τρόπο) στην θεωρία  8))


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 22, 2016, 18:52:00 pm
Λοιπόν όσο αφορά μέθοδο σημαιών vs μέθοδο interrupts. Η μεγάλη διαφορά είναι ότι στην μέθοδο σημαιών δεν είναι ενεργοποιημένα τα interrupts που σημαίνει ότι το I στον SREG είναι απενεργοποιημένο μπορείς να χρησιμοποιησεις τους FlagsRegister όλων των περιφερειακών (όχι μόνο το Τ στον Sreg ) με την προϋπόθεσή ότι κάνεις reset το flag αντί RETI. Ακολουθεί η επίλυση της πρώτης άσκησης με την μέθοδο των σημαιών κάνοντας software interrupt σε δυο pins. Η δεύτερη χρησιμοποιώντας τα IRQ vectors.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: DarkPassenger on June 23, 2016, 00:53:33 am
όταν ζητάει παραγωγή παλμών μέσω timer, πρακτικά θέλει να επιλέξουμε Waveform generation mode = fast PWM ή κάτι άλλο??


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 01:47:19 am
όταν ζητάει παραγωγή παλμών μέσω timer, πρακτικά θέλει να επιλέξουμε Waveform generation mode = fast PWM ή κάτι άλλο??
Ναι. Μπορείς και με το normal mode να βγάλεις κάτι παρόμοιο άλλα πρέπει να γράψεις κώδικα...
Το mode (F Pwm, PC Pwm, PFC Pwm) εξαρτάται από τα χαρακτηριστικά του παλμού που ζητάει. Γενικά το FastPwm όπως λέει κιόλας είναι ένας γρήγορος τρόπος και εύκολος τρόπος ...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: DarkPassenger on June 23, 2016, 02:12:09 am
Ναι. Μπορείς και με το normal mode να βγάλεις κάτι παρόμοιο άλλα πρέπει να γράψεις κώδικα...
Το mode (F Pwm, PC Pwm, PFC Pwm) εξαρτάται από τα χαρακτηριστικά του παλμού που ζητάει. Γενικά το FastPwm όπως λέει κιόλας είναι ένας γρήγορος τρόπος και εύκολος τρόπος ...
ωραια ευχαριστω


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: SportBillyPap on June 23, 2016, 12:41:20 pm
Στο θέμα 2 του ιουνη 2014 πως συνδέουμε 4 αναλογικούς συγκριτες και μπορούμε να καταλάβουμε από ποιον έγινε ή διακοπή αφού υπάρχει μόνο μία είσοδος για διακοπή?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nvog1993 on June 23, 2016, 12:47:21 pm
Στο θέμα 2 του ιουνη 2014 πως συνδέουμε 4 αναλογικούς συγκριτες και μπορούμε να καταλάβουμε από ποιον έγινε ή διακοπή αφού υπάρχει μόνο μία είσοδος για διακοπή?
Νομίζω απλά αλλάζεις κάθε φορά το ένα κανάλι σύγκρισης (τα 4 σήματα) και ελέγχεις αν η σύγκριση σου βγάλει ένα ή μηδέν. Ανάλογα θέτεις και τα led.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: SportBillyPap on June 23, 2016, 12:53:17 pm
Νομίζω απλά αλλάζεις κάθε φορά το ένα κανάλι σύγκρισης (τα 4 σήματα) και ελέγχεις αν η σύγκριση σου βγάλει ένα ή μηδέν. Ανάλογα θέτεις και τα led.
Πως αλλάζει τις εισόδους κάθε αναλογικός σύγκρισης δέχεται 2 εισόδους και βγάζει μία έξοδο που συνδέει στον Avr που έχει μόνο μία είσοδο για αναλογικό ελεχτη το AIN0 άρα εγώ θα πρέπει να βάλω έναν πολύ πλέκτη? Από μόνος μου και να του λέω ποιο αημα θα έχει στην είσοδο?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 12:54:11 pm
Θέμα 2 Ιούνιος 2014. Γενικά με interrupts  με πολλά κανάλια ο comparrator είναι δυσλειτουργικός... Οπότε προτείνω να πας με έλεγχο ανά κανάλι σε μια loop (ή σε 4 ελέγχους και jmp στην αρχή) .


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nvog1993 on June 23, 2016, 12:57:20 pm
Πως αλλάζει τις εισόδους κάθε αναλογικός σύγκρισης δέχεται 2 εισόδους και βγάζει μία έξοδο που συνδέει στον Avr που έχει μόνο μία είσοδο για αναλογικό ελεχτη το AIN0 άρα εγώ θα πρέπει να βάλω έναν πολύ πλέκτη? Από μόνος μου και να του λέω ποιο αημα θα έχει στην είσοδο?
Αν θέσεις στον SFIOR το 3ο bit (ACME) σε λογικό 1 και απενεργοποιήσεις τον A/D (ADEN = 0) τότε με τον multiplexer του A/D μπορείς να ορίσεις εσύ ποιο κανάλι θα μπαίνει στο negative input. Έχει ένα πινακάκι στο Pdf cheatsheet που έχει ανεβάσει ένα παιδί στα downloads.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: SportBillyPap on June 23, 2016, 12:58:23 pm
Θέμα 2 Ιούνιος 2014. Γενικά με interrupts  με πολλά κανάλια ο comparrator είναι δυσλειτουργικός... Οπότε προτείνω να πας με έλεγχο ανά κανάλι σε μια loop (ή σε 4 ελέγχους και jmp στην αρχή) .
Κατάλαβα ευχαριστώ πολύ!!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 23, 2016, 15:10:40 pm
καποιος να δωσει στα γρηγορα τα φωτα του για το τι κανει το

1<<ADCn ... plox plox  :D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 15:45:17 pm
καποιος να δωσει στα γρηγορα τα φωτα του για το τι κανει το
1<<ADCn ... plox plox  :D
Είναι συντόμευση του assembler  για να γράψεις μια τιμή πχ το (1<<ADC01) σου δίνει τιμή 0b00010000 (το τάδε bit που δείχνει ο ADC01) εάν θες να συμπεριλάβεις πολλά τα βάζεις με OR  (1<<ADC01) | (1<<ADC02)
και έχεις 0b00110000  αυτό είναι immediate σαν τιμή και δουλεύει με την LDI  βοηθάει αυτόν που βλέπει την άσκηση να καταλάβει ποια bit σε ποιους register κάνεις set

θέμα 3 Ιούνιος του 2014
/εδιτ ο τύπος που χρησιμοποιώ για τον υπολογισμό της περιόδου μάλλον είναι λάθος...΄δεν είναι απαραίτητο το 2*prescaller ...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 23, 2016, 15:55:18 pm
Είναι συντόμευση του assembler  για να γράψεις μια τιμή πχ το (1<<ADC01) σου δίνει τιμή 0b00010000 (το τάδε bit που δείχνει ο ADC01) εάν θες να συμπεριλάβεις πολλά τα βάζεις με OR  (1<<ADC01) | (1<<ADC02)
και έχεις 0b00110000  αυτό είναι immediate σαν τιμή και δουλεύει με την LDI  βοηθάει αυτόν που βλέπει την άσκηση να καταλάβει ποια bit σε ποιους register κάνεις set

θέμα 3 Ιούνιος του 2014

Ωραία λύση φίλε μου. Απλά δεν καταλαβαίνω δυο πραματάκια.

1ον Γιατί παίζεις με συχνότητα του PWM? Επιλέγεις CTC Mode, και prescaler = 64 άρα έχεις Ftimer = 62500 hz.
Δεν μας ενδιαφέρει η συχνότητα παραγωγής PWM (ή εγώ δν κατάλαβα κάτι)

Αυτό σημαίνει ότι σε 62500 κμ του ρολογιού του timer1 έχει περάσει 1 δευτερόλεπτο.

Οπότε με έναν OutputCompareRegister στα 62500 , έχεις καθαρίσει.
Για 60 sec θές 60 compare_matches άρα έχεις έναν counter μέσα στο ISR του TIM1_COMPA.
Για 2 sec θες 2 compare_matches.
Για 14 Θες 14...

Τώρα έστω πχ ότι είμαστε στο κόκκινο και απομένουν ακόμα n Compare Matches για να περάσουν 14 seconds. Και πατιέται το κουμπί πεζών. Τότε απλά μπορούμε να κάνουμε  n = n+16. Δηλαδή παρατείνουμε τα compare matches κατά 16.

Και επίσης δεν κατάλαβα την χρήση του Input Capture Unit.    :P


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: c0ndemn3d on June 23, 2016, 15:56:15 pm
Μπορεί κάποιος να μου πει για το 3ο Θέμα Ιούνιος 2015 τι λογική ακολοθούμε; Δεν μπορώ να καταλάβω πώς γίνεται να έχουμε free running mode και να συλλέγουμε από πολλά κανάλια μετρήσεις. Ο ADC για ένα κανάλι δεν κάνει πάντα μετατροπή;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 16:00:09 pm
Μπορεί κάποιος να μου πει για το 3ο Θέμα Ιούνιος 2015 τι λογική ακολοθούμε; Δεν μπορώ να καταλάβω πώς γίνεται να έχουμε free running mode και να συλλέγουμε από πολλά κανάλια μετρήσεις. Ο ADC για ένα κανάλι δεν κάνει πάντα μετατροπή;

Νομίζω απλά πρέπει να αλλάξεις τον ADMUX στο επόμενο κανάλι πριν ακόμα τελειώσει η τρέχουσα μετατροπή.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: c0ndemn3d on June 23, 2016, 16:02:25 pm
Νομίζω απλά πρέπει να αλλάξεις τον ADMUX στο επόμενο κανάλι πριν ακόμα τελειώσει η τρέχουσα μετατροπή.

I see. Thanks.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 16:09:40 pm
Αρχικά το inputcapture unit το χρησιμοποιώ αντί του OCCR με το mode που έβαλα είναι το ίδιο πράγμα. Όταν ποιάσει την τιμή του TOP (από τον τύπο f=(f_io)/(2*N*(TOP+1))) που πλέων είναι αποθηκευμένη στον  ICR1h,ICR1l (όχι στον OCR1Bh,OCR1Bl) πεταεί interrupt και μηδενίζει τον timer.

Γενικά όλα τα υπόλοιπα που λες είναι σωστά μπορείς να τον ρυθμίσεις να πιάνει 1 sec κλπ να μην χρησιμοποιήσεις καθόλου το interrupt για το INT0 και να ελέγχεις το flag χωρίς να το κανείς reset το flag στο red_loop (το έγραψα λάθος στο τέλος) κλπ. Είναι επιλογές σχεδίασης ...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: greekoo on June 23, 2016, 16:15:31 pm
Αρχικά το inputcapture unit το χρησιμοποιώ αντί του OCCR με το mode που έβαλα είναι το ίδιο πράγμα. Όταν ποιάσει την τιμή του TOP (από τον τύπο f=(f_io)/(2*N*(TOP+1))) που πλέων είναι αποθηκευμένη στον  ICR1h,ICR1l (όχι στον OCR1Bh,OCR1Bl) πεταεί interrupt και μηδενίζει τον timer.

Γενικά όλα τα υπόλοιπα που λες είναι σωστά μπορείς να τον ρυθμίσεις να πιάνει 1 sec κλπ να μην χρησιμοποιήσεις καθόλου το interrupt για το INT0 και να ελέγχεις το flag χωρίς να το κανείς reset το flag στο red_loop (το έγραψα λάθος στο τέλος) κλπ. Είναι επιλογές σχεδίασης ...

Οκ φίλε κατάλαβα, ευχαριστώ!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nvog1993 on June 23, 2016, 16:29:29 pm
Για μέτρηση μήκους παλμού, ενεργοποιώ την διακοπή Input Capture με απενεργοποιημένο τον Timer και τον ενεργοποιώ στην ISR του Input Capture μαζί με την αλλαγή του edge?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 16:37:36 pm
Θέμα 2 Ιούνιος 2014. Γενικά με interrupts  με πολλά κανάλια ο comparrator είναι δυσλειτουργικός... Οπότε προτείνω να πας με έλεγχο ανά κανάλι σε μια loop (ή σε 4 ελέγχους και jmp στην αρχή) .

Η εντολή tst channel τι κάνει;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 16:45:29 pm
tst ελέγχει εάν είναι ίσο με το μηδέν ( και συνδιάζεται με το brne breq) στην άσκηση που έλυσα ξεκινάω από το channel 4 και πάω στο μηδέν εάν το  πoιάσω το μηδέν ξαναξεκινάω από το 4 κλπ


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 23, 2016, 17:00:28 pm


tnx :D

τωρα...
φλεβαρης 2013
ερωτησεις θεωριας δ και ε

δ) σε ενα αυτοκινητο υπαρχουν αισθητηρες 1 2 3 .. ρωταει με ποιο τροπο γινεται η επικοινωνια? (προτεραιοτητα, συχνοτητα δειγμ, σημαιες/διακοπες..) τι φαση? κρισεως? και λεμε παραμυθια?
το βρηκα σε προηγουμενη σελιδα λιγο πολυ...

ε) με την εμφανιση του reset τι αλλαζει σε ραμ, φλας, εεπρομ ι/ο και gpr?


εδιτ: τροποι υλοποιησης pwm και διαφορες?



Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: sotiristsar on June 23, 2016, 17:01:46 pm
Παιδια γνωριζει κανεις με σιγουρια τι θελει να κανουμε στο κυκλωμα διασύνδεσης που ζηταει σε καποια θεματα;;;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nikos1 on June 23, 2016, 17:21:15 pm
Για μέτρηση μήκους παλμού, ενεργοποιώ την διακοπή Input Capture με απενεργοποιημένο τον Timer και τον ενεργοποιώ στην ISR του Input Capture μαζί με την αλλαγή του edge?

ναι


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 18:29:41 pm
θέμα 3 Ιούνιος του 2014

Στους υπολογισμούς για τον Timer 1 γιατί χρησιμοποιείς στον τύπο 2*Prescale?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 18:33:44 pm
Στους υπολογισμούς για τον Timer 1 γιατί χρησιμοποιείς στον τύπο 2*Prescale?
atmega128 manual σελίδα 124
/edit τώρα που το διαβάζω μάλλον έχω λάθος εκεί...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 18:53:12 pm
Αυτός ο τύπος είναι για συχνότητα που θα πάρει ο OCR1A (edit: ή ο ICR1) άμα τον βάλεις toggle. Αυτή ήταν η πρόθεσή σου; επειδή σε μια περίοδο (edit: με toggle) ο timer θα σηκώσει 2 ICF1s.

Edit #3 : Και γω ψάχνομαι μπας και καταλάβω :P


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 19:02:06 pm
αυτός ο τύπος είναι για μια κυματομοφρή με toggle απο το OCRA έχεις :
η συνολική περίοδος του PWM απο το CTC να είναι 50% on (duty cycle 50%) από ένα ανέβασμα μέχρι το OCRA flag,  togle το output και αλλα 50% off άρα συνολική περίοδος 2Τ. Αν το πας στην συχνότητα προκύπτει αυτό το δυάρι...
/edit
ήταν η πρόθεσή σου; επειδή σε μια περίοδο (edit: με toggle) ο timer θα σηκώσει 2 ICF1s.
Όχι η πρόθεση μου είναι να μετρήσει κανονικά τον χρόνο μέχρι το TOP (ICRh,ICRl) και να πετάξει ICF ...

και δεν λειτουργεί μόνο με το ICR σαν TOP γιατί στα COM δεν υπάρχει αυτή η επιλογή
( λειτουργεί εάν βάλεις top icr και ρυθμίσεις και τον OCR1 αλλά βγαίνει δύσκολα η κυματομορφη και δεν πρέπει να ισχύει αυτός ο τύπος σε αυτήν την περίπτωση)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 19:13:19 pm
αυτός ο τύπος είναι για μια κυματομοφρή με toggle απο το OCRA έχεις :
η συνολική περίοδος του PWM απο το CTC να είναι 50% on (duty cycle 50%) από ένα ανέβασμα μέχρι το OCRA flag,  togle το output και αλλα 50% off άρα συνολική περίοδος 2Τ. Αν το πας στην συχνότητα προκύπτει αυτό το δυάρι...
Ναι αλλά δεν έχεις toggle εσύ. Νομίζω το σωστό είναι ο ίδιος τύπος χωρίς το 2άρι. Επίσης δεν καταλαβαίνω γτ χρειάζεται μηδενισμός των flags. Δεν είναι 0 από μόνα τους;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 19:21:02 pm
Ναι αλλά δεν έχεις toggle εσύ.
Ναι για αυτό και έχω λάθος στον υπολογισμό, είναι χωρίς δυάρι τελικά. Έχεις δίκιο.

Ο μηδενισμός των flags χρειάζεται γενικά για να μην γίνει καμία βλακεία, μπορείς να μην τα μηδενίσεις. Αλλά άμα σου πει ο πετρου εεεε εδώ μπορεί να έχεις flag από πριν άντε πείσε τον ...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 19:23:49 pm
Ο μηδενισμός των flags χρειάζεται γενικά για να μην γίνει καμία βλακεία, μπορείς να μην τα μηδενίσεις. Αλλά άμα σου πει ο πετρου εεεε εδώ μπορεί να έχεις flag από πριν άντε πείσε τον ...
Οκ! Thanks


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 23, 2016, 21:21:41 pm
tnx :D

τωρα...
φλεβαρης 2013
ερωτησεις θεωριας δ και ε

δ) σε ενα αυτοκινητο υπαρχουν αισθητηρες 1 2 3 .. ρωταει με ποιο τροπο γινεται η επικοινωνια? (προτεραιοτητα, συχνοτητα δειγμ, σημαιες/διακοπες..) τι φαση? κρισεως? και λεμε παραμυθια?
το βρηκα σε προηγουμενη σελιδα λιγο πολυ...

ε) με την εμφανιση του reset τι αλλαζει σε ραμ, φλας, εεπρομ ι/ο και gpr?


εδιτ: τροποι υλοποιησης pwm και διαφορες?


someone?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 21:42:42 pm
someone?
Στα γρήγορα (χωρίς να είμαι σίγουρος 100%) με το Reset interrupt έχεις:
μηδενισμό της ram και μηδενισμό των IO reg  ο SREG (είναι IO) μηδενίζεται.
Ο GPR δεν ξέρω τι είναι. Αν είναι σαν τον MCU μηδενίζεται εάν έχει στοιχεία σαν τον MCUCR αποθηκεύεται. Η eprom μηδενίζεται μόνο με boot routine (εκτός εάν πειράξεις δυο τρία πράγματα αλλά τυπικά δεν μηδενίζεται) άρα κρατιέται. Αντίστοιχα και η flash memory μόνο με boot αλλάζει άρα κρατιέται. (boot είναι όταν πατάς programm flash για να περάσεις το .hex όπως κάναμε στο εργαστήριο )

/ edit Για τρόπους pwm είναι 3: 1) Fast Pwm  2) Phase correct Pwm 3) Phase and Frequency Correct PWM και για τις διαφορές είναι μεγάλη η απάντηση .


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 23, 2016, 22:00:23 pm
Στα γρήγορα (χωρίς να είμαι σίγουρος 100%) με το Reset interrupt έχεις:
μηδενισμό της ram και μηδενισμό των IO reg  ο SREG (είναι IO) μηδενίζεται.
Ο GPR δεν ξέρω τι είναι. Αν είναι σαν τον MCU μηδενίζεται εάν έχει στοιχεία σαν τον MCUCR αποθηκεύεται. Η eprom μηδενίζεται μόνο με boot routine (εκτός εάν πειράξεις δυο τρία πράγματα αλλά τυπικά δεν μηδενίζεται) άρα κρατιέται. Αντίστοιχα και η flash memory μόνο με boot αλλάζει άρα κρατιέται. (boot είναι όταν πατάς programm flash για να περάσεις το .hex όπως κάναμε στο εργαστήριο )

/ edit Για τρόπους pwm είναι 3: 1) Fast Pwm  2) Phase correct Pwm 3) Phase and Frequency Correct PWM και για τις διαφορές είναι μεγάλη η απάντηση .
ok tnx..μου αρκουν αυτα..


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 23, 2016, 22:33:13 pm
Θέμα 2 Σεπτέμβριος 15

Οποιεσδήποτε διορθώσεις καλοδεχούμενες


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: SportBillyPap on June 23, 2016, 22:37:03 pm
Στα γρήγορα (χωρίς να είμαι σίγουρος 100%) με το Reset interrupt έχεις:
μηδενισμό της ram και μηδενισμό των IO reg  ο SREG (είναι IO) μηδενίζεται.
Ο GPR δεν ξέρω τι είναι. Αν είναι σαν τον MCU μηδενίζεται εάν έχει στοιχεία σαν τον MCUCR αποθηκεύεται. Η eprom μηδενίζεται μόνο με boot routine (εκτός εάν πειράξεις δυο τρία πράγματα αλλά τυπικά δεν μηδενίζεται) άρα κρατιέται. Αντίστοιχα και η flash memory μόνο με boot αλλάζει άρα κρατιέται. (boot είναι όταν πατάς programm flash για να περάσεις το .hex όπως κάναμε στο εργαστήριο )

/ edit Για τρόπους pwm είναι 3: 1) Fast Pwm  2) Phase correct Pwm 3) Phase and Frequency Correct PWM και για τις διαφορές είναι μεγάλη η απάντηση .
GPR=general purpose registers


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on June 23, 2016, 22:41:56 pm
GPR=general purpose registers
Ναι είναι οι 32 registers άρα μηδενίζονται ...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Terzos on June 24, 2016, 02:56:34 am
Θέμα 3 Σεπτέμβριος 15:
Δίνει 16 Ksamples/sec σε avr στα 8MHz. Το κοντινότερο που βρίσκω είναι με prescaler=32 το οποίο δίνει 19Ksamples/sec. Έχει κανείς καμιά ιδέα τι κάνουμε σε τέτοιες περιπτώσεις;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: El Niño on June 24, 2016, 07:53:42 am
Θέμα 3 Σεπτέμβριος 15:
Δίνει 16 Ksamples/sec σε avr στα 8MHz. Το κοντινότερο που βρίσκω είναι με prescaler=32 το οποίο δίνει 19Ksamples/sec. Έχει κανείς καμιά ιδέα τι κάνουμε σε τέτοιες περιπτώσεις;
υπολογισες και τους κυκλους του ADC? ειναι 13 κυκλοι.

γενικα κανεις : (συχνοτητα που σου δινει)/13*samples που σ λεει, βρισκεις τιμη, επιλεγεις τον αμεσως μικροτερο


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: κύριος Φασόλης on September 11, 2016, 11:31:44 am
παιδια μπορει να μου εξηγησει καποιος πως βαζουμε τιμη για τον prescaler στον adc ? ας πουμε μου δινει 16Ksamples/sec και favr=8MHz πως θα βρω τι  prescaler πρεπει να επιλεξω?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: lady_of_winter on September 13, 2016, 09:53:54 am
λοιπον εχω δει σε παλια θεματα
να χρησιμοποιουν αυτην την εντολη:
ldi temp, ((mux1<<1)|(mux0<<0))

αυτο σημαινει οτι στο mux1 μπαινει το 1 και στο mux0 το 0 ή κατι αλλο? :???: :???:


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: τσαι-borg on September 13, 2016, 10:19:21 am
Αυτό σημαίνει, ναι. Είναι απλώς ένας τρόπος να φανεί πιο εύκολα ποια bit ακριβώς αλλάζεις από το να βάλεις τον άλλον να μετράει μηδενικά και άσσους.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: κύριος Φασόλης on September 14, 2016, 09:46:46 am
εχεις κανεις καμια ιδεα για θεμα 2ο απο τα θεματα ιουνιου του 2016 (το θεμα το μιξερ :P ) ? Κυριως εκεινο με τα ποσοστα στο duty cycle δεν ξερω πως να το κανω οποτε αν μπορει ας δωσει καποιος/καποια τα φωτα του/της  :)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 19, 2016, 17:02:31 pm
Μπορεί κάποιος να εξηγήσει πώς καθορίζουμε το duty cycle στο PWM και χρησιμοποιούμε τον Timer1; Δηλαδή έστω ότι χρησιμοποιούμε fast pwm. Τι αρχικοποιήσεις θα κάνουμε;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: matzaris on September 19, 2016, 17:14:27 pm
 Εκτός από τη διαφορά που έχουν ο OCIE1A με τον OCIE1B για τον καθορισμό του PWM Duty cycle, έχουν κάποια άλλη διαφορά;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 19, 2016, 17:47:20 pm
Αυτοί οι καταχωρητές κάνουν enable τις διακοπές σε περίπτωση Output Compare Match αν δεν κάνω λάθος. Το duty cycle με τους OCR1A, OCR1B δεν το καθορίζουμε; Κι αν ναι, πώς;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: τσαι-borg on September 19, 2016, 17:56:35 pm
http://maxembedded.com/2012/01/avr-timers-pwm-mode-part-ii/ (http://maxembedded.com/2012/01/avr-timers-pwm-mode-part-ii/)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on September 19, 2016, 18:22:35 pm
Αυτοί οι καταχωρητές κάνουν enable τις διακοπές σε περίπτωση Output Compare Match αν δεν κάνω λάθος. Το duty cycle με τους OCR1A, OCR1B δεν το καθορίζουμε; Κι αν ναι, πώς;
Γενικά για dutycycle έχει πολλές επιλογές. Το duty cycle στα γρήγορα είναι για την περίοδο πόσο ποσοστό της περιόδου είναι λογικό ένα. Σαν βασικές κατηγορίες στο  CTC mode (με OCR ή IRC για τοπ) έχω το software toggle που αλλάζω το pin με κώδικα σε interrupt πχ και το toggling mode από τις επιλογές των bit COM όμως σε αυτό το mode έχει συγκεκριμένο pin εξόδου

/ στα άλλα mode πχ FPWM ή PhasePWM ή PFPWM είναι λίγο πιο standar .


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 19, 2016, 19:01:31 pm
Δηλαδή, για παράδειγμα αν έχω Fast PWM στον Timer1, μπορώ να βάλω στο ΟCR1A το Ton (σε κύκλους μηχανής) και το TOP=(Τοn+Toff) στον ICR1;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: jthois on September 19, 2016, 20:34:52 pm
παιδια μπορει να μου εξηγησει καποιος πως βαζουμε τιμη για τον prescaler στον adc ? ας πουμε μου δινει 16Ksamples/sec και favr=8MHz πως θα βρω τι  prescaler πρεπει να επιλεξω?
"A normal conversion in the ADC takes 13 ADC clock cycles". Δεδομένου αυτού,
16k SPS * 13 => fADC = 208.000 Hz
fAVR/fADC = ~38
Οπότε θεωρώ πως σε αυτή την περίπτωση παίρνουμε τιμή για τον prescaler = 32


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on September 19, 2016, 21:29:00 pm
Δηλαδή, για παράδειγμα αν έχω Fast PWM στον Timer1, μπορώ να βάλω στο ΟCR1A το Ton (σε κύκλους μηχανής) και το TOP=(Τοn+Toff) στον ICR1;
Το mode είναι wgm1(0-3):14 fast pwm άρα ICR1 top και ανοίγεις το vector του ocr1a όπου σε inverting output mode com1A 11 θα κάνει set στο bottom το πιν oc1a και clear μόλις φτάσει το ocr1A. Για να μειώσεις το dc μικραίνεις τον ocr1A όμως δεν αλλάζεις το icr1avκαι στο inverting mode δεν φτάνει 100% duty cycle


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 19, 2016, 22:10:01 pm
Αν έχει λύσει κάποιος το 2ο του Ιουνιου 2016 ή εστω προσπάθησε και έχει αμφιβολίες μπορεί να το ανεβάσει να το συζητήσουμε  :D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 19, 2016, 22:13:41 pm
Το mode είναι wgm1(0-3):14 fast pwm άρα ICR1 top και ανοίγεις το vector του ocr1a όπου σε inverting output mode com1A 11 θα κάνει set στο bottom το πιν oc1a και clear μόλις φτάσει το ocr1A. Για να μειώσεις το dc μικραίνεις τον ocr1A όμως δεν αλλάζεις το icr1avκαι στο inverting mode δεν φτάνει 100% duty cycle
Ok! Ευχαριστώ πολύ! :)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on September 19, 2016, 22:46:58 pm
Αν έχει λύσει κάποιος το 2ο του Ιουνιου 2016 ή εστω προσπάθησε και έχει αμφιβολίες μπορεί να το ανεβάσει να το συζητήσουμε  :D
Αύριο θα το προσπαθήσω....


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 21, 2016, 13:19:26 pm
Όταν έχεις ADC ο τύπος υπολογισμού του prescaler είναι favr/(Ν*13*samples) Ν=nubmer of channels.
Όταν έχεις timer ο αντιστοιχος τύπος ποιος είναι;

Επίσης @Andromedas ή όποιος άλλος μπορεί να το ένιωσε και το έλυσε, μπορείτε να ανεβάσετε ενδεικτική λύση για το θέμα με τον duty circle ώστε να έχω μια είκονα (ακομα και δεν είναι πλήρως σωστή) σε επίπεδο λύσης πως υλοποιείται; Ευχαριστώ!



Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 21, 2016, 13:44:58 pm
Αν δεν κάνω λάθος για τον prescaler του ΑDC ισχύει : favr/(N*13*fsamples)

όπου N είναι ο αριθμός των καναλιών


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 21, 2016, 13:56:13 pm
Αν δεν κάνω λάθος για τον prescaler του ΑDC ισχύει : favr/(N*13*fsamples)

όπου N είναι ο αριθμός των καναλιών

Ναι έχεις δίκιο για την διαίρεση, την έγραψα ανάποδα, το κάνω edit.  Επίσης έχεις οντως δίκιο και για το Ν


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Λήσταρχος Γιαγκούλας on September 21, 2016, 14:04:32 pm
Ιουνίου '16 έχει κάποιος καμια υλοποίηση;

Ευχαριστώ εκ των προτέρων.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: κύριος Φασόλης on September 21, 2016, 14:54:42 pm
Για το θέμα με το μίξερ κάτι προσπάθησα εγώ θα το ανεβασω μόλις μπορέσω αλλά μην περιμενετε και πολλά...δεν μπορώ να πω ότι έχω νιώσει το μάθημα για να ειμαι και σίγουρος για λύσεις

UPDATE: η "λυση" μου ανεβηκε


πιο πολυ για να τη διορθωσουμε μαζι  :P


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 21, 2016, 15:42:35 pm
Όταν έχουμε διακοπή με timer, μόλις γίνει η διακοπή ο timer μηδενίζεται και ξαναρχίζει να αυξάνεται απευθείας ή εκτελείται πρώτα ο κώδικας της διακοπής, γίνεται το reti και μετά αρχίζει να αυξάνεται;

Αντίστοιχα για διακοπή με ADC, η επόμενη μετατροπή αρχίζει αφότου γίνει το reti ή μόλις ολοκληρωθεί η προηγούμενη μετατροπή;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: jthois on September 21, 2016, 16:33:30 pm
Όταν έχουμε διακοπή με timer, μόλις γίνει η διακοπή ο timer μηδενίζεται και ξαναρχίζει να αυξάνεται απευθείας ή εκτελείται πρώτα ο κώδικας της διακοπής, γίνεται το reti και μετά αρχίζει να αυξάνεται; Αυτό γιατί ο timer μετράει ανεξάρτητα από τον με.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on September 21, 2016, 16:55:52 pm
θέμα 2 Ιούνιος 2016
σύντομο, προφανώς υπάρχουν πολλές υλοποιήσεις κλπ
/εδιτ ανεβάζω τις φωτο γιατί με το pdf είναι χάλι


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on September 21, 2016, 17:07:03 pm
Αντίστοιχα για διακοπή με ADC, η επόμενη μετατροπή αρχίζει αφότου γίνει το reti ή μόλις ολοκληρωθεί η προηγούμενη μετατροπή;
σε single conversion mode για να ξεκινήσει η επόμενη μετά το reti πρέπει να γίνει σετ το ADSC
σε free running mode γίνεται ανεξάρτητα από το flag το update του register αλλά πρέπει να διαβαστούν και οι δυο αλλιώς μπλοκάρει (εάν διαβάσεις μόνο το low και δεν διαβάσεις το high περιμένει να το διαβάσεις ή 'ανάποδα εάν τον έχει σε ADC Left Adjust Result  )


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 21, 2016, 17:12:37 pm
thanks guys

@Adromedas Επειδή δεν μπορώ να διακρίνω τι γραφεις στην πρώτη σελιδα εκει που υπολογίζεις την συχνότητα, μπορείς λίγο να πεις τι γραφεις εκει στο Ν ΤΟP και τι prescaler χρησιμοποιείς;

@gikats Πως επιλέγεις αρχικα prescaler 1024 για τον εναν timer και 256 για τον αλλο;


Γενικά αυτό είναι ένα μελανό σημείο, αν μπορεί κάποιος να μου εξηγήσει στα γρήγορα πως επιλέγεις prescaler στους timers....


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Andromedas on September 21, 2016, 17:45:13 pm
thanks guys
@Adromedas Επειδή δεν μπορώ να διακρίνω τι γραφεις στην πρώτη σελιδα εκει που υπολογίζεις την συχνότητα, μπορείς λίγο να πεις τι γραφεις εκει στο Ν ΤΟP και τι prescaler χρησιμοποιείς;
Μπες και διάβασε σελίδα 129 στο
http://www.atmel.com/Images/doc2467.pdf
εγώ αυτό γενικά χρησιμοποίησα στις εξετάσεις όχι όλο αλλά τα κεφάλαιά των περιφερειακών.
/edit
Ν είναι ο prescaller, εάν το αποτέλεσμα σου είναι μεγαλύτερο από 16 bit θες prescaller αφού δεν χωράει στο TOP register που σε όποιο mode είναι 16bit


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: κύριος Φασόλης on September 21, 2016, 18:13:10 pm

@gikats Πως επιλέγεις αρχικα prescaler 1024 για τον εναν timer και 256 για τον αλλο;


εχω favr=4MHz που σημαινει 4Μ κυκλοι ανα δευτερολεπτο ο prescaler το σπαει αυτο οποτε λεω θελω στον timer0 να αυξανεις τον counter σου για καθε 1024 κυκλους...αρα ο counter του timer0 μεσα σε 1 δευτερολεπτο θα μετραει 4Μ/1024 κυκλους. Επειδη εγω θελω να μετρησω 5 ms κανω αυτα που γραφω στα comments. Αν ειχα επιλεξει αλλον prescaler ανα δευτερολεπτο ο counter του timer0 θα μετρουσε πιο πολλους κυκλους και αρα θα ειχα πιο μεγαλο αριθμο να αποθηκευσω στον register μου (OCR0 για τον timer0) αλλα επειδη μπορω να μετραω μεχρι 255 διαλεγω τον μεγαλυτερο δυνατο prescaler για να εχω τον μικροτερο δυνατο αριθμο κυκλων ανα δευτερολεπτο και να μη χρειαστει να μπλεκω με 2 καταχωρητες για να αποθηκευω εναν αριθμο.

Για τον αλλον prescaler δες τον τυπο που λεω στα comments ειναι ιδιος με αυτον που σου ειπε κι ο Andromedas απλα εγω επειδη σεταρα τον timer να παραγει pwm phase correct 8-bit εχω TOP = 255 οποτε βαζω στον τυπο TOP=255  fI/O CLK = favr και το f που θελω εγω ειναι το 1/20ms αν κανεις την αντικατασταση στον τυπο που σου λεω βγαινει ενας αριθμος που ειναι πιο κοντα στο 256 απο τους αλλους prescalers που μπορω να παρω

ΩΣΤΟΣΟ! επειδη ξαναλεω δεν το χω νιωσει το μαθημα μπορει ολα τα παραπανω που λεω να ειναι μπουρδες  :P

(αν δεν καταλαβες κατι επειδη δεν τα εχω γραψει και πολυ ανθρωπινα πες να κανω μια ακομα προσπαθεια να το εξηγησω)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 21, 2016, 18:34:26 pm
Ωραια! Ευχαριστω!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 21, 2016, 21:39:10 pm
Κάτι τελευταίο.
Το θέμα 3 Ιουνιου 2016 είναι κλασσικό θέμα adc. Έχω όμως μία απορία. Πως αποθηκεύονται στους καταχωτητές R0-R7 αντίστοιχα; Χαζή ερώτηση μάλλον αλλά έχω σκαλώσει τέτοια ώρα.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: MrsHofstadter on September 21, 2016, 22:08:12 pm
κάνεις ldi XL,$00
ldi XH, $00 ;δηλαδή τον r0

και μετά

st X+,temp

όπου στον temp θεωρώ ότι αποθηκεύεται η τιμή που προκύπτει απ τη μετατροπή


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Chester on September 21, 2016, 22:13:30 pm
Τέλεια. Καλή επιτυχία αυριο!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: kaspas on June 19, 2017, 14:20:15 pm
Στα θέματα σε κάποια λέει κάτι για αντιστάσεις πρόσδεσης. Τι αλλάζει στον τρόπο λειτουργίας των port;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Valkyrie on June 19, 2017, 21:25:13 pm
Στα θέματα σε κάποια λέει κάτι για αντιστάσεις πρόσδεσης. Τι αλλάζει στον τρόπο λειτουργίας των port;

Δεν είδα στα θέματα πώς το λέει αλλά διαβάζοντας θεωρία για να καταλάβω τι είναι η αντίσταση πρόσδεσης και τι ρόλο βαράει διάβασα από αυτό για να το νοιώσω λίγο :

'' Ο ATmega16 έχει 40 ακροδέκτες εισόδου – εξόδου, 32 από τους οποίους είναι οργανωμένοι σε 4 θύρες εισόδου – εξόδου των 8 ακροδεκτών η κάθε μία (Port A, Port B, Port C και Port D). Οι θύρες αυτές μπορούν να χρησιμοποιηθούν είτε ως γενικές ψηφιακές είσοδοι – έξοδοι, είτε με βάση τις εναλλακτικές τους λειτουργίες.

Εφόσον οι θύρες χρησιμοποιούνται ως γενικές είσοδοι – έξοδοι, κάθε ακροδέκτης μπορεί να μετατραπεί από ακροδέκτης εισόδου σε ακροδέκτη εξόδου και το αντίστροφο, χωρίς ακούσια μετατροπή και άλλων ακροδεκτών, με χρήση των εντολών SBI και CBI. Για κάθε θύρα εισόδου – εξόδου υπάρχουν συνολικά τρεις διευθύνσεις στην μνήμη εισόδου – εξόδου. Η μία από τις διευθύνσεις αυτές, η DDxn, χρησιμοποιείται για τον καθορισμό της κατεύθυνσης των ακροδεκτών, δηλαδή καθορίζει ποιοι από τους ακροδέκτες θα λειτουργήσουν ως είσοδοι και ποιοι ως έξοδοι. Η δεύτερη διέυθυνση, η PORTxn, αφορά στα δεδομένα που πρόκειται να εγγραφούν σε εκείνους τους ακροδέκτες που έχουν προγραμματιστεί ως έξοδοι ενώ τέλος η τρίτη διεύθυνση, η PINxn, αφορά στα δεδομένα που διαβάζονται από τους ακροδέκτες που έχουν προγραμματιστεί ως είσοδοι. Οι διευθύνσεις αυτές αναφέρονται πιο απλά και ως καταχωρητές, ο DDxn είναι ο λεγόμενος καταχωρητής κατεύθυνσης. Αν ο DDxn έχει την τιμή 1, ο ακροδέκτης Pxn λειτουργεί ως ακροδέκτης εξόδου, αν ο DDxn έχει την τιμή 0, ο Pxn λειτουργεί ως ακροδέκτης εισόδου.

Αν o καταχωρητής PORTxn έχει την τιμή 1 και ο αντίστοιχος ακροδέκτης λειτουργεί ως είσοδος, μια εσωτερική αντίσταση πρόσδεσης (pull up resistor) ενεργοποιείται. Για να αποσυνδεθεί η εσωτερική αυτή αντίσταση θα πρέπει να γραφεί 0 στον PORTxn ή ο ακροδέκτης να μετετραπεί σε ακροδέκτη εξόδου.

Αν ο ακροδέκτης είναι ακροδέκτης εισόδου και ο PORTxn έχει την τιμή 1, ο ακροδέκτης οδηγείται σε υψηλή λογική στάθμη (1) ενώ αν ο PORTxn έχει την τιμή 0, ο ακροδέκτης οδηγείται σε χαμηλή λογική στάθμη (0).
Αν κάποιος ακροδέκτης δεν χρησιμοποιείται συνίσταται να εξασφαλιστεί σε αυτόν σταθερή στάθμη. Η απλούστερη μέθοδος για αυτό είναι να ενεργοποιηθεί η εσωτερική pull up αντίσταση. ''

Ελπίζω να βοήθησε κάπως


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 21, 2017, 21:33:48 pm
Προσπάθεια για λύση του θέματος 2 Φεβρουαρίου 17. Δεν κατάλαβα ποιόν prescaler να χρησιμοποιήσω για τον ADC (δε λέει πόσα Κsamples/s). Μήπως είναι 1 sample/second? (128 samples σε 128 seconds). Όπως και να χει έβαλα τον μεγαλύτερο prescaler. Επίσης δεν ήμουν σίγουρος για τις επιλογές για τον ADMUX και έτσι έβαλα τις απλούστερες (input ADC0, gain 1).


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 22, 2017, 16:02:10 pm
Προσπάθεια για λύση του θέματος 3 Φεβρουαρίου 17. Δεν ενεργοποιώ το interrupt για το INT0, αλλά σετάρω τον EICRA όσον αφορά το falling edge. Μετά κάνω polling τον EIFR, καθώς αυτός ενεργοποιείται ανεξαρτήτως αν είναι ενεργοποιημένο το αντίστοιχο interrupt. Αν δε δουλεύουν έτσι πείτε μου. Κατά τα άλλα πολύ εύκολο, μακάρι να βάλει τέτοιο και την Τετάρτη.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 22, 2017, 17:20:04 pm
Προσπάθεια για λύση του θέματος 3 Σεπτεμβρίου 2016. Δε μου είναι σαφές αν το polling που λέει ότι θέλει αφορά το σήμα έναρξης ή τα ADC conversions, οπότε τα έκανα και τα δύο με polling.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 23, 2017, 17:30:07 pm
Προσπάθεια για λύση θέματος 2 Σεπτεμβρίου 2016. Μου βγήκε τεράστια, λογικά θα έχω κάνει λάθη, και μπορεί να μην είναι καν ο βέλτιστος (σε χώρο και χρόνο) τρόπος.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 23, 2017, 19:32:13 pm
Προσπάθεια για λύση θέματος 3 Ιουνίου 2016. Δεν ξέρω αν αυτό που κάνω με τον counter χρειάζεται ή είναι περιττό. Το κάνω για να κάνω disable τον ADC αφού έχει τελειώσει. Μήπως δε χρειάζεται, και απλά αρκεί ένα infinite loop?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: georgkonst on June 25, 2017, 23:34:28 pm
Έχει κάποιος λύσεις για:
2ο Ιούνιο 13
2ο Ιούνιο 15
2o Ιούνιο 16

Indy σωστά πρέπει να είσαι σε αυτά που ανεβάζεις

Edit: Έχω μία πρόταση για το Θ2 από Ιούνιο 16 με το μίξερ, με μία επιφύλαξη, ίσως να θέλει δουλειά ακόμα


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Mr K on June 26, 2017, 00:03:42 am
Ρε παιδια ο τρόπος

ldi R16, 1<<CS12
out TCCR1B , R16

δεν είναι μαλακία αφού με τη δεύτερη εντολή χάνονται όλες η προηγουμενες σημαίες του TCCR1B εκτός της CS12;

πχ ηταν ο TCCR1B --> 0b 010001000  και με το παραπάνω σχήμα εντολών μένει μόνο το 0b 00000100 (δοκιμασμένο στον AVR)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: kaspas on June 26, 2017, 09:58:42 am
θα συμφωνήσω. Εγώ συνήθως φτιάχνω όλον τον TCCR1B στο τέλος όταν θέλω να τον ενεργοποιήσω κιολας. αλλιώς ίσως να γίνεται με κάτι τέτοιο:
in r16,TCCR1B
ori r16,1<<CS12
out TCCR1B,r16
ή sbi


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: bsp on June 26, 2017, 21:59:08 pm
Στο pdf με τα λυμένα, για το 3ο θέμα του Ιουνίου 2009 και για το 2ο θέμα του σεπτεμβριου 2007 αφού ζητάει ακρίβεια 8 bit δεν θα πρέπει να θέσουμε ADLAR=1 και να παίρνουμε το ADCH?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: maro on June 26, 2017, 22:05:43 pm
μπορει να με διαφωτισει καποιος πχ για τον timer2 ποτε χρησιμοποιω ctc mode και ποτε normal mode με το OC2 σε compare match? (ειναι το παραδειγμα 8 στις ασκησεις του πετρου m2examples)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: kaspas on June 26, 2017, 22:27:56 pm
μπορει να με διαφωτισει καποιος πχ για τον timer2 ποτε χρησιμοποιω ctc mode και ποτε normal mode με το OC2 σε compare match? (ειναι το παραδειγμα 8 στις ασκησεις του πετρου m2examples)
ctc = clear on compare στην ουσία εγώ το χρησιμοποιώ για να φτιάξω timer με ακριβώς το χρόνο που θέλω πχ just 1s, αλλά το interrupt του είναι το compare όχι το overflow. Το normal απλά μετράει απ το 0 έως max και κάνει overflow. Γίνεται να αλλάζεις το bottom σε κάθε overflow και να πετύχεις ίδιους χρόνους με το ctc (νομίζω). Αυτά σε γενικές γραμμές.

Παιδιά τα κυκλώματα διασύνδεσης που λέει σε μερικά θέματα τι είναι;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: maro on June 27, 2017, 13:09:51 pm
Προσπάθεια για λύση θέματος 3 Ιουνίου 2016. Δεν ξέρω αν αυτό που κάνω με τον counter χρειάζεται ή είναι περιττό. Το κάνω για να κάνω disable τον ADC αφού έχει τελειώσει. Μήπως δε χρειάζεται, και απλά αρκεί ένα infinite loop?

σε παρομοιο παλαιοτερο θεμα που εχει τη λυση του στα downloads, παιρνουν prescaler=16 γιατι διαιρουν και με το πληθος των καναλιων, δηλαδη κανουν 8Μ / (13*4Κ*8) οπου 8 το πληθος των καναλιων


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 27, 2017, 14:32:05 pm
σε παρομοιο παλαιοτερο θεμα που εχει τη λυση του στα downloads, παιρνουν prescaler=16 γιατι διαιρουν και με το πληθος των καναλιων, δηλαδη κανουν 8Μ / (13*4Κ*8) οπου 8 το πληθος των καναλιων

thanks!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 27, 2017, 14:32:49 pm
Όταν λέει "αποθηκεύστε τα στην SRAM" τί ακριβώς εννοεί, πώς το κάνουμε; Κανά παράδειγμα;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: georgkonst on June 27, 2017, 20:44:10 pm
σε παρομοιο παλαιοτερο θεμα που εχει τη λυση του στα downloads, παιρνουν prescaler=16 γιατι διαιρουν και με το πληθος των καναλιων, δηλαδη κανουν 8Μ / (13*4Κ*8) οπου 8 το πληθος των καναλιων

Ποια η λογική πίσω από αυτό; Αφού κάθε φορά με ένα κανάλι δουλεύω


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: kaspas on June 27, 2017, 21:21:39 pm
Ποια η λογική πίσω από αυτό; Αφού κάθε φορά με ένα κανάλι δουλεύω
Δεν γίνεται να κάνεις δειγματοληψία ταυτόχρονα 8 κανάλια κάθε φορά επιλέγεις 1 από αυτά για δειγματοληψία. Οπότε η συχνότητα δειγματοληψίας του κάθε καναλιού πάει από την αρχή το fcpu/8. Τα άλλα 2 είναι οι κύκλοι που χρειάζονται για να ολοκληρωθεί ένα sample και η συχνότητα δειγματοληψίας που ιδανικά θέλεις να έχεις. Από εκεί βγάζεις το Ν παίρνεις ότι το κοντινότερο υπάρχει στην τιμή που θα βρεις.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 27, 2017, 22:27:24 pm
Δεν γίνεται να κάνεις δειγματοληψία ταυτόχρονα 8 κανάλια κάθε φορά επιλέγεις 1 από αυτά για δειγματοληψία. Οπότε η συχνότητα δειγματοληψίας του κάθε καναλιού πάει από την αρχή το fcpu/8. Τα άλλα 2 είναι οι κύκλοι που χρειάζονται για να ολοκληρωθεί ένα sample και η συχνότητα δειγματοληψίας που ιδανικά θέλεις να έχεις. Από εκεί βγάζεις το Ν παίρνεις ότι το κοντινότερο υπάρχει στην τιμή που θα βρεις.

Άρα τελικά ισχύει το favr / (13 * samples_per_second * Nκαναλιών) ?
Επίσης, κάποιες φορές αυτό οδηγεί σε prescaler Npr όπου favr / Npr είναι (πολύ) μεγαλύτερο από 200KHz που θέλει ο ADC. Τότε επιλέγουμε (ψιλομπακάλικα) το μικρότερο prescaler για τον οποίο ισχύει 50KHz <= favr / Npr <= 200KHz ?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Ancient on June 27, 2017, 22:38:47 pm
Δεν γίνεται να κάνεις δειγματοληψία ταυτόχρονα 8 κανάλια κάθε φορά επιλέγεις 1 από αυτά για δειγματοληψία. Οπότε η συχνότητα δειγματοληψίας του κάθε καναλιού πάει από την αρχή το fcpu/8. Τα άλλα 2 είναι οι κύκλοι που χρειάζονται για να ολοκληρωθεί ένα sample και η συχνότητα δειγματοληψίας που ιδανικά θέλεις να έχεις. Από εκεί βγάζεις το Ν παίρνεις ότι το κοντινότερο υπάρχει στην τιμή που θα βρεις.

Δε λέει όμως ότι η συχνότητα με την οποία δειγματοληπτείται κάθε κανάλι είναι 4Ksamples/sec. Λέει ότι η συχνότητα με την οποία δειγματοληπτεί ο A/D είναι 4Ksamples/sec.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Indy on June 28, 2017, 14:05:21 pm
Τί ισχύει παιδιά τελικά, μπαίνει ο αριθμός των καναλιών στον τύπο ή όχι; Καλή θα ήταν μια απάντηση πριν την εξέταση :P Επίσης αυτό που ρωτάω παραπάνω, αν βγαίνει συχνότητα εκτός 50KHz-200KHz παίρνουμε αυθαίρετα κατάλληλο prescaler?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: anaslout on September 17, 2017, 13:57:44 pm
παιδιά καλησπέρα.θέλω να ρωτήσω αν έχει καταλάβει  στις λυμένες του 2013-2017 πως χειρίζεται το bit WGM12?είδα δηλαδή ότι σε κάποιες ασκήσεις φτάχνει κανονικά τον χρονιστή σε λειτουργία σύγκρισης αλλά δεν ενεργοποιεί το συγκεκριμένο bit μέχρι κάποιο επόμενο σημείο,όπου ξαφνικά ενεργοποιεί το WGM12.αυτό γιατί το κάνει?Παρόμοια χειρίζεται και το bit 4 του TCCR1B για τα PWM που πάλι το ενεργοποιεί και το απενεργοποιεί χειροκίνητα σε κάποιο σημείο της άσκησης.(Ιούνιος 2013 Θέμα 2)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: raptalex on June 03, 2018, 18:07:05 pm
Παιδιά μία απορία. Στα λυμένα θέματα που ανέβηκαν στα downloads ( 2013->2017) , πχ στα θέματα Φεβ 17 το Θέμα 3 και Σεπτ 16 Θέμα 3 λέει η ανάγνωση του σήματος να γίνει με τη μέθοδο των σημαιών.

Το παλικάρι που τα έλυσε όντως εφαρμόζει μέθοδο σημαιών, όμως περιμένει να αλλάξει η σημαία του EIFR , ενεργοποιώντας τον EICRA ( για τη πτώση παλμού πχ ). Προφανώς όμως στην αρχή δεν βάζει .org 0002 jump INT0, αφού τότε θα γινόταν διακοπή.

Το Θέμα είναι, γίνεται να βάλεις EIFR - EICRA  ΧΩΡΙΣ να έχεις ενεργοποιημένα τα EI του ΙΝΤ0; Δηλαδή θα τρέξει κανονικά ο κώδικας;;

Δεν είναι πιο απλό απλά να διαβάζεις ένα σήμα ( Πχ στο PORT D ,το pin 4 ας πούμε με τη κάθοδο του παλμού ) και να βάλεις κάτι τέτοιο :
...
wait_here_for_flag : sbic PORTD , 5
               rjmp  wait_here_for_flag
...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Argirios on June 04, 2018, 19:51:46 pm
με πιό τύπο βρίσκουμε το prescaler στο ADC?
είναι σωστό αυτό που έχει στις λυμένες? Fadc=Favr/13N


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: feoudarxhs on June 04, 2018, 20:55:05 pm
με πιό τύπο βρίσκουμε το prescaler στο ADC?
είναι σωστό αυτό που έχει στις λυμένες? Fadc=Favr/13N

Δεν ξέρω σε ποια θέματα αναφέρεσαι, πάντως το datasheet του ATMega128 λέει ξεκάθαρα ότι για 10bits resolution o ADC παίζει στα 50 με 200kHz. Αν θες μικρότερο resolution μπορείς να παίξεις και με μεγαλύτερες συχνότητες, για ποιο γρήγορες μετατροπές. Φαντάζομαι είναι περιτό να γράψω πως βρίσκεις το prescale factor, αν έχεις τον ATMega128 να τρέχει πχ. στα 8Mhz.  :P


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: raptalex on June 05, 2018, 11:45:32 am
Δεν ξέρω σε ποια θέματα αναφέρεσαι, πάντως το datasheet του ATMega128 λέει ξεκάθαρα ότι για 10bits resolution o ADC παίζει στα 50 με 200kHz. Αν θες μικρότερο resolution μπορείς να παίξεις και με μεγαλύτερες συχνότητες, για ποιο γρήγορες μετατροπές. Φαντάζομαι είναι περιτό να γράψω πως βρίσκεις το prescale factor, αν έχεις τον ATMega128 να τρέχει πχ. στα 8Mhz.  :P

Απλά ακριβώς από πάνω γίνεται μία συζήτηση για τον αν μπαίνει στον τύπο υπολογισμού και ο αριθμός των καναλιών...

Δηλαδή αν είναι :  Fadc=Favr/13N  ή   favr / (13 * samples_per_second * Nκαναλιών)...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: raptalex on June 05, 2018, 12:42:40 pm
Επίσης μία ερώτηση.
Όταν επιλέγω Prescaler (έστω για τον timer 1 ) , αν χρειαστώ και 2ο timer ή πχ τον ADC , θα έχουν τον ίδιο prescaler ή μπορώ για το 2ο timer να επιλέξω για αυτόν άλλο N;
Ρωτάω γιατί στη θεωρία λέει ότι ο Timer0 έχει Δικό του Prescaler ,άρα μπορεί να χρησιμοποιηθεί και ασύγχρονα κτλπ κτλπ..


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: feoudarxhs on June 05, 2018, 13:53:27 pm
Τι /13Ν και αριθμό καναλιών; Που τα βλέπετε αυτά; Μην μπερδεύεστε με κάθε νούμερο που βλέπετε και κάνετε τα απλά δύσκολα...

50-200Khz θέλει clock το κύκλωμα για να κάνει τις διαδοχικές προσεγγίσεις. Δώστου τέτοιο frequency και θα δουλέψει σίγουρα με 10bit καθώς ο συγκριτής του θα έχει χρόνο να σταθεροποιεί τις εξόδους του.

Άμα δε θες 10 bit ακρίβεια, χρόνισε το και ποιο πάνω. Τώρα πόσο πιο πάνω; Δεν είναι στο datasheet καθώς πολύ πιθανόν δεν έχει δοκιμαστεί για να δοθούν εγγυήσεις. Αλλά στα θέματα εξετάσεων δε θα κάτσεις να ασχοληθείς με το αν μπορείς να χρονίσεις πιο ψηλά τον ADC...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: BabisI on June 05, 2018, 13:54:29 pm
Εδώ στον avr128 δεν έχουμε inverse logic έτσι? Δηλαδή για port εξόδου αν δώσω 1, τότε έχω 1 κανονικά στην έξοδο (και ανάβει το led πχ / ενεργοποιείται το ρελέ) και για είσοδο αν πατήσω κουμπί τότε διαβάζω 1?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: raptalex on June 05, 2018, 13:55:03 pm
Τι /13Ν και αριθμό καναλιών; Που τα βλέπετε αυτά; Μην μπερδεύεστε με κάθε νούμερο που βλέπετε και κάνετε τα απλά δύσκολα...

50-200Khz θέλει clock το κύκλωμα για να κάνει τις διαδοχικές προσεγγίσεις. Δώστου τέτοιο frequency και θα δουλέψει σίγουρα με 10bit καθώς ο συγκριτής του θα έχει χρόνο να σταθεροποιεί τις εξόδους του.

Άμα δε θες 10 bit ακρίβεια, χρόνισε το και ποιο πάνω. Τώρα πόσο πιο πάνω; Δεν είναι στο datasheet καθώς πολύ πιθανόν δεν έχει δοκιμαστεί για να δοθούν εγγυήσεις. Αλλά στα θέματα εξετάσεων δε θα κάτσεις να ασχοληθείς με το αν μπορείς να χρονίσεις πιο ψηλά τον ADC...

Οκεε. Σε ευχαριστώ πολύ για την απάντησή σου!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: feoudarxhs on June 05, 2018, 14:11:08 pm
Εδώ στον avr128 δεν έχουμε inverse logic έτσι? Δηλαδή για port εξόδου αν δώσω 1, τότε έχω 1 κανονικά στην έξοδο (και ανάβει το led πχ / ενεργοποιείται το ρελέ) και για είσοδο αν πατήσω κουμπί τότε διαβάζω 1?

Μα ο AVR δε διαθέτει ούτε LEDs, ούτε switches. Αυτά καθορίζονται από τον τύπο τον LEDs και διακοπτών που θα βάλεις. Του εργαστηρίου (της STK500 ουσιαστικά) λειτουργούσαν με αρνητική λογική...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: BabisI on June 05, 2018, 14:17:29 pm
Μα ο AVR δε διαθέτει ούτε LEDs, ούτε switches. Αυτά καθορίζονται από τον τύπο τον LEDs και διακοπτών που θα βάλεις. Του εργαστηρίου (της STK500 ουσιαστικά) λειτουργούσαν με αρνητική λογική...

Ναι το ξέρω, απλά στα θέματα που βλέπω λέει έξοδο σε led ή ενεργοποιεί ρελέ ή πατιέται πλήκτρο, χωρίς να προσδιορίζει τι είδους λογική είναι. Οπότε είναι ό,τι το θεωρούμε εμείς? Γιατί σε όλα τα θέματα στις λύσεις για led πχ το κάνει με 0 να ανάβουν, άρα υιοθετεί τη λογική της STK και της αρνητικής, ενώ για ρελέ όχι. Θα είναι κάποια σύμβαση που θα πρέπει να τη δηλώσουμε στην αρχή της άσκησης αν δε δίνεται?

Επίσης, το .db το χρησιμοποιεί όταν θέλει να αποθηκεύσει στην SRAM.  Ωστόσο λέει .db 64 στο Θ3Σεπτ16 και το ίδιο για Θ3Ιουν15. Όμως το .db [value] δεν δηλώνει την τιμή που θα γραφεί στη μνήμη? Όχι το πλήθος των bytes. Με το .db 64 θέλει να δηλώσει 64 bytes ότι θα γράψει εκεί, όμως με αυτή την εντολή δεν σημαίνει ότι αποθηκεύεται το 64 σαν αριθμός? Και του Ιουν το 64 από πού βγαίνει ακόμα και με αυτή τη λογική? Κάθε φορά γράφουμε δυάδες byte στην SRAM αλλά δεν ξέρουμε εξαρχής πόσες δυάδες θα είναι αυτές. Ή μήπως το .db 64 το κάνουμε μόνο και μόνο αναγκαστικά για να βάλουμε κάπου στη μνήμη έναν pointer (label) όπου θα γράψουμε μετά στην SRAM με τον Χ,Ζ κλπ και δεν έχει σημασία το 64?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Ap.Mor. on June 05, 2018, 17:42:17 pm
...
Απλά χρησιμεύει σαν pointer,νομίζω μπορείς να γράψεις και :
Code:
LDI ZH,HIGH(0x100)
LDI ZL,LOW(0x100)
Ξεκινώντας έτσι αρχικοποιείς το Ζ να δείχνει στη διεύθυνση 100 και μετά...
Code:
st Ζ+,r0 ; Store r0 in data space loc. $100(X post inc)
st Ζ,r1 ;
Όπου r1:r0 βρίσκεται αυτό που θες να αποθηκεύσεις.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Ap.Mor. on June 05, 2018, 17:46:02 pm
Κάποια έτοιμα snippet κωδικά γραμμένα σε .MACROS για πιο γρήγορη αρχικοποίηση των PWD και Timer1.
Σημείωση : Για το PWD όταν το έγραφα σκεφτόμουν ότι το mode 14 είναι αυτό που θέλω να χρησιμοποιήσω οπότε μπορεί να μην κάνει για όλα τα Modes.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: raptalex on June 05, 2018, 18:11:43 pm

Επίσης, το .db το χρησιμοποιεί όταν θέλει να αποθηκεύσει στην SRAM.  Ωστόσο λέει .db 64 στο Θ3Σεπτ16 και το ίδιο για Θ3Ιουν15. Όμως το .db [value] δεν δηλώνει την τιμή που θα γραφεί στη μνήμη? Όχι το πλήθος των bytes. Με το .db 64 θέλει να δηλώσει 64 bytes ότι θα γράψει εκεί, όμως με αυτή την εντολή δεν σημαίνει ότι αποθηκεύεται το 64 σαν αριθμός? Και του Ιουν το 64 από πού βγαίνει ακόμα και με αυτή τη λογική? Κάθε φορά γράφουμε δυάδες byte στην SRAM αλλά δεν ξέρουμε εξαρχής πόσες δυάδες θα είναι αυτές. Ή μήπως το .db 64 το κάνουμε μόνο και μόνο αναγκαστικά για να βάλουμε κάπου στη μνήμη έναν pointer (label) όπου θα γράψουμε μετά στην SRAM με τον Χ,Ζ κλπ και δεν έχει σημασία το 64?

Παίζει ρόλο το που το δηλώνεις

Από την στιγμή που το έχει στο
.dseg
table: .DB 64

δηλώνει να γίνει κράτηση 64 bytes στη SRAM , στη διεύθυνση table ( Θα μπορούσε κάλλιστα να ορίσει και από που ξεκινάει πχ .org $400
(δες και στις λυμένες του Πέτρου έτσι τα δηλώνει)

αντίθετα το
.cseg
table: .DB 64

δηλώνει αρχικοποίηση τιμής στο 1ο στοιχείο του table


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: BabisI on June 05, 2018, 21:03:32 pm
Ααα κατάλαβα.. Και γιατί στου Ιουνίου του 15 έχει 64 ενώ αποθηκεύουμε τον μέσο όρο, άρα 2 bytes μόνο? Υπονοεί ότι έχουμε 32 μέσους όρους? Ή παίζει κάτι άλλο?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: raptalex on June 05, 2018, 21:18:26 pm
Ααα κατάλαβα.. Και γιατί στου Ιουνίου του 15 έχει 64 ενώ αποθηκεύουμε τον μέσο όρο, άρα 2 bytes μόνο? Υπονοεί ότι έχουμε 32 μέσους όρους? Ή παίζει κάτι άλλο?

Δεν μπορώ να το καταλάβω το γιατί, νομίζω δεν χρειάζονται τόσα.. Βέβαια και το συγκεκριμένο θέμα δεν νομίζω να μπορώ να το λύσω οπότε μην ποντάρεις πολλά στην άποψή μου :D


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Ζak Μckracken on August 15, 2018, 11:19:32 am
Προσπάθεια για λύση του θέματος 3 Φεβρουαρίου 17. Δεν ενεργοποιώ το interrupt για το INT0, αλλά σετάρω τον EICRA όσον αφορά το falling edge. Μετά κάνω polling τον EIFR, καθώς αυτός ενεργοποιείται ανεξαρτήτως αν είναι ενεργοποιημένο το αντίστοιχο interrupt. Αν δε δουλεύουν έτσι πείτε μου. Κατά τα άλλα πολύ εύκολο, μακάρι να βάλει τέτοιο και την Τετάρτη.

Μπραβο ρε συ! ευχαριστούμε! εκτός από αυτά τα 5 θέματα έχεις και άλλα???


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Ζak Μckracken on August 16, 2018, 20:04:54 pm
κάποια πρόταση σαν απάντηση στην ερώτηση θεωρίας με το αυτοκίνητο;;;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: TheoProt on January 24, 2019, 02:59:54 am
Πώς αλλάζουν τα Bits του ADMUX όταν έχουμε κέρδος στα κανάλια εισόδου του ADC ;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Cern O' Bill on January 27, 2019, 17:06:56 pm
απόπειρα λύσης σεπτέμβριος 18 θέμα 3 (θα δοκιμάσω και το θέμα 2 σε λίγη ώρα)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: sg31a on January 27, 2019, 18:06:03 pm
απόπειρα λύσης σεπτέμβριος 18 θέμα 3 (θα δοκιμάσω και το θέμα 2 σε λίγη ώρα)

Να σαι καλα αδερφέ!

Ότι λύσεις ανέβασε το και για μας που διαβάζουμε τελευταία στιγμή στη σκοπια!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Cern O' Bill on January 27, 2019, 18:49:25 pm
θέμα 2 σεπτ18 με πιο πολλές επιφυλάξεις από το προηγούμενο (λόγω αυτού κόπηκα το σεπτέμβρη  :P) μην τα θεωρείτε σωστά by default pls !! παίζει να χω λάθη


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: sg31a on January 27, 2019, 21:22:07 pm
θέμα 2 σεπτ18 με πιο πολλές επιφυλάξεις από το προηγούμενο (λόγω αυτού κόπηκα το σεπτέμβρη  :P) μην τα θεωρείτε σωστά by default pls !! παίζει να χω λάθη

Αν έχεις και τα υπόλοιπα του 18 καλοδεχούμενα


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Cern O' Bill on January 27, 2019, 22:01:28 pm
Αν έχεις και τα υπόλοιπα του 18 καλοδεχούμενα
Δεν έχω κάνει αλλα δυστυχώς. Ίσως αύριο


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: konstsec on June 02, 2019, 17:49:12 pm
Paidia iounios 2013 thema 2 me PWM, paizei kaneis na exei siguri lusi?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Alexandros on September 04, 2019, 21:39:29 pm
Έχει κανείς λύσεις από θέματα Ιούνιο 2019;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Professor on September 10, 2019, 16:13:51 pm
Γνωριζει κανεις αν πρεπει να καθαρισεις τους timers αναμεσα σε καθε διαφορετικο pwm?
Πχ στο θεμα ιουνη, εχεις πολλα διαφορετικα dutycycles. Αναμεσα σε αυτα πρεπει να καθαριζεις τους timers σου η δεν ειναι απαραιτητο?(με την εννοια οτι εχεις ιδιο prescaller και top)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: squawker on September 18, 2019, 22:00:25 pm
+1 όποιος έχει λύσεις από Ιούνη θα βοηθούσε


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: reservoir dog on September 19, 2019, 03:24:33 am
Βοηθάτε αλλήλους , ας ανέβει καμια λυση μπας και βρεθει ακρη  :'( :'(


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: reservoir dog on September 21, 2019, 23:15:47 pm
Στο θέμα 2 του Ιουνίου λεέι αυτό για τις ταχύτητες ανάμειξης πως καθορίζονται με παλμούς PWM περιόδου 20msec και Duty Cycle 80,60,40,20.  Αυτό σημαίνει πως πρέπει να υλοποιηθούν 4 διαφορετικά interrupt routines όπου το κάθε ένα θα κάνει generate ενα τέτοιο pwm με αυτά τα χαρακτηριστικά  ή φτιάχνω ένα interrupt routine για 20msec και σε σειρά στο κύριο πρόγραμμα κάνω τα 4 pwms ? Δηλαδή  generate 80 PWM , 20msec  interrupt, επιστρέφει στο κύριο πρόγραμμα και κάνει generate  PWM 60% και ξαναμπαίνει στο interrupt routine για  20msec  κ.ο.κ ?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μπουγάτσας on September 22, 2019, 11:32:50 am
Γνωρίζει κάποιος πως καθορίζουμε τα samples/sec που θα μας δώσει ένα ADC ? Φαντάζομαι μέσω του prescaler αλλά δεν ξεκαθαρίζει κάτι το βιβλίο


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μαύρη Μάμπα on September 22, 2019, 11:50:48 am
Γνωρίζει κάποιος πως καθορίζουμε τα samples/sec που θα μας δώσει ένα ADC ? Φαντάζομαι μέσω του prescaler αλλά δεν ξεκαθαρίζει κάτι το βιβλίο

Σωστά μέσω prescaler γίνεται. Επιλέγεις ποιον prescaler θες θέτοντας αντίστοιχα τα bits ADPS2:0 του ADCSRA. . Το θέμα είναι ότι το μεγαλύτερο division που μπορείς να κάνεις είναι το 128. Στην άσκηση 2 του Ιουνίου 19, ζητείται 8K samples/sec με 4MHz AVR . 4M/128 = 31,25 KHz οπότε δε μπορείς να πετύχεις τη συχνότητα που ζητάει. Αν καταλαβαίνω κάτι λάθος ας με διορθώσει κάποιος παρακαλώ.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: ροζ θορυβος on September 23, 2019, 20:59:21 pm
Με πολλή επιφύλαξη η λύση της Άσκησης 1 από τα θέματα του Ιουνίου, οποίος θέλει ας το συζητήσουμε.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μπουγάτσας on September 24, 2019, 11:26:40 am
Με πολλή επιφύλαξη η λύση της Άσκησης 1 από τα θέματα του Ιουνίου, οποίος θέλει ας το συζητήσουμε.
Μπορείς να εξηγήσεις που καθορίζεις την περίοδο 10ms του PWM ;
Επίσης, κάθε φορά που περνάει 1 sec και καλείται το ISR, δεν πρέπει εκει μέσα να ξαναορίζεις τα TCNT1H TCNTIL ;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: ροζ θορυβος on September 24, 2019, 11:59:32 am
Μπορείς να εξηγήσεις που καθορίζεις την περίοδο 10ms του PWM ;
Επίσης, κάθε φορά που περνάει 1 sec και καλείται το ISR, δεν πρέπει εκει μέσα να ξαναορίζεις τα TCNT1H TCNTIL ;
Από την περίοδο υπολογίζω τη συχνότητα και στη συνέχεια τον σχετικό prescaler από τον τύπο που επισυναπτω στη φωτό (τυχαίνει να είναι γραμμένες πρόχειρα και οι πράξεις εκεί).Επίσης επειδή έχω χρησιμοποιήσει ctc mode στον χρονιστη του 1 sec, ο μηδενισμός γίνεται αυτόματα και αν δεν κάνω λαθος μετράει και μηδενίζεται διαρκώς εκτός απ' οταν κλείνω το prescaling και κάνω και τους 2 timers παύση για να αλλαξω τις ρυθμίσεις του pwm όπως ζητείται (νομίζω έτσι γίνεται η παύση, αν κλείσεις απλά τα interrupts το prescaling θα συνεχίσει να μετράει και ενδεχομένως προκύπτει σφάλμα).


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μπουγάτσας on September 24, 2019, 12:28:18 pm
Από την περίοδο υπολογίζω τη συχνότητα και στη συνέχεια τον σχετικό prescaler από τον τύπο που επισυναπτω στη φωτό (τυχαίνει να είναι γραμμένες πρόχειρα και οι πράξεις εκεί).
Οκ νομιζω σε επιασα, αποτι βλεπω υπολογίζεις το Ν και παίρνεις τον prescaler που είναι πιο κοντά στο Ν που προκύπτει.
Επίσης επειδή έχω χρησιμοποιήσει ctc mode στον χρονιστη του 1 sec, ο μηδενισμός γίνεται αυτόματα και αν δεν κάνω λαθος μετράει και μηδενίζεται διαρκώς εκτός απ' οταν κλείνω το prescaling και κάνω και τους 2 timers παύση για να αλλαξω τις ρυθμίσεις του pwm όπως ζητείται (νομίζω έτσι γίνεται η παύση, αν κλείσεις απλά τα interrupts το prescaling θα συνεχίσει να μετράει και ενδεχομένως προκύπτει σφάλμα).
Για το ctc ρώτησα γιατι στα παραδείγματα του βιβλίου, όποτε γίνεται interrupt ανανεώνει τις τιμές των TCNT1H-TCNT1L ή των OCR1AH-OCR1AL. Δε ξέρω τι είναι σωστο.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: PureForm on September 24, 2019, 12:42:43 pm
Eπειδη βλεπω πως χρησιμοποιεις τον τιμερ0(8bitος) για να υλοποιησεις τα pwm με περιοδο 10ms(οπως ζηταει),θα παραθεσω αυτο που ειχε πει οταν ειχε ανακοινωσει τα αποτελεσματα "β) με 8-bit PWM δεν μπορώ να έχω περίοδο 10ms" .


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: ροζ θορυβος on September 24, 2019, 12:46:57 pm
η αληθεια είναι ότι διάβασα από τις σημειώσεις ενός φίλου και γενικά δεν είδα να αναφέρεται ο timer0 για pwm, το είδα μόνο στο cheatsheet. Όμως, επειδή υπολόγισα ότι δε γίνεται να έχουμε 1 sec με timer0, αποφάσισα να τα χρησιμοποιήσω έτσι.Επομενως έχει κάποιος κάποια καλυτερη πρόταση?Επίσης αν κάποιος ξέρει πώς κάνουμε διαίρεση με το 7 στο επόμενο θέμα με τον ADC, ας πει.
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: PureForm on September 24, 2019, 12:55:29 pm
α) τροπος πας σε ατμεγκα128 εχοντας 2 τιμερς 16μπιτ (τιμερ1,τιμερ3) οποτε στον εναν τιμερ υπολογιζεις τους χρονους,δεν χρειαζεται να ναι υποχρεωτικα 1σεκ *30 φορες,μπορεις πχ να βγαζεις 10σεκ και ελεγχεις την μεταβλητη που χρησιμοποιεις για counter 3 φορες (ή 2 φορες αν σου ζηταει 20 κλπ) και στον αλλο 16μπιτ timer υπολογιζεις τα pwm.
β)για 32αρι/16αρι ατμεγκα τιμερ1 για το pwm,τιμερ0 και τιμερ2 για τους χρονους αναγκαστικα(παραλληλος συνδυασμος και των 2)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μπουγάτσας on September 24, 2019, 13:23:39 pm
β)για 32αρι/16αρι ατμεγκα τιμερ1 για το pwm,τιμερ0 και τιμερ2 για τους χρονους αναγκαστικα(παραλληλος συνδυασμος και των 2)
Στον atmega32 πως μπορούμε να πετύχουμε παλμό PWM με συχνότητα ακριβώς 100Hz ; Από το πινακάκι του cheatsheet στη σελίδα 31 κανένας συνδυασμός δε δίνει συχνότητα 100Hz που ζητάει στην άσκηση.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: nggianno on September 24, 2019, 14:08:55 pm
Απορία: Όταν στα θέματα λέει η αναγνώριση σήματος να γίνει με τη μέθοδο των σημαιών εννοεί με polling ?
Γιατί και σε άλλες εκφωνήσεις λέει με τη μέθοδο των διακοπών...


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: ροζ θορυβος on September 24, 2019, 15:52:58 pm
Απορία: Όταν στα θέματα λέει η αναγνώριση σήματος να γίνει με τη μέθοδο των σημαιών εννοεί με polling ?
Γιατί και σε άλλες εκφωνήσεις λέει με τη μέθοδο των διακοπών...
Ναι, αφού στην ουσια όταν κάνεις polling ελέγχεις αν σεταριστηκε η σημαία.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μπουγάτσας on September 24, 2019, 16:02:49 pm
Στον atmega32 πως μπορούμε να πετύχουμε παλμό PWM με συχνότητα ακριβώς 100Hz ;
Αν τα εχω καταλαβει σωστα τελικα, αυτο ίσως γινεται με PWM mode 14 του Timer1. Παρόμοιο είναι το παράδειγμα 16-32 στη σελίδα 32 απο το cheatsheet. Αν είμαι λάθος ας με διορθώσει κάποιος.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: tkostas13 on September 24, 2019, 16:46:42 pm
gia timer 0 4Mhz 1024 prescaler δεν κανει overflow καθε 64ms? αρα καθε 16 overflow δε μετραει 1 sec περιπου?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: reservoir dog on September 24, 2019, 16:51:44 pm
Αφου γνωριζουμε την συχνότητα του PWM αυτο που θελουμε δεν ειναι να βρουμε τις τιμες για prescaler πρώτα (στη συγκεκριμένη άσκηση π.χ εμενα το N μου βγαίνει 156 για top = 256 και παίρνω τελικά Ν=256 που είναι το αμέσως επόμενο ) και OCR χρησιμοποιώντας ουσιαστικά τους τύπους της σελ. 27 απο cheatsheet αντικαθιστώντας το top αναλογα με το τι mode θελουμε?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: reservoir dog on September 24, 2019, 16:56:56 pm
Επίσης αυτο που λεει οτι το κουμπι αναδευτηρα κατι τετοιο ενεργοποιειται αυτοματα σημαινει οτι κανουμε external interrupt?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: reservoir dog on September 24, 2019, 17:21:03 pm
Eπειδη βλεπω πως χρησιμοποιεις τον τιμερ0(8bitος) για να υλοποιησεις τα pwm με περιοδο 10ms(οπως ζηταει),θα παραθεσω αυτο που ειχε πει οταν ειχε ανακοινωσει τα αποτελεσματα "β) με 8-bit PWM δεν μπορώ να έχω περίοδο 10ms" .

Γιατί  ομως αυτό? 10msec είναι περίοδος 100Hz οπότε αν βγάζεις prescaler 256 μετά για όλα τα duty cycles που ζητάει το αποτέλεσμα βγαίνει < 256 άρα μπορεί να μετρηθεί και με 8 bit. Τι δεν πιανω?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: rigas on September 24, 2019, 17:25:44 pm
στο θέμα 3 του ιουνιου, λεει οτι πρεπει να παρω τον μεσο ορο και απο τα 7 καναλια του ADC . Πως το κανω αυτο; πρεπει να ενεργοποιησω το ΑDATE του ADSCRA ;


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: ροζ θορυβος on September 24, 2019, 17:43:47 pm
στο θέμα 3 του ιουνιου, λεει οτι πρεπει να παρω τον μεσο ορο και απο τα 7 καναλια του ADC . Πως το κανω αυτο; πρεπει να ενεργοποιησω το ΑDATE του ADSCRA ;
Έχω την εντύπωση ότι το ADATE έχει να κάνει με το free running mode και ότι ο μέσος όρος είναι κάτι που υπολογίζεται με αριθμητική (δηλαδή ολισθήσεις κλπ) αν και δεν ξέρω πως μπορεί να γίνει αυτό από τη στιγμή που δεν είναι πολλαπλάσιο του 2 το 7.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: rigas on September 24, 2019, 18:52:04 pm
συγνωμη μαλλον λαθος διατυπωση :P εννοουσα πως μπορω να παρω το σημα και απο τις 8 εισοδους του ADC.
Γιατι στο βιβλιο σελ. 135 λεει "αν ο ADATE εχει τεθει (=1)  ξεκιναει μετατροπη στο θετικο μέτωπο απο 8 πηγες ..."


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μαύρη Μάμπα on September 24, 2019, 19:23:37 pm
Έχω την εντύπωση ότι το ADATE έχει να κάνει με το free running mode και ότι ο μέσος όρος είναι κάτι που υπολογίζεται με αριθμητική (δηλαδή ολισθήσεις κλπ) αν και δεν ξέρω πως μπορεί να γίνει αυτό από τη στιγμή που δεν είναι πολλαπλάσιο του 2 το 7.

Μια λύση είναι να κάνεις διαδιοχικές αφαιρέσεις με το 7 μέχρι να το αποτέλεσμα που θα κρατάς στον register να είναι μικρότερο του 7. Οπότε έχεις σε εναν register το πλήθος των αφαιρέσεων άρα το ακέραιο μέρος της διαίρεσης και σε έναν άλλο register έχεις το υπόλοιπο της διαίρεσης και κάπως έτσι να κάνεις παιχνίδι.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Μαύρη Μάμπα on September 24, 2019, 19:28:14 pm
Και τώρα που το σκέφτομαι ίσως για αυτό θέλει τα 8 πιο σημαντικά bit για να μην ασχοληθούμε περισσότερο με τη διαίρεση. Να κρατήσουμε δηλαδή μόνο τον ακέραιο.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: reservoir dog on September 24, 2019, 22:58:49 pm
Κάποια απάντηση για την τελευταια ερωτηση θεωριας του Ιουνη?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: jaime on September 24, 2019, 23:09:05 pm
 O τύπος για να βρούμε την τιμή του prescaler στον ADC ποιος είναι?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: pesto80 on September 25, 2019, 00:00:43 am
Αφου γνωριζουμε την συχνότητα του PWM αυτο που θελουμε δεν ειναι να βρουμε τις τιμες για prescaler πρώτα (στη συγκεκριμένη άσκηση π.χ εμενα το N μου βγαίνει 156 για top = 256 και παίρνω τελικά Ν=256 που είναι το αμέσως επόμενο ) και OCR χρησιμοποιώντας ουσιαστικά τους τύπους της σελ. 27 απο cheatsheet αντικαθιστώντας το top αναλογα με το τι mode θελουμε?


++++++++++++++++++++++++++++++++++++++++

ΓΙΑΤΙ ΔΕΝ ΓΙΝΕΤΑΙ 10ms με 8bit PWM??? ΑΦΟΥ ΑΝ ΚΑΝΟΥΜΕ ΤΟΥΣ ΥΠΟΛΟΓΙΣΜΟΥΣ ΤΟΥ ΦΙΛΟΥ ΒΓΑΙΝΕΙ!


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: papoudaa on February 01, 2020, 00:07:43 am
στον atmega16 πως μπορούμε να ορίσουμε αν θα έχουμε single conversion ή free running mode στον adc?


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: stalias_va on February 01, 2020, 15:35:25 pm
Αν εχει λυσει κανενας θεματα Σεπτ , ας τα ανεβασει


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: Alexandros on February 06, 2020, 01:59:59 am
Παιδιά, θερμή παράκληση, όποιος έχει λύσεις για αυτό το μάθημα. Κυρίως χρονιά Παπαευσταθίου.


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: mano_lee on February 06, 2020, 12:33:09 pm
Σεπτ_2019 θέμα 1 (αλλά δεν ξέρω αν είναι σωστό)


Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: allstarabey on February 06, 2020, 13:11:05 pm
Σεπτ_2019 θέμα 1 (αλλά δεν ξέρω αν είναι σωστό)

καλησπερα! εχω μια απορια!
Χρησιμοποιεις timers και μετα καποια iterations !
αυτο δεν θα επρεπε να γινει με μια loop ατερμονη
LOOP : jmp LOOP
ετσι ωστε να διακοπει απο το interrupt λόγω overflow?






Title: Re: [Μικρο ΙΙ] Παλια Θέματα-Σχολιασμός Απορίες
Post by: mano_lee on February 06, 2020, 14:26:49 pm
καλησπερα! εχω μια απορια!
Χρησιμοποιεις timers και μετα καποια iterations !
αυτο δεν θα επρεπε να γινει με μια loop ατερμονη
LOOP : jmp LOOP
ετσι ωστε να διακοπει απο το interrupt λόγω overflow?

Ο timer0 που εγραψα είναι για 50ms. Και αφού θέλω 5 sec τρέχω τον timer 100 φορές (κάθε φορά που τελειώνει ο timer αυξάνω κατά ένα το iterations και μετά το συγκρίνω με το 100).