- 1 USBSPEC
- 1.1 ¸ñÀû
- 1.2 USB ÀϹÝ
- 1.3 USB Protocols
- 1.4 Common USB Packet Fields
- 1.5 USB Packet Type
- 1.5.1 Token Packet
- 1.5.2 Data Packet
- 1.5.3 Handshake Packet
- 1.5.4 Start of Frame Packets
- 1.6 USB Functions
- 1.6.1 Example
- 1.7 Endpoints
- 1.8 Pipes
- 1.9 Endpoint(Transfer) Types
- 1.9.1 Control Transfers
- 1.9.2 Interrupt Transfers
- 1.9.3 Isochronous Transfers
- 1.9.4 Bulk Transfer
- 1.9.5 Bandwidth Management
- 1.10 USB Descriptors
- 1.10.1 Device Descritors
- 1.10.2 Configuration Descriptors
- 1.10.3 Interface Descriptors
- 1.10.4 Endpoint Descriptors
- 1.10.5 String Descriptors
- 1.10.6 Composition of USB Descriptors
- 1.11 USB Requests
- 1.11.1 The Setup Packet
- 1.11.2 Standard Request
- 1.11.3 Standard Interface Request
- 1.11.4 Standard Endpoint Request
- 1.12 Appendex A : USB SPEC. (Rev2.0) Summary
- 1.13 Reference
1 USBSPEC 
- ¿äÁò ¸¹ÀÌµé »ç¿ëÇÏ´Â USB´Â Release Version 2.0À¸·Î SPEC.¸¸ 650 Page°¡ ³Ñ´Â´Ù.
- Áß¿äÇϰí ÇÙ½ÉÀûÀÎ °ÍÀ» Ãß·Á USB¸¦ ÀÌÇØÇÑ´Ù.
- ScorpioÀÇ UDC¸¦ ÀÌ¿ëÇØ USB Device¸¦ ±¸ÇöÇØ º»´Ù.
1.2 USB ÀÏ¹Ý 
- USB Speeds
i Spec 1.1¿¡¼´Â 2°³ÀÇ mode¸¦ Á¤ÀÇÇϰí ÀÖ´Ù.
- Low Speed : 1.5 Mbps
- Full Speed : 12 Mbps
i Spec 2.0 ¿¡¼´Â High Speed¸¦ Ãß°¡ÇÏ¿´´Ù
- High Speed : 480 Mbps
- USB Control : Host controlled
- ¸ðµç µ¿ÀÛÀº Host¸¦ Áß½ÉÀ¸·Î ÀϾÙ.
- ¹ö½º´ç ÇϳªÀÇ Host (Host/Bus)ÀÌ´Ù. --> ÃÖ±Ù
On-The-Go Specification
¿¡¼´Â Host°£ÀÇ Åë½Å ÇÁ·ÎÅäÄÝÀ» Á¤ÀÇ ÁßÀÌ´Ù.
- USB Topology : ´ÜÃþÀÇ Star Topology
- USB Ãʱâ â¾ÈÀÚ´Â PCµÚ¿¡ ÀÖ´Â ÄÉÀ̺íÀÇ ¼ö¸¦ ÁÙÀ̰íÀÚ Çß´Ù.
- ÇÏÁö¸¸ USB´Â 10?BaseT Ethernet°ú À¯»çÇÑ ´ÜÃþÀÇ Star Topology¸¦ »ç¿ëÇϰí À̰ÍÀº (ºñ½Ñ) Çãºê¸¦ »ç°Ô²û Çϰí ÄÉÀ̺íÀ» ´ÃÀÌ´Â °á°ú¸¦ ÃÊ·¡ÇÑ´Ù. (ÇÏÁö¸¸ ±×¸® ³ªºüº¸ÀÌÁö´Â ¾Ê´Â´Ù, ¸¹Àº ½Ã½ºÅÛÀÌ USB Çãºê¸¦ ³»ÀåÇϰí ÀÖ´Ù)
- USB ¹ö½º¿¡´Â 127°³±îÁö Device¸¦ ¿¬°áÇÒ ¼ö ÀÖ´Ù.
- USB Host Controller Spec : USB Host Controller´Â ±×µé ÀÚ½ÅÀÇ SpecÀ» °¡Áö°í ÀÖ´Ù.
- USB 1.1
- UHCI(Universal Host Controller Interface)
- Intel
- ¼ÒÇÁÆ®¿þ¾î(MS)¸¦ ¸¹ÀÌ »ç¿ëÇØ¼ h/w¸¦ ½Î°ÔÇÔ
- OHCI(Open host Controller Interface)
- Compaq, MS, National Semiconductor
- Çϵå¿þ¾î(Intel)¸¦ ¸¹ÀÌ »ç¿ëÇÏ¿© s/w¸¦ ½±°ÔÇÔ
- USB 2.0
- EHCI(Enhanced Host Controller Interface)
- USB : Serial Bus
- 4°³ÀÇ Wire·Î ±¸¼º(2°³´Â Power(+5v,GND), ³ª¸ÓÁö 2°³´Â Twisted Pair Differential Data SignalÀ» À§ÇÔ)µÇ¾î ÀÖ´Ù.
- Sync Field¸¦ µ¿±âÈ Çϴµ¥ ¾²¸ç, µ¥ÀÌÅÍ ÀÎÄÚµùÀº NRZI(Non Return to Zero Inver)À» »ç¿ëÇÑ´Ù.
- PNP(Plug and Play)¸¦ Áö¿øÇÑ´Ù.
- »ç¿ëÀÚ°¡ Æ÷Æ®¿¡ ²ÈÀ¸¸é ÀÚµ¿À¸·Î °¨ÁöÇÏ¿© »ç¿ëÀ» ¾Ë¸®°í(µ¿½Ã¿¡ ÀûÀýÇÑ Driver¸¦ LoadÇϰí), »ç¿ëÀÌ ³¡³ª¸é IRQ, Port AddressµîÀ» ¿°·ÁÇÏÁö ¾Ê°í »©µµ ÀÚµ¿À¸·Î ÀνÄÇϰí Á¾·áÇÑ´Ù(Driver¸¦ UnloadÇÑ´Ù)
- ÀûÀýÇÑ DriverÀÇ LoadingÀº PID/VID(Product ID/Vender ID) Á¶ÇÕÀ» ÀÌ¿ëÇÑ´Ù.
1.3 USB Protocols 
- Data¸¦ º¸³»´Â FormatÀÌ Á¤ÇØÁöÁö ¾ÊÀº RS-232¿Í À¯»çÇÑ Serial Interface¿Í´Â ´Þ¸® USB´Â ¸î°³ÀÇ Protocol Layer¸¦ °¡Áö°í ÀÖ´Ù.
- USB Transaction(¶Ç´Â Stage¶ó°í ÇÑ´Ù)Àº
- Token Packet(´ÙÀ½¿¡ ¾î¶²°ÍÀÌ ¿À´ÂÁö ¾Ë ¼ö ÀÖ°Ô Á¤ÀÇÇϰíÀÖ´Â)°ú
- Optional Data Packet(Payload¸¦ °¡Áö°í ÀÖ´Â), ±×¸®°í
- Status Packet(TransactionÀÇ Acknowledge, Error ó¸® µîÀ» Á¦°ø)À¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
- Host°¡ ¸ðµç TransactionÀ» ÃʱâÈ ÇÑ´Ù.(¾Õ¼ ¸»ÇÑ °Í ó·³, USB´Â Host Áß½ÉÀÇ ½Ã¸®¾ó ¹ö½ºÀÌ´Ù)
- ù¹øÂ° Packet(Token Packet, ÁÙ¿©¼ TokenÀ̶ó°í ÇÑ´Ù)Àº ´ÙÀ½ÀÇ °ÍÀÌ ¹«¾ùÀÎÁö, Data TransactionÀ» Read/Write ÇÒ °÷ÀÌ ¾îµðÀÎÁö, DeviceÀÇ ÁÖ¼Ò°¡ ¹«¾ùÀÎÁö, Endpoint°¡ ¾î¶»°Ô µðÀÚÀÎ µÇ¾ú´ÂÁö µîÀ» Á¤ÀÇÇϱâ À§ÇØ Host¿¡ ÀÇÇØ¼ ¸¸µé¾îÁø´Ù.
- ´ÙÀ½ PacketÀº ÀϹÝÀûÀ¸·Î Payload¸¦ °¡Áö°í ÀÖ´Â Data PacketÀÌ°í ±× ´ÙÀ½Àº Data³ª TokenÀÌ ¼º°øÀûÀ¸·Î ¹Þ¾ÆÁ³´ÂÁö ¶Ç´Â Endpoint°¡ STALL»óÅÂ(¿¡·¯ µîÀÌ ¹ß»ýÇÏ¿© Á¤ÁöÇØ ÀÖ´Â »óÅÂ)ÀÎÁö ¶Ç´Â Data¸¦ AcceptÇÒ »óŰ¡ ¾Æ´ÑÁö(ÀÌÀüÀÇ µ¥ÀÌÅ͸¦ ó¸®Çϰí Àְųª ÇÏ¿©) µîÀ» º¸°íÇϱâ À§ÇØ) Status Packet(¶Ç´Â Handshaking PacketÀ̶ó ÇÑ´Ù)ÀÌ µû¸¥´Ù.
1.4 Common USB Packet Fields 
- USB ´Â LSBitÀ» Á¦ÀÏ Ã³À½ º¸³½´Ù.
- USB PacketÀº ´ÙÀ½°ú °°Àº Fieldµé·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
- Sync
- ¸ðµç USB PacketÀº ¹Ýµå½Ã Sync Field·Î ½ÃÀÛÇÑ´Ù.
- Low, Full Speed¿¡¼´Â 8 bits, High Speed¿¡¼´Â 32 bitsÀÇ ±æÀÌÀÌ´Ù.
- Receiver¿Í TransmitterÀÇ µ¿±â¸¦ Á¦°øÇÑ´Ù.
- °¡Àå ¸¶Áö¸·ÀÇ 2 bitsÀº Sync Field°¡ ³¡³ª°í ´ÙÀ½¿¡ PID Field°¡ ½ÃÀÛÇÑ´Ù´Â Marker°¡ µÈ´Ù.
- PID
- ¸ðµç USB PacketÀº Sync Field ´ÙÀ½¿¡ ¹Ýµå½Ã PID Field°¡ ÀÖ´Ù.
- Packet ID, PacketÀÇ Á¾·ù¸¦ °áÁ¤ÇÑ´Ù.
- PID°ª Å×À̺í
- ÃÑ 8 bitsÀε¥ PID´Â 4 bitsÀÌ´Ù. ÇÏ¿© PID¸¦
1's complement ¸¦ ÃëÇØ 4 bitsÀ» Ãß°¡Çϴµ¥ À̸¦ ÀÚü Error CheckingÀ¸·Î ÀÌ¿ëÇÑ´Ù.
- PID [ 0..1 ] 2 bits·Î (USB´Â LSB¹æ½ÄÀÓÀ» ÁÖÀÇÇÏÀÚ) 4°³ÀÇ ±×·ìÀ¸·Î ³ª´©¾úÀ¸¸ç ÀÌ´Â °¢°¢ Token, Data, Handshake, SpecialÀÌ´Ù.
- ADDR (Address)
- ÀÌ Packet ¾î¶² Device¸¦ À§ÇØ ¸¸µé¾î Á³´ÂÁö ¾Ë·ÁÁØ´Ù.(½±°Ô ¸ñÀû DeviceÀÇ ÁÖ¼Ò°¡ ¸í½ÃµÈ´Ù)
- 7 bitÀ̹ǷΠÃÑ 127°³ÀÇ Devices±îÁö Áö¿øµÈ´Ù.
- ADDR°ª 0´Â ÀϹÝÀûÀÎ ADDR°ªÀ¸·Î »ç¿ëÇÏÁö ¾Ê°í ¾ÆÁ÷ ƯÁ¤ ADDR¸¦ ¹ÞÁö ¸øÇÑ Device°¡ ƯÁ¤ ADDR¸¦ ÇÒ´ç ¹Þ±â(¿äûÇϱâ)À§ÇØ »ç¿ëÇÑ´Ù.
- ENDP (Endpoint)
- Endpoint Field´Â 4 bitsÀÇ ±æÀÌ¸ç µû¶ó¼ ÃÑ 16°³ÀÇ Endpoint°¡ °¡´ÉÇÏ´Ù.
- Low Speed Device´Â 2°³ÀÇ ±âº» Endpoint¿Ü¿¡ 2°³ÀÇ Ãß°¡ Endpoint±îÁö¸¸ °¡´ÉÇÏ´Ù.(Áï ÃÖ´ë 4 Endpoint¸¦ °¡Áú ¼ö ÀÖÀ½)
- ?CRCs
- Cyclic Redundancy Checks
- PID¸¦ Á¦¿ÜÇÑ(±×°ÍÀº ÀÚü Error Checking ¹æ¹ýÀÌ ÀÖ´Ù) ´Ù¸¥ ¸ðµç Field´Â ?CRCs¸¦ ÀÌ¿ëÇØ Error CheckingÀ» ½Ç½ÃÇÑ´Ù.
- Token PacketÀº 5 bitsÀÇ, Data PacketÀº 16 bitsÀÇ ?CRCs¸¦ °¡Áø´Ù.
- Token ?CRCs : G(X) = X^5 + X^2 + 1 --> binary ½ÄÀº 00101, error freeÀÇ ³ª¸ÓÁö °ªÀº 01100
- Data ?CRCs : G(X) = X^16 + X^15 + X^2 + 1 --> binary ½ÄÀº 1000000000000101, error freeÀÇ ³ª¸ÓÁö °ªÀº 1000000000001101
- EOP
- End of Packet
- 1 bit TimeÀÇ J ´ÙÀ½¿¡ 2 bits TimeÀÇ ?SE0(Single Ended Zero)·Î PacketÀÇ ³¡À» ³ªÅ¸³½´Ù.
1.5 USB Packet Type 
- USB´Â Token, Data, Handshake, SOFÀÇ Å©°Ô 4°¡Áö Á¾·ùÀÇ Packet TypeÀÌ ÀÖ´Ù.
1.5.1 Token Packet 
- ´ÙÀ½¿¡ ¿À´Â TransactionÀÌ ¹«¾ùÀÎÁö¸¦ °¡¸®Å°´Â ¿ªÈ°À» ÇÑ´Ù.
- 3°¡Áö Á¾·ùÀÇ Token Packet
- In : USB Device¿¡°Ô Host°¡ Á¤º¸¸¦ Àб⸦(´Þ¶ó°í) ¿øÇÑ´Ù´Â °ÍÀ» ¾Ë·ÁÁØ´Ù.
- Out : USB Device¿¡°Ô Host°¡ Á¤º¸¸¦ ¾²±â¸¦(Áشٰí) ¿øÇÑ´Ù´Â °ÍÀ» ¾Ë·ÁÁØ´Ù.
- Setup : Control TransferÀÇ ½ÃÀÛÀ» ¾Ë¸°´Ù.
- Format
| Sync | PID | ADDR | ENDP | ?CRC5 | EOP |
1.5.2 Data Packet 
- Payload¿¡ µ¥ÀÌÅ͸¦ ¿î¹ÝÇÑ´Ù.
- ÃÖ´ë 1024 bytesÀÇ µ¥ÀÌÅ͸¦ ¿î¹ÝÇÒ ¼ö ÀÖ´Â 2°¡Áö Á¾·ùÀÇ Data Packet
- Data0
- Data1
- Low-Speed DeviceÀÇ ÃÖ´ë Data Payload Å©±â´Â 8 bytes
- Full-Speed DeviceÀÇ ÃÖ´ë Data Payload Å©±â´Â 1023 bytes
- High-Speed DeviceÀÇ ÃÖ´ë Data Payload Å©±â´Â 1024 bytes
- Data´Â ¹Ýµå½Ã BytesÀÇ ¹è¼ö·Î Àü¼ÛµÇ¾î¾ß ÇÑ´Ù.
- High Speed¸ðµå¿¡¼´Â ?DATA2, MDATAÀÇ »õ·Î¿î Data Packet ŸÀÔ(PID)À» Ãß°¡Çß´Ù.
- Format
1.5.3 Handshake Packet 
- Data ÀÇ Ack³ª Error ReportingÀ» À§ÇØ »ç¿ëµÈ´Ù.
- 3°¡Áö Á¾·ù°¡ ÀÖ´Ù
- ACK : PacketÀÌ ¼º°øÀûÀ¸·Î ¹Þ¾ÆÁ³´Ù.
- NACK : Device°¡ ÀÏÁöÀûÀ¸·Î Data¸¦ Áְųª ¹ÞÁö ¸øÇÑ »óŸ¦ ¸®Æ÷Æ®ÇÑ´Ù. º¸³¾ Data°¡ ¾øÀ» ¶§ À̸¦ ¾Ë¸± ¶§¿¡µµ »ç¿ëÇÑ´Ù.
- STALL : HostÀÇ °ü¿©(µµ¿ò)°¡ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ¾Ë¾ÒÀ» ¶§. Endpoint°¡ Error¸¦ ³»°í HaltµÇ¾î ÀÖÀ» ¶§ À̰ÍÀ» »ç¿ëÇÑ´Ù.
- Format
1.5.4 Start of Frame Packets 
- »õ·Î¿î FreamÀÇ ½ÃÀÛÀ» ¾Ë¸°´Ù.
- 11 bitsÀÇ Frame-Number°¡ ÀÖ´Ù.
- Host¿¡¼ Full Speed¿¡¼´Â ¸Å 1ms(+-500ns) ½Ã°£¸¶´Ù, High Speed¿¡¼´Â 125ms(+-0.0625ns)¸¶´Ù º¸³½´Ù.
- Format
| Sync | PID | Frame Number | ?CRC5 | EOP |
1.6 USB Functions 
- USB Functions
- USB DeviceÀÇ ±â´ÉÀ» ¼³¸íÇϱâ À§ÇÑ ¿ë¾î·Î FunctionÀ» »ç¿ëÇÑ´Ù.
- Host°¡ Device Descriptor Request¸¦ º¸³½´Ù.
- Function Hardware´Â Setup PacketÀ» Àаí PacketÀÌ ÀÚ±â°ÍÀÎÁö(Address Field)ÆÇ´ÜÇÑ´Ù.
- Àڱ⠰ÍÀ̶ó¸é PacketÀÇ Payload¸¦ ÀûÀýÇÑ Endpoint Buffer¿¡(Setup TokenÀÇ Endpoint Field¿¡ ¸í½ÃµÈ) Ä«ÇÇÇÑ´Ù.
- Handshake PacketÀ» Host·Î º¸³½´Ù.
- ³»ºÎ Interrupt¸¦ ¹ß»ý½ÃÄÑ ÀûÀýÇÑ Endpoint(Setup TokenÀÇ Endpoint Field¿¡ ¸í½ÃµÈ)¿¡°Ô ¾Ë·ÁÁØ´Ù.
- ¿©±â±îÁö°¡ (ÀϹÝÀûÀ¸·Î)Hardware¿¡¼ ÇØÁØ´Ù.
- Software¿¡¼ Interrupt¸¦ ¹Þ°í EndpointÀÇ Buffer¿¡¼ ³»¿ëÀ» ÀÐ°í ³»¿ëÀ» ÆÄ½ÌÇÑ´Ù.
1.7 Endpoints 
- µ¥ÀÌÅÍÀÇ ¼ö½ÅÀåÄ¡ ȤÀº Àü¼ÛÀåÄ¡·Î Ç¥ÇöµÉ ¼ö ÀÖ´Ù.
- USB´Â Host Áß½ÉÀ̱⠶§¹®¿¡ Endpoint´Â USB Function¿¡¼ Åë½ÅÀÇ ³¡¿¡ À§Ä¡ÇÑ´Ù.
- ¿¹¸¦ µé¸é Software Layer¿¡¼ Device Driver´Â PacketÀ» Device EP1À¸·Î º¸³¾ ¼ö ÀÖ´Ù.
- Host·ÎºÎÅÍ ³ª¿Â Data´Â ?EP1 OUT Buffer¿¡ À§Ä¡ÇÏ°Ô µÇ°í ±× ´ÙÀ½ Firmware¿¡¼ ÀÐ°Ô µÈ´Ù.
- ¸¸¾à Date¸¦ HostÂÊÀ¸·Î µ¹·ÁÁֱ⸦ ¿øÇÑ´Ù¸é Host¿¡¼ Control ÇÏµí ½±°Ô Bus¿¡ ¾µ¼ö¾ø´Ù.
- Data¸¦ ?EP1 IN ¹öÆÛ¿¡ ¾²°í Host°¡ IN PacketÀ» º¸³»¾î Data¸¦ ¿ä±¸ÇÒ ¶§ ±îÁö ±â´Ù¸°´Ù.
- Endpoint´Â Function DeviceÀÇ Hardware¿Í Function Device¿¡¼ µ¹¾Æ°¡°í ÀÖ´Â Firmware »çÀÌÀÇ Interface·Î º¸À̱⵵ ÇÑ´Ù.
- Device°¡ ¸î°³ÀÇ Endpoints·Î Data¸¦ ÁÖ°í ¹Þ´Â µ¿¾È¿¡ Client Software´Â Data¸¦ Pipes¸¦ ÀÌ¿ëÇØ¼ Àü´ÞÇÑ´Ù.
- Pipe(s)´Â Host¿Í Endpoint(s)»çÀÌÀÇ ³í¸®ÀûÀÎ ¿¬°áÀÌ´Ù.
- Pipe(s)´Â ±×µé°ú °ü·ÃµÈ Parameters SetÀ» °¡Áö°í ÀÖ´Ù.
- Bandwidth
- Transfer Type(Control, Bulk, Isochronous, Interrupt)
- Direction of Data Flow
- Maximum Packet/Buffer Size
- 2°¡Áö Á¾·ùÀÇ Pipes
- Stream Pipes : USB FormatÀ¸·Î Á¤ÇØÁöÁö ¾ÊÀ½. ¾î¶² Á¾·ùÀÇ Streamµµ Pipe¸¦ ÅëÇØ ÁÖ°í ¹ÞÀ» ¼ö ÀÖ´Ù.
- Message Pipes : Á¤ÇØÁø USB FormatÀÌ ÀÖÀ½. ¸ðµÎ Host¿¡¼ º¸³½ Request¿¡ ÀÇÇØ ÃʱâÈ µÇ´Â Host ControlledÀÓ. ÃʱâÈ µÈ ÈÄ¿¡ Data´Â Request¿¡¼ ¿äûµÈ ¹æÇâÀ¸·Î Àü¼ÛµÈ´Ù. Áï Message Pipes´Â Data¸¦ ¾ç¹æÇâ ¸ðµÎ º¸³¾ ¼ö ÀÖÁö¸¸ Control Transfer¸¸ Áö¿øÇÑ´Ù.
1.9 Endpoint(Transfer) Types 
- USB´Â Control, Interrupt, Isochronous, Bulk ÀÌ·¸°Ô 4°¡ÁöÀÇ Transfer/Endpoint TypesÀ» Á¤ÀÇÇÑ´Ù.
1.9.1 Control Transfers 
- ÀϹÝÀûÀ¸·Î Command¿Í Status OperationÀ» À§ÇØ »ç¿ëµÈ´Ù.
- USB Device¸¦ ÃʱâÈÇϰí, ¸ðµç Enumeration FunctionsµéÀÌ ÀÌ Control TransferÀ» »ç¿ëÇÑ´Ù.
- ÀϹÝÀûÀ¸·Î Host¿¡¼ Ãʱâȵǰí ÃÖ°íÀÇ ³ë·ÂÀ¸·Î Àü´ÞµÇ¾î »ç¿ëµÇÁö´Â BurstyÇϰí Radom ÇÑ PacketÀÌ´Ù.
- Low Speed¿¡¼´Â 8 Bytes, High Speed¿¡¼´Â 8, 16, 32, 64 Bytes, Full Speed¿¡¼´Â 64 BytesÀÇ ±æÀÌÀÌ´Ù.
- 3°³ÀÇ Stages·Î ±¸ºÐµÉ ¼ö ÀÖ´Ù.
- Setup Stage
- Request°¡ º¸³»Áö´Â °÷ÀÌ´Ù.
- Setup Token, Data Packet, Handshake Packet ÀÌ·¸°Ô 3°³ÀÇ PacketÀ¸·Î ±¸¼ºµÈ´Ù.
- Setup Token : Address¿Í Endpoint Number¸¦ °¡Áö°í ÀÖÀ¸¸ç Á¦ÀÏ Ã³À½ º¸³»Áø´Ù.
- Data Packet : Setup Token ´ÙÀ½À¸·Î º¸³»Áö¸ç Data0 ÀÇ PID TypeÀ» °¡Áö°í ÀÖ°í RequestÀÇ TypeÀ» ÀÚ¼¼ÇÏ°Ô ¼³¸íÇÏ´Â Setup PacketÀ» °¡Áö°í ÀÖ´Ù.
- Handshake Packet : ¼º°øÀûÀ¸·Î ¹Þ¾Ò´Ù´Â Acknowledge¸¦ º¸³»°Å³ª Error¸¦ °¡¸®Å°±â À§ÇÔ. FunctionÀÌ ¼º°øÀûÀ¸·Î Setup Data¸¦ ¹Þ¾Ò´Ù¸é(CRC ok, PID self-Check Okµî) ACK¸¦ º¸³½´Ù. ±×·¸Áö ¾ÊÀ¸¸é Data¸¦ ¹«½ÃÇϰí Handshake PacketÀ» º¸³»Áö ¾Ê´Â´Ù.
- Setup Stage¿¡¼´Â STALL À̳ª NAKÀº IssueµÇÁö ¾Ê´Â´Ù.
- Setup Stage
- Data Stage
- ¼±ÅÃÀûÀÌ´Ù.
- Çϳª ÀÌ»óÀÇ IN ¶Ç´Â OUT Transfer·Î ±¸¼ºµÈ´Ù.
- ¾ÕÀÇ Setup Stage¿¡¼ ÀÌ Stage¿¡¼ Àüµ¿µÉ DataÀÇ ¾çÀ» °áÁ¤ÇÑ´Ù.
- ¸¸¾à °áÁ¤µÈ ¾çÀÌ Maximum Packet Sizeº¸´Ù Å©´Ù¸é Data´Â ¿©·¯°³ÀÇ Transfer·Î ³ª´µ¾î Àü´ÞµÈ´Ù. (¸¶Áö¸· PacketÀ» Á¦¿ÜÇϰí´Â ¸ðµÎ Maximum Packet Size·Î)
- Data TransferÀÇ ¹æÇâ¿¡ µû¶ó 2°³ÀÇ ½Ã³ª¶ó¿À°¡ °¡´ÉÇÏ´Ù.
- IN
- Host°¡ Control Data¸¦ ¹ÞÀ» Áغñ°¡ µÇ¾ú´Ù¸é IN TokenÀ» º¸³½´Ù.
- FunctionÀÌ IN TokenÀ» ¹Þ¾ÒÀ¸³ª ±×°ÍÀÌ Error¶ó¸é(PID°¡ ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù µîÀÇ) ÇØ´ç PacketÀ» ¹«½ÃÇÑ´Ù.
- Error°¡ ¾Æ´Ï¶ó¸é Device´Â º¸³»Áú Control Data¸¦ Æ÷ÇÔÇÏ´Â DATA PacketÀ» ÀÀ´äÇϰųª, Endpoint¿¡¼ Error°¡ ¹ß»ýÇß´Ù´Â Stall PacketÀ» º¸³»°Å³ª, Endpoint°¡ ÀÏÀº ÇÒ ¼ö ÀÖ´Â »óÅÂÀ̳ª º¸³¾ Data°¡ ¾ø´Ù´Â NAK PacketÀ¸·Î ÀÀ´äÇÒ ¼ö ÀÖ´Ù.
- OUT
- Host°¡ Control Data¸¦ º¸³»°í ½Í´Ù¸é OUT TokenÀ» º¸³»°í ±× µÚ¸¦ Control Data¸¦ Payload¿¡ ´ã°íÀÖ´Â Data packetÀ» º¸³½´Ù.
- OUT tokenÀ̳ª Data packetÀÇ ¾î´À ÇѺκÐÀÌ¶óµµ ¸Á°¡Á³´Ù¸é FunctionÀº PacketÀ» ¹«½ÃÇÑ´Ù.
- FunctionÀÇ Endpoint Buffer°¡ ºñ¾î ÀÖ°í Buffer¿¡ Àß µé¾î ¿Ô´Ù¸é Host¿¡°Ô ACK¸¦ º¸³» Àß ¹Þ¾ÒÀ½À» ¾Ë¸°´Ù.
- Buffer°¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é(¾ÕÀÇ Packet ó¸® µîÀ¸·Î) FunctionÀº NAK¸¦ ¸®ÅÏÇÑ´Ù.
- Endpoint°¡ Rrror»óŶó¼ Halt»óŶó¸é STALLÀ» ¸®ÅÏÇÑ´Ù.
- Data Stage
Status Stage
- Request Àü¹Ý¿¡ °ÉÄ£ Status¸¦ Report Çϰí, Àü¼ÛÀÇ ¹æÇâ¿¡ µû¶ó ¹æÇâÀ» Çѹø ¹Ù²Û´Ù.
- Ç×»ó Function¿¡ ÀÇÇØ 󸮵ȴÙ.
- IN
- ¸¸¾à Host°¡ Data¸¦ ¹Þ±â À§ÇØ IN TokenÀ» º¸³Â´Ù¸é, Host´Â ¹Ýµå½Ã Data¸¦ ¼º°øÀûÀ¸·Î ¹Þ¾Ò´Ù´Â Acknowledge¸¦ º¸³»¾ß ÇÑ´Ù.
- À̰ÍÀº Host°¡ OUT token À» Zero Length Data Packet¿Í ÇÔ²² º¸³¿À¸·Î ¼º»çµÈ´Ù.
- ACK´Â FunctionÀÌ Command󸮸¦ ³¡³»°í ´Ù¸¥ Command¸¦ ó¸®ÇÒ Áغñ°¡ µÇ¾ú´Ù´Â °ÍÀ» °¡¸®Å²´Ù.
- ¸¸¾à Çö Command¸¦ ó¸®ÇÒ ¶§ Error°¡ ¹ß»ýÇß´Ù¸é FunctionÀº (Host¿¡°Ô) STALL¸¦ Á¦±âÇÑ´Ù.
- ÇÏÁö¸¸ FunctionÀÌ (¾î¶² Command¸¦) ÁøÇàÁßÀ̶ó¸é Status Stage¸¦ ´Ù½ÃÇѹø Çϱ⸦ ¹Ù¶ó´Â NAK¸¦ Host¿¡°Ô º¸³½´Ù.
- OUT
- ¸¸¾à Host°¡ Data Stageµ¿¾È µ¥ÀÌÅ͸¦ º¸³»±â À§ÇØ OUT TokenÀ» º¸³Â´Ù¸é, FunctionÀº IN Token¿¡ Zero LengthÀÇ PacketÀ» ÀÀ´äÇÕÀ¸·Î Acknowledge¸¦ ÇØ¾ßÇÑ´Ù.
- Error°¡ ÀϾ´Ù¸é STALLÀ», (´Ù¸¥)Data¸¦ ÁøÇàÇϱâ À§ÇØ ¹Ù»Û»óÅÂÀ̸é NAK¸¦ º¸³» ÈÄ¿¡ Host°¡ ´Ù½Ã ½ÃµµÇÏ°Ô ¿äûÇÑ´Ù.
- Status IN Stage / Status OUT Stage
Host °¡ Enumerationµ¿¾È Device Descriptor¸¦ ¿äûÇÏ´Â ¿¹Á¦
- Host ´Â Setup TokenÀ» º¸³½´Ù. (À̰ÍÀº °ð Function¿¡°Ô ´ÙÀ½¿¡ µû¶ó¿À´Â °ÍÀÌ Setup PacketÀ̶ó´Â °ÍÀ» ¸»ÇÑ´Ù.)
- ÁÖ¼Ò Field´Â DeviceÀÇ (È£½ºÆ®°¡ Descriptor¸¦ ¿äûÇϰí ÀÖ´Â °÷ÀÇ)ÁÖ¼Ò¸¦ °¡Áö°í ÀÖÀ»°ÍÀÌ´Ù.
- Endpoint Number´Â Default Pipe¸¦ °¡¸£Å°´Â 0ÀÏ °ÍÀÌ´Ù.
- Host ´Â ´ÙÀ½À¸·Î ?DATA0 PacketÀ» º¸³½´Ù.
- ÀÌ ?DATA0 PacketÀº 8 Bytes ÀÇ 'Device Descriptor Request(USB Spec. 9Àå¿¡ ÀÖÀ½)'¸¦ Payload¿¡ °¡Áö°í ÀÖÀ» °ÍÀÌ´Ù.
- FunctionÀº Setup PacketÀ» Àß ¹Þ¾Ò´Ù¸é °Å±â¿¡ ´ëÇÑ Acknowledge¸¦ º¸³½´Ù. ¸¸¾à Error°¡ ÀÖ´Ù¸é PacketÀ» ¹ö¸°´Ù. (--> Host´Â Ack¸¦ ¹ÞÁö ¸øÇßÀ¸¹Ç·Î Short DelayµÚ¿¡ PacketÀ» ´Ù½Ã º¸³½´Ù)
- First USB Transaction
| 1.Setup Token | Sync | PID | ADDR | ENDP | ?CRC5 | EOP | Address & Endpoint Number |
| 2.Data0 Packet | Sync | PID | Data0 | ?CRC16 | EOP | Device Descriptor Request |
| 3.Ack Handshake | Sync | PID | EOP | Device Ack. Setup Packet |
- USB Device ´Â ÀÌÁ¦ 8 BytesÀÇ Data¸¦ µðÄÚµùÇϰí Device Descriptor Request¶ó´Â °ÍÀ» ¾Ë¾ÆÃ¦´Ù.
- ±×·¸´Ù¸é ÀÌÁ¦ Second USB TransactionÀÌ µÉ ?Device Descriptor ¸¦ º¸³»´Â ÀÛ¾÷À» ½ÃÀÛÇÑ´Ù.
| 1.In Token | Sync | PID | ADDR | ENDP | ?CRC5 | EOP | Address & Endpoint Number |
| 2. Data1 Packet | Sync | PID | Data1 | ?CRC16 | EOP | First 8 Bytes of Device Descriptor |
| 3. Ack Handshake | Sync | PID | EOP | Host Acknowledges Packet |
| 1. In Token | Sync | PID | ADDR | ENDP | ?CRC5 | EOP | Address & Endpoint Number |
| 2. Data0 Packet | Sync | PID | Data0 | ?CRC16 | EOP | Last 4 bytes | Padding |
| 3. Ack Handshake | Sync | PID | EOP | Host Acknowledge Packet |
- ¿©±â¿¡¼´Â Maximum Payload Size¸¦ 8 Bytes·Î °¡Á¤Çß´Ù.
- Host ´Â Device°¡ ÀÌÁ¦ ÀÌ Endpoint·Î Data¸¦ º¸³¾ ¼ö ÀÖ´Ù´Â IN tokenÀ» º¸³½´Ù.
- Maximum Packet Size °¡ 8 Bytes¹Ç·Î 12 BytesÀÇ Device Descriptor¸¦ ³ª´©¾î¼ º¸³»¾ß ÇÑ´Ù.
- ³ª´©¿ö¼ º¸³¾¶§¿¡´Â ¸¶Áö¸· PacketÀ» Á¦¿ÜÇϰí´Â ¸ðµÎ Maximum Packet Size¸¦ ²Ë²Ë ä¿ö¼ º¸³»¾ß ÇÑ´Ù.
- Device Descriptor°¡ º¸³»Á³´Ù¸é ´ÙÀ½À¸·Î Status TransactionÀÌ µû¶ó¿Â´Ù.
- TransactionÀÌ ¼º°øÀûÀ¸·Î ³¡³ª¸é Host´Â Àüü TransactionÀÌ ¼º°øÀûÀ¸·Î ³¡³µÀ½À» °¡¸£Å°´Â Zero Length Packet¸¦ º¸³½´Ù.
- ±×·¯¸é Function Àº ÀÚ½ÅÀÇ Status¸¦ °¡¸£Å°´Â ÀÀ´äÀ» ÇÑ´Ù.
| 1. Out Token | Sync | PID | ADDR | ENDP | ?CRC5 | EOP | Addresss & Endpoint Number |
| 2. Data1 Packet | Sync | PID | Data1 | ?CRC16 | EOP | Zero Length Packet |
| 3. Ack Handshake | Sync | PID | EOP | Device Ack. Entire Transaction |
1.9.2 Interrupt Transfers 
- ÀϹÝÀûÀÎ MicrocontrollerÀÇ Interrupt Request¸¦ ó¸®ÇØ º» »ç¶÷Àº Interrupt´Â Device °¡ »ý¼ºÇÏ´Â °ÍÀ¸·Î ¾Ë°íÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ USB¿¡¼´Â Device°¡ HostÀÇ ÁÖÀ§¸¦ ²ø±â À§Çؼ´Â (Interrupt¸¦ ÀÏÀ¸ÄѼ), Host°¡ ±×°ÍÀ» PollÇÒ¶§ ±îÁö ±â´Ù·Á¾ß ÇÑ´Ù. (±×°ÍÀÌ ±ä±ÞÇÑ»óȲÀÌ ¾Æ´Ï¶ó¸é)
- Interrupt Transfer´Â ¾Æ·¡ ³»¿ëÀ» Áö¿øÇÑ´Ù.
- Guaranteed Latency
- Stream Pipe - Unidirectional
- Error Detection and Next Period Retry
- Interrupt Transfer´Â ÀϹÝÀûÀ¸·Î ÁÖ±âÀûÀÌÁö ¾ÊÀ¸¸ç ÀÛÀº µð¹ÙÀ̽º¿¡¼ "ÃʱâȵÈ" ¾à°£ÀÇ Àẹ±â°¡ ÇÊ¿äÇÑ(Host°¡ PollÇÒ¶§±îÁö) Åë½ÅÀÌ´Ù.
- Interrupt Request´Â Device¿¡ ÀÇÇØ QueuedµÈ´Ù. (Host°¡ USB Device¿¡°Ô Data¸¦ ¿äûÇÒ¶§±îÁö - PollÇÒ¶§±îÁö)
- Low-Speed¿¡¼ÀÇ maximum data size ´Â 8 bytes.
- Full-Speed¿¡¼ÀÇ maximum data size ´Â 64 bytes.
- High-Speed¿¡¼ÀÇ maximum data size ´Â 1024 bytes.
- Interrupt Transfer
- IN
- Host´Â ÁÖ±âÀûÀ¸·Î Interrupt Endpoint¸¦ PollingÇÑ´Ù.
- Polling Rate ´Â ?Endpoint Descriptor¿¡ ±ÔÁ¤µÇ¾î ÀÖ´Ù.
- °¢°¢ÀÇ PollÀº Host°¡ º¸³»´Â IN Token¿¡ ¿¬°üµÈ´Ù.
- IN Token¿¡¼ Error°¡ ¹ß»ýÇϸé FunctionÀº ÇØ´ç PacketÀ» ¹«½ÃÇϰí Bus¸¦ MonitoringÇÏ´Â °ÍÀ» °è¼ÓÇÑ´Ù. (»õ·Î¿î ´ÙÀ½ TokenÀ» À§Çؼ)
- ¸¸¾à Interrupt°¡ Device¿¡ ÀÇÇØ Queue¿¡ ÀúÀåµÇ¾ú´Ù¸é, FunctionÀº IN TokenÀÌ ¿ÔÀ» ¶§ Interrupt¿Í ÀûÀýÇÑ Data¸¦ ³Ö¾î¼ Data packetÀ» º¸³½´Ù.
- HostÂÊ¿¡¼´Â Data PacketÀ» ¼º°øÀûÀ¸·Î ¹Þ¾ÒÀ» ¶§ ACKÀ» µÇµ¹·Á ÁØ´Ù. ÇÏÁö¸¸ Error°¡ ÀϾÀ» ¶§¿¡´Â ¾Æ¹«·± ÀÀ´äÀ» ÇÏÁö ¾Ê´Â´Ù.
- IN TokenÀÌ ¿ÔÀ» ¶§ Queue¿¡ ÀúÀåµÈ Interrupt°¡ ¾ø´Ù¸é NAK¸¦ º¸³»ÁØ´Ù.
- Endpoint°¡ ErrorÀÎ »óÅ¿¡ ÀÖÀ¸¸é STALLÀ» º¸³»ÁØ´Ù.
- OUT
- ¸¸¾à È£½ºÆ®°¡ Interrupt data¸¦ º¸³»°í ½ÍÀ¸¸é, ¸ÕÀú OUT tokenÀ» º¸³»°í ¹Ù·Î À̾î ÇØ´ç InterruptÁ¤º¸°¡ µé¾îÀÖ´Â Data PacketÀ» º¸³½´Ù.
- ¹ÞÀº TokenÀ̳ª Data Packet¿¡ Á¶±ÝÀÌ¶óµµ ÀÌ»óÀÌ ÀÖÀ¸¸é FunctionÀº ÀÌ Request¸¦ ¹«½ÃÇÑ´Ù.
- ¸ðµÎ ÀÌ»óÀÌ ¾ø´Ù°í, FunctionÀÇ Endpoint Buffer°¡ ºñ¾îÀÖ°í, Buffer¿¡ ¹«»çÈ÷ ³Ö¾ú´Ù¸é HostÂÊ¿¡ Àß¹Þ¾Ò´Ù´Â ½ÅÈ£·Î ACK¸¦ º¸³½´Ù.
- Endpoint Buffer°¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é(ÀÌÀüÀÇ µ¥ÀÌÅÍ Ã³¸®¸¦ À§ÇØ) FunctionÀº NAK¸¦ º¸³½´Ù.
- Endpoint°¡ Error¸¦ ³»¾î Halt bitÀÌ ¼ÂÆÃµÇ¾î ÀÖ´Ù¸é STALL¸¦ º¸³½´Ù.
1.9.3 Isochronous Transfers 
- Isochronous Transfer´Â ÁÖ±âÀûÀ̰í ÀÏÁ¤ÇÏ°Ô ÀϾÙ.
- ÀϹÝÀûÀ¸·Î ½Ã°£¿¡ ¹Î°¨ÇÑ Á¤º¸ (Audio, Video Stream°°Àº)¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù.
- ¸¸¾à Audio³ª Video¿¡ Delay³ª Retry of Data µîÀÌ ÀÖ´Ù¸é ²ûÂïÇÑ ¼Ò¸®³ª ¿µ»óÀ» ¿¹»óÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
- ÇÏÁö¸¸ Packet ¶Ç´Â FrameÀÌ Áö±Ý ºÎÅÍ °è¼Ó dropµÈ´Ù¸é ¹®Á¦°¡ µÉ°ÍÀÌ´Ù.
- Isochronous Transfer´Â ´ÙÀ½ »çÇ×À» Áö¿øÇÑ´Ù.
- Stream Pipe - Unidirectional
- CRC·Î ¿¡·¯ °ËÃâÀ» ÇÏÁö¸¸ µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀ» Á¦°øÇÏÁö ¾ÊÀ¸¸ç ÀçÀü¼Ûµµ ÇÏÁö ¾Ê´Â´Ù.
- Full & High Speed ¿¡¼¸¸ Áö¿øÇÑ´Ù.
- Guarnateed Access to USB bandwidth
- Bounded Latency
- No Data Toggling
- Isochronous EndpointÀÇ ?Endpoint Descriptor¿¡ Data PayloadÀÇ Maximum Size °¡ Á¤ÀǵǾî ÀÖ´Ù.
- ÃÖ´ëÄ¡´Â Full speed¿¡¼´Â 1023 bytes, High speed¿¡¼´Â 1024 bytesÀÌ´Ù.
- Maximum Data Payload °ªÀÌ BusÀÇ ¿ä±¸ Bandwidth¿¡ ¿µÇâÀ» ÁÙ °ÍÀ̹ǷÎ, ÀûÀýÇÑ Size¸¦ ã´Â °ÍÀÌ Çö¸íÇÒ °ÍÀÌ´Ù.
- Ä¿´Ù¶õ Payload¸¦ »ç¿ëÇÑ´Ù¸é Alternative Interface ½Ã¸®Áî¿Í ÇÔ²² Isochronous Payload Size¸¦ ¹Ù²Ù´Â °Í µîÀ» Á¤ÀÇÇÑ´Ù¸é ÇϳªÀÇ ÀåÁ¡ÀÌ µÉ¼öµµ ÀÖ´Ù.
- Enumerationµ¿¾È¿¡ Host°¡ Bandwidth Á¦ÇÑ ¶§¹®¿¡ Isochronous Endpoint¸¦ Ȱ¼ºÈ ÇÏÁö ¸øÇß´Ù¸é, ±×³É ½ÇÆÐ·Î ³¡³ª´Â °Í º¸´Ù´Â Size¸¦ ÁÙÀÌ´Â ¹æ¾ÈÀ» °ËÅäÇϴ°ÍÀÌ ÁÁ´Ù.
- Isochronous Endpoint·Î º¸³»Áö´Â Data´Â ¹Ì¸® NegotiatedµÈ Sizeº¸´Ù ÀÛ¾ÆÁú ¼ö ÀÖÀ¸¸ç Transaction¿¡¼ TransactionÀ¸·Î ¹Ù²î¸é¼ º¯ÇÒ ¼ö ÀÖ´Ù.
- Isochronous Transfer
- Isochronous Transfer´Â ErrorÀ̳ª STALL/HALT µîÀÇ Report´Â ¾²Áö ¾Ê´Â´Ù.
1.9.4 Bulk Transfer 
- Å« ¿ë¾çÀÇ Bursty Data¸¦ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Ù.(Print-Job to Printer, Image Data from Scanner)
- Data PayloadÀÇ ?CRC16 Field·Î Error¸¦ °ËÃâÇϰí/ÀçÀü¼ÛÇÏ¿© µ¥ÀÌÅ͸¦ Àü¼ÛÇÔ¿¡ ÀÖ¾î Error Free¸¦ ±¸ÇöÇÑ´Ù.
- ¸ðµç TransactionÀÌ ÇÒ´çµÈ ÈÄ ³²Àº Bandwidth¸¦ »ç¿ëÇÑ´Ù.
- ¸¸¾à Bus°¡ Isochronous ³ª(±×¸®°í) Interrupt µîÀ¸·Î ¹Ù»Ú´Ù¸é Bulk Data ´Â ¸Å¿ì ´À¸° ¼Óµµ·Î Àü´ÞµÉ °ÍÀÌ´Ù.
- µû¶ó¼ Time¿¡ ¹Î°¨ÇÏÁö ¾Ê´Â °÷¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù.
- ´ÙÀ½Àº Bulk Transfer°¡ Á¦°øÇÏ´Â °ÍÀÌ´Ù.
- Å« ¿ë·®ÀÇ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- CRC¸¦ ÅëÇØ ¿¡·¯¸¦ °ËÃâÇÏ¸ç ¿¡·¯½Ã ÀçÀü¼ÛÀ» ÇÏ¿© µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀ» º¸ÀåÇÑ´Ù.
- ÃÖ¼Ò Àẹ±â(Àü¼ÛÀ» À§ÇØ ±â´Ù¸®´Â ½Ã°£)À̳ª Bandwidth´Â GuaranteeÇÏÁö ¸øÇÑ´Ù.
- Stream Pipe - Unidirectional
- Full & High Speed Modes¿¡¼¸¸ »ç¿ë °¡´ÉÇÏ´Ù.
- Full Speed Endpoint¿¡¼´Â Bulk Packet »çÀÌÁî´Â 8, 16, 32, 64 BytesÀ̰í High Speed¿¡¼´Â 512 bytes±îÁö °¡´ÉÇÏ´Ù.
- Bulk Transfer
- IN
- Host°¡ Bulk Data¸¦ ¹ÞÀ» Áغñ°¡ µÇ¾ú´Ù¸é IN TokenÀ» º¸³½´Ù.
- IN Token¿¡ Error°¡ ÀÖ´Ù¸é FunctionÀº ÇØ´ç PakcetÀ» ¹«½ÃÇÑ´Ù.
- IN TokenÀ» Error¾øÀÌ Àß ¹Þ¾Ò´Ù¸é
- Bulk Data¸¦ Æ÷ÇÔÇϰí ÀÖ´Â Data PacketÀ»
- Endpoint °¡ Error°¡ ÀÖ´Ù¸é Stall PacketÀ»
- Endpoint °¡ Áغñ°¡ µÇ¾úÁö¸¸ ¾ÆÁ÷ º¸³¾ µ¥ÀÌÅͰ¡ ¾ø´Ù¸é NAK¸¦ º¸³½´Ù.
- OUT
- Host°¡ Bulk Data¸¦ º¸³»°í ½Í´Ù¸é OUT Token°ú ¹Ù·ÎÀ̾î Bulk Data¸¦ Æ÷ÇÔÇÏ´Â Data PacketÀ» º¸³½´Ù.
- OUT Token°ú Data PacketÀÇ ¾î´À ºÎºÐÀÌ¶óµµ Error°¡ ÀÖ´Ù¸é FunctionÀº ÇØ´ç PacketÀ» ¹«½ÃÇÑ´Ù.
- ¸ðµÎ Error°¡ ¾ø°í Function's Endpoint Buffer°¡ ºñ¾îÀÖ°í Buffer·Î Àß ³Ö¾ú´Ù¸é FunctionÀº Àß ¹Þ¾Ò´Ù´Â ACK¸¦ º¸³½´Ù.
- ¸ðµÎ Error°¡ ¾øÀ¸³ª Function's Endpont Buffer°¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é NAK¸¦ º¸³½´Ù.
- ¸ðµÎ Error°¡ ¾øÀ¸³ª Endpoint°¡ Error»óŶó Halt bitÀÌ ¼³Á¤µÇ¾î ÀÖ´Ù¸é STALL¸¦ º¸³½´Ù.
1.9.5 Bandwidth Management 
- Host´Â BusÀÇ Bandwidth¸¦ Ã¥ÀÓÁ®¾ß ÇÑ´Ù.
- À̰ÍÀº Enumeration ¶§ Isochronous, Interrupt Endpoint¹× BusÀÇ µ¿ÀÛÀ» ÀüºÎ ¼³Á¤ÇÏ¸é¼ ÇàÇØÁø´Ù.
- Full Speed bus¿¡¼´Â 90%±îÁö Periodic Transfer(Interrupt, Isochoronous), High speed¿¡¼´Â 80%±îÁö ÇÒ´çÇϵµ·Ï ÇϰíÀÖ´Ù. (³ª¸ÓÁö´Â Control°ú Bulk°¡ ¾²µµ·Ï)
1.10 USB Descriptors 
- ¸ðµç USB Device´Â Device°¡ ¹«¾ùÀ̰í, ´©°¡ ¸¸µé¾ú°í ¾î¶² ¹öÀüÀÇ USB¸¦ Áö¿øÇÏ´ÂÁö µîÀÇ Á¤º¸¸¦ Host¿¡°Ô ¼³¸íÇØÁÖ´Â DescriptorÀÇ °èÃþ±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù.
- °øÅëÀûÀÎ USB Descriptors´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
- Descriptor Hierarchy
1.10.1 Device Descritors 
- Device Descriptor´Â DeviceÀÇ ¸ðµç°ÍÀ» Ç¥ÇöÇϰí ÀÖ´Ù.
- µû¶ó¼ USB Device´Â ´ÜÁö ÇϳªÀÇ Device Descriptor¸¦ °¡Áö°í ÀÖ´Ù.
- Device Descriptor´Â (Áö¿øÇÏ´Â)USB Revision, ÀûÀýÇÑ µå¶óÀ̹ö¸¦ LoadÇÏ´Â µ¥ ¾²ÀÌ´Â Product ID¿Í Vender ID, Device°¡ °¡Áú ¼ö ÀÖ´Â °¡´ÉÇÑ Configuation¼ö µîÀ» °¡Áö°í ÀÖ´Ù.
- ConfiguraionÀÇ ¼ýÀÚ´Â ¾ó¸¶³ª ¸¹Àº Configuration Descriptor·Î BrancheÇÒ ¼ö ÀÖ´ÂÁö¸¦ ³ªÅ¸³½´Ù.
- Device Descriptor Format
1.10.2 Configuration Descriptors 
- ¸î°³ÀÇ ´Ù¸¥ ConfigurationsÀ» °¡Áú ¼ö ÀÖ´Ù. (´ëºÎºÐÀÇ Device°¡ °£´ÜÇϰí Çϳª¸¸ »ç¿ëÇÒÁö¶óµµ)
- ÀÌ Æ¯Á¤ÇÑ ConfigurationÀÌ Power¸¦ ¾ó¸¶³ª ÇÊ¿ä·Î ÇÏ´ÂÁö, Device°¡ Self-PoweredÀÎÁö Bus PoweredÀÎÁö, °¡Áö°í ÀÖ´Â Interface ¼ýÀÚ µîÀÇ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù.
- Device°¡ EnumerateµÉ ¶§ Host´Â Device Descriptor¸¦ ÀÐ°í ¾î¶² ConfigurationÀÌ È°¼ºÈ µÉ °ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù.
- Çѹø¿¡ ÇѰ¡Áö Configuration¸¸ °¡´ÉÇÏ´Ù.
- Inteface DescriptorÀÇ "Header"°¡ µÉ ¼ö ÀÖÀ¸¸ç ±×·¸°Ô »ç¿ëµÉ ¶§¿¡´Â ´Ù¸¥ ConfigurationÀÇ ´Ù¸¥ Transfer Mode¸¦ »ç¿ëÇÏ´Â ÇϳªÀÇ ConfigurationÀ» °¡Áú ¼ö ÀÖ´Ù.
- Configuration Descriptor Format
- wTotalLength : HierarchyÀÇ ÃÑ Bytes¼ö (Configuration Descriptor°¡ ÀÐÈ÷¸é ±×°ÍÀº °ü·ÃµÈ Interface, Endpoint DescriptorµéÀ» Æ÷ÇÔÇÑ Configuration HierarchyÀÇ ÀüºÎ¸¦ ¸®ÅÏÇÑ´Ù.
- wTotalLength
- bNumInterface : ÀÌ Configuration¿¡ Á¸ÀçÇÏ´Â InterfaceÀÇ ¼ö
- bConfigurationValue : ÀÌ ConfiguratinoÀ» ¼±ÅÃÇϵµ·Ï ?SetConfiguration Request¿¡¼ »ç¿ëÇÏ´Â °ª (ÀÌ ConfiguratinoÀÇ ID)
- iConfiguration : ÀÌ ConfigurationÀ» »ç¶÷ÀÌ Àб⠽±°Ô ¼³¸íÇÑ String DescriptorÀÇ Index°ª
- bmAttributes : ConfigurationÀÇ Power Parameterµé.
- Device°¡ Self Powered¸é D6==1
- Device°¡ Bus Powerd D7 bitÀ» ¼³Á¤ (in USB 1.0) --> Áö±ÝÀº bMaxPower°¡ ¾²ÀδÙ.
- DeviceÀÇ Power¸ðµå¿¡ »ó°ü¾øÀÌ DeviceÀÇ Power ConsumptionÀ» bMaxPowerÀ¸·Î º¸°íÇØ¾ßÇÑ´Ù. ¶ÇÇÑ Host°¡ SuspendÀ϶§ ±ú¾î³¯ ¼ö ÀÖµµ·Ï Remote WakeupÀ» Áö¿øÇؾßÇÑ´Ù.
- bMaxPower : Bus·ÎºÎÅÍ »ç¿ëÇÏ´Â Maximum Power
1.10.3 Interface Descriptors 
- DeviceÀÇ ÇѰ¡Áö Feature¸¦ ³ªÅ¸³»´Â ±â´ÉÀû ±×·ìÈ °úÁ¤ ¶Ç´Â Header·Î º¸ÀÏ ¼ö ÀÖ´Ù.
- ¿¹¸¦ µç´Ù¸é Fax/Scanner/Printer°¡µÇ´Â Multi-Function Device¸¦ °¡Áö°í ÀÖ´Ù¸é Fax, Scanner, Printer°¢ ±â´Éº°·Î Interface Descriptor°¡ µÉ ¼ö ÀÖ´Ù.
- Configuration Descriptor¿Í´Â ´Þ¸® Çѹø¿¡ ÇϳªÀÇ Interface Descriptor¸¸ Ȱ¼ºÈ ÇØ¾ßÇÑ´Ù´Â µîÀÇ Á¦ÇÑÀº ¾ø´Ù.
- InterfaceÀÇ ¼ö¸¦ ³ªÅ¸³»´Â bInterfaceNumber Field, Interface¿¡ SettingÀ» º¯È½Ãų ¼ö ÀÖ´Â bAlternateSetting Field°¡ ÀÖ´Ù.
- ¿¹¸¦ µé¾î µÎ°³ÀÇ Interface¸¦ °¡Áö°í ÀÖ´Â Device¸¦ °¡Áö°í Àִµ¥, °¢°¢ Interface one, Interface two¶ó ÇÏÀÚ.
- Interface oneÀº bInterfaceNumber==0(ÀÌ Interface°¡ ù¹øÂ° InterfaceÀÓÀ» °¡¸£Å´), bAlternativeSetting==0, Interface two´Â bInterfaceNumber==1(ÀÌ Interface°¡ µÎ¹øÂ° InterfaceÀÓÀ» °¡¸£Å´), bAlternateSetting==0(Default).
- ´Ù¸¥ Descriptor ¸¦ Àû¿ë½Ã۴µ¥ ¿©±â¼´Â bInterfaceNumber==1(µÎ¹øÂ° Interface¸¦ °¡¸£Å´), bAlternativeSetting==1(ÀÌ Interface Descriptor´Â ¿ø·¡ÀÇ µÎ¹øÂ°Interface DescriptorÀÇ Alternative SettingÀÏ ¼ö ÀÖÀ½À» °¡¸£Å´)
- ÀÌ ConfigurationÀÌ È°¼ºÈ µÇ¾ú´Ù¸é óÀ½ÀÇ µÎ°³ÀÇ Interface Descriptor(bAlternativeSetting==0ÀÎ)°¡ »ç¿ëµÈ´Ù.
- ÇÏÁö¸¸ µ¿ÀÛ °úÁ¤¿¡¼ Host°¡ ?SetInterface Request¸¦ Interface one¿¡°Ô bAlternativeSettings==1ÀÎ ´Ù¸¥ Interface Descriptor¸¦ Ȱ¼ºÈ Çϱâ À§ÇØ º¸³¾ ¼ö ÀÖ´Ù.
- À̰ÍÀº µÎ°³ÀÇ (Ãß°¡)ConfigurationÀ» °¡Áö°í ÀÖÀ½À¸·Î Interface zero¿¡ ÀüÇô ¿µÇâÀ» ÁÖÁö ¾Ê°í Interface one¿¡ °ü·ÃµÈ Endpoint¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Â ÀåÁ¡À» Á¦°øÇØ ÁØ´Ù.
- Interface Descriptor Example
- Interface Descriptor Format
- bInterfaceNumber : Interface DescriptorÀÇ Index (Zero based, »õ·Î¿î Interface Descriptor ¿¡ ´ëÇÏ¿© +1)
- bAlternativeSetting : Alternative Interfaces¸¦ ³ªÅ¸³¿ (?SetIntetface Request¿¡¼ Alternative Interface´Â ¼±ÅõǾîÁú ¼ö ÀÖ´Ù)
- bNumEndpoints : Çö Interface ¿¡¼ »ç¿ëÇÏ´Â EndpointÀÇ ¼ö(¹Ýµå½Ã Endpoint0ÀÇ ¼ö ¸¦ Æ÷ÇÔÇϰí ÀÖ¾î¾ßÇÑ´Ù)
- bInterfaceClass, bInterfaceSubClass, bInterfaceProtocol : Ưº°È÷ Áö¿øÇÏ´Â Class ¸¦ ³ªÅ¸³¾ ¶§ ¾²ÀδÙ(HID, Mass Storage, Communicationsµî). À̰ÍÀº ¸¹Àº DevicesµéÀÌ Æ¯Á¤ Device¸¦ À§ÇÑ Driver¸¦ ¾²´Â°ÍÀ»(±¸ÇöÇϴ°Í)À» Class¸¦ »ç¿ëÇÏ°Ô ÇÔÀ¸·Î ´ë½ÅÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
- iInterface : ÀÌ Interface¿¡ ´ëÇÑ String DescriptorÀÇ index
1.10.4 Endpoint Descriptors 
- Endpoint (0À» Á¦¿ÜÇÑ)¸¦ ¼³¸íÇϴµ¥ ¾²ÀδÙ.
- Endpoint 0´Â Ç×»ó Control Endpoint·Î »ç¿ëµÇ¸ç ¾î¶² DescriptorÀÇ RequestÀÌÀü¿¡ ÀÌ¹Ì ¼³Á¤µÈ´Ù.
- Host´Â À̵é Descriptor·ÎºÎÅÍ ¹ÞÀº Á¤º¸¸¦ BusÀÇ Bandwidth¸¦ Á¤ÇÏ´Â µ¥ »ç¿ëÇÑ´Ù.
- Endpoint Descriptor Format
- bEndpointAddress : ÀÌ Descriptor°¡ ¼³¸íÇϰí ÀÖ´Â Endpoint¸¦ °¡¸£Å²´Ù. (ep ID)
- bmAttributes : Transfer TypeÀ» ³ªÅ¸³½´Ù. Control, Interrupt, Isochronous, Bulk°¡µÉ ¼ö ÀÖ´Ù. ¸¸¾à Isochronous ·Î Á¤ÇØÁ³´Ù¸é Synchronisation, Usage Type°°Àº Ãß°¡ÀÇ attribute°¡ ¼±ÅÃµÉ ¼ö ÀÖ´Ù.
- wMaxpacketSize : Çö EndpointÀÇ Maximim Payload Size¸¦ ³ªÅ¸³½´Ù.
- bInterval : ½ÇÁ¦ Àü¼ÛÀÇ Polling IntervalÀ» ³ªÅ¸³½´Ù. UnitÀº Frames.
1.10.5 String Descriptors 
- ¼±ÅÃÀûÀÌ´Ù.
- Àΰ£ÀÌ ÀÐÀ» ¼ö ÀÖ´Â Á¤º¸¸¦ Á¦°ø
- StringÀº Unicode FormatÀ¸·Î ÀÎÄÚµåµÇ°í Mutiple Language¸¦ Áö¿øÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. String Index 0 ´Â °¡´ÉÇÑ LanguageÀÇ List¸¦ ReturnÇÑ´Ù. (´Ù¸¥ Descriptor¿¡¼ String Index¸¦ 0À¸·Î ÇÏ¸é »ç¿ëÇÏÁö ¾ÊÀ½À» ÀǹÌÇÑ´Ù)
- String Descriptor Zero Format
- À§ÀÇ String Descriptor´Â String Descriptor ZeroÀÇ FormatÀ» º¸¿©ÁØ´Ù. Host´Â À̰ÍÀ» ÀÐÀ½À¸·Î¼ ¾î¶² Languages°¡ °¡¿ëÇÑÁö ¾Ë ¼ö ÀÖ´Ù. ¸¸¾à Language°¡ °¡¿ëÇÏ´Ù¸é Get Descriptor(String) RequestÀÇ wIndex Field¿¡ Language ID¸¦ º¸³»¾î ÇØ´ç ¾ð¾îÀÇ ½ºÆ®¸µÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.
- ½ÇÁ¦ ½ºÆ®¸µ µ¥ÀÌÅÍ´Â ´ÙÀ½°ú °°Àº FormatÀ¸·Î ´ãÀ» ¼ö ÀÖ´Ù.
- String Descriptor Format 2
1.10.6 Composition of USB Descriptors 
- ¸ðµç Descriptors´Â °øÅë formatÀ» ±â¹ÝÀ¸·Î ¸¸µé¾îÁ® ÀÖ´Ù.
- ù¹øÂ° Byte´Â DescriptorÀÇ ±æÀ̸¦ ±ÔÁ¤Çϰí
- µÎ¹øÂ° Byte´Â DescriptorÀÇ TypeÀ» ¸»ÇÑ´Ù.
- ¸¸¾à DescriptorÀÇ ±æÀ̰¡ ½ºÆå¿¡¼ Á¤ÀÇÇÑ °Í º¸´Ù ÀÛ´Ù¸é Host´Â ±×°ÍÀ» ¹«½ÃÇÑ´Ù.
- ¸¸¾à DescriptorÀÇ ±æÀ̰¡ ½ºÆå¿¡¼ Á¤ÀÇÇÑ °Í º¸´Ù Å©´Ù¸é Host´Â ¿©ºÐÀÇ Byte¸¦ ¹«½ÃÇÏ°í ½ÇÁ¦ »çÀÌÁöÀÇ ³¡ºÎºÐ¿¡¼ºÎÅÍ ´ÙÀ½ Descriptor¸¦ ã±â ½ÃÀÛÇÑ´Ù.
- Descriptor Common Format
1.11 USB Requests 
1.11.1 The Setup Packet 
- ¸ðµç USB Device´Â Default Pipe·Î Setup Packet¿¡ ÀÀ´äÀ» ÇØ¾ßÇÑ´Ù.
- Setup PacketÀº Device¸¦ °ËÃâÇÏ°í ¼³Á¤Çϴµ¥ »ç¿ëµÇ¸ç USB DeviceÀÇ Address¸¦ ¼³Á¤Çϰųª, Device Descriptor¸¦ ¿äûÇϰųª, EndpointÀÇ »óŸ¦ CheckingÇÏ´Â µîÀÇ °øÅë FunctionÀ» ¿î¹ÝÇÑ´Ù.
- USB ȣȯ Host´Â ¸ðµç Request´Â ÃÖ´ë 5ÃÊ À̳»¿¡ ó¸® µÉ °ÍÀ» ±â´ëÇÑ´Ù. ¶ÇÇÑ °¢°¢ÀÇ Request¿¡ ´ëÇØ ¾ö°ÝÇÑ TimingÀ» Á¤ÀÇÇϰí ÀÖ´Ù.
- Standard Device Request without Data Stage ´Â ¸ðµÎ 50 ms À̳»¿¡ 󸮵Ǿî¾ß ÇÑ´Ù.
- Standard Device Request with Data Stage´Â RequestÈÄ 500 msÀ̳»¿¡ Data¸¦ ¹Þ±â ½ÃÀÛÇØ¾ß ÇÑ´Ù.
- °¢°¢ÀÇ Data PacketÀº 500 ms À̳»¿¡ º¸³»Á®¾ß ÇÑ´Ù.(¾Õ PacketÀÇ ¼º°øÀûÀÎ Àü¼Û ÈÄ¿¡)
- Status Stage´Â °¡Àå ¸¶Áö¸· Data PacketÀÇ Àü¼Û ÈÄ¿¡ 50 ms À̳»¿¡ ¿Ï·á µÇ¾î¾ß ÇÑ´Ù.
- Data Phase¸¦ °¡Áö°í ÀÖ´Â ?SetAddress Command ´Â 50 ms À̳»¿¡ Command¸¦ ó¸®Çϰí Status°¡ ReturnµÇ¾î¾ß ÇÑ´Ù. Address¸¦ ¹Ù²Ù±â À§ÇØ 2msÀÇ ½Ã°£À» ÁØ´Ù.
- À§ÀÇ Timeout ÁÖ±âµéÀº ¾ÆÁÖ Àú¼ÓÀÇ Device¿¡¼µµ ±×´ë·Î ¹Þ¾Æµé¿©Áø´Ù. (ÇÏÁö¸¸ Serial·Î DebuggingÀ» ÇÒ¶§¿¡´Â ÁÖÀǸ¦ ¿äÇÑ´Ù. )
- Setup Packet Format
- ÃÑ 8 bytesÀÇ ±æÀÌ
- bmRequestType : RequestÀÇ ¹æÇâ, Á¾·ù, ¿¹»óµÈ(Designed) ¼ö½ÅÀÚ ¸¦ °áÁ¤ÇÑ´Ù.
- bRequest : ¸¸µé¾îÁø Request ÀÚü
- bmRequestTypeÀÌ Á¤»óÀûÀ¸·Î ÆÄ½ÌµÇ°í, ½ÇÇàÀº ¿©·¯ Çڵ鷯 (Standard Device request handler, Standard Interface handler, Standard Endpoint handler, Class Device Request handler µîÀ¸·Î)·Î ó¸®µÉ ¼ö ÀÖ´Ù. Setup PacketÀ» ¾î¶»°Ô ParsingÇϰí ó¸®ÇÒ °ÍÀÎÁö´Â ¸ðµÎ °³¹ßÀÚ¿¡°Ô ´Þ·ÁÀÖ´Ù. ´Ù¸¥ ¹æ¹ý Çϳª´Â bRequest¸¦ ¸ÕÀú parsingÇÏ°í ´ÙÀ½¿¡ request¿¡ ¸Â´Â type°ú ¼ö½ÅÀÚ µîÀ» ÆÄ¾ÇÇÒ¼öµµ ÀÖ´Ù.
- Standard Request´Â ¸ðµç USB Device¿¡°Ô °øÅëÀ̵ȴÙ.
- Class Request ´Â DriverÀÇ Class¿¡ °øÅëÀ̵ȴÙ. ¿¹¸¦ µé¸é HID Class¸¦ µû¸£´Â ¸ðµç Device´Â ƯÁ¤ Class Request Set¿¡ ´ëÇÑ °øÅëÀ» °¡Áö°í ÀÖÀ» °ÍÀÌ´Ù. À̰ÍÀº Communication Class¸¦ µû¸£´Â Device¿Í ´Ù¸£¸ç Mass Stogage Class¸¦ µû¸£´Â Device¿Íµµ ´Ù¸£´Ù.
- Vendor Specific Request´Â Device¸¶´Ù ´Ù¸£¸ç °³¹ßÀÚÀÇ ±¸Çö°ú Imagination¿¡ ´Þ·ÁÀÖ´Ù.
- Common Request´Â ´Ù¸¥ Á¾·ùÀÇ ¼ö½ÅÀÚ¿¡°Ô Àü´ÞµÉ ¼ö ÀÖÀ¸¸ç °¢°¢ÀÇ ¼ö½ÅÀÚ¿¡ µû¶ó ´Ù¸¥ FunctionÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù. ?GetStatus Reqeust¸¦ ¿¹·Î µé¸é, ÀÌ Request´Â Device, Interface³ª Endpoint¿¡ Àü´ÞµÉ ¼ö ÀÖÀ»°ÍÀÌ´Ù. Device¿¡°Ô Àü´Þ µÇ¾úÀ» ¶§ ¸¸¾à Device°¡ Self Powered¶ó¸é Remote Wakeup Status¸¦ °¡¸£Å°´Â Ç÷¡±×¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù. Ç×»ó 0¸¦ ¸®ÅÏÇÏ´Â Interface¿¡°Ô Àü´ÞµÇ¾úÀ» ¶§¿¡´Â 0À» ReturnÇÒ °ÍÀ̰í, Error¸¦ ÀÏÀ¸·Á HaltµÈ Endpoint¿¡°Ô Àü´ÞµÇ¾ú´Ù¸é Halt Flag°¡ ¼ÂÆÃµÇ¾î ReturnµÉ °ÍÀÌ´Ù.
- wValue : wIndex : Request¿¡ Parameter¸¦ °°ÀÌ Àü´ÞÇÒ ¶§ »ç¿ëÇÑ´Ù.
- wLength : Data Phase°¡ ÀÖÀ» ¶§ Àü¼ÛµÉ Bytes¼ö¸¦ ³ªÅ¸³½´Ù.
1.11.2 Standard Request 
- Standard Device Request
- Get Status Request°¡ Device¿¡ µµÂøÇßÀ»¶§ Devcie´Â ´ÙÀ½ÀÇ FormatÀ¸·Î Data Stageµ¿¾È 2 Bytes¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.
- D0==1 : Self Powered
- D0==0 : Bus Powered
- D1==1 : Remote Wakeup Enabled -> Wake the host up during suspend. Remote Wakeup BitÀº ?SetFeature ¿Í ?ClearFeature Request¿¡¼ DEVICE_REMOTE_WAKEUP(0x01)°ú ÇÔ²² »ç¿ëµÉ ¼ö ÀÖ´Ù.
- Clear Feature, Set Feature Request´Â Boolean Feature¸¦ ¼ÂÆÃÇÒ¶§ »ç¿ëÇÑ´Ù.
- ¸¸¾à ´ë»ó ¼ö½ÅÀÚ°¡ Device¶ó¸é, DEVICE_REMOTE_WAKEUP°¡ TEST_MODEÀÇ 2°¡Áö Feature¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- Test Mode ´Â Device°¡ ¿©·¯°¡Áö Condition¿¡ ÀÖ°Ô Çã¿ëÇÑ´Ù.
- Set Address ´Â USB Device¿¡°Ô °íÀ¯ÇÑ ÁÖ¼Ò¸¦ ÇÒ´çÇϱâ À§ÇØ Enumuration½Ã¿¡ »ç¿ëµÇ¾î Áø´Ù.
- Address´Â wValue¿¡ ½áÁö¸ç ÃÖ´ë 127±îÁö °¡´ÉÇÏ´Ù.
- ÀÌ Request´Â Device°¡ ±×°ÍÀÇ ÁÖ¼Ò¸¦ Status Stage°¡ ³¡³ªÁö Àü±îÁö ¼ÂÆÃÇÏÁö ¾Ê´Â´Ù´Â Á¡¿¡¼ À¯ÀÏÇÏ´Ù. (´Ù¸¥ ¸ðµç Request´Â Status SstageÀÌÀü¿¡ ¸ðµÎ ³¡³ª¾ß ÇÑ´Ù.)
- Set Descriptor/Get Descriptor´Â ƯÁ¤ÇÑ Descriptor¸¦ wValue¿¡ ¸®ÅÏÇÑ´Ù. Configuration Descriptor Request´Â Device Descriptor¿Í ¸ðµç Interface, Endpoint Descriptors¸¦ Çѹø¿¡ ¸®ÅÏÇÑ´Ù.
- Endpoint Descriptors, Interface Descriptors ´Â ÀÌ Request·Î Á÷Á¢ Access µÇÁö ¾Ê´Â´Ù.
- String Descriptor´Â Multiple Language Support¸¦ À§ÇØ wIndex¿¡ Language ID¸¦ °¡Áö°í ÀÖ´Ù.
- Get Configuration/Set Configuration Request ´Â Çö Device¸¦ ¼³Á¤Çϱâ À§ÇØ »ç¿ëÇÑ´Ù.
- Get Configuration RequestÀÎ °æ¿ì DeviceÀÇ »óŸ¦ ³ªÅ¸³»´Â Byte°¡ Data Stage¿¡ ¸®ÅϵǾî¾ß ÇÑ´Ù.
- Zero Value´Â Device°¡ ¾ÆÁ÷ ¼³Á¤µÇÁö ¾Ê¾ÒÀ½À» ÀǹÌÇϰí, None Zero Value´Â ¼³Á¤µÇ¾úÀ½À» ÀǹÌÇÑ´Ù.
- Set Configuration Device¸¦ Ȱ¼ºÈ Çϴµ¥ »ç¿ëÇÑ´Ù.
- ¾î¶² ConfigurationÀ» Ȱ¼ºÈ ÇÒ°ÍÀÎÁö ¼±ÅÃÇϱâ À§Çؼ wValueÀÇ Lower byte¿¡ ¿äûµÇ´Â Configuration DescriptorÀÇ bConfiguration Value¸¦ °¡Áö°í ÀÖÀ» ¼ö ÀÖ´Ù.
1.11.3 Standard Interface Request 
- Standard Interface Request
- wIndex : Interface¿¡¼ Á÷Á¢ ¿äûÇÏ´Â InterfaceÀÇ Index¸¦ ³ªÅ¸³¿ (0 based)
- Get Status : InterfaceÀÇ Status¸¦ Return
- Clear Feature, Set Feature : Boolean Feature¼ÂÆÃ¿¡ ¾´´Ù. ÇöÀç ½ºÅØ¿¡´Â Interface Feature¸¦ ¾ÆÁ÷ Á¤ÀÇÇÏÁö ¾ÊÀ½
- Get Interface, Set Interface : Alternative Interface¸¦ ¼ÂÆÃÇÒ ¶§ »ç¿ëÇÑ´Ù.
1.11.4 Standard Endpoint Request 
- Standard Endpoint Request
- wIndex : ÂüÁ¶µÇ´Â Endpoint Index, Endpoint¿¡ DirectedµÇ±â À§ÇÑ Request ¹æÇâÀ» ³ªÅ¸³½´Ù.
- Endpoint RequestÀÇ wIndex Format
- Get Status : 2 bytesÀÇ EndpointÀÇ »óÅÂ(Halted/Stalled)¸¦ ¸®ÅÏÇÑ´Ù.
- Endpoint Get Status Return Format
- Clear Feature, Set Feature : Endpoint Feature¸¦ ¼ÂÆÃÇϴµ¥ »ç¿ëÇÑ´Ù. (Boolean Feature)
- ÇöÀç ½ºÆå¿¡´Â ENDPOINT_HALT(0x00) ÇѰ¡Áö Feature¸¸À» Á¤ÀÇÇϰí ÀÖ´Ù.
- Sync Frame : Endpoint µ¿±â FrameÀ» ReportÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.
1.12 Appendex A : USB SPEC. (Rev2.0) Summary 
- Chapter 1 - Introduction
- USBÀÇ µµÀÔµ¿±â¿Í ¹üÀ§
- Á¤ÀÇµÈ Class¸¦ ÀÌÇØÇÏ¸é µÈ´Ù. ´Ù¸¥ ³»¿ëÀº ÂüÁ¶
Á¤ÀÇµÈ Class
- Chapter 2 - Terms and Abbreviations
- ¿ë¾î, ¾àÀÚµé
- Chapter 3 - Background
- End-User¿¡°Ô ¸Å¿ì Æí¸®ÇÑ USB, ¸¶ÄÉÆÃÀ» À§ÇÑ Full, High Speed Ranges, Feature List
- Chapter 4 - Architectural Overview
- Áß¿äÇÏ°Ô Àоî¾ß ÇÒ ½ÃÀÛ Chapter
- USB systemÀÇ ±âº»ÀûÀº overviewÁ¦°ø, (topoloty, data rates, data flow types, basic electrical specs µî)
- Chapter 5 - USB Data Flow Model
- USB¿¡¼ Data°¡ ¾î¶»°Ô Èê·¯°¡´Â°¡¸¦ ¼³¸íÇϱ⠽ÃÀÛÇÏ´Â Chapter
- Endpoints, Pipes, °°Àº ¿ë¾î ¼Ò°³
- Control, Interrupt, Isochronous, Bulk ÀÇ Flow Type¼³¸í
- Chapter 6 - Mechanical
- USBÀÇ µÎ°³ÀÇ Standard Connector¿¡ ´ëÇÑ ¼³¸í
- Type A Connector´Â DownstreamÀ» À§ÇØ °í¾ÈµÇ¾ú°í, Type B´Â UpstreamÀ» À§ÇØ °í¾ÈµÇ¾ú´Ù´Â °ÍÀÌ °¡Àå Áß¿ä (µû¶ó¼ µÎ°³ÀÇ Upstream ¶Ç´Â DownstreamÀÇ Connector¸¸À¸·Î´Â ÄÉÀ̺íÀ» ±¸¼ºÇÒ ¼ö ¾ø´Ù)
- USB cable »ý»êÀÚ°¡ ¾Æ´Ï¸é ´õÀÌ»ó º¼ ³»¿ëÀÌ ¾øÀ½
- Chapter 7 - Electircal
- Impedance, Rise/Fall times, Driver/Receiver Specifications, Bit Level Encoding, Bit Stuffing µîÀÇ Low Level Electrical SignallingÀ» ¼³¸íÇÑ´Ù.
- µÎ Data LineÀ» ÃøÁ¤¿ë Register¸¦ ÅëÇØ Device Speed¸¦ ¾Ë¾Æ³»´Â ¹ý
- Powered Device¿Í Self Powered Device
- Chapter 8 - Protocol Layer
- USB PacketÀ» Byte Level·Î ¼³¸í (Sync, Pid, Address, Endpoint, CRC Fields¸¦ Æ÷ÇÔÇÏ¿©)
- Chapter 9 - USB Device Frame Work
- °¡Àå Áß¿äÇÑ Chapter
- Bus Enumeration°ú Request Codes(Set Address, Get Descriptor µî)¼³¸í
- Chapter 10 - USB Host Hardware and Software
- Host°ü·ÃµÈ ÁÖÁ¦¸¦ ´Ù·ë
- Frame, Microframe Generation, Host Conntroller Requirements µî
- Host¸¦ µðÀÚÀÎÇÒ °ÍÀÌ ¾Æ´Ï¸é Skip
- Chapter 11 - Hub Specification
- USB Hubs¿¡´ëÇÑ ³»¿ë
- Hub Configuration, Split Transactions, Standard Descriptors of Hub Class µî
- Hubs¸¦ µðÀÚÀÎ ÇÒ °ÍÀÌ ¾Æ´Ï¸é Skip
- Appendex A - Transaction Examples
- ¿©·¯ TransactionÀÇ Control, BulkµîÀÇ Flow Type¿¡ µû¸¥ ¿¹Á¦ (±×¸²À¸·Î Àß ³ª¿Í ÀÖÀ½)
- Appendex B - Example Declaration for State Machines
- Index
1.13 Reference 
|
ArtemisNewSkin
OekakiMacro
Taeback
USBMassStorageClassSpecificationOverview
WikiHomePage
xtProxy
|