Flash-IC-Speicherzuordnung für zwei Anwendungen

Ich beziehe mich auf ein biomedizinisches Instrument, bei dem ich das Ergebnis einer Reaktion in einem Flash-IC (SST25VF020 2 MBit Serial Flash) speichern muss. In derselben Anwendung verwende ich den Voice Guide Assistant, wo ich die Stimme im Speicher speichern muss, um sie während der Bedienung des Instruments abzuspielen.

Meine Frage ist, können wir einen einzelnen Flash-IC (z. B. SST25VF020 oder so) zum gleichzeitigen Speichern von Ergebnis und Stimme verwenden? Gibt es ein Problem bei der Implementierung in Hardware/Software? Ist das logisch möglich?

(Ich kann die Speichergröße des ICs erhöhen, indem ich einen Chip mit größerer Größe wähle, das ist kein Problem.)

Danke schön.

Antworten (1)

Sie sollten dazu in der Lage sein, Ihre Daten einfach an verschiedenen Speicherorten zu speichern. Vielleicht möchten Sie sich den Schreibschutz der Sektoren mit Audio ansehen.

Der einzige zu berücksichtigende Nachteil sind die Löschzeiten. Sie können den gesamten Chip mit einem Chip-Löschbefehl in 70 ms löschen, aber wenn Sie einen Abschnitt für Audio verwenden, müssen Sie Sektor für Blöcke löschen, was 25 ms pro 32 KB dauert. Vielleicht kein Problem für Sie, aber ich musste in Betracht ziehen, Audio auf Spi-Flash aufzunehmen.

Letzter Ratschlag: Das Abspielen von Audioclips ist eine Echtzeitsache. Sie müssen Ihre Spi-Schnittstelle schnell genug ausführen, um die Ausgangsabtastrate Ihres DAC / i2s-Codecs, PWM oder was auch immer Ihre Ausgabe ist, zu erfüllen. Außerdem möchten Sie die MCU nicht mittendrin unterbrechen.

Viele Leute, mich eingeschlossen, verwenden eine interne DMA-Engine, um dies zu erreichen, anstatt die CPU einzubeziehen. Beim letzten Audioaufnahme- und Wiedergabeprojekt habe ich eines der pic32-Teile mit i2s-Schnittstelle auf diese Weise verwendet und es hat ziemlich gut funktioniert.

Vielen Dank für die ausführliche Antwort. Wie verwende ich internes DMA? Muss ich meine Hardware ändern, um einen DMA-Controller zu integrieren? Bitte beraten.
Nun, ich weiß nicht, welche MCU Sie verwenden werden, aber viele der populäreren enthalten einen oder zwei Dma-Controller. Sie können sogar auf ihrer Website nach ihnen suchen und filtern.
Ich verwende LPC2138, meine Frage ist: Gibt es eine Hardwareschnittstelle für die DMA-Schnittstelle? Flash IC befindet sich auf der SPI-Schnittstelle, muss ich ihn also der DMA-Schnittstelle /Pins zuweisen?
Ich sehe in diesem Teil keinen DMA-Controller, schauen Sie sich nur als Beispiel diesen Teil an microchip.com/pagehandler/en-us/family/32bit/… Sehen Sie, wie er einen 8-Kanal-DMA enthält? In diesem Fall greift der DMA-Kanal auf SPI unter Verwendung der Speicheradresse der Ein- und Ausgangsregister des SPI-Controllers zu.
Können wir 2 Flash auf derselben SPI-Schnittstelle mit separatem CE (Chip Enable) verbinden? Ist das möglich? Ich habe kein anderes Spi frei, daher kann ich es für beide Anforderungen mit demselben SPI verbinden.
Ja, mit separaten Chip-Selects.
können wir denselben spi für beide ic verwenden ... in diesem Fall speichert einer das Ergebnis und ein anderer speichert Audio und teilt denselben spi-Bus mit separatem CE? bitte bestätigen. Danke