Edit online

寄存器描述

18 Sep 2024
Read time: 77 minute(s)

0x000 AHB_BASIC

默认值:0x00000004 AHB 基本配置寄存器 (AHB Basic Configure)
位域 类型 默认值 描述
31:9 - - -
8 R/W 0x0 保持默认值,不要改动
7 R/W 0x0 保持默认值,不要改动
6 R/W 0x0 保持默认值,不要改动
5 R/W 0x0 ASSB
AHB Support Single Burst,AHB 支持 Single Burst。
  • 0x0:不支持,数据传输采用 INCR Burst 传输。
  • 0x1:支持,数据传输采用 Single Burst 传输。
4 - - -
3 R/W 0x0 保持默认值,不要改动
2 R 0x1 AHB Master Idle

指示 AHB Master State Machine 处于 idle 状态。

1 R 0x0 DMA Request Signal

用于 debug。

0 - - -

0x004 USB_DEV_INIT

默认值:0x00000000 USB Device 初始化寄存器 (USB Device Initial)
位域 类型 默认值 描述
31:16 - - -
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_RSTSoft Reset

USB Device 软复位,此位写 1 进行软复位,复位完成自清 0。

0x008 USB_PHY_IF

默认值:0x00001400 USB PHY 接口寄存器 (USB PHY Interface)
位域 类型 默认值 描述
31:20 - - -
19 R/W 0x0 ULPI_CLK_SUS
ULPI Clock Suspend,决定 Suspend 状态下内部时钟的供电。采用内部 PHY,无需配置,保持默认值即可。
  • 0x0:在 Suspend 状态 PHY 停止向内部时钟模块供电
  • 0x1:PHY 不会停止向内部时钟模块供电
18 R/W 0x0 ULPI_AUTO_RES
ULPI Auto Resume,配置 ULPI PHY 的寄存器的 AutoResume 功能。采用内部 PHY,无需配置,保持默认值即可。
  • 0x0:PHY 不采用 AutoResume 功能
  • 0x1:PHY 采用 AutoResume 功能
17:16 - - -
15 R/W 0x0 PHY_LP_CLK_SET
PHY Low-Power Clock Set,选择 480 MHz 或 48 MHz 的 PHY 模式,在 FS 和 LS 模式下,PHY 可以工作在 48 MHz,达到节省功耗的效果。采用内部 PHY,这里无需配置,保持默认值即可。
  • 0x0:480 MHz 的内部 PLL 时钟
  • 0x1:48 MHz 的外部时钟
14 - - -
13:10 R/W 0x5 TA_TIME

USB Turnaround Time,配置 USB Turnaround Time。

以 PHY 时钟数为单位。

9:8 - - -
7 R/W 0x0 SEL_ULPI _DDR
Select ULPI Interface Double Data Rate,选择 ULPI IF 的数据为双沿触发。采用内部 PHY,无需配置,保持默认值即可。
  • 0x0:单沿触发,8-bit 数据总线
  • 0x1:双沿触发,4-bit 数据总线
4 R/W 0x0 SEL_PHY_IF
Select PHY Interface,选择 PHY 的接口类型。采用内部 PHY,无需配置,保持默认值即可。
  • 0x0:UTMI+ Interface
  • 0x1:ULPI Interface
3 R/W 0x0 PHY_IF_WIDTH,PHY Interface Width,UTMI + PHY 选择 8-bit 或 16-bit 接口,ULPI 必须选择 8-bit 接口,采用内部 PHY,无需配置,保持默认值即可。
  • 0x0:8 bits
  • 0x1:16 bits
2:0 R/W 0x0 TIMEOUT_CAL

Timeout Calibration,USB Timeout 校准

0x00C USB_ULPI_PHY

默认值:0x00000000 USB ULPI PHY 寄存器 (USB ULPI PHY)
位域 类型 默认值 描述
31:0 R/W 0x0 采用内部 PHY,无需配置,保持默认值即可。

0x010 USB_INT_STS

