mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Grasshopper Frequenz des MMCI


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gibt es eine Möglichkeit die Frequenz des MMCI - und somit die 
Übertragungsgeschwindigkeit des von mir angeschlossenen SD Kartenslots - 
beim Grasshopper Board zu reduzieren?
Ich habe im Moment Probleme beim Zugriff auf Dateien, die größer als ein 
paar Byte sind. Die Verzeichnisstruktur der Karte kann angezeigt werden 
und von kleinen Dateien von ein paar Byte, kann der Inhalt gelesen und 
beschrieben werden.

Viele Grüße,
Daniel

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum meinst du das die Übertragungsgeschwindigkeit dafür die 
Fehlerursache ist?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bis jetzt ist das nur eine Vermutung, weil die Signale nicht 100%-ig 
sauber beim Slot ankommen. Hab sie mir mit einem Oszilloskop mal 
angesehen. Ansonsten hab ich im Moment leider keine Idee woran es liegen 
könnte.

Viele Grüße,
Daniel

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die Pullup-Widerstände sind dran?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Der Slot ist nach dem Vorbild des NGW100 gebaut - also mit je 47 
kOhm als Pullup Widerstände an den 4 Datenleitungen und dem 
Commandsignal.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeig doch mal einen Stromlaufplan aus dem hervorgeht welche Pins vom 
Slot an welche Pins vom Grasshopper angeschlossen sind.

Autor: Daniel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hoffe das Bild hilft.

Grüße,
Daniel

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, da kann ich keinen Fehler feststellen, wenn es so verdrahtet ist.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie lang sind denn die Zuleitungen?

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ca. 7-8 cm. Alle ungefähr gleich lang; +- 1 cm.

Hast du einen Slot für den Grasshopper gebaut und es funktioniert?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, allerdings mit einem µSD-Slot. Stromlaufplan gibt es hier:
Beitrag "Grasshopper und TFT Display"

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der µSD-Slot hat eine andere Pin-Belegung.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke. Hast du vielleicht noch eine Idee durch welche Tests ich die 
Fehlerquelle eingrenzen könnte?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verkürz mal die Zuleitungen.
Die SD-Karte muss mit ext2fs partitioniert sein. Jedenfalls wenn du 
unter Linux arbeitest.
Mal eine andere Karte nehmen.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte die Karte erst mit FAT16 und FAT32 formatiert. Dachte eigentlich, 
dass das auch gehen sollte, wenn VFAT im Kernel eingebunden ist. Aber 
jetzt bei einer mit ext2fs formatierten Karte ist leider das gleiche 
Phänomen.
Die zum Testen verwendete 1024 MB Karte verhält sich wie die vorher 
verwendete 512 MB Karte. Nach einstecken der SD Karte steht 
/dev/mmcblk0p1 zur Verfügung. Mit "mount /dev/mmcblk0p1 /mnt" lässt sich 
die Karte einbinden. Der Inhalt von /mnt lässt sich dann anzeigen, aber 
zB beim Kopieren von einer größeren Datei kommt die Meldung:
end_request: I/O error, dev mmcblk0, sector 31079
end_request: I/O error, dev mmcblk0, sector 31087
end_request: I/O error, dev mmcblk0, sector 31095
...
Bei einer 2 GB Karte kommt direkt beim Einstecken die Meldung:
end_request: I/O error on dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
mmcblk0: error -84 transferring data
end_request: I/O error on dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0

Das Leitungen kann ich leider nicht so ohne weiteres verkürzen, da 
müsste ich eine ganz neue Platine bauen. Aber eigentlich müsste es doch 
gehen, wenn man statt die Kabel zu verkürzen die Geschwindigkeit 
verringert. Wobei ich noch nicht gefunden habe, wie das möglich ist.

Eine neue Idee?

Viele Grüße,
Daniel

