Hi, ich lese Umweltdaten wie Temperatur, Feuchte usw. aus, soweit ist alles fertig. Jetzt wollen wir auch speichern ;) Ich nutze einen Atmel Tiny441, was ist die einfachste Möglichkeit und kostengünstigste Möglichkeit (Software/Hardware) sagen wir ein-zwei Megabyte zu speichern? Wenn möglich möchte ich: - nur wenige Pins verwenden, SPI ist noch frei. - den Speicher rausziehen können (USB Stick, SD o.Ä.) - ein Projekt als Vorlage in Assembler Könnt Ihr mir nen Tipp geben? Grüße, Frank
Schmeiss Assembler weg, nimm C. Dafür gibts dann auch fertige Libs für Attiny.
Dein uC ist viel zu klein, um grössere Speicher ordentlich zu beschreiben; Stichwort: FAT Dateisystem Was liegen dir überhaupt für Daten vor, bei >sagen wir ein-zwei Megabyte braucht es einen Zeitstempel (einer Uhr) sonst kannst damit nix anfangen. >USB Stick, SD o.Ä. >ein Projekt (als Vorlage) in Assembler Diese beiden Anforderungen dürften sich gegenseitig ausschliessen. Zur Info: http://elm-chan.org/docs/mmc/mmc_e.html http://elm-chan.org/fsw/ff/00index_e.html http://www.dejazzer.com/ee379/lecture_notes/lec12_sd_card.pdf
spi 16mbit eeprom, c als programmiersprache
morob65 schrieb: > spi 16mbit eeprom, c als programmiersprache Stimmt. Von Auslesen hat er ja nichts gesagt.
USB-Stick in Assembler, ich schmeiß mich weg.
Die SPI Dataflash von Adesto sind dafür geeignet. Durch die beiden integrierten SRAM Puffer, braucht man praktisch kein RAM auf dem Tiny für deren Nutzung. Das geht sogar alles in ASM, wenn man sich das unbedingt antun möchte.
I2C EEPROM und dafür noch RS232 Rx/Tx? Sollten sich auch in Assembler Beispiele finden lassen. Zum Auslesen die ganze Einheit an einen USB/Seriell Wandler.
>Könnt Ihr mir nen Tipp geben? Ja. Du willst grad die schwierigste Loesung. Zum Rausnehmen und in ASM, und mit einem Krueppelprozessor. Einfacher waer's einen groesseren AVR zu haben und as Flash fest verbaut. Was soll der tiny ? Die 30 cents sparen ?
Sabberalot W. schrieb: >>Könnt Ihr mir nen Tipp geben? > > Ja. Du willst grad die schwierigste Loesung. Zum Rausnehmen und in ASM, > und mit einem Krueppelprozessor. > Einfacher waer's einen groesseren AVR zu haben und as Flash fest > verbaut. > > Was soll der tiny ? Die 30 cents sparen ? Plenken und Schreibfehler. Muss das sein?
Du brauchst auf einer SD-Karte kein Dateisystem. Du kannst die Rohdaten einfach hintereinander weg schreiben und trotzdem auf einem PC die Daten lesen. Unter Linux einfach mit dem /dev/sdb. Assembler für das Schreiben über SPI sind nur 100 Zeilen. Umfangreich wird nur den Code, der die Parameter auswertet und zwischen SD/SDHC/SDXC umschaltet. Kannst auch ein Programm schreiben, was nur mit deiner Karte zurecht kommt.
> Du kannst die Rohdaten einfach hintereinander weg schreiben und > trotzdem auf einem PC die Daten lesen. Versuche das mal unter Windows 10.
Stefan U. schrieb: >> Du kannst die Rohdaten einfach hintereinander weg schreiben und >> trotzdem auf einem PC die Daten lesen. > > Versuche das mal unter Windows 10. Z.B. mit Win32DiskImager.
Also Leute ich verstehe nicht die Aufregung und die häufige Meinung das dafür Assembler nicht das richtige wäre! Euer C-Compiler erzeugt doch letztendlich aus eurem tollen C-Code auch nur Assembler Code! Also hier was Hilfreiches: Nehme einen SST25VF016B und hänge den am SPI dran. Der hat 2MByte bzw. 16MBits. Der lässt sich kinderleicht ansteuern und das auch in Assembler! Siehe Datenblatt! http://www.microchip.com/wwwproducts/en/SST25VF016B
Und noch was für die, die glauben Assembler könne keinen USB Stick usw... Da gibt es den VNC2 Chip von FTDI. Den kann man mit verschiedenen Schnittstellen ansprechen, da kann man eine Firmware drauf bringen, die auch FAT kann und wo man ganz einfach mit ein Paar primitiven Kommandos Dateien Ver- und Bearbeiten kann. Also eine Ansteuerung für einen USB-Stick hätte ich damit in 30 Minuten in Assembler programmiert...
Stefan U. schrieb: > Vielleicht tut's ein serieller Datenlogger: > Ebay-Artikel Nr. 272716665133 So das ist es, genau das habe ich gesucht. - easy anzusteuern = sehr wenig Arbeitszeit für das Extra - passt auf meine Programmierschnittstelle, also der Anschluss ist schon vorhanden, kann dann wahlweise draufgesteckt werden als "Pro Version" ... vorbehaldlich das ich den Reset auf einen der Pins legen kann ... - sehr viel Speicher - Speicher kann entfernt werden und extern ausgelesen - Preis ist absolut OK Stefan ich danke Dir!
>> trotzdem auf einem PC die Daten lesen. > > Versuche das mal unter Windows 10. Soll das die Strafe sein dafür dass er USB in ASM programmieren will? So in der Art von "2x Lebenslänglich UND zum Tode verurteilt"? Im Erstbeitrag steht weder dass das Auslesen auf einem PC geschehen soll, noch dass dazu auf BS der mühsamsten Kategorie zu verwenden sind.
> Im Erstbeitrag steht weder dass das Auslesen auf einem > PC geschehen soll Stimmt, ich hatte jedoch geahnt dass er das vor hat. Es läuft meistens darauf hinaus, Daten zu sammeln, um sie später auf einem PC auszuwerten.
Offensichtlich gibt es davon auch Varianten mit SPI Anschluss. Ich habe mit Google dieses Bild gefunden: https://img09.banggood.com/forum_images/20160320/20160320053432_65232.png
Stefan U. schrieb: >> Im Erstbeitrag steht weder dass das Auslesen auf einem >> PC geschehen soll > > Stimmt, ich hatte jedoch geahnt dass er das vor hat. Es läuft meistens > darauf hinaus, Daten zu sammeln, um sie später auf einem PC auszuwerten. Natürlich ein Format das alle lesen können, Micro SD ist auch perfekt. Manchmal habe ich das Gefühl das die C Entwickler in den letzten 20 Jahren intoleranter und aggresiver geworden sind - viele Forenbenutzer hier auch ;) Peter Dannegger ausgenommen - der war schon vor 10 Jahren so.
Beitrag #5235168 wurde von einem Moderator gelöscht.
> Da gibt es den VNC2 Chip von FTDI.
Die Mikrocontroller Programmierung ist inzwischen vollkommen absurd
geworden.
Wir arbeiten mit Kilobyte und Kilohertz. Für Wlan oder USb-Host benutzen
wir Chips, die mehr können als ein PC aus der Win3.1 Ära.
> intoleranter und aggresiver geworden sind
Das beobachte ich generell überall wo im Internet diskutiert wird. Man
sollte meinen, dass die Weltweite Vernetzung eher Toleranz und Offenheit
fördern müsste. Ist aber leider nicht so. Das sollte man allerdings
nicht einzelnen Leuten ankreiden, denn es ist ein Massenphänomen. besser
akzeptieren und sich anpassen (dickes Fell zulegen).
Noch einer schrieb: > Wir arbeiten mit Kilobyte und Kilohertz. Für Wlan oder USb-Host benutzen > wir Chips, die mehr können als ein PC aus der Win3.1 Ära Was ja auch nicht verkehrt ist denn diese Chips müssen ja auch mehr leisten als ein PC aus der Win3.1 Ära ;)
M. K. schrieb: > Was ja auch nicht verkehrt ist denn diese Chips müssen ja auch mehr > leisten als ein PC aus der Win3.1 Ära ;) Und verbrauchen dabei weniger als die großen 74LSxx Logicgräber mit denen wir uns herumschlagen mussten. Die Argumentation USB-Stick mit ASM anzusprechen sei kein Thema weil man einem komplexen Controller ein paar Bytes schickt und der die ganze Arbeit macht, hinkt natürlich gewaltig.
Michael K. schrieb: > hinkt natürlich gewaltig. Einen Tiny als Hauptprozessor zu verwenden und einen Mega328 als seriellen Log Slave. Das hinkt doch auch schon. Ich würde sagen: Weg mit dem Tiny, lass alles den 328 machen.
Ich habe hier Datenlogger liegen die 'single use' sind. Werden Medikamentensendungen beigelegt und nach Empfang ausgelesen. Nach Drücken der Stopp Taste wird ein PDF mit allen Daten erzeugt das von dem nun statischen USB Stick gelesen werden kann. Danach geht das ganze Ding mit LCD, Akku, fettem PIC etc. in die Tonne. Das nenne ich mal ein Geschäftsmodell! Und wir spulen uns über so einen rotzigen Tiny auf ...
> Einen Tiny als Hauptprozessor zu verwenden und einen Mega328 als > seriellen Log Slave. Na und? Solange der Preis passt und es einfach ist. Andere Leute benutzen diverse GSM und Funkmodule oder gar DSL Modems als Slave für wesentlich "kleinere" Mikrocontroller.
Stefan U. schrieb: > Solange der Preis passt und es einfach ist. Habe mir die Module mal genauer angesehen: Die Firmware ist Arduino Zeug. Das ist OK, wird wohl funktionieren. Kann man dann ja auch selber so bauen/ändern, wie man möchte. 16MHz und 3,3V geht nicht zusammen! Warum tun die das dann? Der 328 läuft mit 3,3V. Ein Betrieb mit 3,3V bis 5V ist ausdrücklich erlaubt. Da Regler OnBoard. Aber TX und RX gehen ungeschützt nach draußen. Das halte ich schon für richtig böse! Die vorhandenen SPI Anschlüsse dienen nur für ICSP. Sind sonst nicht als Datenleitungen gedacht, würde sich auch mit der SD Karte in die Quere kommen. Ins besondere, weil kein /CS heraus geführt wurde. ------------ Kommt mir alles sehr seltsam vor ..........
> 16MHz und 3,3V geht nicht zusammen! > Warum tun die das dann? Klingt ziemlich mies. Vielleicht setzt das Programm wenigstens den Clock Prescaler auf 2.
Hallo zusammen, ich habe nicht alle Antworten gelesen, also falls schon mal genannt, ignoriert's einfach. Für größere AVRs gibts zur Arduino IDE eine Library, mit der man auf eine FAT32-formatierte SD-Karte schreiben kann. Die Zeitstempel sind dann Null, wenn man keine Echtzeituhr hat. Wenn das nicht stört... Man kann ein SD-Breakout-Board an den SPI/ISP-Header anschließen. Die ~CS-Leitung kann man auch fest auf Masse legen, wenn man nur ein SPI-Gerät verwendet. Ob das mit AtTiny genauso funktioniert, weiß ich nicht. Vielleicht ist die Bibliothek zu groß dafür. Gruß CA
Stefan U. schrieb: > Vielleicht setzt das Programm wenigstens den Clock > Prescaler auf 2. Auf die Schnelle, nicht zu erkennen.
Nachtrag: (kann nicht mehr editieren)
1 | All OpenLogs sold during and after March of 2012 have a bootloader that is compatible with the “Arduino Uno” board under the Arduino IDE. |
Damit ist klar: 16MHz, und nichts anderes.
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.