默认值:0x10000020 USB 中断状态寄存器 (USB Interrupt Status)
位域 类型 默认值 描述
31 R/W1C 0x0 WAKEUP_INT
Wake up Interrupt,唤醒产生中断,在 Suspend 状态下,收到 Host 发出的 Resume 信号后进行唤醒。
  • 0x0:无唤醒中断
  • 0x1:发生唤醒中断
30: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 NACK Effective,此中断用于指示寄存器 SET_OUT_NACK 配置生效。此位清 0 可以通过设置 CLR_OUT_NACK。

6 R 0x0 IN_NACK_EFF

IN Endpoint NACK 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 接收到 SOFToken
  • 0x0:未接收到 SOF Token
  • 0x1:接收到 SOF Token
2:0 - - -

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:23 - - -
22 R/W 0x0 DATA_FET_STOP_INT_MSK
Data 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 NACK Effective,此中断用于指示寄存器SET_OUT_NACK 配置生效。
  • 0x0:屏蔽中断
  • 0x1:不屏蔽中断
6 R/W 0x0 IN_NACK_EFF_MSK
IN Endpoint NACK 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 接收到 SOFToken
  • 0x0:屏蔽中断
  • 0x1:不屏蔽中断
2:0 - - -

0x018 RXFIFO_SIZ

默认值:0x00000400 RXFIFO SIZE 寄存器 (RXFIFO SIZE)
位域 类型 默认值 描述
31:16 - - -
15:0 R/W 0x400 RXFIFO_SIZ

RXFIFO Size,RxFIFO 空间大小,最小值 16,最大值 1024。

0x01C RXFIFO_STS

默认值: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。

0x020 NPTXFIFO_SIZ

默认值:0x04000400 非周期性的 TXFIFO Size 寄存器 (NPTXFIFO SIZE)
位域 类型 默认值 描述
31:16 R/W 0x400 NPTXFIFO_SIZ

Non-periodic TXFIFO Size,最小值 16,最大值 1024

15:0 R/W 0x400 NPTXFIFO_START

Non-periodic TXFIFO Start Address,非周期的 TxFIFO 的起始地址。

0x024 NPTXFIFO_STS

默认值:0x00080400 非周期性的 TXFIFO 状态寄存器 (NPTXFIFO Status)
位域 类型 默认值 描述
31:24 R 0x0 NPTxQTop

NPTXFIFO_QUE

Non-periodic TXFIFO Request Queue,指示非周期发送请求队列的顶端位置,也就是正在处理的队列位置。

  • Bits [30:27]:端点号
  • Bits [26:25]:
    • 0x0: IN 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_AVAN
Non-periodic Transmit Request Queue Location Available,指示目前非周期发送请求队列的可用位置
  • 0x0:没有空闲位置
  • 0x1:1 个位置空闲
  • 0x8:8 个位置空闲
  • Others:reserved
15:0 R 0x400 NP_TXFIFO_AVA
Non-periodic TxFIFO Space Available,指示 Non-periodic TxFIFO 空间可用情况:
  • 0x0:Non-periodic TxFIFO 满
  • 0x1:1 word 空闲
  • 0x400:1024 words 空闲
  • Others:reserved

0x028 PTXFIFO1_SIZ

默认值:0x03000800 TXFIFO1 SIZE 寄存器 (TXFIFO1 Size)
位域 类型 默认值 描述
31:16 R/W 0x300 PTXFIFO1_SIZ

Periodic TxFIFO1 Size,周期性的 TXFIFO1 大小,最小值 4。

15:0 R/W 0x800 PTXFIFO1_START

Periodic TxFIFO1 Start Address,周期性的 TXFIFO1 的起始地址。

0x02C PTXFIFO_SIZ2

默认值:0x03000B00 TXFIFO2 SIZE 寄存器 (TXFIFO2 Size)
位域 类型 默认值 描述
31:16 R/W 0x300 PTXFIFO2_SIZ

Periodic TxFIFO2 Size,周期性的 TXFIFO2 深度,最小值 4。

15:0 R/W 0xB00 PTXFIFO2_START

Periodic TxFIFO2 RAM Start Address,周期性的 TXFIFO2 的起始地址。

