einfachste Möglichkeit Daten zu speichern mit AtTiny

Gast #5234613
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
Gast
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
Gast
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.
Gast
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?
Gast
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.
Gast
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
Gast
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...
Gast
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!
Gast
>> 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.
Gast
> 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.
Gast
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.
Gast
> 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.
Gast
> 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).
Gast
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.
Gast
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 ...
Gast
> 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.
Gast
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 ..........
Gast
> 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
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.