- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Was ist der Unterschied zwischen eeprom und flash ???

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    68
    Beiträge
    1.062
    Anzeige

    E-Bike
    Hallo Stephan

    Ich hoffe auch gerade der Beitrag von Kjion hat dir geholfen
    MfG

    Hellmut

  2. #12
    Gast
    Hallo Helmut

    Die Sache ist natürlich etwas komplizierter als ich es oben geschildert habe.
    Ich benutze zurzeit den P89C51RD von Phillips mit 512 KB interne extra Ram und 64KB flash code speicher (kein eeprom).
    Meine Applikation hat auch etwas verzwicktes.
    Abgesehen den benutzterspezifische Daten und den Programmvariablen sind im nicht flüchtige Speicher etwa 1KB.
    Das Programm selbst hat eine Codegröße von knapp 60KB.
    Den Stack habe ich freigehalten, da zwei Tasks geschedult wird.
    Der scheduler läuft nach round robin prinzip.
    Beim Taskswitchen werden die Stacks jeweils in interne extra ram hin und her kopiert.
    Dabei muss noch hin und her geschaltet werden zwischen interne extra ram und externe extra ram (batterie gepufferte Ram). Beide Tasks muessen auf die gleichen Daten zugreifen (Semaphore) und der Watchdog muss auch noch bedient werden. Was bei der Laufzeit nicht so einfach ist da ein haufen Gleitkommenzahlen sowie unsigned long Zahlen berechnet werden muessen. Und und und...

    Um auf den Punkt zu komme, pfeifft mein controller aus dem letzten Loch.
    Alles klappt auch ganz gut und ich glaube nicht das man da noch vielmehr rauszuholen ist.

    Leider hat Phillips die Produktion diesen Controler eingestellt.
    Er ist zwar noch erhältlich und mein Lager ist noch voll, aber ich bin vorrausschauend für einen Ersatz der natürlich noch mehr auf den Kasten haben soll damit ich ihn noch mehr zupacken kann.

    Mfg Stephan

  3. #13
    Gast
    PS:
    Eure Infos haben mir eine ziemliche Klarheit verschafft.

    Danke
    Stephan

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Zitat Zitat von Anonymous
    ... da ein haufen Gleitkommenzahlen sowie unsigned long Zahlen berechnet werden muessen. Und und und...
    Ich weiss natürlich nicht was genau das Ding machen soll, aber bist du dir sicher daß du nicht auf Gleitkommazahlen verzichten kannst?

    Man kann doch eigentlich immer mit Festkommazahlen arbeiten, und die kann der µC sehr viel schneller verarbeiten.
    So viele Treppen und so wenig Zeit!

  5. #15
    Gast
    Was meinst Du mit Festkommazahlen???

  6. #16
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Zahlen mit einer festen Anzahl an Nachkommastellen.

    Natürlich gibt es dafür keine eigenen Variablentypen, das ist aber auch nicht nötig.
    Nehmen wir mal an du willst eine vom AD-Wandler gemessene Spannung auf 3 Nachkommastellen genau speichern / verarbeiten,
    dann kannst du diesen Wert doch einfach mit 1000 multiplizieren und in einer Int-Variable speichern. (Du rechnest also nicht mit V sondern mit mV)

    So braucht der Controller nurnoch ganz normale Integer-Arithmetik,
    was bei Controllern ohne FPU (Floating Point Unit) natürlich einen ordentlichen Geschwindigkeitsvorteil bringt.



    Man muss natürlich aufpassen, daß man nicht zwei Variablen miteinander verrechnet, die nicht zusammen passen...

    Also z.B. wenn in der einen Variable eine Spannung in V abgelegt ist und in der anderen in mV,
    muss man zuerst eine von beiden entsprechend anpassen. (z.B. den Wert aus der "V" Variable in mV umrechnen)

    kurz gesagt: du musst aufpassen, daß die Anzahl der Nachkommastellen passt.
    So viele Treppen und so wenig Zeit!

  7. #17
    Gast
    Ich gebe dir vollkommen recht. Meine Überlegungen gingen damals auch in diese Richtung.
    Aber dann hätte ich das ganze Programm nochmal umschreiben muessen was ursprunglich von einem PC104 kann. Das war mir dann doch zuviel arbeit, schließlich ging es auch sehr gut ohne.

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    19.02.2005
    Beiträge
    7
    Hallo zusammen also ich stehe genau vor dem selben Problem. Was empfiehlt ihr mir für einen Speicher zu verwenden?

    Ich benutze einen PIC 18F452 mit folgenden Speichern:

    Flash: 32 Kbytes
    RAM: 1536 bytes
    Data EEPROM: 256 Bytes

    Bei meinem Projekt geht es um eine Türsteuerung mit Zugangscodes

    Ich hab folgende 2 Teile die ich in einen Speicher unterbringen muss:

    1) Über einen Mastercode(der fest programmiert ist) können neue Codes hinzugefügt und gelöscht werden. Es wird eine Liste z.B. mit 10 Zugangscodes geben die bei jeder eingabe eines codes überprüft werden müssen. Die Codes dürfen natürlich nicht flüchtig sein. Welchen Speicher soll ich da verwenden?

    2) Die Türsteuerung beinhaltet einen Real Clock Timer wenn man sich mit einem Code anmeldet liest der PIC das Datum aus dem RCT verknüpft dies mit dem Benutzername(Zugangscode) und legt diesen String, oder was auch immer es dann sein wird in eine Liste ab. Diese Liste beinhaltet immer die letzten 50 Türöffnungen. Wo soll ich diese Liste anlegen? Flüchtig/nicht Flüchtig? wie soll ich das mit der Liste lösen? den speicher immer eins nachschieben und die bei 50 Fallen raus?

    Gruss Michael

  9. #19
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    1) die Codes kommen ins EEPROM (da sie sich zwar ändern können, aber nur relativ selten)

    2) ob flüchtig oder nicht musst du wissen...
    im Normalbetrieb würde ich hier auf keinen Fall ins EEPROM schreiben,
    da sich die Liste ja immer ändert wenn Jemand seinen Code eingegeben hat.
    (das muss also auf jeden Fall im RAM gespeichert werden)

    Falls die Daten wirklich nicht verloren gehen dürfen,
    musst du bei einem Stromausfall die ganze Liste in irgendeinen nichtflüchtigen Speicher kopieren.
    Bei einer so langen Liste könnte es im EEPROM allerdings etwas eng werden.

    Wenn der Platz nicht reicht kannst du dem Gerät ja einen eigenen Akku spendieren und die Daten im RAM lassen
    (oder du hängst noch ein externes EEPROM dran)
    So viele Treppen und so wenig Zeit!

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    19.02.2005
    Beiträge
    7
    ja ok stimmt ist eigentlich das einfachste.

    Weisst du wie ich das Problem mit der Liste lösen kann? Das die Strings immer wieder eins nach "rutschen" wenn ein neuer kommT?

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress