Forum: Mikrocontroller und Digitale Elektronik Zusätzlicher Speicher für einen STM32F107


von Franz (Gast)


Lesenswert?

Hallo zusammen,

ich bin gerade unschlüssig darüber ob ich ein EEPROM, einen Flash 
Speicher Chip, oder eine SD-Card Anbindung realisieren soll.
Mir geht es darum, das ich ca. 10 x 128KByte Audio Samples per I2S 
abspielen muss. Diese würden evtl. auch noch auf dem Encoder Moduliert 
werden.
Ich tendiere zu der SD-Card, aber der Overhead für das Dateisystem 
sträubt mir ein wenig. Zudem gibt es bei der Connectivity Line kein 
SDIO, was die Sache zusätzlich unsympathisch macht.
Zu was könnte man hier raten?

Viele Grüße,
Franz

von Jim M. (turboj)


Lesenswert?

Wenn Du ein paar KB für Puffer übrig hast, nimm die SD Karte. Die können 
alle auch per SPI angesprochen werden. Die meisten µC Hersteller liefern 
dafür fertige Lib inkluisive FAT, bei FAT32 müsste man nachschauen ob es 
unterstützt wird - es gibt ja nur noch SDHC als Neuware zu kaufen. Der 
Overhead ist beim Lesen normalerweise eher gering.


Es gibt auch SPI Flash Chips - bei NAND müsstest Du dann aber die 
Fehlerkorrektur zu Fuß erledigen, das ist IMHO durchaus vergleichbar mit 
dem Aufwand für FAT32.

von Timmo H. (masterfx)


Lesenswert?

Oder FRAM von Cypress FM25V20A (FRAM ist wie Flash nicht flüchtig). Ist 
1:1 SPI-EEPROM kompatibel und im SOIC-8 Gehäuse erhältlich, kostet für 2 
MBit jedoch ~15€, dafür quasi unendlich oft beschreib- bzw. lesbar 
(10^14 read/writes)

von Spectre (Gast)


Lesenswert?

Franz schrieb:
> ich bin gerade unschlüssig darüber ob ich ein EEPROM, einen Flash
> Speicher Chip, oder eine SD-Card Anbindung realisieren soll.
> Mir geht es darum, das ich ca. 10 x 128KByte Audio Samples per I2S
> abspielen muss. Diese würden evtl. auch noch auf dem Encoder Moduliert
> werden.
> Ich tendiere zu der SD-Card, aber der Overhead für das Dateisystem
> sträubt mir ein wenig. Zudem gibt es bei der Connectivity Line kein
> SDIO, was die Sache zusätzlich unsympathisch macht.
> Zu was könnte man hier raten?


Raten ist das Stichwort: Ohne die Rahmenbedingungen zu kennen, kann man 
schlecht etwas Vernünftiges nennen.
Also:
- Müssen die Samples häufig getauscht werden?
- Ist der Stromverbrauch wichtig?
- Spielt die Gerätegröße eine Rolle?
- Wie dürfen die Samples auf das Gerät gebracht werden (SD-Card für 
Unbedarfte oder geht auch per Rechner über USB/RS232/etc.)?


Pauschal rate ich jedenfalls zu einem billigen (<50Cent) Flashchip. Ist 
am konstengünstigsten, braucht den wenigsten Strom, die Software ist 
simpel und das Gerät wird am kleinsten damit.



Timmo H. schrieb:
> Oder FRAM von Cypress FM25V20A (FRAM ist wie Flash nicht flüchtig). Ist
> 1:1 SPI-EEPROM kompatibel und im SOIC-8 Gehäuse erhältlich, kostet für 2
> MBit jedoch ~15€, dafür quasi unendlich oft beschreib- bzw. lesbar
> (10^14 read/writes)

Und hinterher noch mit Blattgold verzieren?
FRAM ist hier natürlich keine sinnvolle Alternative.

von Timmo H. (masterfx)


Lesenswert?

Spectre schrieb:
> Und hinterher noch mit Blattgold verzieren?
Wenns nicht für ein Massenprodukt ist... Samples gibts i.d.R. umsonst. 
Habe auch 5 Stück gratis bekommen.

Ansonsten ist MicroSD/SD natürlich der weg den man gehen sollte. Fast 
jede Lib kann inzwischen SDHC und FAT32 (ich verwende die Lib von Roland 
Riegel, die lässt sich sehr gut in das vorhandene Projekt einbinden), 
braucht auch nicht viel RAM und Flash.