0x030 RXFIFO_STS_POP

默认值: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。

0x040 PHY_CLK_CTL

默认值:0x00000000 PHY 时钟控制寄存器 (PHY Clock Control)
位域 类型 默认值 描述
31:30 - - -
0 R/W 0x0 STP_PHY_CLK
STOP PHY CLOCK,停止 PHY Clock,在 USB Suspend 状态下可以配置此位,停止 PHY 的时钟,能够降低 USB PHY 的功耗。
  • 0x0:无操作
  • 0x1:停止 PHY 的时钟

0x060+(n-1)*0x4(n=1~4) TXFIFOn_SIZ

默认值:0x0400XXXX TXFIFOn SIZE 寄存器(TXFIFOn Size)
位域 类型 默认值 描述
31:16 R/W 0x400 INEP_TXFIFOn_SIZ

In Endpoint TxFIFO1 Size,INEP TXFIFOn 的大小,最小值 4。

15:0 R/W 0xXXXX INEP_TXFIFOn_START

In Endpoint TxFIFOn Start Address,INEP TXFIFOn 的起始地址。默认值为 0x1000+(0x400*n)。

0x200 USB_DEV_CONF

默认值:0x08200000 USB Device 配置寄存器 (USB Device Configure)
位域 类型 默认值 描述
31:23 - - -
22:18 R/W 0x8 IN_EP_MIS_THIN

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
设备 chirp 期间 xcvr_sel 和 txvalid 之间的延迟使能。
  • 0x0:xcvr_sel 和 txvalid 之间没有延迟
  • 0x1:使能 xcvr_sel 和 txvalid 之间的延迟
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,软件在 Set Address command 时设置的 Device 地址。

3 - - -
2 R/W 0x0 OUT_RX_NZL_DATA_HDL
OUT Transaction Receive None-zero-length DATA Handle,设置在 OUT transaction 的 Status 阶段,接收到 non zero length 数据包时的处理方式
  • 0x0:发送接收到的 OUT packet 到应用层,同时根据 NACK 和 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、StatusRegister 已经 Ready
  • 0x0:无状态指示
  • 0x1:指示 CSR Ready
10 W 0x0 CLR_OUT_NACK

Clear OUT Endpoint NACK,此位写 1 清除 OUT Endpoints NACK。

9 W 0x0

SET_OUT_NACK

Set OUT Endpoint NACK,此位写 1 设置 OUT NACK。软件层通过此位设置,让所用的 OUT Endpoints 发送 NACK 握手信号。此位只有在 OUT_NACK_EFF 清 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-periodicIN NACK。软件通过此位设置,让所用的 Non periodic IN Endpoints 发送 NACK 握手信号。此位只有在 OUT_NACK_EFF 清 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_NACK mode
  • 0x4:Test_Packet mode
  • 0x5:Test_Force_Enable
  • Others:reserved
3 R 0x0 GLB_OUT_NACK_STS
Global OUT NACK Status
  • 0x0:根据 FIFO 状态和 NAK 和 STALL 位设置发送握手信号。
  • 0x1:无论空间是否可用,都不会将数据写入 RxFIFO,对所有数据包(除了 SETUP 事务)发送 NAK 握手信号,并丢弃所有同步 OUT 数据包。
2 R 0x0 GLB_IN_NACK_STS
Global IN Non-periodic NACK Status
  • 0x0:根据 TXFIFO 的数据使用情况,发送握手信号
  • 0x1:不管 TXFIFO 的数据使用情况,Non-periodic IN Eps 发送 NACK 握手信号
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_EN
UM_SPEEDUSB 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 NACK 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 R/W 0x0 AHB_RW_ERR_INT_MSK
AHB Read/Write Error Interrupt Mask
  • 0x0:屏蔽
  • 0x1:不屏蔽
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
NACK 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 R/W 0x0 AHB_RW_ERR_INT_MSK
AHB Error Mask
  • 0x0:屏蔽
  • 0x1:不屏蔽
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 19 for OUT Endpoint 3
  • Bit 20 for OUT Endpoint 4

