28 USB FUNCTION CONTROLLER (USB)
28-22
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
2) Reading operation
The Port interface starts reading operation in the Asynchronous single-word DMA transfer mode when the
following register settings are established:
• DMA_Config_1.SingleWord bit = 1
• Direction of the target endpoint = OUT
The Port interface starts data transfer on the DMA when 1 is written on the DMA_Control.DMA_Go bit.
After data transfer starts on the DMA, the USB macro requests data transfer by asserting PDREQ if any
data exist at the connected endpoint. Turning PDACK to active starts outputting transferred data to the data
bus. Have the DMAC (master) load the data while PDRD is rising (when the DMA_Config_0.PDRDWR_
Level bit is set to 1). This mode negates PDREQ after transferring 1-byte data (PDRD becomes active). At
this point, if any data still remain at the endpoint, it requests data transfer by asserting PDREQ. If there are
no data left at the endpoint, PDREQ is not asserted and data transfer is rejected.
If any data is set to the DMA_Latency.DMA_Latency[3:0] bit other than 0x0, this mode negates PDREQ
once after completing transfer of 4-byte data, and does not assert PDREQ as long as 130 ns
×
N (N =
DMA_Latency.DMA_Latency[3:0]).
If the DMA is set to the Countdown mode with DMA_Config_1.CountMode = 1, the DMA completes data
transfer when the DMA_Count_HH, HL, LH and LL registers reach 0x00000000. To cancel (negate) the
DMA request (PDREQ), provide 1 to the DMA_Control.DMA_Stop bit. Note that writing 1 to the DMA_
Control.DMA_Stop bit does not stop the DMAC. So to terminate data transfer, first terminate the DMAC
(master) and then terminate the macro’s DMA transfer.
Note: The S1C33L26 DMAC can only be triggered to start data transfer by the Rising Edge of PDREQ.
The subsequent DMAC trigger will be issued at the next PDREQ Rising Edge. When the DMAC
transfer counter reaches 0, DMA transfer will not be started even if a DMAC trigger is issued.
Therefore, when using the USB macro in single-word DMA transfer mode, configure the DMAC in
single transfer mode and set the DMAC transfer counter to a value equal to or less than that set in
the DMA_Remain_H and DMA_Remain_L registers.
DMAC trigger
PDREQ (O)
#PDREQ (O)
PDACK (I)
PDRD (I)
Data (O)
Data sampling
Inverted
D0
D1
Dn-1
Dn
5.3.5 Transfer Waveforms in Asynchronous Single-Word DMA Transfer Mode - Reading
Figure 28.
Snooze
28.5.4
This macro has Snooze function which enables very low power operation when USB is not active.
When the SNOOZE signal is asserted by writing 1 to USBSNZ/MISC_USB register, the following procedure will
be performed and allows to stop feeding 48 MHz clock after 5 clocks inputs.
• Disable USB differential comparator
• Allow asynchronous access for VBUS_Changed and NonJ bits of the SIE_IntStat register. (Monitor the USB in-
terface input pins)
• Mask Read/Write for synchronous registers
• Mask synchronous interrupt
This macro will resume after 5 clocks (oscillation must be stable) when the SNOOZE signal is negated.