STMicroelectronics /STM32G0C1 /USB /USB_CNTR

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as USB_CNTR

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (B_0x0)USBRST 0 (B_0x0)PDWN 0 (B_0x0)SUSPRDY 0 (B_0x0)SUSPEN 0 (B_0x0)L2RESUME 0 (B_0x0)L1RESUME 0 (B_0x0)L1REQM 0 (B_0x0)ESOFM 0 (B_0x0)SOFM 0 (B_0x0)RESETM 0 (B_0x0)SUSPM 0 (B_0x0)WKUPM 0 (B_0x0)ERRM 0 (B_0x0)PMAOVRM 0 (B_0x0)CTRM 0 (B_0x0)THR512M 0 (B_0x0)HOST

USBRST=B_0x0, SUSPM=B_0x0, ERRM=B_0x0, L2RESUME=B_0x0, PDWN=B_0x0, SUSPEN=B_0x0, RESETM=B_0x0, HOST=B_0x0, L1RESUME=B_0x0, PMAOVRM=B_0x0, L1REQM=B_0x0, CTRM=B_0x0, SUSPRDY=B_0x0, SOFM=B_0x0, ESOFM=B_0x0, WKUPM=B_0x0, THR512M=B_0x0

Description

USB control register

Fields

USBRST

USB Reset Device mode Software can set this bit to reset the USB core, exactly as it happens when receiving a RESET signaling on the USB.The USB peripheral, in response to a RESET, resets its internal protocol state machine. Reception and transmission are disabled until the RESET bit is cleared. All configuration registers do not reset: the microcontroller must explicitly clear these registers (this is to ensure that the RESET interrupt can be safely delivered, and any transaction immediately followed by a RESET can be completed). The function address and endpoint registers are reset by an USB reset event. Host mode Software sets this bit to drive USB reset state on the bus and initialize the device. USB reset terminates as soon as this bit is cleared by software.

0 (B_0x0): No effect

0 (B_0x0): No effect

1 (B_0x1): USB core is under reset

1 (B_0x1): USB reset driven

PDWN

Power down This bit is used to completely switch off all USB-related analog parts if it is required to completely disable the USB peripheral for any reason. When this bit is set, the USB peripheral is disconnected from the transceivers and it cannot be used.

0 (B_0x0): Exit Power Down.

1 (B_0x1): Enter Power down mode.

SUSPRDY

Suspend state effective This bit is set by hardware as soon as the suspend state entered through the SUSPEN control gets internally effective. In this state USB activity is suspended, USB clock is gated, transceiver is set in low power mode by disabling the differential receiver. Only asynchronous wakeup logic and single ended receiver is kept alive to detect remote wakeup or resume events. Software must poll this bit to confirm it to be set before any STOP mode entry. This bit is cleared by hardware simultaneously to the WAKEUP flag being set.

0 (B_0x0): Normal operation

1 (B_0x1): Suspend state

SUSPEN

Suspend state enable Device mode Software can set this bit when the SUSP interrupt is received, which is issued when no traffic is received by the USB peripheral for 3 ms. Software can also set this bit when the L1REQ interrupt is received with positive acknowledge sent. As soon as the suspend state is propagated internally all device activity is stopped, USB clock is gated, USB transceiver is set into low power mode and the SUSPRDY bit is set by hardware. In the case that device application wants to purse more aggressive power saving by stopping the USB clock source and by moving the microcontroller to stop mode, as in the case of bus powered device application, it must first wait few cycles to see the SUSPRDY=1 acknowledge the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. Host mode Software can set this bit when Host application has nothing scheduled for the next frames and wants to enter long term power saving. When set, it stops immediately SOF generation and any other host activity, gates the USB clock and sets the transceiver in low power mode. If any USB transaction is on-going at the time SUSPEN is set, suspend is entered at the end of the current transaction. As soon as suspend state is propagated internally and gets effective the SUSPRDY bit is set. In the case that host application wants to purse more aggressive power saving by stopping the USB clock source and by moving the micro-controller to STOP mode, it must first wait few cycles to see SUSPRDY=1 acknowledge to the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set.

0 (B_0x0): No effect.

0 (B_0x0): No effect.

1 (B_0x1): Enter L1/L2 suspend

1 (B_0x1): Enter L1/L2 suspend

L2RESUME

L2 Remote Wakeup / Resume driver Device mode The microcontroller can set this bit to send remote wake-up signaling to the Host. It must be activated, according to USB specifications, for no less than 1ms and no more than 15ms after which the Host PC is ready to drive the resume sequence up to its end. Host mode Software sets this bit to send resume signaling to the device. Software clears this bit to send end of resume to device and restart SOF generation. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt.

0 (B_0x0): No effect

1 (B_0x1): Send L2 resume signaling to device

L1RESUME

L1 Remote Wakeup / Resume driver Device mode Software sets this bit to send a LPM L1 50us remote wakeup signaling to the host. After the signaling ends, this bit is cleared by hardware. Host mode Software sets this bit to send L1 resume signaling to device. Resume duration and next SOF generation is automatically driven to set the restart of USB activity timely aligned with the programmed BESL value. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt. This bit is cleared by hardware at the end of resume.

0 (B_0x0): No effect

0 (B_0x0): No effect

1 (B_0x1): Send 50us remote-wakeup signaling to host

1 (B_0x1): Send L1 resume signaling to device

L1REQM

LPM L1 state request interrupt mask

0 (B_0x0): LPM L1 state request (L1REQ) Interrupt disabled.

1 (B_0x1): L1REQ Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

ESOFM

Expected start of frame interrupt mask

0 (B_0x0): Expected Start of Frame (ESOF) Interrupt disabled.

1 (B_0x1): ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

SOFM

Start of frame interrupt mask

0 (B_0x0): SOF Interrupt disabled.

1 (B_0x1): SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

RESETM

USB reset interrupt mask

0 (B_0x0): RESET Interrupt disabled.

1 (B_0x1): RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

SUSPM

Suspend mode interrupt mask

0 (B_0x0): Suspend Mode Request (SUSP) Interrupt disabled.

1 (B_0x1): SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

WKUPM

Wakeup interrupt mask

0 (B_0x0): WKUP Interrupt disabled.

1 (B_0x1): WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

ERRM

Error interrupt mask

0 (B_0x0): ERR Interrupt disabled.

1 (B_0x1): ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

PMAOVRM

Packet memory area over / underrun interrupt mask

0 (B_0x0): PMAOVR Interrupt disabled.

1 (B_0x1): PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

CTRM

Correct transfer interrupt mask

0 (B_0x0): Correct Transfer (CTR) Interrupt disabled.

1 (B_0x1): CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set.

THR512M

512 byte threshold interrupt mask

0 (B_0x0): 512 byte threshold interrupt disabled

1 (B_0x1): 512 byte threshold interrupt enabled

HOST

HOST mode HOST bit selects betweens Host or Device USB mode of operation. It must be set before enabling the USB peripheral by the function enable bit.

0 (B_0x0): USB Device function

1 (B_0x1): USB Host function

Links

()