|
|
- Sinn und Zweck
- Mit dieser kleinen Schaltung ist es nun möglich,
auch auf den "vor"-Mega
ST's stets die genaue Uhrzeit beizubehalten. Dazu ist keine weitere Software
nötig, da die Uhr MegaST-kompatibel ist und so vom TOS (ab Blitter-TOS)
automatisch erkannt wird.
- Und so wird's gemacht
- Als Real Time Clock kommt der RP5C15 von Ricoh zum Einsatz.
Pinout des Uhrenchips
Den Originalschaltplan kann man dem ATARI-Profibuch entnehmen. In Anlehnung
habe ich meinen erstellt mit leichten Veränderungen und Vereinfachungen.
Die Einbindung des Uhrenchips in die Hardware zeigt der Schaltplan.
Schaltplan
Zur Taktversorgung hat der Uhrenchip seinen eigenen externen Quarz
mit einer Frequenz von 32.768Hz. Das GAL sorgt für die richtigen Signale
- Chipselect, Read und Write. Die Adreßleitungen A1..A4 (Uhrenchip), A5..A15
(GAL) bekommt man am Prozessor, ROM-Port oder den Betiebssystem-Rom's.
Ebenso die Datenleitungen D0..D3 (Uhrenchip). Die Signale LDS#, VMA#, R/W#
und RESET# holt man sich am besten vom Prozessor. Mit DEV# wird es ein
wenig schwieriger, da man es nur selten im ST antrifft, man findet es z.B.
am GLUE (Pin 25) und an der MMU (Pin 31).
- Die Grundlagen
- Die Uhr liegt an der Originaladresse $FFFC21. Das GAL erzeugt aus den Adreßleitungen
das Chipselect-Signal für die Uhr. Sobald die Basisadresse $FFFC21 (Adreßleitungen
A5, A10- A15 high und A6-A9 low) anliegt, LDS#, VMA# und DEV# low-Pegel
aufweisen, erhält das IC sein low-aktives (Pin 1) Chipselect-Signal. Mit
LDS# werden die ungeraden Adressen markiert.
Übrigens liegen alle Adressen des RP5C15 an ungeraden Adressen. VMA# signalisiert
Valid Memory Address und DEV# ist aktiv bei Zugriffen auf die Peripheribausteine
(Adreßleitungen A16..A23 high). Der Datenbus zum Uhrenchip hat eine Breite
von 4-Bit, was völlig ausreicht, da der Uhrenchip nur 4-Bit-Register für
Uhrzeit und Datum besitzt. Die Selektion der Register erfolt über die 4
Adreßleitungen (A0..A3). Über ein spezielles Bit kann man intern
zwischen zwei 16-Bit Registern auswählen.
Die einzelnen Register kann man dem Datenblatt entnehmen, nur kann man im ATARI bis
auf die Uhrzeit und das Datum so gut wie keines verwenden. Die Spannungsversorgung
habe ich etwas vereinfacht, zwei Schottky-Dioden sorgen bestens für eine
unterbrechungsfreie Umschaltung der Versorgungsspannung. Zusätzlich noch
zwei Kondensatoren und fertig. Durch das RC-Glied C3-R3 halte ich das GAL
so lange im "RESET" bis die Adressen stabil sind, in der Hoffnung, daß
das GAL mit seinem Power-up-Reset schneller ist, als sich die Uhr verstellen
läßt. Aber Spaß beiseite, bei mir funktioniert es jetzt schon seit 4 Jahren
ohne daß sich die Uhr auch nur ein einziges mal verstellt hätte (mal abgesehen
von der vergessenen Sommerzeitumstellung). Als Energiequelle verwende ich
lieber eine Lithium-Zelle (3.6V), hält lange und ist umweltfreundlicher als
ein NiCd-Akku.
- Das GAL
- Zur Minimierung des Schaltungaufwandes trägt das
GAL 20V8 (D10) bei. Es ersetzt zahllose IC's und macht eine kompakte Bauweise
erst möglich. Die GAL-Gleichung ergibt sich aus der gestellten
Anforderung des Chipselectsignals. (Wer keine Möglichkeit hat das GAL selbst
zu programmieren, kann sich mit mir in Verbindung setzen)
GAL-Gleichung:
%ID UHR_V2
%TYPE GAL20V8
%PINS
A5: 1 A6: 2 A7: 3 A8: 4 A9: 5 A10: 6 A11: 7 A12: 8 A13: 9 A14: 10 A15: 11
!LDS: 13 !VMA: 14 CS2: 15 RESET: 16 RW: 17 !CS: 18 !RD: 19 !DEV: 20 R2: 21 !WR: 22
%LOGIC
CS = A5 * A10 * A11 * A12 * A13 * A14
* A15 * !A6 * !A7 * !A8 * !A9 * LDS * VMA * DEV;
RD = A5 * A10 * A11 * A12 * A13 * A14 * A15 * !A6 * !A7 * !A8
* !A9 * LDS * VMA * DEV * RW;
WR = A5 * A10 * A11 * A12 * A13 * A14 * A15 * !A6 * !A7 * !A8
* !A9 * LDS * VMA * DEV * !RW;
CS2 = RESET * R2;
%END
- Was gibts noch zu sagen?
- Ein paar Zeichenerklärungen fehlen noch.
- Alle Signale mit einem "#" am Ende sind low-aktive.
- Mit "P5" ist +5V gemeint und mit "M" natürlich Masse.
Schaltplan, JEDEC-File und Stückliste in einem File:
uhr01.lzh, 5.425 Bytes
Homepage, zum Downloaden des Datenblattes
Literaturverweis:
- ATARI ST Profibuch
- Artikel "Wem die Stunde schlägt..." von Martin Getrost, ST-Computer
11/1990, S.153ff
|