IndexHomepage^

provisorisch!

IC80 - Handbuch

  1. Einführung
    1. Auslieferungszustand
    2. Inbetriebnahme
    3. Logische Pegel
    4. Numerische Angaben
  2. Adressbelegung
  3. Baugruppen
    1. Interrupts
    2. Power Down Betriebsarten
    3. Stromversorgung
    4. RESET
    5. V.24 RESET
    6. Watchdog Timer
    7. RAM
    8. ROM
    9. Interner PIO
    10. Interne SIO
    11. Interner CTC
    12. RTC
    13. ADC
    14. 10MHz Version
  4. Steckverbinder
    1. Stromversorgungs Stecker J1
    2. Serielle Port A/B Stecker ST4 und ST5
    3. IC Pinreihen J2 und J3
  5. Jumper
  6. Bei Problemen

Autor: Walter 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 Einführung

Der IC80 Einplatinenrechner vereinigt auf der Fläche einer Scheckkarte alle Funktionen, die einen modernen Einplatinenrechner ausmachen. Die hohe Integrationsdichte dieses Rechners wurde durch den Mikroprozessor TMPZ80C015 möglich. Dieser Baustein vereinigt auf der Fläche eines Daumennagels alle Funktionen, die für ein vollständiges Z80 System nötig sind. Besonders interessant an dieser CPU ist die Integration von Standard Komponenten der Z80 Familie. Damit wird es für Z80 Anwender besonders einfach, den IC80 Einplatinenrechner einzusetzen. Bewährte Software kann ohne grosse Änderungen angepasst werden, kostspielige und zeitraubende Schulungen sind nicht erforderlich.

Die integrierten Funktionen des TMPZ80C015:

Neben einer leistungsfähigen und schnellen CPU sind die anderen onboard Baugruppen von entscheidender Bedeutung für die Einsetzbarkeit in einem weiten Bereich von Applikationen. Hier bietet der IC80 ein breites Spektrum von Funktionen:

Zusatzbaugruppen erlauben den schnellen Einsatz in unterschiedlichsten Anwendungen:

Last but not least - die Software:

^

1.1 Auslieferungszustand

Der IC80 Einplatinenrechner wird in der unten beschriebenen Standard Konfiguration ausgeliefert - andere Konfigurationen (z.B. mit doppelter Taktfrequenz) können in einzelnen Punkten abweichen.

^

1.2 Inbetriebnahme

Foto

Zum ersten Kennenlernen und zum Feststellen eventueller Transportschäden sollten Sie die folgenden Schritte durchgehen. Denken Sie daran, isolierende Unterlagen zu verwenden und Stecker nur im spannungslosen Zustand zu stecken oder zu ziehen. Im folgenden wird immer davon ausgegangen, dass Sie einen PC als Hostrechner verwenden.

Wenn Sie soweit gekommen sind, sollte normalerweise alles in Ordnung sein. Sie können also mit der Entwicklung Ihrer Applikation loslegen.

^

1.3 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. IEO) im aktiven Zustand bei High Pegel und inaktiv bei Low Pegel. Low aktive Signale (z.B. RESET*) sind im Low Pegel aktiv und bei High Pegel inaktiv.

Signale, die mit einem angehängten '*' markiert werden, sind Low aktiv. Für Signale in GAL Gleichungen gilt eine andere Konvention, hier wird Lowaktiv durch ein vorangestelltes '/' markiert. RESET* und /RESET sind das gleiche Signal.

^

1.4 Numerische Angaben

Alle Zahlenwerte werden dezimal angegeben. Hexadezimale Werte werden mit einem vorangestellten 0x markiert 1. Der Wert 65535 entspricht also dem Wert 0x0000FFFF.

^

2 Adressbelegung

Normal Mode

Die Z80 CPU kennt zwei Adressräume. Einen 64KB grossen Speicher Adressraum und einen 256 Byte grossen I/O Adressraum. Diese Adressräume sind folgendermassen belegt:

