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
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.
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.
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.
> 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