Hallo zusammen, ich beschäftige mich mit einer Schaltung, die mittels einem Sensor für ein Einzel-"Bild" ca. 1500 Messpunkte per ADC einliest. Anforderung ist, dass mindestens 50, besser 100, noch besser 400Bilder/Sek aufgenommen werden sollen. Jeder Bildpunkt wird (derzeit) mit 8bit abgespeichert. Pro Bild fallen also ca. 1,5kByte an Daten an. Bei 50 Bildern/Sek fallen also pro Sekunde ca. 75kByte Daten an. Die Daten sollen anschließend per Bluetooth an ein PC/Smartphone/Tablet oder ähnliches übertragen werden. Für ein iPhone habe ich eine maximale Übertragungsrate von 220kbit/Sek (also 27,5kByte/Sek) gefunden, was nach meiner Rechnung deutlich zu langsam ist. Es wäre evtl. denkbar die Auflösung der Bildpunkte herabzusetzen, aber selbst bei einer Halbierung auf 4Bit pro Messpunkt habe ich immer noch zu viele Daten. Die einzige Lösung, auf die ich bisher gekommen bin ist, die Daten einer Messung (eine Messung dauert max. 5 Sekunden, es fallen also bei 50Hz Messfrequenz max. 375kByte an, zu viel für jeden RAM eines Mikrocontrollers) in einem externen Speicher zwischenzuspeichern und erst nach der Messung mit der Zeit die es eben braucht per BT zu übertragen. Leider habe ich mit sowas gar keine Erfahrung. Derzeit benutze ich an Hardware ganz grob einen ATMega640 und ein Bluetooth-Modul, dem ich per UART oder SPI die Daten schicken kann. Der ATMega640 ist keinesfalls fest ausgewählt, dient mir im Moment nur zum rumspielen und zum Testen der Sensoren. Gibt es externe RAM in einer solchen Größe? Sind die schnell genug? Wie schließe ich diese an meinen Prozessor an? Wer ist nach den ganze Zahlen noch nicht verwirrt und hat evtl. eine andere Lösung parat um die Daten sinnvoll zu übertragen? BT ist dabei so gut wie gesetzt, Prozessor und weitere Peripherie kann evtl. getauscht/ersetzt/erweitert werden. Würde mir ein Austausch der BT-Verbindung gegen Wifi das Leben deutlich leichter machen?
:
Bearbeitet durch User
Es gibt Megas mit externem Speicherinterface. Anschluss gemaess datenblatt
...da lese ich aber immer nur "up to 64Kbytes", was für meine Anwendung ja deutlich zu wenig ist. Ich brauche ca. das 10-fache, also mindesten 0,5-1MB, falls ich mich nicht verrechnet habe!? Macht ein Flash Sinn (also z.B. sowas: http://www.farnell.com/datasheets/1809894.pdf)? Ich zweifle wegen den "nur" 100.000 Schreibzyklen und nicht-flüchtig muss es ja auch gar nicht sein... Ansonsten würde das mit dem seriellen reinschieben der Daten per SPI ja schon ganz gut passen, denn dann würde sich der Software-Aufwand auch in Grenzen halten.
SRAM wäre ideal für deine Anwendung, gibt es auch in der gewünschten Größe, kommen aber in unangenehmen Gehäusen daher. Alternativ gingen auch serielle EEPROMs, da hättst du etwa 1000000 Schreibzyklen. Christian_RX7
Normale Eeproms sind zu langsam. FRAM ginge. Es gibts aber auch ziemlich grosse serielle SRAM.
Christian Kreuzer schrieb: > SRAM wäre ideal für deine Anwendung, gibt es auch in der gewünschten > Größe, kommen aber in unangenehmen Gehäusen daher. ja, wegen der Gehäuse und weil ich die Software scheue zögere ich beim SRAM etwas... > Alternativ gingen auch serielle EEPROMs, da hättst du etwa 1000000 > Schreibzyklen. Aber da finde ich nur welche mit max. 1MBit -> zu klein !?
Daniel S. schrieb: > ...da lese ich aber immer nur "up to 64Kbytes", was für meine > Anwendung > ja deutlich zu wenig ist. > Ich brauche ca. das 10-fache, also mindesten 0,5-1MB, falls ich mich > nicht verrechnet habe!? in der appnote AVR1312 is auf seite 5 ein mode mit 24bit adressierung beschrieben http://www.atmel.com/Images/doc8058.pdf vieleicht hilft dir das ja
> Die einzige Lösung, auf die ich bisher gekommen bin ist, die Daten einer > Messung (eine Messung dauert max. 5 Sekunden, es fallen also bei 50Hz > Messfrequenz max. 375kByte an, zu viel für jeden RAM eines > Mikrocontrollers) Renesas hat Microcontroller mit 500kByte bis zu 10MByte internen Ram. Man muss aber natuerlich ueber seinen schmalen AVR Horizont hinwegschauen. Olaf
Olaf schrieb: > Renesas hat Microcontroller mit 500kByte bis zu 10MByte internen Ram. Hast du eine Bezeichnung? Ich finde zwar welche bei diversen Distri's ab 1MB RAM und ROM-less. Die kosten aber ab 30EUR aufwärts, z.B. der R5S72620W144FP. Meinst du sowas? > Man muss aber natuerlich ueber seinen schmalen AVR Horizont > hinwegschauen. ... gut dass ich einen solchen nicht habe ;)
:
Bearbeitet durch User
Daniel S. schrieb: > ...da lese ich aber immer nur "up to 64Kbytes" Ja und, du kannst doch zusätzliche Adressbits ausgeben und damit "Bänke" ansteuern mit n mal 64k, wobei n kaum eine Grenze nach oben hat. Es ist so überhaupt kein Problem, Mega- bis Gigabyteweise Daten zu speichern, nur muss man natürlich den Speicher kaufen, geschenkt gibts den nicht. Für deine Zwecke reicht z.B. http://de.rs-online.com/web/p/speicherbausteine-sram/0538160/ für 3 Euro. Gibts auch in DIP, aber wer weiss wie lange noch. Georg
Georg schrieb: > Daniel S. schrieb: >> ...da lese ich aber immer nur "up to 64Kbytes" > > Ja und, du kannst doch zusätzliche Adressbits ausgeben und damit "Bänke" > ansteuern mit n mal 64k, wobei n kaum eine Grenze nach oben hat. Es ist > so überhaupt kein Problem, Mega- bis Gigabyteweise Daten zu speichern, Jetzt verstehe ich das erst, die "Bänke" waren die Info die mir fehlte. So werde ich es machen. Dankesehr!
Man konnte. Auch rpi nehmen und mit spi die daten darauf ablegen, und dieser uebermittelt diese dann ueber wlan.
Daniel S. schrieb: > Hast du eine Bezeichnung? Ich finde zwar welche bei diversen Distri's ab > 1MB RAM und ROM-less. Die kosten aber ab 30EUR aufwärts Renesas R5F564MLCDFG hat 4MB Flash und 512 KB Ram und ist bei Glyn lieferbar. Für 30€ bekommst Du fast drei davon ;-) http://www.renesas.eu/media/products/mpumcu/rx/rx600/rx64m/rx64m_block.gif http://www.renesas.eu/products/mpumcu/rx/rx600/rx64m/index.jsp
:
Bearbeitet durch User
Ralf D. schrieb: > Renesas R5F564MLCDFG hat 4MB Flash und 512 KB Ram und ist bei Glyn > lieferbar. > Für 30€ bekommst Du fast drei davon ;-) ... nur brauche ich das andersrum, nämlich mindestens 1MB RAM und eher wenig Flash.
Daniel S. schrieb: > ... nur brauche ich das andersrum, nämlich mindestens 1MB RAM und eher > wenig Flash. In Deinem EP steht doch Daniel S. schrieb: > es fallen also bei 50Hz Messfrequenz max. 375kByte an Wieso nun plötzlich min. 1MB Ram?
Ralf D. schrieb: > Wieso nun plötzlich min. 1MB Ram? weil da auch steht: > mindestens 50, besser 100, noch besser 400Bilder/Sek aufgenommen werden sollen. für die 50Hz Messung würde das also gehen, für 100Hz schon nicht mehr und für eine ggf. längere Messung schon gar nicht.
ok, dann bedeutet in diesem Fall "mindestens" dann doch eher "zu wenig" ;-)
@Daniel S. (ds1982) >Derzeit benutze ich an Hardware ganz grob einen ATMega640 und ein >Bluetooth-Modul, dem ich per UART oder SPI die Daten schicken kann. Der Na dann bleib in der (Groß)familie. >Gibt es externe RAM in einer solchen Größe? Sind die schnell genug? Wie >schließe ich diese an meinen Prozessor an? Ja. Das geht direkt. ATxmega mit 16MB RAM! Kann man fertig im laden für wenig Geld kaufen, ATXmega explained. Beitrag "Re: Viel RAM am kleinen Controller" http://www.atmel.com/products/microcontrollers/avr/xplained.aspx
Ralf D. schrieb: > ok, dann bedeutet in diesem Fall "mindestens" dann doch eher "zu wenig" > ;-) "mindestens" bedeutet in diesem Fall "als Notlösung evtl. gerade so OK", aber lieber viel mehr ;-)
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.