Adresse Speicher/Funktion
0x0000... 0x7FFF
0x8000... 0xFFFF
EPROM/ROM/EEPROM
RAM
Adresse I/O Baugruppe
0x00... 0x0F
0x10
0x11
0x12
0x13
0x18
0x19
0x1A
0x1B
0x1C
0x1D
0x1E
0x1F
0x20... 0x2F
0x30... 0x3F
0x40... 0x4F
0x50... 0x5F
0x60... 0x6F
0x70... 0xBF
0xC0... 0xEF
RTC (16 Register auf den Datenbits 0... 3)
Interner CTC Kanal 0
Interner CTC Kanal 1
Interner CTC Kanal 2
Interner CTC Kanal 3
Interner SIO Kanal A Daten
Interner SIO Kanal A Command
Interner SIO Kanal B Daten
Interner SIO Kanal B Command
Interner PIO Kanal A Daten
Interner PIO Kanal A Command
Interner PIO Kanal B Daten
Interner PIO Kanal B Command
ADC
Reserviert für Erweiterungen
C0 Selekt
C1 Selekt
C2 Selekt
Frei verfügbar
Reserviert für Erweiterungen

Nicht aufgeführte Adressbereiche können beim Zugriff zu undefiniertem Verhalten führen.

^

3 Baugruppen

3.1 Interrupts

Interrupts werden wie im TMPZ80C015 Handbuch beschrieben verwendet. Externe Interrupts von Z80 Peripherie Bausteinen werden niedriger priorisiert als die Interrupts von der integrierten Peripherie. Der Interruptlogik auf dem Erweiterungsbus stehen folgende Signale zur Verfügung:

IEO: Interrupt Enable Out Ausgang der CPU
INT*: Interrupt Eingang der CPU. INT* ist mit einem Pullup Widerstand von 10kOhm an VCC gelegt. Es ist sinnvoll, zum Treiben von INT* Open Collector oder Open Drain Ausgänge zu verwenden. Damit können alle Interruptleitungen direkt verbunden werden. Die meisten Peripheriebausteine am Markt folgen dieser Konvention.
M1*: Machine Cycle 1. M1* wird aktiv wenn der Opcode geholt wird. Die Z80 Peripherie benötigt dieses Signal, um eine korrekte Behandlung von Interrupt Chaining und Return zu erlauben.
IORQ*: I/O Request wird zusammen mit IEO und M1* für den Interrupt Acknowledge benötigt.

NMI

Der NMI kann vom Netzteil über den Power-Stecker J1 ausgelöst werden.

NMIs vom Netzteil werden beim Ausfall der Versorgungsspannung ausgelöst, wobei je nach Netzteil noch einige Millisekunden bis Minuten zum Retten des aktuellen Zustands und Herunterfahren des gesteuerten Prozesses bleiben.

^

3.2 Power Down Betriebsarten

Der TMPZ80C015 hat einen integrierten Taktgenerator, der in 4 verschiedenen Modi konfiguriert werden kann, um den Stromverbrauch zu senken.

HALTMR[4... 3] Mode Beschreibung
0 0

0 1


1 0
1 1
Idle1

Idle2


STOP
RUN
Der Clock läuft im Standby.
Alle Operationen sind gestoppt.
Der Clock ist abgeschaltet. Der
Wiederanlauf dauert einige
Millisekunden.
Alles ist gestoppt.
Normalbetrieb

Neben den Betriebsmodi der CPU ist auf dem IC80 ein voller Powerdown mit zeit- oder interruptgesteuertem Betrieb möglich. Das Netzteil POWER1 ist bereits auf einen solchen extern gesteuerten Betrieb vorbereitet. Diese Netzteile haben einen low aktiven Power-On Eingang, über den die 5V Versorgung vom Netzteil eingeschaltet werden kann. Weitere Details finden sich in der Beschreibung der RTC und des entsprechenden Netzteils.

^

3.3 Stromversorgung

Der IC80 wird über einen 4pol. Floppysteckverbinder versorgt. Die Belegung dieses Steckers entspricht im wesentlichen einem normalen 3½" Floppylaufwerk. Nach Entfernen der Kabel an Pin 3 und 4 kann z.B. die Floppy Versorgung eines normalen PC Netzteils verwendet werden.

