beautypg.com

5 usb examples, 12 .5 usb examples -16 – Maxim Integrated MAXQ622 User Manual

Page 186

background image

MAXQ612/MAXQ622 User’s Guide

12-16

Maxim Integrated

12.5 USB Examples

12.5.1 USB Example 1: Reading from an Internal USB Register (EPINT)

To read from an internal USB register, the user will write the destination register offset to UADDR and wait for UBUSY
to clear before valid data is available from UDATA .
;; reading from USB register
MOV UADDR, #EPINT

; Read EPINT register, #EPINT = 87h

; (RW=1, ADDR=00111)
CHK: MOV

C, UADDR.6 ; loop to check UBUSY flag

JUMP NC, CHK

; and wait for it to clear

MOV C, UDATA.INBAV0 ;checking for EP0 Buffer Available Flag

Figure 12-4. Reading from an Internal USB Register

CPU_CLK

CPU WRITE

REG_ADDR1

SET UBUSY = 1

CPU READS

UBUSY = 0

CPU READS

UDATA1

CPU WAIT

UADDR[4:0]

UDATA[7:0]

USBRW

UBUSY

SIE_CLK

SIE_DATA[7:0]

SIE_UBUSY

REG_ADDR1

UDATA1

UDATA1

USBRW SELF-CLEARED

AT NEXT CPU_CLK

CLEARS CPU UBUSY

CLEARS SIE_UBUSY

SIE OUTPUT

UDATA1

This manual is related to the following products: