FA 4/1986, S.203-205 Schaltungen mit Mikroprozessor U 880 D history menue Letztmalig dran rumgefummelt: 11.07.18 09:29:56

S. LEHMANN - Schon seit geraumer Zeit werden in der Amateurelektronikliteratur Schaltungen mit Mikroprozessor-Bauelementen veröffentlicht. Dieser Trend ist zu begrüßen, da damit die Qualität der Amateurgeräte entscheidend verbessert wird. Dem gegenüber steht jedoch die Scheu vor einer Verwendung dieser Technik, bei der die Funktion nicht mehr verdrahtet, sondern programmiert wird. Die Ursachen dafür sind zum Teil darin zu suchen. daß die bisher veröffentlichten Schaltungen meist umfangreich waren (Amateurcomputer, Mikrorechner). Solche Projekte sind als „Mikroprozessor-Erstlingswerk“ schon zu schwierig. In diesem Beitrag soll deshalb eine kleinere Schaltung vorgestellt werden, die durch ein leichter erreichbares Erfolgserlebnis beim Nachbau die „Mikroprozessor-Hemmschwelle“ überwinden helfen soll.

  1. Einfacher Generator mit Schaltung und EPROM-Listing
  2. Erweiterter Melodiegenerator mit Funktionsauswahl

Z80-Bau-Projekte

Einfacher Melodie-Generator  - das Logo

begrenzt verwendbar - selbst aufpassen, ab welcher Stelle es Blödsinn wird ;-)

Wissen für Fortgeschrittene der Informatik


1. Einfacher Melodiegenerator mit Schaltung und EPROM-Listing history menue scroll up
Diese einfache Schaltung kommt mit nur vier Schaltkreisen aus, ist aber solchen mit Schieberegister und Tongenerator weit überlegen. Möglich wurde das erst durch Verlagerung des Aufwandes von der Hardware (Schaltung) auf die Software (Programm). Letztere bildet zusammen mit der Minimalschaltung die Funktionen „Schieberegister“, „Tonspeicher“ und „Tongenerator“ nach. Da Software nichts kostet (solange man sie nicht kaufen muss), kann man in ihr die gesamte „Intelligenz“ des Gerätes unterbringen.
Eine herkömmliche Melodieklingel benötigte immer einen steuerbaren Tongenerator. Dieser ist aufwendig und schwierig abzugleichen. Ein Mikroprozessor, ein Ausgabe-Flip-Flop und ein paar Bytes Programm können ihn nicht nur ersetzen, sondern sogar übertreffen. Da der Mikroprozessor nun schon einmal da und mit der Erzeugung der Töne bei weitem nicht ausgelastet ist, kann er auch noch die Ausgabe der Melodien und die Abfrage des Klingelknopfes übernehmen. Durch Opfern einiger weiterer Bytes EPROM-Inhalt ist die Klingel auch schon um eine „Sturmklingel-Sperre“ reicher.
In einem 1-Kbit-EPROM kann man etwa 40 einfache Melodien unterbringen. Natürlich können auch weniger, dafür aber längere Liedermelodien einprogrammiert werden. Die Speicherung der Töne erfolgt dabei byteweise, wobei ein Byte (8 Bits) einen in Tonhöhe und -länge variablen Ton darstellt. Den genauen Aufbau eines Tonbytes zeigt Bild 2. Die unteren vier Bits repräsentieren die Tonhöhe, wobei die Kombination 0000 eine Ausnahme macht. Diese erzeugt keinen Ton, sondern eine Paus, Folglich ergibt die Folge 0001 den tiefsten, 1111 den höchsten Ton. Die nächsten drei Bits bestimmen die Tonlänge in Achtelnoten. Hier bedeuten 000 eine Achtelnote, 111 acht Achtelnoten. Längere Töne sind aus mehreren Bytes zusammenzusetzen. Das Bit 7 wird als Stop-Bit verwendet. Es kennzeichnet, wenn es gesetzt ist, ein Liedende. Folgen zwei Bytes mit gesetztem Stop-Bit aufeinander, ist das Ende der Liedertabelle erreicht.
Die Arbeitsweise der Klingel ist etwa folgende: Bei Betätigen des Klingelknopfes wird über das Speicher-Flip-Flop (D4.2) im Prozessor eine Programmunterbrechung erzwungen, welche diesen aus seinem Warteprogramm herausholt. Ein internes Register (IX) zeigt bereits auf den Anfang des nächsten Liedes. Bevor mit der Erzeugung der Töne begonnen wird, muß zunächst einmal die Anzahl dar Tonschwingungen für den nächsten auszugebenden Ton errechnet werden. Dafür enthält das Programm eine Tabelle, die für jeden der 15 möglichen Töne die Schwingungsanzahl für eine Achtelnote bereithält. Durch eine einfache Multiplikation mit der Anzahl der Achtelnoten steht nun die Zahl der auszugebenden Tonschwingungen fest.
Ein raffiniert ausgeklügeltes Programm übernimm nun die Ausgabe der Halbschwingungen über das Ausgabe-Flip-Flop (D4.1) in zeitlich richtigem Abstand. Nach Ausgabe aller Halbschwingungen wird der nächste Ton des Liedes ermittelt und ausgegeben, so lange, bis ein gesetztes Stop-Bit erreicht ist Wird dieses auch noch im folgenden Byte erkannt, erfolgt das Rücksetzen des Zeigeregisters auf den Anfang der Liedertabelle. Es schließt sich eine Zeitschleife an, die das sofortige Auslösen der Klingel am Liedende bei ungeduldigen Gästen verhindert. Nun wird das Speicher-Flip-Flop (D4.2) zurückgesetzt, und die Klingel ist zur Ausgabe des nächsten Liedes bereit.
Die Stromversorgung der Schaltung gestaltet sich bei Einsatz eines 2-Kbit-EPROMs (U 2716 C, K 565 RF 2, 2716) ausgesprochen einfach, da nur eine Betriebsspannung von +5 V erforderlich ist. Beim Einsatz kleinerer EPROMs müssen zusätzliche Spannungen bereitgestellt werden, so z. B. +12 V und -5 V beim U 555 D.
Stromlaufplan Leiterplatte Bestückungsplan