其他 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 3 for IN Endpoint 3
  • Bit 4 for IN Endpoint 4

其他 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 19 for OUT Endpoint 3
  • Bit 20 for OUT Endpoint 4

其他 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 0Bit 1 for IN Endpoint 1
  • Bit 2 for IN Endpoint 2
  • Bit 3 for IN Endpoint 3
  • Bit 4 for IN Endpoint 4

其他 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 的 NACK 位
  • 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。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高。
  • 0x0:无操作
  • 0x1:发送 Stall 握手信号
20 - - -
19:18 R 0x0 EP0_TYPE

Endpoint0, TypeEP0 的类型,这里为只读位,EP0 总是为 Control 类型的端点。

17 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: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:2 - - -
1:0 R/W 0x0 MPS
Maximum Packet Size,IN EP0 的最大 Packet Size
  • 0x0:64 bytes
  • 0x1:32 bytes
  • 0x2:16 bytes
  • 0x3:8 bytes

0x0224 IN_EP1_CFG

默认值:0x00000000 IN 配置寄存器 (IN Configure)
位域 类型 默认值 描述
31 R/WAC 0x0 EN_EP

Enable Endpoint,使能 IN ,将此位置 1 ,使能 发送数据。在 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。

30 R/WAC 0x0 DIS_EP

Disable Endpoint,关闭 IN ,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1, 停止发送数据,尽管 的 transfer 没有完成。

需要接收到 的 DIS_EP_INT 中断,才可以认为 Disable。在 disabled 中断出现之前,此位会自清 0。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous INEPs,此位置 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
SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
  • 0x0:无操作
  • 0x1:EO_FrNum 域选择偶数帧
27 W 0x0 S_NACK
Set NACK,配置 NACK,此位置 1 设置 的 NACK
  • 0x0:无操作
  • 0x1: 发送 NACK 握手信号
26 W 0x0 C_NACK
Clear NACK,此位置 1,清除 的 NACK 握手信号
  • 0x0:无操作
  • 0x1:清除 IN 的 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk IN EPs
  • 0x0:DATA0
  • 0x1:DATA1
EO_FRNUM_STS
Even/ Odd Frame Number Status,适用 isochronous IN EPs
  • 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
  • 0x1:IN
  • 0x2:IN EP2
  • 0x3:IN EP3
  • 0x4:IN EP4
  • Others:Reserved
10:0 R/W 0x0 MPS

Maximum Packet Size,IN 的最大 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
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous INEPs,此位置 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
SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous INEPs,此位置 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 NACK,此位置 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk IN EPs
  • 0x0:DATA0
  • 0x1:DATA1
EO_FRNUM_STS
Even/Odd Frame Number Status,适用 isochronous IN EPs
  • 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。

0x022C IN_EP3_CFG

默认值:0x00000000 IN EP3 配置寄存器 (IN EP3 Configure)
位域 类型 默认值 描述
31 R/WAC 0x0 EN_EP

Enable Endpoint,使能 IN EP3,将此位置 1,使能 EP3 发送数据。在 EP3 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。

30 R/WAC 0x0 DIS_EP

Disable Endpoint,关闭 IN EP3,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1,EP3 停止发送数据,尽管 EP3 的 transfer 没有完成。需要接收到 EP3 的 DIS_EP_INT 中断,才可以认为 EP3 Disable。在 EP3 disabled 中断出现之前,此位会自清 0。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 IN EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous INEPs,此位置 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
SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
  • 0x0:无操作
  • 0x1:EO_FrNum 域选择偶数帧
27 W 0x0 S_NACK
Set NACK,配置 NACK,此位置 1 设置 EP3 的 NACK
  • 0x0:无操作
  • 0x1:EP3 发送 NACK 握手信号
26 W 0x0 C_NACK
Clear NACK,此位置 1,清除 EP3 的 NACK 握手信号
  • 0x0:无操作
  • 0x1:清除 IN EP3 的 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk IN EPs
  • 0x0:DATA0
  • 0x1:DATA1