Pin Signal Beschreibung
1
2
3
4
VCC
GND
Power Good
Power Off
+5V ±5%
Referenz
NMI* Eingang am IC80
Interrupt*/Alarm* Ausgang der RTC

Die Stromaufnahme an VCC beträgt typ. 65mA und maximal 100mA in der Standardversion.

Die Notstromversorgung der RTC und des RAMs ist mit einer Lithiumzelle mit 3V realisiert. Die Lebensdauer der Zelle beträgt 4 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.

Die Lithiumzelle ist eingelötet. Das Auswechseln sollte nur von qualifiziertem Personal durchgeführt werden.

^

3.4 RESET

Der RESET wird onboard mit einem Spannungskomparator generiert. Die minimale Versorgungsspannung für die Auslösung des Resets beträgt 4.5... 4.7V. Um eine korrekte Start- und Stopsequenz für den Datenerhalt in RTC und RAM zu garantieren, muss eine minimale Anstiegs- und Abfallzeit an VCC von 0.01s 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 IC80 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.5 V.24 RESET

Das DSR* Signal auf dem seriellen Kanal B kann genutzt werden, um vom Hostrechner aus per Software einen RESET auszulösen. Dazu muss DSR* auf Low gepulst werden. Die Pulsbreite sollte minimal ca. 0,1 Sekunden betragen. Der V.24 Reset kann durch Stecken des Jumpers J10 aktiviert werden.

Der Terminal Emulator 'TM.EXE' bietet die Möglichkeit über Kommandozeilenparameter oder interaktiv mit ALT-R einen Reset auszulösen.

^

3.6 Watchdog Timer

Der integrierte Watchdogtimer kann in der Version 1.00 nicht verwendet werden, um einen Reset auszulösen. Durch einen Schaltungsfehler würde ein Totempole Ausgang (WDOG*) auf einen Open Collector Ausgang (RESET*) gelegt. Beim Reset wird dann ein Kurzschluss-Strom fliessen und RESET* erreicht nicht mehr den korrekten Low Pegel. In der Folge kann batteriegepuffertes RAM Daten verlieren. Wenn diese Funktion trotzdem zwingend nötig ist, kann folgender Patch verwendet werden:

Vom Watchdog Ausgang wird eine Schottky Diode (z.B. BAT42) an RESET* geführt. Die Kathode (der Minuspol) muss dabei an den Watchdogausgang gelegt werden. Durch diese Schaltung wird der Kurzschluss vermieden und der Low Pegel erreicht einen korrekten Wert.

^

3.7 RAM

Vorgesehen ist der Einsatz von 32KB RAM Typen. Die im RAM gespeicherten Daten werden bei installierter Lithiumzelle auch bei Ausfall der externen Stromversorgung gehalten. Im Interesse einer möglichst langen Lebensdauer der Lithiumzelle muss ein Low-Power RAM verwendet werden. Die typische Lebensdauer der Lithiumzelle beträgt ca. 10 Jahre.

^

3.8 ROM

Der EPROM/ROM Sockel kann nur mit einem 32KB Typ (z.B. 27256) bestückt werden. Eine Verwendung von anderen Speichergrössen ist nicht vorgesehen.

Statt des EPROMs kann auch ein 32KB grosses EEPROM installiert werden.

Konfiguration

Die Auswahl des ROM Typs geschieht mit zwei Lötbrücken auf der Unterseite der Platine.

Jumper EPROM EEPROM
J5
J6
1-2
1-2
2-3
2-3

Optionales EEPROM

Das optionale EEPROM ist 32KB gross und liegt ab der Adresse 0x0000. Schreiben sowie die Write Enable und Disable Operationen sind jederzeit möglich.

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
Atmel
Seeq
KM28C256
AT28C256
SEEQ 28C256
ja
ja
nein
ja
ja
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 Datenverlustrisiken beim Aus- und Einschalten des IC80 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.

Write Enable

Das EEPROM sollte vor dem Schreiben eines Datenblocks mit folgender Sequenz freigeschaltet werden:

  0xAA -> 0x5555
  0x55 -> 0x2AAA
  0x80 -> 0x5555
  0xAA -> 0x5555
  0x55 -> 0x2AAA
  0x20 -> 0x5555

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:

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. Zum Schützen des EEPROMs muss lediglich folgende Sequenz durchlaufen werden:

  0xAA -> 0x5555
  0x55 -> 0x2AAA
  0xa0 -> 0x5555
