SH7286 Group
USB Function Module: USB Mass Storage Class
3.3 Bulk-Only
Transport
Bulk-Only Transport supports bulk transfer only; transfers data between the host computer and the function.
Bulk transfer has two different transfer types depending on the direction of the data transfer. Bulk IN transfer is to
transfer data from the host controller to the function, and bulk OUT transfer is to transfer data from the function to the
host controller.
Bulk-Only Transport specifies a combination of bulk OUT transfer and bulk IN transfer in advance to transfer data
between the host and the function. Bulk-Only Transport always uses the combination of bulk transfers as shown in
Figure 2. These bulk transfers have different roles, and are controlled as “stages (transports)”.
Start
Bulk OUT transfer
Bulk OUT transfer
Bulk IN transfer
Bulk IN transfer
End
Command Transport (CBW)
Data Transport
Status Transport (CSW)
Figure 2 Relationship between the Transfer Type and Transport
To notify the host computer to use the Bulk-Only Transport protocol, describe H'50 in the bInterfaceProtocol field of
the Interface descriptor.
3.3.1 Command
Transport
In command transport, the host sends a command, which is defined as the Command Block Wrapper (CBW) to the
function via the Bulk-Out transfer. The Bulk-Only Transport always starts with the CBW. The host sends the CBW
with a 31-byte packet via the Bulk-Out transfer. The format of the CBW is listed in Table 3.
Table 3 Command Transport Format
7 6 5 4 3 2 1 0
H'00 to H'03
dCBWSignature
H'04 to H'07
dCBWTag
H'08 to H'0B
dCBWDataTransferLength
H'0C bmCBWFlags
H'0D Reserved
(0)
bCBWLUN
H'0E Reserved
(0)
bCBWCBLength
H'0F to H'1E
CBWCB
R01AN0063EJ0100 Rev. 1.00
Page 6 of 32
Oct. 22, 2010