Das physikalische IDE Interface
IDE Signale
Alle Signalnamen sind hier in grossen Buchstaben dargestellt.
Signalpegel können generell (aktiv, true) HIGH ( eine positive
Spannung) oder in LOW (eine negative Spannung) dargestellt werden.
Das Minuszeichen (-) am Angfang oder am Ende eines Signalnamens
zeigt daher an das es sich hierbei um ein Low-aktives Signal handelt.
Analog dazu zeigt ein (+) am Anfang oder Ende eines Signals an das es
sich hierbei in ein High-aktives Signal handelt.
Control Signale sind mit einem (/) versehen.
Die pysikalischen Interfacesignale basiern auf single ended TTL
kompatiblen Signalen. Das bedeutet das ein Signalausgang
"TTL" einen einzigen weiteren Signaleingang "TTL",
auch auf einer anderen Baugruppe, ansteuern kann und darf. Wird das
Signal weiter verschleift kann es zu Fehlfunktionen kommen.
Tabelle 3: IDE Interface Signale
|
Host I/O Connector |
Pin |
Drive I/O Connector |
Pin |
|
|
|
|
|
|
HOST RESET |
1 |
—– RESET- ——–> |
1 |
|
|
2 |
—– Ground ——– |
2 |
|
HOST DATA BUS BIT 7 |
3 |
<—– DD7 ———–> |
3 |
|
HOST DATA BUS BIT 8 |
4 |
<—– DD8 ———–> |
4 |
|
HOST DATA BUS BIT 6 |
5 |
<—– DD6 ———–> |
5 |
|
HOST DATA BUS BIT 9 |
6 |
<—– DD9 ———–> |
6 |
|
HOST DATA BUS BIT 5 |
7 |
<—– DD5 ———–> |
7 |
|
HOST DATA BUS BIT 10 |
8 |
<—– DD10 ———-> |
8 |
|
HOST DATA BUS BIT 4 |
9 |
<—– DD4 ———–> |
9 |
|
HOST DATA BUS BIT 11 |
10 |
<—– DD11 ———-> |
10 |
|
HOST DATA BUS BIT 3 |
11 |
<—– DD3 ———–> |
11 |
|
HOST DATA BUS BIT 12 |
12 |
<—– DD12 ———-> |
12 |
|
HOST DATA BUS BIT 2 |
13 |
<—– DD2 ———–> |
13 |
|
HOST DATA BUS BIT 13 |
14 |
<—– DD13 ———-> |
14 |
|
HOST DATA BUS BIT 1 |
15 |
<—– DD1 ———–> |
15 |
|
HOST DATA BUS BIT 14 |
16 |
<—– DD14 ———-> |
16 |
|
HOST DATA BUS BIT 0 |
17 |
<—– DD0 ———–> |
17 |
|
HOST DATA BUS BIT 15 |
18 |
<—– DD15 ———-> |
18 |
|
|
19 |
—– Ground ——– |
19 |
|
|
20 |
—– (keypin) —— |
20 |
|
DMA REQUEST |
21 |
<—– DMARQ ——— |
21 |
|
|
22 |
—– Ground ——– |
22 |
|
HOST I/O WRITE |
23 |
—– DIOW- ———> |
23 |
|
|
24 |
—– Ground ——– |
24 |
|
HOST I/O READ |
25 |
—– DIOR- ———> |
25 |
|
|
26 |
—– Ground ——– |
26 |
|
I/O CHANNEL READY |
27 |
<—– IORDY ——— |
27 |
|
SPINDLE SYNC or CABLE SELECT |
28 |
*—- SPSYNC:CSEL —–* |
28 |
|
DMA ACKNOWLEDGE |
29 |
—– DMACK- ——–> |
29 |
|
|
30 |
—– Ground ——– |
30 |
|
HOST INTERRUPT REQUEST |
31 |
<—– INTRQ ——— |
31 |
|
HOST 16 BIT I/O |
32 |
<—– IOCS16- ——- |
32 |
|
HOST ADDRESS BUS BIT 1 |
33 |
—– DA1 ———–> |
33 |
|
PASSED DIAGNOSTICS |
34 |
*—– PDIAG- ——–* |
34 |
|
HOST ADDRESS BUS BIT 0 |
35 |
—– DAO ———–> |
35 |
|
HOST ADDRESS BUS BIT 2 |
36 |
—– DA2 ———–> |
36 |
|
HOST CHIP SELECT 0 |
37 |
—– CS1FX- ——–> |
37 |
|
HOST CHIP SELECT 1 |
38 |
—– CS3FX- ——–> |
38 |
|
DRIVE ACTIVE/DRIVE 1 PRESENT |
39 |
<—– DASP- ———* |
39 |
|
|
40 |
—– Ground ——– |
40 |
Tabelle 4: Drive intercommunication signals
|
*Drive intercommunication signals |
|
|
|
|
|
|
|
|
|
|
|
HOST |
|
Drive 0 |
|
Drive 1 |
|
28 |
—–> |
28 28 |
<– SPSYNC:CSEL –> |
28 |
|
34 |
—– |
34 34 |
<—– PDIAG- —- |
34 |
|
39 |
<—– |
39 39 |
<—– DASP- —– |
39 |
Signal Beschreibungen
Die Interfacesignale und deren Anschlußpin sind hier
detailiert Beschrieben und werden in der unten folgenden Tabelle
dargestellt. Die Signale sind ihrer Funktionalität nach und in
der Reihenfolge der Pinnummern aufgelistet.
Tabelle 5: Interface signals description
|
Signal |
Pin |
I/O |
|
|
|
|
|
|
|
|
|
CS1FX- |
37 |
I |
Drive chip select 0 |
|
|
CS3FX- |
38 |
I |
Drive chip select 1 |
|
|
DA0 |
35 |
I |
Drive address bus - bit 0 |
|
|
DA1 |
33 |
I |
- bit 1 |
|
|
DA2 |
36 |
I |
- bit 2 |
|
|
DASP- |
39 |
I/O |
Drive active/drive 1 present |
|
|
DD0 |
17 |
I/O |
Drive data bus - bit 0 |
|
|
DD1 |
15 |
I/O |
- bit 1 |
|
|
DD2 |
13 |
I/O |
- bit 2 |
|
|
DD3 |
11 |
I/O |
- bit 3 |
|
|
DD4 |
9 |
I/O |
- bit 4 |
|
|
DD5 |
7 |
I/O |
- bit 5 |
|
|
DD6 |
5 |
I/O |
- bit 6 |
|
|
DD7 |
3 |
I/O |
- bit 7 |
|
|
DD8 |
4 |
I/O |
- bit 8 |
|
|
DD9 |
6 |
I/O |
- bit 9 |
|
|
DD10 |
8 |
I/O |
- bit 10 |
|
|
DD11 |
10 |
I/O |
- bit 11 |
|
|
DD12 |
12 |
I/O |
- bit 12 |
|
|
DD13 |
14 |
I/O |
- bit 13 |
|
|
DD14 |
16 |
I/O |
- bit 14 |
|
|
DD15 |
18 |
I/O |
- bit 15 |
|
|
DIOR- |
25 |
I |
Drive I/O read |
|
|
DIOW- |
23 |
I |
Drive I/O write |
|
|
DMACK- |
29 |
I |
DMA acknowledge |
|
|
DMARQ |
21 |
O |
DMA request |
|
|
INTRQ |
31 |
O |
Drive interrupt |
|
|
IOCS16- |
32 |
O |
Drive 16-bit I/O |
|
|
IORDY |
27 |
O |
I/O channel ready |
|
|
PDIAG- |
34 |
I/O |
Passed diagnostics |
|
|
RESET- |
1 |
I |
Drive reset |
|
|
SPSYNC: |
28 |
- |
Spindle sync |
|
|
CSEL |
28 |
- |
Cable select |
|
|
keypin |
20 |
- |
Pin used for keying the interface connector |
|
ATA oder AT Attachment
ATA ist der korrekte Name für das was der Volksmund IDE
nennt. Weiter hinten im Text finden sie alle Erläuterungen zu ATA
(ATA-1, ATA-2, IDE und EIDE. Jedes ATA Interface in jedem Computer
nutzt ein normales 40 poliges Flachbandkabel.
ATA 1
ATA 1 ist die Bezeichung für das original ATA (IDE)
Interface. ATA 1 ist zur Zeit kein offizieller Standard.
ATA 2 und Erweiterungen
ATA 2 ist die Bezeichnung der neueren ATA Spezifikation.
ATA 3
ATA 3 ist die Bezeichnung der letzten und aktuellsten ATA
Spezifikation. Die meisten heute käuflichen IDE-Platten
entsprechen diesem Verfahren.
ATA 6
Einige Festplattenhersteller haben angekündigt, die im
aktuellen Entwurf der ATA/ATAPI-6-Spezifikation beschriebene
48-Bit-Adressierungsart für IDE-Platten zu unterstützen.
Damit würden sich bis zu 248 Sektoren adressieren, was 128
PetaByte beziehungsweise 144 hoch 1015 Byte entspricht. Die bisherige
Version der IDE-Schnittstelle kann mit der bisherigen 28-bittigen
LBA-Adressierung nur 228 Sektoren, entsprechend 128 GByte oder etwa
137 Milliarden Byte ansprechen.
Die neue Adressierungsart erfordert keine Änderung an der
Hardware, sondern lediglich aktualisierte Treiber beziehungsweise ein
neues BIOS. Auch ältere Systeme sollten also mit geeigneter
Software fit für derart große IDE-Platten sein.
Bei aktuellen Festplattenmodellen, ist man technisch bereits jetzt
in der Lage, 40 GByte auf einer einzigen Magnetscheibe zu speichern.
Nach den 80GB Modellen ist es nur eine Frage der Zeit bis die
Hersteller eine IDE-Platte mit 160 oder 200 GByte auf den Markt
bringen.
ATAPI oder ATA Packet Interface
ATAPI ist die neueste Interface Spezifikation. ATAPI wird für
CD-ROM und Tape Drives benutzt. Das Verfahren ist IDE, benutzt jedoch
das ATA Hardware Interface mit einem Subset von SCSI Kommandos auf
logischem Level. Es ist daher aber -kein- SCSI Bus wie einige
Spezialisten glauben.
DMA oder Direct Memory Access
DMA ist eine Methode des Daten Transfers zwischen zwei
Gerätem ohne die CPU des Computers zu benutzen. DMA benötigt
daher eigene Hardware:
Es wird eine DMA Arbitrations Einheit, eine DMA Datentransfer
Einheit und ein DMA Host benötigt der die Bus Signale erzeugt und
dem DMA Controller die Möglichkeit gibt den DMA Bus zu verwalten.
Wenn der DMA Controller die Buskontrolle hat, kann er Daten von einem
Gerät zu einem anderen Gerät verschieben in dem er selbst
die Read/Write Zyklen generiert.
Für einen ATA READ DMA Befehl bedeutet das nach dem I/O Read
Zyklus ein Speicher Schreibbefehl als 16 Bit Wort getätigt werden
kann.
Für einen ATA WRITE DMA Befehl bedeutet das nach dem I/O Read
Zyklus ein Speicher Lesebefehl als 16 Bit Wort getätigt werden
kann.
EIDE or Enhanced IDE
EIDE enstammt dem Marketing von Western Digital. Damit sollte ATA
2 inklusive ATAPI unterstützt werden. Diese Bezeichung ist
geläufiger unter "EIDE kompatible" oder "EIDE
capable". Es bedeutet aber nichts weiter als das bis hier hin
nicht schon beschrieben wäre. Neuer Name, gleiche Verfahren.
Fast ATA
Fast ATA enspringt dem Seagate Marketing Programm. Wie gehabt
entspricht auch diese den ATA 2 Features neuerer ATA Devices. Diese
Bezeichnung ist geläufiger unter dem Namen "Fast ATA
kompatible" oder "Fast ATA capable". Neuer Name,
gleiches Verfahren wie schon beschrieben.
HBA oder Host Bus Adapter oder Host Adapter
Beschreibt das Hardwareinterface das Host Bussignale von/nach ATA
konvertiert. Ein ATA 1 Hostadapter ist normalerweise eine sehr
einfache Hardware. Ein ATA 2 Hostadapter hingegen kann recht komplex
Konstruiert sein.
Eine genaue Beschreibung der Verfahren finden sie in
einschlägigen IDE FAQs.
Abbildung 1 - IDE Anschlußkabel, 40 polig mit
Verpolungsschutz
Abbildung 2 - IDE Anschluß an Controller oder Mainboard
LBA oder Logical Block Addressing
LBA ist ein neuer Weg die Datensktoren auf der Festplatte zu
adressieren. Dieses Verfahren nutzt eine 28 Bit Nummer, binär, um
einen Sektor zu adressieren. LBA Adressnummern beginnen bei 0. In
aktuellen ATA Geräten werden alle Sektoradressen von Host logisch
Verwaltet und haben mit der pysikalischen Lage auf der Platte nichts
mehr zu tun.
An Atari sind Festplatten größer als 8GB daher am
besten mit dem HDDriver zu verwalten. Er ist das einzige Utilitie der
meines Wissens nach LBA für und am Atari unterstützt.
Größere Festplatten sind nur so in ihrer gesammt
Kapazität für den Atari nutzbar.
Master / Slave
ATA Device 1. Device 1, der Slave, ist ein "Slave" von
nichts.
ATA Device 0. Device 0, der Master, ist der "Master" von
nichts.
Man könnte es auch als Gerät "0" und
Gerät "1" bezeichnen.
Megabytes oder MB?
Die Bezeichung "Megabyte" oder "MB" ist
1,000,000 Bytes oder 10^6 Bytes. ES SIND NICHT 1,048,576 Bytes oder
2^20 Bytes, wie so oft falsch wiedergegeben.
68 Pin ATA
Ist eine Variante des normalen ATA Interface. Es ist pysikalisch
ein PCMCIA 68 Pin Interface, aber es entspricht elektrisch und logisch
NICHT dem PCMCIA Interface. Die meisten 68 Pin ATA Geräte
arbeiten im Dual Modus. Sie können als ein PCMCIA PC Card ATA
Gerät oder als ein 68 Pin ATA Gerät arbeiten. Dieses
Interface wurde zusammen mit dem SFF Committee entwickelt und ist im
ATA 2 vorhanden und beschrieben.
PIO Modes
- PIO Mode 2, 3, 4
- Unterstützung von bis zu 128 GB großen Festplatten
(statt 504 MB)
- neue Devices (CDROM, Streamer)
- Unterstützung von mehr als zwei Devices
Bedingt durch immer schnellere Festplatten wurden mit der Zeit
verschiedene öbertragungsmodi für (E)IDE Festplatten
normiert:
Tabelle 6: PIO Modes an modernen IDE Festplatten
PIO Modus |
Zykluszeit / ns |
Transfer/ MByte/s |
Anmerkung |
|
|
|
|
|
|
0 |
600 |
3.33 |
Standard IDE |
|
1 |
383 |
5.22 |
selten |
|
2 |
240 |
8.33 |
selten |
|
3 |
180 |
11.11 |
Standard bei EIDE |
|
4 |
120 |
16.66 |
EIDE |
|
5 |
100 |
20 |
angekuendigt |
|
|
|
|
|
|
Einzelwort DMA |
|
|
|
|
0 |
960 |
2.08 |
ungebraeuchlich |
|
1 |
480 |
4.16 |
ungebraeuchlich |
|
2 |
240 |
8.33 |
ungebraeuchlich |
|
|
|
|
|
|
Mulitwort DMA |
|
|
|
|
0 |
480 |
4.16 |
|
|
1 |
150 |
13.33 |
|
|
2 |
120 |
16.66 |
aktueller Stand bei EIDE |
|
Speziell mit den neueren PIO Modes 3 und 4 lassen also enorme
Transferraten zu. Aus diesem Grund ist z.B. für den immer
beliebter werdenden PIO Mode 4 die maximale Kabellänge 30 cm (!)
- sonst gilt bei IDE allgemein 18" (46 cm) Kabellänge.
Sind die beiden EIDE Kanaele auf dem Controller bzw. Mainboard
nicht entkoppelt - und das ist meist der Fall - , so gilt diese Laenge
sogar fuer beide Kanaele zusammen!
Sind an einem (E)IDE Kanal zwei Geräete angeschlossen, so
müssen sie sich auf den grössten gemeinsamen PIO Mode
einigen. Da EIDE CDROMs oft nur PIO Mode 0 unterstützen, kann
dies eine erhebliche Bremse für moderne (schnelle) EIDE
Festplatten darstellen. Aus diesem Grund sollte man CD-Laufwerke
generell am zweiten, meist sowieso langsameren sekundären Kanal
anschliessen und sie nach Möglichkeit nicht mit einer Festplatte
am selben Kanal betreiben.
Echte und unechte Megabytes
Ein Megabyte (MB) wird im Computerbereich allgemein als 2^20 Bytes
aufgefasst. Da dies jedoch nicht offiziell genormt ist, haben sich die
Festplattenhersteller durchweg eine eigene Defitition gebastelt: Sie
rechnen mit 1 MB = 10^6 Bytes. Das ergibt einen Unterschied von:
2^20 Bytes = 1048576 Bytes
-10^6 Bytes = 1000000 Bytes
Ergibt 48576 Bytes = ca. 47 kB Differenz/MB
Eine '1 GB' Festplatte (Herstellerangabe) hat also nur 954 'echte'
MB. Diese für den Kunden ungünstige Rechenweise findet sich
bei fast allen Massenspeichern.
Copyright © Robert Schaffner (doit@doitarchive.de) Letzte Aktualisierung am 28. Dezember 2003
|