entwickelt von
Ronald Daleske

Startseite Impressum

ITP3-Modul - SNDMOD3

ITP3-Modul - SNDMOD3

Das ITP3-Modul - SNDMOD3 bildet eine CP/M Audio-Schnittstelle (SOUND) für einen ITP3-Server (z-meic, i-meic) ab.

Im Original CP/M war keine Audio-Schnittstelle vorgesehen. Es gab aber eine Schnittstelle für den Stanzer (gemeint ist Lochkartenstanzer oder Lochbandstanzer). Die genaue Bezeichnung ist PUNCH/AUXOUT (bios function 6).

Für PUNCH/AUXOUT wird bei allen z-meic und i-meic CP/M-Implementierungen stattdessen SOUND genutzt.

1. Kurzbeschreibung

Die Hardware des SNDMOD3-Moduls besteht aus einem ATMEGA328P, einem 8-Bit D/A-Wandler mit R/2R-Netzwerk, einem Verstärker mit dem IC LM386 sowie einem Lautsprecher zur Ausgabe der Töne.

Mit dieser Konfiguration ist die Ausgabe einfacher Töne und Tonsequenzen möglich.

Für die Entwicklung einer umfangreichen Software hatte ich bisher noch nicht die Zeit. Insbesondere sollte ein einheitliches Protokoll für die Ausgabe von Tönen und Tonsequenzen entwickelt werden. Dabei könnte man sich an bestehende Audio-Protokolle anlehnen wie z.B.:

In der hier vorgestellten Softwarevariante wird lediglich seitens des CP/M-BIOS der Startcode PLAY_START_SOUND=01H an die Soundschnittstelle gesendet. Diese spielt darauf hin die Sequenz:

"CP/M wurde gestartet"

ab. Mit diesen WAV-Daten (abgelegt im CONST-Array "CPM_START_TAB" in der Datei CPM_Start.INC) ist der Flash-Speicher des ATMEGA328P bereits gefüllt.

Weitere Audiosequenzen müssen anders generiert werden.

2. Schnellinstallation mit BitBurner

SNDMOD3 HEX-Datei: SNDMOD3.zip

Zur schnellen Installation genügt es, die Intel-Hex-Datei der Firmware des SNDMOD3 (siehe Download) in den ATMEGA328P zu brennen.

Dazu ist ein AVR ISP-Programmer und die Installation der dafür notwendigen Treiber erforderllich.

Als Brennprogramm kann BitBurner von Nick Metcalfe genutzt werden. Unter:

BitBurner

sind der Download-Link und einige Hinweise zum Programm angegeben.

Brennen_a

Nach dem Start des Programms BitBurner wird unter dem Reiter AVRdude und dem Auswahlmenü AVR Device der zu programmierende Mikrocontroller ausgewählt. Für das SNDMOD3-Board ist es der ATMEGA328P.

Unter dem Auswahlmenü Programmer wird das Protokoll des aktuell angeschlossenen AVR ISP-Programmer ausgewählt. In diesem Beispiel wurde ein USBasp AVR ISP Programmer genutzt. Der USBasp AVR ISP Programmer nutzt das Protokoll (usbasp).

Brennen_b

Anschliessend können unter dem Reiter AVR Fuses die Fuses des Mikrocontroller auf dem Zielboard gelesen und neu beschrieben werden.

Für das SNDMOD3-Board müssen die Fuses auf:

Low Fuses: FF

High Fuses: D9

gesetzt werden.

Brennen_c

Zum Brennen des Flash-Speichers des Mikrocontrollers wird unter dem Reiter AVR Memories und dem Auswahlmenü Flash der Pfad der Intel-Hex-Datei mit den zu brennenden Daten ausgewählt.

Mit dem Button Write wird der Inhalt der ausgewählten Intel-Hex-Datei in den Flash des Microcontrollers (hier ATMEGA328P) gebrannt.

Alle Meldungen des Programms avrdude werden im Meldefenster unten angezeigt.

3. Download des RONPAS-Quelltextes

Quelltext

Quelltext SNDMOD3 Version 1.0 vom 15.04.2020 (für RONPAS-Compiler): RONPAS_SNDMOD3.ZIP

Für die Übersetzung des Quelltextes wird der RONPAS-Compiler benötigt.

Die Fuses des ATMEGA328P müssen wie folgt gesetzt werden:

Low Fuses: FF

High Fuses: D9

4. Schaltplan

Schaltplan

Schaltplan SNDMOD3 als PDF: SNDMOD3.pdf

Schaltplan SNDMOD3 als SVG: SNDMOD3.svg

5. KiCAD und Gerberdateien

KiCAD SNDMOD3a

Hier sind alle notwendigen KiCAD-Dateien inklusive der projektspezifischen (meist eigene) Symbole und Footprints.

KiCAD SNDMOD3b

SNDMOD3 KiCad-Dateien: KiCAD5_SNDMOD3.zip

Für die Entwicklung wurde KiCAD Version 5.1.12 genutzt.

KiCAD-Version

Gerberdateien

Die hier angegebenen Gerberdateien sind die Originaldateien, mit denen der Prototyp angefertigt wurde.

SNDMOD3 Gerber-Dateien, Stand 09.06.2020: gerber_SNDMOD3.zip

Die Gerberdateien können direkt an einen Leiterplattenfertiger weitergeleitet werden.

Für die Anfertigung des Prototypen wurde jlcpcb.com genutzt (sehr günstig, sehr gute Qualität und schnelle Lieferung (meist um die 10 Tagen nach Bestellung)).

6. Beispiele

6.1. Beispiel - z-meic, SNDMOD3, PS2KBD, SPIDISK3, USBCH376 und TXTVGA3

Beispiel

8. Entwicklungsstand der Hard- und Software

Hardware: D/A-Wandler, Audioverstärker und Lautsprecher bilden eine gute Hardwarebasis für weitere Entwicklungen.

Die Software ist nur eine sehr einfache Version einer Testvariante, die noch weiter entwickelt werden muss.

9. Lizenz

10. Rückmeldung und Kontakt


Startseite Impressum