Hallo
Nachdem ich mich in der Vergangenheit mit der AVR Assemblerprogramierung
vertraut gemacht hab und hier vieles gelesen und gelernt hab geht es nun
weiter mit dem Motorola 68HC11 Controllern. Wer weiss wo ich da Info´s
zu bekomme ? Ein Entwicklungsboard so ähnlich wie das Pollin board und
ein paar Anfänger Tips oder so ein Tuturial wäre da schon sehr
hilfreich, vielleicht wären auch ein paar links sehr hilfreich.
Beim 68HC11 kommst du rund 20 Jahre zu spaet.
Da gab es in den 90er einige Buecher und Testplatinen zu. Das Teil wird
heute fuer Neuentwicklungen doch nicht mehr eingesetzt.
Man findet noch Internetseiten zu HC11-Systemen, auch auf Deutsch, weil
er als Lehrmittel durchaus gebräuchlich war. Im Prinzip ist es nicht
schwer, sich ein Board zu machen. Der HC11 startet von der letzten
Speicheradresse, nicht von der ersten wie ein 8051, und wenn man den
seriellen Bootloader benutzt, kann man mit etwas Geschick (und einem
Preloader) sogar ein Programm in extern angeschlossenen Speicher
bringen.
Der 68HC11 ist recht elegant, es gibt viel Info dazu
inklusive einer Simulation.
Standard war der AS11 Assembler, der Buffalo Monitor,
Motorola's EVB Board aus pcbug11.pdf, fertig erhältlich
bei http://www.mct.de/ oder http://www.elektronikladen.de/
ein C-Compiler ist wegen knappem Speicher meist nicht
sinnvoll gewesen.
Aus heutiger Sicht ist das Problem, daß
der 68HC11E nur 512 Byte RAM/Programm-EEPROM enthält
und keine Version mit eingebautem Flash erhältlich ist,
was externes EEPROM (28C256) nötig macht und damit einen
heute schwer beschaffbaren 68HC24 als Port-Replicator
(nur von TekMos als TK68HC24).
http://www.faqs.org/faqs/microcontroller-faq/68hc11/
ftp://ftp.circuitcellar.com/pub/Cross_Development/!FILES.txt (suche HC11
darin)
Nimm also lieber 68HC12 und Coldfire mit Flash, falls
du mehr als 512 Byte Programmplatz brauchst bzw. das
Eval-Board nicht schon fertig vor dir liegt.
An Features und Geschwindigkeit kann er aber mit
aktuellen uC wie PIC und AVR durchaus noch mithalten,
und das obwohl er über 20 Jahre auf dem Buckel hat,
daran sieht man wie viel Motorola den Microchips und
Atmels voraus war.
Bibliotheken mit Programmroutinen gibt es reichlich,
letztlich sind auch alle Apple II und C64 Programme
übertragbar.
>Beim 68HC11 kommst du rund 20 Jahre zu spaet.
Das sollte man beherzigen.
Vom Elektronikladen gibt es das HCS12 T-Board, damit ist man halbwegs
uptodate.
http://elmicro.com/de/hcs12tb.html
Oder von der Fa. Kopf das hier, wenn man an die CAN Schnittstellenb
besonders Wert legt. Da sind die Leitungstreiber für CAN 3x drauf, dazu
auch LIN.
http://www.kopfweb.de/hcs12kboard.html
MaWin schrieb:> Bibliotheken mit Programmroutinen gibt es reichlich,> letztlich sind auch alle Apple II und C64 Programme> übertragbar.
Noe. Im Apple II und C64 werkelte ein 6502 b.z.w 6510. Der hat zwar eine
gewisse Aenlichkeit mit einem 68HC11 ist aber trotzdem nicht kompatibel.
>Der hat zwar eine gewisse Aenlichkeit mit einem 68HC11>ist aber trotzdem nicht kompatibel.
Damals hatten praktisch alle Mikroprozessoren eine Ähnlichkeit.
Die hies DIP40.
Aber jetzt haben wir das Jahr 2012.
Da sollte man für Weiterbildung (und darum geht es bei Carsten S. doch
meinte ich herauszulesen) sich nicht mehr mit so'n ollen Zeugs befassen.
(Und wenn's um museale Projekte geht, dann doch gleich richtig, mit
S100-Bus System und einer Teletype, das wäre cool).
Gruss
Erich schrieb:> Damals hatten praktisch alle Mikroprozessoren eine Ähnlichkeit.> Die hies DIP40.
Und gerade das war hier nicht der Fall. 68HC11 gab/gibt es in PLCC52/64
oder in einem Shrinkdip mit 56 Pinen.
> Aber jetzt haben wir das Jahr 2012.
Da kommen die meisten von Hobbyisten verwendetn uC in
DIP18 (PIC1&F84) oder Skinny DIP20 (ATmega8).
Der 68HC11 hatte PLCC52 als sein natürliches Gehäuse
im der DIL40 "rückwärtsgewandten" Variante wurden 4
Analogeingänge des Chips nicht kontaktiert.
> Damals hatten praktisch alle Mikroprozessoren eine Ähnlichkeit.> Die hieß DIP40.
Aber ganz im Gegenteil. Die übliche Gehäuseform des MC68HC11A1 ist
PLCC52.
Übrigens, bei allem Respekt für den Versuch Motorolas, beim Schritt vom
HC11 zum HC12 die Kompatibilität zu wahren: Der dabei entstandene
Kompromiß ist lange nicht so benutzerfreundlich wie sein Vorgänger. Daß
man den externen Speicher nicht linear adressieren kann, entwertet das
Teil. Und nur BDM als einziger Zugang macht den Einstieg teurer, gerade
für Anfänger.
>...geht es nun weiter mit dem Motorola 68HC11 Controllern.
Die Akkumaschinen sind (im Gegensatz zu manch Behauptung) noch nicht
tot. UA haben Freescale, ST(bsp STM8, sehr schnell, 8bit), Fujitsu,
(auch M16C wäre möglich) noch welche im Programm.
In vielen Fällen sind die sogar schneller als RISC, weil nicht so viele
LDs/STs nötig sind. (Und ContextSwitch ist auch schneller)
Also das sind ja schonmal einige ganz wertvolle Info die ich hier
bekommen hab. Der Plan der hinter der ganzen Sache steckt ist die
Programierung eines Motorsteuergerätes für Notstromgenaratoren und
diverse Aggregate. Da müssen ja auch in den nächsten Jahren die ganzen
Abgas und Umweltbestimmungen eingehalten werden. Weiterhin möchte ich
diverse Daten (Drehzahl, Temparatur Abgaswerte, etc) über Ip oder GSM
übertragen. So das auch eine Ferndiagnose möglich ist. Wenn dann der
"Schornsteinfager" oder sonstiges Servicepersonal kommt können die wie
am Auto ihren Laptop über OBD an den Generator anschliessen und ihre
"AU" machen. Da es ja die Bosch Motorsteuergeräte mit dem 68HC11 oder
68HC12 (EDC15) quasi wie Sand am Meer gibt wäre da auch mein Ansatz. Da
wäre es für mich sehr wichtig auch hier etwas über die verwendeten Proz.
zu lernen.
Am Ende wird es vielleicht dan doch eine AVR Lösung aber erstmal lernen
und verstehen was es so gibt und dann das beste draus machen.
Hier dann auch gleich mal ein paar fragen in die Runde
Was ist der Unterschied zwischen den HC11 und HC12 Typen ?
Wofür sind die Anschlüsse Mode A und Mode B ?
Werden die ähnlich wie ein Atmel programiert, Daten über RX TX rein und
einen PIN nach Masse?
Kann man auch Daten aus dem Controler zurücklesen ? Wie das eingebaute
EEPROM z.B
Also wer mir da auch noch helfen könnte dem wäre ich sehr dankbar
Wumpie schrieb im Beitrag #2516569:
> Hier dann auch gleich mal ein paar fragen in die Runde> Was ist der Unterschied zwischen den HC11 und HC12 Typen ?>
HC12 ist die aufgebohrte 16Bit Variante vom HC11
> Wofür sind die Anschlüsse Mode A und Mode B ?>
Damit kann man den Bootmode des uC festlegen.
Es gibt 4 verschiedene Bootmodes.
Normal Single Chip Mode
Special Bootstrap Mode
Normal Expanded Mode
Special Test Mode
> Werden die ähnlich wie ein Atmel programiert, Daten über RX TX rein und> einen PIN nach Masse?>
Nicht ganz so wie beim AVR.
Es ist ein Bootloader im uC enthalten. Dieser Laedt beim Start (Special
Bootstrap Mode eingeschaltet) 256 Byte an Daten in den internen RAM ab
Addresse 0 und Startet dieses dann anschliessend. In diesen 256 Byte
musst du dann deinen eigenen Datenempfangs und Programmieralgorythmus
unterbringen. Das flashen von externen Flashbausteinen ist dann dein
problem.
> Kann man auch Daten aus dem Controler zurücklesen ? Wie das eingebaute> EEPROM z.B
Nicht ganz. Du kannst ein eignes Ausleseprogramm wie oben beschrieben in
den Controller downloaden.
Hallo,
ich habe in den 90igern bis etwa 2006 auch mit dem hc11 gearbeitet. 2009
hatte ich dann eine Anfrage, wegen einer Reparatur eines hc11 Systems
und habe ein System zum auslesen und programmieren von hc11 Systemen
aufgebaut. Das System habe ich gerade noch einmal aktualisiert.
Informationen dazu sind zu finden unter:
http://www.mr.inf.tu-dresden.de/~schoene/68hc11/hc11_loader.php
Viele Grüße
Siegmar
Carsten S. schrieb:> Was ist der Unterschied zwischen den HC11 und HC12 Typen ?
Steht im Datenblatt.
> Wofür sind die Anschlüsse Mode A und Mode B ?
Steht auch im Datenblatt.
> Werden die ähnlich wie ein Atmel programiert, Daten über RX TX rein und> einen PIN nach Masse?
Nein. Und - es steht im Datenblatt. Special Bootstrap Mode ... sagt
dir natürlich nichts weil du die Bedeutung der Mode A und Mode B Pins
nicht selber mal nachgelesen hast.
> Kann man auch Daten aus dem Controler zurücklesen ? Wie das eingebaute> EEPROM z.B
Kannst du jetzt sicher erraten: steht im Datenblatt. Oder zumindest
stehen da die Informationen die man braucht um das anzustellen.
> Also wer mir da auch noch helfen könnte dem wäre ich sehr dankbar
Das freundliche Datenblatt hilft dir. Nur lesen muß du es noch selber.
Was meinst du eigentlich woher die Leute die dir hier antworten, ihr
Wissen haben? Könnte es sein, daß die einfach mal die verfügbare
Dokumentation gelesen haben?
XL
Ja, richtig tut er !
Ich lese hier regelmässig, meine Beiträge und Fragen und auch Antworten
in diesem Forum. Wofür sonst ist das alles hier gut?
Mittlerweile bin ich dank der vielen Tipps und Hinweise hier auch schon
mächtig weitergekommen, ich hab diverse Tools zum Programieren der
Controler von einigen gleichgesinnten hier im Forum erhalten, ich hab
ein altes Entwicklungsboard bei EB** erstanden, hab mir aber auch einen
kleinen Programmer selber gebastelt. Hab einige kleine Testschaltungen
wie Schrittmotorsteuerung, LED Lauflicht, Signalgenerator und A/D
Wandler gebastelt und mit hilfe einiger User hier auch Programiert.
Einen Testaufbau für die Steuerung eines alten Stromgenerators ist
bereits auch schon realiesiert, mit LCD und einigen Tastern kann man
Drehzahl einstellen, abfragen, Frequenz regeln und über serielle
Schnittstelle einige Daten an einen alten PC übermitteln,
Paralel hab ich aber auch schon wie breits angekündigt mit AVR etwas
gemacht, hier kamen mir einige Ideen und Vorschläge aus der Elektor zu
hilfe.
Das soweit in kürze, ein kleines Update für alle Interessierten !
Ach und selbstverständlich habe ich auch mal ein Blick in die
Datenblätter geworfen, aber manches erklärt sich von User zu User in
einigen Textzeilen einfacher als das lesen von vielen Seiten in
Englischer Sprache.