www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik speicher - größe von daten abschätzen


Autor: speicherschorsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guten abend,

ich habe so gut wie keine erfahrung in der mikrocontroller 
programmierung. in meinem projekt arbeite ich mit einem pic30f µC.
jetzt bin ich gerade auf die problematik gestoßen, dass auf µCs so gut 
wie kein speicher zur verfügung zu stehen scheint (laut datenblatt 48kb 
programmspeicher, 2kb ram, 1kb eeprom)
meine bisherigen programmierkenntnisse beschränken sich auf den PC 
bereich. und da muss man sich ja keine gedangen darüber machen wieviele 
bit speicherplatz z.B. das wort 'speicherplatz' benötigt.

jetzt brauche ich für mein projekt aber eine tabelle in der ein paar 
strings gespeichert werden sollen.
die tabelle hätte 20 spalten und ca. ebensoviel zeilen, in jeder zelle 
müsste ein wort mit ca. 5 bis 25. zeichen stehen.

das sind dann worst case: 20*20*25 charakters ... also 10kbyte oder?

d.h. für so eine mickrige datenmenge bräuchte ich schon eine 
speichererweiterung???

ich hab gesehen dass so speichererweiterungsdinger egal ob ram oder 
eeprom (seriell jeweils) mind. 6 pins haben. jetz hab ich aber schon 
2uarts und die 8portb pins belegt ... d.h. doch dass ich gar keinen 
speicher mehr anschließen kann?

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja so ne tabelle wie du sie dir vorstellst ist für so nen yC schon 
recht groß. also entweder rest des programms verkleinern oder speicher 
dranhängen.
wenn ich mich nicht irre gibts die billige 24er reihe bis 256Kb und man 
kann 8 davon an einen bs hängen )(bekommen alle ne 3bit-adresse per 
hardware aufgedrückt) und du hast 8x256=2400kB für deine tabellchen. 
natürlich geht auch nur einer oder mehrere (verschiedene) kleinere

Autor: Chris R. (hownottobeseen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo schorsch,

deine Berechnung ist richtig, wobei es sich IMO nicht um worst case 
sondern actual case handelt. Dynamische Speicherverwaltung auf nem µC 
ist Flash-Verschwendung und braucht durch die Hash-Tabelle nur noch mehr 
RAM.
Um die Anbindung externen Speichers wirst du wahrscheinlich nicht 
kommen.

Ohne Zusatzhardware brauchst du dafür Adress- und Datenpins, mit 
Schieberegistern kannst du es noch etwas runterdrücken.

Da ich vor dem selben Problem stehe, hab ich ein Projekt in der Mache 
(128 KByte, Anbindung per UART und I²C), aber leider erst in einem 
frühen Stadium und momentan ohne Zeit etwas daran weiterzuarbeiten.

Autor: Axelwaxel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
24er laufen mit I2C und brauchen am controlör nur 2pins.der rest wird 
hartverdrahtet

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
speicherschorsch schrieb:
> das sind dann worst case: 20*20*25 charakters ... also 10kbyte oder?
Die Frage ist doch was sind das für Texte und wo gehen die hin? Sollen 
die an ein LCD gesendet werden? Oder an den PC übertragen?
Man kann halt anstelle des Strings auch einfach eine Zahl senden und der 
angeschlossene Teilnehmer "weiß" dann welchen String er anzeigen soll.

Autor: speicherschorsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, die daten kommen von RFID Tags und werden im µC miteinander 
verwurschtelt, und es gibt zu viele unterschiedliche datensätze als dass 
ich eine art wörterbuch für alle implementieren könnte...
also wirds wahrsch. der externe speicher, außer mir fällt noch was 
cleveres ein dass ich nicht alle daten von den tags aufm µC speichern 
muss ...

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber die RFID Tags liefern dir doch keine Strings oder?
Und was soll dann mit den "verwurschtelten" Daten geschehen?
Am besten ist wenn du dir erstmal ein Blockschaltbild malst, es hier 
vieleicht einstellst dann kann man schon mehr sagen.

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke auch, wichtig ist erst mal zu klären, was kommt an Daten rein 
(RFID) und wo gehen die Daten wieder raus - und was muss dazwischen 
damit gemacht werden.

Eine Tabelle im EEPROM macht nur dann Sinn, wenn die auch geändert 
werden MUSS - sonst, wenn es sich bei der Tabelle nur um eine 
Übersetzungstabelle von einem RFID-Code in Klartext handelt kann man 
diese vielleicht auch als konstante Tabelle im Programmcode ablegen.

Andere Möglichkeit wenn es nicht direkt auf einem LCD angezeigt werden 
muss ist, dem Zielsystem nur den Zahlencode zu schicken (oder eine 
Tabellenposition) und das Zielsystem (PC mit Windows, Linux o.ä.) 
übersetzt dann in den Klartext.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.