^

3.9 Interner PIO

Der in der CPU integrierte PIO ist bereits fest auf Steckverbinder verdrahtet. Die einzelnen Portleitungen sind frei verwendbar .

^

3.10 Interne SIO

Die integrierte SIO hat 2 vollständig unabhängige serielle Kanäle. Die Baudraten der beiden Kanäle werden über 2 der 4 Timer aus dem CTC Block erzeugt. Dabei ist die Zuordnung von Timer und SIO Kanal folgendermassen:

SIO Kanal CTC Timer Stecker
A
B
3
2
ST1
ST2

Die Frequenz an den Timereingängen beträgt [1/8] der CPU Taktfrequenz. Bei einer Frequenz von 9.830 MHz sind das 1.228750 MHz. Die Standardbaudrate bei Verwendung des Monitors ist 19200Baud.

^

3.11 Interner CTC

Die integrierte Counter/Timer Baugruppe hat 4 separate und funktionsgleiche Timer/Counter Einheiten. Die Hardware des IC80 gibt folgende Konfiguration vor:

CTC Kanal Eingang Ausgang Funktion
0
1
2
3
TIN0
TIN1
SERCLK
SERCLK
TOUT0
TOUT1
SERCKB
SERCKA
Frei
Frei
Baudrate SIO B
Baudrate SIO A
^

3.12 RTC

Die RTC72421 ist über 16 Register mit einer Breite von 4Bit ansprechbar. Diese Register liegen in einem Port von jeweils 8Bit Breite, wobei die obersten 4Bit beim Lesen undefinierte Werte liefern und beim Schreiben irrelevant sind. Die I/O Adresse ist 0x00 bis 0x0F.

Zusammen mit dem Netzteil POWER1 kann der Alarmausgang der RTC zum periodischen Einschalten des IC80 verwendet werden. Dazu muss lediglich die RTC auf periodische Interrupts programmiert werden, und der dafür vorgesehene Jumper auf den Netzteilen entfernt werden. Durch Schreiben von 0 auf das IRQ Bit in der RTC schaltet der Rechner sich selbst aus. Nach Ablauf der (mit T1/T0) programmierten Periode wird der Strom wieder eingeschaltet.

Adr. Name D3 D2 D1 D0 Funktion
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
S1
S10
Mi1
Mi10
H1
H10
D1
D10
Mo1
Mo10
Y1
Y10
W
CtlD
CtlE
CtlF
S08

m08

H08

D08

M08

Y08
Y80

ADJ
T1
TST
S04
S40
m04
m40
H04
PAM
D04

M04

Y04
Y40
W4
IRQ
T0
E/U
S02
S20
m02
m20
H02
H20
D02
D20
M02

Y02
Y20
W2
BSY
I/S
STP
S01
S10
m01
m10
H01
H10
D01
D10
M01
M10
Y01
Y10
W1
HLD
MSK
RST
Sekunde Einer
Sekunde Zehner
Minute Einer
Minute Zehner
Stunde Einer
Stunde Zehner
Tag Einer
Tag Zehner
Monat Einer
Monat Zehner
Jahr Einer
Jahr Zehner
Wochentag
Control Reg. D
Control Reg. E
Control Reg. F

Die Bits in den Controlregistern haben im einzelnen folgende Bedeutung:

