Datasheet

Table Of Contents
Section 15 Universal Serial Bus Interface (USB)
Page 552 of 846 REJ09B0140-0900 Rev. 9.00
Sep 16, 2010
H8S/2215 Group
15.5.3 Suspend and Resume Operations
(1) Suspend and Resume Operations
Figures 15.8 and 15.9 are flowcharts of the suspend and resume operations. If the USB bus enters
the suspend state from a non-suspend state, or if it enters a non-suspend state from the suspend
state due to a resume signal from up-stream, perform the operations shown below.
USB function Firmware
USB cable connected
A bus idle of 3 ms or
more occurs
A suspend/resume
interrupt occurs
Suspend state
A resume interrupt is
generated from up-stream
A suspend/resume
interrupt occurs
Enable SPRSi and
IRQ6 interrupts
(Set SPRSiE in UIER3 to 1)
(Set IRQ6E in IER to 1)
Initialize standby
enable flag
(Clear standby enable
flag to 0)
Run user program
Software standby state
Mask all interrupts
(Manipulate bit I using
LDC instruction, etc.)
Enable IRQ6 interrupt
(Set IRQ6E in IER to 1)
Unmask all interrupts
(Clear bit I using LDC
instruction, etc.)
Transition to software
standby
(Execute SLEEP
instruction)
Suspend interrupt
processing
(see figure 15.9)
IRQ6
IRQ6
Suspend/resume interrupt
processing
Main process
No
No
Yes
Yes
Standby enable
flag = 0?
Resume interrupt
processing
(see figure 15.9)
*
1
*
1
*
1
*
2
*
2
*
2
Standby enable
flag = 1?
Notes: 1. The standby enable flag is a software flag for controlling transition to the standby
state. There is no such hardware flag.
2. Interrupts should be masked from when the IRQ6 interrupt is received until the
SLEEP instruction is executed. Finally, unmask the interrupts using the LDC
instruction or the like and execute the SLEEP instruction immediately afterward.
Figure 15.8 Example Flowchart of Suspend and Resume Operations