www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timing von ISA


Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht 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 !

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Wagner (christoph)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.