- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 10

Thema: Wie viel Sachen kann ein Atmega 2560 "gleichzeitig" machen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Wenn du FAT32 oder so auf der SD-Karte haben möchtest kannst du das mit einem Mega32 schon knicken. Für ne SD-Karte die man ohne Probleme am PC Auslesen kann brauchst du mindestens einen Mega128, da der die mind. Anforderungen an die RAM-Größe erfüllt.
    Generell kann alles durch Interrupts gestört werden, da ein Interrupt das laufende Programm unterbricht. Und wenn du nicht nur 1 Zeichen auf die Karte schreiben willst dauert das schreiben etwas länger. Du musst bedenken der Controller schreibt jedes zeigen einzelnt und wenn zwischendurch ein Interrupt kommt ist der ganze Schreibvorgang gestört.
    Die Frage ob du für die UART und die SD-Karte nen einzelnen Controller nimmst kann man nicht so direkt beantworten, da man nicht weiß wie oft der UART benutzt werden soll. Für die SD-Karte brauchst du definitiv mind. nen Mega128 und wenn die UART Kommunikation nur etwa 1x alle paar Sekunden ist, ebenso wie das beschreiben der Karte(die man eh nur alle paar Minuten oder Stunden beschreiben sollte oder auf Abruf, da so eine Karte nur max. 10000x beschrieben werden kann) sollte das für einen Mega128 kein Problem darstellen. Das übergeben der Daten vom UART und für die SD-Karte zwischen den Controllern würde ich dann in I2C machen.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von Kampi Beitrag anzeigen
    Wenn du FAT32 oder so auf der SD-Karte haben möchtest kannst du das mit einem Mega32 schon knicken. Für ne SD-Karte die man ohne Probleme am PC Auslesen kann brauchst du mindestens einen Mega128, da der die mind. Anforderungen an die RAM-Größe erfüllt.
    Generell kann alles durch Interrupts gestört werden, da ein Interrupt das laufende Programm unterbricht. Und wenn du nicht nur 1 Zeichen auf die Karte schreiben willst dauert das schreiben etwas länger. Du musst bedenken der Controller schreibt jedes zeigen einzelnt und wenn zwischendurch ein Interrupt kommt ist der ganze Schreibvorgang gestört.
    Die Frage ob du für die UART und die SD-Karte nen einzelnen Controller nimmst kann man nicht so direkt beantworten, da man nicht weiß wie oft der UART benutzt werden soll. Für die SD-Karte brauchst du definitiv mind. nen Mega128 und wenn die UART Kommunikation nur etwa 1x alle paar Sekunden ist, ebenso wie das beschreiben der Karte(die man eh nur alle paar Minuten oder Stunden beschreiben sollte oder auf Abruf, da so eine Karte nur max. 10000x beschrieben werden kann) sollte das für einen Mega128 kein Problem darstellen. Das übergeben der Daten vom UART und für die SD-Karte zwischen den Controllern würde ich dann in I2C machen.
    Ich habe einen RS232 > USB Stick Adapter (Vilcum)der hat eine FAT intern, klappt ganz gut. Ach und kein µC kann etwas "gleichzeitig" die Arbeiten alle sequenziell, wenn einige Aufgaben nicht gestört werden dürfen muss der Programmierer mit geschickten Code dafür sorgen. Einige Daten Abrufen, Speichern u.s.w. ist aber nicht wirklich ein Problem, zur Not kann man im Simulator sehen was wie fiel Zeit braucht und die Programm Abschnitte entsprechend "sortieren".

    Gruß Richard

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Das klingt alles nicht so als würde es viel Rechenzeit brauchen. Damit sollte es eigentlich so funktionieren, erfordert aber wohl eine gute Planung des Programms. Eigentlich wird das EEPROM nicht durch einen Interrupt gestört - es ist so das man in einer ISR nicht gut auf das EEPROM zugreifen kann, weil der Zugriff relativ langsam ist. Das ist aber ein lösbares Problem, erfordert aber ggf. eine zusätzliche ISR für das EEPROM.

    Es könnte mit dem RAM knapp werden, weil die SD Karte oft viel RAM für Puffer (z.B. FAT) braucht.

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Ich meine ich hätte bei Watterrot auch nen SD Adapter gesehen wo bereits ein Controller drauf sitzt der die Sachen auf Karte schreibt. Sicher bin ich aber nicht, müsste ich nochmal suchen. Und Richard den Adapter den du meinst kenn ich, ich benutz ihn selber
    Der wäre natürlich eine alternative wenn man statt Karte lieber nen USB-Stick benutzen will da der Adapter nur eine UART-Schnittstelle braucht und man den mit einfachen Textbefehlen bedienen kann.

    Edit:
    Hab's gefunden. Hier das meint ich:
    http://www.watterott.com/de/uALFAT-MicroSD-Board
    Geändert von Kampi (04.09.2011 um 16:23 Uhr)

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    51
    Beiträge
    2.253
    Kein Computer kann irgendwas gleichzeitig ... es läuft immer auf Multitasking hinaus. Bei den kleinen µC spricht man da von einer State-Machine.
    Davon abgesehen sind die Interrupts schon sehr mächtig, also ne RS232 abhören macht der AVR nebenher in Hardware, das Verarbeiten dann in Software
    und das Senden ggf. auch wieder in Hardware ... ich halte die Geschichte für machbar.

    Beispiel: In meinem "größten" Projekt macht n Mega128 das Multiplexing von 5 16-Segemnent-Anzeigen, RS485-Protokoll, externen AD-Wander, Externe RTC, 2 PWM-16Bit 400Hz, Tastenabfrage 2x3-Matrix, diverse Regelungen usw. usw. ... Die Dinger können schon was wuppen.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Danke für die Antworten! Es scheint also schon machbar zu sein (abhängig von meinen Fähigkeiten ). Da kommt mir noch eine Idee in den Sinn, die neuen Atxmega Chips habe doch einen DMA support. Würde das Schreiben auf SD-Karten dadurch weniger "kompliziert" werden?

    Für jetzt (da ich den ATMEGA 2560 schon habe) finde ich das uALFAT-MicroSD-Board das Kampi vorgeschlagen hat eine sehr gute Idee.

    Dank Euch.

    Viele Grüße

    Robert

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Nein soweit ich weiß ist dieser DMA Support nur für RAMs da. Die SD-Karte wird per SPI beschrieben. Wichtig ist auch das du daran denkst das die Karte mit 3,3V arbeitet. Nicht vergessen!

Ähnliche Themen

  1. "PIR D203S" was ist das, was kann man damit machen
    Von bnitram im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 18.04.2011, 15:38
  2. RN-Mega 2560 mit AVR MKII "flashen"
    Von Lurchi im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 13.02.2010, 15:48
  3. zwei Sharp IR Sensoren "gleichzeitig"
    Von KayH im Forum Sensoren / Sensorik
    Antworten: 10
    Letzter Beitrag: 28.12.2007, 13:21
  4. Portpin "gleichzeitig" als Ein-und Ausgang nutzen?
    Von dl1akp im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 28.09.2007, 21:09
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 17:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test