Edit online

寄存器描述

3 Mar 2025
Read time: 78 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。

0xFFC USB_DEV_VERSION

默认值:0x00000100

USB Device 版本寄存器(USB Version)

位域

类型

默认值

描述

31:0

RO

0x00000100 VERSION

版本,V1.0