寄存器描述
0x000 OTG_CTL
默认值:0x040D0000 |
OTG 基本配置寄存器 (OTG Contrl) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
保持默认值,不要改动 |
30 |
R/W |
0x0 |
保持默认值,不要改动 |
29 |
R/W |
0x0 |
保持默认值,不要改动 |
28 |
R/W |
0x0 |
ASSB AHB Support Single Burst,AHB 支持 Single Burst 0x0:不支持,数据传输采用 INCR Burst 传输 0x1:支持,数据传输采用 Single Burst 传输 |
27 |
R/W |
0x0 |
保持默认值,不要改动 |
26 |
R |
0x1 |
AHB Master Idle,指示 AHB Master State Machine 处于 Idle 状态。 |
25 |
R |
0x0 |
DMA Request Signal,用于 debug。 |
24:22 |
- |
- |
- |
21 |
R |
0x0 |
当前工作模式 0x0:Device 模式 0x1:Host 模式 |
20 |
R/W |
0x0 |
OTG 版本 0x0:OTG 版本为 1.3 0x1:OTG 版本为 2.0 |
19 |
R |
0x1 |
B-Session 有效标志,只用于 Device 模式,可用于判断 Device 是否连接 0x0:B-Session 无效 0x1:B-Session 有效 |
18 |
R |
0x1 |
A-Session 有效标志,只用于 Host 模式 0x0:A-Session 无效 0x1:A-Session 有效 |
17 |
R |
0x0 |
防抖时间设置,只用于 Host 模式 0x0:长防抖时间,用于物理连接(100 ms + 2.5 µs) 0x1:短防抖时间,用于软连接(2.5 µs) |
16 |
R |
0x1 |
连接线 ID 状态,表示模块工作模式 0x0:A-Device 模式,作为 Host 0x1:B-Device 模式,作为 Deivce |
15 |
R/W |
0x0 |
Bypass 防抖滤波器 0x0:关闭 0x1:使能 |
14:8 |
- |
- |
- |
7 |
R/W |
0x0 |
当 Bvalid 覆盖使能时 Bvalid 的值,只用于 Device 模式 0x0:Bvalid = 0 0x1:Bvalid = 1 |
6 |
R/W |
0x0 |
Bvalid 覆盖使能,只用于 Device 模式 0x0:关闭 0x1:使能 |
5 |
R/W |
0x0 |
当 Avalid 覆盖使能时 Avalid 的值,只用于 Host 模式 0x0:Avalid = 0 0x1:Avalid = 1 |
4 |
R/W |
0x0 |
Avalid 覆盖使能,只用于 Host 模式 0x0:关闭 0x1:使能 |
3 |
R/W |
0x0 |
当 VBUS valid 覆盖使能时 VBUS valid 的值,只用于 Host 模式 0x0:VBUS valid = 0 0x1:VBUS valid = 1 |
2 |
R/W |
0x0 |
VBUS valid 覆盖使能,只用于 Host 模式 0x0:关闭 0x1:使能 |
1:0 |
- |
- |
- |
0x004 USB_GLB_INIT
默认值:0x00000000 |
USB Global 初始化寄存器 (USB Global Initial) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:20 |
- |
- |
- |
19 |
R/W1C |
0x0 |
Host Frame Counter Reset Host 帧计数器重置 写入此位以重置核心内的(微)帧编号计数器。当(微)帧计数器被重置时, 随后由核心发送的 SOF 具有 0 的(微)帧编号。 如果将 1 写入该位,可能无法读取回该值,因为它会在几个时钟周期内被核心清除。 |
18 |
R/W |
0x0 |
强制选择 Device 模式 0x0:正常模式 0x1:强制选择 Device 模式 |
17 |
R/W |
0x0 |
强制选择 Host 模式 0x0:正常模式 0x1:强制选择 Host 模式 |
16 |
R/W |
0x0 |
PER_TFTH Periodic TxFIFO Threshold,周期的 TXFIFO 的阈值指示控制,只用于 Host 模式 0x0:周期 TXFIFO 半空则 PTXFIFO 空中断位生效 0x1:周期 TXFIFO 全空则 PTXFIFO 空中断位生效 |
15:12 |
R/W |
0x0 |
DMA_BL DMA Burst Length,此域用于设置 DMA 的 Burst 长度。 0x0:Single 0x1:INCR 0x3:INCR4 0x5:INCR8 0x7:INCR16 Others: Reserved |
11 |
R/W |
0x0 |
EN_DMA Enable DMA,DMA 使能 0x0:工作在 Slave Mode (通过 AHB 总线传输数据) 0x1:工作在 DMA Mode |
10 |
R/W |
0x0 |
NP_TFTH Non-Periodic TxFIFO Threshold,非周期的 TXFIFO 的阈值指示控制 0x0:非周期 TXFIFO 半空则 NPTXFIFO 空中断位生效 0x1:非周期 TXFIFO 全空则 NPTXFIFO 空中断位生效 |
9 |
R/W |
0x0 |
GIE Global Interrupt Enable,全局中断使能位,使能 USB IP 的中断。 0x0:未使能 0x1:使能全局中断 |
8 |
R/WAC |
0x0 |
C_IN_TKN_Q Clear IN Token Queue,清除 IN Token 的队列,写 1 清除队列,完成 自动清 0。 |
7:3 |
R/W |
0x0 |
C_TX_NUM Clear TXFIFO Number,通过此域可以对 FIFO 进行清除。在 TxFFlsh bit 没有清 0 之前,此域不能及进行更改。 0x0:Non-periodic TXFIFO flush 0x1:Periodic TXFIFO 1 flush 0x2:Periodic TXFIFO 2 flush 0x10:Flush all TXFIFO Others:无效 |
2 |
R/WAC |
0x0 |
C_TXFIFO Clear TXFIFO,此位写 1 进行 TXFIFO 清除(进行此操作前需确保 USB 没有进行数据传输),完成 TXFIFO 清除后自清 0。 |
1 |
R/WAC |
0x0 |
C_RXFIFO Clear RxFIFO,此位写 1 进行 RxFIFO 清除(进行此操作前需确保 USB 没有进行数据传输),完成 RxFIFO 清除后自清 0。 |
0 |
R/WAC |
0x0 |
Soft_RST Soft Reset,USB Device 软复位,此位写 1 进行软复位,复位完成 自清 0。 |
0x008 USB_PHY_IF
默认值:0x00001400 |
USB PHY 接口寄存器 (USB PHY Interface) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:6 |
- |
- |
- |
5 |
R/W |
0x0 |
选择单向或双向的 USB 1.1 全速串行收发器接口 0x0:6 引脚单向全速串行接口 0x1:3 引脚双向全速串行接口 |
4:3 |
- |
- |
- |
2:0 |
R/W |
0x0 |
TIMEOUT_CAL Timeout Calibration,USB Timeout 校准 |
0x010 USB_INT_STS
默认值:0x04000020 |
USB 中断状态寄存器 (USB Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W1C |
0x0 |
WAKEUP_INT Wake up Interrupt,唤醒产生中断,在 Suspend 状态下,Host 发出 Resume 进行唤醒。 0x0:无唤醒中断 0x1:发生唤醒中断 |
30 |
- |
- |
- |
29 |
R/W1C |
0x0 |
DisconnInt 指示一个设备断开连接,只用于 Host 模式 |
28 |
R/W1C |
0x0 |
ConIDStsChng 指示一个设备连接 ID 状态发生变化 |
27 |
- |
- |
- |
26 |
R |
0x1 |
PER_TXFIFO_EMP periodic TXFIFO Empty,此位用于指示 periodic TxFIFO 半空或者全空(这里通过 PER_TFTH 决定) 0x0:PER TXFIFO 仍有数据需要传输 0x1:PER TXFIFO 全空或半空 |
25 |
R |
0x0 |
HOST_CHAN_INT Host Channels Interrupt,指示存在 Channel 中断。此中断为 Channel 的 总中断,需将各个 Channel 的中断清除才可以清除该中断。 |
24 |
R |
0x0 |
HOST_PORT_INT 指示 Host 的端口发生变化,读取端口控制和状态 (HPRT) 寄存器以确定导致 此中断的确切事件。须在端口控制和状态寄存器中清除相应的状态位以清除此位。 |
23 |
- |
- |
- |
22 |
R/W1C |
0x0 |
DATA_FET_STOP_INT Data Fetch Stop Interrupt,此中断表示在 DMA 模式下,IN EP 取数据 出现停止。这是由于 TXFIFO 或请求队列的空间不够。 |
21 |
R/W1C |
0x0 |
INCOMP_ISO_OUT_INT Incomplete Isochronous OUT Transfer Interrupt,此位中断用于 指示至少一个 Isochronous OUT EP 当前帧里的 Transfer 不完整。 |
20 |
R/W1C |
0x0 |
INCOMP_ISO_IN_INT Incomplete Isochronous IN Transfer Interrupt,此位中断用于 指示至少一个 Isochronous IN EP 当前帧里的 Transfer 不完整。 |
19 |
R |
0x0 |
OUT_EP_INT OUT Endpoints Interrupt,指示存在 OUT EP 中断。此中断为 OUT EP 的 总中断,需将各个 OUT EP 的中断清除才可以清除该中断。 |
18 |
R |
0x0 |
IN_EP_INT IN Endpoints Interrupt,指示存在 IN EP 中断。此中断为 IN EP 的总 中断,需将各个 IN EP 的中断清除才可以清除该中断。 |
17 |
R/W1C |
0x0 |
EP_MIS_INT Endpoint Mismatch Interrupt,指示 Non-periodic TxFIFO 的数据与 IN Endpoint 不一致。 0x0:无中断产生 0x1:中断产生 |
16 |
- |
- |
- |
15 |
R/W1C |
0x0 |
EOP_FR_INT End of Periodic Frame Interrupt,此中断指示当前 Frame 达到 SET_PER_FR_INT 所设置的时间点。 0x0:无中断产生 0x1:中断产生 |
14 |
R/W1C |
0x0 |
ISO_OUT_DROP_INT Isochronous OUT Packet Dropped Interrupt,此中断表示由于 RXFIFO 无足够空间存放 isochronous OUT EP 的一个 maximum size 的 数据包,拒绝接收 isochronous OUT packet 0x0:无中断产生 0x1:中断产生 |
13 |
R/W1C |
0x0 |
Enum_DONE Enumeration Done,此中断用于指示完成 USB 的速率枚举。 0x0:未完成速率枚举 0x1:完成速率枚举 |
12 |
R/W1C |
0x0 |
USB_REST USB Reset,此中断用于指示 USB BUS 出现了 RESET 信号。 0x0:未出现 RESET 0x1:出现 RESET |
11 |
R/W1C |
0x0 |
USB_SUS USB Suspend,此中断用于指示 USB 进入 Suspend 状态。 0x0:未出现 Suspend 0x1:出现 Suspend |
10 |
R/W1C |
0x0 |
EARLY_SUS Early Suspend,此中断用于指示 USB 进入 idle 状态超过 3 ms 0x0:未出现 Early Suspend 0x1:出现 Early Suspend |
9:8 |
- |
- |
- |
7 |
R |
0x0 |
OUT_NACK_EFF OUT Endpoint NAK Effective,此中断用于指示寄存器 SET_OUT_NACK 配置生效。此位清 0 可以通过设置 CLR_OUT_NACK。 |
6 |
R |
0x0 |
IN_NACK_EFF IN Endpoint NAK Effective,此状态位用于指示寄存器 SET_NP_IN_NACK 配置生效。此位清 0 可以通过设置 CLR_NP_IN_NACK。 |
5 |
R |
0x1 |
NP_TXFIFO_EMP Non-periodic TXFIFO Empty,此位用于指示 Non-periodic TxFIFO 半空或者全空(这里通过 NP_TFTH 决定) 0x0:NP TXFIFO 仍有数据需要传输 0x1:NP TXFIFO 全空或半空 |
4 |
R |
0x0 |
RXFIFO_NO_EMP RXFIFO Non-Empty,此位指示 RxFIFO 里至少有一个 packet 需要读取 0x0:RXFIFO 空 0x1:RXFIFO 非空 |
3 |
R/W1C |
0x0 |
RX_SOF Receive Start of (micro)Frame Token,此位指示 USB 接收到 SOF Token。 0x0:未接收到 SOF Token 0x1:接收到 SOF Token |
2 |
R/W1C |
0x0 |
A-Device 超时中断 表示 Host 等待 Device 连接超时 |
1 |
R/W1C |
0x0 |
模式冲突中断 指示 Host 模式下操作 Device 寄存器或 Device 模式下操作 Host 寄存器 |
0 |
R |
0x0 |
表示当前工作模式 0x0:Device 模式 0x1:Host 模式 |
0x014 USB_INT_MSK
默认值:0x00000000 |
USB 中断屏蔽寄存器 (USB Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
WAKEUP_INT_MSK Wake up Interrupt,唤醒产生中断,在 Suspend 状态下,Host 发出 Resume 进行唤醒。 0x0:屏蔽中断 0x1:不屏蔽中断 |
30 |
- |
- |
- |
29 |
R/W |
0x0 |
DisconnInt_MSK 指示一个设备断开连接,只用于 Host 模式 0x0:屏蔽中断 0x1:不屏蔽中断 |
28 |
R/W |
0x0 |
ConIDStsChng_MSK 指示一个设备连接 ID 状态发生变化 0x0:屏蔽中断 0x1:不屏蔽中断 |
27 |
- |
- |
- |
26 |
R/W |
0x0 |
PER_TXFIFO_EMP_MSK periodic TXFIFO Empty,此位用于指示 periodic TxFIFO 半空或者全空(这里通过 PER_TFTH 决定) 0x0:屏蔽中断 0x1:不屏蔽中断 |
25 |
R/W |
0x0 |
HOST_CHAN_INT_MSK Host Channels Interrupt,指示存在 Channel 中断。此中断为 Channel 的 总中断,需将各个 Channel 的中断清除才可以清除该中断。 0x0:屏蔽中断 0x1:不屏蔽中断 |
24 |
R/W |
0x0 |
HOST_PORT_INT_MSK 指示 Host 的端口发生变化,读取端口控制和状态 (HPRT) 寄存器以确定导致 此中断的确切事件。须在端口控制和状态寄存器中清除相应的状态位以清除此位。 0x0:屏蔽中断 0x1:不屏蔽中断 |
23 |
- |
- |
- |
22 |
R/W |
0x0 |
DATA_FET_STOP_INT_MSK ata Fetch Stop Interrupt,此中断表示在 DMA 模式下,IN EP 取数据 出现停止。这是由于 TXFIFO 或请求队列的空间不够。 0x0:屏蔽中断 0x1:不屏蔽中断 |
21 |
R/W |
0x0 |
INCOMP_ISO_OUT_INT_MSK Incomplete Isochronous OUT Transfer Interrupt,此位中断用于 指示至少一个 Isochronous OUT EP 当前帧里的 Transfer 不完整。 0x0:屏蔽中断 0x1:不屏蔽中断 |
20 |
R/W |
0x0 |
INCOMP_ISO_IN_INT_MSK Incomplete Isochronous IN Transfer Interrupt,此位中断用于 指示至少一个 Isochronous IN EP 当前帧里的 Transfer 不完整。 0x0:屏蔽中断 0x1:不屏蔽中断 |
19 |
R/W |
0x0 |
OUT_EP_INT_MSK OUT Endpoints Interrupt,指示存在 OUT EP 中断。此中断为 OUT EP 的总中断 0x0:屏蔽中断 0x1:不屏蔽中断 |
18 |
R/W |
0x0 |
IN_EP_INT_MSK IN Endpoints Interrupt,指示存在 IN EP 中断。此中断为 IN EP 的总中断 0x0:屏蔽中断 0x1:不屏蔽中断 |
17 |
R/W |
0x0 |
EP_MIS_INT_MSK Endpoint Mismatch Interrupt,指示 Non-periodic TxFIFO 的数据与 IN Endpoint 不一致。 0x0:屏蔽中断 0x1:不屏蔽中断 |
16 |
- |
- |
- |
15 |
R/W |
0x0 |
EOP_FR_INT_MSK End of Periodic Frame Interrupt,此中断指示当前 Frame 达到 SET_PER_FR_INT 所设置的时间点。 0x0:屏蔽中断 0x1:不屏蔽中断 |
14 |
R/W |
0x0 |
ISO_OUT_DROP_INT_MSK Isochronous OUT Packet Dropped Interrupt,此中断表示由于 RXFIFO 无足够空间存放 isochronous OUT EP 的一个 maximum size 的 数据包,拒绝接收 isochronous OUT packet 0x0:屏蔽中断 0x1:不屏蔽中断 |
13 |
R/W |
0x0 |
Enum_DONE_MSK Enumeration Done,此中断用于指示完成 USB 的速率枚举。 0x0:屏蔽中断 0x1:不屏蔽中断 |
12 |
R/W |
0x0 |
USB_REST_MSK USB Reset,此中断用于指示 USB BUS 出现了 RESET 信号。 0x0:屏蔽中断 0x1:不屏蔽中断 |
11 |
R/W |
0x0 |
USB_SUS_MSK USB Suspend,此中断用于指示 USB 进入 Suspend 状态。 0x0:屏蔽中断 0x1:不屏蔽中断 |
10 |
R/W |
0x0 |
EARLY_SUS_MSK Early Suspend,此中断用于指示 USB 进入 idle 状态超过 3 ms 0x0:屏蔽中断 0x1:不屏蔽中断 |
9:8 |
- |
- |
- |
7 |
R/W |
0x0 |
OUT_NACK_EFF_MSK OUT Endpoint NAK Effective,此中断用于指示寄存器 SET_OUT_NACK 配置生效。 0x0:屏蔽中断 0x1:不屏蔽中断 |
6 |
R/W |
0x0 |
IN_NACK_EFF_MSK IN Endpoint NAK Effective,此状态位用于指示寄存器 SET_NP_IN_NACK 配置生效。 0x0:屏蔽中断 0x1:不屏蔽中断 |
5 |
R/W |
0x0 |
NP_TXFIFO_EMP_MSK Non-periodic TXFIFO Empty,此位用于指示 Non-periodic TxFIFO 半空或者全空 0x0:屏蔽中断 0x1:不屏蔽中断 |
4 |
R/W |
0x0 |
RXFIFO_NO_EMP_MSK RXFIFO Non-Empty,此位指示 RxFIFO 里至少有一个 packet 需要读取 0x0:屏蔽中断 0x1:不屏蔽中断 |
3 |
R/W |
0x0 |
RX_SOF_MSK Receive Start of (micro)Frame Token,此位指示 USB 接收到 SOF Token。 0x0:屏蔽中断 0x1:不屏蔽中断 |
2 |
- |
- |
- |
1 |
R/W |
0x0 |
模式冲突中断 指示 Host 模式下操作 Device 寄存器或 Device 模式下操作 Host 寄存器 0x0:屏蔽中断 0x1:不屏蔽中断 |
0 |
- |
- |
- |
0x018 RXFIFO_SIZ
默认值:0x00000200 |
RXFIFO SIZE 寄存器 (RXFIFO SIZE) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15:0 |
R/W |
0x200 |
RXFIFO_SIZ RXFIFO Size,RxFIFO 空间大小,最小值 16,最大值 512 |
0x01C RXFIFO_STS_POP
-
Host 模式下
默认值:0x00000000 |
RXFIFO 状态寄存器 (RXFIFO Status Pop) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:21 |
- |
- |
- |
20:17 |
R |
0x0 |
PKT_STS Received Packet Status ,此域用于指示接收的 packet 的状态。 0x2:收到 IN data packet 0x3:IN 传输完成(触发中断) 0x5:数据切换错误(触发中断) 0x7:通道停止(触发中断) Others:Reserved |
16:15 |
R |
0x0 |
DAT_PID Data PID,此域指示接收到的 packet 的 DATA PID 类型。 0x0:DATA0 0x1:DATA2 0x2:DATA1 0x3:MDATA |
14:4 |
R |
0x0 |
BYTE_CNT Byte Count,此域用于指示接收到的 data packet 的 Byte 计数 |
3:0 |
R |
0x0 |
CHAN_NUM Channel Number,此域指示当前接收的 packet 的 Endpoint Number。 |
-
Device 模式下
默认值:0x00000000 |
RXFIFO 状态寄存器 (RXFIFO Status Pop) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:25 |
- |
- |
- |
24:21 |
R |
0x0 |
FR_NUM Frame Number,此域为 Frame Number 的低 4 位,只用于 Isochronous 类型的 OUT EPs。 |
20:17 |
R |
0x0 |
RX_PKT_STS Received Packet Status ,此域用于指示接收的 packet 的状态。 0x1:OUT Token 回复 NACK (触发中断) 0x2:OUT Token 接收到数据包,软件可读取 RXFIFO 数据 0x3:OUT Token 传输完成(触发 OUT_TX_COMP_INT 中断) 0x4:SETUP Token 传输完成(触发 SETUP_TX_COMP _INT 中断) 0x6:SETUP Token 接收到数据包,软件可读取 RXFIFO 数据 Others:Reserved |
16:15 |
R |
0x0 |
OUT_DAT_PID Data PID,此域指示接收到的 OUT data packet 的 DATA PID 类型。 0x0:DATA0 0x1:DATA2 0x2:DATA1 0x3:MDATA |
14:4 |
R |
0x0 |
RXBYTE_CNT Byte Count,此域用于指示接收到的 data packet 的 Byte 计数 |
3:0 |
R |
0x0 |
OUTEP_NUM Endpoint Number,此域指示当前接收的 packet 的 Endpoint Number。 |
0x020 NPTXFIFO_SIZ
默认值:0x02000200 |
非周期性的 TXFIFO Size 寄存器 (NPTXFIFO SIZE) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x200 |
NPTXFIFO_SIZ Non-periodic TXFIFO Size,最小值 16,最大值 512 |
15:0 |
R/W |
0x200 |
NPTXFIFO_START Non-periodic TXFIFO Start Address,非周期的 TxFIFO 的起始地址。 |
0x024 NPTXFIFO_STS
默认值:0x00080200 |
非周期性的 TXFIFO 状态寄存器 (NPTXFIFO Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
R |
0x0 |
NPTxQTop NPTXFIFO_QUE Non-periodic TXFIFO Request Queue,指示非周期发送请求队列的 顶端位置,也就是正在处理的队列位置。 Bits [30:27]: 端点号/通道号 Bits [26:25]: - 0x0: IN/OUT token - 0x1: Zero-length transmit packet - 0x2/0x3: Reserved Bit [24]: Terminate (last Entry for selected Endpoint) |
23:20 |
- |
- |
- |
19:16 |
R |
0x8 |
NP_QUE_LOC_AVA Non-periodic Transmit Request Queue Location Available, 指示目前非周期发送请求队列的可用位置 0x0:没有空闲位置 0x1:1 个位置空闲 … 0x8:8 个位置空闲 others:reserved |
15:0 |
R |
0x200 |
NP_TXFIFO_AVA Non-periodic TxFIFO Space Available,指示 Non-periodic TxFIFO 空间可用情况。 0x0:Non-periodic TxFIFO 满 0x1:1 word 空闲 … 0x400:1024 words 空闲 others:reserved |
0x028 DEV_TXFIFO_SIZ
默认值:0x02000400 |
DEV TXFIFO SIZE 寄存器 (TXFIFO1 Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x200 |
PTXFIFO_SIZ Periodic TxFIFO Size,周期性的 TXFIFO 大小,最小值 4。 |
15:0 |
R/W |
0x400 |
PTXFIFO_START Periodic TxFIFO Start Address,周期性的 TXFIFO 的起始地址。 |
0x02C HOST_TXFIFO_SIZ
默认值:0x03000B00 |
HOST TXFIFO SIZE 寄存器 (TXFIFO Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x300 |
PTXFIFO_SIZ Periodic TxFIFO Size,周期性的 TXFIFO 深度,最小值 4。 |
15:0 |
R/W |
0xB00 |
PTXFIFO_START Periodic TxFIFO RAM Start Address,周期性的 TXFIFO 的起始 地址。 |
0x030 RXFIFO_STS
-
Host 模式下
默认值:0x00000000 |
RXFIFO 状态寄存器 (RXFIFO Status Pop) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:21 |
- |
- |
- |
20:17 |
R |
0x0 |
PKT_STS Received Packet Status ,此域用于指示接收的 packet 的状态。 0x2:收到 IN data packet 0x3:IN 传输完成(触发中断) 0x5:数据切换错误(触发中断) 0x7:通道停止(触发中断) Others:Reserved |
16:15 |
R |
0x0 |
DAT_PID Data PID,此域指示接收到的 packet 的 DATA PID 类型。 0x0:DATA0 0x1:DATA2 0x2:DATA1 0x3:MDATA |
14:4 |
R |
0x0 |
BYTE_CNT Byte Count,此域用于指示接收到的 data packet 的 Byte 计数 |
3:0 |
R |
0x0 |
CHAN_NUM Channel Number,此域指示当前接收的 packet 的 Endpoint Number。 |
-
Device 模式下
默认值:0x00000000 |
RXFIFO 状态寄存器 (RXFIFO Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:25 |
- |
- |
- |
24:21 |
R |
0x0 |
FR_NUM Frame Number,此域为 Frame Number 的低 4 位,只用于 Isochronous 类型的 OUT EPs。 |
20:17 |
R |
0x0 |
RX_PKT_STS Received Packet Status ,此域用于指示接收的 packet 的状态。 0x1:OUT Token 回复 NACK (触发中断) 0x2:OUT Token 接收到数据包,软件可读取 RXFIFO 数据 0x3:OUT Token 传输完成(触发 OUT_TX_COMP_INT 中断) 0x4:SETUP Token 传输完成(触发 SETUP_TX_COMP _INT 中断) 0x6:SETUP Token 接收到数据包,软件可读取 RXFIFO 数据 Others:Reserved |
16:15 |
R |
0x0 |
OUT_DAT_PID Data PID,此域指示接收到的 OUT data packet 的 DATA PID 类型。 0x0:DATA0 0x1:DATA2 0x2:DATA1 0x3:MDATA |
14:4 |
R |
0x0 |
RXBYTE_CNT Byte Count,此域用于指示接收到的 data packet 的 byte 计数 |
3:0 |
R |
0x0 |
OUTEP_NUM Endpoint Number,此域指示当前接收的 packet 的 Endpoint Number。 |
0x040 PHY_CLK_CTL
默认值:0x00000000 |
PHY 时钟控制寄存器 (PHY Clock Control) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
- |
0 |
R/W |
0x0 |
STP_PHY_CLK STOP PHY CLOCK,停止 PHY Clock,在 USB Suspend 状态下可以配置 此位,停止 PHY 的时钟,能够降低 USB PHY 的功耗。 0x0:无操作 0x1:停止 PHY 的时钟 |
0x100 USB_HOST_CONF
默认值:0x00000000 |
USB Host 配置寄存器 (USB Host Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
模式改变就绪计时器使能 (ModeChTimEn) 该位用于控制器在暂停或 LPM 后是否等待 200 个 PHY 时钟周期,再将 opmode 信号更改为 2’b00。 0x0:Host 恢复结束时等待 200 个 PHY 时钟周期或 SE0 线路状态,将 opmode 从 2’b10 更改为 2’b00 0x1:Host 在需恢复结束时等待 SE0 线路状态后,将 opmode 从 2’b10 更改为 2’b00。 |
30:16 |
- |
- |
- |
15:8 |
R/W |
0x0 |
唤醒检测 (ResValid) 当 HCFG.Ena32kHzS 使能时,会计算 ResValid 数量的时钟周期以检测有效的恢复 |
7 |
R/W |
0x0 |
32kHz 休眠模式使能 (HCFG.Ena32kHzS) 系统会在挂起期间将 PHY 时钟从 48 MHz 切换到 32 kHz。 |
6:3 |
- |
- |
- |
2 |
R/W |
0x0 |
只支持 FS/LS 使能 (FSLSSupp) 0x0:支持 HS/FS/LS,取决于设备的最高速度 0x1:只支持 FS/LS,即使连接的设备支持 HS |
1:0 |
R/W |
0x0 |
FS/LS PHY 时钟选择(FSLSPclkSel) 当处于 FS 主机模式时: 0x0:PHY 时钟运行在 30/60 MHz 0x1:PHY 时钟运行在 48 MHz 其它:保留 当处于 LS 主机模式时: 0x0:PHY 时钟运行在 30/60 MHz。当 UTMI+/ULPI PHY 低功耗模式未被选中时,使用 30/60 MHz。 0x1:PHY 时钟运行在 48 MHz。当 UTMI+ PHY 低功耗模式被选中时,使用 48 MHz (如果 PHY 在 LS 模式下提供 48 MHz 时钟)。 0x2:PHY 时钟运行在 6 MHz。 在 USB 1.1 FS 模式下,当 UTMI+ PHY 低功耗模式被选中且 PHY 在 LS 模式下提供 6 MHz 时钟时, 使用 6 MHz。如果您在 LS 模式下选择了 6 MHz 时钟,必须进行软复位。 其它:保留 |
0x104 HOST_FRAME
默认值:0x000017d7 |
USB Host 帧间隔寄存器 (USB Host Frame Interval) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:17 |
- |
- |
- |
16 |
R/W |
0x0 |
动态重新加载控制 (HFIRRldCtrl) 0x0:HFIR 不能动态重新加载 0x1:HFIR 可以在运行时动态重新加载 在初始配置期间需要对该位进行编程,且在运行时其值不能更改。 |
15:0 |
R/W |
0x17d7 |
帧间隔设置 (FrInt) 如果没有编程值,会根据主机配置寄存器 (FSLSPclkSel) 中指定的 PHY 时钟计算值。 在初始配置之后,请勿更改此字段的值。 |
0x108 HOST_FRAME_NUM
默认值:0x00000000 |
USB Host 帧号寄存器 (USB Host Frame Number) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R |
0x0 |
当前帧剩余时间(FrRem) 以 PHY 时钟 (PHY clocks) 为单位。该字段在每个 PHY 时钟上递减。 当它达到零时,该字段将重新加载帧间隔寄存器中的值,并在 USB 上发送新的 SOF。 |
15:0 |
R |
0x0 |
帧号(FrNum) 字段在 USB 上发送新的 SOF 时递增,当它达到 0x3FFF 时重置为 0。 |
0x110 HOST_PER_TXFIFO_STA
默认值:0x00080200 |
USB Host 周期 TXFIFO 状态寄存器 (USB Host Periodic Transmit FIFO/Queue Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R |
0x0 |
奇偶(微)帧 (PTxQTop) 0x0:在偶数(微)帧中发送 0x1:在奇数(微)帧中发送 |
30:27 |
R |
0x0 |
通道/端点号 |
26:25 |
R |
0x0 |
类型 0x0:IN/OUT 0x1:零长度数据包 0x2:CSPLIT 0x3:禁用通道命令 |
24 |
R |
0x0 |
终止(选定通道或端点的最后一个条目) |
23:16 |
R |
0x8 |
周期传输请求队列可用空间 (PTxQSpcAvail) 表示可以在周期传输请求队列中写入的空闲位置数量。此队列包含 IN 和 OUT 请求。 0x0:周期传输请求队列已满 0x1:有 1 个可用位置 0x2:有 2 个可用位置 n:有 n 个可用位置 (0 ≤n ≤16) 其它:保留 |
15:0 |
R |
0x200 |
周期传输数据 FIFO 可用空间 (PTxFSpcAvail) 表示可以在周期 TxFIFO 中写入的空闲位置数量。值以 32 位为单位。 0x0:周期 TxFIFO 已满 0x1:有 1 个可用位置 0x2:有 2 个可用位置 0xn:有 n 个可用位置 (其中 0≤n≤32,768) 0x8000:有 32,768 个可用位置 |
0x114 HOST_ALLCHAN_INT
默认值:0x00000000 |
USB 通道中断寄存器 (USB Channels Interrupt) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15:0 |
R |
0x0 |
HOST_CHAN_INT(HAINT) Host Channels Interrupt BIT,每位对应一个 Channel 的中断状态 此中断为该 Channel 的总中断,需将该 Channel 的所有中断清除才可以清除该中断。 Bit 0 for Channel 0 Bit 1 for Channel 1 Bit 2 for Channel 2 Bit 3 for Channel 3 其它 bit 无效 |
0x118 HOST_ALLCHAN_INT_MSK
默认值:0x00000000 |
USB 通道中断屏蔽寄存器 (USB Channels Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15:0 |
R/W |
0x0 |
HOST_CHAN_INT_MSK(HAINTMsk) Host Channels Interrupt Mask BIT,每位对应一个 OUT EP 的中断屏蔽位 ,0 表示屏蔽,1 表示不屏蔽。 Bit 0 for Channel 0 Bit 1 for Channel 1 Bit 2 for Channel 2 Bit 3 for Channel 3 其它 bit 无效 |
0x120 HOST_PORT_CTL
默认值:0x00000000 |
Host 端口控制和状态寄存器 (Host Port Control and Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:19 |
- |
- |
- |
18:17 |
R |
0x0 |
端口速度(PrtSpd) 0x0:HS 0x1:FS 0x2:LS 0x3:Reserved |
16:13 |
R |
0x0 |
端口测试控制(PrtTstCtl) 0x0:Test mode 关闭 0x1: Test_J mode 0x2: Test_K mode 0x3: Test_SE0_NAK mode 0x4: Test_Packet mode 0x5: Test_Force_Enable 其它 bit 无效 |
12 |
R/W |
0x0 |
端口电源控制 (PrtPwr) 0x0:电源关闭 0x1:电源打开 |
11:10 |
R |
0x0 |
端口 line status(PrtLnSts) 指示当前 USB 数据线上的逻辑状态 Bit 10 for D+ Bit 11 for D- |
9 |
- |
- |
- |
8 |
R/W |
0x0 |
端口复位控制 (PrtRst) 使能复位后需等待规定时间后软件上将此位清除,FS/LS 下至少需要 10 ms 0x0:未处于复位状态 0x1:处于复位状态 |
7 |
- |
- |
- |
6 |
R/W |
0x0 |
端口恢复控制(PrtSusp) 0x0:端口未驱动恢复信号 0x1:端口驱动恢复信号 |
5 |
R/W1C |
0x0 |
端口过流变化 (PrtOvrCurrChng) 表示 bit4 有变化,该 bit 可以写 1 清零 |
4 |
R |
0x0 |
端口过流状态(PrtOvrCurrAct) 0x0:没有过流 0x1:过流 |
3 |
R/W1C |
0x0 |
端口开关变化 (PrtEnChng) 表示 bit2 有变化,该 bit 可以写 1 清零 |
2 |
R/WA1C |
0x0 |
端口开关控制 (PrtEna) 指示当遇到过流、断开连接或软件写 1 清除该 bit 时,port 会关闭 无法通过写该寄存器使能端口 0x0:端口关闭 0x1:端口使能 |
1 |
R/W1C |
0x0 |
端口连接检测 (PrtConnDet) 指示检测到设备连接 |
0 |
R |
0x0 |
端口连接状态 (PrtConnSts) 0x0:端口上没有连接设备 0x1:端口上有连接设备 |
0x130 HOST_CHAN_CHARn(n=0~3)
默认值:0x00000000 |
Host 通道 n 特征寄存器 (Host Channel-n Characteristics Register ) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
通道使能 (ChEna) |
30 |
R/WAC |
0x0 |
通道关闭 (ChDis) |
29 |
R/W |
0x0 |
奇数帧 (OddFrm) 该字段由软件设置(重置)以指示 OTG 主机必须执行奇数(微)帧中的传输。 此字段仅适用于周期性(等时和中断)事务。 0x0:偶数(微)帧 0x1:奇数(微)帧 |
28:22 |
R/W |
0x0 |
Device 地址(DevAddr) 这个字段选择作为数据源或接收器的具体设备。 |
21:20 |
R/W |
0x0 |
Multi Count (MC) / Error Count (EC) 这个字段表示每个微帧中必须执行的事务数量 当 HCSPLTn.SpltEna 被设置(1’b1)时,此字段表示在事务错误上要执行的立即重试次数。 此字段必须设置为至少 2’b01。 0x0: 保留 0x1: 1 个事务 0x2: 每微帧为该端点发出 2 个事务 0x3: 每微帧为该端点发出 3 个事务 |
19:18 |
R/W |
0x0 |
EP 类型选择 (EPType) 0x0: Control 0x1: Isochronous 0x2: Bulk 0x3: Interrupt |
17 |
R/W |
0x0 |
低速设备 (LSpdDev) 当与低速设备通信时,软件需将该位置 1 |
16 |
- |
- |
- |
15 |
R/W |
0x0 |
EP 方向 (EPDir) 0x0:OUT 0x1:IN |
14:11 |
R/W |
0x0 |
EP 号 (EPNum) |
10:0 |
R/W |
0x0 |
最大包长度 Maximum Packet Size (MPS) |
0x150 HOST_CHANn_INT(n=0~3)
默认值:0x00000000 |
Host 通道中断寄存器 (Host Channel-n Interrupt Register) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:11 |
- |
- |
- |
10 |
R/W1C |
0x0 |
数据切换错误 (DataTglErr) |
9 |
R/W1C |
0x0 |
帧 Overrun (FrmOvrun) |
8 |
R/W1C |
0x0 |
乱码错误 (BblErr) |
7 |
R/W1C |
0x0 |
传输事务错误 (XactErr) 表示在 USB 传输过程中发生了以下错误之一: ■ CRC 校验失败 ■ 超时 ■ 位填充错误 ■ 错误的 EOP (End of Packet) |
6 |
R/W1C |
0x0 |
NYET 响应接收中断 (NYET) |
5 |
R/W1C |
0x0 |
ACK 响应接收/发送中断 (ACK) |
4 |
R/W1C |
0x0 |
NAK 响应接收中断 (NAK) |
3 |
R/W1C |
0x0 |
STALL 响应接收中断 (STALL) |
2 |
- |
- |
- |
1 |
R/W1C |
0x0 |
通道暂停 (ChHltd) 指示传输异常,原因可能是任何 USB 事务错误、应用程序的禁用请求或是由于已完成的传输。 |
0 |
R/W1C |
0x0 |
传输完成 (XferCompl) 表示在没有任何错误的情况下正常完成传输。 |
0x160 HOST_CHANn_INT_MSK(n=0~3)
默认值:0x00000000 |
Host 通道中断屏蔽寄存器 (Host Channel-n Interrupt Mask Register) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述(0 表示屏蔽,1 表示不屏蔽) |
31:11 |
- |
- |
- |
10 |
R/W |
0x0 |
数据切换错误 (DataTglErrMsk) |
9 |
R/W |
0x0 |
帧 Overrun (FrmOvrunMsk) |
8 |
R/W |
0x0 |
乱码错误 (BblErrMsk) |
7 |
R/W |
0x0 |
传输事务错误 (XactErrMsk) 表示在 USB 传输过程中发生了以下错误之一: ■ CRC 校验失败 ■ 超时 ■ 位填充错误 ■ 错误的 EOP (End of Packet) |
6 |
R/W |
0x0 |
NYET 响应接收中断 (NYETMsk) |
5 |
R/W |
0x0 |
ACK 响应接收/发送中断 (ACKMsk) |
4 |
R/W |
0x0 |
NAK 响应接收中断 (NAKMsk) |
3 |
R/W |
0x0 |
STALL 响应接收中断 (STALLMsk) |
2 |
- |
- |
- |
1 |
R/W |
0x0 |
通道暂停 (ChHltdMsk) 指示传输异常,原因可能是任何 USB 事务错误、应用程序的禁用请求或是由于已完成的传输。 |
0 |
R/W |
0x0 |
传输完成 (XferComplMsk) 表示在没有任何错误的情况下正常完成传输。 |
0x170 HOST_CHANn_TXSIZ(n=0~3)
默认值:0x00000000 |
Host 通道大小控制寄存器 (Host Channel-n Transfer Size Register) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
Ping 传输 (DoPng) 仅用于输出传输。将此字段设置为 1,指示主机执行 PING 协议。 不要为输入传输设置此位。如果为此位设置了输入传输,它将禁用通道。 |
30:29 |
R/W |
0x0 |
PID(Pid) 设置为初始事务要使用的 PID 类型 0x0: DATA0 0x1: DATA2 0x2: DATA1 0x3: MDATA(非控制)/ SETUP (控制) |
28:19 |
R/W |
0x0 |
Packet Count (PktCnt) 设置要发送 (OUT) 或接收 (IN) 的预期数据包数量。 主机在每次成功传输或接收一个 OUT/IN 数据包时递减此计数器。 一旦此计数器达到零,软件将被中断以指示正常完成 |
18:0 |
R/W |
0x0 |
Transfer Size (XferSize) 对于 OUT 传输,它表示主机在传输过程中发送的数据字节数。 对于 IN 传输,它表示应用程序为传输预留的缓冲区大小。 软件应将此字段设置为 IN 事务 (周期性和非周期性)的最大数据包大小的整数倍。 |
0x200 USB_DEV_CONF
默认值:0x08200000 |
USB Device 配置寄存器 (USB Device Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:23 |
- |
- |
- |
22:18 |
R/W |
0x8 |
IN_EP_MIS_TH IN Endpoint Mismatch Threshold,触发 IN Endpoint Mismatch 中断的阈值。 |
17:16 |
- |
- |
- |
15 |
R/W |
0x0 |
MSK_Early_SUS_ERR_INT MSK Early Suspend Generate Erratic Error Interrupt,使能 Early Suspend 产生 Erratic Error 中断。 0x0:Early suspend 中断可以触发 erratic error 0x1:Early suspend 中断不触发 erratic error |
14 |
R/W |
0x0 |
EN_DLY_XCVR Enables or disables delay between xcvr_sel and txvalid during device chirp 0x0:No delay between xcvr_sel and txvalid during Device chirp 0x1:Enable delay between xcvr_sel and txvalid during Device chirp |
13 |
- |
- |
- |
12:11 |
R/W |
0x0 |
SET_PER_FR_INT SET Periodic Frame Interval,设置 Periodic Frame 结束的时间点。 0x0:80% 0x1:85% 0x2:90% 0x3:95% |
10:4 |
R/W |
0x0 |
USB_DEV_ADDR USB Device Address,软件在 SetAddress command 时设置的 Device 地址。 |
3 |
- |
- |
- |
2 |
R/W |
0x0 |
OUT_RX_NZL_DATA_HDL OUT Transaction Recieve None-zero-length DATA Handle,设置在 OUT transaction 的 Status 阶段,接收到 non zero length 数据包时的处 理方式。 0x0:发送接收到的 OUT packet 到应用层,同时根据 NAK 和 STALL Bit 的配置 发送握手信号 0x1:发送 STALL 握手信号,并且不会发送接收到的 OUT packet 给应用层 |
1:0 |
R/W |
0x0 |
USB_DEV_SPD_SET USB Device Speed Set,设置 USB Device 进行枚举的 USB 速度。 0x0:High speed,高速设备 0x1:Full speed,全速设备 others:Reserved |
0x204 USB_DEV_FUNC
默认值:0x00000002 |
USB Device 功能寄存器 (USB Device Function) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:17 |
- |
- |
- |
16 |
R/W |
0x0 |
EN_NACK_BBL_ERR Enable NACK Babble Error,使能 NACK 自动回复 Babble Error。 0x0:未使能 0x1:使能 |
15 |
R/W |
0x0 |
IG_FR_NUM_ISO_EP Ignore Frame Number for Isochronous Endpoints,针对同步 EP 使用。 |
14:12 |
- |
- |
- |
11 |
R/W |
0x0 |
PWR_ON_DONE POWER-ON Programming Done,指示 Wakeup 后 Contrl、Status Register 已经 Ready。 0x0:无状态指示 0x1:指示 CSR Ready |
10 |
W |
0x0 |
CLR_OUT_NACK Cleare OUT Endpoint NACK,此位写 1 清除 OUT Endpoints NACK。 |
9 |
W |
0x0 |
SET_OUT_NACK Set OUT Endpoint NACK,此位写 1 设置 OUT NACK。软件层通过此位设置 ,让所用的 OUT Endpoints 发送 NACK 握手信号。此位只有在 GOUTNakEFff 清 0 后才可以置 1。 |
8 |
W |
0x0 |
CLR_NP_IN_NACK Clear Non-periodic IN Endpoint NACK,此位写 1 清除 Non-Periodic IN NACK。 |
7 |
W |
0x0 |
SET_NP_IN_NACK Set Non-periodic IN Endpoint NACK,此位写 1 设置 Non-periodic IN NACK。软件通过此位设置,让所用的 Non periodic IN Endpoints 发送 NACK 握手信号。此位只有在 GINNakEFff 清 0 后才可以置 1。 |
6:4 |
R/W |
0x0 |
TEST_MOD TEST MODE Select,测试模式选择。 0x0:Test mode disabled 0x1:Test_J mode 0x2:Test_K mode 0x3:Test_SE0_NAK mode 0x4:Test_Packet mode 0x5:Test_Force_Enable others:reserved |
3 |
R |
0x0 |
GLB_OUT_NACK_STS Global OUT NACK Status 0x0:根据 FIFO 的状态和 NACK、STALL bit 的设置发送了握手信号 0x1:不管空间情况,不进行 RxFIFO 的数据写入。除了 SETUP transaction, 发送了 NAK 握手信号。所有的 Isochronous OUT packet 都丢弃。 |
2 |
R |
0x0 |
GLB_IN_NACK_STS Global IN Non-periodic NAK Status 0x0:根据 TXFIFO 的数据使用情况,发送了握手信号 0x1:不管 TXFIFO 的数据使用情况,Non-periodic IN Eps 发送了 NAK 握手 信号 |
1 |
R/W |
0x1 |
SET_DEV_DISCON SET USB Device Disconnect,设置 Device 进行 disconnect 操作 0x0:正常工作 0x1:进行 disconnect 操作 |
0 |
R/W |
0x0 |
EN_REM_WAKUP Enable Remot Wakeup,使能 USB Devcie 唤醒 USB Host 0x0:未使能 0x1:使能 |
0x208 USB_LINE_STS
默认值:0x00000002 |
USB Line 状态寄存器 (USB Line Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
- |
- |
- |
23:22 |
R |
0x0 |
DAT_LINE_STS Data Line Status,指示目前 USB 数据线的逻辑电平,1 指示高电平;0 指示低电平。 bit23:D+线上的逻辑电平 bit22:D-线上的逻辑电平 |
21:8 |
R |
0x0 |
RX_FR_NUM Number of the Received SOF,在 high speed 时,此域表示 micro frame number;在 full or low speed 时,此域表示 frame number。 |
7:4 |
- |
- |
- |
3 |
R |
0x0 |
ERRTIC_ERR Erratic Error,此位用于报告 UMTI+任意的错误。如果由于 erratic error 产生的 early suspend,软件只能通过实现 soft disconnect 恢复。 |
2:1 |
R |
0x1 |
USB_ENUM_SPEED USB Enumerated Speed,指示经过速度的侦测最后 Device 得出的速率。 0x0:枚举为高速设备 0x1:枚举为全速设备 Others:Reserved |
0 |
R |
0x0 |
DET_SUS_STS Detect Suspend Status,USB 侦测到 Suspend Condition 时,此位置 1 |
0x20C INEP_INT_MSK
默认值:0x00000000 |
输入端点中断屏蔽寄存器 (IN EP Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:14 |
- |
- |
- |
13 |
R/W |
0x0 |
NACK_INT_MSK NACK interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
12:7 |
- |
- |
- |
6 |
R/W |
0x0 |
IN_NACK_EFF_INT_MSK IN Endpoint NAK Effective Mask 0x0:屏蔽 0x1:不屏蔽 |
5 |
R/W |
0x0 |
INTOKEN_MIS_INT_MSK IN Token received with EP Mismatch Mask 0x0:屏蔽 0x1:不屏蔽 |
4 |
R/W |
0x0 |
RX_INTOKEN_EMPTY_INT_MSK IN Token Received When TxFIFO Empty Mask 0x0:屏蔽 0x1:不屏蔽 |
3 |
R/W |
0x0 |
TIME_OUT_INT_MSK Timeout Interrupt Mask (Non-isochronous endpoints) 0x0:屏蔽 0x1:不屏蔽 |
2 |
- |
- |
- |
1 |
R/W |
0x0 |
DIS_EP_INT_MSK Endpoint Disabled Interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
0 |
R/W |
0x0 |
TX_COMP_INT_MSK TX Transfer Completed Interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
0x210 OUTEP_INT_MSK
默认值:0x00000000 |
输出端点中断屏蔽寄存器 (OUT EP Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:15 |
- |
- |
- |
14 |
R/W |
0x0 |
NYET_INT_MSK NYET interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
13 |
R/W |
0x0 |
NACK_INT_MSK NAK interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
12 |
R/W |
0x0 |
BABBLE_ERR_INT_MSK Babble Error Interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
11:7 |
- |
- |
- |
6 |
R/W |
0x0 |
B2B_SETUP_INT_MSK Back-to-Back SETUP Packets Received Mask 0x0:屏蔽 0x1:不屏蔽 |
5 |
R/W |
0x0 |
STS_PHASE_RX_INT_MSK Status Phase Received Mask 0x0:屏蔽 0x1:不屏蔽 |
4 |
R/W |
0x0 |
OUT_TOKEN_EP_DIS_INT_MSK OUT Token Received when Endpoint Disabled Mask 0x0:屏蔽 0x1:不屏蔽 |
3 |
R/W |
0x0 |
SETUP_DONE_INT_MSK SETUP Phase Done Mask. Applies to control endpoints only. 0x0:屏蔽 0x1:不屏蔽 |
2 |
- |
- |
- |
1 |
R/W |
0x0 |
DIS_EP_INT_MSK Endpoint Disabled Interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
0 |
R/W |
0x0 |
RX_COMP_INT_MSK Transfer Completed Interrupt Mask 0x0:屏蔽 0x1:不屏蔽 |
0x214 USB_EP_INT
默认值:0x00000000 |
USB 端点中断寄存器 (USB EP Interrupt) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R |
0x0 |
OUT_EP_INT OUT Endpoint Interrupt BIT,每位对应一个 OUT EP 的中断状态 此中断为该 OUT EP 的总中断,需将该 OUT EP 的所有中断清除才可以清除该中断。 Bit 16 for OUT endpoint 0 Bit 17 for OUT endpoint 1 Bit 18 for OUT endpoint 2 其它 bit 无效 |
15:0 |
R |
0x0 |
IN_EP_INT IN Endpoint Interrupt BIT,每位对应一个 IN EP 的中断状态 此中断为该 IN EP 的总中断,需将该 IN EP 的所有中断清除才可以清除该中断。 Bit 0 for IN endpoint 0 Bit 1 for IN endpoint 1 Bit 2 for IN endpoint 2 其它 bit 无效 |
0x218 USB_EP_INT_MSK
默认值:0x00000000 |
USB 端点中断屏蔽寄存器 (USB EP Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
R/W |
0x0 |
OUT_EP_INT_MSK OUT Endpoint Interrupt Mask,每位对应一个 OUT EP 的中断屏蔽位 ,1b’0 表示屏蔽,1b’1 表示不屏蔽。 Bit 16 for OUT endpoint 0 Bit 17 for OUT endpoint 1 Bit 18 for OUT endpoint 2 其它 bit 无效 |
15:0 |
R/W |
0x0 |
IN_EP_INT_MSK IN Endpoint Interrupt Mask,每位对应一个 IN EP 的中断屏蔽位 ,1b’0 表示屏蔽,1b’1 表示不屏蔽。 Bit 0 for IN endpoint 0 Bit 1 for IN endpoint 1 Bit 2 for IN endpoint 2 其它 bit 无效 |
0x220 IN_EP0_CFG
默认值:0x00008000 |
输入 EP0 配置寄存器 (IN EP0 Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
EN_EP Enable Endpoint,使能 IN EP0,将此位置 1,使能 EP0 发送数据。在 EP0 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 |
R/WAC |
0x0 |
DIS_EP Disable Endpoint,关闭 IN EP0,需要在 EN_EP=1 的情况下,才可以 对此位置 1。将此位置 1,EP0 停止发送数据,尽管 EP0 的 transfer 没有 完成。需要接收到 EP0 的 DIS_EP_INT 中断,才可以认为 EP0 Disable。 在 EP0 disabled 中断出现之前,此位会自清 0。 |
29:28 |
- |
- |
- |
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP0 的 NACK 0x0:无操作 0x1:Control EP0 发送 NACK 握手信号 |
26 |
W |
0x0 |
C_NACK Clear NACK,清除 NACK,此位置 1,清除 EP0 的 NAK 位 0x0:无操作 0x1:清除 Control EP0 的 NACK 位 |
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP0 对应 Non-periodic TxFIFO,因此此域一直为 0,无需配置。 |
21 |
R/WAC |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号。Device core 会在收到 SETUP Token 后会将此位清 0。另外如果 NAK 与 Stall 同时置位, 发送 Stall 握手信号的优先级更高。 0x0:无操作 0x1:发送 Stall 握手信号 |
20 |
- |
- |
- |
19:18 |
R |
0x0 |
EP0_TYPE Endpoint0 Type,EP0 的类型,这里为只读位,EP0 总是为 Control 类型的 端点。 |
017 |
R |
0x0 |
IN_EP0_NACK_STS IN Endpoint0 NACK Status,IN EP0 当前的回复 NACK 的状态 0x0:根据 FIFO 的状态,EP0 发送非 NACK 握手信号 0x1:EP0 回复 NACK 握手信号 另外需注意,不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。 |
16 |
- |
- |
- |
15 |
R |
0x1 |
ACT_EP Active Endpoint,对于 EP0 此位一直为 1,表示 control IN EP0 一直处于 活跃的状态。 |
14:2 |
- |
- |
- |
1:0 |
R/W |
0x0 |
MPS Maximum Packet Size,IN EP0 的最大 Packet Size 0x0:64bytes 0x1:32bytes 0x2:16bytes 0x3:8bytes |
0x0224 IN_EP1_CFG
默认值:0x00000000 |
IN EP1 配置寄存器 (IN EP1 Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
EN_EP Enable Endpoint,使能 IN EP1,将此位置 1,使能 EP1 发送数据。在 EP1 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 |
R/WAC |
0x0 |
DIS_EP Disable Endpoint,关闭 IN EP1,需要在 EN_EP=1 的情况下,才可以 对此位置 1。将此位置 1,EP1 停止发送数据,尽管 EP1 的 transfer 没有 完成。 需要接收到 EP1 的 DIS_EP_INT 中断,才可以认为 EP1 Disable。在 EP1 disabled 中断出现之前,此位会自清 0。 |
29 |
W |
0x0 |
S_DATA1 Set DATA1 PID,只适用 interrupt/bulk 类型的 IN EPs,此位置 1, PID 域选择 DATA1。 0x0:无操作 0x1:PID 域选择 DATA1 |
29 |
W |
0x0 |
S_ISO_ODD_FR Set Isochronous Odd (micro) frame,只适用 isochronous IN EPs,此位置 1,EO_FrNum 域选择奇数帧。 0x0:无操作 0x1:EO_FrNum 域选择奇数帧 |
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/bulk 类型的 IN EPs,此位置 1, PID 域选择 DATA0 0x0:无操作 0x1:PID 域选择 DATA0 |
28 |
W |
0x0 |
SS_ISO_EVEN_FR Set Isochronous Even (micro) frame,只适用 isochronous IN EPs,此位置 1,EO_FrNum 域选择偶数帧。 0x0:无操作 0x1:EO_FrNum 域选择偶数帧 |
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP1 的 NACK 0x0:无操作 0x1:EP1 发送 NACK 握手信号 |
26 |
W |
0x0 |
C_NACK Clear NAK,此位置 1,清除 EP1 的 NACK 握手信号 0x0:无操作 0x1:清除 IN EP1 的 NACK 握手信号 |
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO。 0x0:Non-periodic TxFIFO 0x1:Specified Periodic TxFIFO number 1 0x3:Specified Periodic TxFIFO number 2 Others:Reserved |
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手 信号的优先级更高。 0x0:无操作 0x1:发送 Stall 握手信号 |
20 |
- |
- |
- |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择 0x0:Control 0x1:Isochronous 0x2:Bulk 0x3:Interrupt |
17 |
R |
0x0 |
IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复 NACK 的状态 0x0:根据 FIFO 的状态,EP 发送非 NAK 握手信号 0x1:EP 回复 NACK 握手信号 另外需注意,不管此状态位如何,对于 SETUP 数据包,Device 总是 回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,当 EP 类型为 interrupt/bulk EP。 0x0:DATA0 0x1:DATA1 EO_FRNUM_STS Even/Odd Frame Number Status,当 EP 类型为 isochronous EP。 0x0:偶数帧 0x1:奇数帧 |
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB RESET 命令后,此位会自动清 0。 0x0:未活跃 0x1:活跃 |
14:11 |
R/W |
0x0 |
NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP Number,这里 只适用在 DMA 模式下。 0x0:IN EP0 0x1:IN EP1 0x2:IN EP2 0x3:IN EP3 0x4:IN EP4 Others:Reserved |
10:0 |
R/W |
0x0 |
MPS Maximum Packet Size,IN EP1 的最大 Packet Size,单位是 Byte。 |
0x0228 IN_EP2_CFG
默认值:0x00000000 |
IN EP2 配置寄存器 (IN EP2 Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
EN_EP Enable Endpoint,使能 IN EP2,将此位置 1,使能 EP2 发送数据。在 EP2 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。 |
30 |
R/WAC |
0x0 |
DIS_EP Disable Endpoint,关闭 IN EP2,需要在 EN_EP=1 的情况下,才可以 对此位置 1。将此位置 1,EP2 停止发送数据,尽管 EP2 的 transfer 没有 完成。 需要接收到 EP2 的 DIS_EP_INT 中断,才可以认为 EP2 Disable。在 EP2 disabled 中断出现之前,此位会自清 0。 |
29 |
W |
0x0 |
S_DATA1 Set DATA1 PID,只适用 interrupt/bulk 类型的 IN EPs,此位置 1, PID 域选择 DATA1。 0x0:无操作 0x1:PID 域选择 DATA1 |
29 |
W |
0x0 |
S_ISO_ODD_FR Set Isochronous Odd (micro) frame,只适用 isochronous IN EPs,此位置 1,EO_FrNum 域选择奇数帧。 0x0:无操作 0x1:EO_FrNum 域选择奇数帧 |
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/bulk 类型的 IN EPs,此位置 1, PID 域选择 DATA0 0x0:无操作 0x1:PID 域选择 DATA0 |
28 |
W |
0x0 |
SS_ISO_EVEN_FR Set Isochronous Even (micro) frame,只适用 isochronous IN EPs,此位置 1,EO_FrNum 域选择偶数帧。 0x0:无操作 0x1:EO_FrNum 域选择偶数帧 |
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP2 的 NACK 0x0:无操作 0x1:EP2 发送 NACK 握手信号 |
26 |
W |
0x0 |
C_NACK Clear NAK,此位置 1,清除 EP2 的 NACK 握手信号 0x0:无操作 0x1:清除 IN EP2 的 NACK 握手信号 |
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO。 0x0:Non-periodic TxFIFO 0x1:Specified Periodic TxFIFO number 1 0x3:Specified Periodic TxFIFO number 2 Others:Reserved |
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手 信号的优先级更高。 0x0:无操作 0x1:发送 Stall 握手信号 |
20 |
- |
- |
- |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择 0x0:Control 0x1:Isochronous 0x2:Bulk 0x3:Interrupt |
17 |
R |
0x0 |
IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复 NACK 的状态 0x0:根据 FIFO 的状态,EP 发送非 NAK 握手信号 0x1:EP 回复 NACK 握手信号 另外需注意,不管此状态位如何,对于 SETUP 数据包,Device 总是 回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,当 EP 类型为 interrupt/bulk EP。 0x0:DATA0 0x1:DATA1 EO_FRNUM_STS Even/Odd Frame Number Status,当 EP 类型为 isochronous EP。 0x0:偶数帧 0x1:奇数帧 |
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB RESET 命令后,此位会自动清 0。 0x0:未活跃 0x1:活跃 |
14:11 |
R/W |
0x0 |
NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP Number,这里 只适用在 DMA 模式下。 0x0:IN EP0 0x1:IN EP1 0x2:IN EP2 0x3:IN EP3 0x4:IN EP4 Others:Reserved |
10:0 |
R/W |
0x0 |
MPS Maximum Packet Size,IN EP2 的最大 Packet Size,单位是 Byte。 |
0x240 OUT_EP0_CFG
默认值:0x00008000 |
OUT EP0 配置寄存器 (OUT EP0 Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
EN_EP Enable Endpoint,使能 OUT EP0,将此位置 1,使能 EP0 接收数据。 在 OUT EP0 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。 |
30 |
R |
0x0 |
DIS_EP Disable Endpoint Disable,关闭 OUT EP0,软件无法对此位进行写 操作,无法关闭 OUT EP0。 |
29:28 |
- |
- |
- |
27 |
W |
0x0 |
S_NACK Set NACK,此位置 1,设置 OUT EP0 发送 NACK 0x0:无操作 0x1:Control EP0 发送 NACK 握手信号 |
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 EP0 NACK 握手信号 0x0:无操作 0x1:清除 Control EP0 的 NACK 握手信号 |
25:22 |
- |
- |
- |
21 |
R/WAC |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号。 0x0:无操作 0x1:发送 Stall 握手信号 Device core 会在收到 SETUP Token 后会将此位清 0。如果 NACK 与 Stall 信号同时设置,发送 Stall 握手信号的优先级更高。另外,不管此位的设置 情况,Device core 只要收到 SETUP 数据包,就会回复 ACK 握手信号。 |
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP0 进入 Snoop mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确。 0x0:未进入 Snoop mode 0x1:进入 Snoop mode |
19:18 |
R |
0x0 |
EP0_TYPE Endpoint0 Type,EP0 一直为 Control 类型,此 bit 不需配置。 |
17 |
R |
0x0 |
OUT_EP0_NACK_STS OUT Endpoint0 NACK Status,OUT EP0 当前的回复 NACK 的状态 0x0:根据 FIFO 的状态,EP0 发送非 NACK 握手信号 0x1:EP0 回复 NACK 握手信号 另外需注意,不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。 |
16 |
- |
- |
- |
15 |
R |
0x1 |
ACT_EP Active Endpoint,对于 EP0 此位一直为 1,表示 control OUT EP0 一直 处于活跃的状态。 |
14:2 |
- |
- |
- |
1:0 |
R/W |
0x0 |
MPS Maximum Packet Size,OUT EP0 的最大 Packet Size 0x0:64bytes 0x1:32bytes 0x2:16bytes 0x3:8bytes |
0x244 OUT_EP1_CFG
默认值:0x00000000 |
OUT EP1 配置寄存器 (OUT EP1 Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
EN_EP Enable Endpoint,使能 OUT EP1,将此位置 1,使能 EP1 接收数据。在 OUT EP1 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中 断出现之前,此位会自清 0。 |
30 |
R/WAC |
0x0 |
DIS_EP Disable Endpoint Disable,关闭 OUT EP0,软件无法对此位进行写 操作,无法关闭 OUT EP0。 |
29 |
W |
0x0 |
S_DATA1 Set DATA1 PID,只适用 interrupt/bulk 类型的 OUT EPs,此位置 1, PID 域选择 DATA1。 0x0:无操作 0x1:PID 域选择 DATA1 |
29 |
W |
0x0 |
S_ISO_ODD_FR Set Isochronous Odd (micro) frame,只适用 isochronous OUT EPs,此位置 1,EO_FrNum 域选择奇数帧。 0x0:无操作 0x1:EO_FrNum 域选择奇数帧 |
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/bulk 类型的 OUT EPs,此位置 1 ,PID 域选择 DATA0 0x0:无操作 0x1:PID 域选择 DATA0 |
28 |
W |
0x0 |
S_ISO_EVEN_FR Set Isochronous Even (micro) frame,只适用 isochronous OUT EPs,此位置 1,EO_FrNum 域选择偶数帧。 0x0:无操作 0x1:EO_FrNum 域选择偶数帧 |
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP1 的 NACK 0x0:无操作 0x1:EP1 发送 NACK 握手信号 |
26 |
W |
0x0 |
C_NACK Clear NAK,此位置 1,清除 EP1 的 NACK 握手信号 0x0:无操作 0x1:清除 IN EP1 的 NACK 握手信号 |
25:22 |
- |
- |
- |
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会 将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优 先级更高。 0x0:无操作 0x1:发送 Stall 握手信号 |
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP1 进入 Snoop mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确。 0x0:未进入 Snoop mode 0x1:进入 Snoop mode |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择 0x0:Control 0x1:Isochronous 0x2:Bulk 0x3:Interrupt |
17 |
R |
0x0 |
OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP 当前的回复 NACK 的状态 0x0:根据 FIFO 的状态,EP 发送非 NAK 握手信号 0x1:EP 回复 NACK 握手信号 另外需注意,不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/bulk OUT EPs。 0x0:DATA0 0x1:DATA1 |
16 |
R |
0x0 |
EO_FRNUM_STS Even/Odd Frame Number Status,适用 isochronous OUT EPs。 0x0:偶数帧 0x1:奇数帧 |
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB RESET 命令后,此位会自动清 0。 0x0:未活跃 0x1:活跃 |
14:11 |
- |
- |
- |
10:0 |
R/W |
0x0 |
MPS Maximum Packet Size,OUT EP1 的最大 Packet Size,单位是 Byte。 |
0x248 OUT_EP2_CFG
默认值:0x00000000 |
OUT EP2 配置寄存器 (OUT EP2 Configure) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/WAC |
0x0 |
EN_EP Enable Endpoint,使能 OUT EP2,将此位置 1,使能 EP2 接收数据。在 OUT EP2 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中 断出现之前,此位会自清 0。 |
30 |
R/WAC |
0x0 |
DIS_EP Disable Endpoint Disable,关闭 OUT EP0,软件无法对此位进行写 操作,无法关闭 OUT EP0。 |
29 |
W |
0x0 |
S_DATA1 Set DATA1 PID,只适用 interrupt/bulk 类型的 OUT EPs,此位置 1, PID 域选择 DATA1。 0x0:无操作 0x1:PID 域选择 DATA1 |
29 |
W |
0x0 |
S_ISO_ODD_FR Set Isochronous Odd (micro) frame,只适用 isochronous OUT EPs,此位置 1,EO_FrNum 域选择奇数帧。 0x0:无操作 0x1:EO_FrNum 域选择奇数帧 |
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/bulk 类型的 OUT EPs,此位置 1 ,PID 域选择 DATA0 0x0:无操作 0x1:PID 域选择 DATA0 |
28 |
W |
0x0 |
S_ISO_EVEN_FR Set Isochronous Even (micro) frame,只适用 isochronous OUT EPs,此位置 1,EO_FrNum 域选择偶数帧。 0x0:无操作 0x1:EO_FrNum 域选择偶数帧 |
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP2 的 NACK 0x0:无操作 0x1:EP2 发送 NACK 握手信号 |
26 |
W |
0x0 |
C_NACK Clear NAK,此位置 1,清除 EP2 的 NACK 握手信号 0x0:无操作 0x1:清除 IN EP2 的 NACK 握手信号 |
25:22 |
- |
- |
- |
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会 将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优 先级更高。 0x0:无操作 0x1:发送 Stall 握手信号 |
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP2 进入 Snoop mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确。 0x0:未进入 Snoop mode 0x1:进入 Snoop mode |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择 0x0:Control 0x1:Isochronous 0x2:Bulk 0x3:Interrupt |
17 |
R |
0x0 |
OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP 当前的回复 NACK 的状态 0x0:根据 FIFO 的状态,EP 发送非 NAK 握手信号 0x1:EP 回复 NACK 握手信号 另外需注意,不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/bulk OUT EPs。 0x0:DATA0 0x1:DATA1 |
16 |
R |
0x0 |
EO_FRNUM_STS Even/Odd Frame Number Status,适用 isochronous OUT EPs。 0x0:偶数帧 0x1:奇数帧 |
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB RESET 命令后,此位会自动清 0。 0x0:未活跃 0x1:活跃 |
14:11 |
- |
- |
- |
10:0 |
R/W |
0x0 |
MPS Maximum Packet Size,OUT EP2 的最大 Packet Size,单位是 Byte。 |
0x260 IN_EP0_INT
默认值:0x00000080 |
IN EP0 中断状态寄存器 (IN EP0 Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:14 |
- |
- |
- |
13 |
R/W1C |
0x0 |
NACK_INT NACK Interrupt,NACK 中断,当 NAK 信号发送出去,此位置 1。另外, 如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同 样会产生此中断。 |
12 |
R/W1C |
0x0 |
BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP0 接收到 Babble Error,此位置 1。 |
11:8 |
- |
- |
- |
7 |
R/W1C |
0x1 |
TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP0 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 |
R/W1C |
0x0 |
IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。 在对 C_NACK 置位前,此位需要先进行写 1 清 0 此中断位表示 IN EP 的 S_NACK 设置生效 此中断位不能保证 NACK 握手信号已发送到 USB 上。 STALL 位的优先级会比 NACK 的优先级高。 |
5 |
R/W1C |
0x0 |
INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodic FIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 |
R/W1C |
0x0 |
RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收 到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 |
R/W1C |
0x0 |
TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于 指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 |
R/W1C |
0x0 |
AHB_RW_ERR_INT AHB Read/Write Error Interrupt,AHB 总线上的读写错误引起的 中断,此中断只有在 DMA 的模式下有效。 |
1 |
R/W1C |
0x0 |
DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 |
R/W1C |
0x0 |
TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x264 IN_EP1_INT
默认值:0x00000080 |
IN EP1 中断状态寄存器 (IN EP1 Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:14 |
- |
- |
- |
13 |
R/W1C |
0x0 |
NACK_INT NACK Interrupt,NACK 中断,当 NAK 信号发送出去,此位置 1。另外, 如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同 样会产生此中断。 |
12 |
R/W1C |
0x0 |
BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP1 接收到 Babble Error,此位置 1。 |
11:8 |
- |
- |
- |
7 |
R/W1C |
0x1 |
TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP1 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 |
R/W1C |
0x0 |
IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。 在对 C_NACK 置位前,此位需要先进行写 1 清 0 此中断位表示 IN EP 的 S_NACK 设置生效 此中断位不能保证 NACK 握手信号已发送到 USB 上。 STALL 位的优先级会比 NACK 的优先级高。 |
5 |
R/W1C |
0x0 |
INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodic FIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 |
R/W1C |
0x0 |
RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收 到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 |
R/W1C |
0x0 |
TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于 指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 |
R/W1C |
0x0 |
AHB_RW_ERR_INT AHB Read/Write Error Interrupt,AHB 总线上的读写错误引起的 中断,此中断只有在 DMA 的模式下有效。 |
1 |
R/W1C |
0x0 |
DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 |
R/W1C |
0x0 |
TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x268 IN_EP2_INT
默认值:0x00000080 |
IN EP2 中断状态寄存器 (IN EP2 Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:14 |
- |
- |
- |
13 |
R/W1C |
0x0 |
NACK_INT NACK Interrupt,NACK 中断,当 NAK 信号发送出去,此位置 1。另外, 如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同 样会产生此中断。 |
12 |
R/W1C |
0x0 |
BABBLE_ERR_INT Babble Error Interrupt,Babble 错误中断,当 EP2 接收到 Babble Error,此位置 1。 |
11:8 |
- |
- |
- |
7 |
R/W1C |
0x1 |
TXFIFO_EMP_INT TXFIFO Empty Interrupt,EP2 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。 |
6 |
R/W1C |
0x0 |
IN_NACK_EFF_INT IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。 在对 C_NACK 置位前,此位需要先进行写 1 清 0 此中断位表示 IN EP 的 S_NACK 设置生效 此中断位不能保证 NACK 握手信号已发送到 USB 上。 STALL 位的优先级会比 NACK 的优先级高。 |
5 |
R/W1C |
0x0 |
INTOKEN_MIS_INT IN Token Received with EP Mismatch,只适用于采用 Non-periodic FIFO 的 IN Eps。指示 Non-periodic TxFIFO 的数据与 EP 端点不匹配。 |
4 |
R/W1C |
0x0 |
RX_INTOKEN_EMPTY_INT IN Token Received when TxFIFO is Empty,此中断位表示 EP 在收 到 IN Token 的时候,对应的 TxFIFO 为空。 |
3 |
R/W1C |
0x0 |
TIME_OUT_INT Timeout Interrupt,只适用于 non-isochronous IN EP。此位用于 指示 EP 收到上次 IN Token 后,USB 检测到超时的状态出现。 |
2 |
R/W1C |
0x0 |
AHB_RW_ERR_INT AHB Read/Write Error Interrupt,AHB 总线上的读写错误引起的 中断,此中断只有在 DMA 的模式下有效。 |
1 |
R/W1C |
0x0 |
DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 |
R/W1C |
0x0 |
TX_COMP_INT TX Transfer Completed Interrupt,该中断用于指示 TX Transfer 完成。 |
0x280 OUT_EP0_INT
默认值:0x00000000 |
OUT EP0 中断状态寄存器 (OUT EP0 Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15 |
R/W1C |
0x0 |
SETUP_PKT_RX_INT Setup Packet Received Interrupt,只适用于 Control OUT EP。 用于指示 buffer 收到了 8byte 的 setup 数据。OUT EP0 存在此 bit,其它 的 OUT EP 无此 bit。 |
14 |
R/W1C |
0x0 |
NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时, 此位将置 1,产生中断信号。 |
13 |
R/W1C |
0x0 |
NACK_INT NACK Interrupt,NACK 中断,当 NAK 信号发送出去,此位置 1。 |
12 |
R/W1C |
0x0 |
BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生 中断信号。 |
11 |
R/W1C |
0x0 |
PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:7 |
- |
- |
- |
6 |
R/W1C |
0x0 |
B2B_SETUP_INT Back-to-Back SETUP Packets Received,此位只适用 Control OUT EP。此位用于指示 device core 的 Control EP 收到了超过 3 个连续的 SETUP packets。 |
5 |
R/W1C |
0x0 |
STS_PHASE_RX_INT Status Phase Received For Control Write,此中断位只适用于 Control OUT EP。此位用于指示进入 Control EP 的 Status Phase。 |
4 |
R/W1C |
0x0 |
OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在 收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 |
R/W1C |
0x0 |
SETUP_DONE_INT SETUP Phase Done,只适用于 Control OUT EP。此位用于指示 Control EP 的 SETUP 阶段完成,可以对 SETUP 数据包进行解析。 |
2 |
R/W1C |
0x0 |
AHB_RW_ERR_INT AHB Read/Write Error Interrupt,AHB 总线上的读写错误引起的中断 ,此中断只有在 DMA 的模式下有效。 |
1 |
R/W1C |
0x0 |
DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 |
R/W1C |
0x0 |
RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x284 OUT_EP1_INT
默认值:0x00000000 |
OUT EP1 中断状态寄存器 (OUT EP1 Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15 |
R/W1C |
0x0 |
SETUP_PKT_RX_INT Setup Packet Received Interrupt,只适用于 Control OUT EP。 用于指示 buffer 收到了 8byte 的 setup 数据。OUT EP0 存在此 bit,其它 的 OUT EP 无此 bit。 |
14 |
R/W1C |
0x0 |
NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时, 此位将置 1,产生中断信号。 |
13 |
R/W1C |
0x0 |
NACK_INT NACK Interrupt,NACK 中断,当 NAK 信号发送出去,此位置 1。 |
12 |
R/W1C |
0x0 |
BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生 中断信号。 |
11 |
R/W1C |
0x0 |
PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:7 |
- |
- |
- |
6 |
R/W1C |
0x0 |
B2B_SETUP_INT Back-to-Back SETUP Packets Received,此位只适用 Control OUT EP。此位用于指示 device core 的 Control EP 收到了超过 3 个连续的 SETUP packets。 |
5 |
R/W1C |
0x0 |
STS_PHASE_RX_INT Status Phase Received For Control Write,此中断位只适用于 Control OUT EP。此位用于指示进入 Control EP 的 Status Phase。 |
4 |
R/W1C |
0x0 |
OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在 收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 |
R/W1C |
0x0 |
SETUP_DONE_INT SETUP Phase Done,只适用于 Control OUT EP。此位用于指示 Control EP 的 SETUP 阶段完成,可以对 SETUP 数据包进行解析。 |
2 |
R/W1C |
0x0 |
AHB_RW_ERR_INT AHB Read/Write Error Interrupt,AHB 总线上的读写错误引起的中断 ,此中断只有在 DMA 的模式下有效。 |
1 |
R/W1C |
0x0 |
DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 |
R/W1C |
0x0 |
RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x288 OUT_EP2_INT
默认值:0x00000000 |
OUT EP2 中断状态寄存器 (OUT EP2 Interrupt Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15 |
R/W1C |
0x0 |
SETUP_PKT_RX_INT Setup Packet Received Interrupt,只适用于 Control OUT EP。 用于指示 buffer 收到了 8byte 的 setup 数据。OUT EP0 存在此 bit,其它 的 OUT EP 无此 bit。 |
14 |
R/W1C |
0x0 |
NYET_INT NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时, 此位将置 1,产生中断信号。 |
13 |
R/W1C |
0x0 |
NACK_INT NACK Interrupt,NACK 中断,当 NAK 信号发送出去,此位置 1。 |
12 |
R/W1C |
0x0 |
BABBLE_ERR_INT Babble Error interrupt,当 EP 收到 babble 信号,此位将置 1,产生 中断信号。 |
11 |
R/W1C |
0x0 |
PKT_DROP_STS_INT Packet Dropped Status Interrupt,此位置 1 用于指示存在 Isochronous OUT packet 丢失。此位无相应的 mask 位并且不会产生中断。 |
10:7 |
- |
- |
- |
6 |
R/W1C |
0x0 |
B2B_SETUP_INT Back-to-Back SETUP Packets Received,此位只适用 Control OUT EP。此位用于指示 device core 的 Control EP 收到了超过 3 个连续的 SETUP packets。 |
5 |
R/W1C |
0x0 |
STS_PHASE_RX_INT Status Phase Received For Control Write,此中断位只适用于 Control OUT EP。此位用于指示进入 Control EP 的 Status Phase。 |
4 |
R/W1C |
0x0 |
OUT_TOKEN_EP_DIS_INT OUT Token Received when Endpoint Disabled,此中断位表示 EP 在 收到 OUT Token 的时候,相应的 EP 没有使能。 |
3 |
R/W1C |
0x0 |
SETUP_DONE_INT SETUP Phase Done,只适用于 Control OUT EP。此位用于指示 Control EP 的 SETUP 阶段完成,可以对 SETUP 数据包进行解析。 |
2 |
R/W1C |
0x0 |
AHB_RW_ERR_INT AHB Read/Write Error Interrupt,AHB 总线上的读写错误引起的中断 ,此中断只有在 DMA 的模式下有效。 |
1 |
R/W1C |
0x0 |
DIS_EP_INT Endpoint Disabled Interrupt,EP 被禁止后产生的中断。 |
0 |
R/W1C |
0x0 |
RX_COMP_INT RX Transfer Completed Interrupt,该位用于表示 RX Transfer 完成。 |
0x2A0 IN_EP0_TSF_SIZ
默认值:0x00000000 |
IN EP0 传输 Size 寄存器 (IN EP0 Transfer Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:21 |
- |
- |
- |
20:19 |
R/W |
0x0 |
TX_PKT_CNT Transmit Packet Count,表示 EP0 的 Tansfer 包含的数据包的数量, 此域会在每次读取 TxFIFO 的情况下,逐次递减。 |
18:7 |
- |
- |
- |
6:0 |
R/W |
0x0 |
XFR_SIZ Transfer Size,表示 EP0 的 Transfer 的大小(以 Byte 为单位)。 此域会在每次 packet 从外部存储写入 TxFIFO 的情况下,逐次递减。 在发送数据的时候,配置 XferSize,相当于配置需要发送的数据长度。 若需要发送 N+1 个 Packet,那么 XferSize 配置为 N * MPS(Max packet size) + Short packet size TX_PKT_CNT 配置为 N + 1(N 个长包 + 1 个短包) |
0x2A4 IN_EP1_TSF_SIZ
默认值:0x00000000 |
IN EP1 传输 Size 寄存器 (IN EP1 Transfer Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
- |
30:29 |
R/W |
0x0 |
TX_MUTI_PKT Transmit Multiply Packet for IN EP,针对 Period-IN-EP,配置 每微帧 (micro frame) 必须发送的 packet 数目。 0x1:1 packet 0x2:2 packet 0x3:3 packet |
30:29 |
R |
0x0 |
TX_PKT_BF_SWITH Transmit Packet number Before Swich EP,在切换 EP 之前,DMA 需要发送的 Packet 数目。此域只有在 DMA 使能的情况下有效。 |
28:19 |
R/W |
0x0 |
PKT_CNT Packet Count,此域指示 EP 的组成 Transfer 的 data packet 的大小, PktCnt=XferSize/MPS。 This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO |
18:0 |
R/W |
0x0 |
XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。 在发送数据的时候,配置 XferSize,相当于配置需要发送的数据长度。 若需要发送 N+1 个 Packet,那么 XferSize 配置为 N * MPS(Max packet size) + Short packet size TX_PKT_CNT 配置为 N + 1(N 个长包 + 1 个短包) 在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送, 此时产生 XferComplete 中断。 |
0x2A8 IN_EP2_TSF_SIZ
默认值:0x00000000 |
IN EP2 传输 Size 寄存器 (IN EP2 Transfer Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
- |
30:29 |
R/W |
0x0 |
TX_MUTI_PKT Transmit Multiply Packet for IN EP,针对 Period-IN-EP,配置 每微帧 (micro frame) 必须发送的 packet 数目。 0x1:1 packet 0x2:2 packet 0x3:3 packet |
30:29 |
R |
0x0 |
TX_PKT_BF_SWITH Transmit Packet number Before Swich EP,在切换 EP 之前,DMA 需要发送的 Packet 数目。此域只有在 DMA 使能的情况下有效。 |
28:19 |
R/W |
0x0 |
PKT_CNT Packet Count,此域指示 EP 的组成 Transfer 的 data packet 的大小, PktCnt=XferSize/MPS。 This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO |
18:0 |
R/W |
0x0 |
XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。 在发送数据的时候,配置 XferSize,相当于配置需要发送的数据长度。 若需要发送 N+1 个 Packet,那么 XferSize 配置为 N * MPS(Max packet size) + Short packet size TX_PKT_CNT 配置为 N + 1(N 个长包 + 1 个短包) 在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送, 此时产生 XferComplete 中断。 |
0x2C0 OUT_EP0_TSF_SIZ
默认值:0x00000000 |
OUT EP0 传输 Size 寄存器 (OUT EP0 Transfer Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
- |
30:29 |
R/W |
0x0 |
STUP_PKT_CNT Setup Packet Count,表示能够接收连续的 SETUP 数据包数量 0x1:1 个数据包 0x2:2 个数据包 0x3:3 个数据包 |
28:20 |
- |
- |
- |
19 |
R/W |
0x0 |
PKT_CNT Packet Count,表示 EP0 的数据包的数量,此域会在每次写入 RxFIFO 的情况下,逐次递减。 |
18:7 |
- |
- |
- |
6:0 |
R/W |
0x0 |
XFR_SIZ Transfer Size,表示 EP0 的 Transfer 的大小(以 Byte 为单位)。此域 会在每次 packet 从 RxFIFO 读取数据包的情况下,逐次递减。 这里一般配置为 MPS (Max Packet Size) 即可,通过此域可以了解接 收到数据包的大小。 假设配置 PktCnt = 1,XferSize = MPS = 64byte,若接收到一个 8byte 的数据包,XferSize = 64 -8 = 56byte,PktCnt = 1 -1 =0 ,此时产生 Xfer Complete 中断。 |
0x2C4 OUT_EP1_TSF_SIZ
默认值:0x00000000 |
OUT EP1 传输 Size 寄存器(OUT EP1 Transfer Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
- |
30:29 |
R |
0x0 |
RX_DTA_PID Received Data PID,此域只适用于 isochronous OUT EP,表示当前 EP 接收的 PID data 类型。 0x0: DATA0 0x1: DATA2 0x2: DATA1 0x3: MDATA |
30:29 |
R/W |
0x0 |
SUP_PKT_CNT SETUP Packet Count,此域只适用于 control OUT EP,表示 可以连续接收 SETUP Packet 的数目 0x1: 1 packet 0x2: 2 packets 0x3: 3 packets |
28:19 |
R/W |
0x0 |
PKT_CNT Packet Count,此域指示 EP 的组成 Transfer 的 data packet 的大小, PktCnt=XferSize/MPS。 |
18:0 |
R/W |
0x0 |
XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。 这里一般配置为 MPS (Max Packet Size 即可) ,通过此域可以了解接收 到数据包的大小。 假设配置 PktCnt = 1,XferSize = MPS = 64byte,若接收到一个 8byte 的数据包,XferSize = 64 -8 = 56byte,PktCnt = 1 -1 =0 ,此时产生 Xfer Complete 中断。 |
0x2C8 OUT_EP2_TSF_SIZ
默认值:0x00000000 |
OUT EP2 传输 Size 寄存器 (OUT EP2 Transfer Size) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
- |
- |
- |
30:29 |
R |
0x0 |
RX_DTA_PID Received Data PID,此域只适用于 isochronous OUT EP,表示当前 EP 接收的 PID data 类型。 0x0: DATA0 0x1: DATA2 0x2: DATA1 0x3: MDATA |
30:29 |
R/W |
0x0 |
SUP_PKT_CNT SETUP Packet Count,此域只适用于 control OUT EP,表示 可以连续接收 SETUP Packet 的数目 0x1: 1 packet 0x2: 2 packets 0x3: 3 packets |
28:19 |
R/W |
0x0 |
PKT_CNT Packet Count,此域指示 EP 的组成 Transfer 的 data packet 的大小, PktCnt=XferSize/MPS。 |
18:0 |
R/W |
0x0 |
XFR_SIZ Transfer Size,表示 EP 的 Transfer 的大小。 这里一般配置为 MPS (Max Packet Size 即可) ,通过此域可以了解接收 到数据包的大小。 假设配置 PktCnt = 1,XferSize = MPS = 64byte,若接收到一个 8byte 的数据包,XferSize = 64 -8 = 56byte,PktCnt = 1 -1 =0 ,此时产生 Xfer Complete 中断。 |
0x340+n*0x4(n=1~2) IN_EPn_TXFIFO_STA
默认值:0x00000000 |
IN EPn TXFIFO 状态寄存器 (In EPn Txfifo Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
- |
- |
- |
15:0 |
RO |
0 |
IN_EP_TXFIFO_STS |
0x360+(n-1)*0x4(n=1~2) TKN_QUEUEn
默认值:0x00000000 |
TKN_QUEUEn 寄存器 |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0 |
用于 Debug |
0xffc USB_VERSION
默认值:0x0000_0100 |
USB FSOTG 版本寄存器 (USB FSOTG Version) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x0000_0100 |
版本寄存器 V1.0 |
0x8000 USB_PHY_CTL
默认值:0x8000_0000 |
USB PHY 控制寄存器 (USB PHY Control) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x1 |
OTG ID PIN 选择 0x0: IDDIG 为低,用于 Host 模式 div0x1: IDDIG 为高,用于 Device 模式 |
30 |
- |
- |
- |
29 |
R/W |
0x0 |
DP/DM 线下拉电阻使能,作 Host 时需使能 0x0: 下拉电阻断开 0x1: 下拉电阻使能 |
28:1 |
- |
- |
- |
0 |
R/W |
0x0 |
DP/DM 线上拉电阻使能 使能后控制器可根据配置的速度完成相应的电阻配置,作 Device 时需使能 0x0: 上拉电阻断开 0x1: 上拉电阻使能 |
0x8004 DMA_COUNT
默认值:0x00000000 |
DMA 数据长度 (DMA Count) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:11 |
- |
- |
- |
10:0 |
RO |
0 |
当前 DRQ 的数据长度,接收时可读取该寄存器或 FIFO 内的数据量,单位为 Byte。 |