EO_FRNUM_STS
Even/Odd Frame Number Status,适用 isochronous IN EPs
  • 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 EP3 的最大 Packet Size,单位是 Byte。

0x0230 IN_EP4_CFG

默认值:0x00000000 IN EP4 配置寄存器 (IN EP4 Configure)
位域 类型 默认值 描述
31 R/WAC 0x0 EN_EP

Enable Endpoint,使能 IN EP4,将此位置 1,使能 EP4 发送数据。在 EP4 的 DIS_EP_INT 中断或 TX_COMP_INT 中断出现之前,此位会自清 0。

30 R/WAC 0x0 DIS_EP

Disable Endpoint,关闭 IN EP4,需要在 EN_EP = 1 的情况下,才可以对此位置 1。将此位置 1, EP4 停止发送数据,尽管 EP4 的 transfer 没有完成。

需要接收到 EP4 的 DIS_EP_INT 中断,才可以认为 EP4 Disable。在 EP4 disabled 中断出现之前,此位会自清 0。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous INEPs,此位置 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
SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
  • 0x0:无操作
  • 0x1:EO_FrNum 域选择偶数帧
27 W 0x0 S_NACK
Set NACK,配置 NACK,此位置 1 设置 EP4 的 NACK
  • 0x0:无操作
  • 0x1:EP1 发送 NACK 握手信号
26 W 0x0 C_NACK
Clear NACK,此位置 1,清除 EP4 的 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk IN EPs
  • 0x0:DATA0
  • 0x1:DATA1
EO_FRNUM_STS
Even/Odd Frame Number Status,适用 isochronous IN EPs
  • 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 EP4 的最大 Packet Size,单位是 Byte。

0x240 OUT_EP0_CFG

默认值:0x00008000 OUT 配置寄存器 (OUT Configure)
位域 类型 默认值 描述
31 R/WAC 0x0 EN_EP

Enable Endpoint,使能 OUT ,将此位置 1,使能 接收数据。在 OUT 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。

30 R 0x0 DIS_EP

Disable Endpoint,关闭 OUT ,软件无法对此位进行写操作,无法关闭 OUT

29:28 - - -
27 W 0x0 S_NACK
Set NACK,此位置 1,设置 OUT 发送 NACK
  • 0x0:无操作
  • 0x1:Control 发送 NACK 握手信号
26 W 0x0 C_NACK
Clear NACK,此位置 1,清除 NACK 握手信号
  • 0x0:无操作

  • 0x1:清除 Control 的 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,配置此位可以使得 进入 Snoop mode。在 Snoop 模式下,USB Device 不会检查接收的 OUT packet 是否正确
  • 0x0:未进入 Snoop mode
  • 0x1:进入 Snoop mode
19:18 R 0x0 _TYPE

Endpoint0 Type, 一直为 Control 类型,此 bit 不需配置。

17 R 0x0 OUT__NACK_STS
OUT Endpoint0 NACK Status,OUT 当前的回复 NACK 的状态
  • 0x0:根据 FIFO 的状态, 发送非 NACK 握手信号
  • 0x1: 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 - - -
15 R 0x1 ACT_EP

Active Endpoint,对于 此位一直为 1,表示 control OUT 一直处于活跃的状态。

14:2 - - -
1:0 R/W 0x0 MPS

Maximum Packet Size

OUT 的最大 Packet Size
  • 0x0:64 bytes
  • 0x1:32 bytes
  • 0x2:16 bytes
  • 0x3:8 bytes

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,关闭 OUT EP1。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous OUTEPs,此位置 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
S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous OUTEPs,此位置 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 NACK,此位置 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk OUT EPs
  • 0x0:DATA0
  • 0x1:DATA1
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 出现 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,关闭 OUT EP2。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous OUTEPs,此位置 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
S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous OUTEPs,此位置 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 NACK,此位置 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk OUT EPs
  • 0x0:DATA0
  • 0x1:DATA1
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 出现 RESET 命令后,此位会自动清 0
  • 0x0:未活跃
  • 0x1:活跃
14:11 - - -
10:0 R/W 0x0 MPS