PAM: PM (0) oder AM (1).
ADJ: 30 Sekunden Adjust. Die Minuten werden inkrementiert, wenn die Sekunden > 30 sind. Die Sekunden werden auf 00 gesetzt. Nach Setzen von ADJ muss minimal 100us gewartet werden. Das Bit wird automatisch wieder gelöscht.
IRQ: Dieses Read-Only Bit reflektiert den Zustand des Interrupt Ausgangs der RTC (1 = Interrupt, 0 = kein Interrupt). Beim Schreiben einer 0 wird ein anstehender Interrupt wieder zurückgenommen.
BSY: Zeigt nach dem Setzen von HLD an, ob ein Übertrag zu erwarten ist (1 = Übertrag, 0 = kein Übertrag).
HLD: Siehe vorhergehendes Bit.
T1/T0: Diese Bits dienen der Programmierung der Periodendauer des Interruptausgangs der RTC. Die Periodendauer beträgt:
T1 T0 Zeitintervall
0
0
1
1
0
1
0
1
[1/64] Sekunde
1 Sekunde
1 Minute
1 Stunde
I/S: Dieses Bit muss auf 1 programmiert werden.
MSK: Dieses Bit sperrt den Interrupt Ausgang der RTC. Es muss auf 0 programmiert werden.
TST: Dieses Bit muss auf 0 programmiert werden.
E/U: Europäische 24 Stunden- (1) oder US AM/PM-Zeit (0).
STP: STP = 1 stoppt die Uhr.
RST: RST = 1 löscht die internen Zähler unterhalb des 1Hz Teilers. Solange RST = 1 wird die Uhr angehalten.

Die Bereiche der einzelnen Zeiteinheiten:

Einheit von bis Kommentar
Sekunden
Minuten
Stunden
Monate
Jahre
Wochentag
00
00
00
01
00
0
59
59
23
12
99
6


bis 11 im AM/PM Mode


Sonntag ist 0

Programmierung der RTC

Mit folgender Programmsequenz lässt sich die Uhr stellen:

RTC->ctlf = 7; /* stop, reset, 24 hour mode */

RTC->sec = sec;
RTC->secd = sec10;
RTC->min = min;
RTC->mind = min10;
RTC->hour = hour;
RTC->hourd = hour10;
RTC->day = day;
RTC->dayd = day10;
RTC->mon = mon;
RTC->mond = mon10;
RTC->year = year;
RTC->yeard = year10;
RTC->week = week;

RTC->ctle = 0; /* 64Hz, enable std.p output */
RTC->ctld = 0;
RTC->ctlf = 4; /* 24 hour mode, start clock */

Zum Lesen ist nichts weiter nötig, als die Zeitregister in einen Buffer zu kopieren. Wenn sich während des Lesens die Register ändern, wird eine falsche Zeit ausgegeben. Um dies zu erkennen, wird die RTC zweimal gelesen, und die Ergebnisse verglichen. Falls sie ungleich sind, wird der Lesevorgang wiederholt.

RTC63421

Die RTC63421 ist eine gegenüber der RTC72421 verbesserte Ausführung. Die beiden RTCs sind pinkompatibel und mit Ausnahme der Controlregister und der zusätzlichen Alarmtimer Funktion softwarekompatibel. Die RTC63421 hat als wesentliche Verbesserung einen frei programmierbaren Alarmtimer, der verwendet werden kann, um nach beliebigen Zeitintervallen die Power On Funktion der Power1/2 Netzteile zu triggern.

Die RTC63421 ist optional verfügbar. Details der Programmierung werden im Datenblatt beschrieben.

^

3.13 ADC

Der auf dem IC80 optional installierbare A/D-Wandler ADS7803 kann auf 4 Kanälen Analogwerte mit 12Bit Auflösung und einer Wandelrate von maximal 10us einlesen. Standardmässig ist der ADC mit einer externen Beschaltung bestückt bei der eine Wandelrate von max. 25us erreicht wird. Bestimmend für die Wandelrate des ADC ist der Widerstand R5. Wird dieser Widerstand auf einen Wert von 20kOhm gebracht, so erreicht der ADC eine Wandlungszeit von 10us.

Der Eingangsbereich des Wandlers ist festgelegt mit 0... 2.5V 2.

Adr. Name D7 D6 D5 D4 D3 D2 D1 D0
0x20
0x21
0x23
Low
High
Sfr
AD7
Busy
Busy
..

Cerr
..

Pfail
..

