Online Issues Download Area Links History Contact

Titel von C-Control intern
 
Achtung! Diese Seite ist schon recht alt und wird auch nicht mehr aktualisiert.
Sie ist für nicht-Frame-taugliche Webbrowser bestimmt. Wann immer möglich
bitte diese Startseite benutzen.

 
Letztes Update: 14.06.2000
NEU: CCINTERN.ZIP
NEU: FAQ.HTM
 
    
Herzlich willkommen auf meiner "C-Control intern"-Internetseite!

Auf dieser Seite befindet sich vor allem Information rund um das Betriebssystem des von Conrad Electronic entwickelten C-Control-Mikrokontrollersystems. Die Seite richtet sich zwar in erster Linie an erfahrene Anwender, doch gibt es auch fuer Einsteiger nuetzliche Informationen, Beispiele, Utilities und Tips.

Hier werden speziell die bisher undokumentierten Bereiche der C-Control, wie der interne Aufbau des Betriebssystems, die Belegung des Speichers, die CCBASIC-Token, die Interruptprogrammierung, die Verschiebung des High-Endurance-Blocks des 24C65'er EEPROMs und die diversen Bugs im Betriebssystem ausfuehrlich beschrieben.

Das gesamte Betriebssystem wurde disassembliert und dokumentiert, so dass alle Betriebssystemunterroutinen in eigenen Assemblerprogrammen aufgerufen werden koennen. Zur Verdeutlichung der verschiedenen Aufgaben des Betriebssystems gibt es eine Beschreibung zum I2C-Busprotokoll, zum Aufbau des DCF77-Signals, zu den RS232-Befehlen und zum Interruptsystem der C-Control-Unit.

Schwierige Sachverhaeltnisse wurden, soweit dies moeglich war, moeglichst verstaendlich erklaert. Wer bisher noch nie in Assembler programmiert hat, findet auf dieser Seite - neben einem guten Assembler - einen kurzen Einfuehrungskurs zum Erlernen dieser Programmiersprache. Zum Disassemblieren von Maschinenspracheprogrammen stehen ausserdem zwei Disassembler zur Verfuegung.

Schaltplaene und Anleitungen zu Hardwarebausaetzen befinden sich auf dieser Seite allerdings nicht!

Alle Informationen koennen komplett in einem ZIP-Archiv heruntergeladen werden. Die interessantesten Texte koennen aber auch direkt online gelesen werden.
 
Online Issues 
die interessantesten Texte und Programme aus meiner Sammlung zum Online-Lesen
 
Es gibt wohl kein groesseres Computerprogramm das fehlerfrei ist. Auch das Betriebssystem des C-Control/BASIC-Chips macht in dieser Hinsicht keine Ausnahme. Beim Untersuchen und Kommentieren des Betriebssystems und dem Lesen der drei Informationsforen zum C-Control bin ich bisher auf diese Bugs im Betriebssystem gestossen.

Von den Bugs ist jeder Anwender der C-Control betroffen. Wer sich bisher gewundert hat, warum sein Programm einen unerklaerlichen Fehler enthielt, findet in dieser Textdatei vielleicht die Loesung fuer dieses Problem. Besonders der Abschnitt mit dem Stackfehler sollte immer dann beachtet werden, wenn eine Interruptroutine im BASIC-Programm verwendet werden soll. In diesem Fall kann es naemlich zu Fehlern bei Berechnungen im Hauptprogramm oder zur falschen Ausfuehrung von ON..GOSUB- und ON..GOTO-Spruengen kommen. Die beiden Beispielprogramme ONGOSUB.BAS und ONGOSUB.ASM verdeutlichen das.

 
 
 
In dieser Textdatei stehen einige Tips und Tricks zur Programmierung des C-Control/BASIC Mikrokontrollers in BASIC und Assembler. Der Inhalt dieser Datei richtet sich zum Grossteil an erfahrene Anwender. So wird unter anderem beschrieben, wie eigene Assembler-Interruptroutinen programmiert, die Lage des High-Endurance-Blocks des seriellen EEPROMs verschoben und wie kurze Assemblerprogramme auch ohne Benutzung des internen EEPROMs in einem BASIC-Programm verwendet werden koennen. Doch auch fuer jeden Anwender, der Daten in die Datei im seriellen EEPROM speichert und aus dieser liest, findet sich ein nuetzlicher Tip.