von Franz (Gast)


Lesenswert?

Spectre schrieb:
> Raten ist das Stichwort: Ohne die Rahmenbedingungen zu kennen, kann man
> schlecht etwas Vernünftiges nennen.
> Also:
> - Müssen die Samples häufig getauscht werden?
Wenn es hoch kommt einmal die Woche wenn überhaupt
> - Ist der Stromverbrauch wichtig?
Spielt keine Rolle.
> - Spielt die Gerätegröße eine Rolle?
SO8-SO14/17 dürfte kein Problem sein
> - Wie dürfen die Samples auf das Gerät gebracht werden (SD-Card für
> Unbedarfte oder geht auch per Rechner über USB/RS232/etc.)?
Die Samples kommen aus dem Rechner per USB->UART zum MUC und dann von 
dort auf den Speicher. Das wäre der Plan.
>
> Pauschal rate ich jedenfalls zu einem billigen (<50Cent) Flashchip. Ist
> am konstengünstigsten, braucht den wenigsten Strom, die Software ist
> simpel und das Gerät wird am kleinsten damit.
Ich brauche ca. 2 MegaByte. Welche Speicherkonfiguration wäre denn 
ratsam, große Pages, oder 1Bit Pages?

von Franz (Gast)


Lesenswert?

Timmo H. schrieb:
> Ansonsten ist MicroSD/SD natürlich der weg den man gehen sollte. Fast
> jede Lib kann inzwischen SDHC und FAT32 (ich verwende die Lib von Roland
> Riegel, die lässt sich sehr gut in das vorhandene Projekt einbinden),
> braucht auch nicht viel RAM und Flash.

Ich sträube mich vor dem Overhead für das Dateisystem und ich habe nur 
64Kb Ram und 256Kb Flash.

von Spectre (Gast)


Lesenswert?

Franz schrieb:
> Timmo H. schrieb:
>> Ansonsten ist MicroSD/SD natürlich der weg den man gehen sollte. Fast
>> jede Lib kann inzwischen SDHC und FAT32 (ich verwende die Lib von Roland
>> Riegel, die lässt sich sehr gut in das vorhandene Projekt einbinden),
>> braucht auch nicht viel RAM und Flash.
>
> Ich sträube mich vor dem Overhead für das Dateisystem und ich habe nur
> 64Kb Ram und 256Kb Flash.

Damit ist doch alles klar:
SPI Flash Chip, die Vorzüge stehen ja oben.

Dateisystem ist bei der Anwendung natürlich Blödsinn.
Einfach die Startadressen in die ersten Bytes vom Flash schreiben, 
danach die Rohdaten der MP3-Dateien. Das hast Du in ein paar Stunden 
programmiert, inklusive PC-Software.

von Timmo H. (masterfx)


Lesenswert?

Franz schrieb:
> Timmo H. schrieb:
>> Ansonsten ist MicroSD/SD natürlich der weg den man gehen sollte. Fast
>> jede Lib kann inzwischen SDHC und FAT32 (ich verwende die Lib von Roland
>> Riegel, die lässt sich sehr gut in das vorhandene Projekt einbinden),
>> braucht auch nicht viel RAM und Flash.
>
> Ich sträube mich vor dem Overhead für das Dateisystem und ich habe nur
> 64Kb Ram und 256Kb Flash.
Ich weiß jetzt ja nicht wieviel du frei hast...
Die Lib von Roland Riegel braucht bei mir etwa 15 KB Flash und ca 1-2 KB 
RAM mit SDHC und FAT32 Support. Du kannst natürlich das FAT auch 
weglassen und nur den RAW-Zugriff verwenden, dann liegt man so bei 3-4 
KB Flash. FAT hätte natürlich den Charme, dass man einfach per PC die 
Files auf die SD-Karte kopieren könnte.

von Frank B. (f-baer)


Lesenswert?

Alternativ könnte man auch externen DRAM einsetzen.

Das Interface braucht sehr wenig internen Speicher, bei der Ansteuerung 
kannst du Pins sparen, indem du ein zusätzliches Adresslatch einsetzt.
Nebenher ist es eine relativ günstige Lösung. Der DRAM kostet <1€, dazu 
kommt noch das Addresslatch für 0,5€. Am Controller benötigst du 
allerdings ~25 Pins.

von Franz (Gast)


Lesenswert?

Nor oder nand Flash Speicher?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.