Forum: Mikrocontroller und Digitale Elektronik Timing von ISA


von Christoph W. (christoph)


Lesenswert?

Hi.

Nachdem mir alles anfangs "klar" war, komme ich nun etwas mit
Timinggeschichten ins stocken ...

Kann man denn eine ISA-Netzwerkkarte wie z.B. mit dem berühmten Realtek
8019 oder dem weniger berühmten UM9008 ohne weiteres mit dem Extended
Memory Interface ansteuern ?
Beim googeln habe ich herausgefunden, dass der ISA-Bus (AT) mit 8,***
MHz arbeitet. Könnte er trotzdem das Signaling eines 18MHz MEGA128
schaffen ? (Wenn ja, wieviele Waitstates ?)

Gleich nebenbei ... wie sieht's mit Festplatten aus ? Neben selbigen
Signaling Problem : Muss man bei denen die Bits 8..15 durch einen Latch
puffern, oder bleiben die Daten erhalten, wenn z.B. IOR wieder auf high
geht. (erst Ext-MEM lesen, dann High-Byte oder beim Ext-MEM lesen
High-Byte in Latch, und dann erst lesen ?)

Hoffentlich bringt mir heute jemand etwas Licht ins Dunkel !

Vielen Dank, an alle die das machen werden !

von A.K. (Gast)


Lesenswert?

I/O-Zyklus ISA: mindestens 4 Takte, ursprünglich bei 4,77 MHz, später
8MHz teilweise auch 10MHz. AVR kann maximal 4 Takte. So geht's also
nicht. Was nicht zwingend heisst, dass jeder Adapter dabei die Segel
streicht, aber 18MHz ist schon etwas hart.

IRO high => Daten weg. Also: IOR aktivieren, lang genug warten,
nacheinander beide Bytes lesen, IOR deaktivieren.

von Christoph W. (christoph)


Lesenswert?

Vielen Dank, A.K.

OK. Hab jetzt die Schaltung erweitert, dass ich das Addresssignal, dass
die Festplatte aktiviert mit den IO-Signalen verknüpft hab und dafür
jeweils ein WR und RD-IO-Latch eingebaut hab. Sollte funktionieren. Ich
werde dazu später noch den Schaltplan posten (wenn er ganz fertig ist
;-))

Für das Timing hab ich gedacht, dass ich mit WaitState 1 operiere. Den
verwende ich soundso schon für den RAM, daher denke ich, dass das
ausreichen sollte. Das Read-Signal hat somit die Länge von ~10 MHz
(101ns, ReadLowToDataValid=61ns ), der Zyklus liegt dann bei 4,5MHz (4
Instruktionen / Rd bzw. Wr).

von A.K. (Gast)


Lesenswert?

2 Dinge sind zu unterscheiden: ISA und IDE. Letzteres ist zwar dem
ISA-Bus entsprungen, hat sich aber aber beim Tempo längst abgekoppelt.

Ein ISA-Netzwerkadapter wird sich wohl eher nicht dazu überreden
lassen, bei einem Lesezyklus von 100ns mitzumachen.

von Christoph W. (christoph)


Lesenswert?

Hast du eventuell Informationen über das Signaling und Bustiming von ISA
? Google war nicht gerade kooperativ. Da findet man sogut wie nur
Waveforms, aber ohne weitere Angaben.

Außerdem : Lesezyklus von 100ns entspricht 10MHz, manche Karten
unterstützen aber 12MHz! Der Zyklus, mit dem dann neue Daten
ausgetauscht werden beträgt sogar nur 4,5MHz (Abstand zweier Zugriffe).
Soweit wie ich noch herausgefunden habe, unterstützt meine Karte
todsicher 8 MHz, laut mancher Quellen auch 10MHz. Allerdings hab ich
auch keine Informationen über das Signaltiming gefunden.

Zum IDE : Die Schittstelle hängt nur noch mit am Bus dran. Das IDE im
Gegensatz zu ISA bis 133MHz Bustakt arbeitet ist mir schon klar. Die
Festplatte würde auch mit Lesezylken von 55ns noch problemlos arbeiten.
Mir kommt es jetzt mehr auf die Netzwerkkarte an.

Äähm : Was meinst du eigentlich mit "AVR kann maximal 4 Takte." ?
Waitstates ?

von A.K. (Gast)


Lesenswert?

Sachte. Taktzyklus != Buszyklus. Wenn die ISA-Karte mit einem Takt von
10MHz zurecht kommt, dann ist damit kein Buszyklus von 100ns gemeint,
sondern nur und ausschliesslich die Taktfrequenz vom Bus.

Der Bus braucht jedoch mehrere solchen Takte für jeden I/O-Zyklus.

Übersicht, richtig schön (ISA-) zeitgemäss mit ASCII-Grafik:
http://www.techfest.com/hardware/bus/isa.htm

Timing:
http://www.hxlkj.com/isatiming.pdf

Und AVR-Zyklen kannst Du m.W. mit maximal 4 Waitstates ausstatten.
Weshalb dessen externer Speicherbus Bus bei 18Mhz nicht direkt
verwendbar ist.

"bis 133MHz Bustakt arbeitet ist mir schon klar"

Mir nicht. Erstens sind es 16bit, weshalb die 133 mal habliert werden.
Zweitens dürfte da wohl DDR-artige Taktung verwendet werden, bleiben
also 33MHz übrig.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.