Im Text wird auf die Beispielprogramme DUMP.BAS, HIGHENDU.BAS, HIGHENDU.ASM und auf das Bild HIGHEDBW.GIF Bezug genommen.

 
 
 
Ich empfehle zwar keinem Leser dieser Internetseite das ROM-Listing online zu lesen (Vorsicht: es ist ueber 283 kB gross), doch gibt es hier trotzdem einen Link dadrauf. Das Listing basiert auf dem Speicherinhalt des ROMs eines C-Control/BASIC-Mikrokontrollers. Alle Speicherbereiche die Maschinencode enthalten wurden disassembliert und alle Prozeduren (bzw. Subroutinen) durch einen Kommentarheader gekennzeichnet. Speicherbereiche mit Daten wurden, soweit das Sinn machte, zu Tabellen zusammengefasst und ebenfalls kommentiert.

Zum besseren Verstaendnis der Vorgaenge im Betriebssystem sollten einige Textdateien gelesen werden, die weiter unten im CCINTERN-Ziparchiv heruntergeladen werden koennen. Auf jeden Fall sollte die Datei mit dem Speicherbelegungsplan zur Hand genommen werden.

 
 
Download Area 
hier kann meine Sammlung und Manuals heruntergeladen werden
 
CCINTERN.ZIP ist das Haupt-Ziparchiv mit allen Daten, die ich ueber die C-Control-Unit gesammelt habe. Enthalten ist das ROM-Listing, der Speicherbelegungsplan, Informationen ueber die Bugs im Betriebssystem, der Assembler AS05 inklusive Assemblerkurs, die Disassembler IDI05 und DI05, das Terminalprogramm und alle Beispielprogramme und Textdateien. Wer nicht alles aus dieser Sammlung benoetigt, kann den Assembler und die beiden Disassembler auch einzeln herunterladen. Das Zip-Archiv sollte inklusive Verzeichnisstruktur entpackt werden.

In diesem Archiv ist noch nicht das Manual zum MC68HC05-Mikrokontroller, das Manual zum 24C65-EEPROM und der Originalquellcode des Betriebssystems enthalten. Diese Dateien muessen zusaetzlich heruntergeladen werden.
 
CCINTERN.ZIP (362 kB)  
 
IDI05 ist ein Disassembler, mit dem ein Maschinenspracheprogramm, das fuer eine 6805'er CPU geschrieben wurde, vollstaendig disassembliert werden kann. Im guenstigsten Fall wird der Disassembler gestartet und erstellt ausgehend von einigen Startadressen selbststaendig ein disassembliertes Listing des Maschinenspracheprogramms inklusive Speicherbelegungsplan ("cross reference list"). Zusaetzlich ist im ZIP-Archiv ein einfacher Disassembler (DI05) enthalten, mit dessen Hilfe das zu disassemblierende Programm interaktiv untersucht werden kann.

Die beiden Disassembler sind fuer jede 6805 'er CPU zu gebrauchen; nicht nur fuer die C-Control-Unit!

 
IDI05.ZIP (142 kB)  
 
AS05 ist ein einfacher Assembler von der Firma Kingswood Software, mit dem sehr gut Programme innerhalb der DOS-IDE entwickelt werden koennen. Die IDE kann so konfiguriert werden, dass der Assembler durch einen Tastendruck startet und das gerade editierte Programm uebersetzt. In diesem ZIP-Archiv liegt nicht nur der Assembler mit Beschreibung bei, sondern auch eine neue Tokendatei, mit der auch bei Assemblerprogrammen Syntaxhighlightning unterstuetzt wird. Ausserdem ist der Einfuehrungskurs und Tips zur Simulation von Maschinenspracheprogrammen mittels COSMIC-C und ZAP enthalten. Auch auf das Programmieren der C-Control-Unit mit der Programmiersprache C wird kurz eingegangen.

 
AS05.ZIP (51 kB)  
 
Wie (vermutlich) bereits bekannt, basiert die C-Control-Unit zum groessten Teil auf dem MC68HC05B6-Mikrokontroller der Firma Motorola. Deshalb ist das dazugehoerige Manual natuerlich ein absolutes Muss fuer jeden halbwegs ernsthaften C-Control-Anwender. In dem Manual ist der Mikrokontroller sowohl von der Hardware- als auch von der Softwareseite aus komplett beschrieben. Natuerlich fehlt die Information ueber alle Features, die erst durch das Betriebssystem der C-Control-Unit ermoeglicht werden (wie der BASIC-Interpreter, der I2C-Bus, der DCF77-Empfang, usw.).

Das Manual liegt im Adope Postscript Format vor und muss mit einem Adope Postscript Reader der Version 3.0 oder hoeher gelesen werden.

 
b6r5.pdf (3528 kB)  
 
