PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SRam und Flash zu klein für Array?



visualman
10.03.2007, 22:37
Hallo Ihr,

wer kennt sich mit uC besser aus als ich? Ich habe zwar schon einige Erfahrungen sammeln können aber eine Verständnisfrage ist bei mir aufgekommen.Ich suche für meine Messanwendung einen geeigneten Controller.

Ich brauche mehrere Arrays von 16 Bit Zahlen oder Mehrdimensional.

uint16_t intfeld[256,50];

Laut meinen Berechnungen würde so ein Array 25 kB einnehmen. Ein Atmega168 hat 1kB SRam und 16kByte Flash.

Bisher wähle ich noch aus und deshalb kann ich nicht testen ob es funktioniert.

Wo wird der Spaß gepseichert. Meines erachtens ist das Array zu groß?

Kennt ihr noch andere Möglichkeiten für das anlegen, für so ein Array.

LG

Visu

vklaffehn
10.03.2007, 23:02
Variablen landen immer im SRAM, da hilft wohl nur, 'nen Controller mit externem Speicherinterface, z.B. den ATMega8515.

wkrug
10.03.2007, 23:09
Brauchst Du tatsächlich so ein grosses Array?
Um welche Art von Daten handelt es sich die da reinkommen sollen ?

Sollen die Daten nicht flüchtig gespeichert und nicht allzu oft geändert werden käme eventuell ein externes I²C EEPROM in Betracht.
Für "normale" Messwerte wär das vermutlich die eleganteste Lösung.

EEPROM's lassen sich üblicherweise bis zu 100tsd. bis 1Mio. mal überschreiben.(Typenabhängig)
Wie lange würde das EEPROM in deinem Anwendungsfall durchhalten ?

Soll das Array in einen normalen RAM Bereich? Dann wirst Du bei den AVR's wohl ein externes RAM anschalten müssen, was bei einigen Typen bereits Hardwaremässig vorgesehen ist- wenn ich mich recht erinnere . :-b

visualman
10.03.2007, 23:15
Hi, danke für die schnellen Antorten.

ich will mit dem goertzel alorithmus frequenzen analysieren.

Ich muss mal schauen wie ich den Speicherbedarf senken kann.

Ich schaue mir auf jeden Fall die Variante mit dem externen Ram an. Ein eeprom wird wohl zu langsam sein. Muss noch Echtzeitfähig bleiben.

Gruß

SprinterSB
11.03.2007, 10:47
Du kannst einen AVR nehmen, der ein externes RAM-Interface hat oder bastelst selber eine RAM-Lösung, zB mit einem oder mehreren 62256 (256k-Bit SRAM, byteweise organisiert). Oder du gehtst zu einer anderen µC-Familie wie zB ARM oder TriCore.

visualman
11.03.2007, 20:51
Von der Prozessorgeschwindigkeit ist ein Arm auch schneller aber irgendwie schreckt mich die Entwicklung des Boards ab. Die Dil Gehäuse sind einfach besser geeignet für einen Prototyp.

Ich würde ein Arm nehmen aber ich möchte kein Versuchboard verwenden.

Irgendwie sehe ich bei den Gehäusen nicht durch. Gibt es überhaupt bei den Arms auch entsprechende Gehäuse zum einstecken oder muss man alle selber Löten. SprinterSB hast du schonmal einen Arm gelötet.

Schwierig????