mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SD Karte switchen


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte einen Atmega328 und ein MP3 SD Karten abspielgerät 
miteinander verbinden.
Das ist soweit auch kein Problem. Es soll ein "Jingle" Board werden - 
bekannt u.a. von "Herrn Prosieben" - Stefan Raab.

Ich suche nun nach einer Möglichkeit, die Audio-Dateien auf der SD-Karte 
einfach aus zu tauschen.


Dafür fallen mir jetzt 2 Ansätze ein:

1. Audio-Dateien per UART an den Arduino schicken, der sie dann auf die 
SD-Karte schreibt. (umständlich, langsam)

2. SD Karten Lesegerät mit reinbauen z.B: 
http://www.pollin.de/shop/dt/MDE2NzcyOTk-/Computer... 
(schneller, weniger Aufwand)

Für beide Ansätze brauche ich aber die Möglichkeit, die SD-Karte vom 
SD-Card-Player Modul wegzuschalten und entweder an den CardReader oder 
den µC zu switchen.

Jetzt ist die Frage: Welche Leitungen muss ich jeweils umschalten?


Die Versorgungsspannug des SD-Players kann ich automatisch abschalten, 
wenn das USB-Kabel zum PC eingesteckt wird.
Reicht es, die Leitungen der SD-Karte parallel an beide Geräte zu hängen 
und immer dafür zu sorgen, dass nur das Gerät, welches auf die SD-Karte 
zugreifen will mit Spannung versorgt wird?

Leider weiß ich nicht, wie RESET-Beschaltung der Geräte ist. Ob die 
betrefenden Leitungen hochohmig sind, oder ein Pulldown/Pullup 
geschalten wird...
Um alle Leitungen zu schalten bräuchte ich dann zwei CD4016...


Danke!
Gruß Daniel

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Reicht es, die Leitungen der SD-Karte parallel an beide Geräte zu hängen
>und immer dafür zu sorgen, dass nur das Gerät, welches auf die SD-Karte
>zugreifen will mit Spannung versorgt wird?

Wenn an der SD Karte ein abgeschaltetes Gerät hängt wird gar nichts
funktionieren.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
>>Reicht es, die Leitungen der SD-Karte parallel an beide Geräte zu
> hängen
>>und immer dafür zu sorgen, dass nur das Gerät, welches auf die SD-Karte
>>zugreifen will mit Spannung versorgt wird?
>
> Wenn an der SD Karte ein abgeschaltetes Gerät hängt wird gar nichts
> funktionieren.

Warum das? Beeinflusst das abgeschaltene Gerät die Datenleitungen der 
SD-Karte?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum das? Beeinflusst das abgeschaltene Gerät die Datenleitungen der
>SD-Karte?

Ja.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also müssen alle Leitungen geschalten werden?
Oder gibt es Leitungen, die nicht geschalten werden müssen?

GND oder CLK z.B.?
Gibt es dafür ein "passendes" IC? Hätte es mal mit dem CD4016 versucht.
Davon bräuchte ich aber 3, wenn ich alle Leitungen umschalten will...

Lasse ich GND, sind es nur 2...
Gruß Daniel

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso ziehst du die Karte nicht einfach aus dem Gerät
um sie am PC neu zu beschreiben?

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Wieso ziehst du die Karte nicht einfach aus dem Gerät
> um sie am PC neu zu beschreiben?

ich würde eher Fragen warum keine MP3 Player nehmen, das das kann was du 
brauchst. Wenn du keinen findest dann eine Raspi + Soundkarte.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Wieso ziehst du die Karte nicht einfach aus dem Gerät
> um sie am PC neu zu beschreiben?

Das Gerät ist zu, die SD-Karte ist von außen nicht zugänglich. Daher 
müsste es jedes mal aufgeschraubt werden...
Außerdem sollen auch während der Laufzeit, die Files geändert werden 
können.
(brauche ich für ein neues Projekt).

Ist es wirlich nötig, alle Leitungen um zu schalten?
Reichen nicht evtl. auch nur die Datenleitungen?

Gruß Daniel

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Außerdem sollen auch während der Laufzeit, die Files geändert werden
> können.

das geht eh nicht, weil du den Player kaum dazu bringen kannst, das 
Dateisystem neu einzulesen. Es kann nur eine Software gleichzeitig auf 
die FAT zugreifen.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Also müssen alle Leitungen geschalten werden?
> Oder gibt es Leitungen, die nicht geschalten werden müssen?

Deinen µC kannst doch so programmieren, dass die IO-Pins als Eingang 
definiert sind, solange er nicht auf die SD-Karte zugreifen soll.

