寄存器描述
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。
|
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 长度。
|
11 |
R/W |
0x0 |
EN_DMA Enable DMA,DMA 使能
|
10 |
R/W |
0x0 |
NP_TFTH Non-Periodic TxFIFO Threshold,非周期的 TXFIFO 的阈值指示控制。
|
9 |
R/W |
0x0 |
GIE Global Interrupt Enable,全局中断使能位,使能 USB IP 的中断。
|
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
之前,此域不能及进行更改。
|
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,无需配置,保持默认值即可。
|
18 |
R/W |
0x0 |
ULPI_AUTO_RES ULPI Auto Resume,配置 ULPI PHY 的寄存器的 AutoResume
功能。采用内部 PHY,无需配置,保持默认值即可。
|
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,这里无需配置,保持默认值即可。
|
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,无需配置,保持默认值即可。
|
4 |
R/W |
0x0 |
SEL_PHY_IF Select PHY Interface,选择 PHY 的接口类型。采用内部
PHY,无需配置,保持默认值即可。
|
3 |
R/W |
0x0 |
PHY_IF_WIDTH,PHY Interface Width,UTMI + PHY 选择 8-bit 或 16-bit
接口,ULPI 必须选择 8-bit 接口,采用内部 PHY,无需配置,保持默认值即可。
|
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 信号后进行唤醒。
|
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 不一致
|
16 |
- |
- |
- |
15 |
R/W1C |
0x0 |
EOP_FR_INT End of Periodic Frame Interrupt,此中断指示当前 Frame 达到
SET_PER_FR_INT 所设置的时间点
|
14 |
R/W1C |
0x0 |
ISO_OUT_DROP_INT Isochronous OUT Packet Dropped
Interrupt,此中断表示由于 RXFIFO 无足够空间存放 isochronous OUT EP 的一个 Maximum
size 的数据包,拒绝接收 isochronous OUT packet
|
13 |
R/W1C |
0x0 |
Enum_DONE Enumeration Done,此中断用于指示完成 USB 的速率枚举
|
12 |
R/W1C |
0x0 |
USB_REST USB Reset,此中断用于指示 USB BUS 出现了 RESET 信号
|
11 |
R/W1C |
0x0 |
USB_SUS USB Suspend,此中断用于指示 USB 进入 Suspend 状态
|
10 |
R/W1C |
0x0 |
EARLY_SUS Early Suspend,此中断用于指示 USB 进入 idle 状态超过 3 ms
|
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 决定)
|
4 |
R |
0x0 |
RXFIFO_NO_EMP RXFIFO Non-Empty,此位指示 RxFIFO 里至少有一个 packet
需要读取
|
3 |
R/W1C |
0x0 |
RX_SOF Receive Start of (micro) Frame Token,此位指示 USB 接收到
SOFToken
|
2:0 |
- |
- |
- |
0x014 USB_INT_MSK
默认值:0x00000000 |
USB 中断屏蔽寄存器 (USB Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31 |
R/W |
0x0 |
WAKEUP_INT_MSK Wake up Interrupt,唤醒产生中断,在 Suspend 状态下,收到 Host
发出的 Resume 信号后进行唤醒。
|
30:23 |
- |
- |
- |
22 |
R/W |
0x0 |
DATA_FET_STOP_INT_MSK Data Fetch Stop Interrupt,此中断表示在 DMA
模式下,IN EP 取数据出现停止,原因是 TXFIFO 或请求队列的空间不够。
|
21 |
R/W |
0x0 |
INCOMP_ISO_OUT_INT_MSK Incomplete Isochronous OUT Transfer
Interrupt,此位中断用于指示至少一个 Isochronous OUT EP 当前帧里的 Transfer 不完整。
|
20 |
R/W |
0x0 |
INCOMP_ISO_IN_INT_MSK Incomplete Isochronous IN Transfer
Interrupt,此位中断用于指示至少一个 Isochronous IN EP 当前帧里的 Transfer 不完整。
|
19 |
R/W |
0x0 |
OUT_EP_INT_MSK OUT Endpoints Interrupt,指示存在 OUT EP 中断。此中断为 OUT
EP 的总中断。
|
18 |
R/W |
0x0 |
IN_EP_INT_MSK IN Endpoints Interrupt,指示存在 IN EP 中断。此中断为 IN EP
的总中断。
|
17 |
R/W |
0x0 |
EP_MIS_INT_MSK Endpoint Mismatch Interrupt,指示 Non-periodic
TxFIFO 的数据与 IN Endpoint 不一致。
|
16 |
- |
- |
- |
15 |
R/W |
0x0 |
EOP_FR_INT_MSK End of Periodic Frame Interrupt,此中断指示当前 Frame 达到
SET_PER_FR_INT 所设置的时间点:
|
14 |
R/W |
0x0 |
ISO_OUT_DROP_INT_MSK Isochronous OUT Packet Dropped
Interrupt,此中断表示由于 RXFIFO 无足够空间存放 isochronous OUT EP 的一个 Maximum
size 的数据包,拒绝接收 isochronous OUT packet。
|
13 |
R/W |
0x0 |
Enum_DONE_MSK Enumeration Done,此中断用于指示完成 USB 的速率枚举。
|
12 |
R/W |
0x0 |
USB_REST_MSK USB Reset,此中断用于指示 USB BUS 出现了 RESET 信号。
|
11 |
R/W |
0x0 |
USB_SUS_MSK USB Suspend,此中断用于指示 USB 进入 Suspend 状态。
|
10 |
R/W |
0x0 |
EARLY_SUS_MSK Early Suspend,此中断用于指示 USB 进入 idle 状态超过 3 ms。
|
9:8 |
- |
- |
- |
7 |
R/W |
0x0 |
OUT_NACK_EFF_MSK OUT Endpoint NACK Effective,此中断用于指示寄存器SET_OUT_NACK
配置生效。
|
6 |
R/W |
0x0 |
IN_NACK_EFF_MSK IN Endpoint NACK Effective,状态位,用于指示寄存器
SET_NP_IN_NACK 配置生效
|
5 |
R/W |
0x0 |
NP_TXFIFO_EMP_MSK Non-periodic TXFIFO Empty,用于指示 Non-periodic
TxFIFO 半空或者全空
|
4 |
R/W |
0x0 |
RXFIFO_NO_EMP_MSK RXFIFO Non-Empty,指示 RxFIFO 里至少有一个 packet
需要读取
|
3 |
R/W |
0x0 |
RX_SOF_MSK Receive Start of (micro) Frame Token,指示 USB 接收到
SOFToken
|
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 的状态。
|
16:15 |
R |
0x0 |
OUT_DAT_PID Data PID,指示接收到的 OUT data packet 的 DATA PID 类型:
|
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,指示非周期发送请求队列的顶端位置,也就是正在处理的队列位置。
|
23:20 |
- |
- |
- |
19:16 |
R |
0x8 |
NP_QUE_LOC_AVAN Non-periodic Transmit Request Queue Location
Available,指示目前非周期发送请求队列的可用位置
|
15:0 |
R |
0x400 |
NP_TXFIFO_AVA Non-periodic TxFIFO Space Available,指示
Non-periodic TxFIFO 空间可用情况:
|
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 的状态。
|
16:15 |
R |
0x0 |
OUT_DAT_PID Data PID,指示接收到的 OUT data packet 的 DATA PID 类型
|
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 的功耗。
|
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 中断
|
14 |
R/W |
0x0 |
EN_DLY_XCVR 设备 chirp 期间 xcvr_sel 和 txvalid 之间的延迟使能。
|
13 |
- |
- |
- |
12:11 |
R/W |
0x0 |
SET_PER_FR_INT SET Periodic Frame Interval,设置 Periodic Frame
结束的时间点
|
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
数据包时的处理方式
|
1:0 |
R/W |
0x0 |
USB_DEV_SPD_SET USB Device Speed Set,设置 USB Device 进行枚举的 USB
速度
|
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
|
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
|
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,测试模式选择
|
3 |
R |
0x0 |
GLB_OUT_NACK_STS Global OUT NACK Status
|
2 |
R |
0x0 |
GLB_IN_NACK_STS Global IN Non-periodic NACK Status
|
1 |
R/W |
0x1 |
SET_DEV_DISCON Set USB Device Disconnect,设置 Device 进行
disconnect 操作
|
0 |
R/W |
0x0 |
EN_REM_WAKUP Enable Remot Wakeup,使能 USB Devcie 唤醒 USB Host
|
0x208 USB_LINE_STS
默认值:0x00000002 |
USB Line 状态寄存器 (USB Line Status) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:24 |
- |
- |
- |
23:22 |
R |
0x0 |
DAT_LINE_STS Data Line Status,指示目前 USB 数据线的逻辑电平
|
21:8 |
R |
0x0 |
RX_FR_NUM Number of the Received SOF
|
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 得出的速率
|
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
|
12:7 |
- |
- |
- |
6 |
R/W |
0x0 |
IN_NACK_EFF_INT_MSK IN Endpoint NACK Effective Mask
|
5 |
R/W |
0x0 |
INTOKEN_MIS_INT_MSK IN Token received with EP Mismatch Mask
|
4 |
R/W |
0x0 |
RX_INTOKEN_EMPTY_INT_MSK IN Token Received When TxFIFO Empty
Mask
|
3 |
R/W |
0x0 |
TIME_OUT_INT_MSK Timeout Interrupt Mask (Non-isochronous
endpoints)
|
2 |
R/W |
0x0 |
AHB_RW_ERR_INT_MSK AHB Read/Write Error Interrupt Mask
|
1 |
R/W |
0x0 |
DIS_EP_INT_MSK Endpoint Disabled Interrupt Mask
|
0 |
R/W |
0x0 |
TX_COMP_INT_MSK TX Transfer Completed Interrupt Mask
|
0x210 OUTEP_INT_MSK
默认值:0x00000000 |
输出端点中断屏蔽寄存器 (OUT EP Interrupt Mask) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:15 |
- |
- |
- |
14 |
R/W |
0x0 |
NYET_INT_MSK NYET interrupt Mask
|
13 |
R/W |
0x0 |
NACK_INT_MSK NACK interrupt Mask
|
12 |
R/W |
0x0 |
BABBLE_ERR_INT_MSK Babble Error Interrupt Mask
|
11:7 |
- |
- |
- |
6 |
R/W |
0x0 |
B2B_SETUP_INT_MSK Back-to-Back SETUP Packets Received Mask
|
5 |
R/W |
0x0 |
STS_PHASE_RX_INT_MSK Status Phase Received Mask
|
4 |
R/W |
0x0 |
OUT_TOKEN_EP_DIS_INT_MSK OUT Token Received when Endpoint
Disabled Mask
|
3 |
R/W |
0x0 |
SETUP_DONE_INT_MSK SETUP Phase Done Mask. Applies to control
endpoints only.
|
2 |
R/W |
0x0 |
AHB_RW_ERR_INT_MSK AHB Error Mask
|
1 |
R/W |
0x0 |
DIS_EP_INT_MSK Endpoint Disabled Interrupt Mask
|
0 |
R/W |
0x0 |
RX_COMP_INT_MSK Transfer Completed Interrupt Mask
|
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 无效 |
15:0 |
R |
0x0 |
IN_EP_INT IN Endpoint Interrupt BIT,每位对应一个 IN EP 的中断状态此中断为该 IN
EP 的总中断,需将该 IN EP 的所有中断清除才可以清除该中断。
其它 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 无效 |
15:0 |
R/W |
0x0 |
IN_EP_INT_MSK IN Endpoint Interrupt Mask,每位对应一个 IN EP
的中断屏蔽位,1b'0 表示屏蔽,1b'1 表示不屏蔽。
其它 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
|
26 |
W |
0x0 |
C_NACK Clear NACK,清除 NACK,此位置 1,清除 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
握手信号的优先级更高。
|
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
的状态
注: 不管此状态位如何,对于 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
模式下适用:
|
10:2 |
- |
- |
- |
1:0 |
R/W |
0x0 |
MPS Maximum Packet Size,IN EP0 的最大 Packet Size
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN
EPs,此位置 1,PID 域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 的 NACK 握手信号
|
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall
握手信号,不适用 Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token
后会将此位清 0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 |
- |
- |
- |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复
NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device 总是回复
ACK 握手信号。
|
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用
interrupt/ bulk IN EPs EO_FRNUM_STS
Even/ Odd Frame Number Status,适用
isochronous IN EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data
Line 出现 USB RESET 命令后,此位会自动清 0
|
14:11 |
R/W |
0x0 |
NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP
Number,这里只适用在 DMA 模式下
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN EPs,此位置 1,PID
域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP2 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 EP2 的 NACK 握手信号
|
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用
Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会将此位清
0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 |
- |
- |
- |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk IN
EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous IN EPs
|
15 |
R/WAC |
0x0 |
ACT_EP ,Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB
RESET 命令后,此位会自动清 0
|
14:11 |
R/W |
0x0 |
NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP Number,这里只适用在
DMA 模式下
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN EPs,此位置 1,PID
域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP3 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 EP3 的 NACK 握手信号
|
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用
Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会将此位清
0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 |
- |
- |
- |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk IN
EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous IN EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB
RESET 命令后,此位会自动清 0
|
14:11 |
R/W |
0x0 |
NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP Number,这里只适用在
DMA 模式下
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 IN EPs,此位置 1,PID
域选择 DATA0 SS_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous INEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP4 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 EP4 的 NACK 握手信号
|
25:22 |
R/W |
0x0 |
TXFIFO_NUM TXFIFO Number,IN EP 所对应采用的 TXFIFO
|
21 |
R/W |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 Stall 握手信号,不适用
Isochronous 类型 Endpoint。Device core 会在收到 SETUP Token 后会将此位清
0。另外如果 NACK 与 Stall 同时置位,发送 Stall 握手信号的优先级更高
|
20 |
- |
- |
- |
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
IN_EP_NACK_STS IN Endpoint NACK Status,IN EP 当前的回复 NACK 的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk IN
EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous IN EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 USB
RESET 命令后,此位会自动清 0
|
14:11 |
R/W |
0x0 |
NXT_TX_EP Next Transmit Endpoint,配置下一个发送的 IN EP Number,这里只适用在
DMA 模式下
|
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
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 NACK 握手信号
|
25:22 |
- |
- |
- |
21 |
R/WAC |
0x0 |
EN_STALL Enable STALL Handshake,此位置 1 发送 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 是否正确
|
19:18 |
R |
0x0 |
_TYPE Endpoint0 Type, 一直为 Control 类型,此 bit 不需配置。 |
17 |
R |
0x0 |
OUT__NACK_STS OUT Endpoint0 NACK Status,OUT
当前的回复 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
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID
域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP1 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 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 握手信号的优先级更高
|
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP1 进入 Snoop mode。在 Snoop
模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP 当前的回复 NACK
的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk OUT
EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous OUT EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 RESET
命令后,此位会自动清 0
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID
域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP2 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 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 握手信号的优先级更高
|
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP2 进入 Snoop mode。在 Snoop
模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP 当前的回复 NACK
的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk OUT
EPs EO_FRNUM_STS
Even/ Odd Frame Number Status,适用
isochronous OUT EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 RESET
命令后,此位会自动清 0
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID
域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP3 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 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 握手信号的优先级更高
|
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP3 进入 Snoop mode。在 Snoop
模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP 当前的回复 NACK
的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk OUT
EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous OUT EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 RESET
命令后,此位会自动清 0
|
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 S_ISO_ODD_FR
Set Isochronous Odd (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择奇数帧
|
28 |
W |
0x0 |
S_DATA0 Set DATA0 PID,只适用 interrupt/ bulk 类型的 OUT EPs,此位置 1,PID
域选择 DATA0 S_ISO_EVEN_FR
Set Isochronous Even (micro) frame,只适用
isochronous OUTEPs,此位置 1,EO_FrNum 域选择偶数帧
|
27 |
W |
0x0 |
S_NACK Set NACK,配置 NACK,此位置 1 设置 EP4 的 NACK
|
26 |
W |
0x0 |
C_NACK Clear NACK,此位置 1,清除 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 握手信号的优先级更高
|
20 |
R/W |
0x0 |
EN_SNOOP Enable Snoop Mode,配置此位可以使得 EP4 进入 Snoop mode。在 Snoop
模式下,USB Device 不会检查接收的 OUT packet 是否正确
|
19:18 |
R/W |
0x0 |
EP_TYPE_SEL Endpoint Type Select,EP 类型选择
|
17 |
R |
0x0 |
OUT_EP_NACK_STS OUT Endpoint NACK Status,OUT EP 当前的回复 NACK
的状态
注: 不管此状态位如何,对于 SETUP 数据包,Device
总是回复 ACK 握手信号。 |
16 |
R |
0x0 |
DATA_PID_STS Endpoint Data PID Status,适用 interrupt/ bulk OUT
EPs EO_FRNUM_STS
Even/Odd Frame Number Status,适用
isochronous OUT EPs
|
15 |
R/WAC |
0x0 |
ACT_EP Active Endpoint,EP 是否处于活跃工作状态,在 USB Data Line 出现 RESET
命令后,此位会自动清 0
|
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,配置如下:
|
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,配置如下:
|
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 数目。
|
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 递减到 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 数目。
|
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 递减到 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 数目。
|
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 递减到 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 数据包数量
|
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 类型:
|
R/W |
0x0 |
SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
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 类型:
|
R/W |
0x0 |
SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
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 类型:
|
R/W |
0x0 |
SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
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 类型:
|
R/W |
0x0 |
SUP_PKT_CNT SETUP Packet Count,只适用于 control OUT EP,表示可以连续接收
SETUP Packe t 的数目:
|
|
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 |