Maximum Packet Size,OUT EP2 的最大 Packet Size,单位是 byte。

0x24C OUT_EP3_CFG

默认值:0x00000000 OUT EP3 配置寄存器 (OUT EP3 Configure)
位域 类型 默认值 描述
31 R/WAC 0x0 EN_EP

Enable Endpoint,使能 OUT EP3,将此位置 1,使能 EP3 接收数据。在 OUT EP3 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。

30 R/WAC 0x0 DIS_EP

Disable Endpoint,关闭 OUT EP3。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous OUTEPs,此位置 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
S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
  • 0x0:无操作
  • 0x1:EO_FrNum 域选择偶数帧
27 W 0x0 S_NACK
Set NACK,配置 NACK,此位置 1 设置 EP3 的 NACK
  • 0x0:无操作
  • 0x1:EP3 发送 NACK 握手信号
26 W 0x0 C_NACK
Clear NACK,此位置 1,清除 EP3 的 NACK 握手信号
  • 0x0:无操作
  • 0x1:清除 IN EP3 的 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,配置此位可以使得 EP3 进入 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk OUT EPs
  • 0x0:DATA0
  • 0x1:DATA1
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 出现 RESET 命令后,此位会自动清 0
  • 0x0:未活跃
  • 0x1:活跃
14:11 - - -
10:0 R/W 0x0 MPS

Maximum Packet Size,OUT EP3 的最大 Packet Size,单位是 Byte。

0x250 OUT_EP4_CFG

默认值:0x00000000 OUT EP4 配置寄存器 (OUT EP4 Configure)
位域 类型 默认值 描述
31 R/WAC 0x0 EN_EP

Enable Endpoint,使能 OUT EP4,将此位置 1,使能 EP4 接收数据。在 OUT EP4 的 SETUP_DONE_INT 中断、DIS_EP_INT 中断或 RX_COMP_INT 中断出现之前,此位会自清 0。

30 R/WAC 0x0 DIS_EP

Disable Endpoint,关闭 OUT EP4。

29 W 0x0 S_DATA1
Set DATA1 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID 域选择 DATA1
  • 0x0:无操作
  • 0x1:PID 域选择 DATA1
S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用 isochronous OUTEPs,此位置 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

S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用 isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
  • 0x0:无操作
  • 0x1:EO_FrNum 域选择偶数帧
27 W 0x0 S_NACK
Set NACK,配置 NACK,此位置 1 设置 EP4 的 NACK
  • 0x0:无操作
  • 0x1:EP4 发送 NACK 握手信号
26 W 0x0 C_NACK
Clear NACK,此位置 1,清除 EP4 的 NACK 握手信号
  • 0x0:无操作
  • 0x1:清除 IN EP4 的 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,配置此位可以使得 EP4 进入 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 发送非 NACK 握手信号
  • 0x1:EP 回复 NACK 握手信号
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复 ACK 握手信号。
16 R 0x0 DATA_PID_STS
Endpoint Data PID Status,适用 interrupt/ bulk OUT EPs
  • 0x0:DATA0
  • 0x1:DATA1
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 出现 RESET 命令后,此位会自动清 0
  • 0x0:未活跃
  • 0x1:活跃
14:11 - - -
10:0 R/W 0x0 MPS

Maximum Packet Size,OUT EP4 的最大 Packet Size,单位是 Byte。

0x260 IN_EP0_INT

默认值:0x00000080 IN 中断状态寄存器 (IN Interrupt Status)
位域 类型 默认值 描述
31:14 - - -
13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。

12 R/W1C 0x0 BABBLE_ERR_INT

Babble Error Interrupt,Babble 错误中断,当 接收到 BabbleError,此位置 1。

11:8 - - -
7 R/W1C 0x0 TXFIFO_EMP_INT

TXFIFO Empty Interrupt, 对应的 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-periodicFIFO 的 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 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。

12 R/W1C 0x0 BABBLE_ERR_INT

Babble Error Interrupt,Babble 错误中断,当 EP1 接收到 BabbleError,此位置 1。

11:8 - - -
7 R/W1C 0x0 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。在对 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-periodicFIFO 的 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 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。

