ISD-200 ETC2 [List of Unclassifed Manufacturers], ISD-200 Datasheet

no-image

ISD-200

Manufacturer Part Number
ISD-200
Description
USB Mass Storage Class Bulk-Only Specification Compliant
Manufacturer
ETC2 [List of Unclassifed Manufacturers]
Datasheet
3URGXFW 'DWD 6KHHW
,6' $6,&
3DUW QXPEHU
,6' ´µµµ
Revision 2.0
June 15, 2000
Copyright
2000 – In-System Design, Inc.
Notice:
In-System Design assumes no liability whatsoever for errors and omissions in this
document. In-System Design reserves the right to make changes at any time, without
notice. Please confirm that this document revision is current.

Related parts for ISD-200

ISD-200 Summary of contents

Page 1

Copyright In-System Design assumes no liability whatsoever for errors and omissions in this document. In-System Design reserves the right to make changes at any time, without notice. Please confirm that this document revision ...

Page 2

...

Page 3

... ROTOCOL R M ........................................................................................................................................ 26 ESET APPING D R ............................................................................................................................ 27 EVICE EQUIREMENTS ATA Power Supplied from the USB Bus ............................................................................................. 27 ATA Reset, A1h, FBh .......................................................................................................................... 27 ATA Polling Device ............................................................................................................................. 27 ISD-200 ATA Bus State During Idle.................................................................................................... 27 ATA PIO Support................................................................................................................................. 27 ATA I T ................................................................................................................ 27 NITIALIZATION IMEOUT EVICE NITIALIZATION EQUENCE Table of Contents USB D S ...

Page 4

... UPPORT NOT PROVIDED FOR 9. CLKN DOES NOT GET THE CORRECT FREQUENCY IN ALL CASES 10. F AILURE TO OVERRIDE DESCRIPTORS FOR SLAVE DEVICE WHEN 11. P ATACB OSSIBLE HANG IN FUNCTIONALITY DEVICE ERRATA FOR SECOND SILICON ISD-200 “0003” ............................................................ 52 ii ........................................................................................................ 35 .................................................................................................... 44 T ................................................................................................ 46 IMING ........................................................................................ 47 ........................................................................................ 47 ASIC USB ...

Page 5

... ISD-200 ASIC Datasheet 100. ATA_R , DIOR, N ESET N AND N 101. CLKN DOES NOT GET THE CORRECT FREQUENCY IN ALL CASES 102. F AILURE TO OVERRIDE DESCRIPTORS FOR SLAVE DEVICE WHEN 103. P ATACB OSSIBLE HANG IN FUNCTIONALITY DIOW ALLOW PARASITIC CURRENT DRAW DURING SUSPEND ........................................................ 52 BSY=0 . ................................................................................... 54 In-System Design Confidential ...

Page 6

... ISD-200 ASIC Datasheet Table 1 – Pin Descriptions ............................................................................................................................. 9 Table 2 – ISD-200 Configuration and Descriptor Sources........................................................................... 12 Table 3 – ISD-200 Configuration Bytes....................................................................................................... 15 Table 4 – Valid Configuration Byte Settings ............................................................................................... 16 Table 5 – Mass Storage Class Bulk-Only Requests ..................................................................................... 18 Table 6 – Vendor-Specific Requests ............................................................................................................ 18 Table 7– Device Descriptor.......................................................................................................................... 21 Table 8 – Configuration Descriptor(s).......................................................................................................... 22 Table 9 – ...

Page 7

... ISD-200 ASIC Datasheet Figure 1 – Pin Layout ..................................................................................................................................... 7 Figure 2 – ATA Reset Protocol .................................................................................................................... 28 Figure 3 – Full Device Initialization Sequence ............................................................................................ 30 Figure 4 – ATA Command Block Flow Diagram ........................................................................................ 34 Figure 5 – Configuration Sequence .............................................................................................................. 41 Figure 6 – External Components Connection............................................................................................... 44 Figure 7 – IORDY Hookup .......................................................................................................................... 44 2 Figure 8 – Memory Device Interface Timing......................................................................................... 46 Figure 9 – ...

