Infos zur Verwendung von RAM und ROM
Nutzung von RAM/ROM in Simulide
- Bei Verwendung der Komponente
RAM/ROM Memoryin Simulide können die Daten über das Kontextmenu (Rechtsklick aus die Komponente) geladen und abgespeichert werden. - Falls Daten aus einer Datei geladen werden sollen, so sind folgende Varianten möglich:
- Variante 1: nicht löschbar
- Bei den
Eigenschaftender Komponente istnicht löschbarausgewählt - Daten können dann vor oder nach dem Start per Kontextmenu geladen werden
- Variante 2: löschbar
- Bei den
Eigenschaftender Komponente istnicht löschbarnicht ausgewählt - Daten können dann nur nach dem Start per Kontextmenu geladen werden
- Andernfalls wird der Speicher beim Start des Simulation wieder mit 0 gefüllt
- Für das Auslesen der Daten muss der Eingang
/WEauf $5\rm~V$ und/OEauf $0\rm~V$ und gelegt werden.
Dann sind folgende Varianten möglich- Variante 1: asynchron
- Bei den
Eigenschaftender Komponente istaysnchronausgewählt - Die Daten liegen an
D0…D7direkt an
- Variante 1: asynchron
- Bei den
Eigenschaftender Komponente istaysnchronnicht ausgewählt - Die Daten liegen an
D0…D7erst nach einer fallenden Flanke am Eingang/CS
Beispiel in Simulide
Konvertierung von *.wav / *.mp3 in *.dat / *.wav
Um die Daten zu konvertieren, kann das Freeware Tool Audacity genutzt werden. In diesme sind folgende Schritte notwendig:
- im Footer von Audacity die Audioposition auf
samplesstellen (falls dies nicht schon automatisch eingestellt ist)

- Datei (wav / mp3) laden.
- Hier kann z.B. auf freie, selbst-erzeugte Songs von Suno oder Loops aus FreeSound.org zurückgegriffen werden
- Audacity hat mit OpenVINO auch ein eigenes AI Tool zum lokalen Erzeugen von Musik. Dies ist aber nur bei hinreichend schneller Hardware empfohlen (Ein Laptop von 2021 reicht nicht).
- Den gewünschten Bereich markieren und eine separate Spur daraus herstellen (Auswahl mit Maus,
<Strg>+X,<Strg>+V, Rest löschen über: markieren und<Entf>) - Die Daten über
Spuren»Mix»Stereo zu Mono heruntermischenauf nur eine Mono-Spur zusammenlegen - Es empfiehlt sich nun die Daten durch ein Tiefpass zu filtern, z.B. mit 4000Hz und :
Effekt»Low-Pass-Filter..»Frequenz: 4000,0undRolloff: 48 dB/Octave.
Damit kann die Menge an Daten und die Wiedergabefrequenz im Anschluss reduziert werden. - Abspeichern der Daten:
- Der Einfachste Weg ist das Abspeichern eines Audiofiles:
Datei»Audio exportieren- Format:
WAV, Kanäle:Mono, Abtastrate:8000 Hz, Encodierung:Unsigned 8-bit PCM
- Es gibt aber auch einen umständlichen Weg über den Sample-Export, der im Anschluss noch konvertiert werden muss:
- Markieren aller Daten im Track:
<Strg>+A Werkzeuge»Sample-Datenexport- Ausgabe beschränken auf die ersten:
65535(oder Samplewert des letzten Samples), Messskala:linear, Datei exportieren nach:Pfad + Name eingeben, Index:Aus, Headerinfo:Aus - Konvertieren der Daten: Die Daten liegen als float $[-1.00, ... , +1.00]$ vor und müssen auf $[0, ... , 255]$ konvertiert werden.
Dazu kann die folgende Excel-Datei genutzt werden: conversiontool.xlsx
- 8-bit
*.wavDateien und*.dataDateien mit Komma-separierten Werten können beide direkt in Simulide in ein RAM Baustein laden:- Rechtsklick auf RAM-Baustein
- Daten laden
Dateien
- Simu-Datei: audio_ram_example.sim1
- Beispiel-Dateien für Audio: ram_rom_data.zip
Die Simulide Datei ermöglicht:
- ohne Mikrocontroller
- die Daten aus einem adressierbaren RAM/ROM Byte für Byte auszulesen
- aus diesen 8-Bit Daten Analogwerte zu generieren
- diese Analogwerte auf einem Scope und Lautsprecher auszugeben
Ich empfehle, zur Performancesteigerung folgendes:
- Schaltungsoptionen optimieren:
Einstellungen(⚙️) »Schaltung- Farbanimation deaktivieren
- Canvas aktualisieren nur mit 10 Bilder pro Sek.
- Nicht notwendige Ausgaben entfernen
- 7-Segmentanzeige für Adresse und Ausgabe löschen
- Oszi löschen