0
..
AD11
Pdown
..
..
0
..
..
Cal
AD0
AD8
Mode
AD[0 . . 11 ]: Daten vom Wandler. Diese Daten können nur gelesen werden.
Busy: Der Wandler ist intern mit einer Konversion oder Kalibrierung beschäftigt oder in einem Fehlerstatus.
Cerr: Während des Kalibrierens trat ein Overflow auf.
Pfail: Die Versorgungsspannung ist unter 3V gefallen. Der Wandler muss neu kalibriert werden.
Pdown: Mit diesem Bit kann der Wandler in einen Power Down Mode geschaltet werden. Nach dem wiederaktivieren muss erneut kalibriert werden.
Cal: Zeigt eine laufende Kalibrierung an.
Mode: Mode zeigt den selektierten Mode der Output Latches an.
Mode Funktion
0
1
Transparent Mode
Latched Mode

Im Transparent Mode werden die Daten sichtbar, so wie die Wandlung die Bits liefert. Im Latched Mode werden die alten Daten bis zum Abschluss der Wandlung stabil gehalten und dann komplett durch den neuen Wert ersetzt.

Initialisierung

Das SF-Register muss vor der ersten Konversion initialisiert werden. Ausserdem sollte beim Auftreten von Fehlern - im wesentlichen Power Fail - erneut initialisiert werden. Initialisiert wird durch Schreiben von 0x02 ins SFR.

Einleiten einer Konversion

Die Konversion wird durch Schreiben der Kanalnummer (0... 3) auf das Low Register eingeleitet. Nach ca. 10us oder nachdem BUSY wieder inaktiv ist, kann der gewandelte Wert aus den Datenregistern gelesen werden.

^

3.14 10MHz Version

Der IC80 ist auch in einer 10MHz Version verfügbar. Gegenüber der Standard Version hat der IC80-10 folgende Unterschiede:

^

4 Steckverbinder

4.1 Stromversorgungs Stecker J1

4pol. Floppy Stecker
Pin Signal
1
2
3
4
VCC
GND
Power_Good / NMI*
Power_Off / RTCALARM*
VCC: +5V ±5% Stromversorgung
GND: Spannungsreferenz der Stromversorgung
Power_Good: Dieses Signal kann verwendet werden, um vom Netzteil eine Stromausfallsmeldung zu erhalten. Eine negative Flanke löst einen NMI aus.
Power_Off: Dieses Signal kann verwendet werden, um das Netzteil auszuschalten. Über die Alarmfunktion der RTC kann nach Ablauf einer programmierbaren Zeit das Netzteil wieder eingeschaltet werden.
^

4.2 Serielle Port A/B Stecker ST4 und ST5

10pol. 2 reihige Pfostenstecker
Pin Signal Pin Signal
1
3
5
7
9
VCC
SYNCx*
TxDx
RTSx*
DCDx*
2
4
6
8
10
RDYx*
RxDx
DTRx*
CTSx*
GND
VCC: +5V ±10% Stromversorgung für die Peripherieschaltung
GND: Referenz
RDYx*: Data Set Ready. Dieser Pin darf vom SIO bei Verwendung von Standard IF-Modulen niemals getrieben werden. Um dies zu gewährleisten, muss das WR1 beider SIOs eine 0 in den Bits 7..5 enthalten. Auf dem Seriellen Kanal A ist DSR* über einen Jumper auf RESET* legbar. Dieses Signal kann genutzt werden, um vom Hostrechner aus ein Resetsignal zu schicken. Dazu muss der Jumper J10 gesteckt sein.
SYNCx*: Ring Indikator Eingang vom Modem im Asynchronbetrieb oder Sync Ausgang im Synchronbetrieb.
RxDx: Receive Data Eingang.
TxDx: Transmit Data Ausgang.
DTRx*: Data Terminal Ready Ausgang.
RTSx*: Request To Send Ausgang.
CTSx*: Clear To Send Eingang.
DCDx*: Data Carrier Detect Eingang. Dieser Eingang ist interruptfähig.
^

4.3 IC Pinreihen J2 und J3