Page 8

... Added length restriction to USB string descriptors Added text to indicate a serial number string descriptor is required for MSC compliance Fixed READ/LOAD_CONFIG parameter descriptions. Added Internal ROM values to ISD-200 Configuration table. Changed description of some ISD-200 Configuration bits. Restructured the outline to avoid conflicting statements and redundancy ...

Page 9

... ISD-200 ASIC Datasheet Pin Information IORDY 49 NCS0 50 NCS1 51 VDD33 52 DA2 53 DA0 54 DA1 55 NDIOR 56 57 VSS NDIOW 58 59 VDD18 60 DD15 VSS 61 DD0 62 DD14 63 DD1 Figure 1 – Pin Layout ...

Page 10

... Manufacturing test pin. Scan mode select input. down 100K internal pull down resistor. I TTL 3.3V USB descriptor and ISD-200 configuration data is obtained from the device by the vendor-specific ATAPI (FBh) command. If set (I_MODE=1) and USB Bus powered (BUS_POWER=1), the device must be able to respond to the FBh ATAPI command when nPWR100 is active ...

Page 11

... ISD-200 ASIC Datasheet Pin Name TQFP Pin # DPLS, DMNS 44, 43 USB_ENUM 46 LED 33 NPWR100 22 BUS_POWER 41 VDD18 13, 32, 36, 59 VDD33 4, 23, 47, 52 VSS 9, 17, 26, 34, 42, 45, 57, 61 Table 1 – Pin Descriptions Dir Type Description IO USB Transceiver USB differential data TTL 3.3V USB enumeration control. Power source / sink for 1 ...

Page 12

... USB Bus Powered Self Powered Dynamic (USB Bus or Self Powered) Support with USB Bus Power Capabilities Output Pins Flexible USB Descriptor and ISD-200 Configuration Retrieval Source I2C Serial ROM Interface ATA Interface Using Vendor Specific ATA Command (FBh Implemented on ATAPI or ATA Device) ...

Page 13

... Hardware design allows ATAPI command queuing which allows data transfer rates the USB theoretical maximum of 12 Mb/sec. The USB port of the ISD-200 is connected to a host computer directly or via the downstream port of a USB hub. Host software issues commands and data to the ISD-200 and receives status and data from the ISD- 200 using standard USB protocol ...

Page 14

... Hardware detects the presence of a serial ROM and, if one is present, performs a data validity check. This check is in the form of a ‘signature’ and is located at the beginning of the serial ROM data (Addresses 0x0 – 0x1, Table 3). If none is detected or the signature check fails, the ISD-200 will return configuration and descriptor data from the internal on-board ROM. ...

Page 15

... An example of vendor-specific Identify (FBh) data formatting is shown in Appendix A. ISD-200 Configuration/USB Descriptor Data Formatting Data formatting for all ISD-200 configuration data and USB descriptor data is identical for Internal ROM, Serial ROM, and vendor-specific Identify (FBh) data. The following sections show how the ISD-200 configuration data is mapped into address space ...

Page 16

... Bit [5] “0” - Drive 0 “1” - Drive 1 ATAPI DEVICE This bit specifies that the ISD-200 perform a ATAPI DEVICE RESET RESET – Bit [4] command during a full initialization sequence. ATA Timing – Bits This field determines ATA Bus data access cycle times. ...

Page 17