Bild 1 - Stromlaufplan Melodiegenerator nach FA 04/1986

Bild 4 - Leiterplatte Melodiegenerator nach FA 04/1986

Bild 5 - Bestückungsplan Melodiegenerator nach FA 04/1986

Assembler-Programm HEX-Listing HEX-Dump

Assembler-Datei Melodiegenerator nach FA 04/1986

HEX-Datei Melodiegenerator nach FA 04/1986

HEX-Datei Melodiegenerator nach FA 04/1986

Für den Anschluss des Klingelknopfes wurden zwei Varianten entwickelt, damit sowohl einfache Kontakte als auch spannungsliefernde Klingelleitungen (Potentialtrennung vom Netz beachten!) verwendet werden können. Bild 3 zeigt das Hexlisting für die Klingel. Der Abgleich der Schaltung beschränkt sich auf das Einstellen der Prozessor-Taktfrequenz mittels R1 auf 2457,6 kHz. Nach Einschalten der Betriebsspannung und folgendem Power-On-Raset (RC-Kombination am RESET-Eingang des Prozessors) muss der HALT-Ausgang des Prozessors Low-Pegel führen. Andernfalls liegt ein Schaltungsfehler oder ein Bauelemente-Defekt vor. Zur Erleichterung des Nachbaus wurde eine Leiterplatte entworfen (Bild 4), deren Bestückung in Bild 5 gezeigt ist. Diese lässt sich noch um die Stromversorgung erweitern, wodurch man ein kompaktes Gerät erhält.

Bild 1: Stromlaufplan der Melodielklingel mit Mikroprozessorsteuerung
Bild 2: Darstellung des Aufbaus eines Ton-Bytes
Bild 3: Programmlisting für die Melodielklingel mit Mikroprozessorsteuerung1)
Bild 4: Leitungsführung der Leiterplatte für die Melodielklingel (Platinengröße 105 mm x 90 mm)
Bild 5: Bestückungsplan für die Leerplatte der Melodieklingel
Basis zur Berechnung der Tonfrequenzen des Originals    

Berechnung der Tonfrequenzen für den Melodiegenerator nach FA 04/1986

   
„Eine Melodieklingel mit vielen Melodien“ in FUNKAMATEUR, Heft 4/1986, Seite 203 bis 205