Pin Signal Pin Signal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
STDP*
NMI*
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
BSTB*
BRDY
TOUT0
TOUT1
TIN0
TIN1
A7
A6
A5
A4
A3
A2
A1
A0
D7
D6
D5
D4
D3
D2
D1
D0
GND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
VCC
AIN0
AIN1
AIN2
AIN3
VREF
GND
VCC
GND
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
ASTB*
ARDY
C0*
C1*
C2*
M1*
IEO
CLK
WAIT*
IORQ*
INT*
RD*
WR*
RESET*
TxDA
RxDA
VCC: +5V ±10% Stromversorgung für die Peripherieschaltung oder +5V ±5% Stromversorgung für das IC80.
GND: Referenz
Px[0 . . 7 ]: Port A/B Datenleitungen. Bidirektional je nach Programmierung der PIO
xSTB*: Port A/B Strobe Ausgang
xRDY: Port A/B Ready Eingang
TIN[0 . . 1 ]: Timer 0/1 Input
TOUT[0 . . 1 ]: Timer 0/1 Output
AIN[0 . . 3 ]: Analog Inputs
VREF: Analog Referenz Spannung mit 2.5V
D[0 . . 7 ]: Bidirektionaler Datenbus
A[0 . . 7 ]: Adressbus Ausgang
C[0 . . 2 ]: Chip-Select 0... 2 Ausgänge. Diese Chip-Selects sind frei verfügbar um Erweiterungsperipherie anzuschliessen 3 . Siehe Adressbelegung für Details.
M1*: Opcode Fetch Ausgang - wird für manche Zilog Peripherie Chips benötigt, um Vektor Interrupts verwenden zu können
IORQ*: I/O Space Transfer Ausgang
WR*: Write Strobe Ausgang
RD*: Read Strobe Ausgang
WAIT*: Synchroner Wait Eingang um Buszyklen verlängern zu können
CLK: CPU Clock max. 4.915 MHz
INT*: Interrupt Eingang. Darf nur mit Open Collector Treibern getrieben werden.
IEO: Interrupt Enable Out von der CPU. Wird als Anfang der Interrupt Daisy Chain bei Zilog Peripherie Chips verwendet.
NMI*: NMI Eingang. Ist mit dem Power_Good Signal des Stromversorgungs Steckers verbunden
RESET*: Reset Eingang
RxDA: Receive Data Eingang.
TxDA: Transmit Data Ausgang.
^

5 Jumper

Zur Konfiguration des IC80 dienen die Jumper J10 direkt neben dem Widerstandsnetzwerk sowie einige Lötbrücken auf der Unterseite der Platine für selten zu ändernde Funktionen.

Jumper # Pin Signal Funktion bei Verbindung
J5 1

2

3
A14

A14/WE*

WE*

EPROM

EEPROM
 
J6 1

2

3
VCC

VPP/A14

A14

EPROM

EEPROM
 
J5 1

2
RESET*

RDYB*

V.24 RESET erlaubt
 

J5 und J6 selektieren den ROM Typ. J10 erlaubt den Reset über die serielle Schnittstelle B.

^

6 Bei Problemen

^

1 Diese Konvention stammt aus der Sprache C.

2Im Zeitraum 01/95 bis 04/95 wurden auch IC80-Boards mit einer Spannungsreferenz , die einen Eingangsbereich von 0... 4.096V des ADC erzeugte, ausgeliefert. Achten Sie bitte auf die Bestückung der Spannungsreferenz auf den Boards (LM336 = 2.5V, LM4040 = 4.096V)

3 Bei Verwendung der C[0 . . 2 ] Signale ist auf ein korrektes Design der Adressdekoder Logik zu achten. C[0 . . 2 ] kann zu nahezu beliebigen Zeitpunkten aktiv werden, da die Z80 Businterface Spezifikation das IORQ* Signal nicht nur bei IN und OUT Transfers aktiviert, sondern auch bei Interrupt Acknowledge Transfers. Die beste Methode um falsche Read- und Writestrobes zu unterdrücken, ist die Verknüpfung von RD* oder WR* mit C[0 . . 1. ] Intel 808x und Z80 Buskompatible Bausteine berücksichtigen das bereits, so dass hier keinerlei zusätzliche Logik erforderlich ist. Bei Verwendung von anderen, nicht voll kompatiblen Bausteinen, wie z.B. ADCs/DACs oder TTL Latches muss diese Tatsache jedoch mit in Betracht gezogen werden.

^

Anhang A Monitor V4.12 (ist im Z80mini3-Handbuch beschrieben)

www.mct.de: Produkte: Einplatinencomputer: IC80
IndexHomepage^