![]() |
Das ASICCLK generiert aus einem externen Takt von 18 MHz die variablen CPU- und System-Takte, sowie den festen VIA-Takt. Der VIA-Takt wurde deshalb mit 9 MHz festeingestellt, damit die integrierten Timer von einer definierten Zeitbasis ausgehen können. Neben dem Taktgenerator liefert das ASICCLK noch die Select-Signale für die anderen Baugruppen und einen Taktgenerator für den Watchdog. Taktgenerator Der Taktgenerator arbeitet intern voll synchron. Ursprünglich sollte der externe Takt 24 MHz betragen und damit eine maximale CPU-Frequenz von 12 MHz erlauben. Es hat sich jedoch bereits bei ersten Tests herausgestellt, dass besonders im virtuellen Speichermodus des ASICMMU durch die sich addierenden Durchlaufzeiten des ASICMMU, des VSRAM und des Hauptspeichers trotz Verwendung von RAM mit 10 nS Zugriffszeit die Verzögerungen zu groß für einen stabilen Betrieb bei 12 MHz waren. Daher habe ich den maximalen CPU-Takt auf 9 MHz reduziert. Greift die CPU auf I/O-Bereiche oder auf das EPROM zu, dann wird der Takt abhängig von der Geschwindigkeit des jeweiligen I/O-Bausteins synchron auf bis zu ca. 1 MHz reduziert. Beim Zugriff auf das Video-RAM erfolgt über die RAMFREE-Leitung eine Synchronisation mit dem ASICCRT. Bei einem DMA-Request wird der CPU-Takt nach Beendigung des laufenden Taktes für einen Takt angehalten und nur der System- und der VIA-Takt mit 9 MHz weiter generiert. Dabei wird über die DMA-Acknowledge-Leitung die Buskontrolle an das ASICIDE übergeben und der Prozessor von Bus abgekoppelt. Außerdem wird ein Takt (Keyboard Scan Clock) generiert, welcher im ASICETC zur sicheren Erkennung von Taktwechseln an der Tastaturschnittstelle verwendet wird. Watchdog Taktgenerator Nach einem Reset generiert der Watchdog Taktgenerator automatisch einen Takt für den im Reset-Baustein MAX1232 integrierten Watchdog-Timer. Möchte man den Watchdog-Timer in seinem System nicht verwenden, dann kann man diesen Zustand so belassen. Möchte man die Watchdog-Funktion nutzen, dann genügt ein Zugriff auf eine beliebige Speicheradresse in Bank $F9. Damit wird die automatische Taktgenerierung für den Watchdog ausgeschaltet und die Software muss fortan spätestens nach jeweils 1,2 Sekunden eine Adresse in der Bank $F9 ansprechen. Wird dies aus welchen Gründen auch immer versäumt, dann führt das MAX1232 einen System-Reset durch. Damit kann bei fehlerhaftem Systemverhalten wieder ein definierter Zustand hergestellt werden. Generierung der Select-Signale Da das ASICCLK nur über relativ wenige Anschlüsse verfügt, welche der Baustein auswerten kann, wurden die über den Datenbus gemultiplexten Bankadressen A[16..23] für die Generierung der Select-Signale verwendet. Dadurch belegen die einzelnen Bausteine mit jeweils einer eigenen Speicherbank zwar verschwendend viel Platz im gesamten Adressbereich des Prozessors. Dieser ist jedoch mit 16 MB recht üppig ausgelegt und darum bereitet die großzügige Verwendung von Adressbereichen keine Probleme. Speicherverwendung des PC65816 V2 |
|
![]() |
Das Äquivalenzschaltbild des ASICCLK steht hier zum Download zur Verfügung. |