Bei der Leiterplatte ist Pin 7 von D4 mit der Masseleitung zu verbinden. Diese Korrektur wurde bei der von der Firma Kolbe ausgelieferten Leiterplatte bereits ausgeführt. Im Bestückungsplan (Bild 5) liegt zwischen dem Kollektor von VT1 und der Spannung +5 V statt der Drahtverbindung der Widerstand R6 (10 kOhm).
Nicht korrekt angegeben ist die Stromversorgung für den EPROM-Schaltkreis D3. Einfach ist der Anschluss des U 2716 D. Er erfordert nur die Spannung +5 V, so dass die Angaben -5/+12 V keine Bedeutung haben. Erforderlich ist nur die Drahtbrücke an Pin 24. Die Drahtbrücke an Pin 21 entfällt, da Pin 21 der Programmiereingang ist. Außerdem sind Pin 19 (D3) mit Pin 40 (D2) mit einer Drahtbrücke zu verbinden.
Beim Einsatz des EPROMs U 555 C entfällt die Drahtbrücke an Pin 19, da an Pin 19 +12 V angeschlossen sind. Auch die Drahtbrücke an Pin 21 entfällt, an Pin 21 wird -5 V angeschlossen. Die Spannung +5 V bleibt an Pin 24. Der Programmiereingang des U 555 C ist Pin 18. Zu beachten ist, dass beim U 555 C die Spannung -5 V immer vor den beiden anderen Spannungen anliegen muss.
Wer Probleme mit dem Anschwingen des Taktgenerators hat, dem sei empfohlen, vom Ausgang des Gatters D1.3 zur Verbindung von R1 und Cl einen Widerstand 1 kOhm zu schalten. Bei der ausgeführten Leiterplatte ist außerdem darauf zu achten, dass Pin 29 (D2) keine Verbindung zur Spannung +5 V hat.


2. Erweiterter Melodiegenerator history menue scroll up
Sie haben mit diesem Programm ein völlig neues Betriebssystem für Ihre Melodieklingel nach Funkamateur Nr. 4/86 erworben. In Wirkungsweise und Klang unterscheidet es sich deutlich von der im Funkamateur veröffentlichen Version.
In FA 5/90 hat W. Lahner ein kleines Programm für den Z1013 vorgestellt, mit dem man auf dem Z1013 die Liedtabellen ausprobieren kann. Ein ähnlich arbeitendes Programm für den PC stammt von J. Gollasch und läuft auch noch unter XP! Januar 2015: In FA 12/90 bot H. Fey, Chemnitz eine wesentlich verbesserte Software an. Dank Herrn Berger ist diese Software nun verfügbar. Vielen Dank!
Software-Doku für das "Update" ... oder hier die Beta-Version    

Beschreibung der Erweiterung mit Detail-Informationen

Beschreibung der Erweiterung mit Detail-Informationen

Beschreibung der Erweiterung mit Detail-Informationen

   
Melodienklingel mit U880

... und 65 Melodien mit zufälliger Melodienwahl und "Sturmklingelsperre". Erstmalig vorgestellt in der Zeitschrift "Funkamateur" Heft 4/1986. Dieses Teil war damals echt der Renner. Wurde von mir mindestens 15 Mal nachgebaut. In den EPROM (2716) wurde allerdings eine andere Software gebrannt und ein paar kleine Hardwareänderungen vorgenommen. Zum Beispiel ist der Lautsprecher nach Ende des Liedspiels jetzt immer stromlos, das war bei der Originalversion nicht so. Erreicht wird dies durch die neu geschaffene Verbindung von Pin1 IC4A nach Pin18 IC1 und einer Anpassung der Software. Der Aufbau ist relativ simpel, wie aus dem Schaltplan zu erkennen ist. IC3E und IC3F erzeugen die Taktfrequenz für den Prozessor (U880 bzw. Z-80CPU) von ca. 2,5MHz. D1 und Q2 lösen in der CPU einen Interrupt aus, und die Melodie wird abgespielt. Danach lässt sich für ca. 10 Sekunden kein erneutes Liedspiel auslösen, falls es die Kinder mal wieder arg übertreiben wollen. Es werden noch ein Lautsprecher, angeschlossen zwischen "LSP1" und "5P" und eine LED, angeschlossen zwischen "LED" und "5P", benötigt. Die LED signalisiert den Bereitschaftszustand. Auf die Darstellung eines Netzteiles wurde hier verzichtet, es werden 5V bei ca. 400mA benötigt. Eigene Erfahrungen haben gezeigt, daß an dieser Stelle nicht gespart werden sollte, da es sonst zu Fehlauslösungen oder "Abstürzen" kommen kann. Also gut stabilisieren und abblocken!

Falko Glanert, DG1AFG
dg1afg@ov-w38.de
       

Leiterseite der angepassten Platine

Leiterseite der angepassten Platine

   



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 10. Juli 2018 um 15.59 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist