Samsung T1000LM026 ユーザーズマニュアル

ページ / 111
Spinpoint M8U-Internal Product Manual REV 3.4 
55 
INSTALLATION 
 
 
 
6.3.5.1  
Control Transaction 
Control  transfers  are  typically  used  for  command  and  status  operations.  They  are  essential  to  set  up  a  USB 
device  with  all  enumeration  functions  being  performed  using  control  transfers.  They  are  typically  bursty, 
random  packets  which  are  initiated  by  the  host  and  use  best  effort  delivery.  The  packet  length  of  control 
transfers  in low speed devices  must be 8 bytes, high speed devices  allow a packet  size of 8, 16, 32 or 64 bytes 
and full speed devices must have a packet size of 64 bytes. 
A control  transfer  can have up to three stages,  and each stage  made up of three phases. 
Figure 6-22 shows control transaction  concept. 
 
 
 
Figure 6-22: Control Transaction  Model 
 
 
 
The Setup Stage (Fiqure  6-23) is where the request is sent. This consists of three packets.  The setup token is 
sent first which contains  the address  and endpoint  number.  The data packet  is sent next and always  has a PID 
type  of data0  and  includes  a setup  packet  which  details  the  type  of request.  We  detail  the  setup packet  later. 
The  last  packet  is  a  handshake  used  for  acknowledging  successful  receipt  or  to  indicate  an  error.  If  the 
function  successfully  receives  the  setup  data  (CRC  and  PID  etc  OK)  it  responds  with  ACK,  otherwise  it 
ignores  the  data  and  doesn’t  send  a  handshake  packet.  Functions  cannot  issue  a  STALL  or  NAK  packet  in 
response to a setup packet. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figure 6-23: Setup Stage 
 
The optional  Data Stage (Fiqure  6-24)     consists  of one or multiple  IN or OUT  transfers.  The setup  request 
indicates  the  amount  of data  to be  transmitted  in this  stage.  If it exceeds  the  maximum  packet  size,  data  will 
be sent in multiple  transfers  each being the maximum  packet  length except  for the last packet.  The data stage 
has two different scenarios  depending  upon the direction of data transfer. 
• IN: When the host is ready to receive control data it issues an IN Token. If the function  receives the IN token 
with  an  error  e.g.  the  PID  doesn't  match  the  inverted  PID  bits,  then  it  ignores  the  packet.  If  the  token was 
received  correctly,  the  device  can  either  reply  with  a  DATA  packet  containing  the  control  data  to  be  sent,  a 
stall packet indicating  the endpoint has had a error or a NAK packet indicating  to the host that the endpoint