Was das alles hier soll:
Vor einiger Zeit wollte ich eine kleinere Steuerungsaufgabe mit Hilfe
einer C-Control 1 von Conradelektronik
umsetzen.
Aber man ist ja nie zufrieden, und so wurde die Unit irgendwann 'zu klein'. Also
legte ich mir eine neue C-Control II zu.
Schon klasse, in einem Gehäuse und mit einem integriertem Display. Aber eben
auch sehr teuer.
Zu meinem grossen Entsetzen und meiner mir wohl angeborenen Ablehnung der Programmiersprache C gegenüber
(bin ich wohl zu blöd für), musste ich
feststellen, dass ich tatsächlich nicht zurechtkam mit dem Gerät bzw. seiner
Programmierung, um mal eben schnell eine Idee umzusetzen.
In Gesprächen mit anderen C-Control-Anwendern stellte ich fest, dass es nicht
nur mir so ging.
Eigentlich fand ich die Art der C-Control 1 gar nicht schlecht:
einfachstes Basic mit hardwarespezifischer Erweiterung
Integration von eigenen Assemblerroutinen
viel Nützliches im Internetz
viel Zubehör
Ich hatte nun ja auch schon einige Erfahrung mit der Unit und natürlich steuerte ich mittlerweile auch mein ganzes Haus damit . Also neu Lernen und neu Schreiben und neu Bezahlen war nicht die richtige Lösung hinsichtlich der Aussicht, dass Conrad früher oder später dann mit einer C-Control III rauskommt.
Es musste also eine andere Lösung her ! Schon immer hatte ich mit den AVR-Controllern von Atmel geliebäugelt und genau hier lag auch die Antwort.
Die AVR's haben eine von dem Microcontroller der C-Control
abweichende Architektur.
Der Motorola MC68HC05 ist, wie auch die meisten anderen Controller und
Prozessoren, auf einer Architektur aufgebaut, die sich "von
Neumann"-Architektur nennt.
Die Atmelcontroller basieren auf der sogenannten "Harvard"-Architektur.
Der entscheidende Unterschied dieser beiden Architekturen liegt darin, dass die "von Neumann"-Architektur
einen
Bus für die Daten und Befehle nutzt. Das bedeutet, dass eigentlich
immer mehrere Arbeitstakte pro Befehl benötigt werden (ein Befehl benötigt in
der Regel auch immer Daten).
In der "Harvard"-Architektur kommt man idealerweise mit nur einem Takt
aus, da jeweils ein Bus für die Daten und für die Befehle zur Verfügung
stehen.
Praktisch bedeutet das: pro Takt vom Quarz kann auch ein Befehl ausgeführt
werden.
Bei den AVRs kommt man im Idealfall also bei einem 8Mhz-Quarz auf 8 Millionen Befehle in
der Sekunde, das sind 8 MIPS (Millionen Instruktionen pro Sekunde) ODER
125 Nanosekunden (ns) pro Takt (Befehl). Hinzu kommt, dass die C-Control intern
mit halben externen Takt arbeitet, was bedeutet, dass wenn extern ein 8MHz-Quarz
arbeitet, die interne Geschwindigkeit jedoch nur 4MHz beträgt.
Neben diesem riesigen Geschwindigkeitsvorteil waren Dinge wie Verfügbarkeit und
Preis der Controller natürlich auch entscheidend.
Aus all diesen Überlegungen ist im April 2003 dieses Projekt
entstanden, welches zum Ziel hatte, das bewährte und einfache System der C-Control
für einen moderneren 8 Bit Controller zu schreiben. Idealerweise schreibt man
ein Betriebssystem in Assembler, zumindest die ersten wichtigen Kernfunktionen.
Nun, das Betriebssystem ist für meine Ansprüche fertig. Aber ich denke, man kann
es noch weiterentwickeln.
Aus diesem Grunde haben wir diese Seite eingerichtet. Hier wird das
Betriebssystem offengelegt und vielleicht auch in einer Form dargestellt, die es
auch Anfängern erlaubt, etwas zu verstehen.
Also wer Interesse hat ...
Alle auf dieser Internetsite enthaltenen Schaltungen, Verfahren und Programme werden ohne Rücksicht auf die Patentlage veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit grosser Sorgfalt vorgegangen. Trotzdem kann die Fehlerfreiheit nicht garantiert werden. Der Herausgeber kann für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine andere Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler ist der Herausgeber dankbar.
| optimal mit 1024*768 Aktuelle Browser gibt's hier: |
||
| http://www.mozilla.org |
|
|
| http://www.netscape.de/netscapeprodukte | ||
| http://www.microsoft.com/windows/ie_intl/de | ||
| http://www.opera.com/download | ||