Wer sich fuer den I2C-Bus oder das 24C65-EEPROM interessiert sollte dieses Manual herunterladen. Es enthaelt, neben den technischen Daten des Bausteins, einige Diagramme, die die Signalverlaeufe auf dem I2C-Bus auch ohne Oszilloskop verdeutlichen. Im Manual ist ebenfalls das Auslesen und Setzen der Position des High-Endurance-Blocks beschrieben.

Bevor die Datei heruntergeladen wird, sollte man sich jedoch davon ueberzeugen, dass auf der C-Control-Platine wirklich ein 24C65-EEPROM aufgeloetet ist. Meine M-Unit ist naemlich mit einem 24C64'er von der Firma SGS Thomson bestueckt! Dieser Chip hat uebrigens keinen High-Endurance-Block, dafuer aber eine garantierte Lebensdauer von eine Million Schreibzyklen.

 
21058g.pdf (121 kB)  
 
In die Sammlung jedes ernsthaften C-Control-Anwenders gehoert auch der Originalquellcode des Betriebssystems von Conrad Electronic. Er hat im Vergleich zu meinem ROM-Listing den Vorteil, dass die Aufgaben vieler Betriebssystemroutinen im Original-C-Quellcode sehr viel leichter verstaendlich sind. Die Darstellung des eigentlichen Programmcodes ist in der Programmiersprache C bereits durch die dort moeglichen Einrueckungen bei Schleifen und IF-Abfragen sehr viel uebersichtlicher als im Assemblerformat.

Dafuer fehlt im Originalquellcode jegliche Art von Dokumentation. Zwar ist das meiste einleuchtend, wenn man sich mit dem Betriebssystem laengere Zeit auseinandersetzt, doch die Belegung der verschiedenen Adressen des RAM-Bereichs durch das Betriebssystem beispielsweise kann man hoechstens anhand der Symbolnamen in der vom Compiler generierten Datei CCBASIC.MAP erraten. Leider laesst sich anhand der Namen der Symbole aber nicht immer auf deren Sinn und Zweck schliessen.
 
quelltexte.zip (26 kB)  
Links 
Verweise zu anderen C-Control-Seiten und aehnliches
 
Das ist die offizielle Internetseite zum C-Control-Mikrokontrollersystem von Conrad Electronic. Hier gibt es neben vielen lustigen Bildern und noch viel mehr Werbung auch die aktuellste Programmiersoftware zur Unit zum kostenlosen Herunterladen. Wer wissen will, was alles an seine C-Control-Unit angeschlossen werden kann, wird hier bestimmt fuendig. Alle Zusatzgeraete sind ausfuehrlich beschrieben und natuerlich ist zu jedem Artikel auch gleich die passende Conrad Electronic Bestellnummer angegeben.

Ein wenig (?) gewoehnungbeduerftig ist das offizielle Forum zur C-Control. Es befindet sich ebenfalls auf dem Conrad-eigenen Internetserver und bietet viel Raum fuer Diskussionen zwischen Endanwendern des Mikrokontrollersystems.

 
 
 
Diese Internetseite hat zwar nur indirekt mit der C-Control-Unit zu tun, ist aber trotzdem sehr besuchenswert. Die Funk-Uhr Homepage behandelt fast alles was irgendwie zum DCF77-Signal gehoert. Neben der Erklaerung der Entstehung und des Formates des Signals werden viele Einkauftips zu guten Funkuhren und zu Funkuhrmodulen, die an die serielle oder parallele Schnittstelle eines PC angeschlossen werden koennen, gegeben.

Besonders witzig finde ich die Tabelle zur Reichweite des DCF77-Signals. Laut PTB (der Physikalisch-Technischen Bundesanstalt) liegt die theoretische Reichweite bei 2000 km, doch wurde vom Signal auch schon einmal eine ueber 7000 km weit entfernte Funk-Uhr in Indien gestellt!

 
 
 
Auf Mark Hämmerlings Info-Site zum C-Control-Mikrokontrollersystem gibt es reichhaltige Informationen zum Aufbau der Units, zu eigenen Softwareprojekten und zu Zusatzgeraeten, die an den Kontroller angeschlossen werden koennen. Es gibt eine Auflistung von preisguenstigen DCF77 Empfaenger-Platinen, die genausogut funktionieren wie die sehr teure Original-Aktiv-Antenne. Wer an seine Unit ein Display anschliessen moechte, sollte sich unbedingt die Informationen zu den 27 verschiedenen LC-Displays zu Gemuete fuehren!

