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
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.
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)
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.
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.
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?
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.