


![]() |
ZWERG11plus - Handbuch |
- Anhang A Entwicklungspaket 11 (ist im ZWERG11A-Handbuch beschrieben)
Autor: Erhard Scherer
Copyright © MCT Paul & Scherer Mikrocomputertechnik GmbH. Alle Rechte vorbehalten.
Dieses Handbuch, wie auch das beschriebene Produkt, wurde sorgfältig erstellt und geprüft. Trotzdem können Fehler und Irrtümer nicht ausgeschlossen werden. MCT übernimmt keinerlei Verantwortung für die uneingeschränkte Richtigkeit und Anwendbarkeit des Handbuchs oder des beschriebenen Produkts und für die aus eventuell vorhandenen Fehlern resultierenden Schäden.
Änderungen ohne vorherige Ankündigung vorbehalten.
![]()
1 Allgemeines
Der ZWERG11plus ist ein Einplatinencomputer besonderer Art, der etwas aus dem Rahmen fällt. Die Grösse von ca. 51mm x 54mm erinnert mehr an ein etwas zu gross geratenes IC, als an einen herkömmlichen Platinenaufbau. Die technischen Merkmale dieses Einplatinencomputers können sich aber dennoch sehen lassen, zu verdanken ist dies in erster Linie dem Microcontroller MC68HC11, der von Hause aus schon eine Menge Hardwarefunktionen auf dem Chip hat. Die nachfolgende Tabelle zeigt was der ZWERG11plus so zu bieten hat.
- 8Bit CPU mit 500ns Buszugriffszeit
- Timersystem mit acht 16Bit-Registern
- 256 Byte internes RAM
- 512 oder 2048 Byte internes EEPROM (als Programm- oder Parameterspeicher)
- serielles Kommunikations-Interface (SCI) mit externen Treibermoduln für RS232, RS422, RS485, 20mA Schleife, Lichtleiter, ...
- serielles Peripherie Interface (SPI) für Systemerweiterung
- ca. 40 parallele Ein-/Ausgänge
- leistungsfähige Interruptstruktur mit ca. 20 Interruptvektoren
- 8-kanaliger A/D-Wandler mit 8Bit Auflösung und 16us Wandlungszeit
- Real Time Clock RTC4553 mit seriellem Anschluss (SPI) plus Batterie (optional)
- Direktanschluss von alphanumerischen und grafischen LCDs
- Reset-Controller mit Spannungsüberwachung für einen sicheren Betrieb des Boards
- 32KB externes EEPROM oder wahlweise EPROM oder RAM
- 31KB externes RAM
- Entwicklersupport durch Remote Reset und Remote Modeselect
Der MC68HC11A1 auf einen Blick:
Und nun den MC68HC11E2. Die Unterschiede sind minimal - aber wichtig.
![]()
1.1 Anwendungen, für die ZWERG11plus geeignet ist
ZWERG11plus kann auf Grund seiner umfangreichen On-Chip-Peripherie entweder als eigenständiger Rechner für vielfältige Aufgaben eingesetzt werden, beispielsweise für MSR-Anwendungen, oder aber als intelligenter Prozessorkern in komplexen Schaltungen. Wenn Sie zum Beispiel eine Mikrocontroller-gesteuerte Hardware entwickeln wollen, können Sie den ZWERG11plus einfach als CPU-Kern "von der Stange" einsetzen und sich auf die Entwicklung ihrer eigentlichen Anwendung konzentrieren.
Ein weiteres Anwendungsgebiet für den ZWERG11plus sind intelligente Sensoren. Er kann mit seinem A/D-Wandler bis zu acht Messwerte erfassen, gegebenenfalls auch vorverarbeiten, auf die Über- oder Unterschreitung von Grenzwerten sofort selbstständig reagieren und diese Werte speichern bzw. auf Abfrage über die serielle Schnittstelle senden. Durch den direkten Anschluss von LCDs können auch Messgeräte mit intelligenter Messwertaufbereitung und komfortabler Messwertanzeige aufgebaut werden.
Durch den grossen Speicher besteht die Möglichkeit C-Compiler einzusetzen und damit Entwicklungskosten einzusparen oder rasch einen funktionierenden Prototypen aufzubauen. Wenn die Applikation dann "steht", kann immer noch auf den kleineren ZWERG11A gegangen werden, wenn die Programmgrösse das erlaubt.
![]()
1.2 Lieferumfang des Entwicklungspakets
- Platine ZWERG11plus
- Steckverbinder für Stromversorgung
- IF232LP-Modul
- Flachband-Kabel für IF-Modul
- RS232-Kabel für PC
- Entwicklungssoftware AS11, Beispiele und Downloadprogramm
![]()
1.3 Inbetriebnahme
Als erstes sollte der ZWERG11plus mit dem Netzteil und dem PC verbunden werden. Das Bild unten zeigt wie. Das Netzteil muss eine geregelte Gleichspannung von 5 Volt mit einer Toleranz von ±5% liefern. Um das Schadensrisiko durch versehentliche Kurzschlüsse zu minimieren, sollte eine eventuell vorhandene Strombegrenzung auf ca. 100mA eingestellt werden. Der Stecker ST4 wird zur Stromversorgung benutzt. Dabei wird +5 Volt an Pin1 und GND an Pin2 angelegt. Um die Stromversorgung verpolungssicher zu gestalten, wurde ein 4pol. Steckverbinder gewählt wie er bei 3.5" Floppylaufwerken üblich ist (im Lieferumfang des Entwicklungspakets enthalten). Die Verbindung zum PC wird über das mitgelieferte RS232-Kabel hergestellt. Falls Ihr PC einen 25pol. Steckverbinder (XT-kompatibel) hat, benötigen Sie noch einen Adapter 25pol. auf 9pol. oder ein Nullmodemkabel 9-25pol. (nicht im Lieferumfang enthalten - aber bei jedem kompetenten PC-Händler zu haben). Die folgende Beschreibung geht davon aus, dass Sie die serielle Schnittstelle COM1 für die Verbindung PC-ZWERG11plus gewählt haben.
![]()
Nachdem die Verkabelung abgeschlossen ist, schalten Sie als erstes den PC ein. Auf der mitgelieferten Diskette befindet sich Entwicklungs-Software, die als erstes installiert werden muss. Eine Anleitung finden Sie in dem File auf der Diskette. Nach erfolgreicher Installation befindet sich auf Ihrer Harddisk ein Terminalprogramm, das auf das Arbeiten mit Einplatinencomputern abgestimmt ist (TM.EXE). Nach dem Aufruf dieses Programms mit der Eingabezeile "TM" können Sie den ZWERG11plus einschalten. Auf dem Bildschirm muss nun die Meldung "MONI11" und ein Doppelpunkt als Eingabeaufforderung erscheinen. Mit Hilfe dieses Monitors können Sie erste Gehversuche mit dem ZWERG11plus machen. Die Quelle (Assembler) des Monitors ist auf der zu diesem Handbuch gehörenden Diskette enthalten.
Das Programm TM stellt, wenn es ohne Parameter aufgerufen wird COM1 auf 9600Baud, 8 Datenbits, no Parity und 1 Stopbit (8N1) ein 1. Andere Werte z.B. COM2 sind möglich. Die Beschreibung der Kommandozeilenargumente des Programms TM können Sie sich mit anzeigen lassen.
Eigene Programme können mit Hilfe eines Standard-Editors erstellt, mit Hilfe des Crossassemblers AS11 übersetzt und dann in das EEPROM des ZWERG11plus übertragen werden.
Im Kapitel <ZWERG11plus Programmierung> wird der Bootstrap-Vorgang ausführlich beschrieben.
In dem File wird die Benutzung der mitgelieferten Software-Tools beschrieben. Ausserdem finden sich hier aktuelle Informationen zum ZWERG11plus-Entwicklungspaket.
![]()
1.4 Logische Pegel
Wenn in diesem Handbuch auf logische Pegel eines Signals eingegangen wird, werden zwei Konventionen verwendet.
- 1. High und Low Pegel:
- Diese Pegel entsprechen den direkt messbaren Spannungen an der physikalisch vorhandenen Leitung.
- 2. Aktiv und inaktiv:
- Signale werden, wenn das eine klarere Beschreibung ergibt, als aktiv und inaktiv bezeichnet. Dabei sind highaktive Signale (z.B. E) im aktiven Zustand bei High-Pegel und inaktiv bei Low-Pegel. Lowaktive Signale (z.B. RESET*) sind im Low-Pegel aktiv und bei High-Pegel inaktiv.
Signale, die mit einem angehängten '*' markiert werden, sind lowaktiv. Für Signale in GAL-Gleichungen gilt eine andere Konvention, hier wird Lowaktiv durch ein vorangestelltes '/' markiert. RESET* und /RESET haben die gleiche Bedeutung.
![]()
1.5 Numerische Angaben
Alle Zahlenwerte werden dezimal angegeben. Hexadezimale Werte werden mit einem vorangestellten 0x markiert 2. Der Wert 65535 entspricht also dem Wert 0x0000FFFF.
![]()
2 Baugruppen
2.1 Speicheraufteilung
Die Speicheraufteilung ist beim ZWERG11plus durch externe Adressdekodierung festgelegt. Ein Remapping der internen Baugruppen ist meist nicht sinnvoll. Der interne Registerblock darf nicht umgemappt werden, da sonst Konflikte mit der Adressdekodierung für die Port Replacement Unit auftreten.
Start Ende Funktion 0x0000 0x00FF Interner RAM Block 0x0100 0x0FFF Unterer externer RAM Block 0x1000 0x103F Peripherie Block 0x1040 0x13FF Unbenutzt - reserviert 0x1400 0x7FFF Oberer externer RAM Block 0x8000 0xB5FF Unteres externes EEPROM 0xB600 0xB7FF Internes oder externes EEPROM 0xB800 0xFFFF Oberes externes EEPROM Das interne EEPROM ist im Auslieferungszustand im Config-Register abgeschaltet. Anstelle des internen EEPROMs wird dann an dieser Stelle das externe EEPROM sichtbar.
![]()
2.2 EEPROM
Generelle Hinweise
Die Speicherung der für den ZWERG11plus erstellten Programme erfolgt im internen EEPROM des MC68HC11 oder im externen EEPROM. Dies ermöglicht eine leichte Programmierung ohne den Zwang, ein Programmiergerät zur Verfügung haben zu müssen. Da die Neuprogrammierung über die serielle Schnittstelle erfolgt, ist ein Ausbau des Boards in der Regel nicht erforderlich. Zum Download wird die serielle Schnittstelle benötigt, deshalb muss der Jumper J3 frei zugänglich sein. Mit seiner Hilfe wird beim ZWERG11plus der Remote Reset freigeschaltet. Zur Programmierung genügt ein PC, dies kann natürlich auch ein Notebook PC für den mobilen Einsatz sein.
Ein Anwenderprogramm das im EEPROM läuft darf niemals auf das EEPROM schreiben, da nach dem Write das EEPROM für die Writezykluszeit (ca. 3... 10ms) blockiert ist und nicht mehr normal ausgelesen werden kann. Um das EEPROM zu programmieren, muss eine Programmierroutine ins RAM kopiert werden, die den eigentlichen Kern des Programmierens erledigt.
Wenn Baugruppen (RAM, internes EEPROM, ...) über das externe EEPROM gemappt werden treten dieselben Probleme auf. Das externe EEPROM gerät beim Schreiben auf die umgemappte Baugruppe temporär in einen recht introvertierten Zustand mit Crashfolgen. Abhilfe schafft das nichtummappen dieser Baugruppen.
Internes EEPROM
Das interne EEPROM liegt ab . Beim ZWERG11plus wird das interne EEPROM beim Endtest abgeschaltet, da das interne EEPROM in den meisten Anwendungen nicht sinnvoll verwendbar ist und ansonsten nur im Weg liegt. Ein Wiedereinschalten ist ohne weiteres möglich. Die Programmierung des internen EEPROMs erfolgt wie im Datenblatt beschrieben.
Externes EEPROM
Das externe EEPROM ist 32KB gross und liegt ab der Adresse . Schreiben, sowie die Write Enable und Disable Operationen, sind jederzeit möglich.
Da interne Schreibzyklen auch auf dem Bus erscheinen, ist Schreiben auf eine dem externen EEPROM überlagerte Baugruppe wie z.B. das interne EEPROM nicht von einem Programm im externen EEPROM möglich. Da das interne EEPROM im Auslieferungszustand abgeschaltet ist, kann kein Konflikt auftreten.
Die verwendbaren EEPROM-Typen werden von verschiedenen Herstellern und mit unterschiedlichen Eigenschaften angeboten. Beispiele für einsetzbare Typen sind:
Hersteller Bezeichnung Protection Chip Erase Samsung KM28C256 ja ja Atmel AT28C256 ja Ja Seeq SEEQ 28C256 nein ja Vergleichbare Typen von anderen Herstellern sind ebenfalls verwendbar. Es ist allerdings empfehlenswert, nur Typen mit Software-Write-Protection zu verwenden, um gerade bei sicherheitskritischen Anwendungen Datenverlust zu verhindern.
Das EEPROM ist gegen Schreiben bei zu niedriger Versorgungsspannung und direkt nach dem Einschalten geschützt. Bei Einhaltung der minimalen Anstiegs- und Abfallzeit an VCC von 10ms ist ein sicherer Datenerhalt garantiert. Wird der Software-Write-Schutz immer nach jedem Schreiben aktiviert, dann können auch kurzzeitige Spannungseinbrüche und ähnliche Ausnahmebedingungen keinen Schaden mehr anrichten. Zudem kann ein Absturz des Programms mit an Sicherheit grenzender Wahrscheinlichkeit keinen Schaden anrichten.
Bei der Auslieferung ist das externe EEPROM gegen Schreiben geschützt. Die unten beschriebene Write-Enable-Prozedur muss also in jedem Fall wenigstens einmal ausgeführt werden, da das EEPROM sich sonst nicht beschreiben lässt. Bei Verwendung der mitgelieferten Programmiersoftware wird der Write Enable und Disable automatisch ausgeführt.
Write Enable
Das externe EEPROM sollte vor dem Schreiben eines Datenblocks mit folgender vom Hersteller vorgegebener Sequenz freigeschaltet werden:
ldaa 0xaa staa 0x5555+0x8000 ldaa 0x55 staa 0x2aaa+0x8000 ldaa 0x80 staa 0x5555+0x8000 ldaa 0xaa staa 0x5555+0x8000 ldaa 0x55 staa 0x2aaa+0x8000 ldaa 0x20 staa 0x5555+0x8000
Die von MCT vorinstallierten EEPROMs lassen sich alle mit diesem Algorithmus freischalten. Wenn andere Typen verwendet werden, sollte das korrespondierende Datenblatt zu Rate gezogen werden ob und wie der Protection-Algorithmus anzuwenden ist.
Write
Die verwendbaren EEPROM-Typen sind nach einem eventuellen Freischalten durch einfaches Schreiben des gewünschten Byte auf die entsprechende Adresse programmierbar. Es lassen sich bis zu 64 Byte auf einmal in einem Burst Mode programmieren, vorausgesetzt folgende Bedingungen werden dabei eingehalten:
Alle Adressen müssen innerhalb eines 64 Byte Blocks liegen, der auf einer ganzzahlig durch 64 teilbaren Adresse anfängt.
Zwischen Schreibtransfers zu einem Burst gehöriger Bytes dürfen nicht mehr als 100us vergehen.
Das Ende des Schreibzyklus kann durch Abwarten von minimal 10ms oder durch Rücklesen und Vergleich des zuletzt geschriebenen Byte bis zur Übereinstimmung ermittelt werden.
Write Disable
Nach dem Schreiben jedes Datenblocks sollte das EEPROM wieder geschützt werden. Bei Verwendung der mitgelieferten Programmiersoftware wird der Write Enable und Disable automatisch ausgeführt. Zum Schützen des EEPROMs muss lediglich folgende vom Chiphersteller vogegebene Sequenz durchlaufen werden:
ldaa 0xaa staa 0x5555+0x8000 ldaa 0x55 staa 0x2aaa+0x8000 ldaa 0xa0 staa 0x5555+0x8000
Die von MCT vorinstallierten EEPROMs lassen sich alle mit dem vorgeschlagenen Algorithmus schützen. Wenn andere Typen verwendet werden, sollte das korrespondierende Datenblatt zu Rate gezogen werden ob und wie der Protection-Algorithmus anzuwenden ist.
![]()
2.3 RTC
Die RTC4553 ist über 16 Register mit einer Breite von 4Bit ansprechbar. Das Interface zur RTC ist über das SPI des MC68HC11 realisiert. Write Enable und Chip Select sind über Portleitungen einstellbar. Zusätzlich verfügt die RTC über zwei Speicherbänke mit der Grösse von 15 x 4Bit.
Port Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PA CS* PB WR* Die Details der Programmierung des SPI sind im Datenblatt zum MC68HC11 beschrieben. Ein Beispiel zur Programmierung der RTC ist im Lieferumfang des E11 Entwicklungspakets enthalten.
Die folgende Tabelle zeigt Adressen, Namen und Funktionen der einzelnen RTC-Register:
Adresse Name D3 D2 D1 D0 Funktion 0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xA
0xB
0xC
0xD
0xE
0xFS1
S10
Mi1
Mi10
H1
H10
W
D1
D10
Mo1
Mo10
Y1
Y10
CtlD
CtlE
CtlFS08
0
m08
0
H08
PAM
0
D08
0
M08
0
Y08
Y80
TPS
BSY
SYSS04
S40
m04
m40
H04
0
W4
D04
0
M04
0
Y04
Y40
ADJ
PON
0S02
S20
m02
m20
H02
H20
W2
D02
D20
M02
0
Y02
Y20
CNT
0
MS1S01
S10
m01
m10
H01
H10
W1
D01
D10
M01
M10
Y01
Y10
E/U
0
MS0Sekunde Einer
Sekunde Zehner
Minute Einer
Minute Zehner
Stunde Einer
Stunde Zehner
Wochentag
Tag Einer
Tag Zehner
Monat Einer
Monat Zehner
Jahr Einer
Jahr Zehner
Control Reg. D
Control Reg. E
Control Reg. FDie Bits in den Kontrollregistern haben im einzelnen folgende Bedeutung:
0: Eine "0" bedeutet, dass beim Lesen immer eine Null erscheint. Beim Schreiben soll dort immer eine Null hin. Sekunde - Jahr: BCD Code. PAM: Zeigt PM (0) oder AM (1) an. Nur im 12-Stunden-Mode. ( 00:00 bis 11:59 = AM; 12:00 bis 23:59 = PM ) Wochentag: Der Wochentag wird wie folgt kodiert:
Data 0 1 2 3 4 5 6 Wochentag So Mo Di Mi Do Fr Sa TPS: Mit diesem Bit wird die Frequenz eingestellt die auf den Pin TPout* ausgegeben werden kann.
TPS bit Frequenz 0
11024 Hz
1/10 HzADJ: 30 Sekunden Adjust(1). Die Minuten werden inkrementiert, wenn die Sekunden > 30 sind. Die Sekunden werden auf 00 gesetzt. Nach Setzen von ADJ muss minimal 100 Mikrosekunden gewartet werden. Das Bit wird automatisch wieder gelöscht. CNT: Zähler-Reset MS[0 . . 1 ]: Mit diesem zwei Bit breiten Feld kann einer von drei Modes selektiert werden:
M1 M0 Mode 0
0
1
10
1
0
1Zähler- (Sekunde - Jahr) & Kontrollregister
Zähler- (Sekunde - Jahr) & Kontrollregister
RAM Block 1 & Kontrollregister 3
RAM Block 2 & Kontrollregister 3BSY: Dieses Bit wird beim Lesen und Schreiben benötigt und zeigt an ob ein Übertrag ansteht.D.h. dass z.B. die Sekunden gerade genullt haben und die Minuten dadurch erhöht wurden. Die gelesene Zeit wäre dann falsch.
BYS Bit Mode Funktion 0
1Kein Übertrag
ÜbertragLesen, Schreiben erlaubt
Lesen, Schreiben verbotenPON: Dieses Bit ist 1, wenn die RTC noch nicht initialisiert wurde. E/U: Setzt Europäischen 24 Stunden- (1) oder US AM/PM-Mode (0). SYS: Dieses Bit auf 1 setzt die RTC in einen definierten Anfangszustand: 12:00:00 Uhr und 01.01.00 (Sonntag); AM/PM-Mode Die Bereiche der einzelnen Zeiteinheiten:
Einheit von bis Kommentar Sekunden
Minuten
Stunden
Monate
Jahre
Wochentag00
00
00
01
00
059
59
23
12
99
6
bis 11 im AM/PM Mode
Sonntag ist 0![]()
2.4 TLX+ Steckverbinder ST1
Das TLX+ Interface erlaubt den Anschluss von Grafik-LCDs und generell die Erweiterung des ZWERG11plus mit Intel-Bus-Kompatiblen Peripheriebausteinen. Da der gesamte Bus per Software gesteuert wird, ergibt sich ein extrem unkritisches Timing.
Der TLX+ Steckverbinder ist ein 26pol. zweireihiger Pfostenstecker. In der folgenden Tabelle ist die Zuordnung der Pins zu den Ports und deren Name aufgeführt.
Pin Name 68HC11 Pinbezeichnung 1 GND 2 GND 3 VCC 4 VEE 5 WE* PB4 6 RD* PB5 7 CS0* PB6 8 A0 PB0 9 A1 PB1 10 RESET* 11 D0 PC0 12 D1 PC1 13 D2 PC2 14 D3 PC3 15 D4 PC4 16 D5 PC5 17 D6 PC6 18 D7 PC7 19 - 20 A2 PB2 21 A3 PB3 22 CS1* PB7 23 CS2* STRB 24 CS3* STRA 25 TLXINT* IRQ* 26 GND Beim Anschluss von Grafik-LCDs werden meistens nur die ersten 20 Pins benötigt. Einige Grafik-LCDs verwenden noch die Pins 21 und 22, die dann nicht mit dem TLX+ Stecker verbunden werden dürfen.
- VCC:
- +5V ±5% Stromversorgung für die Peripherieschaltung.
- GND:
- Referenz.
- VEE:
- Kontrastspannung für LCDs. Muss extern eingespeist werden.
- RD*:
- Read-Enable, Strobe für einen Lesezugriff (aktiv low). Adress- und Chip-Enable Leitungen sind stabil wenn RD* aktiv ist. Die Daten müssen beim Übergang in den inaktiven Zustand gültig sein.
- WE*:
- Write-Enable, Strobe für einen Schreibzugriff (aktiv low). Daten-, Adress- und Chip-Enable Leitungen sind stabil wenn WE* aktiv ist.
- RESET*:
- Reset dient zum zurücksetzen der Peripherie und ist direkt mit dem Prozessor-Reset verbunden. Dieses Signal ist bidirektional.
- TLXINT*:
- Interrupteingang. Hiermit lässt sich ein Interrupt erzeugen (aktiv low). An diesen Eingang lässt sich ein Interrupt Ausgang mit Totempole Struktur oder mehrere Open-Collector Ausgänge zusammen mit einem Pullupwiderstand anschliessen. Als Interrupteingang wird der IRQ* Pin des MC68HC11 benutzt.
- D0... D7:
- Die Datenleitungen.
- A0... A3:
- Die Adressleitungen.
- CS0*... CS3*:
- Chip-Enable Signale, hierüber lassen sich verschiedene Baugruppen selektieren. CS2* und CS3* sind hardwarebedingt nur als Strobeleitung für parallele Übertragung an PortB oder PortC verwendbar (weitere Details hierzu finden Sie im 'Technical Data Book MC68HC11').
![]()
2.5 Stecker für alphanumerische Displays ST6
Auf dem Stecker für alphanumerische Displays lässt sich eine LC-Anzeige oder ein Peripheriebaustein mit Motorola 68xx konformem Businterface anschliessen. Die graphischen und alphanumerischen LCD-Interfaces lassen sich parallel verwenden, wobei CS1* generell dann als Chip-Select für die alphanumerische Anzeige reserviert ist.
Folgende Tabelle zeigt die Zuordnung der Pins, der Namen und der Ports des MC68HC11:
Pin MC68HC11 Bezeichnung 1 GND 2 VCC 3 VO 4 RS PB0 5 R/W* PB4 6 E PB7 7 D0 PC0 8 D1 PC1 9 D2 PC2 10 D3 PC3 11 D4 PC4 12 D5 PC5 13 D6 PC6 14 D7 PC7
- GND:
- Referenz.
- VCC:
- +5V ±5% Stromversorgung für die Peripherieschaltung.
- VO:
- Kontrastspannung für LCDs. Muss extern eingespeist werden.
- RS:
- Mit RS sind 2 Register selektierbar. Die Funktion entspricht einer Adressleitung.
- R/W*:
- Read/Write-Enable. Mit R/W* wird der Peripherie die Datenrichtung signalisiert. High zeigt eine Lesezugriff an (Daten gehen in Richtung der MC68HC11). Low zeigt einen Schreibzugriff an.
- E:
- Enable. Dieses Signal hat dieselbe Funktion wie ein high-aktiver Chip-Select.
- D0... D7:
- Die Datenleitungen.
![]()
2.6 Erweiterungsstecker ST3
Pinbelegung von ST3:
Pin Signal Pin Signal 1 VRH 2 PE0 3 VRL 4 PE1 5 E 6 PE2 7 GND 8 PE3 9 PA0 10 PE4 11 PA1 12 PE5 13 PA2 14 PE6 15 PA3 16 PE7 17 PA4 18 PD2 19 PA5 20 PD3 21 PA6 22 PD4 23 PA7 24 PD5 25 GND 26 VCC
- VCC:
- +5V ±5% Stromversorgung für die Peripherieschaltung
- VRL:
- Negative Referenzspannung
- VRH:
- Positive Referenzspannung für den ADC. Hardwaremässig auf 5V eingestellt.
- GND:
- Referenz.
- E:
- E Takt des Prozessors. Beachten Sie bitte dass der Pin Nr. 6 von der Steckerleiste ST6 mit der gleichen Bezeichnung Ë" nichts mit diesem Pin zu tun hat.
- PE[0 . . 7 ]:
- Port E. ADC oder TTL-Input
- PA[0 . . 7 ]:
- Port A. Timersystem oder TTL-I/O. PA0 und PA3 werden auch als Handshakeleitungen für die serielle Schnittstelle verwendet.
- PD[2 . . 5 ]:
- Port D. SPI oder TTL-I/O
![]()
2.7 SCI - Serial Communications Interface ST2
Das SCI des MC68HC11 ist auf einen 10pol. zweireihigen Pfostenstecker gelegt. Über diesen Stecker können standardisierte Treibermodule für verschiedene Protokoll-Standards wie z.B. RS232, RS422, RS485, 20mA-Schleife, Lichtleiter usw. angeschlossen werden.
Pin Signal Pin Signal 1 VCC 2 DSR* 3 RI* 4 RxD 5 TxD 6 DTR* 7 RTS* 8 CTS* 9 DCD* 10 GND
- VCC:
- +5V ±5% Stromversorgung für die Peripherieschaltung
- GND:
- Referenz
- DSR*:
- Data Set Ready Eingang. Auf dieser Leitung teilen Modems ihre generelle Bereitschaft an. Beim ZWERG11plus wird dieses Signal wahlweise als Reset-Eingang benutzt. Weiteres dazu unter <Remote RESET und Modeselect beim ZWERG11plus >.
- RI*:
- Ring Indikator Eingang. Dieses Signal ist nicht benutzt.
- RxD:
- Receive Data Eingang.
- TxD:
- Transmit Data Ausgang.
- DTR*:
- Data Terminal Ready Ausgang. DTR* kann von PA3 gesteuert werden. Meist wird DTR* zur Steuerung von Treibermoduln - z.B. zum Abschalten von RS485 Treibern - verwendet.
- RTS*:
- Request To Send Ausgang. RTS* ist fest auf aktiv Potential gelegt.
- CTS*:
- Clear To Send Eingang. CTS* ist nicht benutzt.
- DCD*:
- Data Carrier Detect Eingang. Auf dem ZWERG11plus selektiert DCD* den Betriebsmode des MC68HC11. Details dazu befinden sich in < Remote RESET und Modeselect beim ZWERG11plus >.
![]()
2.8 Remote RESET und Modeselect
Die Entwicklung von Programmen für den ZWERG11plus durchläuft typischerweise einen Zyklus Editieren-Laden-Testen. Dabei muss auf Grund der Download-Abläufe des MC68HC11 beim ZWERG11plus eine Umschaltung des Betriebsmodes erfolgen. Um den Entwickler von der Bedienung von Resettastern und Mode-Schaltern zu entlasten, bietet der ZWERG11plus die Möglichkeit, Reset und Modeselekt über die Modemcontrol-Leitungen der seriellen Schnittstelle zu steuern.
Die beiden Kontrollsignale lassen sich über Jumper aktivieren oder abschalten.
Funktion # Jumper gesteckt Jumper offen Reset J3 Reset erlaubt Kein Reset vom PC Mode Selekt J1 Modeselect erlaubt Kein Modeselekt Die Signale DSR* und DCD* dienen der Kontrolle des Download-Zyklus. Sie haben folgende Funktion:
Signal Funktion bei Low Funktion bei High DSR* Reset aktiv Kein Reset DCD* Bootstrap Mode Extended Mode Vorsicht: Die meisten V.24 Nullmodemkabel sind recht unlogisch gemacht. Welche Signale am PC mit welchen am ZWERG11plus verbunden sind hängt vom internen Aufbau des Kabels ab. Typisch sind jedoch folgende Verbindungen:
- TxD und RxD sind über Kreuz miteinander verbunden
- DSR* und DTR* sind über Kreuz miteinander verbunden
- DCD* und RTS* sind über Kreuz miteinander verbunden
- Die beiden Massen sind verbunden
Die vollständige Belegung der erforderlichen Leitungen finden Sie im Kapitel <V24-KABEL>.
![]()
2.9 Referenzspannung für den integrierten ADC
Der integrierte A/D-Wandler des MC68HC11 benötigt eine untere (VRL) und eine obere (VRH) Referenzspannung. Der Bereich zwischen den beiden Referenzspannungen wird mit 8Bit Auflösung, entsprechend 256 Stufen, gewandelt. Die Auswahl der Referenzspannungen kann beim ZWERG11plus über Lötjumper oder durch Einspeisen einer externen Referenz erfolgen.
Referenz Pin J4 J2 Spannung Externer Pin VRL 1-2 0V ST3:3 VRL offen extern ST3:3 VRH 1-2 VCC ST3:1 VRH offen extern ST3:1 Wenn J2 geschlossen ist wird VRH über einen 10kOhm Widerstand an VCC gelegt.
![]()
2.10 Stromversorgung
Der ZWERG11plus wird über einen 4pol. Floppysteckverbinder versorgt. Die Belegung dieses Steckers entspricht im wesentlichen einem normalen 3.5" Floppylaufwerk.
Die Stromaufnahme liegt auch bei angeschlossenem IF232LP-Modul unter 50mA, so dass kein besonderer Aufwand nötig ist. Wenn VCC unter 4.6V fällt wird durch einen Spannungskomparator ein Reset ausgelöst.
pin 1 VCC (+5Volt) 2 GND 3 PWRFAIL* 4 PWROFF
- VCC:
- +5V ±5% Stromversorgung
- GND:
- Referenz
- PWRFAIL*:
- Dieser Eingang ist direkt mit dem XIRQ* Pin des Chips verbunden. Negative Flanken an PWRFAIL* lösen einen NMI aus. Ein Pullup Widerstand hält den Eingang auf High solange kein externer Treiber Low liefert.
- PWROFF:
- Reserviert für Erweiterungen.
Notstromversorgung (Optional)
Die Notstromversorgung der RTC ist mit einer Lithiumzelle mit 3V realisiert. Die Lebensdauer der Zelle beträgt ca. 6 Jahre bei maximaler Betriebstemperatur (70 Grad Celsius) und 10 Jahre bei einer Temperatur von 20 Grad Celsius. Zu diesen Zeiten kann die Betriebsdauer des Rechners mit einer externen Stromversorgung addiert werden.
RESET
Der RESET wird onboard mit einem Spannungskomparator generiert. Die minimale Versorgungsspannung für das Auslösen des Resets beträgt 4.5... 4.7V. Um eine korrekte Start- und Stopsequenz für den Datenerhalt in RTC und EEPROM zu garantieren, muss eine minimale Anstiegs- und Abfallzeit an VCC von 10ms eingehalten werden. Diese Zeit wird von praktisch allen üblichen Netzteilen ohne Zusatzmassnahmen garantiert. Bei Verwendung von Schaltern im VCC Stromversorgungszweig (z.B. Zeitschaltrelais) sollte in Problemfällen ein 500uF Kondensator direkt am ZWERG11plus zwischen GND und VCC geschaltet werden. Ausserdem ist es in diesen Fällen besser, eine knapp dimensionierte Stromversorgung zu verwenden (ca. 250mA Maximalstrom) um den Ladestrom des Kondensators zu begrenzen.
![]()
3 ZWERG11plus Programmierung
Der ZWERG11plus unterstützt nur einen Teil der Betriebsmodes des MC68HC11. Für das Laden der Programme wird der Special Bootstrap Mode genutzt. Nachdem das Programm geladen ist, kann es im Expanded Mode gestartet werden. Details zum Reset und zur Mode Umschaltung finden sich in <Remote RESET und Modeselect beim ZWERG11plus>. Um die Entwicklungssoftware nutzen zu können, ist es erforderlich, auf die Jumper J1 und J3 Kurzschlussbrücken zu stecken.
Programme können im RAM oder im externen EEPROM ablaufen. Für die Programmierung des externen EEPROMs wird das Programm EEPROG.BAT mitgeliefert.
![]()
3.1 Programmierung des EEPROMs
Der Bootvorgang bei Rechnern, die das Betriebssystem nicht in einem Festwertspeicher haben läuft ähnlich ab: Es gibt einen sog. Ürlader", ein kurzes Programm in einem kleinen Festwertspeicher, das beim Einschalten gestartet wird und dann den eigentlichen "Lader" ins RAM einliest. Erst dieser Lader, der im RAM abläuft, ist dann in der Lage, die komplizierteren Funktionen auszuführen, die notwendig sind, das Betriebssystem von einem externen Speichermedium ins RAM zu laden.
Das im MC68HC11 als Firmware vorhandene Bootstrap-Programm (daher der Name) entspricht dem Urlader; es ist möglichst einfach, beansprucht wenig Platz in der Memory-Map des MC68HC11 und kann nur Programme im RAM ablegen und anschliessend ausführen. Da die Firmware selbst nicht in der Lage ist, das EEPROM zu programmieren lässt man stattdessen ein dafür geeignetes Programm von ihr ins RAM lesen und anschliessend ausführen. Dieses Programm entspricht obigem Lader, welches die von der seriellen Schnittstelle empfangenen Zeichen in das EEPROM schreibt.
Bei der Bewältigung dieser Aufgaben hilft die mitgelieferte Software:
- EEPROG.BAT:
- zum Programmieren des MC68HC11 EEPROM (läuft auf dem PC)
- EEPROG.BIN:
- muss zuerst geladen werden (läuft im RAM des MC68HC11, der Lader)
![]()
3.2 EEPROG.BAT
Aufruf:
eeprog file
Damit wird im EEPROM dauerhaft gespeichert. Die voreingestellte Schnittstelle ist COM1.
![]()
3.3 EEPROG.BIN
EEPROG.BIN ist ein im RAM des MC68HC11 ab Adresse 0 ausführbares Programm, das seriell empfangene Zeichen im EEPROM nichtflüchtig ablegt. Nachdem EEPROG.BIN übertragen und gestartet ist, verhält es sich nach aussen genauso wie das Bootstrap-Programm. Es empfängt Zeichen vom seriellen Eingang, die aber statt im RAM, im EEPROM abgelegt werden. Das tatsächlich im EEPROM gespeicherte Zeichen wird zurückgesendet, so dass man eine eventuell fehlerhafte Programmierung sowie die Bereichsüberschreitung des EEPROM erkennen kann.
Anwendungsprogramme, die im EEPROM gespeichert werden sollen, müssen für die Anfangsadresse des EEPROMs übersetzt sein.
![]()
4 Bei Problemen
- Der Einplatinenrechner ist am Netzteil und PC angeschlossen, meldet sich aber nicht oder nicht korrekt.
Checken Sie:
- Die Stromversorgung auf dem Rechner (direkt z.B. an einem der ICs auf der Platine messen). Bei weniger als 4,75V könnte bereits der Resetgenerator ansprechen. Die korrekte Spannung beträgt +5V ±5%, wobei die Spannung nicht unbedingt an der Untergrenze sein sollte.
- Das V.24-Kabel inklusive Handshakeleitungen.
- Ist der Terminalemulator korrekt konfiguriert?
- Kann die Software auf dem Einplatinenrechner überhaupt mit einem Terminalemulator kommunizieren?
- Die RTC liefert seltsame Werte
Die RTC muss wenigstens einmal korrekt gesetzt werden. Das Entwicklungspaket enthält ein Beispielprogramm, das die RTC von der Uhrzeit des PC aus lädt.
- Das EEPROM verliert Daten
Werden die minimalen Anstiegs- und Abfallzeiten von 10ms eingehalten? Manche EEPROMs sind recht empfindlich gegenüber steilen Flanken an VCC. Gegen zu steile Flanken auf der Stromversorgung kann z.B. ein 500uF Kondensator zwischen VCC und GND eingesetzt werden.
Es ist in jedem Fall ratsam die Schreibschutzmechanismen des EEPROMs zu nutzen. Schützen Sie nach dem Schreiben jedes Datenblocks das EEPROM.
- Beim Versuch das EEPROM von der Applikation aus zu programmieren stürzt der ZWERG11plus sofort ab
Möglicherweise läuft die Programmierroutine selbst im EEPROM. Im Kapitel EEPROM steht wie's richtig geht.
- Der ADC auf dem ZWERG11plus liefert falsche Werte
Die Referenzspannungen VRH und VRL sind nicht auf definierte Pegel gelegt. Die Lötjumper J2 und J4 können zum selektieren eines Bereichs von 0... 5V benutzt werden. Alternativ kann auch ein externer Referenzspannungbereich angelegt werden.
- Der Port Pin PA3 ist defekt
Beim MC68HC11A1 und MC68HC11A8 ist der PA3 ein dedizierter Ausgang. Das korrespondierende Bit im PACTL ist funktionslos.
Beim MC68HC11E2 kann PA3 in der Datenrichtung umgeschaltet werden. Das DDRA3 Bit im PACTL auf der Adresse 0x1026 muss gesetzt werden, wenn PA3 als Ausgang benutzt werden soll.
Nach dem Reset ist PA3 beim MC68HC11E2 als Input konfiguriert.
- Der ZWERG11plus lässt sich nicht programmieren
Das kann mehrere Ursachen haben. Wenn sicher ist, dass die Stromversorgung, Kommunikation und Konfiguration hardwareseitig in Ordnung ist bleiben folgende bekannte Möglichkeiten:
- Bei der Installation der Entwicklungssoftware ist etwas schiefgegangen. Versuchen Sie eine erneute Installation und achten Sie auf Fehlermeldungen. Installationsprobleme lassen sich praktich immer durch eine Änderung der Bootkonfiguration in 'AUTOEXEC.BAT' oder 'CONFIG.SYS' beheben.
- Das eingestellte Target im Entwicklungspaket muss mit der verwendeten ZWERG11 Version übereinstimmen. Auf der Platine steht der Boardtyp (ZWERG11A oder ZWERG11plus). Auf dem MC68HC11 Chip ist zu erkennen, welche HC11 Version bestückt ist. Wenn der Chip mit MC68HC11E2 beschriftet ist haben Sie einen ZWERG11A/E2 vor sich - in allen anderen Fällen die A1 Version.
- Nach korrekt erfolgter Installation des Entwicklungspakets lässt sich keines der Programme aus dem Paket ausführen
Häufig treten Probleme mit einer zu langen PATH-Variablen auf. Das E11 Paket hängt an PATH den Namen der Binär-Directory an, wobei es durch die Längenlimitierung von Umgebungsvariablen zu einem Überlauf kommen kann.
Kürzen Sie die PATH-Variable. Alternativ können auch alle Files aus der 'bin'-Directory des E11 Pakets in eine der bereits vorhandenen Bin-Directories kopiert werden.
![]()
1 Die normalen Defaults sind 19200Baud, 8 Datenbits, no Parity und 1 Stopbit. Bei der Installation der ZWERG11plus-Entwicklungssoftware werden die erforderlichen Defaultwerte über das Environment in eingestellt.
2 Diese Konvention stammt aus der Sprache C. Sie wird in diesem Handbuch verwendet, auch wenn die Assemblerkonvention mit vorangestelltem '$' oder angehängtem 'h' verbreiteter ist.
![]()
Anhang A Entwicklungspaket 11 (ist im ZWERG11A-Handbuch beschrieben)
www.mct.de: Produkte: Einplatinencomputer: ZWERG11plus