12 R/W1C 0x0 BABBLE_ERR_INT

Babble Error Interrupt,Babble 错误中断,当 EP2 接收到 BabbleError,此位置 1。

11:8 - - -
7 R/W1C 0x0 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。在对 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-periodicFIFO 的 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 完成。

0x26C IN_EP3_INT

默认值:0x00000080 IN EP3 中断状态寄存器 (IN EP3 Interrupt Status)
位域 类型 默认值 描述
31:14 - - -
13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。

12 R/W1C 0x0 BABBLE_ERR_INT

Babble Error Interrupt,Babble 错误中断,当 EP3 接收到 BabbleError,此位置 1。

11:8 - - -
7 R/W1C 0x0 TXFIFO_EMP_INT

TXFIFO Empty Interrupt,EP3 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。

6 R/W1C 0x0 IN_NACK_EFF_INT

IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 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-periodicFIFO 的 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 完成。

0x270 IN_EP4_INT

默认值:0x00000080 IN EP4 中断状态寄存器 (IN EP4 Interrupt Status)
位域 类型 默认值 描述
31:14 - - -
13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 1。另外,如果 Isochronous IN EP 由于 TxFIFO 数据空间不足发送了 0 长度包,同样会产生此中断。

12 R/W1C 0x0 BABBLE_ERR_INT

Babble Error Interrupt,Babble 错误中断,当 EP4 接收到 BabbleError,此位置 1。

11:8 - - -
7 R/W1C 0x0 TXFIFO_EMP_INT

TXFIFO Empty Interrupt,EP4 对应的 TXFIFO 空中断。此中断位在 TxFIFO 出现半空或全空时置 1。TXFIFO 空中断的阈值由 NP_TFTH 决定。

6 R/W1C 0x0 IN_NACK_EFF_INT

IN Endpoint NACK Effective Interrupt,此位只适用 IN EP。在对 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-periodicFIFO 的 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 中断状态寄存器 (OUT Interrupt Status)
位域 类型 默认值 描述
31:16 - - -
15 R/W1C 0x0 SETUP_PKT_RX_INT

Setup Packet Received Interrupt,只适用于 Control OUT EP。用于指示 buffer 收到了 8 Byte 的 setup 数据。OUT 存在此 bit,其他的 EP 无此 bit。

14 R/W1C 0x0 NYET_INT

NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。

13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 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 OUTEP。此位用于指示 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:15 - - -
14 R/W1C 0x0 NYET_INT

NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。

13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 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:5 - - -
4 R/W1C 0x0 OUT_TOKEN_EP_DIS_INT

OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。

3 - - -
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:15 - - -
14 R/W1C 0x0 NYET_INT

NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。

13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 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:5 - - -
4 R/W1C 0x0 OUT_TOKEN_EP_DIS_INT

OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。

3 - - -
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 完成。

0x28C OUT_EP3_INT

默认值:0x00000000 OUT EP3 中断状态寄存器 (OUT EP3 Interrupt Status)
位域 类型 默认值 描述
31:15 - - -
14 R/W1C 0x0 NYET_INT

NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。

13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 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:5 - - -
4 R/W1C 0x0 OUT_TOKEN_EP_DIS_INT

OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。

3 - - -
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 完成。

0x290 OUT_EP4_INT

默认值:0x00000000 OUT EP4 中断状态寄存器 (OUT EP4 Interrupt Status)
位域 类型 默认值 描述
31:15 - - -
14 R/W1C 0x0 NYET_INT

NYET interrupt,在非 isochronous OUT EP 发出 NYET 相应信号时,此位将置 1,产生中断信号。

13 R/W1C 0x0 NACK_INT

NACK Interrupt,NACK 中断,当 NACK 信号发送出去,此位置 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:5 - - -
4 R/W1C 0x0 OUT_TOKEN_EP_DIS_INT

OUT Token Received when Endpoint Disabled,此中断位表示 EP 在收到 OUT Token 的时候,相应的 EP 没有使能。

