Diese Website verwendet Cookies – nähere Informationen dazu und zu Ihren Rechten als Benutzer finden Sie in unserer Datenschutzerklärung am Ende der Seite. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und direkt unsere Website besuchen zu können.
Wie alles, fängt auch ein Computer bei Null an. Capri, wenn es eingeschaltet wird hat da auch nicht anderes in Petto, wie bei Null anzufangen. Capri fängt also an, ab Adresse 0 ein Befehl zu suchen, mit dem es etwas anfangen kann. Da CAPRI "nur" eine Platine ist auf dem der Prozessor, Speicherbausteine und ein Oszillator aufgebracht sind, fehlen für unsereiner Anwender ein Bildschirm, eine Tastatur. Wir haben in gegenwärtigen Zustand und in der gegenwärtigen "Projekt-"/"Entwicklungs"-Phase absolut nichts. Für das KOBA-OS, das spätere darauf laufende Betriebssystem, eine nicht unbedingt ermutigende Ausgangsposition - dafür eine herausfordernde! Let's Roll !
Botschaften die die bestückte Platine uns bereits sendet
beim Einschalten kommt kein Rauch –> also keines der Bauteile brennt –> das ist gut. Ein Spannungsprüfer sagt uns durch das eine Versorgungsspannung von 5V an entsprechenden Pins der genutzten ICs (microchips) tatsächlich anliegen –> kein Kurzschluss besteht –> das ist gut. ein Oszilloskop misst am Eingang des Prozessors ein Taktsignal von 20 MHz. Das bedeutet dass der externe Oszillator anschwingt und ein Taktsignal für den Prozessor bereitstellt. –> Das ist auch gut. selbiges Oszilloskop zeigt an einen bestimmten Pin (Anschluss) des Prozessors eine Frequenz von 10 MHz (phi) Aus diesem lernen wir, dass der Prozessor irgendetwas macht. Zumindest funktioniert der eingebaute, zusätzliche Frequenzteiler innerhalb des Prozessors. Er macht aus den 20 MHz ,die als Taktsignal von außen anliegen, eine Frequenz von 10MHz die es nutzt um zu arbeiten Das bedeutet dass dieser eine Pin, der das Signal PHi implementiert, das einzige "visuelle" Ding ist, mit dem wir etwas anfangen können. Laut Anleitung des Mikroprozessor (man nennt das Datenblatt / Programmieranleitung(Programming Guide) ist das das normale Verhalten vom Z180 Prozessor. Hinter dem Eingangspin für das Taktsignal ist in der Standardeinstellung des Prozessor ein aktiver Teiler der um den Faktor zwei das eingehende Taktsignal herunterteilt.
Hello World - oder "turn to max speed"
Da wir kein Bildschirm, keine serielle Schnittstelle in Betrieb haben, können wir mit dem CAPRI-Z180 nicht sprechen oder etwas hören. Wir wissen nur, dass wir eigentlich mit 20 MHz Taktfrequenz arbeiten wollen und nicht mit 10 MHz. Also wäre es doch ein sinnvolles vorgehen, den Prozessor so zu programmieren, dass es den Frequenzteiler deaktiviert und fortan mit 20 MHz läuft. Gelingt das, dann messen wir am PHi Pin 20 MHz. Daraus schliesst sich uns, dass wir in der Lage sind Register zu beschreiben. Der erste Schritt für weitere Schritte. Das ist also quasi das "Hallo Welt" Programm, wie man es ständig irgendwo wieder findet, wenn jemand etwas neues entwickelt, und sei es nur ein erstes Computerprogramm in einer Programmiersprache …. Der Mikroprozessor Z180 kann konfiguriert werden. Es kann eingestellt werden, wie der Prozessor, z.B. Energie Sparen soll, oder wie es mit dem eingehenden Taktsignal umzugehen hat.
.CR Z180 Z180 Cross-Overlay
.TF cp-002-jmpConfCPU.hex,INT Zieldatei: in Intel Hex format
.OR $0000
CCR .EQ $1F $1F CPU Controler Register (speed, mode...)
start:
IN0 A,(CCR)
OR $80
OUT0 (CCR),A
jp start
Hier wird ausschliesslich ein Bit in einem "Steuerregister" innerhalb des Mikroprozessors gesetzt, welches den Eingangs-Frequenzteiler ausser Kraft setzt. Damit beginnt der Mikroprozessor mit voller Geschwindigkeit zu arbeiten.
Auf den Bildern sieht man eine grüne, eine gelbe und eine violette Kurve aufgetragen vom Ozilloskop. Die grüne wandert von 0 VOlt auf 5 V … das ist die Zeit wie die Reset Taste gedrückt worden ist um den Computer zurücksetzen und diesen damit von vorne sein Programm abarbeiten zu lassen. Die gelbe Kurvenform ist das externe Taktsignal von 20 MHz. Die liegt ständig an. Auch wenn der der Mikroprozessor zurückgesetzt wird Die violette Kurvenform (man sagt eigentlich "violettes Signal") zeigt die Frequenz wie schnell der Prozessor arbeitet. Im Grundzustand teilt der Prozessor das "gelbe" Signal. ALso nur halb so schnell. Man sieht das daran, dass das gelbe Signal zwei Höcker macht und das violette nur einen in der selben Zeit. Nach einer gewissen Zeit (5.6µs) ist das Programm so weit durchgelaufen, dass es den Prozessor entsprechend "um"-konfiguriert hat. Nämlich so, dass es eben nicht den Frequenzteiler aktiviert läßt. Ab 5.6µs "init-time" läuft der Prozessor mit der maximalen Geschwindigkeit. Wenn das kein schönes Hello World ist - dann weiß ich auch nicht. Das bedeutet für uns, dass wir in der Lage sind, den Prozessor zu konfigurieren. Da wir wissen, dass es noch weiter Stellschrauben (Register zur Konfig) gibt, können wir anfangen die serielle Schnittstelle in Betrieb zu nehmen, damit es etwas kommoder wird das Ding zu programmieren.