Rechercher dans ce blog

Saturday, October 23, 2021

Arduino und Python: Bastler nimmt Audiokassette als Speichermedium für Retro-PC - Golem.de - Golem.de

Die Kassette kann nicht nur Lieder speichern, sondern auch Bitmuster. Ein Bastler baut dafür eine Schnittstelle mit 1,5 KBit/s Datenrate.

Kassetten speichern auch Daten, nicht nur Neunziger-Hits.
Kassetten speichern auch Daten, nicht nur Neunziger-Hits. (Bild: Pixabay.com/Montage: Golem.de)

In Zeiten, in denen Bits elektronisch auf Flash-Speichern geschrieben werden, geht der Bastler Zack Nelson in der Zeit zurück. Er baut als Hobbyprojekt (via Hackaday) einen Retro-Computer, der Daten von einer Audiokassette lesen und auf diese schreiben kann. Dazu konstruiert er ein spezielles Interface, das ein eigentlich analoges Signal kodiert und dekodiert, sodass es als digitaler Bitstream genutzt werden kann. Dabei helfen ein Arduino Nano und die Programmiersprache Python.

Zunächst ist es wichtig, ein Audiosignal für die Bitspeicherung aufzubereiten. Laut Nelson kann das Magnetband einer Audiokassette im Bereich von 400 bis 4.000 Hz Signale verarbeiten. Deshalb führt das Interface die differentielle Manchester-Kodierung ein, die den Signalausgang mindestens ein mal pro Bit umkehrt. Dadurch soll gewährleistet sein, dass ein Signal von 1.000 Hz sicher und fehlerfrei auf dem Medium gespeichert werden kann.

1,5 KBit/s sind drin

Außerdem versendet das System Pakete nach dem relativ simplen 8-n-1-Muster, mit einer Null als Start-Bit, acht Datenbits und einem Stop-Bit. Für den Schreibprozess stellt Nelson ein Python-Script bereit, das auch von Interessenten auf Github eingesehen werden kann.

Das Signal wird vor der Dekodierung von etwa 1 Volt auf 5 Volt verstärkt. Anschließend definiert Nelson zwei Grenzwerte: Geht das Audiosignal über 2,6 Volt, soll das als digitale 1 gelten. Bei unter 1,5 Volt wird eine 0 dargestellt. Ändert sich der Zustand nicht, dann soll das Signal bei etwa 2,5 Volt verweilen. Die Pufferzone von 0,1 Volt nach oben und 1 Volt nach unten soll der Rauschminderung dienen und so eventuelle Bitfehler vermeiden.

Auf dem Arduino Nano wird ein kodiertes Signal anschließend dekodiert. Ein Python-Script hört das Synchronisationssignal ab und kann so die Intervalle erkennen, in denen Bits über die serielle Schnittstelle gesendet werden. Mit dieser Methode kann das Interface immerhin eine Symbolübertragungsrate von 3.000 Baud - durch Manchester-Kodierung also etwa 1.500 Bit pro Sekunde (1,5 KBit/s) - erreichen.

Die Ressourcen, Scripts und Dokumentationen stellt der Bastler auf Github zur Verfügung, sollten sich Interessenten finden, die Daten ebenfalls auf Kassetten schreiben möchten.

Adblock test (Why?)


Arduino und Python: Bastler nimmt Audiokassette als Speichermedium für Retro-PC - Golem.de - Golem.de
Read More

No comments:

Post a Comment

One UI 5.1: Samsung kündigt Update-Start für ältere Galaxy-Smartphones an, los geht es u.a. mit Galaxy S20, S21 und S22 - Notebookcheck.com

Nachdem es vor wenigen Tagen bereits inoffizielle Informationen zum Rollout von Samsungs One UI 5.1 für die ersten Modelle jenseits der ne...