da zwischen Master und Slave ein Bit des übertragenen Protokolls entscheidet
Stimmt, aber Hardware-seitig muss erst einmal unmittelbar nach Freigabe des RESET-Signals ein komplexer Abstimmungsprozess zwischen Master und Slave ERFOLGREICH abgelaufen sein. Es kommt vor, das einige Laufwerke einfach nicht "miteinander können". Machmal hilft es, die Rollen von Master und Slave zu tauschen, manchmal hilft gar nichts. Was immer gehen sollte: 2 Laufwerke gleichen Fabrikats und Typs.
Für Interessierte: Was nach RESET so alles läuft:
4.1 Configuration
This standard defines the ATA interface containing a single host or host adapter and one or two devices. If two devices are connected to the interface, they are connected in a daisy chained configuration. One device is configured as Device 0 and the other device as Device 1.
The designation of a device as Device 0 or Device 1 may be made in a number of ways:
- a switch or a jumper on the device
- use of the Cable Select (CSEL) pin
...
5.2.4 DASP- (Device active, device 1 present)
This is a time-multiplexed signal which indicates that a device is active, or that Device 1 is present.
This signal shall be an open collector output and each device shall have a 10K ohm pull-up resistor.
During power on initialization or after RESET- is negated, DASP- shall be deasserted by both Device 0 and Device 1 within 1 ms, and then Device 1 shall assert DASP- within 400 ms, to indicate that Device 1 is present.
Device 0 shall allow up to 450 ms for Device 1 to assert DASP-.
DASP- shall be negated following acceptance of a command by Device 1 or after 31 s, whichever comes first.
Any time after negation of DASP-, either device may assert DASP- to indicate that a device is active.
If the host connects to the DASP- signal for the illumination of an LED or for any other purpose, the host shall ensure that the signal level seen on the ATA interface for DASP- shall maintain Voh and Vol compatibility, given the Ioh and Iol requirements of the DASP- device drivers.
...
5.2.13 PDIAG- (Passed diagnostics)
This signal shall be asserted by Device 1 to indicate to Device 0 that it has completed diagnostics. A 10K ohm pull-up resistor shall be used on this signal by each device.
Following a power on reset, software reset or RESET-, Device 1 shall negate PDIAG- within 1 ms (to indicate to Device 0 that it is busy). Device 1 shall then assert PDIAG- within 30 seconds to indicate that it is no longer busy, and is able to provide status. If Device 1 is present, then Device 0 shall wait for up to 31 seconds from power-on reset, software reset or RESET- for Device 1 to assert PDIAG-. If Device 1 fails to assert PDIAG-, Device 0 shall set bit 7 to 1 in the Error register to indicate that Device 1 failed. After the assertion of PDIAG-, Device 1 may be unable to accept commands until it has finished its reset procedure and is Ready (the DRDY bit is equal to one).
Following the receipt of a valid EXECUTE DEVICE DIAGNOSTIC command, Device 1 shall negate PDIAG- within 1 ms to indicate to Device 0 that it is busy and has not yet passed its device diagnostics.
Device 1 shall then assert PDIAG- within 5 seconds to indicate that it is no longer busy, and is able to provide status. Device 1 should clear the BSY bit before asserting PDIAG-. If Device 1 is present then Device 0 shall wait for up to 6 seconds from the receipt of a valid EXECUTE DEVICE DIAGNOSTIC command for Device 1 to assert PDIAG-. If Device 1 fails to assert PDIAG-, Device 0 shall set bit 7 to 1 in the Error register to indicate that Device 1 failed.
If DASP- was not asserted by Device 1 during reset initialization, Device 0 shall post its own status immediately after it completes diagnostics, and clear the Device 1 Status register to 00h. Device 0 may be unable to accept commands until it has finished its reset procedure and is Ready (the DRDY bit is equal to one).
It is recommended that the host make no connect to the PDIAG- signal.
...
5.2.15.2 CSEL (Cable select) (optional)
The device is configured as either Device 0 or Device 1 depending upon the value of CSEL:
- If CSEL is negated then the device address is 0
- If CSEL is asserted then the device address is 1
CSEL shall be maintained at a steady level for at least 31 seconds after the negation of
RESET-.
NOTE 7 - Special cabling can be used by the system manufacturer to selectively ground CSEL
e.g., CSEL of Device 0 is connected to the CSEL conductor in the cable, and is grounded, thus
allowing the device to recognize itself as Device 0. CSEL of Device 1 is not connected to
CSEL because the conductor is removed, thus the device can recognize itself as Device 1.
...
9.1 Power on and hardware resets
This clause describes the algorithm and timing relationships for Devices 0 and 1 during the processing of power on and hardware resets.
The timing assumes the following:
a) DASP- is asserted by Device 1 and received by Device 0 at power-on or hardware reset to indicate the presence of Device 1. At all other times it is asserted by Device 0 or Device 1 to indicate when a device is active;
b) PDIAG- is asserted by Device 1 and detected by Device 0. It is used by Device 1 to indicate to Device 0 that it has completed diagnostics without error and is ready to accept commands from the
Host (BSY bit is cleared). This does not indicate that the device is ready, only that it can accept commands.
9.1.1 Power on and hardware resets - device 0
a) Host asserts RESET- for a minimum of 25 usec;
b) Device 0 sets the BSY bit no later than 400 ns after RESET- is negated;
c) Device 0 negates DASP- no later than 1 ms after RESET- is negated;
d) Device 0 samples for at least 450 ms for DASP- to be asserted from Device 1. This sampling starts 1 ms after RESET- is negated;
e) Device 0 performs hardware initialization and diagnostics;
f) Device 0 may revert to its default condition;
g) If Device 0 detected that DASP- was asserted during step d), then Device 0 waits up to 31 seconds for Device 1 to assert PDIAG-. If PDIAG- is asserted within 31 seconds, Device 0 sets bit 7 equal to 0 in the Error Register, else Device 0 sets bit 7 equal to 1 in the Error Register. If DASPassertion was not detected in step d) Device 0 sets bit 7 equal to 0 in the Error Register. In either case the device shall set the Sector Count register to 01h, the Sector Number register to 01h, the Cylinder Low register to 00h, the Cylinder High register to 00h, and the Device/Head register to 00h. Device 0 shall store whether or not Device 1 was detected in step d) because this information is need in order to process any Software reset or EXECUTE DEVICE DIAGNOSTIC command later;
h) Device 0 posts diagnostic results to bits 6-0 of the Error Register;
i) Device 0 clears the BSY bit when ready to accept commands that do not require the DRDY bit to be equal to 1. Device 0 shall clear the BSY bit no later than 31 seconds from the time that RESET- is negated;
j) Device 0 sets the DRDY bit when ready to accept any command.
NOTE 34 - Steps i) and j) may occur at the same time. While no maximum time is specified for the DRDY bit to be set to 1, a host should allow up to 2 minutes for the DRDY bit to become 1. See figure 8.
9.1.1 Power on and hardware resets - device 1
a) Host asserts RESET- for a minimum of 25 us;
b) Device 1 sets the BSY bit no later than 400 ns after RESET- is negated;
c) Device 1 negates DASP- no later than 1 ms after RESET- is negated;
d) Device 1 negates PDIAG- before asserting DASP-;
e) Device 1 asserts DASP- no later than 400 ms after RESET- is negated;
f) Device 1 performs hardware initialization and diagnostics;
g) Device 1 may revert to its default condition;
h) Device 1 posts diagnostic results to the Error Register;
i) Device 1 clears the BSY bit when ready to accept commands that do not require the DRDY bit to be equal to 1;
j) If Device 1 passed its diagnostics without error in step f), Device 1 asserts PDIAG-. If the diagnostics failed, Device 1 does not assert PDIAG- and continues to the next step. Device 1 shall clear the BSY bit, and optionally assert PDIAG-, no later than 30 seconds from the time RESET- is negated. The device shall set the Sector Count register to 01h, the Sector Number register to 01h, the Cylinder Low register to 00h, the Cylinder High register to 00h, and the Device/Head register to 00h;
k) Device 1 sets the DRDY bit when ready to accept any command;
NOTE 35 - Steps i), j) and k) may occur at the same time. While no maximum time is specified for the DRDY bit to be set to 1, a host should allow up to 2 minutes for the DRDY bit to become 1. See figure 8.
l) Device 1 negates DASP- after the first command is received or negates DASP- if no command is received within 31 seconds after RESET- is asserted.
Gruß, Holger