USB DATA Toggle

 For bulk and interrupt transfers, the data toggle resets <0> only on Set Configuration, Set Interface, and Clear Feature(Endpoint Halt).  

For isochronous transfers, the data toggle always is <0> and no ACK 

For control transfers, 

OUT Endpoint : hardware clears toggle bit at the reception of a SETUP PID addressed to this endpoint.< to received setup data packet DATA0>

IN Endpoint : hardware sets toggle bit at the reception of a SETUP PID addressed to this endpoint. <to send data or status packet DATA1>

SETUP : DATA0 : ACK <--hardware clears toggle bit 

IN: DATA1:ACK <--hardware sets toggle bit

OUT:DATA1:ACK <--hardware clears toggle bit from DATA0 to DATA1

SETUP : DATA0 : ACK <--hardware clears toggle bit 

OUT: DATA1:ACK <--hardware toggle toggle bit

IN:DATA1:ACK <--hardware sets toggle bit

SETUP : DATA0 : ACK <--hardware clears toggle bit 

IN:DATA1:ACK <--hardware sets toggle bit

原文地址:https://www.cnblogs.com/shangdawei/p/3875652.html