5.2 Der Steuerprozessor mit Speicher

Der 51er Prozessor hat einen 8Bit Datenbus und 16Bit Adreßbus. Aus fertigungstechnischen Gründen (nur 40 Pins im Gehäuse!) werden die acht Datenbits mit den unteren acht Bits des Adreßbusses gemultiplext [3]. IC2 (74ACT573) speichert bei fallender Flanke von ALE das Low-Byte der Adresse zwischen. Der 51er Prozessor kennt drei Arten von Speicher. Das interne RAM ist 256 Bytes groß und enthält zudem 128 Special Function Register (SFRs). In diesem Bereich wird zudem der Stack gehalten. Der Programmspeicher des 51er Prozessors kann nur gelesen werden. In ihm stehen nur die Opcodes mit ihren Parametern und konstante Daten. Mit Hilfe des /EA-Pins wird festgelegt, ob interner oder externer Programmspeicher angesprochen werden soll. Da aber der verwendete DS80C320 (IC1) über keinen internen Programm-Speicher verfügt, wird Pin /EA fest auf Masse gelegt. Die /PSEN Leitung des Prozessors steuert das Auslesen des externen Programmspeichers, einem EPROM IC3 (27C512), welches zuvor mit einem EPROM Brenner mit den Daten beschrieben wird. In diesem Speicher befindet sich auch das Programm für die beiden DSPs und wird nach jedem Einschalten an sie gesendet. Der externe Datenspeicherbereich (Abbildung 16) kann vom Prozessor gelesen und beschrieben werden, ist wie der Programmspeicherbereich 64kByte groß und wird mit den /RD und /WR Leitungen angesprochen. Mittels IC8a (74HCT139) und IC9a (74HCT00) wird der Datenspeicherbereich in eine 32kByte und vier 8kByte Sektionen geteilt. Der 32kByte-Bereich ist bestimmt für IC3 (62C256), einem statischen RAM. Das Chipselect für dieses RAM ist ausschließlich die Adreßleitung A15; sie ist für die Adressen $0000 bis $7FFF low, und der eigentliche Lese oder Schreibzugriff erfolgt dann mit den Steuerleitungen /RD oder /WR. Wenn A15 high ist, wird IC8a (74HCT139) freigegeben, das den Adreßbreich von $8000 bis $FFFF vierteilt. Die ersten 8kByte ab $8000 sind für einen besonderen RAM Baustein (IC5) vorgesehen. Er ist durch eine Batterie gebuffert und enthält in den letzten 8Byte eine Echtzeituhr (RTC). Diese Echtzeiteinrichtung ist nicht nur als Uhr für den Benutzer gedacht, sondern es können zudem Timestamps für die Verschlüsselung erzeugt werden (z.B. jeden Tag einen anderen abgeleiteten Schlüssel). Die übrigen drei 8kByte Bereiche im Datensektor sind für die Peripherie vorgesehen, wie LC Display, Tastatur und ISDN Controller.


Abbildung 16: Speicherraum des Steuerprozessors (DS80C320)

5.3 Der Steuerprozessor mit Peripherie

Am Systembus des Steuerprozessors befinden sich die drei zuvor erwähnten Peripherieeinheiten. LCD Module gibt es in vielen verschiedenen Ausführungen: mit oder ohne Hintergrundbeleuchtung, unterschiedliche Spalten und Zeilenzahlen, verschiedene Zeichengrößen. Aber die Hardwareanbindung und Softwareschnittstellen sind fast immer gleich, bedingt durch einen Quasi-Standard seitens der unterschiedlichen Hersteller, die aus dem Angebot der verfügbaren Controller wählen müssen. An der 14poligen Steckleiste (X1) befinden sich acht Datenleitungen, eine Adreßleitung, eine Schreib/Leseleitung, ein Enable und drei Leitungen für Versorgungsspannung und Kontrast. Alle Steuer-, Adreß- und Datenleitungen können direkt mit dem Systembus verbunden werden, mit Außnahme der Enableleitung. Diese darf nur in den High-Zustand gehen, wenn /RD oder /WR low sind und die Adresse $A000-$BFFF anliegt. Es werden vom Display zwar nur zwei Bytes benötigt, aber es sind für jeden Peripheriebaustein 8kByte vorgesehen. Der Aufwand wäre im Sinne der Aufgabenstellung, einfach und preisgünstig, zu hoch, um die Adressen für alle Peripheriebausteine aufs Byte genau auszudecodieren, denn dann wäre eine Vielzahl von weiteren TTL Bausteinen oder ein programmierter Logikbaustein erforderlich. Der eingebaute Controller des LC Displays hat zwei Register. In das erste Register, das Datenregister, wird der ASCII Code des darzustellenden Zeichens geschrieben. Das zweite Register, das Controllregister, dient zur Steuerung der Displayfunktionen, wie Anzeige löschen, Cursorposition setzen, eigenen Zeichensatz definieren u.s.w. Als weiteres Peripheriegerät für den Anschluß an den Systembus ist eine Tastatur mit 16 oder 20 Tasten vorgesehen. Der Tastaturcontroller ist auf der Hauptplatine untergebracht und wird über den Steckverbinder X2 mit der Tastatur Tastenmatrix verbunden. Der hier eingesetzte Tastaturcontroller 74C922/3 von National Semiconductors übernimmt alle für den Betrieb einer kleinen Tastaturmatrix nötigen Aufgaben. Dazu gehören die Beschaltung der Spaltenleitungen und die Auswertung der Zeilenleitungen. Darüberhinaus übernimmt er auch die Entprellung der Tasten. Ist eine Taste betätigt worden, löst er einen Interrupt aus, und der Prozessor kann sich den Scancode der zuletzt gedrückten Taste aus dem Register des Tastaturcontrollers holen.
zurück