Gast
#121442
hallo.. habe hier schon mal einen beitrag gepostet, wie man am besten die daten beim isa bus latchen (speichern) kann, sodass sie von einem langsamen Controller gelesen werden können. Nun bräuchte ich nochmal dringend hilfe, habe schon viel gegoogelt, aber noch ohne erfolg. die adressen liegen ja nur wenige zyklen (ca. 600 ns) auf dem adressbus. am adressbus habe ich einen 8bit vergleicher.. A0 und A1 gehen an meinen controller (68HC12) der aber nur mit 8 Mhz intern läuft. Dies ist aber sehr langsam, d.h. er bemerkt es manchmal gar nicht, dass ein IO zugriff (von aussen) stattgefunden hat, da ich mind. 2 maschinenbefehle für den vergleich von A0 & A1 brauche... (busy loop) mein problem ist, ich weiss jetzt nicht wie ich meinem Controller am besten mitteilen soll, dass sie sich jetzt angesprochen fühlen soll ... meines wissens kann man per IOCHRD nur den datenzyklus verlängern, aber nicht dass die adressen länger anliegen, oder täusch ich mich da ? ich könnte jetzt hingehen und A0 und A1 mit einem D-FlipFlop Register latchen, aber den muss ich ja nach der verarbeitung wieder auf 0 setzen, sonst bleibt die adresse ewig im register. das könnt ich vom controller aus machen, aber dazu brauch ich wieder 2 opcodes (setzen, rücksetzen) = zeit! mir fällt spontan nur ein, das ganze auf eine leitung zu minimieren und die an den interrupt eingang vom HC12 zu legen, sodass der controller immer reagiert, egal ob er grad mit was anderem beschäftigt ist. für schnelle verarbeitung bietet sich an, einen RAM dazwischen zu schalten, aber das fällt bei mir aus zeitgründen bereits ins Wasser... was schlägt ihr vor ? vielen dank ! Stephan