Hallo Geektimes! Haben Sie sich jemals gefragt, wie ein „elektrisches Signal“ auf den Spuren von Leiterplatten zwischen Mikroschaltungen, Transistoren, Dioden, Widerständen und Kondensatoren ertönt? Eine der Varianten eines solchen Signals in der modernen Elektronik ist ein digitaler Bus, und eine der beliebten Schnittstellen für den Datenaustausch über den Bus ist UART. Es wird häufig in Mikrocontrollern verwendet, um mit einem Computer oder einer Art Peripherie zu kommunizieren. Um Ton auf den Bus zu bringen, ist es überhaupt nicht erforderlich, einen Lautsprecher mit einem Verstärker an einen echten Bus mit
UART- Ohm anzuschließen, da dies im Programm simuliert werden kann. Interessieren Sie sich für die Sounds, mit denen Sie gelandet sind, oder benötigen Sie ein Programm, um selbst zu experimentieren? Dann frage ich nach Katze.
Wir hören Dateien im Bus mit UART
Welcher Sound wird erzeugt, wenn Sie Dateien über
UART übertragen ? Hier sind einige Beispiele, die mit den folgenden
UART- Parametern erhalten wurden:
- 115200 Baudrate
- Bit 8 Bits
- Paritätsbit: Keine
- Stoppbitlänge: 1
Sound des Spiels Stalker Shadow of Chernobyl (Datei XR_3DA.exe, ganz am Ende des Tracks, ab 2:36, gibt es eine Melodie).
Der Klang des Textes und des Codes des Artikels über den Sprachsynthesizer (der Artikel selbst ist
hier ).
Wie klingt das Foto von Lena?

Das Ergebnis war nur
Lärm .
Der Sound des Buches "Entropie und Vorhersage von Zeitreihen in der Theorie dynamischer Systeme" im PDF-Format.Der Sound der Firmware des Mikrocontrollers der Atmega-Serie für einen WAV-Player.Wofür kann es verwendet werden?
Theoretisch kann es solche Informationen in Form von Text, Bild oder Video oder in Form eines Programms geben, das nicht nur eine funktionale oder ästhetische Bedeutung hat, sondern auch einen „schönen“ Klang eines digitalen Busses. Dann stellt sich heraus, dass dies eine Art „digitale“ Poesie ist .
Sie können Samples auch für Dubstep diversifizieren. Meiner Meinung nach ist das Hören der Geräusche eines digitalen Busses für einen Amateur im Allgemeinen genauso interessant wie das Hören des Rauschens von Radiowellen in kurzen Wellen.
Wie es funktioniert oder ein wenig über UART
Was ist
UART kann auf
Wikipedia gelesen werden.
UART ist in einem Programm sehr einfach zu simulieren. Tatsächlich müssen Sie nur in der Lage sein, eine Signaldifferenz von 0 bis 1 und umgekehrt zu erstellen (bei einer
WAV- Datei mit einer Bitkapazität von 16 Bit sind dies Werte von -
A bis +
A , wobei
A die Signalamplitude ist) und diese in einer Audiodatei aufzuzeichnen. Die
UART- Schnittstelle funktioniert ungefähr so: Nach dem Startbit, das logisch „Null“ ist, müssen Sie den Pegel abhängig von den bereitgestellten Daten von niedrig nach hoch einstellen. Als nächstes kommt ein Paritätsbit, das Sie nicht verwenden können. Am Ende der Nachricht befindet sich ein Stoppbit (logische „Einheit“), dessen Länge unterschiedlich sein kann. Ein Beispiel für den Code finden Sie im Quellcode am Ende des Artikels. Weitere Informationen zu UART finden Sie im Netzwerk, viel Material. UART kann für andere Zwecke verwendet werden, beispielsweise als PWM. In unserem Fall bedeutet dies jedoch, dass es theoretisch sogar möglich ist, ein vollwertiges Tonsignal direkt an den Lautsprecher zu übertragen, wie dies bei WAV-Playern auf dem Mikrocontroller der Fall ist. Ich würde jedoch eher vorschlagen, es als Mäandergenerator zu verwenden. Die Tonfrequenz und
-phase des Signals können in Form von Datenbits
bereitgestellt werden. Beispielsweise erzeugt
00001111 einen Mäander, dessen Periode 10 Übertragungszeiten eines Bits entspricht (da in diesem Fall auch ein Startbit gleich 0 und ein Stoppbit gleich ist 1). Aufgrund der Start- und Stoppbits können beispielsweise in diesem Fall
01100110 nicht alle
Mäanderperioden übertragen werden , da wir im Wesentlichen eine solche Sequenz auf dem Bus
0011001101 abhören werden . Wenn Sie eine hohe Datenübertragungsrate verwenden, z. B. 115200 Baud, ist es sinnvoll, hörbare Schallfrequenzen zu erzeugen, indem Sie die Perioden der Meadras um mehrere Bytes verlängern.
...
Über diesen
Link können Sie das Programm herunterladen, um die Datei in den Sound des
UART- Busses zu konvertieren. Es gibt auch eine Version, die OpenAL verwendet, um während des Programmbetriebs Sound abzuspielen. Hier ist der
Link .
Der Quellcode des Programms ist unten angegeben:
Header-Datei SoundsDigitalBus.h#ifndef SOUNDS_DIGITAL_BUS_H_INCLUDED #define SOUNDS_DIGITAL_BUS_H_INCLUDED #define SDB_WAV_FILE_NAME "sdb_output.wav" #define SDB_UART_BIT 8 #define SDB_UART_PARITY 0 #define SDB_UART_STOP_BIT 1 #define SDB_UART_BAUDRATE 9600 #define SDB_UART_BAUDRATE_MAX 921600
Quellcode der Datei SoundsDigitalBus.cpp #include "SoundsDigitalBus.h" #if SDB_WITH_OPENAL == 1
Datei main.h #ifndef MAIN_H_INCLUDED #define MAIN_H_INCLUDED #define LINUX 0x00 #define WINDOWS 0x01 #define RU 0x00 #define EN 0x01
Datei main.cpp #include "main.h" sdb soundsDigitalBus; int main() { static FILE *fp = NULL;
PS Ich habe einen Fehler festgestellt, dass im Quellcode das Startbit logisch 1 und nicht 0 und das Stoppbit 0 und nicht 1 ist. Wer eine grundlegende Übereinstimmung des Reality-Sound-Signals benötigt, kann den Fehler selbst beheben.