Warum willst du da irgendwelche Leitungen schalten oder gar die 
Betriebsspannung wegschalten?

Guck dir mal im Datenblatt des ATmega328 an, was an so einem IO-Pin an 
Beschaltung dran hängt und dann überlege mal, was passiert, wenn du die 
Betriebsspannung abschaltest, i.e. VCC=0V setzt (Kap. 14, Fig. 14-1 und 
Fig. 14-2). Dazu kannst du auch bei den elektrischen Eigenschaften einen 
Blick auf die Absolute Maximum Ratings für die Spannung an einem Pin 
werfen (Kap. 29.1).

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, ich sehe ich muss mal genauer erklären.

Also, es läuft ein Odroid C2.
Dieser läuft aber nicht immer. Außerdem will ich z.B. Soundausgaben beim 
starten von Android machen (boot-Sound).
Dies Funktioniert mit dem Odroid leider nicht, da der Treiber für die 
USB-Soundkarte erst später geladen wird. (der Odroid hat keinen 
Aux-Ausgang)

Es werden natürlich nicht immer Soundausgaben gemacht. Wenn ich die 
Files ändern will, schalte ich das SD-Modul ab, änder die Files wie ich 
es haben möchte und schalte das SD-Modul erst wieder ein, wenn wirklich 
eine Sound-Ausgabe erfolgen soll.


Ich nutze z.B. auch den Wecker des AndroidOS. Beim Stellen des Alarms, 
wird über UART und den Atmega eine DS2321 RTC mit dem Alarm gefüttert.
Wird der Alarm PIN der dann high, wecke ich den Atmega aus dem 
sleep-Mode und spiele das File ab.

Auch Sensorwerte (z.B. Temperatur) können so ausgegeben werden.

Ich möchte von Android aus, diese Files ändern können (simple APP), die 
die Daten auf die SD Karte schreibt.
Diese APP kümmmert sich dann auch um die Benennung der.mp3-files (001, 
002 usw...)

Gruß Daniel

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falscher Ansatz, falscher Prozessor.

Du schaltest die SD-Karte nicht.

Du suchst Dir einen Prozessor mit Hardware-USB Device Interface, der das 
USB Mass Storage Protokoll implementiert. Wenn die SD-Karte per USB 
gemounted ist, dann ist kein Audio möglich. Wenn die USB-Verbindung 
getrennt ist, kann der Prozessor per internem Filesystemtreiber die 
Karte mounten und Audio abspielen. Ganz einfach. Ist alles fertig 
verfügbar und funktioniert.

fchk

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Prozessor ist falsch? Das Sound-Modul?
Komm leider nicht mit, was du mir sagen möchtest :/

Autor: Bernd K. (movin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ELV-Modul kann nur 10 Files.
Ich nutze das TDB380: 
http://www.echelleinconnue.net/outils/mobio/compos...

Das ist seriell ansteuerbar und kann 199 files.
Ich weiß auch nicht, ob es so ein Modul mit USB Mass Storage 
implementation gibt?!

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, es gibt da schon einige Module, die den direkten Anschluss an den 
PC erlauben.

Leider sind die Angaben in den Datenblätter - wie immer - etwas mau :/

Das hab ich gefunden:
FN-RM01: Playback und Aufnahme auf SD Karte oder USB Stick.
Angabe im Datenblatt bezüglich PC Anschluss: "Can  freely replace sound
files in the micro SD card via USB port"
Außerdem "Supports USB sound card mode" -> Keine Ahnung, was das sein 
soll!
Über Operation System steht rein garnix dabei :/


FN-M22P: Nur Wiedergabe der Datein von SD Card oder USB-Stick
Angabe im Datenblatt bezüglich PC Anschluss: "Possible to update audio 
files in the SD card via the USB connecting with PC(supports Win XP
and Win7 systems)" -> Android = ?
Außerdem hat es einen ganz anderen Nachteil:
Wenn ich die datei 0001.mp3 ersetzen will, müsste ich erst alle Datein 
von der Karte runterkopieren, löschen und dann zusammen mit meinem 
0001.mp3 wieder auf die Karte schreiben.
Grund hierfür: Es wird nicht nach datei-name abgespielt also 0001.mp3, 
sondern in der Reihenfolge, wie die Files auf die SD-Karte geschrieben 
wurden. Mir rätselhaft, wie das funktioniert...Es steht aber zumindest 
so im Datenblatt.


Mein Fovorit wäre jetzt das FN-RM01. Leider ist es eher wieder trial and 
error, da ich nicht weiß, ob Android das überhaupt erkennt!

Sind euch evtl. noch Module bekannt? Oder setzt ihr was ein/habt es 
eingesetzt?

Gruß Daniel

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.