home *** CD-ROM | disk | FTP | other *** search
- Hardware-Patch for SCSI Host-Adapter Seagate ST01/2.
- ----------------------------------------------------
-
- By applying this fix, it is possible to use the cheap SCSI host
- adapters ST01 or ST02 as interface to the Tandberg streamer TDC 3660. I
- never tried other devices, but perhaps it is now possible to use even
- those disk drives, which normally don't work together with these
- controllers. The controller does't get faster though.
-
- There are at least 2 different versions of the ST0x adapters, an elder
- version with 8K ROM and a newer one with 16K ROM. I don't know of
- further differences. This patch refers to the 8K version.
-
- The traces for the bus signals REQ und ACK have to be cut between the
- controller chip and the SCSI connector. If termination resistors are
- used, the lines must be cut between the resistors and the chip.
-
- Hardware-Patch fuer SCSI Spar-Adapter Seagate ST01/2.
- -----------------------------------------------------
-
- Damit wird es möglich, zumindest dem Streamer Tandberg 3660 am ST01 zu
- betreiben. Plattenlaufwerke habe ich nicht ausprobiert, ich halte es
- jedoch fuer möglich, dass durch diesen Patch auch solche
- Plattenlaufwerke am ST01 betrieben werden können, die sonst nicht damit
- funktionieren. Wenn auch vielleicht nicht mit Interleave 1:1 (je
- schneller die Platte desto weniger wahrscheinlich).
-
- Das Ganze bezieht sich auf die ältere 8K-ROM-Version des ST01. Ob bei
- der 16K-ROM-Version mehr geändert wurde als die ROM-Größe, ist mir
- nicht bekannt.
-
- Die Leitungen der Bus-Signale REQ und ACK müssen jeweils zwischen dem
- Steuerchip und dem SCSI-Stecker aufgetrennt werden. Sind auf dem
- Adapter Abschlußwiderstände drauf, dann muß zwischen den
- Widerstandsnetzwerken und dem Steuerchip aufgetrennt werden.
-
- Circuit Diagram / Schaltbild:
- -----------------------------
-
- REQ = Pin 48 am SCSI Connector
- ACK = Pin 38 " "
-
- IC's: 132 = 74LS132
- 38 = 7438
-
- +5V
- │
- 330
- Ohm
- │ │\
- ACK ──┴────┤ \ │\
- (Chip) │132├───┬──────┤ \
- ┌──┤ / │ │38 ├──── ACK'
- │ │/ │ +5V──┤ / (Bus)
- \ │ │/
- \ │
- \ /
- \ /
- / \
- / \
- / │
- / │
- │ │\ │
- │\ └──┤ \ │ │\
- REQ ───┤ \ │132├───┴───┤ \
- (Bus) │132├───────┬──┤ / │132├──── REQ'
- +5V───┤ / │ │/ ┌───┤ / (Chip)
- │/ │ │ │/
- └──────────┘
-
-
- A Small Explanation of the Problem Solved:
- ------------------------------------------
-
- The status bit REQ directly reflects the corresponding bus line. If the
- target does not release the REQ line immediately after receipt of ACK,
- but holds the line for some time, the REQ bit stays active even after
- data transfer. The controller's software will be forced into false
- transmission of the next byte.
-
- As example, the streamer mentioned above holds the REQ bit sometimes
- for up to several hundred microseconds after receipt of the first
- command byte. But in block data transfer phase, the REQ bit is released
- and resserted very fast. If the software checks for a held REQ line, it
- might then interpret the REQ for the next byte as held REQ. Therefore
- this bug is difficult to fix in software (while possible, but
- device-dependant).
-
- With this patch applied, the REQ line is released immediately after
- receipt of ACK. Since the controller chip will immediately release
- ACK, the bus line ACK is held until the bus line REQ is released.
-
- Kurze Erläuterung des Problems, das hierdurch behoben wird:
- -----------------------------------------------------------
-
- Das Status-Bit REQ ist ein direktes Abbild der entsprechenden
- Bus-Leitung. Wenn nun das Target die REQ-Leitung nicht unmittelbar nach
- erhaltenem ACK deaktiviert, sondern noch eine gewisse Zeit stehenläßt,
- dann bleibt das REQ-Bit auch nach erfolgtem Datentransfer entsprechend
- lang gesetzt. Dies wird von der Software jedoch fälschlicherweise als
- Anforderung fuer das nächste Byte verstanden.
-
- Beispielsweise kann beim o.A. Streamer das REQ-Bit noch etliche hundert
- Mikrosekunden nach einem Kommando-Byte aktiv bleiben. Umgekehrt
- existieren jedoch Transfer-Zyklen (Block-Transfer), bei denen das
- REQ-Bit bereits so schnell deaktiviert und erneut generiert wird, dass
- eine Software-Abfrage auf stehengebliebenes REQ nicht zuverlässig
- möglich ist.
-
- Dieser Patch sorgt nun dafuer, dass die REQ-Leitung zum Chip des ST01
- unmittelbar nach aktiviertem ACK deaktiviert wird. Da dies jedoch zur
- sofortigen Deaktivierung von ACK durch den Steuerchip führt, muß
- zusätzlich sichergestellt werden, dass ACK auf dem Bus erst deaktiviert
- wird, wenn das Target seinerseits REQ deaktiviert hat, andersfalls wird
- das Byte vom Target nicht akzeptiert.
-
- Legal Notice (I don't write legal stuff in a foreign language, sorry):
- ----------------------------------------------------------------------
-
- Ich übernehme keinerlei Gewährleistung für korrekte Funktion oder
- irgendwelche daraus resultierenden Schäden oder Folgeschäden. Derartige
- Aktionen sollte man sich ohnehin nur zutrauen, wenn ausreichende Praxis
- in Elektronik und Löten vorhanden ist.
-
-
- Andreas Kaiser
- Fido: 2:241/7220.9
- Subnet: ak@ananke.stgt.sub.org
-