Autor: Werner B. (werner-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wichtig ist vor allem auch der Kondensator in der Spannungsversorgung 
der MMC/SD Karte. Möglichst nahe am Kartenslot. Die Karten ziehen beim 
Aufwachen aus dem Standby ziemlich viel Strom. Ich habe irgendwo im 
Internet ein Dokument mit Messungen gefunden in dem das 
Spannungeinbrüche um bis zu 600mV an der Karte zur Folge hatte.

Zudem stellt sich die Frage nach der von dir verwendeten Toolchain bzw. 
Kernel Version.
Bei den Versionen vor Atmel Toolchain 2.3.0 (bzw. der aktuellen 
InCircuit Version) kenne ich solche Probleme auch, wenn auch erst bei 
Dateigrößen über einigen 100kB.

Viel Erfolg
Werner

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (bzw. der aktuellen InCircuit Version)

hatte InCircuit nicht letztens eine neue .iso bereitgestellt?

Autor: Daniel L. (daniel-l)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kurz zur Software:
Ich verwende Atmel Toolchain 2.3.0 mit dem Grasshopper Patch hier aus 
dem Forum (mit make extended-defconfig).

Habe mir heute mal die Spannung angesehen. Beim Kopieren geht sie ganz 
schön in die Knie. Hab jetzt vor dem Slot einen 100nF und neu dazu einen 
100uF Kondensator, aber trotzdem bleibt die Spannung nicht stabil. Auf 
dem Bild ist die Spannung beim Kopierversuch einer 7 MB Datei zu sehen. 
Durch den verwendeten Tastkopf ist ein Faktor 10 drin. Im Minimum geht 
die Spannung auf 1,95 V runter.

Wie könnte ich die Spannung stabilisieren? Sind Kondensatoren von 100n 
und 100u vielleicht die falsche Wahl?

Viele Grüße,
Daniel

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
womit betreibst du den Grasshopper? Über USB (5V) oder über ein externes 
Netzteil?
Auf jeden Fall sollten die Zuleitungen für die Spannungsversorgung des 
Slots entsprechenden Querschnitt haben. Ein 100nF und ein 10µF, jeweils 
Kerko, direkt am Slot, sollten genügen.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein 100µF Kondensator ist ein Elko. Ich habe jetzt direkt vor den Slot 
einen 4,7 µF großen Kerko eingelötet. Dazu habe ich die Massefläche 
vergrößert und siehe da: es geht. (scheint zumindest so :) )

Vielen Dank für die Hilfe.
Daniel

Autor: Gast_w (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo leutz,

habe auch versucht meine SDkarte am hopper zu lesen. Habe jetzt keine 
kerkos beschaltet gehabt. Habe zuerst die folgende Fehlermeldung gehabt
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff02400 irq 28, 1 slots
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address a95c
mmcblk0: mmc0:a95c SD512 483 MiB 
 mmcblk0:<4>mmcblk0: retrying using single block read
mmcblk0: error -84 transferring data, sector 0, nr 8, card status 0x900
end_request: I/O error, dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
mmcblk0: retrying using single block read
mmcblk0: error -84 transferring data, sector 0, nr 8, card status 0x900
end_request: I/O error, dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
 unable to read partition table

Habe daraufhin verschiedene Partitionen ausprobiert und leider immer die 
selbe fehlermeldung.
Nun funktioniert nichts mehr. Nur "atmel_mci atmel_mci.0: Atmel MCI 
controller at 0xfff02400 irq 28, 1 slots" zeigt der noch an und der rest 
kommt nicht mehr.

Liegt es vielleicht daran, dass ich immer die SD-Karte immer zog und 
ranstekte?
Oder woran könnte es liege?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Liegt es vielleicht daran, dass ich immer die SD-Karte immer zog und
> ranstekte?

Während des Betriebes?
Öhm, das ist ein Betriebssystem.... du solltest vor dem Ziehen der Karte 
die Karte unmounten.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Habe jetzt keine kerkos beschaltet gehabt.

Grober Fehler.

 Da muss zwingend ein Kerko-Pärchen aus 1-10µF + 0,01-0,1µF so nah wie 
möglich an die Slot-Anschlüsse von VCC gegen GND.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.