Infos zur Verwendung von RAM und ROM
Nutzung von RAM/ROM in Simulide
- Bei Verwendung der KomponenteRAM/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 denEigenschaftender Komponente istnicht löschbarausgewählt
- Daten können dann vor oder nach dem Start per Kontextmenu geladen werden
 
- Variante 2: löschbar- Bei denEigenschaftender 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 denEigenschaftender Komponente istaysnchronausgewählt
- Die Daten liegen anD0…D7direkt an
 
- Variante 1: asynchron- Bei denEigenschaftender Komponente istaysnchronnicht ausgewählt
- Die Daten liegen anD0…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 aufsamplesstellen (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 überSpuren»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