Die Kassette kann nicht nur Lieder speichern, sondern auch Bitmuster. Ein Bastler baut dafür eine Schnittstelle mit 1,5 KBit/s Datenrate.
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.
Arduino und Python: Bastler nimmt Audiokassette als Speichermedium für Retro-PC - Golem.de - Golem.de
Read More
No comments:
Post a Comment