17.11.2014 Views

Designing a Low-Cost USB Mouse with the Cypress Semiconductor ...

Designing a Low-Cost USB Mouse with the Cypress Semiconductor ...

Designing a Low-Cost USB Mouse with the Cypress Semiconductor ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Designing</strong> a <strong>Low</strong>-<strong>Cost</strong> <strong>USB</strong> <strong>Mouse</strong><br />

1 ms<br />

• Clear watchdog<br />

timer<br />

Y<br />

Remote<br />

Wakeup<br />

process?<br />

• Increment 10 msec wakeup<br />

counter<br />

N<br />

<strong>USB</strong> bus<br />

activity<br />

N<br />

Y<br />

• Load software counter<br />

• Clear bus activity bit<br />

• Decrement software<br />

counter<br />

N<br />

software<br />

counter = 0<br />

Y<br />

• Enable global interrupts except Cext<br />

and 128 µs<br />

Remote<br />

Wakeup<br />

Enabled?<br />

N<br />

Y<br />

return<br />

•Clear Cext<br />

• Set Cext to High-Z<br />

• Enable Cext interrupts<br />

• Load software counter<br />

• Suspend µC and wait for interrupts<br />

Figure 16. One msec Interrupt Service Routine<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!