home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / os2 / gtak212b.zip / SOURCE.ZIP / OS2-ST01 / st01fix.txt < prev    next >
Text File  |  1992-05-23  |  6KB  |  129 lines

  1. Hardware-Patch for SCSI Host-Adapter Seagate ST01/2. 
  2. ----------------------------------------------------
  3.  
  4. By applying this fix, it is possible to use the cheap SCSI host
  5. adapters ST01 or ST02 as interface to the Tandberg streamer TDC 3660. I
  6. never tried other devices, but perhaps it is now possible to use even
  7. those disk drives, which normally don't work together with these
  8. controllers. The controller does't get faster though.
  9.  
  10. There are at least 2 different versions of the ST0x adapters, an elder
  11. version with 8K ROM and a newer one with 16K ROM. I don't know of
  12. further differences. This patch refers to the 8K version.
  13.  
  14. The traces for the bus signals REQ und ACK have to be cut between the
  15. controller chip and the SCSI connector. If termination resistors are
  16. used, the lines must be cut between the resistors and the chip.
  17.  
  18. Hardware-Patch fuer SCSI Spar-Adapter Seagate ST01/2. 
  19. -----------------------------------------------------
  20.  
  21. Damit wird es möglich, zumindest dem Streamer Tandberg 3660 am ST01 zu
  22. betreiben. Plattenlaufwerke habe ich nicht ausprobiert, ich halte es
  23. jedoch fuer möglich, dass durch diesen Patch auch solche
  24. Plattenlaufwerke am ST01 betrieben werden können, die sonst nicht damit
  25. funktionieren. Wenn auch vielleicht nicht mit Interleave 1:1 (je
  26. schneller die Platte desto weniger wahrscheinlich).
  27.  
  28. Das Ganze bezieht sich auf die ältere 8K-ROM-Version des ST01. Ob bei
  29. der 16K-ROM-Version mehr geändert wurde als die ROM-Größe, ist mir
  30. nicht bekannt.
  31.  
  32. Die Leitungen der Bus-Signale REQ und ACK müssen jeweils zwischen dem
  33. Steuerchip und dem SCSI-Stecker aufgetrennt werden. Sind auf dem
  34. Adapter Abschlußwiderstände drauf, dann muß zwischen den
  35. Widerstandsnetzwerken und dem Steuerchip aufgetrennt werden.
  36.  
  37. Circuit Diagram / Schaltbild:
  38. -----------------------------
  39.  
  40. REQ = Pin 48 am SCSI Connector
  41. ACK = Pin 38  "        "
  42.  
  43. IC's:  132 = 74LS132
  44.        38  = 7438
  45.  
  46.                  +5V
  47.                   │
  48.                  330
  49.                  Ohm
  50.                   │    │\
  51.             ACK ──┴────┤  \           │\    
  52.           (Chip)       │132├───┬──────┤  \  
  53.                     ┌──┤  /    │      │38 ├──── ACK'
  54.                     │  │/      │ +5V──┤  /     (Bus)
  55.                      \         │      │/    
  56.                        \       │
  57.                          \     /
  58.                            \ /
  59.                            / \
  60.                          /     \
  61.                        /       │
  62.                      /         │
  63.                     │  │\      │
  64.         │\          └──┤  \    │   │\   
  65.  REQ ───┤  \           │132├───┴───┤  \ 
  66. (Bus)   │132├───────┬──┤  /        │132├──── REQ'
  67.   +5V───┤  /        │  │/      ┌───┤  /     (Chip)
  68.         │/          │          │   │/    
  69.                     └──────────┘
  70.  
  71.  
  72. A Small Explanation of the Problem Solved:
  73. ------------------------------------------
  74.  
  75. The status bit REQ directly reflects the corresponding bus line. If the
  76. target does not release the REQ line immediately after receipt of ACK,
  77. but holds the line for some time, the REQ bit stays active even after
  78. data transfer. The controller's software will be forced into false
  79. transmission of the next byte.
  80.  
  81. As example, the streamer mentioned above holds the REQ bit sometimes
  82. for up to several hundred microseconds after receipt of the first
  83. command byte. But in block data transfer phase, the REQ bit is released
  84. and resserted very fast. If the software checks for a held REQ line, it
  85. might then interpret the REQ for the next byte as held REQ. Therefore
  86. this bug is difficult to fix in software (while possible, but
  87. device-dependant).
  88.  
  89. With this patch applied, the REQ line is released immediately after
  90. receipt of ACK. Since the controller chip will immediately release
  91. ACK, the bus line ACK is held until the bus line REQ is released.
  92.  
  93. Kurze Erläuterung des Problems, das hierdurch behoben wird: 
  94. -----------------------------------------------------------
  95.  
  96. Das Status-Bit REQ ist ein direktes Abbild der entsprechenden
  97. Bus-Leitung. Wenn nun das Target die REQ-Leitung nicht unmittelbar nach
  98. erhaltenem ACK deaktiviert, sondern noch eine gewisse Zeit stehenläßt,
  99. dann bleibt das REQ-Bit auch nach erfolgtem Datentransfer entsprechend
  100. lang gesetzt. Dies wird von der Software jedoch fälschlicherweise als
  101. Anforderung fuer das nächste Byte verstanden.
  102.  
  103. Beispielsweise kann beim o.A. Streamer das REQ-Bit noch etliche hundert
  104. Mikrosekunden nach einem Kommando-Byte aktiv bleiben. Umgekehrt
  105. existieren jedoch Transfer-Zyklen (Block-Transfer), bei denen das
  106. REQ-Bit bereits so schnell deaktiviert und erneut generiert wird, dass
  107. eine Software-Abfrage auf stehengebliebenes REQ nicht zuverlässig
  108. möglich ist.
  109.  
  110. Dieser Patch sorgt nun dafuer, dass die REQ-Leitung zum Chip des ST01
  111. unmittelbar nach aktiviertem ACK deaktiviert wird. Da dies jedoch zur
  112. sofortigen Deaktivierung von ACK durch den Steuerchip führt, muß
  113. zusätzlich sichergestellt werden, dass ACK auf dem Bus erst deaktiviert
  114. wird, wenn das Target seinerseits REQ deaktiviert hat, andersfalls wird
  115. das Byte vom Target nicht akzeptiert.
  116.  
  117. Legal Notice (I don't write legal stuff in a foreign language, sorry):
  118. ----------------------------------------------------------------------
  119.  
  120. Ich übernehme keinerlei Gewährleistung für korrekte Funktion oder
  121. irgendwelche daraus resultierenden Schäden oder Folgeschäden. Derartige
  122. Aktionen sollte man sich ohnehin nur zutrauen, wenn ausreichende Praxis
  123. in Elektronik und Löten vorhanden ist.
  124.  
  125.         
  126.                 Andreas Kaiser
  127.                 Fido:   2:241/7220.9
  128.                 Subnet: ak@ananke.stgt.sub.org
  129.