www.mikrocontroller.net

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


Autor: Steffen I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steffen I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.