GAL
Der GAL ist der zentrale Adreßdekoder auf dem µC-Board. In den beiden Tabellen kann man sehen, wann
welche Signale vom GAL generiert werden.
Eingänge
Am Eingang des GALs liegen neben den Adressleitungen A11 bis A15 auch die Steuerleitungen des Controllers, /PSEN, /RD und /WR an. Außerdem liegen zwei Sondersignale an, D/R um zwischen dem Debug- und dem Runmodus zu schalten und /PRG um in den Programmiermodus zu schalten. Beide Signale werden von einem Portpin erzeugt, mit 0R-Brücken kann aus verschiedenen Portpins ausgewählt. Das OS552 und die .bix-Datei sind auf die Pins P1.0 und P1.2 eingestellt.
Ausgänge
Das Signal zum Freigeben der Ausgänge der Speicherbausteine, /OE (Output Enable), wird durch eine und-Verknüpfung von /PSEN (Program Store ENable) und /RD (ReaD) erzeugt. Der RAM-Baustein wird ausgewählt mit dem Signal /CE_RAM (Chip Enable), der Flash mit /CE_ROM. Das Enable-Signal für das RAM wird über den Watchdog geleitet. Sollte die Versorgungsspannung zu niedrig werden, dann werden Enable-Signale an das RAM blockiert und schaltet die Spannungsversorgung für das RAM auf die Batterie um. Das Signal A16 schaltet zwischen den beiden Seiten des Flashs, im Runmodus ist es Eins, es ist also die obere Hälfte des Bausteins ausgewählt. Im Debugmodus ist A16 Null, das OS552 liegt daher im unteren Bereich des Flashs. Zum Schluss erzeugt der GAL die Selectsignale für die Memory-Mapped-I/O. Das Signal /CE_IO0 selectiert den Adressdekoder IC7, an dem bis zu acht Bausteine angeschlossen werden können. Sollte das nicht reichen, so kann /CE_IO1, das im restlichen I/O-Bereich low ist, verwendet werden.
Software
In dem Softwarepaket, das von Elektor runtergeladen werden kann, ist auch die Quelldatei für den GAL und dessen JEDEC-Datei. Die Quelldatei (upboard.pds) kann mit dem Freewareprogramm Palasm bearbeitet und compiliert werden. Wenn keine Änderungen nötig sind, kann der GAL direkt mit der JEDEC-Datei programmiert werden.
|