Forum: Mikrocontroller und Digitale Elektronik Elegante Lösung zur Datenspeicherung mit µC


von Steffen I. (Gast)


Lesenswert?

Moin,

momentan plane ich den Bau eines kleinen Spektrometers. Dabei wird eine 
CCD-Zeile (ILX551B) durch einen 12-Bit-ADC zyklisch mit 1MHz Abtastrate 
ausgelesen. Die CCD-Zeile spuckt dabei 2087 Pixel-Analogwerte aus. Das 
Problem ist jetzt folgendes: ich suche eine elegante Möglichkeit die 
Daten (2087*12Bit) zwischenzuspeichern, dabei muss der Datendurchsatz 
mit 1Mbit/s gewährleistet sein. Ich würde dazu gerne einen ATMega32 
verwenden (hab noch welche davon rumliegen). Das Problem dabei ist aber: 
das SRAM ist zu klein für die Daten und die Speicherung der Daten auf 
dem internen Flash während des Programmablaufs ist wohl nur sehr 
schwierig oder garnicht zu realisieren? Ich dachte schon an die 
Aufteilung der 12Bit-Datenblöcke in 8-Bit-Blöcke, wobei diese dann in 
externe RAMs geschoben werden (angedacht waren parallele RAM-ICs von 
Reichelt). Allerdings benötigen die insgesamt zuviele Pins des Mega32 
(wenn man die Pins dazurechnet die ich für diverse Clocks an CCD, ADC 
und so benötige). Vllt würde ein Schieberegister für den 
Daten/Adress-Bus bissl helfen? Hauptsache da gibts keine 
Datenkollisionen sodass ICs hopps gehen.
Würden externe SPI-EEPROMS den Datendurchsatz schaffen?


Achja, momentan nutze ich BASCOM für kleinere Programme. Bin aber 
natürlich bereit mich in ASM und C einzuarbeiten zwecks der hohen 
benötigten Geschwindigkeit.


MfG Echo

von Falk B. (falk)


Lesenswert?

@  Steffen I. (Gast)

>Problem ist jetzt folgendes: ich suche eine elegante Möglichkeit die
>Daten (2087*12Bit) zwischenzuspeichern, dabei muss der Datendurchsatz
>mit 1Mbit/s gewährleistet sein.

Und wieviel Daten willst du speichern?

> Ich würde dazu gerne einen ATMega32
>verwenden (hab noch welche davon rumliegen).

Ich will zum Mond fliegen, hab noch ne Kaffeemschine rumliegen . . .

Nimm einen AVR mit externem Speicherinterface, papp dort einen SRAM dran 
und sein glücklich. Siehe Speicher.

>das SRAM ist zu klein für die Daten

Wieviel SRAM hätten's denn gern?

>und die Speicherung der Daten auf
>dem internen Flash während des Programmablaufs ist wohl nur sehr
>schwierig oder garnicht zu realisieren?

Und zu langsam.

> Ich dachte schon an die
>Aufteilung der 12Bit-Datenblöcke in 8-Bit-Blöcke,

Das musst dui sowieso machen, oder halt einfach 16 Bit/Datensatz nutzen.

> wobei diese dann in
>externe RAMs geschoben werden (angedacht waren parallele RAM-ICs von
>Reichelt).

Gute Idee.

> Allerdings benötigen die insgesamt zuviele Pins des Mega32
>(wenn man die Pins dazurechnet die ich für diverse Clocks an CCD, ADC
>und so benötige).

Hör auf zu jammern.

> Vllt würde ein Schieberegister für den
>Daten/Adress-Bus bissl helfen?

Un hör auf das Rad eckig neu zu erfinden.

>Würden externe SPI-EEPROMS den Datendurchsatz schaffen?

Nein.

>Achja, momentan nutze ich BASCOM für kleinere Programme. Bin aber
>natürlich bereit mich in ASM und C einzuarbeiten zwecks der hohen
>benötigten Geschwindigkeit.

Löblich, trotzdem brauchst du eine gescheite Hardware. ATmega128 ist 
dein Freund. Gibt aber auch noch andere, find ich aber im Moment nicht.

MFG
Falk



MfG Echo

von Steffen I. (Gast)


Lesenswert?

Hi,

joa okay. Dann nehm ich den Mega2560. Mit 8KB SRAM hat der genug Platz 
für eine Messreihe. Letztendlich erzeugt der dann auch nur Hardwaremäßig 
2 Takte und muss die ankommenden Daten nur schnell ins SRAM packen. Das 
sollte selbst BASCOM schnell genug schaffen, wenn es nebenbei nix 
anderes zu tun hat.

MfG Steffen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.