SD-CARD FAT16 SDI 4bit Mode

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

SD-CARD FAT16 SDI 4bit Mode

 · 
Posted: 26.04.2018 - 19:16  ·  #1
Hallo Leute,

ich habe bei meinem Boarddesign damals extra den 4bit Mode der SD-Card vorgesehen, diesen wollte ich jetzt mal testen mit:
Code
  // MMC_Soft
   FAT16 = SDIO, PortB.4, PortB.2, PortB.3, iData;      // 4xDATA, CMD, CLK  4Bit Mode
   //FAT16      = MMC_Soft, IData;                      // SPI
   //F16_MMCport= PortB.7, PortB.3, PortB.2, PortB.4;   // SPI
  //              /CS      CLK     MOSI     MISO        // SPI


Sobald ich aber auf die SD-Card zugreifen möchte hängt das System.

Mit SPI funktioniert der Zugriff

Habe ich beim Schaltplan doch einen Fehler gemacht?
Attachments
XMEGA_PinOut
Filename: 26-04-_2018_19-14-56.jpg
Filesize: 50.39 KB
Title: XMEGA_PinOut
Information: XMEGA_PinOut
Download counter: 137
SDCARD_Anschluss
Filename: 26-04-_2018_19-14-28.jpg
Filesize: 75.29 KB
Title: SDCARD_Anschluss
Information: SDCARD_Anschluss
Download counter: 131
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: SD-CARD FAT16 SDI 4bit Mode

 · 
Posted: 28.04.2018 - 11:08  ·  #2
Ich verwende immer externe pull-ups bei DAT 0,1,2 sowie CMD und einen schwachen pull-down bei DAT3 für Card Detection.
Die CLK Leitung benötigt keinen pull-up oder down.

Weit verbreitet sind 47k Ohm als pull-up Wert.
Die pull-ups sorgen dafür, dass die bidirektionalen Leitungen nicht floaten, auch beim Einschalten der Stromversorgung.

Unbedingt berücksichtigen, dass das Einstecken einer Karte zu einem Spannungseinbruch führt und der uC dadurch resettet.
Wenn das ungewünscht ist, empfehle ich eine Entkopplung mit einem 1 Ohm Widerstand.

Die LED in deinem Schaltplan würde ich nicht bestücken.

Gruß
Thomas
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: SD-CARD FAT16 SDI 4bit Mode

 · 
Posted: 29.04.2018 - 13:35  ·  #3
Quote by Thomas.AC

Ich verwende immer externe pull-ups bei DAT 0,1,2 sowie CMD und einen schwachen pull-down bei DAT3 für Card Detection.
Die CLK Leitung benötigt keinen pull-up oder down.

Weit verbreitet sind 47k Ohm als pull-up Wert.
Die pull-ups sorgen dafür, dass die bidirektionalen Leitungen nicht floaten, auch beim Einschalten der Stromversorgung.

Hmm, Layout wollte ich jetzt nicht mehr anpassen, die ersten EMV-Tests sind positiv durch, wenn ich jetzt am Layout anpassungen mache, muß ich nochmal ins EMV-Labor :-(

Quote by Thomas.AC
Unbedingt berücksichtigen, dass das Einstecken einer Karte zu einem Spannungseinbruch führt und der uC dadurch resettet.
Wenn das ungewünscht ist, empfehle ich eine Entkopplung mit einem 1 Ohm Widerstand.

Sollte bei mir kein Problem sein:
1. Die Kondensatoren liefern beim einschalten der SD-Card genug Strom.
2. Wechsel der SD-Card ist eh nur im "PowerOff" der Steuerung vorgesehen-

Quote by Thomas.AC

Die LED in deinem Schaltplan würde ich nicht bestücken.

Das habe ich mir auch schon überlegt und befürchtet, das dies zu Problemen auf der DAT-Leitung kömmen könnte.

Thorsten
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: SD-CARD FAT16 SDI 4bit Mode

 · 
Posted: 29.04.2018 - 16:05  ·  #4
Hallo Thorsten,

in unseren UPP Programmern ist die SD ohne Pullups etc angeschlossen.
Direkt am XMega. Sollte also tun. Eine LED hat grosse Kapazitäten und
sollte an keiner empfindlichen Leitung angeschlossen werden.

rolf
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: SD-CARD FAT16 SDI 4bit Mode

 · 
Posted: 30.05.2018 - 11:04  ·  #5
Hallo rolf,

habe das Ganze jetzt mal ohne LED getestet. Läuft "SAUSCHNELL" am xmega. Macht sich schon beim Zugriff, öffnen und schließen von Dateien deutlich bemerkbar!

Super :-D

Ich habe ja den /CS mit der LED als Zustand für den Zugriff genutzt.
Kann ich bei dem 4BIT Treiber irgendwo ein BIT für den Zugriff abfragen?
Ich brauche so lange dieses BIT, wie auch die Dauer des Zugriffs!

Damit ich diese auf dem Display anzeigen kann, hast Du eine Idee? Interne Variable vom Treiber?
Oder muss ich da was von Hand setzen?

Thorsten
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 15   98   113 · Page-Gen-Time: 0.022273s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI