Digitaluhr mit Liedspiel history menue Letztmalig dran rumgefummelt: 02.04.08 16:11:49
Basierend auf einer Idee aus dem Jahre 1985 hat mich diese kleine Schaltung immer ein wenig fasziniert. Die Menge der im Funkamateur der DDR veröffentlichten Beiträge zu Mikrorechnern ist endlich und klein. Diese Schaltung gehört auf jeden Fall dazu. Im Jahre 2007 gehen wir es an, diesen Plan in die Tat umzusetzen und diese Schaltung sehr groß im Computerraum des Gymnasiums Flöha aufzubauen. Es soll ein AG-Projekt werden - schau'n wer moal ;-)

1. Schaltungsidee und Beschreibung
2. Bedienung
3. Umsetzung
4. Einsatz und Anwendung
5. Verwandte Themen
6. Links

die Elektronikseiten

Bild 1 - Blockschaltbild

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

Wissen für Fortgeschrittene der Informatik

Informatik-Profi-Wissen

Quellen:

Idee nach B. WINTER in Zeitschrift FUNKAMATEUR Heft 5/1987 S. 87


1. Schaltungsidee und Beschreibung history menue scroll up
In diesem Beitrag soll eine Anwendung des Mikroprozessorsystems U 880 D beschrieben werden. Der Mikrorechner hat die Aufgabe, die Uhrzeit anzuzeigen, bis zu 32 verschiedene Lieder mehrstimmig (maximal 8 Töne gleichzeitig) zu spielen und den Dialog mit dem Bediener zu unterstützen. Das Liedspiel ist in mehreren Betriebsarten möglich. Es kann sowohl automatisch an den einzelnen Wochentagen zwischen jeweils programmierbaren Anfangs- und Endzeiten zur jeweils vollen Stunde, als auch per Hand zu beliebiger Zeit ausgelöst werden, sofern für das Liedspiel eine Erlaubnis vorliegt. Das bedeutet, es muss möglich sein, das Liedspiel jederzeit von Hand zu erlauben, zu verbieten oder es, wenn soeben Lieder gespielt werden, abzubrechen.
Um den dafür notwendigen Dialog des Bedieners mit dem Mikrorechner effektiv zu gestalten, wurde ein Menüprogramm eingesetzt. Der Mikrorechner stellt dabei eine Folge von Fragen an den Bediener. Aus den vorgegebenen Antwortmöglichkeiten soll sich der Bediener eine auswählen und sie dem Mikrorechner per Knopfdruck übermitteln. Zur Darstellung der Texte und der Uhrzeit dient ein vierstelliges 16-Segment-Display, das eine gute Lesbarkeit der Zeichen erlaubt. Um damit längere Texte ausgeben zu können, müssen die anzuzeigenden Zeichen so weitergerückt werden, dass der Eindruck entsteht, als würde der Text vor den Augen des Bedieners abrollen.
Wie das Bild 1 zeigt, besteht das Gerät aus den Hauptmodulen: Uhr, Mikrorechner zur Steuerung der Anzeige, Auswertung von Tastenbetätigungen und der Tonerzeugung, Registerschaltung zur Klangformung, NF-Verstärker und 5-VNetzteil. Sie sind in einer Lautsprecherbox untergebracht, die auch die Tastatur und die Anzeige aufnimmt.

Bild 1 - Blockschaltbild

1. Uhrmodul

Der Stromlaufplan der Uhr ist in Bild 2 dargestellt; der mechanische Aufbau ist aus Bild 19 zu erkennen. Dieses Modul ist für ein zyklisches Abfragen der Uhrzeit durch den Mikrorechner konzipiert. Dieser übernimmt deren Anzeige (vgl. dazu Abschnitte 2.1. und 2.2.). Die Uhr wurde mit CMOS-Schaltkreisen bestückt, um einen möglichst geringen Stromverbrauch zu sichern.
Im Schaltkreis K 176 HE 12 (SU) werden zunächst mit Hilfe eines 32 768-Hz-Uhrenquarzes Rechteckimpulse dieser Frequenz erzeugt. Durch anschließende Teilung entstehen 1-Hz-Impulse, also Sekundenimpulse, die weiter durch einen 60:1-Teiler zu Minutenimpulsen werden. (Der Schaltkreis gibt noch Multiplexsignale für eine vierstellige Anzeige aus, die aber hier nicht benötigt werden.) Die integrierten Schaltkreise der Serie K 176 sind eigentlich für eine Betriebsspannung von 9 V ± 0,5 V vorgesehen [1], das eingesetzte Muster arbeitete aber auch unterhalb von 5 V noch zuverlässig.
Damit die Konvertierung im Mikrorechner besonders einfach ist, wird die anzuzeigende Uhrzeit (Stunden, Minuten) durch vier BCD-Ziffern ausgedrückt. Aus diesem Grund entstehen aus den Minutenimpulsen nach dem Durchlaufen zweier Teiler (10:1; 6:1) Stundenimpulse. Ein wieder mit einem 10:1-Teiler aufgebauter Zähler registriert diese Stundenimpulse. Beim Zählerstand 24 erfolgt dessen Rücksetzen.
Als Zählerbausteine fanden die. CMOS-IS K 561 HE 10 (SU, entspricht V 4520 D) Verwendung, jeder Baustein enthält zwei getrennt rückstellbare 4-bitBinärzähler. Ihre Ausgänge QA, QB, QC, QD können also 16 Schaltzustände (von LLLL bis, HHHH) einnehmen. Darum muss der 6:1-Teiler bereits beim Zählerstand 6 (LHHL) rückgesetzt werden. Dazu dient die Verbindung der Ausgänge QB und QC über Gatter (V 4011 D) mit Bild 1: Prinzip der Schaltungskonzeption des mikrorechnergesteuerten Liedspiels dem Rückstelleingang R. In ähnlicher - Weise sind die 10:1- und 24:1-Teiler realisiert.
Die Länge der Rückstellimpulse ist zwar groß genug, um die Zähler rückzusetzen und dem nächsten Zähler einen verarbeitbaren Impuls zu erteilen, nicht aber um ordnungsgemäß einen Interrupt, d.h., eine taktunabhängige Unterbrechung der Arbeit des Mikrorechners, auszulösen. Darum werden die Stundenimpulse durch einen Monoflop (D101.1, D101.3) verlängert.
Eine Grundüberlegung war, möglichst wenige Leitungen zwischen Uhr- und Mikrorechnermodul zu verwenden, so dass sich eine Parallel/Serien-Wandlung als relativ günstiger Weg anbot. Die einzelnen Zählerstände werden deshalb bei H an P/S der Schieberegister V 4035 D (D107, D108, D109, D110) in diese übernommen, sobald an C ein Impuls anliegt. Weitere solche Impulse schieben bei L an P/S die gespeicherten Bitfolgen von Ausgang zu Ausgang des Schieberegisters. Durch die Verbindung des Ausgangs Q4 mit den Eingängen J und K des nächstfolgenden Schieberegisters ist die Weitergabe der Informationen gewährleistet. Die Steuerung der Schieberegister übernimmt der Mikrorechner, der auch die empfangenen Informationen speichert und weiterverarbeitet.
Bei Stromausfall (bzw. bei Herausziehen des Moduls) soll die Uhr ohne Informationsverfälschung weiterarbeiten, darum wird die Stromversorgung der Uhr durch drei Silberoxidzellen SR 44 gepuffert. (Natürlich kann man z.B. auch NiCd-Akkus mit oder ohne Erhaltungsladung einsetzen.) Im Normalfall übernimmt das 5-V-Netzteil über VD102 die Stromversorgung, andernfalls übernehmen die Batterien über VD103 diese Aufgabe. Dann werden gleichzeitig über einen Inverter von Dl 13 (U 40098 D) die CE-Eingänge der Leitungstreiber zum Mikrorechnermodul auf H geschaltet, wodurch diese die Leitungen zum Mikrorechner hochohmig abschließen, so dass sich ein minimaler Stromverbrauch einstellt. Alle Eingangsleitungen des Uhrenmoduls sind über Widerstände gegen 0 bzw. 5 V geschaltet, so dass hier in diesem Fall auch kein Strom fließt. Die Pufferbatterien haben jetzt nur noch einen Strom von etwa 301tA (kann exemplarbedingt schwanken!) zu liefern.

Bild 2 - Stromlaufplan des Uhrenrnoduls des rechnergesteuerten Liedspiels

Beim Einschalten der Netzspannung traten zunächst reproduzierbare Fehler durch die Initialisierung der Ports der PIO-Schaltkreise (U 855 D) bei der Stundenzählung auf Diese ließen sich aber beseitigen, indem zusätzliche Stundenimpulse, etwa zum Stellen der Uhr, erst dann zum Zähler gelangen können, nachdem der Rechner an Stift 124 H-Potential gelegt hat. Das wird durch das Menüprogramm beim Stellen der Uhr und bei der Rückstellung des Minutenzählers auf 00 ausgeführt. Die Ganggenauigkeit der Uhr wird von der Güte des Schwingquarzes EQ101 und der Temperaturabhängigkeit der Kondensatoren C102, C103 und C104 wesentlich beeinflusst. Umeine hohe Genauigkeit zu erreichen, kommt häufig ein die frequenzbestimmenden Bauteile . der Uhr umschließender Thermostat zum Einsatz, der sie auf einer konstanten, gegenüber der Umgebung höheren Temperatur hält. Hier wurde folgender Kompromiss zwischen Aufwand und Nutzen gefunden: Die Schaltung gibt durch ihre Leistungsaufnahme von etwa 12 W (exemplarabhängig!) relativ viel Wärme an die Umgebung ab. Zwischen Wärmeaufnahme und -abgebe der Luft im Inneren der Lautsprecherbox stellt sich trotz vorhandener Kühlöffnungen bei annähernd konstanter Zimmertemperatur auch ein entsprechendes annäherndes Gleichgewicht ein, wodurch sich im Innern der' Box eine etwa gleichbleibende Temperatur von etwa 35 °C ergibt. Selbstverständlich sollten die erwähnten Kondensatoren einen möglichst geringen Temperaturkoeffizienten besitzen, ihre Kapazitätswerte sind -Abgleichwerte. Im Muster konnte durch C102 eine tägliche Gangkorrektur von etwa 5 s erreicht werden, damit dürften auch alterungsbedingte Frequenzänderungen noch zu kompensieren sein.
Literatur .
[1] Hertzsch, A.: CMOS-Logikscbaltkreise, Militärverlag der DDR Berlin 1983
[2] Warme, G.; V. Otto; B.Graffunden Mikrorechneranwendung Gerätetechnik LT 880, Institut für Nachrichtentechnik, Berlin 1982

2. Mikrorechnermodul

2.1. Beschreibung der Hardware

Bild 3 - Stromlaufplan des Mikrorechnermoduls

 

Die Einordnung des Mikrorechnermoduls in die Gesamtschaltung ist aus Bild 1 zu entnehmen. Der Stromlaufplan ist in Bild 3 zu sehen, während das Bild 20 einen Blick auf den mechanischen Aufbau gestattet. Die Taktfrequenz für den verwendeten Mikroprozessor UB 880 D beträgt maximal 2,5 MHz, im vorliegenden Fall 2,4 MHz. Die aus D214.3 und D214.4 bestehende Generatorschaltung erzeugt unter Einbeziehung des Quarzes EQ201 zunächst eine Frequenz von 4,8 MHz, die ein entsprechend beschalteter D-Flip-Flop des DL 074 D (D215.1) durch 2 teilt. Diese Frequenz wird nochmals halbiert (D215.2) und dient dann als Ausgangsfrequenz für die Erzeugung der einzelnen Töne.
Zur Bewältigung der umfangreichen Aufgabe des Mikrorechners wurden als Bindeglieder zwischen Mikroprozessor und „Umgebungsschaltung" drei Parallel-Eingabe/Ausgabe-Schaltkreise (PIO) U 855 D mit je zwei 8-bit-Ports und vier Zähler-Zeitgeber-Schaltkreise (CTC) U 857 D mit je vier Zählern bzw. Zeitgebern verwendet. Die maximal 256 vom UB 880 D aufrufbaren Ein- und Ausgabezieladressen gelangen binär kodiert auf den niederwertigen Teil des Adressbusses, also auf A0 bis A7. Die Auswahl der Schaltkreise erfolgt durch Dekodierung der binären"Informationen an A2 bis A7. Weil nur sieben Peripherieschaltkreise zu adressieren sind, wurden die Adressen so gewählt, dass A7 = A6 = A5 = H ist. Der Schaltkreis D216 (MH 3205, CSSR, entspricht DS 8205 D) übernimmt die Dekodierung der Signale für die CS-Eingänge der jeweiligen Peripherieschaltkreise. Damit die Arbeit des Mikroprozessors mit den einzelnen Ports bzw. Zählern? Zeitgebern eines Schaltkreises eindeutig möglich ist, werden im allgemeinen die niederwertigsten Bits des Adressbusses, also A6 und Al, mit den Eingängen A/B und C/D des U 855 D bzw. mit CS6 und CS1 des U 857 D verbunden. Als Programmspeicher und als Speicher anderer fester Daten (z. B. der Noten) dienen Festwertspeicher (ROM).- Im vorliegenden Fall konnten zwei elektrisch programmierbare Speicher (EPROM) vom Typ 2764 mit je 8 KByte Speicherkapazität (D202 und D203) verwendet werden, deshalb unterteilt der Dekoder D217 (MH 3205) den vom UB 880 D adressierbaren Speicherraum von 64 KByte in Blöcke von je 8 KByte Länge. Von den insgesamt 16 KByte ROM-Kapazität beansprucht das verwendete Programmpaket etwa 5,75 KByte, der Rest steht als Datenspeicher für die Lieder zur Verfügung.
Natürlich lassen sich auch EPROMs geringerer Speicherkapazität verwenden, z. B. solche vom Typ U 2716 C mit je 2 KByte Speicherkapazität. In diesem Fall könnte eine nach Bild 4 aufgebaute Speichersteuerung statt der im Bild 3 verwendeten eingesetzt werden. Unter Einschränkung des den Liedern zur Verfügung stehenden Speicherraums wäre es besonders leicht, die ROM-Kapazität zu verkleinern, indem man ROMs (außer Dl, D2 und D3 - diese enthalten das Programmpaket) weglässt. Prinzipiell ist es aber auch möglich, die ROM-Kapazität zu vergrößern. Die zusätzlichen Speicher müssten dann Blöcke mit höheren Adressen als der ebenfalls notwendige Schreib/Lese-Speicher (RAM) belegen, dabei sind keine Eingriffe in die Programme notwendig.

Bild 4 - Stromlaufplan der Speicheransteuerung bei Verwendung der EPROM-Schettkreise U 2716 G

Als Schreib/Lese-Speicher (RAM) dienen zwei 1-K x 4-bit-CMOS-Speicherschaltkreise U 224 D (D204 und D205). Er belegt den dritten durch D217 ausgewählten Block (Beginnadresse 4600H), aber nur teilweise. Die Widerstände R206 und R207 sind unbedingt notwendig, um unerlaubte Schwingungszustände zu vermeiden. Durch eine zusätzliche Pufferung der Betriebsspannung des RAMs könnte man die Daten bei Netzausfall sichern, das ist aber nicht verwirklicht worden. Aus Bild 5 ist zu ersehen; wie der Speicherraum aufgeteilt ist.
Die Belastung der ungetriebenen Rechnerbusse ist mit maximal einer TTL-Last zugelassen, deshalb sollte man bei direkter Kopplung mit den Bussen, wenn möglich, Low-Power-Schottky-Schaltkreise, z. B. der Serie DL ... D, verwenden. Im vorliegenden Fall sind aus Aufwandsgründen Adress- und Datenbus nicht getrieben, es traten jedoch keine Störungen infolge zu hoher strommäßiger bzw. kapazitiver Belastung auf. Die beiden Leiterplatten, auf denen das Mikrorechnermodul aufgebaut ist, sollten aber so kurz als möglich miteinander verbunden werden, z. B. über Flachbandkabel ohne Verwendung von Steckerleisten.
Beim Zuschalten der Betriebsspannung müssen der Mikroprozessor und seine Peripherieschaltkreise in eine definierte Anfangslage gebracht werden. Beim Einschalten ist zunächst C201 noch nicht aufgeladen, erst einige Zeit, später steigt die Spannung am Eingang des invertierenden Schmitt-Triggers D213.1 (l/6 DL 014 D) auf H. So steht nach nochmaliger Invertierung durch D213.2 an den Reset-Eingängen des UB 880 D und der U 857 D ein TTL-gerechter L/H-Spannungssprung zur Verfügung, so dass diese rückgesetzt werden. Die Schaltkreise U 855 D besitzen keim gesonderten Reset-Eingang. Sie werten zur definierten Rücksetzung eine besondere Signalkombination aus, und zwar M1= L bei RD = IORQ = H. Sie wird durch die Gatter D214.1 und D214.2 beim Rücksetzen des Mikroprozessors gebildet.
Wie im Abschnitt 2.2.4. beschrieben, besitzen die durch die Peripherieschaltkreise ausgelösten Interrupts unterschiedliche Priorität. Diese Schaltkreise sind
deshalb in eine Interruptprioritätskette einzuordnen. Der Ausgang IEO eines Schaltkreises ist jeweils mit dem Eingang IEI des nächst niedriger priorisierten Schaltkreises zu verbinden, der IEI-Anschluss des Bauelements mit der höchsten Priorität ist dabei an +5 V zu legen, der Ausgang IEO des am niedrigsten priorisierten Schaltkreises bleibt offen. In einem Schaltkreis U 855 D (PIO) besitzt Port A höhere Priorität als Port B, im U 857 D (CTC) besitzt Kanal 0 die höchste Priorität, sie fällt bis zum Kanal 3. Alle INT-Ausgänge der in die Interruptprioritätskette eingeordneten Schaltkreise sind - über einen Widerstand (11202) gegen +5 V - mit dem entsprechenden Eingang des Mikroprozessors verbunden. Diese Leitung wird bei einer realisierbaren Interruptanforderung auf L gezogen, womit diese dem UB 880 D mitgeteilt wird.
Soll ein Interrupt ausgelöst werden, so muss der IEI-Eingang des betreffenden Schaltkreises auf H liegen, nach der Interruptauslösung wird sofort der entsprechende IEO-Ausgang auf L geschaltet.

 

Bild 5 - Darstellung der Aufteilung des Speicherraumes

Beim beabsichtigten Interrupt wird dieses L über die niedriger priorisierten Bauelemente in der Prioritätskette weitergereicht. Somit kann höchstens ein noch höher priorisierter Interrupt ausgelöst werden, denn an diesem Bauelement liegt der IEI-Eingang noch immer auf H. Nach Abarbeitung der durch den Interrupt aufgerufenen Interruptserviceroutine (Programm, das durch den Interrupt aktiviert wird) wird am interruptaufrufenden Bauelement der Ausgang IEO wieder auf H geschaltet; es können dann bereits angemeldete niedriger priorisierte Interrupts bedient werden.
Theoretisch sind unendlich viele Bauelemente in die Interruptprioritätskette aufnehmbar, praktisch gibt es aber Grenzen durch eine notwendige Zeit, um das L=' Potential von Bauelement zu Bauelement durchzureichen. Nach Literaturangaben [2] sind ohne zusätzlichen Aufwand maximal vier Bauelemente erlaubt; im vorliegenden Fall gab es auch bei fünf Bauelementen keine Probleme, möglicherweise deshalb, weil nicht die maximale Taktfrequenz ausgenutzt wurde. Das Bild 6 beschreibt die vorliegende Interruptsituation.

Bild 6 - Darstellung der Interruptmöglichkeiten und der Prioritätenkette

Die Tastatur ist über Ein-/Ausgabe-Bausteine (PIO) U 855 D angeschlossen. Die zehn Tasten wurden nicht matrixförmig an einen Port der PIO geführt, zum einen, weil die Tastenzahl relativ gering ist, und zum anderen, weil zwei dieser Tasten Interrupts höherer Priorität auszulösen haben (vgl. Bild 1 und Bild 6). Die mit den Tasten verbundenen Eingänge auf der Leiterplatte sind jeweils über einen hochohmigen Widerstand gegen +5 V geschaltet; beim Drücken einer Taste wird der betreffende Eingang auf L gezogen, damit wird ein Interrupt ausgelöst. 'Zur Unterdrückung von unerwünschten Interruptauslösungen durch Einstreuungen ist vor jeden Eingang ein RC-Glied (56 kΩ, 22 nF) geschaltet.
Die Anzeige erfolgt durch Lichtemitteranzeigen. Diese sind ebenfalls über PIO-Ports mit dem Mikrorechner verbunden (vgl. Bild 1 und Bild 2). Die dazu notwendigen Ausgänge können aber den für eine direkte Ansteuerung von Leuchtdioden erforderlichen Strom nicht aufbringen, deshalb sind Treiberstufen zwischenzuschalten. Die Anzeige besteht aus vier grünstrahlenden einstelligen Lichtschachtbauelementen VQB 200 vom VEB Werk für Fernsehelektronik Berlin. Wichtige Daten dieser 16-Segment-Anzeigen sind dem Bild 7 und der Tabelle zu entnehmen. Jedes einzelne Segment sowie der Dezimalpunkt werden über einen in Emitterschaltung arbeitenden pnp-Transistor SC 308 (VT208 bis VT224) getrieben.

Bild 7 -Maßangaben zu den Lichtemitteranzei gen VQB 200 und VQB 201

Bild 8 -Darstellung des Zeichensatzes der VQB 200/201 - darunter jeweils der Zeichenkode


Bild 9 - Ablaufschema für das Menüprogramm des mehrstimmigen Liedspiels mit Digitaluhr, Teil 1 - linke Seite, Teil 2 - unten

Die Lichtschachtbauelemente werden im vorliegenden Fall multiplex angesteuert, folglich sind alle Segmente (außer dem Dezimalpunkt, der nur einmal zur Trennung von Stunden und Minuten bei der Anzeige verwendet ist) parallel geschaltet. Die einzelnen Stellen werden jeweils kurzzeitig über einen der in Kollektorschaltung arbeitenden Transistoren SF 117 (VT204 bis VT207) aktiviert. Durch eine schnelle zyklische Wiederholung dieser Ansteuerung sowie durch die Trägheit des menschlichen Auges entsteht der Eindruck eines ständigen Leuchtens.
Am Port A von PIO 2 (D207) sind ebenfalls über Treiberstufen (VT201 bis VT203) noch drei Leuchtdioden zur Anzeige von aktuellen Betriebszuständen angeschlossen. Ihre Ansteuerung erfolgt nicht multiplex. Zu späterer Zeit soll noch als Ergänzung eine Schutzschaltung zur Überwachung des Multiplexbetriebes erfolgen, damit bei eventuellen Ausfall des Multiplexzyklusses durch ungewollten Programmabbruch keine Überlastung oder Zerstörung der VQB 200 eintritt. Ebenfalls ist noch eine Änderung vorgesehen, um mit Hilfe eines Fototransistors die Anzeigehelligkeit entsprechend der des Raumes zu steuern.

2.2. Beschreibung der Software

2.2.1.Initialisierungsprogramm

Wichtige Kenngrößen VQB 200/201


    min. typ. max.

Durchlassgleichspannung  UP[V] - 2,0 2,6
Lichtstärkeverhältnis bei IP = 10 mA       2,0
Wellenlänge der max. Emission λP[nm] 555 565

575

Durchlassgleichstrom (Grenzwert -25...25 °C) IP [mA] - - 17,5

Durch ein Reset beim Einschalten werden bestimmte interne Register und FlipFlops des Mikrorechners U 880 D und seiner peripheren Bausteine (PIO, CTC) rückgesetzt. Danach wird das Programm ab der Adresse 0000H abgearbeitet. Zur Unterprogrammbehandlung, Behandlung von Interruptserviceroutinen, Rettung von aktuellen Registerinhalten, benötigt man einen sogenannten Kellerspeicher (Stack). Er ist so organisiert, dass das, was zuletzt gespeichert wurde, als erstes wieder gelesen wird; das ist in gewisser Weise dem Füllen bzw. Leeren eines Kellers ähnlich. Im U-880-System liegt der Stack im RAM-Bereich. Wie im Bild 5 zu sehen ist, beginnt er bei der höchsten RAM-Adresse (43FFH). Das Füllen verkleinert die Adressen!
Weiter muss den peripheren Bausteinen übermittelt werden, in welcher Weise sie zu arbeiten haben, dafür sind sie entsprechend zu programmieren. Alle PIO-Ports werden im Bit-Betrieb verwendet, d. h. man kann jedes der acht Bit des entsprechenden Ports als Ein- oder Ausgang programmieren. Es ist festzulegen, ob die Eingänge zur Auslösung eines Interrupts dienen sollen oder nicht.