3 - - -
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,表示 EP 的 Tansfer 包含的数据包的数量,此域会在每次读取 TxFIFO 的情况下,逐次递减。

18:7 - - -
6:0 R/W 0x0 XFR_SIZ
Transfer Size,表示 EP 的 Transfer 的大小(以 Byte 为单位)。此域会在每次 packet 从外部存储写入 TxFIFO 的情况下,逐次递减。发送数据时,配置 XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
  • XferSize 配置:N * MPS(Max packet size) + Short packet size
  • PKT_CNT 配置:N + 1(N 个长包 + 1 个短包)

0x2A4 IN_EP1_TSF_SIZ

默认值:0x00000000 IN EP0 传输 Size 寄存器 (IN EP0 Transfer Size)
位域 类型 默认值 描述
31:21 - - -
20:19 R/W 0x0 TX_PKT_CNT

Transmit Packet Count,表示 EP 的 Tansfer 包含的数据包的数量,此域会在每次读取 TxFIFO 的情况下,逐次递减。

18:7 - - -
6:0 R/W 0x0 XFR_SIZ
Transfer Size,表示 EP 的 Transfer 的大小(以 Byte 为单位)。此域会在每次 packet 从外部存储写入 TxFIFO 的情况下,逐次递减。发送数据时,配置 XferSize,相当于配置需要发送的数据长度。若需要发送 N+1 个 Packet,配置如下:
  • XferSize 配置:N * MPS(Max packet size) + Short packet size
  • PKT_CNT 配置:N + 1(N 个长包 + 1 个短包)

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
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。此字段每次从 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
  • PKT_CNT 配置:N + 1(N 个长包 + 1 个短包)

在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送,此时产生 XferComplete 中断。

0x2AC IN_EP3_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
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。此字段每次从 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
  • PKT_CNT 配置:N + 1(N 个长包 + 1 个短包)

在 XferSize 递减到 0 后,表示数据已写入 TxFIFO,硬件自动完成发送,此时产生 XferComplete 中断。

0x2B0 IN_EP4_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
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。此字段每次从 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
  • 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 SUP_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,表示 EP 的 Transfer 的大小,一般配置为 MPS (Max Packet Size) 即可。

通过此域可以了解接收到数据包的大小。假设配置 PktCnt = 1,XferSize = MPS = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,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
R/W 0x0 SUP_PKT_CNT
SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收 SETUP Packe t 的数目:
  • 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 = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。

0x2C8 OUT_EP2_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
R/W 0x0 SUP_PKT_CNT
SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收 SETUP Packe t 的数目:
  • 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 = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。

0x2CC OUT_EP3_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
R/W 0x0 SUP_PKT_CNT
SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收 SETUP Packe t 的数目:
  • 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 = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。

0x2D0 OUT_EP4_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
R/W 0x0 SUP_PKT_CNT
SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收 SETUP Packe t 的数目:
  • 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 = 64 bytes,若接收到一个 8-byte 数据包,XferSize = 64 - 8 = 56 bytes,PktCnt = 1 - 1 =0,此时产生 Xfer Complete 中断。

0x300+n*0x4(n=0/1/2/3/4) IN_EPn_DMA

默认值:xxxxxxxx (不定态) IN EPn DMA 地址配置寄存器 (In Endpoint DMA Address Setup)
位域 类型 默认值 描述
31:0 R/W xxxxxxxx IN_DMA_ADDR

此寄存器用于保存 IN EPn 的外部存储 Buffer 的起始地址。

0x320+n*0x4(n=0/1/2/3/4) OUT_EPn_DMA

默认值:xxxxxxxx (不定态) OUT EPn DMA 地址配置寄存器 (OUT Endpoint DMA Address Setup)
位域 类型 默认值 描述
31:0 R/W xxxxxxxx OUT_DMA_ADDR

此寄存器用于保存 OUT EPn 的外部存储 Buffer 的起始地址。

0x340+n*0x4(n=0/1/2/3/4) 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/3/4) TKN_QUEUEn

默认值:0x00000000 TKN_QUEUEn 寄存器
位域 类型 默认值 描述
31:0 RO 0 用于 debug。