English
Language : 

C541U_99 Datasheet, PDF (92/192 Pages) Siemens Semiconductor Group – 8-BIT CMOS MICROCONTROLLER
On-Chip Peripheral Components
C541U
If the number of data bytes to be transferred is greater than the maximum packet size (given by
MaxLen), the data is split up automatically into packets, which are transferred one after the other.
Figure 6-30 gives an example of an USB read access, where data from the CPU is split up into two
packets. When MaxLen is reached during the CPU write access, the currently active buffer is
switched to USB side (UBF=1). The CPU continues writing data to the buffer. When the complete
data packet has been written to the buffer by the CPU, bit DONE is set by software to indicate the
end of the data packet (CBF=1). In the example, the USB buffer has not been read out. It is still full
for the USB and can not be swapped (CBF=UBF=1). When the USB read access has occured
(CBF=0), the buffers are automatically swapped and bit SOD is set.
Number of
Data Bytes
MaxLen
Page 1
Page 0
DONE = 1
CBF = 1
Page 1
CBF
SOD = 1
=0
Time
1
Swap
Swap
Buffer
EOD = 1
Buffer
MaxLen
UBF = 1
Page 0
Page 1
Page 0
UBF
=0
SOF (n)
set
USB read accesses
Frame n
UBF = 1
SOF (n+1)
set
CPU write accesses
Frame n+1
Time
SOF (n+2)
set
MCT03410
Figure 6-30
Double Buffer Mode USB Read Access: Data Length greater than Packet Length (MaxLen)
Semiconductor Group
6-47
1999-04-01