home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / vrac / ataid011.zip / ATAIDREF.TXT < prev    next >
Text File  |  1994-07-28  |  16KB  |  334 lines

  1. Documentation for ATAID (AT Attachemnt Identification) Program
  2.  
  3.  
  4.  
  5. Table of contents
  6. 1.    History                                3
  7. 2.    Connectors                            3
  8. 2.1.    Power connector                            3
  9. 2.2.    Interface Connector                        3
  10. 2.3.    I/O cable                            3
  11. 3.    Signal descriptions                        4
  12. 3.1.    Connections                            4
  13. 3.2.    CS0- (CHIP SELECT 0)                        5
  14. 3.3.    CS1- (CHIP SELECT 1)                        5
  15. 3.4.    DA2, DA1, and DA0 (DEVICE ADDRESS BUS)                5
  16. 3.5.    DASP- (DRIVE ACTIVE, SLAVE (DRIVE 1) PRESENT)            5
  17. 3.6.    DD0-DD15 (Drive data bus)                    5
  18. 3.7.    DIOR- (Drive I/O read)                        5
  19. 3.8.    DIOW- (Drive I/O write)                        5
  20. 3.9.    DMACK- (DMA acknowledge) (Optional)                5
  21. 3.10.DMARQ (DMA request) (Optional)                    5
  22. 3.11.INTRQ (Drive interrupt)                        6
  23. 3.12.IOCS16- (Drive 16-bit I/O)                        6
  24. 3.13.IORDY (I/O channel ready) (Optional)                6
  25. 3.14.PDIAG- (Passed diagnostics)                    6
  26. 3.15.RESET- (Drive reset)                        6
  27. 3.16.SPSYNC:CSEL (Spindle synchronization/cable select)Optional)    6
  28. 4.    Drive Addressing                        7
  29.  
  30.  
  31.  
  32.  
  33.  
  34. 1.    History
  35. When the IBM PC-AT was introduced it's key to good performance was the inclusion 
  36. of a hard disk.  
  37.  
  38. The PC AT Bus interface is a widely used and implemented interface for which a 
  39. variety of peripherals have been manufactured.  in order to reduce size and 
  40. cost, a the controller was eventually embedded in the drive.  
  41.  
  42. Because of their compatibility with existing AT hardware and software this 
  43. interface quickly became a de facto industry standard.  While the AT Attachment 
  44. Interface has its roots in the PC AT Bus, its use has extended to many other 
  45. systems.
  46.  
  47. The interface in use became widespread and as with all good electronics devices, 
  48. need room to change.  Laptop makers wanted to change the physical connector 
  49. design, system builders wanted to reduce cost through integration.  Everyone 
  50. wanted better perfromance, and additional devices such as CD-ROM and tape drives 
  51. became more popular, so a number of revisoins were made, are are being proposed 
  52. for future enhancements.
  53.  
  54. The standard defines an integrated bus which interfaces between disk drives 
  55. and/or other types of devices and host processors.  It provides a common point 
  56. of attachment for systems manufacturers, system integrators, and suppliers of 
  57. intelligent peripherals.
  58.  
  59. 2.    Connectors
  60. 2.1.    Power connector
  61.  
  62. Power line designation    Pin number
  63. +12V    1-01
  64. +12V Return    1-02
  65. +5V Return    1-03
  66. +5V    1-04
  67.  
  68. Recommended part numbers for the mating connector to 18 AWG cable are shown 
  69. below, but equivalent parts may be used.
  70. Connector (4 pin)    AMP 1-480424-0 or equivalent.
  71. Contacts (loose piece)    AMP 60619-4 or equivalent.
  72. Contacts (strip)    AMP 61117-4 or equivalent.
  73.  
  74.  
  75.  
  76. 2.2.    Interface Connector
  77.  
  78.            +-----------------------+
  79.            |                      1|
  80.            |40         20         2|
  81.          ======= Circuit board =======       ==-==== Circuit board ====-==
  82.                                                |                      1|  
  83.                                                |40         20         2|  
  84.                                                +-----------------------+  
  85.  
  86.              Figure 2 - 40-Pin Connector Mounting
  87.  
  88. Recommended part numbers for the mating connector are shown below, but 
  89. equivalent parts may be used.
  90.  
  91. Connector (40 pin)    3M 3417-7000 or equivalent.
  92. Strain relief    3M 3448-2040 or equivalent.
  93.  
  94.  
  95. 2.3.    I/O cable 
  96.  
  97. The cable specifications affect system integrity and the maximum length that can 
  98. be supported in any application.
  99.  
  100. Flat cable (stranded 28 AWG)    3M 3365-40 or equivalent.
  101. Flat cable (stranded 28 AWG)    3M 3517-40 (shielded) or equivalent.
  102.  
  103. Cable length of 0,46m (18 inches).  This distance may be exceeded in 
  104. circumstances where the characteristics of both ends of the cable can be 
  105. controlled.
  106.  
  107. Cable capacitance shall not exceed 35 pF.
  108.  
  109.  
  110. 3.    Signal descriptions
  111. 3.1.    Connections
  112.  
  113. the electrical interface is uses TTL compatable tramitters/recievers and a 40 
  114. conductor ribbon cable.  the pin numbers are shown below:
  115.  
  116. +========================+=============+====+===========+
  117. | Description            | Source      |Pin | Acronym   |         
  118. +------------------------+-------------+----+-----------+
  119. | Reset                  | Host        |  1 | RESET-    |
  120. |                        | n/a         |  2 | Ground    |
  121. | Data bus bit 7         | Host/Device |  3 | DD7       |
  122. | Data bus bit 8         | Host/Device |  4 | DD8       |
  123. | Data bus bit 6         | Host/Device |  5 | DD6       |
  124. | Data bus bit 9         | Host/Device |  6 | DD9       |
  125. | Data bus bit 5         | Host/Device |  7 | DD5       |
  126. | Data bus bit 10        | Host/Device |  8 | DD10      |
  127. | Data bus bit 4         | Host/Device |  9 | DD4       |
  128. | Data bus bit 11        | Host/Device | 10 | DD11      |
  129. | Data bus bit 3         | Host/Device | 11 | DD3       |
  130. | Data bus bit 12        | Host/Device | 12 | DD12      |
  131. | Data bus bit 2         | Host/Device | 13 | DD2       |
  132. | Data bus bit 13        | Host/Device | 14 | DD13      |
  133. | Data bus bit 1         | Host/Device | 15 | DD1       |
  134. | Data bus bit 14        | Host/Device | 16 | DD14      |
  135. | Data bus bit 0         | Host/Device | 17 | DD0       |
  136. | Data bus bit 15        | Host/Device | 18 | DD15      |
  137. | Ground                 | n/a         | 19 | Ground    |
  138. | (keypin)               | n/a         | 20 | Reserved  |
  139. | DMA Request            | Device      | 21 | DMARQ     |
  140. | Ground                 | n/a         | 22 | Ground    |
  141. | I/O Write              | Host        | 23 | DIOW-     |
  142. | Ground                 | n/a         | 24 | Ground    |
  143. | I/O Read               | Host        | 25 | DIOR-     |
  144. | Ground                 | n/a         | 26 | Ground    |
  145. | I/O Ready              | Device      | 27 | IORDY     |
  146. | Spindle Sync or        | (note 1)    | 28 | SPSYNC:   |
  147. |    Cable Select        |             |    |   CSEL    |
  148. | DMA Acknowledge        | Host        | 29 | DMACK-    |
  149. | Ground                 | n/a         | 30 | Ground    |
  150. | Interrupt Request      | Device      | 31 | INTRQ     |
  151. | 16 Bit I/O             | Device      | 32 | IOCS16-   |
  152. | Device Address Bit 1   | Host        | 33 | DA1       |
  153. | PASSED DIAGNOSTICS     | (note 1)    | 34 | PDIAG-    |
  154. | Device Address Bit 0   | Host        | 35 | DAO       |
  155. | Device Address Bit 2   | Host        | 36 | DA2       |
  156. | Chip Select 0          | Host        | 37 | CS0-      |
  157. | Chip Select 1          | Host        | 38 | CS1-      |
  158. | Drive Active or        | (note 1)    | 39 | DASP-     |
  159. |  Slave(Drive 1) Present|             |    |           |
  160. | Ground                 | n/a         | 40 | Ground    |
  161. +------------------------+-------------+----+-----------+
  162.  
  163. 3.2.    CS0- (CHIP SELECT 0)
  164. This is the chip select signal from the host used to select the Command Block 
  165. Registers.
  166.  
  167. 3.3.    CS1- (CHIP SELECT 1)
  168. This is the chip select signal from the host used to select the Control Block 
  169. Registers.
  170. Note:  This signal has also been known in the industry as CS3FX-.
  171.  
  172. 3.4.    DA2, DA1, and DA0 (DEVICE ADDRESS BUS) 
  173. This is the 3-bit binary coded address asserted by the host to access a register 
  174. or data port in the drive.
  175.  
  176. 3.5.    DASP- (DRIVE ACTIVE, SLAVE (DRIVE 1) PRESENT)
  177. This signal is not TTL compatible.It is an open collector output and each drive 
  178. pulls it up with a 10 K ohm resistor.
  179. This is a time-multiplexed signal which indicates that a drive is active, or 
  180. that Drive 1 is present.  During power on initialization or after RESET- is 
  181. negated, DASP- shall be deasserted by both Drive 0 and Drive 1 within 1 msec, 
  182. and then Drive 1 shall assert DASP- within 400 msec to indicate that Drive 1 is 
  183. present.
  184. Drive 0 shall allow up to 450 msec for Drive 1 to assert DASP-.  If Drive 1 is 
  185. not present, Drive 0 may assert DASP- to drive an activity LED.
  186. DASP- shall be negated following acceptance of the first valid command by Drive 
  187. 1 or after 31 seconds, whichever comes first.
  188. Any time after negation of DASP-, either drive may assert DASP- to indicate that 
  189. a drive is active.
  190. NOTE 1 Prior to the development of this standard, products were introduced        
  191. which did not time multiplex DASP-.  Some used two jumpers to indicate to 
  192. Drive 0 whether Drive 1 was present.  If such a drive is jumpered to indicate 
  193. Drive 1 is present it should work successfully with a Drive 1 which complies 
  194. with this standard.  If installed as Drive 1, such a drive may or may not work 
  195. successfully because it may not assert DASP- for a long enough period to be 
  196. recognized.  However, it would assert DASP-to indicate that the drive is active.
  197.  
  198. 3.6.    DD0-DD15 (Drive data bus)
  199. This is an 8- or 16-bit bi-directional data bus between the host and the drive.  
  200. The lower 8 bits are used for 8-bit transfers (e.g. registers, ECC bytes) and, 
  201. if the drive supports the Features register capability to enable 8-bit-only data 
  202. transfers.
  203.  
  204. 3.7.    DIOR- (Drive I/O read)
  205. This is the Read strobe signal.  The falling edge of DIOR- enables data from a 
  206. register or the data port of the drive onto the host data bus, DD0-DD7 or DD0-
  207. DD15.  The rising edge of DIOR- latches data at the host.
  208.  
  209. 3.8.    DIOW- (Drive I/O write)
  210. This is the Write strobe signal.  The rising edge of DIOW- clocks data from the 
  211. host data bus, DD0-DD7 or DD0-DD15, into a register or the data port of the 
  212. drive.
  213.  
  214. 3.9.    DMACK- (DMA acknowledge) (Optional)
  215. This signal shall be used by the host in response to DMARQ to either acknowledge 
  216. that data has been accepted, or that data is available.
  217.  
  218. 3.10.DMARQ (DMA request) (Optional)
  219. This signal, used for DMA data transfers between host and drive, shall be 
  220. asserted by the drive when it is ready to transfer data to or from the host.  
  221. The direction of data transfer is controlled by DIOR- and DIOW-.  This signal is 
  222. used in a handshake manner with DMACK- i.e.  the drive shall wait until the host 
  223. asserts DMACK- before negating DMARQ, and re-asserting DMARQ if there is more 
  224. data to transfer.
  225. When a DMA operation is enabled, IOCS16-, CS0- and CS1- shall not be asserted 
  226. and transfers shall be 16-bits wide.
  227.  
  228. 3.11.INTRQ (Drive interrupt)
  229. This signal is used to interrupt the host system.  INTRQ is asserted only when 
  230. the drive has a pending interrupt, the drive is selected, and the host has 
  231. cleared nIEN in the Device Control register.  If nIEN=1, or the drive is not 
  232. selected, this output is in a high impedance state, regardless of the presence 
  233. or absence of a pending interrupt.
  234. INTRQ shall be negated by:
  235.     -    assertion of RESET- or
  236.     -    the setting of SRST of the Device Control register, or 
  237.     -    the host writing the Command register or
  238.     -    the host reading the Status register 
  239.  
  240. 3.12.IOCS16- (Drive 16-bit I/O)
  241. Except for DMA transfers, IOCS16- indicates to the host system that the 16-bit 
  242. data port has been addressed and that the drive is prepared to send or receive a 
  243. 16-bit data word.  This shall be an open collector output.
  244. *    When transferring in PIO mode, if IOCS16- is not asserted, transfers shall 
  245. be 8-bit using DD0-7.
  246. *    When transferring in PIO mode, if IOCS16- is asserted, transfers shall be 
  247. 16-bit using DD0-15.
  248. *    When transferring in DMA mode, the host shall use a 16-bit DMA channel         
  249. and IOCS16- shall not be asserted.
  250.  
  251. 3.13.IORDY (I/O channel ready) (Optional)
  252. This signal is negated to extend the host transfer cycle of any host register 
  253. access (Read or Write) when the drive is not ready to respond to a data transfer 
  254. request.  When IORDY is not negated, IORDY shall be in a high impedance state.
  255.  
  256. 3.14.PDIAG- (Passed diagnostics)
  257. This signal shall be asserted by Drive 1 to indicate to Drive 0 that it has 
  258. completed diagnostics.  A 10K ohm pull-up resistor shall be used on this signal 
  259. by each drive.
  260.  
  261. 3.15.RESET- (Drive reset)
  262. This signal from the host system shall be asserted for at least 25 usec after 
  263. voltage levels have stabilized during power on and negated thereafter unless 
  264. some event requires that the drive(s) be reset following power on.
  265.  
  266. 3.16.SPSYNC:CSEL (Spindle synchronization/cable select) (Optional) 
  267. This signal shall have a 10K ohm pull-up resistor.
  268. This is a dual purpose signal and either or both functions may be implemented.  
  269. If both functions are implemented then they cannot be active concurrently: the 
  270. choice as to which is active is made by a vendor-defined switch.
  271. All drives connected to the same cable should have the same function active at 
  272. the same time.  If SPSYNC and CSEL are mixed on the same cable, then drive 
  273. behavior is undefined.
  274. Prior to the introduction of this standard, this signal was defined as DALE 
  275. (Drive Address Latch Enable), and used for an address valid indication from the 
  276. host system.  If used, the host address and chip selects, DAO through DA2, CS0-, 
  277. and CS1- were valid at the negation of this signal and remained valid while DALE 
  278. was negated, therefore, the drive did not need to latch these signals with DALE.
  279.  
  280. 3.16.1.SPSYNC (Spindle synchronization) (Optional) 
  281. This signal may be either input or output to the drive depending on a vendor-
  282. defined switch.  If a drive is set to Drive 0 the signal is output, and if a 
  283. drive is set to slave the signal is input.
  284. There is no requirement that each drive implementation be plug-compatible to the 
  285. extent that a multiple vendor drive subsystem be operable.  Mix and match of 
  286. different manufacturers drives is unlikely because rpm, sync fields, sync bytes 
  287. etc. need to be virtually identical.  However, if drives are designed to match 
  288. the following recommendation, controllers can operate drives with a single 
  289. implementation.
  290. There can only be one Drive 0 drive at a time in a configuration.  The host or 
  291. the drive designated as Drive 0 can generate SPSYNC at least once per rotation, 
  292. but may be at a higher frequency.
  293. SPSYNC received by a drive is used as the synchronization signal to lock the 
  294. spindles in step.  The time to achieve synchronization varies, and is indicated 
  295. by the drive setting DRDY i.e. if the drive is capable of spindle 
  296. synchronization and if it is set to acquire synchronization from another SPSYNC 
  297. source, but does not achieve synchronization following power on or a reset, it 
  298. shall not set DRDY. 
  299. Driver 0 or the host generates SPSYNC and transmits it.
  300. Drive 1 does not generate SPSYNC and is responsible to synchronize its index to 
  301. SPSYNC.
  302. If a drive does not support synchronization, it shall ignore SPSYNC.
  303. In the event that a drive previously synchronized loses synchronization, but is 
  304. otherwise operational, it does not clear DRDY.
  305.  
  306. 3.16.2.CSEL (Cable select) (Optional)
  307. The drive is configured as either Drive 0 or Drive 1 depending upon the value of 
  308. CSEL:
  309. *       If CSEL is grounded then the drive address is 0
  310. *       If CSEL is open then the drive address is 1
  311. Special cabling can be used by the system manufacturer to selectively ground 
  312. CSEL e.g.  CSEL of Drive 0 is connected to the CSEL conductor in the cable, and 
  313. is grounded, thus allowing the drive to recognize itself as Drive 0.  CSEL of 
  314. Drive 1 is not connected to CSEL because the conductor is removed, thus the 
  315. drive can recognize itself as Drive 1.
  316.  
  317.  
  318.  
  319. 4.    Drive Addressing
  320. A drive can operate in either of two addressing modes, CHS or LBA, on a command 
  321. by command basis.  A drive which can support LBA mode indicates this in the 
  322. Identify Drive Information.  
  323. If the host selects LBA mode in the Drive/Head register, Sector Number register, 
  324. Cylinder Low register, Cylinder High register and HS3-HS0 of the Drive/Head 
  325. register contains the zero based-LBA.
  326. In LBA mode, the sectors on the drive are assumed to be linearly mapped with an 
  327. Initial definition of: LBA 0 = (cylinder 0, head 0, sector 1).  Irrespective of 
  328. translate mode geometry set by the host, the LBA address of a given sector does 
  329. not change:
  330.  
  331. LBA = ((cylinder * heads_per_cylinder + heads) * sectors_per_track) + sector - 1
  332.  
  333.  
  334.