Fuer alle Programmierer ist besonders das von Mark programmierte DeepXS-Modul interessant. Durch dieses Programm ist der direkte Zugriff auf Daten im seriellen EEPROM moeglich. Besonders positiv hervorzuheben bleibt schliesslich noch die reichhaltige Linksammlung am Ende der Seite. Die Links in dieser Sammlung haben mir einige Sucharbeit erspart.

 
 
 
Die C-Control Homepage von VanBasten befindet sich zwar groesstenteils noch im Aufbau, doch kann man auf der Seite zur BASIC-Unit schon einige gute Programme, besonders zur Ansteuerung von LC-Displays, herunterladen. In Planung ist unter anderem ein BASIC-Kurs, um Neueinsteigern und Umsteigern von der Plus-Version bei der Erstellung der ersten Programme zu helfen. Zusaetzlich gibt es auf VanBastens Homepage Technische Daten, Bilder und Informationen zu den Units und zu den daran anschliessbaren Komponenten, wie Tastatur, LED- und LCD-Modul.

VanBasten unterhaelt auch ein sehr gutes Forum. Das Lesen der Beitraege in diesem Forum ist uebrigens bedeutend einfacher als beim Forum von Conrad Electronic!

 
 
 
Die mit Abstand umfangreichste Internetseite zur C-Control ist die C-Control Help Site. Sie wurde von Thomas Trepper ins Leben gerufen und befasst sich mit fast allen Themen, die mit der C-Control-Unit zusammenhaengen. Egal ob Hard- oder Software, zu allem gibt es gute Informationen und Programme. Allen Programmierern kann ich die reichhaltige Sammlung von BASIC- und Assemblerprogrammen auf der C-Control Help Site nur waermstens empfehlen.

Ausserdem kann man im C Control Center Help Forum Fragen stellen oder findet in den Beitraegen immer wieder gute Hinweise. Dieses Forum hat sich inzwischen fast zum offiziellen C-Control-Forum gemausert. Selbst das Conrad Technologie Center beteiligt sich mittlerweile am Informationsaustausch.

 
 