... ATA lines(NCS(1:0), DA(2:0), DD(15:0), and IORDY_PU_EN) are driven low. (See Power Management section) Descriptor Override – Setting this bit causes the ISD-200 to override the USB Descriptors for ATA Bit[3] devices. Not compatible with setting BUS_POWER=1. If set, (I_MODE = 0), AND (ATA device identified or device initialization ...

Page 18

... Configuration Descriptors The ISD-200 can support one or two configuration descriptors. If the system can operate as USB Bus powered and self powered, the ISD-200 requires that the first configuration descriptor be “dynamic” and the second be self powered. If the system can only operate as USB Bus powered or self powered, then only the first configuration descriptor is used (the second configuration descriptor is zeroed out and not reported to the host) ...

Page 19

... ISD-200 ASIC Datasheet Descriptor Override If the ISD-200 used in applications where either ATA or ATAPI devices may be connected, the Descriptor Override configuration bit must be set. To avoid confusion suggested that the idProduct(LSB) descriptor field be assigned an even or odd value depending on the device type. The detection of an ATA or ATAPI device initialization failure results in bit-0 of this value being replaced with ‘ ...

Page 20

... This request flushes all buffers and resets the pipes to their default states, resets all hardware and registers to their default state, causes the ISD-200 to enter a power-up reset state, and resets the attached ATA device with a pin reset (NATA_RESET). Any STALL conditions or bulk data toggle bits remain unchanged ...

Page 21

... Complex command queuing enables out of order error recovery without resetting the attached device. Command queuing is done in the same manner as in simple command queuing. However, in the event error, the ISD-200 can now accept a SOFT_RESET which resets the ISD-200 but does not reset the device. ...

Page 22

... Device Descriptor There is only one device descriptor for each USB device. This descriptor gives USB information about the ISD-200 device such as definitions of the device class and device subclass, among other things. The bNumConfigurations field specifies how many configurations the ISD-200 supports. See Power Management, BUS_POWER Pin section ...

Page 23

... Table 7– Device Descriptor Configuration Descriptor The ISD-200 supports up to two configuration descriptors. The configuration descriptor contains information about the ISD-200 device configuration. Each configuration has one interface that supports four endpoints second configuration descriptor is used, offset locations 0x24-0x27 in the following table are used to override the appropriate values ...

Page 24

... Interface and endpoint descriptors cannot be directly accessed using the Get_Descriptor USB command. However, interface and endpoint descriptors are always returned or written to as part of the configuration descriptor. Endpoint descriptors and addresses must be in the fixed order of the ISD-200 on-board defaults. Bulk-out first, then Bulk-in followed by Interrupt. Address ...

Page 25

... Table 10 – String Locations String index 0 must contain the LANGID of exactly one language, as the ISD-200 supports only a single language. Microsoft defines the LANGID codes for Windows, as described in Developing International Software for Windows 95 and Windows NT, Nadine Kano, Microsoft Press, Redmond, Washington ...

Page 26

... ISD-200 ASIC Datasheet There is an additional string, index 6, that is not referenced by standard descriptors. Index 6 contains the ISD-200 Hardware Revision string. The following table shows how the LANGID, manufacturer, and product strings are formatted in the on-board ROM contents, and this can be considered an example of how to format strings in a serial ROM or in FBh data ...

Page 27

... ISD-200 ASIC Datasheet Address Field Name 0x76 bLength String descriptor length in bytes (restricted to 63 bytes or less). 0x77 bDescriptorType Descriptor type 0x78 bString ASCII character. 0x79 bString (“NUL”) 0x7A bString ASCII character. 0x7B bString (“NUL”) 0x7C bString ASCII character. 0x7D bString (“ ...

Page 28

... Second Silicon value Table 11 – String Descriptors ATA/ATAPI Interface The ATA/ATAPI port on the ISD-200 is compliant with the Information Technology – AT Attachment with Packet Interface – 4 (ATA/ATAPI-4) Specification, T13/1153D Rev 18 (ftp://fission.dt.wdc.com/x3t13/project/d1153r18.pdf). The ISD-200 provides support for Packet commands as well as ATA commands. The ISD-200 provides a vendor-specific Identify (FBh) command that returns configuration data and USB descriptor information (see Descriptors section, page 7) from an attached mass storage device ...

Page 29

... ISD-200 ATA Bus State During Idle The ISD-200 drives the address lines high and the last contents of the data register onto the ATA bus when idle. Pull up or pull down resistors shall not be used in bus power systems as the drive supply power will be shut off in USB suspend mode ...

Page 30

... ISD-200 ASIC Datasheet Figure 2 – ATA Reset Protocol Device Initialization Sequence The diagrams on the following pages show the normal sequence used for device initialization. 28 In-System Design Confidential ...

Page 31

... ISD-200 ASIC Datasheet INITIALIZE flow diagram do_init yes Reset Device assert ATA_NRESET for 50 ms Reset Recovery deassert ATA_NRESET wait for 3 ms Device yes SKIP_BOOT Initialized no Write Device Control with 00h and wait for 3 ms yes SRST_ENABLE no Slave Master/Slave Master Poll ALT_STAT ...

Page 32

... ISD-200 ASIC Datasheet (from page 1) Attempt ECh command ECh Success yes I_MODE no and no_prom yes Attempt FBh command FBh Success yes Device Initialized Event Notification command (if enabled) assert INIT DONE Figure 3 – Full Device Initialization Sequence 30 INITIALIZE flow diagram ECh no yes ...

Page 33

... ISD-200 ASIC Datasheet ATA Command Block ATA commands for the ISD-200 shall be supported by command encoding in the command block portion of the MSC Command Block Wrapper (CBW). Refer to the USB Mass Storage Class (MSC) Bulk Only Transport Specification for information on CBW formatting. The ATA Command Block (ATACB) provides a means of passing ATA commands and ATA register accesses for execution ...

Page 34

... ISD-200 ASIC Datasheet 10 = Device error conditions are not used to qualify the occurrence of data accesses Neither device error or phase error conditions are used to qualify the occurrence of data accesses. Bit 2 PollAltStatOverride - Poll ALTSTAT Override The Alternate Status registered shall be polled until BSY=0 before proceeding with the ATACB operation ...

Page 35

... ISD-200 ASIC Datasheet ATA Command Flow The following figure shows the flow of ATA commands, specifically the actions taken by the ISD-200 based upon how the ATA Command Block is configured. Command Fail OR other command block specification assumed ATACB set PollAltStat Override clear Poll ATA Alternate Status until BSY=0 and store ERR and DRQ bits ...

Page 36

... ISD-200 ASIC Datasheet Note: DRQ and ERR bit information come from last read of ATA Alternate Status register. set DPErrorOverride set set DPErrorOverride clear Phase Error Read ATA Status to clear INTRQ and ignore results yes TransferLength no < BlockSize*512? yes Set ByteCount = TransferLength ...

Page 37

... ISD-200 ASIC Datasheet Vendor-Specific ATA Commands There are two vendor-specific ATA commands implemented in the ISD-200. They are shown in the following table. Label Command Code IDENTIFY FBh EVENT_NOTIFY Specified in Configuration Data Table 14 – Vendor-Specific ATA Commands IDENTIFY The vendor-specific Identify (FBh) command enables the ISD-200 to request configuration and USB descriptor information from an attached mass storage device ...

Page 38

... When the command is issued, the device sets the BSY bit to one, and prepares to transfer 320 bytes of configuration/descriptor data to the ISD-200. The device then sets DRQ to one and clears BSY to zero. The arrangement and meaning of the FBh data bytes are specified in Tables 3, 7-11. An example of FBh programming is shown in Appendix A ...

Page 39

... Description When this command is issued, the ISD-200 will wait until the device clears BSY and DRQ to zero before beginning the input register writes. After writing the input registers, the ISD-200 waits for BSY and DRQ cleared to zero and then reads the state information (NSTATE). ...

Page 40

... The ISD-200 drives USB_ENUM before attempting to talk to attached device. The ISD-200 does not attempt to talk to the disk until the USB configuration is set to either First silicon does not support this feature (See Errata #6). Setting the Descriptor Override bit is incompatible with setting BUS_POWER pin. ...

Page 41

... Bus-Powered – Current is taken from USB Dynamically-powered – Current may be taken from USB The ISD-200 may be configured to operate from different power sources dynamically depending upon the presence of external (NOT USB) power. Power source configuration is accomplished by controlling the BUS_POWER input pin accompanied by the appropriate ISD-200 configuration and USB Descriptor settings ...

Page 42

... ISD-200 ASIC Datasheet Device Descriptor (See Table 7): bNumConfigurations = 1 if ‘Report One Configuration’ is set otherwise 2 Configuration Descriptor (See Table 8): bConfigurationValue1 = 1 iConfiguration1 = 3 bMaxPower1 = (USB Current required by the peripheral system limited to under 500mA) iInterface1 = 4 bConfigurationValue2 = 2 iConfiguration2 = 7 bMaxPower2 = 0x31 (98 mA) iInterface2 = 8 Configuration 1 = Dynamic Configuration (NPWR500 asserted) ...

Page 43

... ISD-200 ASIC Datasheet PwrOn NPWR100 = 0 NPWR500 = Z Check for EEPROM EEPROM Present? No I_MODE? No Yes Start ATA / ATAPI Boot Get Config Data Set USB_ENUM BUS_POWERED? No Return Config Descriptors: Dynamic (1) Self Powered (2) No USB SET_CONFIG Yes ? Figure 5 – Configuration Sequence Config Value = (2) Yes ...

Page 44

... I_MODE Pin I_Mode pin, when asserted high, allows the ISD200 Configuration and USB Descriptor data to be retrieved from an attached device. (See ISD-200 CONFIGURATION, DATA SOURCES) ATA_EN Pin ATA_EN pin allows ATA bus sharing with other host devices. De-asserting (ATA_EN=0) causes the ISD- 200 to 3-state all ATA bus interface pins to hi-Z ...

Page 45

... The main reason for providing a clock in this manner is to allow an ATA device to use this clock as a system clock when the ISD-200 configuration data source is to come from the device (See the Vendor- Specific ATA Commands, Identify section). Two clock frequencies are provided 32 and 40 MHz. ...

Page 46

... The IORDY pin must be pulled up using ohm resistor. The figure on the left is used when the ISD- 200 and another device (or devices) is connected to the ATA bus of the drive. The figure on the right is used when the ISD-200 is the only device connected. Figure 7 – IORDY Hookup ...

Page 47

... ISD-200 ASIC Datasheet PDIAG and PDASP Hookup Power on diagnostics timeout (750 ms and 30 s) must be limited to avoid an ISD-200 timeout. One method to accomplish this is to make sure PDIAG and PDASP are grounded on the circuit board and the device is wired to be master. Absolute Maximum Ratings Stresses in excess of the absolute maximum ratings can cause permanent damage to the device ...

Page 48

... ISD-200 ASIC Datasheet Current Parameter supply current ( DD33 DD33 supply current ( DD18 DD18 I with ATA_EN = 0 DD33 I with ATA_EN = 0 DD18 Note 3 USB remote wakeup enabled in device) Table 17 – Power Supply Current Timing Characteristics Memory Device Interface Timing ...

Page 49

... Note: Clock signal frequency is measured at V Table 19 – Clock Requirements Reset The ISD-200 requires an off-chip power-on reset circuit. The supply voltage should be stable for a minimum prior to the release of nRESET. Frequency 12 MHz ± 0.25% /2 point. Rise and fall times should less. ...

Page 50

... ISD-200 ASIC Datasheet Physical Diagrams Figure 9 – Package Outline Diagram 48 In-System Design Confidential ...

Page 51

... Vendors of I2C devices that treat this address / status phase data as “don’t care” are compatible with the ISD-200. Vendors that do examine the address bits during the write completion check do not “ACK” the last write, as the address is now out of range for the device ...

Page 52

... There are several issues that prevent the ISD-200 from supporting USB Bus powered systems. These issues only effect USB Bus powered operation. Brick powered system support is not effected. ISD-200 rev A silicon can only be used in brick powered systems. The rev B version of the ISD-200 will address the issues and thus support USB Bus powered system integration. ...

Page 53

... ISD-200 ASIC Datasheet 11. Possible hang in ATACB functionality. See Errata #103. In-System Design Confidential 51 ...

Page 54

... ISD-200 ASIC Datasheet Device Errata for Second Silicon ISD-200 “0003” 100. nATA_Reset, nDIOR, and nDIOW allow parasitic current draw during suspend When suspended second silicon attempts to reduce suspend current and allow flexibility by three-stating the three control lines nATA_Reset, nDIOR, and nDIOW. The cells leak about 2-3 uA that hold the cells from going into a low power state ...

Page 55

... ISD-200 ASIC Datasheet POR, ATA_EN=1 BUS_POWER=0, ATA HIGH POWER=0(byte 8, bit 4) E^2 EE CLKN E^2 + Test pins EE CLKN Test pins Test CLKN I_MODE + Test Test CLKN pins BUS_POWER=1, ATA HIGH POWER=0(byte 8, bit 4) E^2 EE CLKN E^2 + Test pins EE CLKN Test pins Test CLKN I_MODE + Test ...

Page 56

... ISD-200 ASIC Datasheet 103. Possible hang in ATACB functionality. If bATACBTransferBlockCount is set to zero, PollAltStatOverride is set to one and the CBW DataTransferLength not zero, the ATACB state machine will hang. This should not be an issue if the bATACBTransferBlockCount is never set to zero or if there is never a data phase(CBW DataTransferLength=0) when PollAltStatOverride is set to one. ...

Page 57

... This bit specifies device number selection. Bit [5] “0” - Drive 0 “1” - Drive 1 ATAPI DEVICE RESET – This bit specifies that the ISD-200 perform a ATAPI DEVICE RESET Bit [4] command during a full initialization sequence. ATA Timing – Bits [3:0] This field determines ATA Bus data access cycle times. ...

Page 58

... Descriptor Override – remainder of the ATA lines(NCS(1:0), DA(2:0), DD(15:0), and Bit[3] IORDY_PU_EN) are driven low. (See Power Management) Setting this bit causes the ISD-200 to override the USB Descriptors for ATA devices. Not compatible with setting BUS_POWER=1. If set, (I_MODE = 0), AND (ATA device identified or device initialization fails), for ATA devices) Last LUN Identifier – ...

Page 59

... ISD-200 ASIC Datasheet Address Field Name 0x0C Product String (2) Address location for iProduct string (divided by 2). This index must be set to 0x00 if the string is not present. 0x0D Configuration 1 String (3) Address location for iConfiguration string (divided by 2). This index must be set to 0x00 if the string is not present. ...

Page 60

... ISD-200 ASIC Datasheet Address Field Name 0x37 bInterfaceSubClass Interface subclass. 0x38 bInterfaceProtocol Interface protocol. 0x39 iInterface 1 Index to interface string associated with the first configuration descriptor. 0x3A bLength Length of this descriptor in bytes. 0x3B bDescriptorType Endpoint descriptor type. 0x3C bEndpointAddress This is an Out endpoint, endpoint number 1. ...

Page 61

... ISD-200 ASIC Datasheet Address Field Name 0x66 bString “o” 0x67 bString “NUL” 0x68 bString “d” 0x69 bString “NUL” 0x6A bString “ ” 0x6B bString “NUL” 0x6C bString “Y” 0x6D bString “NUL” 0x6E bLength Configuration 1 string descriptor length in bytes (restricted to 63 bytes or less) ...

Page 62

... ISD-200 ASIC Datasheet Address Field Name 0x94 bString “g” 0x95 bString “NUL” 0x96 bString “e” 0x97 bString “NUL” 0x98 bLength Serial Number string descriptor length in bytes (restricted to 63 bytes or less). 0x99 bDescriptorType Descriptor type 0x9A bString “0” ...

Page 63

... ISD-200 ASIC Datasheet Address Field Name 0xC2 bLength Configuration 2 string descriptor length in bytes (restricted to 63 bytes or less). 0xC3 bDescriptorType Descriptor type 0xC4 bString “L” 0xC5 bString “NUL” 0xC6 bString “o” 0xC7 bString “NUL” 0xC8 bString “w” ...

Page 64

... ISD-200 ASIC Datasheet Address Field Name 0xEE – Not used Available SROM space / unused FBh space 0x1FF (SROM), 0x13F (FBh) Table 20 – Example Serial ROM / FBh Data 62 Description In-System Design Confidential Example SROM / FBh Data 0xXX ...

Related keywords