Es ist festzulegen, ob die Eingänge der PIO-Ports zur Auslösung eines Interrupts dienen sollen oder nicht. Wenn ja, ist auszuwählen, ob der Interrupt beim Sprung auf L oder auf H an den Eingängen ausgelöst wird und ob bereits der erste Eingang, der dieses Potential annimmt, oder erst der letzte ihn auslöst.
Im vorliegenden Fall löst der erste Eingang, der auf L gezogen wird, den Interrupt aus. Wie dem Bild 1 zu entnehmen ist, dient Port A von PIO 1 (D206) zur bereits erwähnten Parallel/Serien-Wandlung der Daten zur Uhrzeit (zwei Ausgänge, ein nichtinterruptfähiger Eingang), zur Aktivierung der Minutenrückstellung und des Stehens des Stundenzählers im Uhrmodul (ein Ausgang), zur Auslösung des Liedspiels bei jeder vollen Stunde (ein interruptfähiger Eingang) und zur Steuerung des noch zu besprechenden Hüllkurvenformers (drei Ausgänge). Port B dieser PIO wird durch die Tastatur (außer Taste „MR") belegt, so dass alle Bits als interruptfähige Eingänge zu programmieren sind. An Port A von PIO 2 (D207) ist die Taste „MR" angeschlossen (ein interruptfähiger Eingang), außerdem drei Leuchtdioden (drei Ausgänge) und die Stellentreiber der Anzeige (vier Ausgänge). Zur Ansteuerung der
16 Segmente dienen Port B von PIO 2 (D207) und Port A von PIO 3 (D208). Alle Bits dieser Ports sind als Ausgänge programmiert. Mit Port B von PIO 3 wird lediglich der Dezimalpunkt angesteuert.
Die Töne werden durch Teilung einer geeigneten Frequenz in Kanälen des Zähler- und Zeitgeberbausteins (CTC) U 857D erzeugt. Jeder der vier Kanäle eines solchen Bausteins kann als Zähler oder Zeitgeber mit oder ohne Interruptverbot programmiert werden. Als Zähler programmiert, können mit- dem CTC-Kanal Impulse mit maximal der halben Taktfrequenz registriert werden. Dabei wird bei jedem Impuls ein Rückwärtszähler von einer vorgegebenen Zahl (Zeitkonstante) um eins erniedrigt. Beim Zählerstand Null entsteht am Ausgang des Kanals ein Impuls, die Zeitkonstante wird wieder in den Rückwärtszähler geladen, und falls erlaubt, wird ein Interrupt ausgelöst. Danach beginnt der gesamte Vorgang von neuem.
Kanal 3 besitzt keinen Ausgang, ist aber interruptfähig. Arbeitet der Kanal als Zeitgeber, so werden Taktimpulse zunächst in einem programmierbaren Vorteiler (Teilerfaktor entweder 16 oder 256) gezählt und dann dem erwähnten Rückwärtszähler zugeführt. Beim Nülldurchgang dieses Zählers geschieht dann dasselbe wie in der Betriebsart „Zähler". Die Zeitkonstante kann in jedem Fall zwischen Eins (0111) und 256 (0011) gewählt werden. Sie kann entweder beim Programmieren des Kanals sofort übergeben werden oder erst später. Es ist auch möglich, durch Softwarekommandos die Arbeit des Kanals zu unterbrechen.
Die Töne werden mit CTC-Kanälen durch Frequenzteilung einer Impulsfolge von 240 kHz bzw. von 60 kHz bei den Bässen erzeugt. Um diese letzteren Ausgangsfrequenzen zu erhalten, wird die mit D215.2 erzeugte Frequenz ..von 1,2 MHz durch 5 bzw. durch 20 geteilt. Dazu werden die Kanäle 1 und 2 von CTC 3 (D211) verwendet. Diese Kanäle müssen aufgrund der notwendigen Zeitkonstanten als Zähler arbeiten, deshalb ist auch die Bereitstellung der 1,2-MHzFrequenz erforderlich, weil die maximale Zählerfrequenz höchstens die halbe Taktfrequenz sein darf. Die Teilerfaktoren werden beim Programmieren den CTCKanälen übermittelt, für diese Kanäle besteht Interruptverbot. Die 240-kHz- und 60-kHz-Impulse werden CTC-Kanäle zur Tonerzeugung übergeben.
Die Kanäle 0 und 1 von CTC 1 (D212) sowie von CTC 4 (D209) dienen der Erzeugung der Töne ais bis e3. Mit den Kanälen 0, 1 und 2 von CTC 2 (D210) und Kanal 2 von CTC 1 können die Töne ATS, bis e' (Bässe) erzeugt werden. Die dazu notwendige Zeitkonstante wird erst bei beabsichtigter Tonerzeugung dem jeweiligen -Kanal übergeben, vorher ist der Kanal inaktiv. Im Initialisierungsprogramm wird er aber vorbereitend als Zähler mit Interruptverbot programmiert. Wenn die Kanäle bei der Tonerzeugung aktiv sind, stehen an den Kanalausgängen stark unsymmetrische Impulse zur Verfügung.
Der Kanal 0 des CTC 3 wird als Zeitgeber mit Interruptverbot programmiert. Als Vorteilerfaktor wird 16 gewählt, die Zeitkonstante beträgt 240. Die Ausgangsfrequenz dieses Kanals (625 Hz) wird den Kanälen 3 der CTC 1, 2 und 3 zugeführt. Diese drei Kanäle dienen der Steuerung des Hüllkurvenformers zur Erzielung des Ein- und Ausschwingverhaltens der Töne. Dafür sind entsprechende Programme notwendig (vgl. Abschnitt 2.2.4.), folglich ist die Interruptmöglichkeit für jeden dieser Kanäle erforderlich. Ansonsten sind die Kanäle als Zähler programmiert. Die Zeitkonstanten können bei jedem Lied anders sein, deshalb werden sie erst beim Liedspiel übergeben.
Zur Realisierung der Interruptarbeit wird die komfortabelste Möglichkeit des U880-Systems (Mode 2) durch das Initialisierungsprogramm eingestellt. Bei Interruptauslösung wird, falls die Interruptbedingung erlaubt und möglich ist, aus dem niederwertigen Teil eines so genannten Interruptvektors, der vom peripheren Baustein geliefert wird - je nach anforderndem Port der PIO bzw. des Kanals der CTC unterschiedlich -, und dem höherwertigen Teildes Interruptvektors, der in einem Register der CPUabgelegt ist, eine Adresse gebildet. Die Daten, die unter dieser Adresse und der nächsten im Speicher stehen, bilden die Anfangsadresse der entsprechenden Interruptserviceroutinen. Das bedeutet, alle solche Anfangsadressen sollten in einer Tabelle zusammengefaßt werden. Auf Besonderheiten, die beim Anlegen, dieser Interrupttabelle zu beachten sind, sei hier nicht weiter eingegangen. Im Initialisierungsprogramm muß dem erwähnten Interruptregister des U 880 D der höherwertige Teil des Interruptvektors übergeben werden, während das bei der Programmierung der Peripheriebausteine für die niederwertigen Teile gilt.
Der Teil des RAM, der den Notizzettelspeicher und Textspeicher darstellt, wird vollständig mit 00H geladen, um einen definierten Anfangszustand zu erreichen. Anschließend werden Standardwerte eingestellt:
  • das Liedspiel erfolgt täglich von 8 bis 20 Uhr, es wird die Betriebsart 1 (vgl. Abschnitt 2.2.3.) eingestellt.
  • als Wochentag wird Montag festgelegt.
  • die Erlaubnis zum Liedspiel ist gegeben

Das Leuchten der gelben Leuchtdiode VD 03 zeigt die Programmierung dieser Standardwerte an. An allen Ausgängen der PIOs werden Anfangswerte ausgegeben. Am Schluss des Initialisierungsprogrammes erfolgt die softwaremäßige Interrupterlaubnis, danach beginnt das folgende Programm.

2.2.2. Programm zur Anzeige der Uhrzeit

Dieses Programm arbeitet zyklisch. Es beginnt mit einer Abfrage der binär verschlüsselten Uhrzeit mittels der im Abschnitt 1 beschriebenen Parallel/SerienWandlung. Im U 880 D werden die empfangenen Daten zunächst in einem Registerpaar abgelegt und so konvertiert, dass im Anzeigespeicher derjenige Kode steht, der den Ziffern der Uhrzeit entspricht (vgl. Bild 8). Dabei ersetzt bei den Stunden zwischen 00 und 09 ein Leerzeichen die führende Null. Dann wird das Ansteuerprogramm für die Anzeige so oft abgerufen, dass nach etwa 0,5 s ein Zyklus beendet ist. Das Ansteuerprogramm für die Anzeige ist Unterprogramm bei der Anzeige der Uhrzeit und des Menüprogramms (vgl. Abschnitt 2.2.3.). Der prinzipielle Ablauf sei im folgenden beschrieben: Zu Beginn stellt der Inhalt des Indexregisters IX die höchste von vier aufeinanderfolgenden Speicheradressen dar, deren Inhalt anzuzeigen ist. Diese Daten stellen die Kodes der anzuzeigenden Zeichen dar, sie werden mit einem Zeichengenerator in Ausgabeinformationen für die Ansteuerung der 16-SegmentAnzeige konvertiert. Der verwendete Zeichensatz ist aus Bild 8 zu entnehmen: dort befinden sich auch die Zeichenkodes. Den Zeichenkode habe ich so zusammengestellt, dass eine möglichst einfache Darstellung von Hexadezimalziffern (0 bis F) möglich ist, wobei aber der Zeichenkode 00 als Leerzeichen vorkommt. Das ist für die Textdarstellung im vorliegenden Fall sinnvoll. Der Inhalt der durch das IX-Register angezeigten Adresse wird in den Akkumulator geladen, dort verdoppelt und dazu die Anfangsadresse der Tabelle mit den Ausgabekodes für die PIO-Ports addiert. Es ergibt sich eine Adresse, deren Inhalt an den Port B von PIO 2 erscheint. Die Adresse wird um eins erhöht, der dortige Inhalt gelangt an Port A von PIO 3.
Das erlaubt also - wie erforderlich - 16 Segmente der Anzeige gleichzeitig anzusteuern. Über den jetzt geöffneten Transistor VT204 erfolgt der Stromfluss durch das rechte Anzeigeelement 1104. Anschließend wird IX um eins erniedrigt, so dass der Inhalt der zweithöchsten der vier aufeinanderfolgenden Adressen zur Anzeige kommt, aber durch VT205 an der zweiten Stelle von rechts. Dieses Prinzip läuft bis zur Ansteuerung der linken Stelle weiter, danach wird IX um vier erhöht, so dass der Ausgangszustand wieder hergestellt ist. Während des Umschaltens von Stelle zu Stelle werden alle Segment- und Stellentreibertransistoren gesperrt, da sich sonst unerwünschte Nachleuchterscheinungen bemerkbar machen würden. In diesem Programm wird auch bei Anzeige der Uhrzeit das Ansteuern des Trennpunktes zwischen Stunden und Minuten realisiert.

2.2.3. Menüprogramm

Es dient zur Unterstützung des Dialogs zwischen Mensch und Mikrorechner. Eine beliebige Tastenbetätigung (außer „MR") ruft durch einen Interrupt dieses Programm auf. Dabei bringt der Mikrorechner Fragen mit vorgegebenen Antwortmöglichkeiten oder andere Texte zur Anzeige. Die Antworten werden wieder durch Tastenbetätigungen an den Mikrorechner übergeben. Mit Hilfe dieses Frage/Antwort-Dialogs kann der Bediener sich - wie aus dem Angebot einer Speisekarte - ein Menü zusammenstellen; hierdurch erklärt sich auch dieser Programmname. Die Textanzeige erfolgt im vorliegenden Fall wieder über das Display, das auch die Uhrzeit anzeigt. Dabei ist lediglich der nicht benötigte Trennpunkt zwischen Stunden und Minuten während des Menüprogramms abgeschaltet.
Alle Texte werden zunächst aus Einzelstücken im RAM (ab Adresse 410011) zusammengesetzt. Das Programm zur Textanzeige bestimmt zunächst selbständig das Ende des Textes, dann werden die ersten vier Zeichen zur Anzeige gebracht und anschließend - um ein Zeichen nach rechts verschoben - wieder vier Zeichen. Entsprechendes geschieht weiter bis zum Ende des Textes, so dass der Eindruck entsteht, dass der Text hinter dem Display abrollt. Wenn keine Taste gedrückt ist, erfolgt eine dreimalige Anzeige jedes Textes, anschließend wird der Textspeicher mit 00H gefüllt. Dieses Auffüllen mit Leerzeichenkodes erfolgt auch beim Abbruch einer Textanzeige. Im Bild 9 ist der gesamte Ablauf des Menüprogramms dargestellt. Diejenige Wirkung, die sofort nach einer Tastenbetätigung eintritt, ist durch - dargestellt. Beendet diese Tastenbetätigung eine Textdarstellung vorzeitig, so wird diese Wirkung durch - - - - beschrieben. Die Reaktion des Mikrorechners nach der dreimaligen Anzeige eines Textes kommt durch - - - -- zum Ausdruck. Mit dem Menüprogramm ist es möglich,

  • die Uhr zu stellen,
  • die Betriebsart des Liedspiels zu ändern oder anzuzeigen und
  • die Zeiten des Beginns und des Endes des Liedspiels in Abhängigkeit vom Wochentag und diesen selbst anzuzeigen und eventuell zu ändern

Es lassen sich vier verschiedene Betriebsarten einstellen: Zu jeder Stunde (bzw. beim Drücken der Taste „Mt") erfolgt das Spiel

  • eines einzelnen Liedes in festgelegter Folge, d. h. entsprechend einer programmierten Tabelle (Betriebsart 1),
  • aller 32 möglichen Lieder (Betriebsart 2),
  • eines einzelnen Liedes in zufälliger Folge (Betriebsart 3),
  • eines aus der gespeicherten Tabelle gewählten Liedes (Betriebsart 4).

Ist an einem Wochentag die Zeit des Beginns und des Endes des Liedspiels jeweils die gleiche Zeit (aber nicht 12 Uhr), so interpretiert der Rechner das so, dass an diesem Tag keine Pause des Liedspiels festgelegt ist. Sind diese Zeiten aber jeweils 12 Uhr, so findet an diesem Tag kein Liedspiel statt. Im allgemeinen erfolgt eine Quittierung von Tastenbetätigungen durch einen kurzen Ton und eine Änderung des Textes oder anderem gerade Angezeigten. In das Menüprogramm wurde auch eine Handauslösung des Liedspiels zu beliebiger Zeit mit einbezogen, obwohl damit keine Textanzeige verbunden ist.

2.2.4. Programme zum Liedspiel

Diese Programme sind relativ kompliziert aufgebaut und sollen deshalb nur prinzipiell erläutert werden. So dienen sie u. a. zur Entscheidung darüber, ob das Liedspiel erlaubt ist oder nicht, zum Suchen der Daten (Noten, Tempo usw.) für die Lieder, zur Realisierung von unterschiedlichen Notenlängen und Tonhöhen sowie vom richtigen Tempo. Mit ihnen ist auch der Abbruch des Liedspiels möglich. Während des Liedspiels erfolgt die Anzeige der laufend aktualisierten Uhrzeit. Die zeitliche Belastung des Mikrorechners durch die Abarbeitung der Liedspielprogramme ist relativ gering, so dass sie die Anzeige kaum beeinträchtigt.
Es ist möglich, Lieder mehrstimmig zu spielen, so dass das gleichzeitige Spiel von maximal acht Noten möglich ist. Die einzelnen Stimmen wurden zu Gruppen zusammengefaßt. Die erste Gruppe um= fasst nur die melodieführende Stimme, die stets vorhanden sein muss. Mit der zweiten Gruppe lassen sich maximal drei Noten gleichzeitig spielen, die wie die der ersten Gruppe zwischen ais und e31iegen. Sollen Noten dieser Gruppe gleichzeitig gespielt werden, so müssen sie die gleiche Länge besitzen. Die Anzahl der Stimmen dieser Gruppe ist für jedes Lied im Etikett der entsprechenden Datei festzulegen. Die dritte Gruppe stellt die Bassbegleitung dar. Hier kann die Notenanzahl der Akkorde maximal vier betragen, sie darf bei jedem Akkord variieren. Näheres dazu ist im Abschnitt 5 zu finden.
Ein Verbot bzw. der Abbruch des Liedspiels ist auf Grund der höchsten Priorität im Interruptsystem (vgl. Bild 6) jederzeit durch das Drücken der Taste „MR" möglich. Angezeigt wird es durch drei kurze Töne und Aufleuchten der roten Leuchtdiode VD 01. Bei Zurücknahme des Verbots erfolgt eine Quittierung durch einen kurzen Ton und Verlöschen dieser Leuchtdiode.
Das stündliche Liedspiel hat die nächst niedrigere Priorität und würde das eventuell gerade laufende Menüprogramm unterbrechen. Niedrigste Priorität besitzt die Handauslösung des Liedspiels im Laufe des Menüprogramms. Durch eine entsprechende Programmgestaltung ist aber abgesichert. dass ein Liedspiel zur vollen Stunde ein von Hand ausgelöstes Liedspiel nicht unterbricht, sondern erst nach letzterem erfolgt. Bei Anzeige der Betriebsart durch das Menüprogramm wird nach einem der stündlichen Liedspiele das Anzeigeprogramm nicht fortgesetzt, sondern. nochmals aufgerufen, womit eine Anzeige des nächsten zu spielenden Liedes neu erscheint. Entsprechend wird verfahren, wenn das Menüprogramm den Wochentag um 0 Uhr anzeigt.
Wird zu einer vollen Stunde ein Liedspiel angefordert, folgt zunächst eine Prüfung, ob die aktuelle Zeit in die Spanne zwischen eingestelltem Beginn und Ende des Liedspiels am entsprechenden Wochentag fällt, und ob die Erlaubnis zum Liedspiel vorliegt. (Ist ersteres der Fall, bleibt oder wird Leuchtdiode VD 02 abgeschaltet; wenn nicht, dann angeschaltet.) Sind beide Bedingungen erfüllt und ist die aktuelle Zeit die Zeit des Beginns des Liedspiels, so spielt das Gerät, falls es nicht später als 8 Uhr ist, ein Morgenlied. Falls wieder beide Bedingungen erfüllt sind, die aktuelle Zeit aber mit der Zeit einer Stunde vor dem Ende des Liedspiels übereinstimmt und es später als 18 Uhr ist, so folgt daraus ein Abendlied. Beide Lieder sind fest programmiert. Bei Handauslösung wird nur das Vorliegen der Spielerlaubnis überprüft.

Bild 10 - Stromlaufplan der Registerschaltung und der FlipFlop-Teilerkette

Beim Liedspiel werden die Daten aus dem Etikett der Datei des jeweiligen Liedes in einen bestimmten RAM-Bereich geladen, anschließend werden Parameter, wie z. B. das. Tempo als Zeitkonstante an einen CTC-Kanal übergeben. Im Etikett sind auch - wie bereits erwähnt - Aussagen über das Vorhandensein von Stimmen enthalten.
Bei Musikinstrumenten setzt im allgemeinen der Ton nicht schlagartig ein bzw. aus, diese Vorgänge verlaufen langsam. Im vorliegenden Fall werden diese zur Hüllkurvenformung des Tons durch das Auf- bzw. Entladen eines Kondensators modelliert. Die dafür notwendigen Zeiten müssen bei jedem Lied neu festgelegt vieren, sie sind deshalb verschlüsselt im Etikett vorhanden. Es erwies sich deshalb als günstig, die Tonerzeugung und die Hüllkurvenformung durch drei aufeinanderfolgende Teilprogramme zu realisieren. Die beiden ersten Teilprogramme starten jeweils einen CTC-Kanal, nach einer gewissen Zeit wird dann jeweils ein Interrupt ausgelöst, der das zweite bzw. dritte Teilprogramm aufruft. Die Einordnung der CTC-Kanäle in die Interruptprioritätskette ist aus Bild 6 zu erkennen.
Der das Tempo bestimmende CTC-Kanal löst periodisch einen Interrupt aus, der das erste Teilprogramm aktiviert. Es dient der Realisierung der Längen der maximal acht gleichzeitig zu erzeugenden Töne. Bei jedem Aufruf dieses Programms wird die Tonlänge von einem Anfangswert aus schrittweise verkleinert.
Ist der entsprechende Ton zu Ende, wird über PI01, Port A, Bit 5, 6 bzw. 7 (je nach Gruppe) ein L/H-Sprung erzeugt, der den Kondensator 0302, C401 bzw. C402 entlädt. Damit verringert sich die Spannung am Kollektor von VT303, VT403 bzw. VT415, so das der Ton leiser wird und ausklingt. Danach wird der nächste zu spielende Ton bzw. werden die nächsten Töne hinsichtlich Länge und Frequenz analysiert und vorbereitet. Ist aber der Ton noch nicht zu Ende, so wird die noch zu spielende Zeit dieses Tones neu bestimmt. Diese Vorgänge laufen für die vorhandenen Stimmen zeitlich hintereinander ab, auf Grund der Schnelligkeit des Mikrorechners ist dieser Versatz nicht hörbar.
Im zweiten Teilprogramm werden diejenigen CTC-Kanäle gestoppt, die die Töne erzeugt haben, die soeben ausklingen. Das Programm beeinflusst die anderen Töne nicht. Das dritte Teilprogramm hat die Aufgabe, - falls erforderlich - die Tonerzeugung neu einzuleiten, indem Werte zur Tonhöhe, die bereits im ersten Teilprogramm gewonnen wurden, an die CTC-Kanäle übergeben werden. Gleichzeitig erfolgt ein H/L-Übergang am erwähnten PIO-Port, damit der Ton einschwingen kann. Mit dieser einfachen Modellierung des Ein- und Ausschwingens der Töne ist es aber nicht möglich, Frequenzänderungen bei diesen Vorgängen nachzubilden.
Die Ein- Ausschwingzeiten werden mit R305, R405 bzw. R438 fest eingestellt, die Programme können diese Zeiten nur verkürzen! Es ist mit diesen Programmen aber möglich, praktisch beliebig lange Töne und Pausen zu erzeugen. Auch ein Überbinden von Noten (vgl. Abschnitt 6) ist durchführbar.

3. Registerschaltungen und NF-Verstärker

Bild 11 - Stromlaufplan des NF-Verstärkers und der FlipFlop-Teilerketten

Der Stromlaufplan ist in den Bildern 10 und 11 dargestellt. Einen Eindruck vom mechanischen Aufbau vermitteln die Bilder 20 und 21. Die einzelnen CTC-Kanäle, die die Tonfrequenzen erzeugen sollen, liefern an ihren Ausgängen eine 8bzw. 4mal höhere Frequenz als die Frequenz, die den Tönen entspricht. Die CTC-Ausgangsimpulse sind sehr unsymmetrische Rechtecke, deshalb ist jedem Ausgang ein D-Flip-Flop (1/2 DL 074 D) zugeordnet, das eine symmetrische Rechteckspannung der halben Frequenz erzeugt. Um aus dieser unschön klingenden Impulsfolge angenehme Klänge zu formen, kamen Registerschaltungen in Form von RC- bzw. RLC-Filtern zum Einsatz [3]. Den einzelnen Filtern werden gleichzeitig die Grundfrequenz des Tones sowie das Doppelte und das Vierfache (außer beim Bassregister) dieser Frequenz zugeführt. Dazu muss die gerade erwähnte symmetrische Rechteckspannung nochmals durch 4 bzw. 2 mit zwei bzw. einem D-Flip-Flop (s) geteilt werden. Die einzelnen Registerschaltungen sind frequenzselektiv wirkende Spannungsteiler.
Um einen hohen Störspannungsabstand zu eingestreuten Brummspannungen oder Spannungen vom Mikrorechnermodul zu erhalten, erhöhen Schalttransistoren die Ausgangsspannungen der FlipFlops. Ihr Kollektor ist deshalb gegen eine Spannung von maximal 9 V geschaltet. Diese Spannung lässt sich zum Nachbilden des Ein- und Ausschwingverhaltens verändern (s. Abschnitt 2.2.4.). Um die Wiedergabe von mehreren gleichzeitig gespielten Tönen zu ermöglichen, werden diese Rechteckspannungen - über Kapazitäten entkoppelt - addiert und dann den Filtern zugeführt. Mit Hilfe der Einstellregler (47 kΩ) am Ausgang der Register lässt sich ein angestrebter Klang einstellen, indem eine wechselspannungsmäßige Addition der einzelnen NF-Teilspannungen erfolgt.
Die Summenspannung wird niederohmig über den Operationsverstärker A301 dem Lautstärkeregler zugeführt. Von dort gelangt sie zum NF-Verstärker.
Für den NF-Verstärker wurde der Baustein „ebs 2" vom VE Kombinat Präcitronic Dresden eingesetzt. Im vorliegenden Fall wurde R 469 von 4,7 Sä [4] in 10 geändert, um einen stabilen Betrieb zu erreichen. Der A 210 K ließ sich durch einen R 210 E ersetzen. Dieser Verstärker wird aus einer nichtstabilisierten Spannung versorgt, aus ihr stammen auch die Versorgungsspannungen für den Operationsverstärker, den Hüllkurvenformer der Töne und für Teile der Flip-Flop-Ketten. Die Registerschaltungen sind wie auch Operationsverstärker und Teile der Teilerkette mit den D-Flip-Flops auf einer der Universalleiterplatten untergebracht, auf einer anderen befinden sich die anderen Flip-Flops und der NF-Verstärker.

4. Zum mechanischen und elektrischen Gesamtaufbau

Der Gesamtaufbau ist aus Bild 19 (s. 3.,US im nächsten Heft) zu erkennen. Wie bereits erwähnt, wurden die Hauptmodule (außer dem Netzteil) auf universellen Lochrasterplatten aufgebaut. Die Verdrahtung erfolgte mit dünnem Schaltdraht der Leiterplatte, einige Bauelemente befinden sich auch unterhalb der Platte. Die Leiterplatten tragen auf einer Stirnseite jeweils 24-polige Zeibina-Steckleisten. Die Leiterplatten des Mikrorechnermoduls wurden durch Schrauben fest miteinander verbunden. Zusätzlich ist für den Anschluss der Anzeigebauelemente an den Mikrorechnermodul eine Steckleiste mit 26 Polen eingesetzt, deren Anschlüsse ein Flachbandkabel mit den VQB 200, die auf einer kleinen Leiterplatte befestigt sind, verbindet. Der Anschluss der Tastatur und der drei einzelnen Leuchtdioden erfolgte ebenfalls über ein Flachbandkabel. Die RC-Glieder (56 kd2, 22 nF) zwischen Tasten und PIO-Schaltkreis wurden nachträglich freitragend an der Steckleiste angebracht. Bild 13 zeigt den Stromlaufplan des Netzteils.
Für die Lichtschachtbauelemente erhielt die Frontplatte der Lautsprecherbox eine entsprechende Aussparung herausgesägt; deren Anordnung die bereits bestehende Öffnung für den Lautsprecher berücksichtigen musste. Nach dem Aufzeichnen des Rechtecks auf den Spannstoff habe ich ihn dort zunächst mit einer Rasierklinge entfernt und die Fadenenden mit Leim festgelegt, damit der Stoff nicht ausfransen kann. Anschließend wurden im Innern des Rechtecks nahe dem Rand Löcher gebohrt, das Hartfasermaterial dazwischen entfernt und auf Maß gefeilt. Ebenso entstand die Öffnung für die Tastatur an der Seitenwand. Letztere entstammt einem unbrauchbaren Taschenrechner MR 412. hat sich bewährt, das Zersägen des Taschenrechnergehäuses mit einer kleinen Feinsäge vorzunehmen. Man sollte dabei große Sorgfalt walten lassen, denn jeder Kratzer mindert den Gesamteindruck und ist auf dem oberflächenbehandelten Aluminium kaum wieder zu entfernen! Die Anzeige erhielt eine Blende, die aus der Rückseite des Taschenrechnergehäuses gefertigt wurde. Unter der Anzeige befindet sich noch ein Loch für einen Fototransistor, der die Anpassung der Anzeigehelligkeit an die Raumhelligkeit ermöglicht. Das habe ich aber bisher noch nicht realisiert. Der Lautstärkeregler wurde bedienungsfreundlich neben der Tastatur untergebracht.
Im Innern befindet sich in einer Ecke, damit relativ weit von brummspannungsgefährdeten Stellen entfernt, der Netztransformator. An ihm ist eine kleine Leiterplatte angebracht, die die Gleichrichterdioden und Ladekondensatoren trägt. Der Stabilisierungsschaltkreis MA 7805 (NO1) wurde auf einen Kühlkörper an der der Tastatur gegenüberliegenden Seitenwand angeschraubt. Die Verlegung der Masseleitungen ist mit besonderer Sorgfalt auszuführen. Es ist günstig, diese von Digital- und Analogleitungen getrennt zu einem gemeinsamen Punkt am Stabilisierungsschaltkreis zu führen. Erdschleifen sind zu vermeiden. Zur Vermeidung von Brummeinstreuungen wurde -die Stromversorgung des Operationsverstärkers N301 über eine Z-Diode VD301 getrennt von den übrigen Teilen vorgenommen.
Die einzelnen Universalleiterplatten liegen im Muster waagerecht. Zur besseren Wärmeabfuhr (Kaminwirkung) sollten die Leiterplatten aber senkrecht stehen: insbesondere sollte das Mikrorechnermodul unmittelbar an der Rückwand plaziert werden. 36 Löcher mit 10 mm Durchmesser, die in je zwei Reihen oben und unten an der Rückwand angeordnet sind, führen die Wärme nach außen. Durch die Öffnungen in den Wänden der Lautsprecherbox musste ein gewisser Verlust bei der Tiefenwiedergabe in Kauf genommen werden.
Byte-Nr. Bedeutung
1,2 Anfangsadresse der Datei des Liedes
3,4 Endadresse der Datei für die Noten der 1. Stimme
5,6 Anfangsadresse der Datei für die Noten der 1. Stimme
7,8 Anfangsadresse der Datei für die Noten der 2. Stimme
9, 10 Anfangsadresse der Datei für die Noten der 3. Stimme
11, 12 Anfangsadresse der Datei für die Noten der 4. Stimme
13, 14 Anfangsadresse der Datei für die Bassbegleitung
15 H-Teil der Anfangsadresse der Tabelle der Anfangsadressen der Akkorde
16 3 höchstwertige Bits des L-Teils der Adressen der Tabelle der Anfangsadressen der Akkorde
17 Vorhandensein 1.Stimme (stets 01141)
18 H-Teil der Anfangsadresse der Tabelle der Akkorde
19 Vorhandensein 2. Stimme
20 Zeit für Einschwingen der Töne
21 Vorhandensein 3. Stimme
22 Zeit für Ausschwingen der Töne
23 Vorhandensein 4. Stimme
24 nicht belegt
25 Vorhandensein Bassbegleitung
26 nicht belegt
27 Tempo

Bild 12: Aufbau des Etiketts der Datei

5. Hinweise zur Programmierung der Lieder

Anhand zweier Beispiele sollen diese Hinweise illustriert werden. Gewählt wurde als Beispiel 1 das Lied „Kuckuck, Kuckuck.ruft's aus dem Wald" (einstimmig) und als Beispiel 2 „La Paloma" (zweistimmig mit Bassbegleitung). Ab Adresse 200H befindet sich eine 64 Byte lange Tabelle, in der sich die Anfangsadressen der Dateien für die 32 zu spielenden Lieder befinden. Zunächst ist der L-Teil und dann der H-Teil dieser Anfangsadresse einzutragen:
Beispiel 1: Anfangsadresse 17BOH, also unter 200OH: B0H 20OlH: 17H Beispiel 2: Anfangsadresse 18AOH, also unter 2002H: A0H 200311: 1811


2. Bedienungshinweise history menue scroll up
 
 

3. Umsetzung history menue scroll up
Das Projekt startet justament 20 Jahre nach seiner Veröffentlichung und an dieser Stelle werden wir laufend davon berichten. Wir schreiben heut' den 12. Juli 2007 - die Leiterplatte mit der CPU sowie der Taktlogik wird dann auch Lochraster-Euro-Platine 160 x 100 entstehen und anschließend systematisch weiter geführt werden. Im Gegensatz zum Zustand vor 20 Jahren ist die Beschaffung Bauelemente kein Problem mehr (im Gegenteil: es wird schon schwierig, so alte Sachen noch zu versorgen - aber unser Bastelkiste ist ergiebig), anders sieht es mit der Finanzierung aus - da hat sich seit damals nicht viel geändert - Elektronik ist teuer!
 

6. Verwandte Themen history menue scroll up

Was ist alles mit dem Aufbau eines Microcomputers verwandt? Antwort: faktisch der gesamte Bereich der Digitalelektronik und sowieso die gesamte Technik der Software-Technologie der Vergangenheit, Gegenwart sowie zumindest der nächsten Zukunft. Wum - das hat gesessen! Aber keine Angst, dies ist weder ein Projekt für jedermann noch weiß man vorweg alles - das ist ja auch ein Projekt zum Selberweiterlernen!

Die Diode

Der Transistor

Mikroelektronik

Schneiden einer Fotomaske für einen opto-lithografischen Prozess

der LC-80

POLYCOMPUTER

Z80-CPU

Mnemonic-Code-Notation

höhere Programmierwerkzeuge

... und so funktioniert ein Computer

 

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Alphabetisch sortierte Dokumentation

FLAG Teile I

FLAG Teile 2

Allgemeine Funktionssymbolik

Der LC-80 Simulator

Blockschaltbild eines Einchiprechners

   


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost im Juli 2007

... 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