History 
Entstehungsgeschichte dieser Seite
  14.06.2000 Ab sofort gibt es eine "Frequently Ask Question"-Liste, in der die Fragen aufgeführt sind, die mir andere Anwender bereits gestellt haben. Wer mir eine Frage per e-mail stellen möchte kann ab jetzt in dieser Liste nachschauen, ob seine Frage bereits von mir beantwortet wurde. Die wichtigste Neuerung in meiner Sammlung ist der DCF77-Simulator von Friedhelm Böhl. Mit dem Programm kann man ein DCF77-Signal mit dem PC erzeugen und an einem Pin der seriellen Schnittstelle ausgeben lassen. Vielen Dank an alle, die mich auf Fehler in der Sammlung aufmerksam gemacht haben!
  02.12.1999 Da das Jahr 2000 und damit der absolute Weltuntergang in Riesenschritten immer näher rückt, habe ich mich (sozusagen als krönenden Abschluß) dazu entschlossen, noch schnell einige Bugs aus meiner Infosammlung zu entfernen, bevor es mit der Welt endgueltig zu Ende geht. Zusaetzlich habe ich einige Beiträge ergänzt. C U in the other world!
  26.11.1999 Seite und Titel umgestylt. Alle Daten fertig und downloadbereit. Links zu anderen Seiten hinzugefuegt. Auch Manuals koennen heruntergeladen werden. Opera zeigt Teile der Seite nicht richtig an, so dass Kompromisse geschlossen werden mussten. Geocities scheint keine Dateien mit der Endung .ASM zu moegen (?), ich musste die Assemblerquellcodes deshalb in .TXT umbenennen. Vielen Dank an alle, die mir mails geschickt haben! Danke auch an Thomas Trepper fuer die Uebernahme meiner Seite in seine Linksammlung!
  12.11.1999 Meine Informationssammlung ist fast fertig. Anmelden der "C-Control intern"-Seite bei Geocities und eine Vorschau der Sammlung zum Download angeboten. Seite in den Foren publik gemacht.
  20.10.1999 Ins Internet gegangen, um Informationen zum DCF77-Signal von der PTB herunterzuladen, doch leider nichts gefunden. Auf der "Funk-Uhr-Homepage" dennoch fuendig geworden; wirklich eine sehr gute Seite! Habe in den Foren einige Adressen von Seiten gefunden, die sich mit der C-Control-Unit beschaeftigen. Weiss jetzt, wie man den Kontroller zur Steuerung von Aquarien, Robotern und Anderem einsetzt. Ausserdem das Lallus Projekt und Van Bastens Seite plus Forum heruntergezogen.
  18.10.1999 Endlich auch beim C-Control Forum von Conrad Electronic vorbeigeschaut und alle Beitraege zum Offline-Lesen heruntergezogen. Ausserdem auf die sehr gute C-Control Help Site gestossen und ebenfalls heruntergeladen. Sehr viele nuetzliche Tips, Programme, Manuals und Hinweise gefunden!
  23.09.1999 Beim Kauf des Temperatursensors vergessen, dass man auch eine Beschreibung braucht. Also nochmal zu Conrad Electronic (*grummel*). Bei der Gelegenheit auch eine Buchsenleiste fuer die Stifte der M-Unit gekauft, um mit meiner Oszilloskopkarte besser kontaktieren zu koennen.
  22.09.1999 Einen preiswerten Temperatursensor bei Conrad Electronic gekauft, aber bisher noch nicht benutzt. Die Standardhardware zur C-Control ist einfach viiiiel zu teuer!
  13.09.1999 Dank Marks Internetseite eine preiswerte DCF77-Empfaengerplatine gefunden und bei Conrad Electronic gekauft (Best.Nr. 641138). Bei der Gelegenheit auch die drei Buecher zur C-Control aus dem Franzis-Verlag unter die Lupe genommen, doch kaum brauchbare Information gefunden. Habe beschlossen, meine Informationssammlung ueber das Betriebssystem im Internet allen Anwendern zugaenglich zu machen. Am Abend die DCF77-Signale mit meiner Scopekarte dekodiert. Es folgt die Einarbeitung ins DCF77-Format und ins I2C-Busprotokoll.
  27.08.1999 Endlich eine gute Seite ueber die C-Control gefunden und alle Informationen komplett heruntergezogen! Auf "c-control.purespace.de" von Mark Hämmerling gibt es Links zu Manuals zum Mikrokontroller, zum EEPROM und vieles andere mehr.
  03.08.1999 Wiederum Informationen zum MC68HC05-Mikrokontroller im Internet gesucht. Verschiedene Assembler, Simulatoren und C-Compiler gefunden. Leider kaum etwas fuer die C-Control dabei.
  30.07.1999 Auf der offiziellen C-Control-Internetseite vorbeigeschaut und alle ZIP-Archive heruntergezogen. Ausserdem Informationen zum MC68HC05B6-Mikrokontroller und zum I2C-Busprotokoll auf der Motorola-Homepage und auf anderen Internetseiten gesucht, ohne grossen Erfolg zu haben.
  15.07.1999 Kauf meiner C-Control-M-Unit bei der Conrad Electronic Filiale in Bielefeld. Am gleichen Abend erste Testprogramme in BASIC und Assembler geschrieben. Spaeter ersten rudimentaeren Disassembler entworfen um das Betriebssystem zu erkunden.
Contact 
den Autor dieser Seite kontaktieren
  
Es ist sehr wichtig fuer mich, Rueckmeldungen von den Nutzern dieser Internetseite zu bekommen. Nur so ist es moeglich, die Daten an die Beduerfnisse der Leser anzupassen. Wer also Lob oder Kritik loswerden moechte, Fehler in den von mir veroeffentlichten Daten findet, Fragen stellen oder mir auch nur mitteilen moechte, dass er die Daten auf dieser Seite nutzt, soll mir bitte eine e-mail schicken.
     __                          _    ,          _
    /  )     _/_                ' )  /          //
   /  / o _  /  ____  __.  __    /--/ __.  __  // _____
()/__/_<_</_<__/ / /_(_/|_/ (   /  (_(_/|_/ (_</_(_) \_)__
(Dietmar Harlos, Student der Elektrotechnik, Universitaet Paderborn)
 
P.S.: Leider habe ich zuhause keinen Internetanschluß, so daß ich nur relativ selten zum Lesen meiner mails komme. Bitte habt etwas Geduld, wenn ich mich nicht sofort melde!


 
Bisher waren   Besucher hier.
 
Alle auf dieser Internetseite enthaltenen Schaltungen, Verfahren und Programme werden ohne Ruecksicht auf die Patentlage veroeffentlicht. Warennamen werden ohne Gewaehrleistung 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 fuer fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine andere Haftung uebernehmen. Fuer Verbesserungsvorschlaege und Hinweise auf Fehler ist der Herausgeber dankbar.