Σελίδα 2 από 2 ΠρώτηΠρώτη 1 2
Εμφάνιση αποτελεσμάτων : 11 έως 17 από 17

Θέμα: Βοήθεια για προγραμματισμο atmega2560

  1. #11
    Μέλος
    Όνομα
    Ακης
    Εγγραφή
    Jan 2021
    Περιοχή
    Λαρισα
    Μηνύματα
    35

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από elektronio Εμφάνιση μηνυμάτων
    Ρίξε μια ματιά εδώ

    Υπόψη ότι θα πρέπει να περνάς την μέτρηση σε κάποια μνήμη γιατί σε οποιαδήποτε επανεκκίνηση του μικροελεγκτή θα ξεκινάς πάλι από το 0.
    Ναι αυτο ειναι ενα μεγαλο προβλημα γιατι σε καποιες διακοπες ρευματος θα υπαρχει προβλημα,σκεφτηκα να χρησιμοποιησω την eeprom του μικροελλεγκτη αποθηκευονυας καθε μια ωρα αλλα η eeprom εχει περιορισμους στο write/erase οποτε σκεφτομαι να αποθηκευω καθε 24ωρες.

    Τι λυσεις υπαρχουν για αυτο το προβλημα ωστε να εχω την ποιο βελτιστει καταγραφη??Δεν θα ηθελα να βάλω καρτα sd!

    0 Not allowed! Not allowed!

  2. #12
    Μέλος
    Όνομα
    Μάρκος
    Εγγραφή
    Mar 2012
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.946

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από Ακης12 Εμφάνιση μηνυμάτων
    Ναι αυτο ειναι ενα μεγαλο προβλημα γιατι σε καποιες διακοπες ρευματος θα υπαρχει προβλημα,σκεφτηκα να χρησιμοποιησω την eeprom του μικροελλεγκτη αποθηκευονυας καθε μια ωρα αλλα η eeprom εχει περιορισμους στο write/erase οποτε σκεφτομαι να αποθηκευω καθε 24ωρες.

    Τι λυσεις υπαρχουν για αυτο το προβλημα ωστε να εχω την ποιο βελτιστει καταγραφη??Δεν θα ηθελα να βάλω καρτα sd!
    μπορείς να βάλεις εξωτερική μνήμη Ι2C π.χ. 24LC32 που έχουν πάνω από 1.000.000 κύκλους (κάποιες πιο ακριβές πάνω από 4.000.000 κύκλους) και αν την έχεις και σε βάση μπορείς να την αντικαταστήσεις μετά από 7 περίπου χρόνια...

    0 Not allowed! Not allowed!
    Όταν όλα τα άλλα έχουν αποτύχει..... RTFM.
    Short instructions: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>> Good Luck!
    https://diyelectronics-gr.blogspot.gr https://www.facebook.com/groups/872041030200567

  3. #13
    Μέλος
    Όνομα
    ΑΛΕΞΑΝΔΡΟΣ
    Εγγραφή
    Jan 2012
    Περιοχή
    Άνω Αχαρναί
    Μηνύματα
    717

    Προεπιλογή

    Μια λύση που εφάρμοσα σχετικά πρόσφατα, για να μην βγάλω γρήγορα off την eeprom του atmega, ήταν να χρησιμοποιήσω ένα έτοιμο μοντουλάκι με το DS1307 που παίρνει μια μπαταρία CR2032. Το τμήμα RTC του DS1307 δεν με ενδιέφερε καθόλου, αλλά ο χώρος στην static ram των 56 bytes που μου παρείχε, μου ήταν υπεραρκετός για τις πληροφορίες που ήθελα να αποθηκεύονται συνεχώς ανά δευτερόλεπτο.

    Εν υπόψη, στην static ram μπορούμε να γράψουμε και να σβήσουμε θεωρητικά άπειρες φορές...

    0 Not allowed! Not allowed!

  4. #14
    Μέλος Το avatar του χρήστη SProg
    Όνομα
    Σάββας
    Εγγραφή
    Mar 2014
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.612

    Προεπιλογή

    Η μνήμη EEPROM των AVR έχει 100000 (100K) write/erase cycles. Μιλάμε πάντα ανά byte, ούτε για όλη την EEPROM και ούτε για κάτι άλλο.

    Τίποτα δεν χρειάζεται να προσθέσεις εξωτερικά, το μόνο που πρέπει να κάνεις σε επίπεδο SW, είναι να μετράς πόσες φορές γράφεις ανά περιοχή και να μεταβαίνεις μετά σε επόμενη όταν φτάσεις ένα safe threshold (πχ 95000 εγγραφές).

    Υ.Γ Εάν γράφεις ανά ώρα, αυτό σημαίνει ότι σε δέκα χρόνια έχεις κάνει 10*365*24=87600 εγγραφές ...

    1 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη SProg : 06-05-23 στις 17:34

  5. #15
    Μέλος
    Όνομα
    Ακης
    Εγγραφή
    Jan 2021
    Περιοχή
    Λαρισα
    Μηνύματα
    35

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από SProg Εμφάνιση μηνυμάτων
    Η μνήμη EEPROM των AVR έχει 100000 (100K) write/erase cycles. Μιλάμε πάντα ανά byte, ούτε για όλη την EEPROM και ούτε για κάτι άλλο.

    Τίποτα δεν χρειάζεται να προσθέσεις εξωτερικά, το μόνο που πρέπει να κάνεις σε επίπεδο SW, είναι να μετράς πόσες φορές γράφεις ανά περιοχή και να μεταβαίνεις μετά σε επόμενη όταν φτάσεις ένα safe threshold (πχ 95000 εγγραφές).

    Υ.Γ Εάν γράφεις ανά ώρα, αυτό σημαίνει ότι σε δέκα χρόνια έχεις κάνει 10*365*24=87600 εγγραφές ...
    Καλησπέρα σας,Σάββα η αλήθεια είναι ότι και εγώ αυτό διάβασα δηλαδή οτι οι 100000 write/erase αφορούν το κάθει bit και όχι το συνόλο της eeprom, οπότε με την απάντηση σου μου το επιβεβαίωσες!

    Τελικά θα βάλω εξωτερική eeprom,την 24LC32 που έχει 1000000 read\erase κύκλους και το κονσεπτ έχει ως εξής:

    Θα γράφω κάθε ένα λεπτό για να έχω και καλύτερη στατιστική του συνολικού χρόνου,ώστε αν υπάρχουν πολλές διακοπές ρεύματος να μην προκύπτει μεγάλο σφάλμα...επομένως αν γράφω κάθε ένα λεπτό θα έχω 1440 εγγραφές κάθε μέρα,σκέφτομαι να βάλω ένα safe threshold στις 950000 εγγραφές άρα θα μπορώ να γράφω για 950000/1440 = ~659 μερες = 1.8 χρόνια.

    Θα δεσμεύω 4byte για την αποθήκευση του χρόνου και άλλα 4byte για τον μετρητή των συνολικώς εγγραφών,συνολικά θα δεσμεύω 8 byte καθε 1.8 χρόνια,επομένως αφού η eeprom έχει 4000 byte συνολικά και εγώ θα δεσμεύω 8 byte κάθε 1.8 χρόνια θα μπορώ να καταγράφω για τεράστιο χρόνο 4000/8=500*1,8=......!

    Είμαι κάπου λάθός??

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη Ακης12 : 20-05-23 στις 20:01

  6. #16
    Μέλος Το avatar του χρήστη SProg
    Όνομα
    Σάββας
    Εγγραφή
    Mar 2014
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    2.612

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από Ακης12 Εμφάνιση μηνυμάτων
    100000 write/erase αφορούν το κάθει bit και όχι το συνόλο της eeprom, οπότε με την απάντηση σου μου το επιβεβαίωσες!
    Byte, όχι bit.

    Παράθεση Αρχικό μήνυμα από Ακης12 Εμφάνιση μηνυμάτων
    Τελικά θα βάλω εξωτερική eeprom,την 24LC32 που έχει 1000000 read\erase κύκλους και το κονσεπτ έχει ως εξής:
    Στο read δεν έχεις περιορισμό.

    Παράθεση Αρχικό μήνυμα από Ακης12 Εμφάνιση μηνυμάτων
    Θα δεσμεύω 4byte για την αποθήκευση του χρόνου και άλλα 4byte για τον μετρητή των συνολικώς εγγραφών,συνολικά θα δεσμεύω 8 byte καθε 1.8 χρόνια,επομένως αφού η eeprom έχει 4000 byte συνολικά και εγώ θα δεσμεύω 8 byte κάθε 1.8 χρόνια θα μπορώ να καταγράφω για τεράστιο χρόνο 4000/8=500*1,8=......!
    1Μ εγγραφές υποστηρίζει μόνο η high endurance περιοχή της εξωτερικής μνήμης που είναι 4kbit, δηλαδή 512 bytes.

    0 Not allowed! Not allowed!

  7. #17
    Μέλος
    Όνομα
    Ακης
    Εγγραφή
    Jan 2021
    Περιοχή
    Λαρισα
    Μηνύματα
    35

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από SProg Εμφάνιση μηνυμάτων
    Byte, όχι bit.
    Σωστά!

    Παράθεση Αρχικό μήνυμα από SProg Εμφάνιση μηνυμάτων
    Στο read δεν έχεις περιορισμό.
    Write ήθελα να γράψω και όχι read.


    Παράθεση Αρχικό μήνυμα από SProg Εμφάνιση μηνυμάτων
    1Μ εγγραφές υποστηρίζει μόνο η high endurance περιοχή της εξωτερικής μνήμης που είναι 4kbit, δηλαδή 512 bytes.
    Αυτό δεν το κατάλαβα που γράφεις,μπορείς να μου το εξηγήσεις??Γενικά το High Endurance Block και Standard Endurance Block έχει να κάνει με την θερμοκρασία έτσι δεν είναι ή και με την τάση τροφοδοσίας??
    10Μ εγγραφές υποστηρίζει μόνο η high endurance όπως αναφέρει και στο datasheet :

    Endurance:
    - 10,000,000 Erase/Write cycles
    guaranteed for High Endurance Block
    - 1,000,000 E/W cycles guaranteed for
    Standard Endurance Block

    Άρα εγώ που θα κάνω κοντά στην περιοχή των 1000000 εγγραφών είμαι εντέξει έτσι δεν είναι?
    Ως πρός τους υπολογισμούς έχω κάνει κάποιο λάθος?

    Edit
    Ωχ τωρα το ειδα.....Επίσης αναφέρει

    4.0 WRITE OPERATION
    4.1 Split Endurance
    The 24LC32 is organized as a continuous 32K block of
    memory. However, the first 4K, starting at address 000,
    is rated at 10,000,000 E/W cycles guaranteed. The
    remainder of the array, 28K bits, is rated at 100,000 E/
    W cycles guaranteed. This feature is helpful in applica-
    tions in which some data change frequently, while a
    majority of the data change infrequently. One example
    would be a cellular telephone in which last-number
    redial and microcontroller scratch pad require a high-
    endurance block, while speed dials and lookup tables
    change infrequently and so require only a standard
    endurance rating.

    Άρα το 1.000.000. Εγγραφές αφορούν μόνο τα πρώτα 4kbit και όχι όλη την eeprom,η υπόλοιπη έχει max 100000 εγγραφές!

    1 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη Ακης12 : 21-05-23 στις 14:46

Σελίδα 2 από 2 ΠρώτηΠρώτη 1 2

Παρόμοια Θέματα

  1. βοηθεια για προγραμματισμο Texecom veritas r8
    By gibsonlp in forum Συστήματα Ασφαλείας
    Απαντήσεις: 64
    Τελευταίο Μήνυμα: 27-03-20, 13:57
  2. Προγραμματισμός καθαρού Atmega2560
    By Fire Doger in forum Μικροελεγκτές
    Απαντήσεις: 8
    Τελευταίο Μήνυμα: 11-06-17, 00:28
  3. Βοηθεια για προγραμματισμο ΑMEGA8L
    By thanasis 1 in forum Μικροελεγκτές
    Απαντήσεις: 31
    Τελευταίο Μήνυμα: 16-06-14, 18:05
  4. Βοήθεια για προγραμματισμο ATmega32
    By georanto in forum Μικροελεγκτές
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 25-03-12, 02:53
  5. Χαζοοερώτηση για προγραμματισμο PIC
    By cloud_constructor in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 1
    Τελευταίο Μήνυμα: 07-05-10, 11:50

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας