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
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.