NuMicro® NUC029LEE/NUC029SEE
32-bit Arm
®
Cortex
®
-M0 Microcontroller
Aug, 2018
Page
448
of
497
Rev 1.00
N
U
MICRO
®
N
UC02
9L
E
E
/N
UC029
S
E
E
T
E
CHN
ICA
L R
E
F
E
R
E
NC
E
M
A
NU
A
L
6.16.3 Block Diagram
RXDP
RXDM
S0
S1
Transceiver
USB_D+
USB_D-
SIE
Floating
Detection
De-bouncing
DPLL
Endpoint
Control
Buffer
Control
SRAM
(512
Bytes)
APB Bus
USB
Control
and
Status
Registers
Interrupt
Control
Clock
Generator
NVIC
VBUS
Floating
Detection
USB_VBUS
Figure 6.16-1 USB Device Block Diagram
6.16.4 Basic Configuration
USBD clock source is derived from PLL. User has to set the PLL related configurations before USB
device controller is enabled. Set the USBD_EN (APBCLK[27]) bit to enable USBD clock and 4-bit pre-
scaler USB_N (CLKDIV[7:4]) to generate the proper USBD clock rate.
6.16.5 Functional Description
6.16.5.1 SIE (Serial Interface Engine)
The SIE is the front-end of the device controller and handles most of the USB packet protocol.
The SIE typically comprehends signaling up to the transaction level. The functions that it handles
could include:
Packet recognition, transaction sequencing
SOF, EOP, RESET, RESUME signal detection/generation
Clock/Data separation
NRZI Data encoding/decoding and bit-stuffing
CRC generation and checking (for Token and Data)
Packet ID (PID) generation and checking/ decoding
Serial-Parallel/ Parallel-Serial conversion
6.16.5.2 Endpoint Control
There are 8 endpoints in this controller. Each of the endpoint can be configured as Control, Bulk,
Interrupt, or Isochronous transfer type. All the operations including Control, Bulk, Interrupt and
Isochronous transfer are implemented in this block. It is also used to manage the data sequential
synchronization, endpoint state control, current endpoint start address, current transaction status,