Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
microcontrollertechnik:infos_zur_verwendung_von_ram_und_rom [2024/04/08 22:43]
mexleadmin
microcontrollertechnik:infos_zur_verwendung_von_ram_und_rom [2024/04/17 01:54]
mexleadmin [Beispiel in Simulide]
Zeile 1: Zeile 1:
 ====== Infos zur Verwendung von RAM und ROM ====== ====== Infos zur Verwendung von RAM und ROM ======
  
 +===== Nutzung von RAM/ROM in Simulide =====
   * Bei Verwendung der Komponente ''RAM/ROM Memory'' in Simulide können die Daten über das Kontextmenu (Rechtsklick aus die Komponente) geladen und abgespeichert werden.   * Bei Verwendung der Komponente ''RAM/ROM Memory'' in 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:   * Falls Daten aus einer Datei geladen werden sollen, so sind folgende Varianten möglich:
Zeile 17: Zeile 18:
       - Bei den ''Eigenschaften'' der Komponente ist ''aysnchron'' **nicht** ausgewählt       - Bei den ''Eigenschaften'' der Komponente ist ''aysnchron'' **nicht** ausgewählt
       - Die Daten liegen an ''D0...D7'' erst nach einer fallenden Flanke am Eingang ''/CS''       - Die Daten liegen an ''D0...D7'' erst 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 {{https://www.audacity.de/downloads/|Audacity}} genutzt werden. In diesme sind folgende Schritte notwendig:
 +  - im Footer von Audacity die Audioposition auf ''samples'' stellen (falls dies nicht schon automatisch eingestellt ist) \\ {{drawio>microcontrollertechnik:UmstellenDesFooters.png}}
 +  - Datei (wav / mp3) laden. 
 +    - Hier kann z.B. auf freie, selbst-erzeugte Songs von {{https://suno.com|Suno}} oder Loops aus {{https://freesound.org/|FreeSound.org}} zurückgegriffen werden
 +    - Audacity hat mit {{https://github.com/intel/openvino-plugins-ai-audacity/releases|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 heruntermischen'' auf 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,0'' und ''Rolloff: 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: {{microcontrollertechnik:conversiontool.xlsx}}  
 +  - 8-bit ''*.wav'' Dateien und ''*.data'' Dateien mit Komma-separierten Werten können beide direkt in Simulide in ein RAM Baustein laden:
 +    - Rechtsklick auf RAM-Baustein
 +    - Daten laden
 +
 +==== Beispiel in Simulide ====
 +
 +  * Simu-Datei: {{microcontrollertechnik:audio_ram_example.sim1}}
 +  * Beispiel-Dateien für Audio: {{microcontrollertechnik: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
 +